New release with composer

This commit is contained in:
Michael RICOIS 2015-09-22 07:29:36 +00:00
commit 6e7e979e0d
3409 changed files with 84172 additions and 1125541 deletions

View File

@ -1,248 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Loader
* @subpackage Exception
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
/**
* Generate class maps for use with autoloading.
*
* Usage:
* --help|-h Get usage message
* --library|-l [ <string> ] Library to parse; if none provided, assumes
* current directory
* --output|-o [ <string> ] Where to write autoload file; if not provided,
* assumes "autoload_classmap.php" in library directory
* --append|-a Append to autoload file if it exists
* --overwrite|-w Whether or not to overwrite existing autoload
* file
* --ignore|-i [ <string> ] Comma-separated namespaces to ignore
*/
$libPath = dirname(__FILE__) . '/../library';
if (!is_dir($libPath)) {
// Try to load StandardAutoloader from include_path
if (false === include('Zend/Loader/StandardAutoloader.php')) {
echo "Unable to locate autoloader via include_path; aborting" . PHP_EOL;
exit(2);
}
} else {
// Try to load StandardAutoloader from library
if (false === include(dirname(__FILE__) . '/../library/Zend/Loader/StandardAutoloader.php')) {
echo "Unable to locate autoloader via library; aborting" . PHP_EOL;
exit(2);
}
}
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath($libPath),
get_include_path(),
)));
$libraryPath = getcwd();
// Setup autoloading
$loader = new Zend_Loader_StandardAutoloader(array('autoregister_zf' => true));
$loader->setFallbackAutoloader(true);
$loader->register();
$rules = array(
'help|h' => 'Get usage message',
'library|l-s' => 'Library to parse; if none provided, assumes current directory',
'output|o-s' => 'Where to write autoload file; if not provided, assumes "autoload_classmap.php" in library directory',
'append|a' => 'Append to autoload file if it exists',
'overwrite|w' => 'Whether or not to overwrite existing autoload file',
'ignore|i-s' => 'Comma-separated namespaces to ignore',
);
try {
$opts = new Zend_Console_Getopt($rules);
$opts->parse();
} catch (Zend_Console_Getopt_Exception $e) {
echo $e->getUsageMessage();
exit(2);
}
if ($opts->getOption('h')) {
echo $opts->getUsageMessage();
exit(0);
}
$ignoreNamespaces = array();
if (isset($opts->i)) {
$ignoreNamespaces = explode(',', $opts->i);
}
$relativePathForClassmap = '';
if (isset($opts->l)) {
if (!is_dir($opts->l)) {
echo 'Invalid library directory provided' . PHP_EOL
. PHP_EOL;
echo $opts->getUsageMessage();
exit(2);
}
$libraryPath = $opts->l;
}
$libraryPath = str_replace(DIRECTORY_SEPARATOR, '/', realpath($libraryPath));
$usingStdout = false;
$appending = $opts->getOption('a');
$output = $libraryPath . '/autoload_classmap.php';
if (isset($opts->o)) {
$output = $opts->o;
if ('-' == $output) {
$output = STDOUT;
$usingStdout = true;
} elseif (is_dir($output)) {
echo 'Invalid output file provided' . PHP_EOL
. PHP_EOL;
echo $opts->getUsageMessage();
exit(2);
} elseif (!is_writeable(dirname($output))) {
echo "Cannot write to '$output'; aborting." . PHP_EOL
. PHP_EOL
. $opts->getUsageMessage();
exit(2);
} elseif (file_exists($output) && !$opts->getOption('w') && !$appending) {
echo "Autoload file already exists at '$output'," . PHP_EOL
. "but 'overwrite' or 'appending' flag was not specified; aborting." . PHP_EOL
. PHP_EOL
. $opts->getUsageMessage();
exit(2);
} else {
// We need to add the $libraryPath into the relative path that is created in the classmap file.
$classmapPath = str_replace(DIRECTORY_SEPARATOR, '/', realpath(dirname($output)));
// Simple case: $libraryPathCompare is in $classmapPathCompare
if (strpos($libraryPath, $classmapPath) === 0) {
$relativePathForClassmap = substr($libraryPath, strlen($classmapPath) + 1) . '/';
} else {
$libraryPathParts = explode('/', $libraryPath);
$classmapPathParts = explode('/', $classmapPath);
// Find the common part
$count = count($classmapPathParts);
for ($i = 0; $i < $count; $i++) {
if (!isset($libraryPathParts[$i]) || $libraryPathParts[$i] != $classmapPathParts[$i]) {
// Common part end
break;
}
}
// Add parent dirs for the subdirs of classmap
$relativePathForClassmap = str_repeat('../', $count - $i);
// Add library subdirs
$count = count($libraryPathParts);
for (; $i < $count; $i++) {
$relativePathForClassmap .= $libraryPathParts[$i] . '/';
}
}
}
}
if (!$usingStdout) {
if ($appending) {
echo "Appending to class file map '$output' for library in '$libraryPath'..." . PHP_EOL;
} else {
echo "Creating class file map for library in '$libraryPath'..." . PHP_EOL;
}
}
// Get the ClassFileLocator, and pass it the library path
$l = new Zend_File_ClassFileLocator($libraryPath);
// Iterate over each element in the path, and create a map of
// classname => filename, where the filename is relative to the library path
$map = new stdClass;
foreach ($l as $file) {
$filename = str_replace($libraryPath . '/', '', str_replace(DIRECTORY_SEPARATOR, '/', $file->getPath()) . '/' . $file->getFilename());
// Add in relative path to library
$filename = $relativePathForClassmap . $filename;
foreach ($file->getClasses() as $class) {
foreach ($ignoreNamespaces as $ignoreNs) {
if ($ignoreNs == substr($class, 0, strlen($ignoreNs))) {
continue 2;
}
}
$map->{$class} = $filename;
}
}
if ($appending) {
$content = var_export((array) $map, true) . ';';
// Prefix with dirname(__FILE__); modify the generated content
$content = preg_replace("#(=> ')#", "=> dirname(__FILE__) . '/", $content);
// Fix \' strings from injected DIRECTORY_SEPARATOR usage in iterator_apply op
$content = str_replace("\\'", "'", $content);
// Convert to an array and remove the first "array("
$content = explode("\n", $content);
array_shift($content);
// Load existing class map file and remove the closing "bracket ");" from it
$existing = file($output, FILE_IGNORE_NEW_LINES);
array_pop($existing);
// Merge
$content = implode("\n", array_merge($existing, $content));
} else {
// Create a file with the class/file map.
// Stupid syntax highlighters make separating < from PHP declaration necessary
$content = '<' . "?php\n"
. "// Generated by ZF's ./bin/classmap_generator.php\n"
. 'return ' . var_export((array) $map, true) . ';';
// Prefix with dirname(__FILE__); modify the generated content
$content = preg_replace("#(=> ')#", "=> dirname(__FILE__) . '/", $content);
// Fix \' strings from injected DIRECTORY_SEPARATOR usage in iterator_apply op
$content = str_replace("\\'", "'", $content);
}
// Remove unnecessary double-backslashes
$content = str_replace('\\\\', '\\', $content);
// Exchange "array (" width "array("
$content = str_replace('array (', 'array(', $content);
// Align "=>" operators to match coding standard
preg_match_all('(\n\s+([^=]+)=>)', $content, $matches, PREG_SET_ORDER);
$maxWidth = 0;
foreach ($matches as $match) {
$maxWidth = max($maxWidth, strlen($match[1]));
}
$content = preg_replace('(\n\s+([^=]+)=>)e', "'\n \\1' . str_repeat(' ', " . $maxWidth . " - strlen('\\1')) . '=>'", $content);
// Make the file end by EOL
$content = rtrim($content, "\n") . "\n";
// Write the contents to disk
file_put_contents($output, $content);
if (!$usingStdout) {
echo "Wrote classmap file to '" . realpath($output) . "'" . PHP_EOL;
}

View File

@ -1,44 +0,0 @@
@ECHO off
REM Zend Framework
REM
REM LICENSE
REM
REM This source file is subject to the new BSD license that is bundled
REM with this package in the file LICENSE.txt.
REM It is also available through the world-wide-web at this URL:
REM http://framework.zend.com/license/new-bsd
REM If you did not receive a copy of the license and are unable to
REM obtain it through the world-wide-web, please send an email
REM to license@zend.com so we can send you a copy immediately.
REM
REM Zend
REM Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
REM http://framework.zend.com/license/new-bsd New BSD License
REM Test to see if this was installed via pear
SET ZTMPZTMPZTMPZ=@ph
SET TMPZTMPZTMP=%ZTMPZTMPZTMPZ%p_bin@
REM below @php_bin@
FOR %%x IN ("@php_bin@") DO (if %%x=="%TMPZTMPZTMP%" GOTO :NON_PEAR_INSTALLED)
GOTO PEAR_INSTALLED
:NON_PEAR_INSTALLED
REM Assume php.exe is executable, and that zf.php will reside in the
REM same file as this one
SET PHP_BIN=php.exe
SET PHP_DIR=%~dp0
GOTO RUN
:PEAR_INSTALLED
REM Assume this was installed via PEAR and use replacements php_bin & php_dir
SET PHP_BIN=@php_bin@
SET PHP_DIR=@php_dir@
GOTO RUN
:RUN
SET ZF_SCRIPT=%PHP_DIR%\zf.php
"%PHP_BIN%" -d safe_mode=Off -f "%ZF_SCRIPT%" -- %*

View File

@ -1,624 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Tool
* @subpackage Framework
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* ZF
*
* @category Zend
* @package Zend_Tool
* @subpackage Framework
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class ZF
{
/**
* @var bool
*/
protected $_clientLoaded = false;
/**
* @var string
*/
protected $_mode = 'runTool';
/**
* @var array of messages
*/
protected $_messages = array();
/**
* @var string
*/
protected $_homeDirectory = null;
/**
* @var string
*/
protected $_storageDirectory = null;
/**
* @var string
*/
protected $_configFile = null;
/**
* main()
*
* @return void
*/
public static function main()
{
$zf = new self();
$zf->bootstrap();
$zf->run();
}
/**
* bootstrap()
*
* @return ZF
*/
public function bootstrap()
{
// detect settings
$this->_mode = $this->_detectMode();
$this->_homeDirectory = $this->_detectHomeDirectory();
$this->_storageDirectory = $this->_detectStorageDirectory();
$this->_configFile = $this->_detectConfigFile();
// setup
$this->_setupPHPRuntime();
$this->_setupToolRuntime();
}
/**
* run()
*
* @return ZF
*/
public function run()
{
switch ($this->_mode) {
case 'runError':
$this->_runError();
$this->_runInfo();
break;
case 'runSetup':
if ($this->_runSetup() === false) {
$this->_runInfo();
}
break;
case 'runInfo':
$this->_runInfo();
break;
case 'runTool':
default:
$this->_runTool();
break;
}
return $this;
}
/**
* _detectMode()
*
* @return ZF
*/
protected function _detectMode()
{
$arguments = $_SERVER['argv'];
$mode = 'runTool';
if (!isset($arguments[0])) {
return $mode;
}
if ($arguments[0] == $_SERVER['PHP_SELF']) {
$this->_executable = array_shift($arguments);
}
if (!isset($arguments[0])) {
return $mode;
}
if ($arguments[0] == '--setup') {
$mode = 'runSetup';
} elseif ($arguments[0] == '--info') {
$mode = 'runInfo';
}
return $mode;
}
/**
* _detectHomeDirectory() - detect the home directory in a variety of different places
*
* @param bool $mustExist Should the returned value already exist in the file system
* @param bool $returnMessages Should it log messages for output later
* @return string
*/
protected function _detectHomeDirectory($mustExist = true, $returnMessages = true)
{
$homeDirectory = null;
$homeDirectory = getenv('ZF_HOME'); // check env var ZF_HOME
if ($homeDirectory) {
$this->_logMessage('Home directory found in environment variable ZF_HOME with value ' . $homeDirectory, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($homeDirectory))) {
return $homeDirectory;
} else {
$this->_logMessage('Home directory does not exist at ' . $homeDirectory, $returnMessages);
}
}
$homeDirectory = getenv('HOME'); // HOME environment variable
if ($homeDirectory) {
$this->_logMessage('Home directory found in environment variable HOME with value ' . $homeDirectory, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($homeDirectory))) {
return $homeDirectory;
} else {
$this->_logMessage('Home directory does not exist at ' . $homeDirectory, $returnMessages);
}
}
$homeDirectory = getenv('HOMEPATH');
if ($homeDirectory) {
$this->_logMessage('Home directory found in environment variable HOMEPATH with value ' . $homeDirectory, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($homeDirectory))) {
return $homeDirectory;
} else {
$this->_logMessage('Home directory does not exist at ' . $homeDirectory, $returnMessages);
}
}
$homeDirectory = getenv('USERPROFILE');
if ($homeDirectory) {
$this->_logMessage('Home directory found in environment variable USERPROFILE with value ' . $homeDirectory, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($homeDirectory))) {
return $homeDirectory;
} else {
$this->_logMessage('Home directory does not exist at ' . $homeDirectory, $returnMessages);
}
}
return false;
}
/**
* _detectStorageDirectory() - Detect where the storage directory is from a variaty of possiblities
*
* @param bool $mustExist Should the returned value already exist in the file system
* @param bool $returnMessages Should it log messages for output later
* @return string
*/
protected function _detectStorageDirectory($mustExist = true, $returnMessages = true)
{
$storageDirectory = false;
$storageDirectory = getenv('ZF_STORAGE_DIR');
if ($storageDirectory) {
$this->_logMessage('Storage directory path found in environment variable ZF_STORAGE_DIR with value ' . $storageDirectory, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($storageDirectory))) {
return $storageDirectory;
} else {
$this->_logMessage('Storage directory does not exist at ' . $storageDirectory, $returnMessages);
}
}
$homeDirectory = ($this->_homeDirectory) ? $this->_homeDirectory : $this->_detectHomeDirectory(true, false);
if ($homeDirectory) {
$storageDirectory = $homeDirectory . '/.zf/';
$this->_logMessage('Storage directory assumed in home directory at location ' . $storageDirectory, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($storageDirectory))) {
return $storageDirectory;
} else {
$this->_logMessage('Storage directory does not exist at ' . $storageDirectory, $returnMessages);
}
}
return false;
}
/**
* _detectConfigFile() - Detect config file location from a variety of possibilities
*
* @param bool $mustExist Should the returned value already exist in the file system
* @param bool $returnMessages Should it log messages for output later
* @return string
*/
protected function _detectConfigFile($mustExist = true, $returnMessages = true)
{
$configFile = null;
$configFile = getenv('ZF_CONFIG_FILE');
if ($configFile) {
$this->_logMessage('Config file found environment variable ZF_CONFIG_FILE at ' . $configFile, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($configFile))) {
return $configFile;
} else {
$this->_logMessage('Config file does not exist at ' . $configFile, $returnMessages);
}
}
$homeDirectory = ($this->_homeDirectory) ? $this->_homeDirectory : $this->_detectHomeDirectory(true, false);
if ($homeDirectory) {
$configFile = $homeDirectory . '/.zf.ini';
$this->_logMessage('Config file assumed in home directory at location ' . $configFile, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($configFile))) {
return $configFile;
} else {
$this->_logMessage('Config file does not exist at ' . $configFile, $returnMessages);
}
}
$storageDirectory = ($this->_storageDirectory) ? $this->_storageDirectory : $this->_detectStorageDirectory(true, false);
if ($storageDirectory) {
$configFile = $storageDirectory . '/zf.ini';
$this->_logMessage('Config file assumed in storage directory at location ' . $configFile, $returnMessages);
if (!$mustExist || ($mustExist && file_exists($configFile))) {
return $configFile;
} else {
$this->_logMessage('Config file does not exist at ' . $configFile, $returnMessages);
}
}
return false;
}
/**
* _setupPHPRuntime() - parse the config file if it exists for php ini values to set
*
* @return void
*/
protected function _setupPHPRuntime()
{
// set php runtime settings
ini_set('display_errors', true);
// support the changing of the current working directory, necessary for some providers
$cwd = getenv('ZEND_TOOL_CURRENT_WORKING_DIRECTORY');
if ($cwd != '' && realpath($cwd)) {
chdir($cwd);
}
if (!$this->_configFile) {
return;
}
$zfINISettings = parse_ini_file($this->_configFile);
$phpINISettings = ini_get_all();
foreach ($zfINISettings as $zfINIKey => $zfINIValue) {
if (substr($zfINIKey, 0, 4) === 'php.') {
$phpINIKey = substr($zfINIKey, 4);
if (array_key_exists($phpINIKey, $phpINISettings)) {
ini_set($phpINIKey, $zfINIValue);
}
}
}
}
/**
* _setupToolRuntime() - setup the tools include_path and load the proper framwork parts that
* enable Zend_Tool to work.
*
* @return void
*/
protected function _setupToolRuntime()
{
$includePathPrepend = getenv('ZEND_TOOL_INCLUDE_PATH_PREPEND');
$includePathFull = getenv('ZEND_TOOL_INCLUDE_PATH');
// check if the user has not provided anything
if (!($includePathPrepend || $includePathFull)) {
if ($this->_tryClientLoad()) {
return;
}
}
// if ZF is not in the include_path, but relative to this file, put it in the include_path
if ($includePathPrepend || $includePathFull) {
if (isset($includePathPrepend) && ($includePathPrepend !== false)) {
set_include_path($includePathPrepend . PATH_SEPARATOR . get_include_path());
} elseif (isset($includePathFull) && ($includePathFull !== false)) {
set_include_path($includePathFull);
}
}
if ($this->_tryClientLoad()) {
return;
}
$zfIncludePath['relativePath'] = dirname(__FILE__) . '/../library/';
if (file_exists($zfIncludePath['relativePath'] . 'Zend/Tool/Framework/Client/Console.php')) {
set_include_path(realpath($zfIncludePath['relativePath']) . PATH_SEPARATOR . get_include_path());
}
if (!$this->_tryClientLoad()) {
$this->_mode = 'runError';
return;
}
}
/**
* _tryClientLoad() - Attempt to load the Zend_Tool_Framework_Client_Console to enable the tool to run.
*
* This method will return false if its not loaded to allow the consumer to alter the environment in such
* a way that it can be called again to try loading the proper file/class.
*
* @return bool if the client is actuall loaded or not
*/
protected function _tryClientLoad()
{
$this->_clientLoaded = false;
$fh = @fopen('Zend/Tool/Framework/Client/Console.php', 'r', true);
if (!$fh) {
return $this->_clientLoaded; // false
} else {
fclose($fh);
unset($fh);
include 'Zend/Tool/Framework/Client/Console.php';
$this->_clientLoaded = class_exists('Zend_Tool_Framework_Client_Console');
}
return $this->_clientLoaded;
}
/**
* _runError() - Output the error screen that tells the user that the tool was not setup
* in a sane way
*
* @return void
*/
protected function _runError()
{
echo <<<EOS
***************************** ZF ERROR ********************************
In order to run the zf command, you need to ensure that Zend Framework
is inside your include_path. There are a variety of ways that you can
ensure that this zf command line tool knows where the Zend Framework
library is on your system, but not all of them can be described here.
The easiest way to get the zf command running is to give it the include
path via an environment variable ZEND_TOOL_INCLUDE_PATH or
ZEND_TOOL_INCLUDE_PATH_PREPEND with the proper include path to use,
then run the command "zf --setup". This command is designed to create
a storage location for your user, as well as create the zf.ini file
that the zf command will consult in order to run properly on your
system.
Example you would run:
$ ZEND_TOOL_INCLUDE_PATH=/path/to/library zf --setup
Your are encourged to read more in the link that follows.
EOS;
}
/**
* _runInfo() - this command will produce information about the setup of this script and
* Zend_Tool
*
* @return void
*/
protected function _runInfo()
{
echo 'Zend_Tool & CLI Setup Information' . PHP_EOL
. '(available via the command line "zf --info")'
. PHP_EOL;
echo ' * ' . implode(PHP_EOL . ' * ', $this->_messages) . PHP_EOL;
echo PHP_EOL;
echo 'To change the setup of this tool, run: "zf --setup"';
echo PHP_EOL;
}
/**
* _runSetup() - parse the request to see which setup command to run
*
* @return void
*/
protected function _runSetup()
{
$setupCommand = (isset($_SERVER['argv'][2])) ? $_SERVER['argv'][2] : null;
switch ($setupCommand) {
case 'storage-directory':
$this->_runSetupStorageDirectory();
break;
case 'config-file':
$this->_runSetupConfigFile();
break;
default:
$this->_runSetupMoreInfo();
break;
}
}
/**
* _runSetupStorageDirectory() - if the storage directory does not exist, create it
*
* @return void
*/
protected function _runSetupStorageDirectory()
{
$storageDirectory = $this->_detectStorageDirectory(false, false);
if (file_exists($storageDirectory)) {
echo 'Directory already exists at ' . $storageDirectory . PHP_EOL
. 'Cannot create storage directory.';
return;
}
mkdir($storageDirectory);
echo 'Storage directory created at ' . $storageDirectory . PHP_EOL;
}
/**
* _runSetupConfigFile()
*
* @return void
*/
protected function _runSetupConfigFile()
{
$configFile = $this->_detectConfigFile(false, false);
if (file_exists($configFile)) {
echo 'File already exists at ' . $configFile . PHP_EOL
. 'Cannot write new config file.';
return;
}
$includePath = get_include_path();
$contents = 'php.include_path = "' . $includePath . '"';
file_put_contents($configFile, $contents);
$iniValues = ini_get_all();
if ($iniValues['include_path']['global_value'] != $iniValues['include_path']['local_value']) {
echo 'NOTE: the php include_path to be used with the tool has been written' . PHP_EOL
. 'to the config file, using ZEND_TOOL_INCLUDE_PATH (or other include_path setters)' . PHP_EOL
. 'is no longer necessary.' . PHP_EOL . PHP_EOL;
}
echo 'Config file written to ' . $configFile . PHP_EOL;
}
/**
* _runSetupMoreInfo() - return more information about what can be setup, and what is setup
*
* @return void
*/
protected function _runSetupMoreInfo()
{
$homeDirectory = $this->_detectHomeDirectory(false, false);
$storageDirectory = $this->_detectStorageDirectory(false, false);
$configFile = $this->_detectConfigFile(false, false);
echo <<<EOS
ZF Command Line Tool - Setup
----------------------------
Current Paths (Existing or not):
Home Directory: {$homeDirectory}
Storage Directory: {$storageDirectory}
Config File: {$configFile}
Important Environment Variables:
ZF_HOME
- the directory this tool will look for a home directory
- directory must exist
ZF_STORAGE_DIR
- where this tool will look for a storage directory
- directory must exist
ZF_CONFIG_FILE
- where this tool will look for a configuration file
ZF_TOOL_INCLUDE_PATH
- set the include_path for this tool to use this value
ZF_TOOL_INCLUDE_PATH_PREPEND
- prepend the current php.ini include_path with this value
Search Order:
Home Directory:
- ZF_HOME, then HOME (*nix), then HOMEPATH (windows)
Storage Directory:
- ZF_STORAGE_DIR, then {home}/.zf/
Config File:
- ZF_CONFIG_FILE, then {home}/.zf.ini, then {home}/zf.ini,
then {storage}/zf.ini
Commands:
zf --setup storage-directory
- setup the storage directory, directory will be created
zf --setup config-file
- create the config file with some default values
EOS;
}
/**
* _runTool() - This is where the magic happens, dispatch Zend_Tool
*
* @return void
*/
protected function _runTool()
{
$configOptions = array();
if (isset($this->_configFile) && $this->_configFile) {
$configOptions['configOptions']['configFilepath'] = $this->_configFile;
}
if (isset($this->_storageDirectory) && $this->_storageDirectory) {
$configOptions['storageOptions']['directory'] = $this->_storageDirectory;
}
// ensure that zf.php loads the Zend_Tool_Project features
$configOptions['classesToLoad'] = 'Zend_Tool_Project_Provider_Manifest';
$console = new Zend_Tool_Framework_Client_Console($configOptions);
$console->dispatch();
}
/**
* _logMessage() - Internal method used to log setup and information messages.
*
* @param string $message
* @param bool $storeMessage
* @return void
*/
protected function _logMessage($message, $storeMessage = true)
{
if (!$storeMessage) {
return;
}
$this->_messages[] = $message;
}
}
if (!getenv('ZF_NO_MAIN')) {
ZF::main();
}

View File

@ -1,45 +0,0 @@
#!/bin/sh
#############################################################################
# Zend Framework
#
# LICENSE
#
# This source file is subject to the new BSD license that is bundled
# with this package in the file LICENSE.txt.
# It is also available through the world-wide-web at this URL:
# http://framework.zend.com/license/new-bsd
# If you did not receive a copy of the license and are unable to
# obtain it through the world-wide-web, please send an email
# to license@zend.com so we can send you a copy immediately.
#
# Zend
# Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
# http://framework.zend.com/license/new-bsd New BSD License
#############################################################################
# find php: pear first, command -v second, straight up php lastly
if test "@php_bin@" != '@'php_bin'@'; then
PHP_BIN="@php_bin@"
elif command -v php 1>/dev/null 2>/dev/null; then
PHP_BIN=`command -v php`
else
PHP_BIN=php
fi
# find zf.php: pear first, same directory 2nd,
if test "@php_dir@" != '@'php_dir'@'; then
PHP_DIR="@php_dir@"
else
SELF_LINK="$0"
SELF_LINK_TMP="$(readlink "$SELF_LINK")"
while test -n "$SELF_LINK_TMP"; do
SELF_LINK="$SELF_LINK_TMP"
SELF_LINK_TMP="$(readlink "$SELF_LINK")"
done
PHP_DIR="$(dirname "$SELF_LINK")"
fi
"$PHP_BIN" -d safe_mode=Off -f "$PHP_DIR/zf.php" -- "$@"

21
composer.json Normal file
View File

@ -0,0 +1,21 @@
{
"name": "scores/enrichissement",
"description": "Enrichissement",
"require": {
"zendframework/zendframework1": "^1.12"
},
"include-path": ["library/"],
"autoload": {
"classmap": [
"application/",
"library/Scores/",
"library/SdMetier/"
]
},
"authors": [
{
"name": "Scores et Decisions",
"email": "supportdev@scores-decisions.com"
}
]
}

66
composer.lock generated Normal file
View File

@ -0,0 +1,66 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"hash": "1bbbaa2f28e815c026b865f1484d8d52",
"content-hash": "edbc67aa513e9f6521d39fb2bb6d3784",
"packages": [
{
"name": "zendframework/zendframework1",
"version": "1.12.16",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zf1.git",
"reference": "8a3c471ef0a337d303cd5ae578e64c2ba1d2c025"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/zendframework/zf1/zipball/8a3c471ef0a337d303cd5ae578e64c2ba1d2c025",
"reference": "8a3c471ef0a337d303cd5ae578e64c2ba1d2c025",
"shasum": ""
},
"require": {
"php": ">=5.2.11"
},
"require-dev": {
"phpunit/dbunit": "1.3.*",
"phpunit/phpunit": "3.7.*"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12.x-dev"
}
},
"autoload": {
"psr-0": {
"Zend_": "library/"
}
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
"library/"
],
"license": [
"BSD-3-Clause"
],
"description": "Zend Framework 1",
"homepage": "http://framework.zend.com/",
"keywords": [
"ZF1",
"framework"
],
"time": "2015-09-15 15:49:51"
}
],
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": [],
"platform-dev": []
}

View File

@ -734,8 +734,9 @@ class MInsee
* @var boolean
*/
public $AnnoncesLegalesVisu = false;
protected $AnnoncesLegalesPosition = 0;
protected $AnnoncesLegalesNb = 20;
protected $AnnoncesPosition = 0;
protected $AnnoncesNb = 20;
/**
* Date de début/jugement/publication du plan SSAAMMJJ
@ -758,7 +759,7 @@ class MInsee
/**
* Présence d'un appel de jugement
*/
private $appelJugement=false;
private $appelJugement = false;
/**
* Liste des événements associés
@ -778,6 +779,13 @@ class MInsee
*/
protected $debugtime = false;
/**
* Date de fin de recherche des événements AAAAMMJJ
* Envoyer cette date à toutes les méthodes
* @var string
*/
protected $companyEvenDateStop = null;
/**
*
*/
@ -793,6 +801,15 @@ class MInsee
$this->iBodacc = new MBodacc($this->iDb);
}
/**
* Défini une date limite de prise en compte des événements
* @param string $date AAAAMMJJ
*/
public function setEvenLimit($date)
{
$this->companyEvenDateStop = $date;
}
/**
* Test de la validité du siren demandé
* @param int SIREN à tester
@ -2274,6 +2291,175 @@ class MInsee
return $tabRet;
}
public function getIdentiteEntrepriseHisto($siren)
{
$notices = array(
// Date AAAAMMJJ => Nom table
20080401 => 'notice_200804',
20080501 => 'notice_200805stats',
20081201 => 'notice_200812',
20090901 => 'notice_200909',
20091001 => 'notice_200910',
20091201 => 'notice_200912',
20100301 => 'notice_201003',
20100601 => 'notice_201006',
20100901 => 'notice_201009',
20101201 => 'notice_201012',
20110301 => 'notice_201103',
20110601 => 'notice_201106',
20110901 => 'notice_201109',
20111201 => 'notice_201112',
20120301 => 'notice_201203',
20120601 => 'notice_201206',
20120901 => 'notice_201209',
20121201 => 'notice_201212',
20131201 => 'fichier_france_entiere_201312_D_1',
20140101 => 'fichier_france_entiere_201401_D_1',
20140601 => 'fichier_france_entiere_201406_D_1',
20140901 => 'fichier_france_entiere_201409_D_1',
20141201 => 'fichier_france_entiere_201412_D_1',
20150301 => 'fichier_france_entiere_201503_D_1',
);
$identite = array();
if ($this->companyEvenDateStop === null) {
$date = date('Ymd');
} else {
$date = $this->companyEvenDateStop;
}
$db = Zend_Db_Table_Abstract::getDefaultAdapter();
$sql = $db->select()
->from(array('e'=>'insee_even'), array(
'CONCAT(LPAD(e.insSIREN,9,0), LPAD(e.insNIC,5,0)) AS Siret',
'LPAD(e.insSIREN,9,0) AS Siren',
'LPAD(e.insNIC,5,0) AS Nic',
'insSIEGE AS Siege',
'insNOMEN AS Nom',
'insCODPOS AS CP',
'insCJ AS FJ',
'insAPEN700 AS NafEnt',
'insAPEN700 AS NafEtab',
'insTEFEN AS EffEnTr',
'insEFENCENT AS Effectif',
'insDCRET AS DateCreaEt',
'insDCREN AS DateCreaEn',
'insEVE',
), 'insee')
->joinLeft(array('i'=>'insee_notices'), 'i.insSIREN=e.insSIREN AND i.insNIC=e.insNIC', array(
'insRECME AS RECME',
), 'insee')
->where('e.insSIREN = ?', $siren)
->where('idFlux < ?',$date)
->order('idFlux DESC')->order('insSIEGE DESC')->limit(1);
$result = $db->fetchRow($sql, null, Zend_Db::FETCH_ASSOC);
if ($result !== null) {
$identite = $result;
}
// --- Recherche dans le stock
else {
$notices = array_reverse($notices, true);
foreach($notices as $noticeDate => $notice) {
if ($date > $noticeDate) {
break;
}
}
$sql = $db->select()
->from(array('e'=>$notice), array(
'CONCAT(LPAD(SIREN,9,0), LPAD(NIC,5,0)) AS Siret',
'LPAD(SIREN,9,0) AS Siren',
'LPAD(NIC,5,0) AS Nic',
'SIEGE AS Siege',
'NOMEN_LONG AS Nom',
'CODPOS AS CP',
'CJ AS FJ',
'APEN700 AS NafEnt',
'APEN700 AS NafEtab',
'TEFEN AS EffEnTr',
'EFENCENT AS Effectif',
'DCRET AS DateCreaEt',
'insDCREN AS DateCreaEn',
), 'historiques')
->joinLeft(array('i'=>'insee_notices'), 'i.insSIREN=e.SIREN AND i.insNIC=e.NIC', array(
'insRECME AS RECME',
), 'insee')
->where('e.insSIREN = ?', $siren)
->where('idFlux < ?',$date)
->order('idFlux DESC')->order('insSIEGE DESC')->limit(1);
$result = $db->fetchRow($sql, null, Zend_Db::FETCH_ASSOC);
if ($result !== null) {
$identite = $result;
}
}
if (count($identite)>0) {
// --- Actif
$identite['Actif'] = 1;
if (array_key_exists('insEVE', $identite)) {
if ( in_array($identite['insEVE'], array(
'M0F', // Fermeture de l'entreprise
'FF', // Fermeture de l'entreprise
'400', // Suppression d'un double
'410', // Cessation juridique de l'entreprise
'420', // Absence d'activité de l'entreprise (cessation économique de l'entreprise)
'SC', // Suppression par le calage
'SU', // Cessation juridique
'SS', // Fermeture (ou désactivation) siège
'RI', // Refus d'inscription du SIREN au RCS
)) ) {
$identite['Actif'] = 0;
}
}
// --- Capital
$sql = $db->select()
->from('rncs_modifs', array('valeur'), 'jo')
->where('champs = ?', 'capitalMontant')
->where('flux < ?', $date)
->order('flux DESC')->limit(1);
$result = $db->fetchRow($sql, null, Zend_Db::FETCH_OBJ);
$identite['Capital'] = '';
if ($result !== null) {
$identite['Capital'] = $result->valeur;
}
// --- Situation Juridique
$tabProcol = $this->getAnnoncesLegales($siren, 0, 'P', false);
if ( count($tabProcol) > 0 ) {
$tabDates = array();
foreach ($tabProcol as $iProcol => $procol) {
$tabDates[] = $procol['dateJugement'];
}
rsort($tabDates);
$dateProcol = str_replace('-','',$tabDates[0])*1;
if ($this->dureePlan>0 && date('Ymd')<$this->finPlan) {
$identite['SituationJuridique'] = 'PL';
}
// Plan révolu
elseif ($this->dureePlan>0 && date('Ymd')>=$this->finPlan) {
$identite['SituationJuridique'] = '';
}
// Appel de jugement
elseif ($this->appelJugement) {
$identite['SituationJuridique'] = 'PA';
}
// En cours de procédure
else {
$identite['SituationJuridique'] = 'P';
}
} elseif (count($this->getAnnoncesLegales($siren, 0, 'A', false)) > 0) {
$tabRet['SituationJuridique'] = 'A';
} elseif (count($this->getAnnoncesLegales($siren, 0, 'D', false)) > 0) {
$tabRet['SituationJuridique'] = 'D';
}
// Fin Situation Juridique
return $identite;
}
return false;
}
/**
*
* @param string $siren
@ -2374,8 +2560,9 @@ class MInsee
}
}
$insee = $this->iDb->select('jo.etablissements', "CONCAT(LPAD(SIREN,9,'0'), LPAD(NIC,5,'0')) AS siret", "SIREN=$siren AND SIEGE=1 ORDER BY ACTIF%10 DESC, NIC DESC",false,MYSQL_ASSOC);
if ( count($insee)>0 ) {
$insee = $this->iDb->select('jo.etablissements', "CONCAT(LPAD(SIREN,9,0), LPAD(NIC,5,0)) AS siret",
"SIREN=$siren AND SIEGE=1 ORDER BY ACTIF%10 DESC, NIC DESC", false, MYSQL_ASSOC);
if (count($insee) > 0) {
$siretSiege = $insee[0]['siret'];
}
@ -2389,7 +2576,7 @@ class MInsee
else $strNic="AND NIC<100000 AND SIEGE=1";
$insee = $this->iDb->select('insee.identite',
'ACTIF%10 AS ACTIF, actifEco%10 AS actifEco, NOM, NOM2, SIGLE, ENSEIGNE, ADR_NUMVOIE, ADR_BTQ, ADR_TYPVOIE, ADR_LIBVOIE, ADR_LIBCOM, ADR_CP, ADR_COMP, ADR_DISTSP, PAYS, DCREN, SIEGE, AUXILT, SAISONAT, CJ, CIVILITE, NBETAB, APE_ENT, APE_ETAB, PROCOL, PROCOL_TYPE, PROCOL_DATE, CAPITAL, EFF_ENT, NUMRC, TEL, FAX, DIR_FCT, DIR_IDEN, DIR_DATEN, DIR_LIEUN, CAPITAL_DATE, CAPITAL_DEV, DCRET, TEFF_ENT, ADR_DEP, LPAD(ADR_COM,3,0) AS ADR_COM, TCA, TCAEXP, EFF_ET, TEFF_ET, CODEVOIE, DATE_MAJ, APRM, ACTIVNAT, ORIGINE, MODET, EXPLET, LIEUACT, ACTISURF, DEFET, MODEN, PRODPART, EXPLEN, MONOREG, REGIMP, MONOACT, DEFEN, DEFET, IDENTITE_PRE, insL1_NOMEN, insL2_COMP, insL3_CADR, insL4_VOIE, insL5_DISP, insL6_POST, insL7_ETRG, dateMajRNVP, insCATEGORIE, insIND_PUBLIPO, RPET, ARRONET, CTONET, DU, TU, UU, TCD, ZEMET, ESAANN, ESAAPEN, DREACTET, AMINTRET, DREACTEN, AMINTREN, NOMEN_LONG, CEDEX, EPCI, NOM_COM, NATETAB, PRODET, PRODEN, hexavia',
"SIREN=$siren $strNic ORDER BY SIEGE DESC, ACTIF DESC LIMIT 0,1",false,MYSQL_ASSOC);
"SIREN=$siren $strNic ORDER BY SIEGE DESC, ACTIF DESC LIMIT 0,1", false, MYSQL_ASSOC);
if (count($insee) > 0) {
$tabInsee = $insee[0];
$tabNotice = $this->getInfosNotice($siren, $nic);
@ -2690,10 +2877,16 @@ class MInsee
if (intval($siren) > 100 && $tabInsee['ACTIF']*1 == 1 && $tabInsee['actifEco']*1 == 0) {
// L'établissement est actif juridiquement à l'INSEE mais sans activité économique
$tabTmp=$this->iDb->select('insee.insee_even', 'insEVE, IF(insDATEVE=0, idFlux*1, insDATEVE) AS insDATEVE',
"insSIREN=$siren AND insNIC=$nic AND insEVE IN ('MPF','MNP','650') ORDER BY insDATEVE DESC", false, MYSQL_ASSOC);
"insSIREN=$siren AND insNIC=$nic AND insEVE IN ('OD','TD','MPF','MNP','420','425','620','621','650') ORDER BY insDATEVE DESC", false, MYSQL_ASSOC);
if (count($tabTmp)>0) {
$tabModif=$tabTmp[0];
switch(''.$tabModif['insEVE']) {
switch(''.$tabModif['insEVE']) {
case 'OD':
case 'TD':
case '420': // Absence d'activité de l'entreprise (cessation économique de l.entreprise)
case '425': // Absence d'activité d'une entreprise suite à une mise à jour au répertoire //
case '620':
case '621':
case '650': // Fermé économiquement
$tabInsee['actifEcoType']='ECOF';
$tabInsee['actifEcoDate']=$tabModif['insDATEVE'];
@ -2705,32 +2898,19 @@ class MInsee
case 'MNP': // Présumé Fermé par la trimestrille NPAI
$tabInsee['actifEcoType']='NPAI';
$tabInsee['actifEcoDate']=$tabModif['insDATEVE'];
break;
}
}
// Evènement Relatif à une cessation ECO entreprise
$tabTmp=$this->iDb->select('insee.insee_even', 'insEVE, IF(insDATEVE=0, idFlux*1, insDATEVE) AS insDATEVE',
"insSIREN=$siren AND insEVE IN ('OD','TD','420','425','620','621') ORDER BY insDATEVE DESC", false, MYSQL_ASSOC);
if (count($tabTmp)>0) {
$tabModif=$tabTmp[0];
switch(''.$tabModif['insEVE']) {
case 'OD':
case 'TD':
case '420': // Absence d'activité de l'entreprise (cessation économique de l.entreprise)
case '425': // Absence d'activité d'une entreprise suite à une mise à jour au répertoire //
case '620':
case '621':
$tabInsee['actifEcoType']='ECOF';
$tabInsee['actifEcoDate']=$tabModif['insDATEVE'];
break;
default:
$tabInsee['actifEco']=1;
$tabInsee['actifEcoDate']='';
$tabInsee['actifEcoType']='';
break;
}
}
}
if ($tabInsee['CIVILITE']==1) $dir1Genre='M';
elseif ($tabInsee['CIVILITE']==2) $dir1Genre='F';
elseif ($tabRet['dir1Genre']<>'M' && $tabRet['dir1Genre']<>'F') $dir1Genre='';
$dir1Genre='';
if ($tabInsee['CIVILITE']==1) $dir1Genre='M';
elseif ($tabInsee['CIVILITE']==2) $dir1Genre='F';
$tabRet = array(
'id' => $etab['id'],
@ -3061,7 +3241,7 @@ class MInsee
if ($tabInsee['CIVILITE']==1) { $tabRet['dir1NomPrenom']='M. '; $tabRet['dir1Genre']='M'; }
elseif ($tabInsee['CIVILITE']==2) { $tabRet['dir1NomPrenom']='Mme '; $tabRet['dir1Genre']='F'; }
elseif ($tabRet['dir1Genre']<>'M' && $tabRet['dir1Genre']<>'F') $tabRet['dir1Genre']='';
$tabRet['dir1NomPrenom'].=$tabInsee['NOM'];
$tabRet['dir1NomPrenom'].=$tabInsee['NOM'];
}
if (intval($siren) > 0) {
@ -3409,6 +3589,7 @@ class MInsee
$tabRet['FJ2_Lib'] = $tabRet['FJ_lib'];
}
if ($fjInpi>=1000 && $fjInpi<2000) {
$tabRet['dir1Titre']='Personne physique';
$tabRet['dir1Code']='1050';
$tabRet['dir1NomPrenom']=strtoupper($entrep['nom']).' '.ucwords(strtolower($entrep['prenom']));
$tabRet['dir1Nom']=strtoupper($entrep['nom']);
@ -5197,7 +5378,12 @@ class MInsee
if (!empty($sqlAnnonce)) {
$sql.= "UNION ALL (".$sqlAnnonce.") ";
}
$sql.= ") results ORDER BY unionDate DESC";
// Gestion des événements à date
if ($this->companyEvenDateStop != null ) {
$sql.= ") results WHERE unionDate<'".$this->companyEvenDateStop."' ORDER BY unionDate DESC";
} else {
$sql.= ") results ORDER BY unionDate DESC";
}
}
$annonceResult = $this->iDb->query($sql);
@ -6380,7 +6566,8 @@ class MInsee
return false;
}
function getImportExport($siren, $type='', $annee='') {
public function getImportExport($siren, $type='', $annee='')
{
if ($type=='') $strimportExport=" AND importExport IN ('I','E') ";
elseif ($type=='I') $strimportExport=" AND importExport='I' ";
elseif ($type=='E') $strimportExport=" AND importExport='E' ";
@ -6396,7 +6583,7 @@ class MInsee
return $tabImportExport;
}
function getInfosNotice($siren, $nic)
public function getInfosNotice($siren, $nic)
{
/** Elements provenant du Notice 80 hors identité **/
$tabTmp=$this->iDb->select('insee.insee_notices',
@ -6407,7 +6594,7 @@ class MInsee
insEAESEC2N, insEAESEC3N, insEAESEC4N, dateNotice",
"insSIREN=$siren AND insNIC=$nic ORDER BY dateNotice DESC LIMIT 0,1", false, MYSQL_ASSOC);
if (count($tabTmp)==0)
if (count($tabTmp)==0) {
$tabTmp=$this->iDb->select('insee.insee_even',
"LPAD(insSIREN,9,0) AS insSIREN, LPAD(insNIC,5,0) AS insNIC, insL4_VOIE, insL6_POST, LPAD(insRPET,2,0) AS insRPET, insDEPCOMEN,
LPAD(insRPEN,2,0) AS insRPEN, insARRONET, insCTONET, insTCD, LPAD(insZEMET,2,0) AS insZEMET, insDU,
@ -6416,11 +6603,13 @@ class MInsee
insESAPEN AS insEAEAPEN, insESASEC1N AS insEAESEC1N, insESASEC2N AS insEAESEC2N,
insESASEC3N AS insEAESEC3N, insESASEC4N AS insEAESEC4N, dateInsert AS dateNotice",
"insSIREN=$siren AND insNIC=$nic ORDER BY dateInsert DESC LIMIT 0,1", false, MYSQL_ASSOC);
}
return $tabTmp[0];
}
function infoAdresseDom($adresseNum, $adresseBtq, $adresseVoie, $adresseRue, $adresseComp, $cp, $ville, $active=true) {
public function infoAdresseDom($adresseNum, $adresseBtq, $adresseVoie, $adresseRue, $adresseComp, $cp, $ville, $active=true)
{
$adresseNum=trim($adresseNum)*1;
$adresseBtq='';//trim($adresseBtq);
$adresseVoie=trim($adresseVoie);
@ -6445,26 +6634,9 @@ class MInsee
$tabTmp=$this->iDb->select('jo.tabAdrDom',
'id, siren, nic, enActif, etActif, procol, nom, nom2, sigle, enseigne, adrNum, adrBtq, adrTypVoie, adrLibVoie, ville, cp, adrComp, adrDistSp, cj, apen, apet, nbEntrep, dateInsert, dateUpdate',
"adrNum=$num AND adrBtq='$indRep' AND adrTypVoie LIKE '%$typeVoie%' AND adrLibVoie LIKE '%$libVoie%' AND cp=$cp $strAdrActive GROUP BY siren ORDER BY enActif DESC, nbEntrep DESC", false, MYSQL_ASSOC);
if (count($tabTmp)>0) {
/* sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Adresse de domiciliation", print_r($tabAdr,true).EOL.print_r($tabTmp, true).EOL.
"num=$num=$adresseNum".EOL.
"indRep=$indRep=$adresseBtq".EOL.
"typeVoie=$typeVoie=$adresseVoie".EOL.
"libVoie=$libVoie=$adresseRue".EOL.
"adresseComp=$adresseComp".EOL.
"cp/ville=$cp/$ville".EOL);*/
if (count($tabTmp)>0) {
return $tabTmp;
}/* else {
sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Adresse de domiciliation Debug", print_r($tabAdr,true).EOL.print_r($tabTmp, true).EOL.
"num=$num=$adresseNum".EOL.
"indRep=$indRep=$adresseBtq".EOL.
"typeVoie=$typeVoie=$adresseVoie".EOL.
"libVoie=$libVoie=$adresseRue".EOL.
"adresseComp=$adresseComp".EOL.
"cp/ville=$cp/$ville".EOL);
return $tabTmp;
}*/
}
return false;
}
@ -6476,7 +6648,7 @@ class MInsee
* @return array
* L1_NOM, L2_NOM2, L3_ADRCOMP, L4_VOIE, L5_DISTSP, L6_POST, L7_PAYS
*/
function getAdresse($siren, $nic, $cedexa=1)
public function getAdresse($siren, $nic, $cedexa=1)
{
// Table etablissements
$tabIdentite = $this->getIdentiteLight($siren, $nic);

View File

@ -11,9 +11,16 @@ class MBilans
*/
public $siren;
public $dernierExerciceDepose=0;
public $dernierExerciceDepose = 0;
public $dernierExerciceDeposeLe=0;
public $dernierExerciceDeposeLe = 0;
/**
* Date de fin de recherche des événements AAAAMMJJ
* Envoyer cette date à toutes les méthodes
* @var string
*/
protected $companyEvenDateStop = null;
/**
* Stockage mémoire
@ -280,20 +287,31 @@ class MBilans
$this->siren = $siren;
}
/**
* Défini une date limite de prise en compte des événements
* @param string $date AAAAMMJJ
*/
public function setEvenLimit($date)
{
$this->companyEvenDateStop = $date;
}
/**
* Défini la date du dernier exercice
* @param string $accesPartenaire
*/
public function listeBilansDepose($accesPartenaire = false)
{
$result = $this->iDb->select('jo.bodacc_detail', 'Bodacc_Date_Parution, dateEffet, typeEven',
"siren='$this->siren' AND Rubrique='comptes' ORDER BY dateEffet DESC",false, MYSQL_ASSOC);
$dateDerDepot = 0;
$where = "siren='$this->siren' AND Rubrique='comptes' ORDER BY dateEffet DESC";
if ($this->companyEvenDateStop !== null) {
$where = "siren='$this->siren' AND Rubrique='comptes' AND dateEffet<'".$this->companyEvenDateStop."' ORDER BY dateEffet DESC";
}
$result = $this->iDb->select('jo.bodacc_detail', 'Bodacc_Date_Parution, dateEffet, typeEven', $where, false, MYSQL_ASSOC);
if ( count($result) > 0 ) {
$dateDerDepot=$classWDate->dateT('Y-m-d','Ymd',$result[0]['dateEffet'])*1;
if ($dateDerDepot<>0) {
$this->dernierExerciceDepose = $classWDate->dateT('Y-m-d','d/m/Y',$result[0]['dateEffet']);
$this->dernierExerciceDeposeLe = $classWDate->dateT('Y-m-d','d/m/Y',$result[0]['Bodacc_Date_Parution']);
$dateDerDepot = $classWDate->dateT('Y-m-d','Ymd',$result[0]['dateEffet'])*1;
if ($dateDerDepot != 0) {
$this->dernierExerciceDepose = $classWDate->dateT('Y-m-d','d/m/Y',$result[0]['dateEffet']);
$this->dernierExerciceDeposeLe = $classWDate->dateT('Y-m-d','d/m/Y',$result[0]['Bodacc_Date_Parution']);
}
}
}
@ -315,9 +333,13 @@ class MBilans
if ($nbMaxBilans>0) $limit="LIMIT 0, $nbMaxBilans";
else $limit='';
$where = "siren='$this->siren' ORDER BY dateExercice DESC, CASE typeBilan WHEN 'N' THEN 1 WHEN 'S' THEN 2 ELSE 3 END $limit";
if ($this->companyEvenDateStop !== null) {
$where = "siren='$this->siren' AND dateExercice<'".$this->companyEvenDateStop."' ORDER BY dateExercice DESC, CASE typeBilan WHEN 'N' THEN 1 WHEN 'S' THEN 2 ELSE 3 END $limit";
}
$ret = $this->iDb->select('jo.bilans',
'typeBilan, dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaieOrigine, dateInsert, partenaire',
"siren='$this->siren' ORDER BY dateExercice DESC, CASE typeBilan WHEN 'N' THEN 1 WHEN 'S' THEN 2 ELSE 3 END $limit",false, MYSQL_ASSOC);
'typeBilan, dateProvPartenaire, dateExercice, dateExercicePre, dureeExercice, dureeExercicePre, monnaieOrigine, dateInsert, partenaire',
$where, false, MYSQL_ASSOC);
if ($accesPartenaire) {
$iGreffe = new MGreffes($this->iDb);
@ -399,9 +421,8 @@ class MBilans
*/
public function getBilan($millesime='', $typeBilan='N', $refPart=0, $accesPartenaire=false)
{
//Get bilan in memory
if (count($this->Bilans) > 0 && array_key_exists($typeBilan.$millesime, $this->Bilans))
{
// Get bilan in memory
if (count($this->Bilans) > 0 && array_key_exists($typeBilan.$millesime, $this->Bilans)) {
return $this->Bilans[$typeBilan.$millesime];
}

View File

@ -195,7 +195,7 @@ class MRncs
if (trim($strNomPrenom)=='') return false;
//echo "Recherche de '$strNomPrenom, $adresse, $cp $ville' dans les mandataires S&D :".EOL;
$tabTmp=$this->iDb->select( 'jo.tabMandataires',
"id, Nom, Prenom, adresse, adresseComp, cp, ville, MATCH (Nom, Prenom, adresse, adresseComp, ville) AGAINST ('$strNomPrenom $adresse $ville' IN NATURAL LANGUAGE MODE) AS score",
"TYPE IN ('A', 'M') AND (Nom<>'' OR Prenom <>'') AND MATCH (Nom, Prenom, adresse, adresseComp, ville) AGAINST ('$strNomPrenom $adresse $ville' IN NATURAL LANGUAGE MODE) ORDER BY score DESC LIMIT 0,10",false, MYSQL_ASSOC);
@ -218,7 +218,7 @@ class MRncs
}
}
}
return $id;
}
@ -384,7 +384,7 @@ class MRncs
public function getInfosEntrep($siren)
{
$siren=$siren*1;
$rep=$this->iDb->select('jo.rncs_entrep', 'siren, sirenValide, actif, numGreffe, triCode, triId, numRC, numRC2, raisonSociale, nom, prenom, nomUsage, sigle, dateNaiss, lieuNaiss, sexe, nationalite, pays, naf, cj, capitalMontant, capitalDevise, capitalDevIso, dateImma, dateRad, capitalType, capitalCent, provisoires, flux, DATE(dateUpdate) AS jourUpdate', "siren=$siren", false, MYSQL_ASSOC);
$rep = $this->iDb->select('jo.rncs_entrep', 'siren, sirenValide, actif, numGreffe, triCode, triId, numRC, numRC2, raisonSociale, nom, prenom, nomUsage, sigle, dateNaiss, lieuNaiss, sexe, nationalite, pays, naf, cj, capitalMontant, capitalDevise, capitalDevIso, dateImma, dateRad, capitalType, capitalCent, provisoires, flux, DATE(dateUpdate) AS jourUpdate', "siren=$siren", false, MYSQL_ASSOC);
if (count($rep)>0) {
$entrep=$rep[0];
@ -874,7 +874,7 @@ class MRncs
$this->libErreur='Infogreffe indisponible !';
return false;
}
function getDirigeantsPrin($siren, $nbDirs=2) {
$siren=$siren*1;
$tabRet=array();

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,175 @@
<?php
/** Auto generated - 2015-09-20 18:32:10*/
return array (
5000 => 1000.10005,
7000 => 5000.10007,
7001 => 5000.10007001,
7002 => 5000.10007002,
7003 => 5000.10007003,
9995 => 13101.10009995,
9996 => 13100.10009996,
199000 => 15100.10199,
200000 => 15100.102,
201000 => 15100.10201,
202000 => 15100.10202,
203000 => 15100.10203,
204000 => 15100.10204,
205000 => 15100.10205,
205099 => 15010.10205099,
205200 => 15010.102052,
735100 => 102005.107351,
735110 => 102005.1073511,
735111 => 102005.10735111,
735112 => 102005.10735112,
735200 => 102005.107352,
735300 => 102005.107353,
735500 => 102005.107355,
735930 => 102025.1073593,
735950 => 102025.1073595,
2400101 => 52201.12400101,
2400102 => 52201.12400102,
2400103 => 52201.12400103,
2400109 => 52201.12400109,
2400111 => 52201.12400111,
2400112 => 52201.12400112,
2400119 => 52201.12400119,
2400121 => 52201.12400121,
2400122 => 52201.12400122,
2400123 => 52201.12400123,
2400124 => 52201.12400124,
2400125 => 52201.12400125,
2400126 => 52201.12400126,
2400200 => 52201.124002,
2400210 => 52201.1240021,
2400300 => 52201.124003,
2400310 => 52201.1240031,
2400410 => 52201.1240041,
2400420 => 52201.1240042,
2400430 => 52201.1240043,
3902100 => 102095.139021,
3902101 => 102095.13902101,
3902110 => 102095.1390211,
3902111 => 102095.13902111,
3902130 => 102095.1390213,
3902131 => 102095.13902131,
3902200 => 102095.139022,
3902300 => 102095.139023,
3902301 => 102095.13902301,
3902310 => 102095.1390231,
3902311 => 102095.13902311,
3902330 => 102095.1390233,
3902331 => 102095.13902331,
3902900 => 102095.139029,
3910001 => 101002.13910001,
3910100 => 101002.139101,
3910101 => 101002.13910101,
3910120 => 101002.1391012,
3910121 => 101002.13910121,
3910130 => 101002.1391013,
3910131 => 101002.13910131,
3910135 => 101002.13910135,
3910136 => 101002.13910136,
3910140 => 101002.1391014,
3910141 => 101002.13910141,
3910145 => 101002.13910145,
3910146 => 101002.13910146,
3910150 => 101002.1391015,
3910151 => 101002.13910151,
3910155 => 101002.13910155,
3910156 => 101002.13910156,
3910160 => 101002.1391016,
3910161 => 101002.13910161,
3910170 => 101002.1391017,
3910171 => 101002.13910171,
3910180 => 101002.1391018,
3910181 => 101002.13910181,
3910190 => 101002.1391019,
3910191 => 101002.13910191,
3911001 => 101003.13911001,
3911100 => 101003.139111,
3911101 => 101003.13911101,
3911110 => 101003.1391111,
3911111 => 101003.13911111,
3911120 => 101003.1391112,
3911121 => 101003.13911121,
3911130 => 101003.1391113,
3911131 => 101003.13911131,
3911145 => 101003.13911145,
3911146 => 101003.13911146,
3911150 => 101003.1391115,
3911151 => 101003.13911151,
3911160 => 101003.1391116,
3911161 => 101003.13911161,
3911170 => 101003.1391117,
3911171 => 101003.13911171,
3911180 => 101003.1391118,
3911181 => 101003.13911181,
20001000 => 100101.30001,
20011000 => 101001.30011,
20011900 => 101009.300119,
20012000 => 101201.30012,
20012001 => 101201.30012001,
20012002 => 101201.30012002,
20012100 => 101201.300121,
20012110 => 101201.3001211,
20012120 => 101201.3001212,
20012200 => 101301.300122,
20012210 => 101301.3001221,
20012220 => 101351.3001222,
20012400 => 101401.300124,
20012410 => 101201.3001241,
20012420 => 101351.3001242,
20020100 => 102001.300201,
20020110 => 102006.3002011,
20021200 => 102011.300212,
20021210 => 102016.3002121,
20022200 => 102021.300222,
20022210 => 102026.3002221,
20022500 => 102041.300225,
20022510 => 102046.3002251,
20023100 => 102051.300231,
20023110 => 102056.3002311,
20025200 => 102061.300252,
20025210 => 102066.3002521,
20026100 => 102071.300261,
20026101 => 102071.30026101,
20026110 => 102076.3002611,
20027100 => 102091.300271,
20028100 => 102101.300281,
20028110 => 102106.3002811,
20050100 => 103001.300501,
20080201 => 104001.30080201,
20080210 => 104001.3008021,
20080215 => 104001.30080215,
20080217 => 104001.30080217,
20080220 => 104001.3008022,
20080230 => 104001.3008023,
20080240 => 104001.3008024,
20080250 => 104001.3008025,
20080260 => 104001.3008026,
20080270 => 104001.3008027,
20080280 => 104001.3008028,
20080290 => 104001.3008029,
20090310 => 109001.3009031,
20090510 => 109101.3009051,
20090610 => 109101.3009061,
20090611 => 109101.30090611,
20090710 => 109101.3009071,
20090711 => 109101.30090711,
20090712 => 109101.30090712,
20090810 => 109101.3009081,
20090830 => 109101.3009083,
20090840 => 109101.3009084,
20090910 => 109101.3009091,
100000100 => 100100.1100001,
100001000 => 101000.110001,
100002000 => 101200.110002,
100003000 => 101300.110003,
100004000 => 101400.110004,
100005000 => 101500.110005,
100010000 => 108999.11001,
100015000 => 103000.110015,
100016000 => 104000.110016,
100019000 => 109000.110019,
100019100 => 109100.1100191,
);

View File

@ -0,0 +1,176 @@
<?php
/** Auto generated - 2015-09-20 18:32:15*/
return array (
100 => 100.100001,
5000 => 1000.10005,
7000 => 5000.10007,
7001 => 5000.10007001,
7002 => 5000.10007002,
7003 => 5000.10007003,
9995 => 13101.10009995,
9996 => 13100.10009996,
199000 => 15100.10199,
200000 => 15100.102,
201000 => 15100.10201,
202000 => 15100.10202,
203000 => 15100.10203,
204000 => 15100.10204,
205000 => 15100.10205,
205099 => 15010.10205099,
205200 => 15010.102052,
735100 => 102005.107351,
735110 => 102005.1073511,
735111 => 102005.10735111,
735112 => 102005.10735112,
735200 => 102005.107352,
735300 => 102005.107353,
735500 => 102005.107355,
735930 => 102025.1073593,
735950 => 102025.1073595,
2400101 => 52201.12400101,
2400102 => 52201.12400102,
2400103 => 52201.12400103,
2400109 => 52201.12400109,
2400111 => 52201.12400111,
2400112 => 52201.12400112,
2400119 => 52201.12400119,
2400121 => 52201.12400121,
2400122 => 52201.12400122,
2400123 => 52201.12400123,
2400124 => 52201.12400124,
2400125 => 52201.12400125,
2400126 => 52201.12400126,
2400200 => 52201.124002,
2400210 => 52201.1240021,
2400300 => 52201.124003,
2400310 => 52201.1240031,
2400410 => 52201.1240041,
2400420 => 52201.1240042,
2400430 => 52201.1240043,
3902100 => 102095.139021,
3902101 => 102095.13902101,
3902110 => 102095.1390211,
3902111 => 102095.13902111,
3902130 => 102095.1390213,
3902131 => 102095.13902131,
3902200 => 102095.139022,
3902300 => 102095.139023,
3902301 => 102095.13902301,
3902310 => 102095.1390231,
3902311 => 102095.13902311,
3902330 => 102095.1390233,
3902331 => 102095.13902331,
3902900 => 102095.139029,
3910001 => 101002.13910001,
3910100 => 101002.139101,
3910101 => 101002.13910101,
3910120 => 101002.1391012,
3910121 => 101002.13910121,
3910130 => 101002.1391013,
3910131 => 101002.13910131,
3910135 => 101002.13910135,
3910136 => 101002.13910136,
3910140 => 101002.1391014,
3910141 => 101002.13910141,
3910145 => 101002.13910145,
3910146 => 101002.13910146,
3910150 => 101002.1391015,
3910151 => 101002.13910151,
3910155 => 101002.13910155,
3910156 => 101002.13910156,
3910160 => 101002.1391016,
3910161 => 101002.13910161,
3910170 => 101002.1391017,
3910171 => 101002.13910171,
3910180 => 101002.1391018,
3910181 => 101002.13910181,
3910190 => 101002.1391019,
3910191 => 101002.13910191,
3911001 => 101003.13911001,
3911100 => 101003.139111,
3911101 => 101003.13911101,
3911110 => 101003.1391111,
3911111 => 101003.13911111,
3911120 => 101003.1391112,
3911121 => 101003.13911121,
3911130 => 101003.1391113,
3911131 => 101003.13911131,
3911145 => 101003.13911145,
3911146 => 101003.13911146,
3911150 => 101003.1391115,
3911151 => 101003.13911151,
3911160 => 101003.1391116,
3911161 => 101003.13911161,
3911170 => 101003.1391117,
3911171 => 101003.13911171,
3911180 => 101003.1391118,
3911181 => 101003.13911181,
20001000 => 1001.30001,
20011000 => 101001.30011,
20011900 => 101009.300119,
20012000 => 101201.30012,
20012001 => 101201.30012001,
20012002 => 101201.30012002,
20012100 => 101201.300121,
20012110 => 101201.3001211,
20012120 => 101201.3001212,
20012200 => 101301.300122,
20012210 => 101301.3001221,
20012220 => 101351.3001222,
20012400 => 101401.300124,
20012410 => 101201.3001241,
20012420 => 101351.3001242,
20020100 => 102001.300201,
20020110 => 102006.3002011,
20021200 => 102011.300212,
20021210 => 102016.3002121,
20022200 => 102021.300222,
20022210 => 102026.3002221,
20022500 => 102041.300225,
20022510 => 102046.3002251,
20023100 => 102051.300231,
20023110 => 102056.3002311,
20025200 => 102061.300252,
20025210 => 102066.3002521,
20026100 => 102071.300261,
20026101 => 102071.30026101,
20026110 => 102076.3002611,
20027100 => 102071.300271,
20028100 => 102101.300281,
20028110 => 102106.3002811,
20050100 => 103001.300501,
20080201 => 104001.30080201,
20080210 => 104001.3008021,
20080215 => 104001.30080215,
20080217 => 104001.30080217,
20080220 => 104001.3008022,
20080230 => 104001.3008023,
20080240 => 104001.3008024,
20080250 => 104001.3008025,
20080260 => 104001.3008026,
20080270 => 104001.3008027,
20080280 => 104001.3008028,
20080290 => 104001.3008029,
20090310 => 109001.3009031,
20090510 => 109101.3009051,
20090610 => 109101.3009061,
20090611 => 109101.30090611,
20090710 => 109101.3009071,
20090711 => 109101.30090711,
20090712 => 109101.30090712,
20090810 => 109101.3009081,
20090830 => 109101.3009083,
20090840 => 109101.3009084,
20090910 => 109101.3009091,
100000100 => 100100.1100001,
100001000 => 101000.110001,
100002000 => 101200.110002,
100003000 => 101300.110003,
100004000 => 101400.110004,
100005000 => 101500.110005,
100010000 => 108999.11001,
100015000 => 103000.110015,
100016000 => 104000.110016,
100019000 => 109000.110019,
100019100 => 109100.1100191,
);

View File

@ -0,0 +1,176 @@
<?php
/** Auto generated - 2015-09-20 18:32:15*/
return array(
100 => 100.100001,
5000 => 1000.10005,
7000 => 5000.10007,
7001 => 5000.10007001,
7002 => 5000.10007002,
7003 => 5000.10007003,
9995 => 13101.10009995,
9996 => 13100.10009996,
199000 => 15100.10199,
200000 => 15100.102,
201000 => 15100.10201,
202000 => 15100.10202,
203000 => 15100.10203,
204000 => 15100.10204,
205000 => 15100.10205,
205099 => 15010.10205099,
205200 => 15010.102052,
735100 => 10200.107351,
735110 => 10200.1073511,
735111 => 10200.10735111,
735112 => 10200.10735112,
735200 => 10200.107352,
735300 => 10200.107353,
735500 => 10200.107355,
735930 => 10202.1073593,
735950 => 10202.1073595,
2400101 => 52201.12400101,
2400102 => 52201.12400102,
2400103 => 52201.12400103,
2400109 => 52201.12400109,
2400111 => 52201.12400111,
2400112 => 52201.12400112,
2400119 => 52201.12400119,
2400121 => 52201.12400121,
2400122 => 52201.12400122,
2400123 => 52201.12400123,
2400124 => 52201.12400124,
2400125 => 52201.12400125,
2400126 => 52201.12400126,
2400200 => 52201.124002,
2400210 => 52201.1240021,
2400300 => 52201.124003,
2400310 => 52201.1240031,
2400410 => 52201.1240041,
2400420 => 52201.1240042,
2400430 => 52201.1240043,
3902100 => 10209.139021,
3902101 => 10209.13902101,
3902110 => 10209.1390211,
3902111 => 10209.13902111,
3902130 => 10209.1390213,
3902131 => 10209.13902131,
3902200 => 10209.139022,
3902300 => 10209.139023,
3902301 => 10209.13902301,
3902310 => 10209.1390231,
3902311 => 10209.13902311,
3902330 => 10209.1390233,
3902331 => 10209.13902331,
3902900 => 10209.139029,
3910001 => 10100.13910001,
3910100 => 10100.139101,
3910101 => 10100.13910101,
3910120 => 10100.1391012,
3910121 => 10100.13910121,
3910130 => 10100.1391013,
3910131 => 10100.13910131,
3910135 => 10100.13910135,
3910136 => 10100.13910136,
3910140 => 10100.1391014,
3910141 => 10100.13910141,
3910145 => 10100.13910145,
3910146 => 10100.13910146,
3910150 => 10100.1391015,
3910151 => 10100.13910151,
3910155 => 10100.13910155,
3910156 => 10100.13910156,
3910160 => 10100.1391016,
3910161 => 10100.13910161,
3910170 => 10100.1391017,
3910171 => 10100.13910171,
3910180 => 10100.1391018,
3910181 => 10100.13910181,
3910190 => 10100.1391019,
3910191 => 10100.13910191,
3911001 => 10100.13911001,
3911100 => 10100.139111,
3911101 => 10100.13911101,
3911110 => 10100.1391111,
3911111 => 10100.13911111,
3911120 => 10100.1391112,
3911121 => 10100.13911121,
3911130 => 10100.1391113,
3911131 => 10100.13911131,
3911145 => 10100.13911145,
3911146 => 10100.13911146,
3911150 => 10100.1391115,
3911151 => 10100.13911151,
3911160 => 10100.1391116,
3911161 => 10100.13911161,
3911170 => 10100.1391117,
3911171 => 10100.13911171,
3911180 => 10100.1391118,
3911181 => 10100.13911181,
20001000 => 1001.30001,
20011000 => 10100.30011,
20011900 => 10100.300119,
20012000 => 10120.30012,
20012001 => 10120.30012001,
20012002 => 10120.30012002,
20012100 => 10120.300121,
20012110 => 10120.3001211,
20012120 => 10120.3001212,
20012200 => 10130.300122,
20012210 => 10130.3001221,
20012220 => 10135.3001222,
20012400 => 10140.300124,
20012410 => 10120.3001241,
20012420 => 10135.3001242,
20020100 => 10200.300201,
20020110 => 10200.3002011,
20021200 => 10201.300212,
20021210 => 10201.3002121,
20022200 => 10202.300222,
20022210 => 10202.3002221,
20022500 => 10204.300225,
20022510 => 10204.3002251,
20023100 => 10205.300231,
20023110 => 10205.3002311,
20025200 => 10206.300252,
20025210 => 10206.3002521,
20026100 => 10207.300261,
20026101 => 10207.30026101,
20026110 => 10207.3002611,
20027100 => 10207.300271,
20028100 => 10210.300281,
20028110 => 10210.3002811,
20050100 => 10300.300501,
20080201 => 10400.30080201,
20080210 => 10400.3008021,
20080215 => 10400.30080215,
20080217 => 10400.30080217,
20080220 => 10400.3008022,
20080230 => 10400.3008023,
20080240 => 10400.3008024,
20080250 => 10400.3008025,
20080260 => 10400.3008026,
20080270 => 10400.3008027,
20080280 => 10400.3008028,
20080290 => 10400.3008029,
20090310 => 10900.3009031,
20090510 => 10910.3009051,
20090610 => 10910.3009061,
20090611 => 10910.30090611,
20090710 => 10910.3009071,
20090711 => 10910.30090711,
20090712 => 10910.30090712,
20090810 => 10910.3009081,
20090830 => 10910.3009083,
20090840 => 10910.3009084,
20090910 => 10910.3009091,
100000100 => 10010.1100001,
100001000 => 10100.110001,
100002000 => 10120.110002,
100003000 => 10130.110003,
100004000 => 10140.110004,
100005000 => 10150.110005,
100010000 => 10200.11001,
100015000 => 10300.110015,
100016000 => 10400.110016,
100019000 => 10900.110019,
100019100 => 10910.1100191,
);

View File

@ -0,0 +1,162 @@
<?php
/** Auto generated - 2015-09-20 18:32:29*/
return array(
100 => 100.100001,
5000 => 1000.10005,
7000 => 5000.10007,
7001 => 5000.10007001,
7002 => 5000.10007002,
7003 => 5000.10007003,
9995 => 13101.10009995,
9996 => 13100.10009996,
199000 => 15100.10199,
200000 => 15100.102,
201000 => 15100.10201,
202000 => 15100.10202,
203000 => 15100.10203,
204000 => 15100.10204,
205000 => 15100.10205,
205099 => 15010.10205099,
205200 => 15010.102052,
735100 => 92005.107351,
735110 => 92005.1073511,
735111 => 92005.10735111,
735112 => 92005.10735112,
735200 => 92005.107352,
735300 => 92005.107353,
735500 => 92005.107355,
735930 => 92025.1073593,
735950 => 92025.1073595,
2400101 => 52201.12400101,
2400102 => 52201.12400102,
2400103 => 52201.12400103,
2400109 => 52201.12400109,
2400111 => 52201.12400111,
2400112 => 52201.12400112,
2400119 => 52201.12400119,
2400121 => 52201.12400121,
2400122 => 52201.12400122,
2400123 => 52201.12400123,
2400124 => 52201.12400124,
2400125 => 52201.12400125,
2400126 => 52201.12400126,
2400200 => 52201.124002,
2400210 => 52201.1240021,
2400300 => 52201.124003,
2400310 => 52201.1240031,
2400410 => 52201.1240041,
2400420 => 52201.1240042,
2400430 => 52201.1240043,
3910001 => 91450.13910001,
3910100 => 91450.139101,
3910101 => 91450.13910101,
3910120 => 91450.1391012,
3910121 => 91450.13910121,
3910130 => 91450.1391013,
3910131 => 91450.13910131,
3910135 => 91450.13910135,
3910136 => 91450.13910136,
3910140 => 91450.1391014,
3910141 => 91450.13910141,
3910145 => 91450.13910145,
3910146 => 91450.13910146,
3910150 => 91450.1391015,
3910151 => 91450.13910151,
3910155 => 91450.13910155,
3910156 => 91450.13910156,
3910160 => 91450.1391016,
3910161 => 91450.13910161,
3910170 => 91450.1391017,
3910171 => 91450.13910171,
3910180 => 91450.1391018,
3910181 => 91450.13910181,
3910190 => 91450.1391019,
3910191 => 91450.13910191,
3911001 => 92003.13911001,
3911100 => 92003.139111,
3911101 => 92003.13911101,
3911110 => 92003.1391111,
3911111 => 92003.13911111,
3911120 => 92003.1391112,
3911121 => 92003.13911121,
3911130 => 92003.1391113,
3911131 => 92003.13911131,
3911145 => 92003.13911145,
3911146 => 92003.13911146,
3911150 => 92003.1391115,
3911151 => 92003.13911151,
3911160 => 92003.1391116,
3911161 => 92003.13911161,
3911170 => 92003.1391117,
3911171 => 92003.13911171,
3911180 => 92003.1391118,
3911181 => 92003.13911181,
20001000 => 1001.30001,
20011000 => 91201.30011,
20011900 => 91201.300119,
20012000 => 91201.30012,
20012001 => 91201.30012001,
20012002 => 91201.30012002,
20012100 => 91201.300121,
20012110 => 91201.3001211,
20012120 => 91201.3001212,
20012200 => 91301.300122,
20012210 => 91301.3001221,
20012220 => 91351.3001222,
20012420 => 91451.3001242,
20020100 => 92001.300201,
20020110 => 92006.3002011,
20021200 => 92011.300212,
20021210 => 92016.3002121,
20022200 => 92021.300222,
20022210 => 92026.3002221,
20022500 => 92041.300225,
20022510 => 92046.3002251,
20023100 => 92051.300231,
20023510 => 92056.3002351,
20025200 => 92061.300252,
20025210 => 92066.3002521,
20026100 => 92071.300261,
20026101 => 92071.30026101,
20026109 => 92071.30026109,
20026110 => 92076.3002611,
20027100 => 92071.300271,
20028100 => 92101.300281,
20028110 => 92106.3002811,
20050100 => 93001.300501,
20080201 => 94001.30080201,
20080210 => 94001.3008021,
20080215 => 94001.30080215,
20080217 => 94001.30080217,
20080220 => 94001.3008022,
20080230 => 94001.3008023,
20080240 => 94001.3008024,
20080250 => 94001.3008025,
20080260 => 94001.3008026,
20080270 => 94001.3008027,
20080280 => 94001.3008028,
20080290 => 94001.3008029,
20090310 => 99001.3009031,
20090510 => 99101.3009051,
20090610 => 99101.3009061,
20090611 => 99101.30090611,
20090612 => 99101.30090612,
20090710 => 99101.3009071,
20090711 => 99101.30090711,
20090712 => 99101.30090712,
20090810 => 99101.3009081,
20090830 => 99101.3009083,
20090840 => 99101.3009084,
20090910 => 99101.3009091,
100000100 => 90100.1100001,
100001000 => 91000.110001,
100002000 => 91200.110002,
100003000 => 91300.110003,
100004000 => 91400.110004,
100005000 => 91500.110005,
100010000 => 92000.11001,
100015000 => 93000.110015,
100016000 => 94000.110016,
100019000 => 99000.110019,
100019100 => 99100.1100191,
);

View File

@ -0,0 +1,33 @@
<?php
/** Auto generated - 2015-09-20 18:32:29*/
return array(
100 => 100.100001,
5000 => 1000.10005,
7000 => 5000.10007,
20001000 => 1001.30001,
20050100 => 93001.300501,
20080201 => 94002.30080201,
20080210 => 94001.3008021,
20080215 => 94001.30080215,
20080217 => 94001.30080217,
20080220 => 94001.3008022,
20080230 => 94001.3008023,
20080240 => 94001.3008024,
20080250 => 94001.3008025,
20080260 => 94001.3008026,
20080270 => 94001.3008027,
20080280 => 94001.3008028,
20080290 => 94001.3008029,
20090310 => 99001.3009031,
20090510 => 99101.3009051,
20090610 => 99101.3009061,
20090611 => 99101.30090611,
20090612 => 99101.30090612,
20090710 => 99101.3009071,
20090711 => 99101.30090711,
20090712 => 99101.30090712,
20090810 => 99101.3009081,
20090830 => 99101.3009083,
20090840 => 99101.3009084,
20090910 => 99101.3009091,
);

View File

@ -0,0 +1,602 @@
<?php
/** Auto generated - 2015-09-20 18:32:10*/
return array(
5000 => array(
1 => "Valorisation de {NOMEN} en date du : {JOUR_DATE}
",
),
7000 => array(
10 => "<LI><B>ENTREPRISE INACTIVE</B>",
),
7001 => array(
10 => "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>",
),
7002 => array(
10 => "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>",
),
7003 => array(
10 => "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)",
),
9995 => array(
1 => "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"
",
),
9996 => array(
1 => "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}
",
),
199000 => array(
0 => "Cette entreprise est une TPE à vocation principalement régionale.",
),
200000 => array(
0 => "Cette entreprise est une PME à vocation principalement régionale.",
),
201000 => array(
0 => "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}",
),
202000 => array(
0 => "L' entreprise \"{NOMEN}\" est une entreprise importante au sein du bassin économique régional.",
),
203000 => array(
0 => "Cette entreprise est une PME majeure au sein de la région {RPEN}.",
),
204000 => array(
0 => "C'est une des premières entreprises françaises.",
),
205000 => array(
0 => "C'est une PME qui compte dans le département {DEPSIE}.",
),
205099 => array(
0 => "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).",
),
205200 => array(
0 => "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.",
),
735100 => array(
0 => "<B>Projection du CA sur 3 ans:</B>",
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit une tendance à la hausse de {CA_TAUX}.<BR>",
),
735110 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion (dont la dernière le {ANNONCEFUSDATE}) ont dopé le Chiffre d'Affaires.</FONT>",
),
735111 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car une fusion absoption intervenue le {ANNONCEFUSDATE}) a dopé le Chiffre d'Affaires.</FONT>",
),
735112 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion ont dopé le Chiffre d'Affaires.</FONT>",
),
735200 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit tendance à la baisse de {CA_TAUX}.<BR>",
),
735300 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur une stabilité du CA avec une valeur de {CA_Y[3]} en {BILANANNEE3}.<BR>",
),
735500 => array(
9 => "COULEUR(VER3,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du CA et projection sur 3 ans\",R[006]#H,CA_Y#L)}",
),
735930 => array(
10 => "Notre estimation à 3 ans table sur un Résultat Courant avant Impôts de {RCAI_Y[3]} en {BILANANNEE3}.<BR>",
20 => "Le taux de pertinence de notre projection est de {RCAI_TAUX}.",
),
735950 => array(
9 => "COULEUR(JAU1,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du RCAI et projection sur 3 ans\",R[008]#H,RCAI_Y#L)}",
),
2400101 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400102 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400103 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400109 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400111 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400112 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400119 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {MARCHEVOL}.",
),
2400121 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400122 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400123 => array(
10 => "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400124 => array(
10 => "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400125 => array(
10 => "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400126 => array(
10 => "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400200 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.",
),
2400210 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.",
),
2400300 => array(
10 => "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.",
),
2400310 => array(
10 => "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.",
),
2400410 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.",
),
2400420 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.",
),
2400430 => array(
10 => "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.",
),
3902100 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_VILLE_NB} affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902101 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902110 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_VILLE_EU}.",
),
3902111 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMIN_VILLE_EU}.",
),
3902130 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans la même localité pour un montant de {VENTEMAX_VILLE_EU}.",
),
3902131 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMAX_VILLE_EU}.",
),
3902200 => array(
10 => "<C.>, alors qu'on dénombre {VENTE_DEP_NB} cessions dans le département dans une fourchette de {VENTEMIN_DEP_EU} à {VENTEMAX_DEP_EU}.",
),
3902300 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_DEP_NB} affaires de la proche région se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902301 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du département se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902310 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_DEP_EU}.",
),
3902311 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du même département se sont négociées aux environs de {VENTEMIN_DEP_EU}.",
),
3902330 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans le même département pour un montant de {VENTEMAX_DEP_EU}.",
),
3902331 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la proche région se sont négociées aux environs de {VENTEMAX_DEP_EU}.",
),
3902900 => array(
10 => "(Sur l'ensemble du territoire, sur la même période, ce sont {VENTE_FRA_NB} ventes qui sont intervenues pour un montant moyen de {VENTEMOY_FRA_EU})",
),
3910001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTPLUS\" id=\"TABLEAUPLUS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3910100 => array(
10 => "<TR CLASS=\"VERT\"><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910101 => array(
10 => "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910120 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910121 => array(
10 => "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910130 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910131 => array(
10 => "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910135 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910136 => array(
10 => "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910140 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910141 => array(
10 => "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910145 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910150 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910151 => array(
10 => "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910155 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910156 => array(
10 => "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910160 => array(
10 => "<TR CLASS=\"VERT\"><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910161 => array(
10 => "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910170 => array(
10 => "<TR CLASS=\"VERT\"><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910171 => array(
10 => "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910180 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910181 => array(
10 => "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910190 => array(
10 => "<TR CLASS=\"VERT\"><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3910191 => array(
10 => "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3911001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTMOINS\" id=\"TABLEAUMOINS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3911100 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911101 => array(
10 => "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911110 => array(
10 => " <TR CLASS=\"ROUGE\"><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911111 => array(
10 => "<TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911120 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911121 => array(
10 => "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911130 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911131 => array(
10 => "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911145 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911150 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911151 => array(
10 => "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911160 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911161 => array(
10 => "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911170 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911171 => array(
10 => "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911180 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
3911181 => array(
10 => "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
20001000 => array(
10 => "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).",
30 => "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:",
31 => "<LI> celles qui relèvent dune approche patrimoniale.",
32 => "<LI> celles qui sappuient sur la rentabilité.",
33 => "<LI> celles qui découlent dune comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.",
50 => "L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.",
),
20011000 => array(
40 => "<BR>Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :",
),
20011900 => array(
0 => "<BR>",
10 => "<I>A noter que au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :",
20 => "<LI> Potentiel de développement.",
21 => "<LI> Positionnement sur son marché et concurrence.",
22 => "<LI> Lien de dépendance et impact du départ du dirigeant.",
23 => "<LI> Motivation et ambiance interne.",
30 => "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>",
),
20012000 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.",
),
20012001 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.",
),
20012002 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.",
),
20012100 => array(
0 => "<TABLE CLASS=\"TABLEAUBILAN\">",
1 => "<TR CLASS=\"TITRES\"> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012110 => array(
8 => "<TR CLASS=\"TOTAL\"><TH>Total Actif </TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>",
),
20012120 => array(
1 => "<TR CLASS=\"TOTAL\"><TH>Total Passif </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>",
),
20012200 => array(
0 => "<TABLE CLASS=\"TABLEAUSITUFI\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>",
51 => "<TR CLASS=\"TOTAL\"><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>",
),
20012220 => array(
0 => "{GRAPH(\"Situation financière\",R[231]#T,R[232]#T,R[249]#T)}",
),
20012400 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Compte de Résultat </TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012410 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Chiffre d'affaires </TH><TD>{Rp2[005]}</TD><TD>{Rp[005]}</TD><TD>{R[005]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Marge commerciale </TH><TD>{Rp2[110]}</TD><TD>{Rp[110]}</TD><TD>{R[110]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Valeur ajoutée </TH><TD>{Rp2[130]}</TD><TD>{Rp[130]}</TD><TD>{R[130]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Excédent brut d'exploitation </TH><TD>{Rp2[140]}</TD><TD>{Rp[140]}</TD><TD>{R[140]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Résultat courant avant impôts </TH><TD>{Rp2[150]}</TD><TD>{Rp[150]}</TD><TD>{R[150]}</TD></TR>",
61 => "<TR CLASS=\"BLANC\"><TH>Résultat exceptionnel </TH><TD>{Rp2[180]}</TD><TD>{Rp[180]}</TD><TD>{R[180]}</TD></TR>",
71 => "<TR CLASS=\"LIGNE1\"><TH>Résultat net </TH><TD>{Rp2[010]}</TD><TD>{Rp[010]}</TD><TD>{R[010]}</TD></TR>",
),
20012420 => array(
1 => "<BR>Ci-dessous la comparaison des Chiffres d'affaires, Marge brute et Résultat.",
10 => "{GRAPH(\"CA,Marge,Résultat\",R[005]#T,R[122]#T,R[010]#T)}",
),
20020100 => array(
0 => "<H3> Multiple du Chiffre d'affaires",
51 => "Selon la méthode du multiple du Chiffre d'affaires l'estimation se situe entre {VAL970_EU} et {VAL971_EU}.",
),
20020110 => array(
1 => "<BR>Ci-dessous l'évolution du chiffre d'affaires.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Chiffre d'affaires\",R[006]#H)}",
),
20021200 => array(
0 => "<H3> Méthode de la valeur patrimoniale",
10 => "La valeur patrimoniale correspond souvent à la valeur plancher de l'entreprise.",
51 => "La fourchette de notre estimation selon la méthode de la valeur patrimoniale s'établit entre {VAL978_EU} et {VAL979_EU}.",
),
20021210 => array(
1 => "<BR>Ci-dessous l'évolution de l'actif immobilisé net.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Actif Immobilisé NET\",R[059]#H)}",
),
20022200 => array(
0 => "<H3> Méthode de la valeur de productivité",
51 => "La méthode de la valeur de la productivité est l'expression de la rentabilité de lentreprise au travers la capitalisation du benéfice corrigé des dotations. Elle débouche sur une valorisation entre {VAL974_EU} et {VAL975_EU}.",
),
20022210 => array(
1 => "<BR>Ci-dessous l'évolution du Résultat Courant Avant Impôts.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"RCAI\",R[008]#H)}",
),
20022500 => array(
0 => "<H3> Méthode de la valeur du rendement",
11 => "Cette méthode se fonde sur le bénéfice distribué, elle ne se conçoit quà légard dentreprises sociétaires qui pratiquent une politique régulière de distribution.",
51 => "Le résultat de la méthode de la valeur du rendement se situe entre {VAL982_EU} et {VAL983_EU}.",
),
20022510 => array(
1 => "<BR>Ci-dessous l'évolution des dividendes distribués.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Dividendes distribués\",R[529]#H)}",
),
20023100 => array(
0 => "<H3> Multiple du Bénéfice",
10 => "On peux considérer quune entreprise vaut par sa rentabilité, sur la base dun multiple de ses résultats. Le bénéfice à retenir est établi à partir du résultat net courant (résultat courant avant impôt, minoré de limpôt sur les sociétés), afin déliminer les éléments exceptionnels affectant le résultat net comptable.",
51 => "Par la méthode du multiple du Bénéfice l'entreprise est valorisée entre {VAL984_EU} et {VAL985_EU}.",
),
20023110 => array(
1 => "<BR>Ci-dessous l'évolution du bénéfice réel (RCAI-impôts).",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Bénéfice réel\",R[318]#H)}",
),
20025200 => array(
0 => "<H3> Multiple de l'EBE",
10 => "Cette méthode repose sur une évaluation globale de lentreprise prenant en compte lendettement financier de la société.",
20 => "La valorisation par l'EBE conduit à une fourchette de valeurs entre {VAL986_EU} et {VAL987_EU}.",
),
20025210 => array(
1 => "<BR>Ci-dessous l'évolution de l'Excédent Brut d'Exploitation.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"EBE\",R[301]#H)}",
),
20026100 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
11 => "La présence de terrains dans une forte proportion élargit la fourchette de l'estimation. ",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026101 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026110 => array(
1 => "<BR>Ci-dessous l'évolution de la Marge Brute d'Autofinancement.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"MBA\",R[333]#H)}",
),
20027100 => array(
0 => "<H3> La méthode par comparaison",
),
20028100 => array(
0 => "<H3> La méthode dévaluation par la Situation Nette Comptable (SNC)",
20 => "Valorisation par la Situation Nette Comptable entre {VAL976_EU} et {VAL977_EU}.",
),
20028110 => array(
1 => "<BR>Ci-dessous l'évolution de la Situation Nette Comptable.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Situation nette\",R[091]#H)}",
),
20050100 => array(
10 => "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :",
),
20080201 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>",
),
20080210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Valeur patrimoniale </TH><TD>{VAL978_EU}</TD><TD>{VAL979_EU}</TD></TR>",
),
20080215 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_EU}</TD><TD>{VAL971_EU}</TD></TR>",
),
20080217 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon la siuation nette comptable </TH><TD>{VAL976_EU}</TD><TD>{VAL977_EU}</TD></TR>",
),
20080220 => array(
21 => "<TR CLASS=\"LIGNE2\"><TH>Valeur de productivité </TH><TD>{VAL982_EU}</TD><TD>{VAL983_EU}</TD></TR>",
),
20080230 => array(
31 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation du bénéfice </TH><TD>{VAL984_EU}</TD><TD>{VAL985_EU}</TD></TR>",
),
20080240 => array(
41 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_EU}</TD><TD>{VAL987_EU}</TD></TR>",
),
20080250 => array(
51 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation selon la MBA </TH><TD>{VAL988_EU}</TD><TD>{VAL989_EU}</TD></TR>",
),
20080260 => array(
61 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_EU}</TD><TD>{VAL991_EU}</TD></TR>",
),
20080270 => array(
71 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux risqueurs </TH><TD>{VAL992_EU}</TD><TD>{VAL993_EU}</TD></TR>",
),
20080280 => array(
81 => "<TR CLASS=\"LIGNE2\"><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_EU}</TD><TD>{VAL995_EU}</TD></TR>",
),
20080290 => array(
81 => "<TR CLASS=\"TOTAL\"><TH>Comparative cessions profils similaires </TH><TD>{VAL996_EU}</TD><TD>{VAL997_EU}</TD></TR>",
),
20090310 => array(
0 => "<TABLE CLASS=\"TABLEAUHAUTBAS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> </TH><TH> estimation haute</TH></TR>",
11 => "<TR CLASS=\"BLANC\"><TD> </TD><TD CLASS=\"TOTAL\">{VAL999_EU}</TD></TR>",
12 => "<TR CLASS=\"TITRES\"> <TH> estimation basse </TH><TH> </TH></TR>",
21 => "<TR CLASS=\"BLANC\"><TD CLASS=\"TOTAL\">{VAL998_EU} </TD><TD> </TD></TR>",
),
20090510 => array(
20 => "<LI> Les immobilisations corporelles doivent être réévaluées à leur valeur de marché et non comptable. ",
),
20090610 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme exigibles au moment de la cession.",
),
20090611 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court, moyen et long termes exigibles au moment de la cession.",
),
20090710 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières portées au bilan.",
),
20090711 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes fournisseurs portées au bilan.",
),
20090712 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières et fournisseurs portées au bilan.",
),
20090810 => array(
20 => "<BR>A noter qu'aucune provision ne figure au bilan.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090830 => array(
20 => "<BR> A noter que les provisions semblent anormalement limitées.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090840 => array(
20 => "<BR> A noter que les provisions semblent anormalement élevées.",
),
20090910 => array(
20 => "<LI> Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation. ",
),
100000100 => array(
0 => "<H1>PRESENTATION",
),
100001000 => array(
0 => "<H1>DIAGNOSTIC",
),
100002000 => array(
0 => "<H1>PATRIMOINE & RESULTATS",
),
100003000 => array(
0 => "<H2>BILANS",
),
100004000 => array(
0 => "<H2>COMPTE DE RESULTAT",
),
100005000 => array(
0 => "<H1>RETRAITEMENT",
),
100010000 => array(
0 => "<BLOC><H1>METHODES DE CALCUL",
99 => "</BLOC>",
),
100015000 => array(
0 => "<H2>Les méthodes retenues",
),
100016000 => array(
0 => "<H2>Pondération des méthodes",
),
100019000 => array(
0 => "<H1>CONCLUSION",
),
100019100 => array(
0 => "<H2>Observations",
),
);

View File

@ -0,0 +1,610 @@
<?php
/** Auto generated - 2015-09-20 18:32:15*/
return array(
100 => array(
1 => "Version 2.6",
),
5000 => array(
1 => "Valorisation de {NOMEN} en date du : {JOUR_DATE}",
),
7000 => array(
10 => "<LI><B>ENTREPRISE INACTIVE</B>",
),
7001 => array(
10 => "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>",
),
7002 => array(
10 => "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>",
),
7003 => array(
10 => "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)",
),
9995 => array(
1 => "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"
",
),
9996 => array(
1 => "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}
",
),
199000 => array(
0 => "Cette entreprise est une TPE à vocation principalement régionale.",
),
200000 => array(
0 => "Cette entreprise est une PME à vocation principalement régionale.",
),
201000 => array(
0 => "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}",
),
202000 => array(
0 => "L' entreprise \"{NOMEN}\" est une entreprise importante au sein du bassin économique régional.",
),
203000 => array(
0 => "Cette entreprise est une PME majeure au sein de la région {RPEN}.",
),
204000 => array(
0 => "C'est une des premières entreprises françaises.",
),
205000 => array(
0 => "C'est une PME qui compte dans le département {DEPSIE}.",
),
205099 => array(
0 => "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).",
),
205200 => array(
0 => "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.",
),
735100 => array(
0 => "<B>Projection du CA sur 3 ans:</B>",
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit une tendance à la hausse de {CA_TAUX}.<BR>",
),
735110 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion (dont la dernière le {ANNONCEFUSDATE}) ont dopé le Chiffre d'Affaires.</FONT>",
),
735111 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car une fusion absoption intervenue le {ANNONCEFUSDATE}) a dopé le Chiffre d'Affaires.</FONT>",
),
735112 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion ont dopé le Chiffre d'Affaires.</FONT>",
),
735200 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit tendance à la baisse de {CA_TAUX}.<BR>",
),
735300 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur une stabilité du CA avec une valeur de {CA_Y[3]} en {BILANANNEE3}.<BR>",
),
735500 => array(
9 => "COULEUR(VER3,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du CA et projection sur 3 ans\",R[006]#H,CA_Y#L)}",
),
735930 => array(
10 => "Notre estimation à 3 ans table sur un Résultat Courant avant Impôts de {RCAI_Y[3]} en {BILANANNEE3}.<BR>",
20 => "Le taux de pertinence de notre projection est de {RCAI_TAUX}.",
),
735950 => array(
9 => "COULEUR(JAU1,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du RCAI et projection sur 3 ans\",R[008]#H,RCAI_Y#L)}",
),
2400101 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400102 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400103 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400109 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400111 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400112 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400119 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {MARCHEVOL}.",
),
2400121 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400122 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400123 => array(
10 => "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400124 => array(
10 => "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400125 => array(
10 => "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400126 => array(
10 => "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400200 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.",
),
2400210 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.",
),
2400300 => array(
10 => "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.",
),
2400310 => array(
10 => "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.",
),
2400410 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.",
),
2400420 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.",
),
2400430 => array(
10 => "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.",
),
3902100 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_VILLE_NB} affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902101 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902110 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_VILLE_EU}.",
),
3902111 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMIN_VILLE_EU}.",
),
3902130 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans la même localité pour un montant de {VENTEMAX_VILLE_EU}.",
),
3902131 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMAX_VILLE_EU}.",
),
3902200 => array(
10 => "<C.>, alors qu'on dénombre {VENTE_DEP_NB} cessions dans le département dans une fourchette de {VENTEMIN_DEP_EU} à {VENTEMAX_DEP_EU}.",
),
3902300 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_DEP_NB} affaires de la proche région se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902301 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du département se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902310 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_DEP_EU}.",
),
3902311 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du même département se sont négociées aux environs de {VENTEMIN_DEP_EU}.",
),
3902330 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans le même département pour un montant de {VENTEMAX_DEP_EU}.",
),
3902331 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la proche région se sont négociées aux environs de {VENTEMAX_DEP_EU}.",
),
3902900 => array(
10 => "(Sur l'ensemble du territoire, sur la même période, ce sont {VENTE_FRA_NB} ventes qui sont intervenues pour un montant moyen de {VENTEMOY_FRA_EU})",
),
3910001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTPLUS\" id=\"TABLEAUPLUS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3910100 => array(
10 => "<TR CLASS=\"VERT\"><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910101 => array(
10 => "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910120 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910121 => array(
10 => "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910130 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910131 => array(
10 => "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910135 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910136 => array(
10 => "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910140 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910141 => array(
10 => "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910145 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910150 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910151 => array(
10 => "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910155 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910156 => array(
10 => "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910160 => array(
10 => "<TR CLASS=\"VERT\"><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910161 => array(
10 => "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910170 => array(
10 => "<TR CLASS=\"VERT\"><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910171 => array(
10 => "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910180 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910181 => array(
10 => "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910190 => array(
10 => "<TR CLASS=\"VERT\"><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3910191 => array(
10 => "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3911001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTMOINS\" id=\"TABLEAUMOINS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3911100 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911101 => array(
10 => "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911110 => array(
10 => " <TR CLASS=\"ROUGE\"><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911111 => array(
10 => "<TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911120 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911121 => array(
10 => "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911130 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911131 => array(
10 => "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911145 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911150 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911151 => array(
10 => "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911160 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911161 => array(
10 => "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911170 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911171 => array(
10 => "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911180 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
3911181 => array(
10 => "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
20001000 => array(
10 => "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).",
30 => "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:",
31 => "<LI> celles qui relèvent dune approche patrimoniale.",
32 => "<LI> celles qui sappuient sur la rentabilité.",
33 => "<LI> celles qui découlent dune comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.",
50 => "L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.",
),
20011000 => array(
40 => "<BR>Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :",
),
20011900 => array(
0 => "<BR>",
10 => "<I>A noter que au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :",
20 => "<LI> Potentiel de développement.",
21 => "<LI> Positionnement sur son marché et concurrence.",
22 => "<LI> Lien de dépendance et impact du départ du dirigeant.",
23 => "<LI> Motivation et ambiance interne.",
30 => "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>",
),
20012000 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.",
),
20012001 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.",
),
20012002 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.",
),
20012100 => array(
0 => "<TABLE CLASS=\"TABLEAUBILAN\">",
1 => "<TR CLASS=\"TITRES\"> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012110 => array(
8 => "<TR CLASS=\"TOTAL\"><TH>Total Actif </TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>",
),
20012120 => array(
1 => "<TR CLASS=\"TOTAL\"><TH>Total Passif </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>",
),
20012200 => array(
0 => "<TABLE CLASS=\"TABLEAUSITUFI\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>",
51 => "<TR CLASS=\"TOTAL\"><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>",
),
20012220 => array(
1 => "<BR>Ci-dessous la comparaison des Fonds de Roulement, Besoin en fonds de Roulement & trésorerie.",
10 => "{GRAPH(\"Situation financière\",R[231]#T,R[232]#T,R[249]#T)}",
),
20012400 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Compte de Résultat </TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012410 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Chiffre d'affaires </TH><TD>{Rp2[005]}</TD><TD>{Rp[005]}</TD><TD>{R[005]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Marge commerciale </TH><TD>{Rp2[110]}</TD><TD>{Rp[110]}</TD><TD>{R[110]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Valeur ajoutée </TH><TD>{Rp2[130]}</TD><TD>{Rp[130]}</TD><TD>{R[130]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Excédent brut d'exploitation </TH><TD>{Rp2[140]}</TD><TD>{Rp[140]}</TD><TD>{R[140]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Résultat courant avant impôts </TH><TD>{Rp2[150]}</TD><TD>{Rp[150]}</TD><TD>{R[150]}</TD></TR>",
61 => "<TR CLASS=\"BLANC\"><TH>Résultat exceptionnel </TH><TD>{Rp2[180]}</TD><TD>{Rp[180]}</TD><TD>{R[180]}</TD></TR>",
71 => "<TR CLASS=\"LIGNE1\"><TH>Résultat net </TH><TD>{Rp2[010]}</TD><TD>{Rp[010]}</TD><TD>{R[010]}</TD></TR>",
),
20012420 => array(
1 => "<BR>Ci-dessous la comparaison des Chiffres d'affaires, Marge brute et Résultat.",
10 => "{GRAPH(\"CA,Marge,Résultat\",R[005]#T,R[122]#T,R[010]#T)}",
),
20020100 => array(
0 => "<H3> Multiple du Chiffre d'affaires",
10 => "Cette méthode, la plus connue et la plus simple, est principalement utilisée pour avaluer les fonds de commerce.",
45 => "En labsence de marché, lévaluation des éléments incorporels de ces fonds se fait selon une méthode forfaitaire, selon les performances et lactivité de lentreprise.",
51 => "Selon la méthode du multiple du Chiffre d'affaires l'estimation se situe entre {VAL970_EU} et {VAL971_EU}.",
),
20020110 => array(
1 => "<BR>Ci-dessous l'évolution du chiffre d'affaires.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Chiffre d'affaires\",R[006]#H)}",
),
20021200 => array(
0 => "<H3> Méthode de la valeur patrimoniale",
10 => "La valeur patrimoniale correspond souvent à la valeur plancher de l'entreprise.",
51 => "La fourchette de notre estimation selon la méthode de la valeur patrimoniale s'établit entre {VAL978_EU} et {VAL979_EU}.",
),
20021210 => array(
1 => "<BR>Ci-dessous l'évolution de l'actif immobilisé net.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Actif Immobilisé NET\",R[059]#H)}",
),
20022200 => array(
0 => "<H3> Méthode de la valeur de productivité",
51 => "La méthode de la valeur de la productivité est l'expression de la rentabilité de lentreprise au travers la capitalisation du benéfice corrigé des dotations. Elle débouche sur une valorisation entre {VAL974_EU} et {VAL975_EU}.",
),
20022210 => array(
1 => "<BR>Ci-dessous l'évolution du Résultat Courant Avant Impôts.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"RCAI\",R[008]#H)}",
),
20022500 => array(
0 => "<H3> Méthode de la valeur du rendement",
11 => "Cette méthode se fonde sur le bénéfice distribué, elle ne se conçoit quà légard dentreprises sociétaires qui pratiquent une politique régulière de distribution.",
51 => "Le résultat de la méthode de la valeur du rendement se situe entre {VAL982_EU} et {VAL983_EU}.",
),
20022510 => array(
1 => "<BR>Ci-dessous l'évolution des dividendes distribués.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Dividendes distribués\",R[529]#H)}",
),
20023100 => array(
0 => "<H3> Multiple du Bénéfice",
10 => "On peux considérer quune entreprise vaut par sa rentabilité, sur la base dun multiple de ses résultats. Le bénéfice à retenir est établi à partir du résultat net courant (résultat courant avant impôt, minoré de limpôt sur les sociétés), afin déliminer les éléments exceptionnels affectant le résultat net comptable.",
51 => "Par la méthode du multiple du Bénéfice l'entreprise est valorisée entre {VAL984_EU} et {VAL985_EU}.",
),
20023110 => array(
1 => "<BR>Ci-dessous l'évolution du bénéfice réel (RCAI-impôts).",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Bénéfice réel\",R[318]#H)}",
),
20025200 => array(
0 => "<H3> Multiple de l'EBE",
10 => "Cette méthode repose sur une évaluation globale de lentreprise prenant en compte lendettement financier de la société.",
20 => "La valorisation par l'EBE conduit à une fourchette de valeurs entre {VAL986_EU} et {VAL987_EU}.",
),
20025210 => array(
1 => "<BR>Ci-dessous l'évolution de l'Excédent Brut d'Exploitation.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"EBE\",R[301]#H)}",
),
20026100 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
11 => "La présence de terrains dans une forte proportion élargit la fourchette de l'estimation. ",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026101 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026110 => array(
1 => "<BR>Ci-dessous l'évolution de la Marge Brute d'Autofinancement.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"MBA\",R[333]#H)}",
),
20027100 => array(
0 => "<H3> Méthode par comparaison",
10 => "La méthode par comparaison repose sur le postulat que des sociétés comparables se valorisent sur des critères et des règles identiques. Cette approche consiste donc à établir des comparaisons avec des transactions intervenues sur le marché des fusions-acquisitions et de l'historique des ventes et cessions, d'entreprises du même profil dans la même région.",
20 => "Par l'étude des transactions récentes, la valeur de l'entreprise se situe entre {VAL996_EU} et {VAL997_EU}.",
),
20028100 => array(
0 => "<H3> Méthode dévaluation par la Situation Nette Comptable (SNC)",
1 => "Un des axes de l'évalutation peut s'appuyer sur la situation nette comptable (SNC) de la société, l'actif net, c'est-à-dire amorti, corrigé des dettes.",
20 => "Valorisation par la Situation Nette Comptable entre {VAL976_EU} et {VAL977_EU}.",
),
20028110 => array(
1 => "<BR>Ci-dessous l'évolution de la Situation Nette Comptable.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Situation nette\",R[091]#H)}",
),
20050100 => array(
10 => "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :",
),
20080201 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>",
),
20080210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Valeur patrimoniale </TH><TD>{VAL978_EU}</TD><TD>{VAL979_EU}</TD></TR>",
),
20080215 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_EU}</TD><TD>{VAL971_EU}</TD></TR>",
),
20080217 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon la siuation nette comptable </TH><TD>{VAL976_EU}</TD><TD>{VAL977_EU}</TD></TR>",
),
20080220 => array(
21 => "<TR CLASS=\"LIGNE2\"><TH>Valeur de productivité </TH><TD>{VAL982_EU}</TD><TD>{VAL983_EU}</TD></TR>",
),
20080230 => array(
31 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation du bénéfice </TH><TD>{VAL984_EU}</TD><TD>{VAL985_EU}</TD></TR>",
),
20080240 => array(
41 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_EU}</TD><TD>{VAL987_EU}</TD></TR>",
),
20080250 => array(
51 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation selon la MBA </TH><TD>{VAL988_EU}</TD><TD>{VAL989_EU}</TD></TR>",
),
20080260 => array(
61 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_EU}</TD><TD>{VAL991_EU}</TD></TR>",
),
20080270 => array(
71 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux risqueurs </TH><TD>{VAL992_EU}</TD><TD>{VAL993_EU}</TD></TR>",
),
20080280 => array(
81 => "<TR CLASS=\"LIGNE2\"><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_EU}</TD><TD>{VAL995_EU}</TD></TR>",
),
20080290 => array(
81 => "<TR CLASS=\"TOTAL\"><TH>Comparative cessions profils similaires </TH><TD>{VAL996_EU}</TD><TD>{VAL997_EU}</TD></TR>",
),
20090310 => array(
0 => "<TABLE CLASS=\"TABLEAUHAUTBAS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> </TH><TH> estimation haute</TH></TR>",
11 => "<TR CLASS=\"BLANC\"><TD> </TD><TD CLASS=\"TOTAL\">{VAL999_EU}</TD></TR>",
12 => "<TR CLASS=\"TITRES\"> <TH> estimation basse </TH><TH> </TH></TR>",
21 => "<TR CLASS=\"BLANC\"><TD CLASS=\"TOTAL\">{VAL998_EU} </TD><TD> </TD></TR>",
),
20090510 => array(
20 => "<LI> Les immobilisations corporelles doivent être réévaluées à leur valeur de marché et non comptable. ",
),
20090610 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme exigibles au moment de la cession.",
),
20090611 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court, moyen et long termes exigibles au moment de la cession.",
),
20090710 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières portées au bilan.",
),
20090711 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes fournisseurs portées au bilan.",
),
20090712 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières et fournisseurs portées au bilan.",
),
20090810 => array(
20 => "<BR>A noter qu'aucune provision ne figure au bilan.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090830 => array(
20 => "<BR> A noter que les provisions semblent anormalement limitées.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090840 => array(
20 => "<BR> A noter que les provisions semblent anormalement élevées.",
),
20090910 => array(
20 => "<LI> Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation. ",
),
100000100 => array(
0 => "<H1>PRESENTATION",
),
100001000 => array(
0 => "<H1>DIAGNOSTIC",
),
100002000 => array(
0 => "<H1>PATRIMOINE & RESULTATS",
),
100003000 => array(
0 => "<H2>BILANS",
),
100004000 => array(
0 => "<H2>COMPTE DE RESULTAT",
),
100005000 => array(
0 => "<H1>RETRAITEMENT",
),
100010000 => array(
0 => "<BLOC><H1>METHODES DE CALCUL",
99 => "</BLOC>",
),
100015000 => array(
0 => "<H2>Les méthodes retenues",
),
100016000 => array(
0 => "<H2>Pondération des méthodes",
),
100019000 => array(
0 => "<H1>CONCLUSION",
),
100019100 => array(
0 => "<H2>Observations",
),
);

View File

@ -0,0 +1,609 @@
<?php
/** Auto generated - 2015-09-20 18:32:15*/
return array(
100 => array(
1 => "Version 2.8",
),
5000 => array(
1 => "Valorisation de {NOMEN} en date du : {JOUR_DATE}",
),
7000 => array(
10 => "<LI><B>ENTREPRISE INACTIVE</B>",
),
7001 => array(
10 => "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>",
),
7002 => array(
10 => "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>",
),
7003 => array(
10 => "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)",
),
9995 => array(
1 => "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"
",
),
9996 => array(
1 => "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}
",
),
199000 => array(
0 => "Cette entreprise est une TPE à vocation principalement régionale.",
),
200000 => array(
0 => "Cette entreprise est une PME à vocation principalement régionale.",
),
201000 => array(
0 => "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}",
),
202000 => array(
0 => "L' entreprise \"{NOMEN}\" est une entreprise importante au sein du bassin économique régional.",
),
203000 => array(
0 => "Cette entreprise est une PME majeure au sein de la région {RPEN}.",
),
204000 => array(
0 => "C'est une des premières entreprises françaises.",
),
205000 => array(
0 => " C'est une PME qui compte dans le département {DEPSIE}.",
),
205099 => array(
0 => "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).",
),
205200 => array(
0 => "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.",
),
735100 => array(
0 => "<B>Projection du CA sur 3 ans:</B>",
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit une tendance à la hausse de {CA_TAUX}.<BR>",
),
735110 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion (dont la dernière le {ANNONCEFUSDATE}) ont dopé le Chiffre d'Affaires.</FONT>",
),
735111 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car une fusion absoption intervenue le {ANNONCEFUSDATE}) a dopé le Chiffre d'Affaires.</FONT>",
),
735112 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion ont dopé le Chiffre d'Affaires.</FONT>",
),
735200 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit tendance à la baisse de {CA_TAUX}.<BR>",
),
735300 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur une stabilité du CA avec une valeur de {CA_Y[3]} en {BILANANNEE3}.<BR>",
),
735500 => array(
9 => "COULEUR(VER3,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du CA et projection sur 3 ans\",R[006]#H,CA_Y#L)}",
),
735930 => array(
10 => "Notre estimation à 3 ans table sur un Résultat Courant avant Impôts de {RCAI_Y[3]} en {BILANANNEE3}.<BR>",
20 => "Le taux de pertinence de notre projection est de {RCAI_TAUX}.",
),
735950 => array(
9 => "COULEUR(JAU1,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du RCAI et projection sur 3 ans\",R[008]#H,RCAI_Y#L)}",
),
2400101 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400102 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400103 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400109 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400111 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400112 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400119 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {MARCHEVOL}.",
),
2400121 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400122 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400123 => array(
10 => "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400124 => array(
10 => "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400125 => array(
10 => "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400126 => array(
10 => "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400200 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.",
),
2400210 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.",
),
2400300 => array(
10 => "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.",
),
2400310 => array(
10 => "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.",
),
2400410 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.",
),
2400420 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.",
),
2400430 => array(
10 => "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.",
),
3902100 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_VILLE_NB} affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902101 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902110 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_VILLE_EU}.",
),
3902111 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMIN_VILLE_EU}.",
),
3902130 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans la même localité pour un montant de {VENTEMAX_VILLE_EU}.",
),
3902131 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMAX_VILLE_EU}.",
),
3902200 => array(
10 => "<C.>, alors qu'on dénombre {VENTE_DEP_NB} cessions dans le département dans une fourchette de {VENTEMIN_DEP_EU} à {VENTEMAX_DEP_EU}.",
),
3902300 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_DEP_NB} affaires de la proche région se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902301 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du département se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902310 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_DEP_EU}.",
),
3902311 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du même département se sont négociées aux environs de {VENTEMIN_DEP_EU}.",
),
3902330 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans le même département pour un montant de {VENTEMAX_DEP_EU}.",
),
3902331 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la proche région se sont négociées aux environs de {VENTEMAX_DEP_EU}.",
),
3902900 => array(
10 => "(Sur l'ensemble du territoire, sur la même période, ce sont {VENTE_FRA_NB} ventes qui sont intervenues pour un montant moyen de {VENTEMOY_FRA_EU})",
),
3910001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTPLUS\" id=\"TABLEAUPLUS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3910100 => array(
10 => "<TR CLASS=\"VERT\"><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910101 => array(
10 => "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910120 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910121 => array(
10 => "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910130 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910131 => array(
10 => "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910135 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910136 => array(
10 => "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910140 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910141 => array(
10 => "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910145 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910150 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910151 => array(
10 => "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910155 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910156 => array(
10 => "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910160 => array(
10 => "<TR CLASS=\"VERT\"><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910161 => array(
10 => "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910170 => array(
10 => "<TR CLASS=\"VERT\"><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910171 => array(
10 => "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910180 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910181 => array(
10 => "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910190 => array(
10 => "<TR CLASS=\"VERT\"><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3910191 => array(
10 => "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3911001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTMOINS\" id=\"TABLEAUMOINS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3911100 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911101 => array(
10 => "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911110 => array(
10 => " <TR CLASS=\"ROUGE\"><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911111 => array(
10 => " <TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911120 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911121 => array(
10 => "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911130 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911131 => array(
10 => "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911145 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911150 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911151 => array(
10 => "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911160 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911161 => array(
10 => "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911170 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911171 => array(
10 => "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911180 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
3911181 => array(
10 => "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
20001000 => array(
10 => "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).",
30 => "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:",
31 => "<LI> celles qui relèvent d'une approche patrimoniale.",
32 => "<LI> celles qui s'appuient sur la rentabilité.",
33 => "<LI> celles qui découlent d'une comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.",
50 => "L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.",
),
20011000 => array(
40 => "<BR>Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :",
),
20011900 => array(
0 => "<BR>",
10 => "<I>A noter que au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :",
20 => "<LI> Potentiel de développement.",
21 => "<LI> Positionnement sur son marché et concurrence.",
22 => "<LI> Lien de dépendance et impact du départ du dirigeant.",
23 => "<LI> Motivation et ambiance interne.",
30 => "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>",
),
20012000 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.",
),
20012001 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.",
),
20012002 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.",
),
20012100 => array(
0 => "<TABLE CLASS=\"TABLEAUBILAN\">",
1 => "<TR CLASS=\"TITRES\"> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012110 => array(
8 => "<TR CLASS=\"TOTAL\"><TH>Total Actif </TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>",
),
20012120 => array(
1 => "<TR CLASS=\"TOTAL\"><TH>Total Passif </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>",
),
20012200 => array(
0 => "<TABLE CLASS=\"TABLEAUSITUFI\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>",
51 => "<TR CLASS=\"TOTAL\"><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>",
),
20012220 => array(
1 => "<BR>Ci-dessous la comparaison des Fonds de Roulement, Besoin en fonds de Roulement & trésorerie.",
10 => "{GRAPH(\"Situation financière\",R[231]#T,R[232]#T,R[249]#T)}",
),
20012400 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Compte de Résultat </TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012410 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Chiffre d'affaires </TH><TD>{Rp2[005]}</TD><TD>{Rp[005]}</TD><TD>{R[005]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Marge commerciale </TH><TD>{Rp2[110]}</TD><TD>{Rp[110]}</TD><TD>{R[110]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Valeur ajoutée </TH><TD>{Rp2[130]}</TD><TD>{Rp[130]}</TD><TD>{R[130]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Excédent brut d'exploitation </TH><TD>{Rp2[140]}</TD><TD>{Rp[140]}</TD><TD>{R[140]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Résultat courant avant impôts </TH><TD>{Rp2[150]}</TD><TD>{Rp[150]}</TD><TD>{R[150]}</TD></TR>",
61 => "<TR CLASS=\"BLANC\"><TH>Résultat exceptionnel </TH><TD>{Rp2[180]}</TD><TD>{Rp[180]}</TD><TD>{R[180]}</TD></TR>",
71 => "<TR CLASS=\"LIGNE1\"><TH>Résultat net </TH><TD>{Rp2[010]}</TD><TD>{Rp[010]}</TD><TD>{R[010]}</TD></TR>",
),
20012420 => array(
1 => "<BR>Ci-dessous la comparaison des Chiffres d'affaires, Marge brute et Résultat.",
10 => "{GRAPH(\"CA,Marge,Résultat\",R[005]#T,R[122]#T,R[010]#T)}",
),
20020100 => array(
0 => "<H3> Multiple du Chiffre d'affaires",
10 => "Cette méthode, la plus connue et la plus simple, est principalement utilisée pour avaluer les fonds de commerce.",
45 => "En l'absence de marché, l'évaluation des éléments incorporels de ces fonds se fait selon une méthode forfaitaire, selon les performances et l'activité de l'entreprise.",
51 => "Selon la méthode du multiple du Chiffre d'affaires l'estimation se situe entre {VAL970_EU} et {VAL971_EU}.",
),
20020110 => array(
1 => "<BR>Ci-dessous l'évolution du chiffre d'affaires.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Chiffre d'affaires\",R[006]#H)}",
),
20021200 => array(
0 => "<H3> Méthode de la valeur patrimoniale",
10 => "La valeur patrimoniale correspond souvent à la valeur plancher de l'entreprise.",
51 => "La fourchette de notre estimation selon la méthode de la valeur patrimoniale s'établit entre {VAL978_EU} et {VAL979_EU}.",
),
20021210 => array(
1 => "<BR>Ci-dessous l'évolution de l'actif immobilisé net.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Actif Immobilisé NET\",R[059]#H)}",
),
20022200 => array(
0 => "<H3> Méthode de la valeur de productivité",
51 => "La méthode de la valeur de la productivité est l'expression de la rentabilité de l'entreprise au travers la capitalisation du benéfice corrigé des dotations. Elle débouche sur une valorisation entre {VAL974_EU} et {VAL975_EU}.",
),
20022210 => array(
1 => "<BR>Ci-dessous l'évolution du Résultat Courant Avant Impôts.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"RCAI\",R[008]#H)}",
),
20022500 => array(
0 => "<H3> Méthode de la valeur du rendement",
11 => "Cette méthode se fonde sur le bénéfice distribué, elle ne se conçoit qu'à l'égard d'entreprises sociétaires qui pratiquent une politique régulière de distribution.",
51 => "Le résultat de la méthode de la valeur du rendement se situe entre {VAL982_EU} et {VAL983_EU}.",
),
20022510 => array(
1 => "<BR>Ci-dessous l'évolution des dividendes distribués.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Dividendes distribués\",R[529]#H)}",
),
20023100 => array(
0 => "<H3> Multiple du Bénéfice",
10 => "On peux considérer qu'une entreprise vaut par sa rentabilité, sur la base d'un multiple de ses résultats. Le bénéfice à retenir est établi à partir du résultat net courant (résultat courant avant impôt, minoré de l'impôt sur les sociétés), afin d'éliminer les éléments exceptionnels affectant le résultat net comptable.",
51 => "Par la méthode du multiple du Bénéfice l'entreprise est valorisée entre {VAL984_EU} et {VAL985_EU}.",
),
20023110 => array(
1 => "<BR>Ci-dessous l'évolution du bénéfice réel (RCAI-impôts).",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Bénéfice réel\",R[318]#H)}",
),
20025200 => array(
0 => "<H3> Multiple de l'EBE",
10 => "Cette méthode repose sur une évaluation globale de l'entreprise prenant en compte l'endettement financier de la société.",
20 => "La valorisation par l'EBE conduit à une fourchette de valeurs entre {VAL986_EU} et {VAL987_EU}.",
),
20025210 => array(
1 => "<BR>Ci-dessous l'évolution de l'Excédent Brut d'Exploitation.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"EBE\",R[301]#H)}",
),
20026100 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
11 => "La présence de terrains dans une forte proportion élargit la fourchette de l'estimation. ",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026101 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026110 => array(
1 => "<BR>Ci-dessous l'évolution de la Marge Brute d'Autofinancement.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"MBA\",R[333]#H)}",
),
20027100 => array(
0 => "<H3> Méthode par comparaison",
10 => "La méthode par comparaison repose sur le postulat que des sociétés comparables se valorisent sur des critères et des règles identiques. Cette approche consiste donc à établir des comparaisons avec des transactions intervenues sur le marché des fusions-acquisitions et de l'historique des ventes et cessions, d'entreprises du même profil dans la même région.",
20 => "Par l'étude des transactions récentes, la valeur de l'entreprise se situe entre {VAL996_EU} et {VAL997_EU}.",
),
20028100 => array(
0 => "<H3> Méthode d'évaluation par la Situation Nette Comptable (SNC)",
1 => "Un des axes de l'évalutation peut s'appuyer sur la situation nette comptable (SNC) de la société, l'actif net, c'est-à-dire amorti, corrigé des dettes.",
20 => "Valorisation par la Situation Nette Comptable entre {VAL976_EU} et {VAL977_EU}.",
),
20028110 => array(
1 => "<BR>Ci-dessous l'évolution de la Situation Nette Comptable.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Situation nette\",R[091]#H)}",
),
20050100 => array(
10 => "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :",
),
20080201 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>",
),
20080210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Valeur patrimoniale </TH><TD>{VAL978_EU}</TD><TD>{VAL979_EU}</TD></TR>",
),
20080215 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_EU}</TD><TD>{VAL971_EU}</TD></TR>",
),
20080217 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon la siuation nette comptable </TH><TD>{VAL976_EU}</TD><TD>{VAL977_EU}</TD></TR>",
),
20080220 => array(
21 => "<TR CLASS=\"LIGNE2\"><TH>Valeur de productivité </TH><TD>{VAL982_EU}</TD><TD>{VAL983_EU}</TD></TR>",
),
20080230 => array(
31 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation du bénéfice </TH><TD>{VAL984_EU}</TD><TD>{VAL985_EU}</TD></TR>",
),
20080240 => array(
41 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_EU}</TD><TD>{VAL987_EU}</TD></TR>",
),
20080250 => array(
51 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation selon la MBA </TH><TD>{VAL988_EU}</TD><TD>{VAL989_EU}</TD></TR>",
),
20080260 => array(
61 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_EU}</TD><TD>{VAL991_EU}</TD></TR>",
),
20080270 => array(
71 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux risqueurs </TH><TD>{VAL992_EU}</TD><TD>{VAL993_EU}</TD></TR>",
),
20080280 => array(
81 => "<TR CLASS=\"LIGNE2\"><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_EU}</TD><TD>{VAL995_EU}</TD></TR>",
),
20080290 => array(
81 => "<TR CLASS=\"TOTAL\"><TH>Comparative cessions profils similaires </TH><TD>{VAL996_EU}</TD><TD>{VAL997_EU}</TD></TR>",
),
20090310 => array(
0 => "<TABLE CLASS=\"TABLEAUHAUTBAS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> </TH><TH> estimation haute</TH></TR>",
11 => "<TR CLASS=\"BLANC\"><TD> </TD><TD CLASS=\"TOTAL\">{VAL999_EU}</TD></TR>",
12 => "<TR CLASS=\"TITRES\"> <TH> estimation basse </TH><TH> </TH></TR>",
21 => "<TR CLASS=\"BLANC\"><TD CLASS=\"TOTAL\">{VAL998_EU} </TD><TD> </TD></TR>",
),
20090510 => array(
20 => "<LI> Les immobilisations corporelles doivent être réévaluées à leur valeur de marché et non comptable. ",
),
20090610 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme exigibles au moment de la cession.",
),
20090611 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court, moyen et long termes exigibles au moment de la cession.",
),
20090710 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières portées au bilan.",
),
20090711 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes fournisseurs portées au bilan.",
),
20090712 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières et fournisseurs portées au bilan.",
),
20090810 => array(
20 => "<BR>A noter qu'aucune provision ne figure au bilan.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090830 => array(
20 => "<BR> A noter que les provisions semblent anormalement limitées.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090840 => array(
20 => "<BR> A noter que les provisions semblent anormalement élevées.",
),
20090910 => array(
20 => "<LI> Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation. ",
),
100000100 => array(
0 => "<H1>PRESENTATION",
),
100001000 => array(
0 => "<H1>DIAGNOSTIC",
),
100002000 => array(
0 => "<H1>PATRIMOINE & RESULTATS",
),
100003000 => array(
0 => "<H2>BILANS",
),
100004000 => array(
0 => "<H2>COMPTE DE RESULTAT",
),
100005000 => array(
0 => "<H1>RETRAITEMENT",
),
100010000 => array(
0 => "<H1>METHODES DE CALCUL",
),
100015000 => array(
0 => "<H2>Les méthodes retenues",
),
100016000 => array(
0 => "<H2>Pondération des méthodes",
),
100019000 => array(
0 => "<H1>CONCLUSION",
),
100019100 => array(
0 => "<H2>Observations",
),
);

View File

@ -0,0 +1,558 @@
<?php
/** Auto generated - 2015-09-20 18:32:29*/
return array(
100 => array(
1 => "Version 2.09",
),
5000 => array(
1 => "<BR>Valorisation de {NOMEN} en date du : {JOUR_DATE}",
),
7000 => array(
10 => "<LI><B>ENTREPRISE INACTIVE</B>",
),
7001 => array(
10 => "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>",
),
7002 => array(
10 => "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>",
),
7003 => array(
10 => "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)",
),
9995 => array(
1 => "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"",
),
9996 => array(
1 => "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}",
),
199000 => array(
0 => "Cette entreprise est une TPE à vocation principalement régionale.",
),
200000 => array(
0 => "Cette entreprise est une PME à vocation principalement régionale.",
),
201000 => array(
0 => "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}",
),
202000 => array(
0 => "L' entreprise \"{NOMEN}\" est une entreprise importante au sein du bassin économique régional.",
),
203000 => array(
0 => "Cette entreprise est une PME majeure au sein de la région {RPEN}.",
),
204000 => array(
0 => "C'est une des premières entreprises françaises.",
),
205000 => array(
0 => " C'est une PME qui compte dans le département {DEPSIE}.",
),
205099 => array(
0 => "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).",
),
205200 => array(
0 => "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.",
),
735100 => array(
0 => "<B>Projection du CA sur 3 ans:</B>",
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit une tendance à la hausse de {CA_TAUX}.<BR>",
),
735110 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion (dont la dernière le {ANNONCEFUSDATE}) ont dopé le Chiffre d'Affaires.</FONT>",
),
735111 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car une fusion absoption intervenue le {ANNONCEFUSDATE}) a dopé le Chiffre d'Affaires.</FONT>",
),
735112 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion ont dopé le Chiffre d'Affaires.</FONT>",
),
735200 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit tendance à la baisse de {CA_TAUX}.<BR>",
),
735300 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur une stabilité du CA avec une valeur de {CA_Y[3]} en {BILANANNEE3}.<BR>",
),
735500 => array(
9 => "COULEUR(VER3,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du CA et projection sur 3 ans\",R[006]#H,CA_Y#L)}",
),
735930 => array(
10 => "Notre estimation à 3 ans table sur un Résultat Courant avant Impôts de {RCAI_Y[3]} en {BILANANNEE3}.<BR>",
20 => "Le taux de pertinence de notre projection est de {RCAI_TAUX}.",
),
735950 => array(
9 => "COULEUR(JAU1,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du RCAI et projection sur 3 ans\",R[008]#H,RCAI_Y#L)}",
),
2400101 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400102 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400103 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400109 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400111 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400112 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400119 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400121 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400122 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400123 => array(
10 => "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400124 => array(
10 => "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400125 => array(
10 => "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400126 => array(
10 => "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400200 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.",
),
2400210 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.",
),
2400300 => array(
10 => "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.",
),
2400310 => array(
10 => "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.",
),
2400410 => array(
10 => "A noter qu'en terme d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.",
),
2400420 => array(
10 => "A noter qu'en terme d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.",
),
2400430 => array(
10 => "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.",
),
3910001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTPLUS\" id=\"TABLEAUPLUS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3910100 => array(
10 => "<TR CLASS=\"VERT\"><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910101 => array(
10 => "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910120 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910121 => array(
10 => "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910130 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910131 => array(
10 => "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910135 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910136 => array(
10 => "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910140 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910141 => array(
10 => "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910145 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910150 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910151 => array(
10 => "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910155 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910156 => array(
10 => "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910160 => array(
10 => "<TR CLASS=\"VERT\"><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910161 => array(
10 => "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910170 => array(
10 => "<TR CLASS=\"VERT\"><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910171 => array(
10 => "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910180 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910181 => array(
10 => "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910190 => array(
10 => "<TR CLASS=\"VERT\"><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3910191 => array(
10 => "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3911001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTMOINS\" id=\"TABLEAUMOINS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3911100 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911101 => array(
10 => "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911110 => array(
10 => " <TR CLASS=\"ROUGE\"><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911111 => array(
10 => " <TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911120 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911121 => array(
10 => "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911130 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911131 => array(
10 => "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911145 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911150 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911151 => array(
10 => "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911160 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911161 => array(
10 => "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911170 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911171 => array(
10 => "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911180 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
3911181 => array(
10 => "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
20001000 => array(
10 => "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).",
30 => "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:",
31 => "<LI> celles qui relèvent d'une approche patrimoniale.",
32 => "<LI> celles qui s'appuient sur la rentabilité.",
33 => "<LI> celles qui découlent d'une comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.",
50 => "<BR>L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.<BR>",
),
20011000 => array(
40 => "<BR>Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :",
),
20011900 => array(
0 => "<BR>",
10 => "<I>Au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :",
20 => "<LI> Potentiel de développement.",
21 => "<LI> Positionnement sur son marché et concurrence.",
22 => "<LI> Lien de dépendance et impact du départ du dirigeant.",
23 => "<LI> Motivation et ambiance interne.",
30 => "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>",
),
20012000 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.",
),
20012001 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.",
),
20012002 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.",
),
20012100 => array(
0 => "<TABLE CLASS=\"TABLEAUBILAN\">",
1 => "<TR CLASS=\"TITRES\"> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012110 => array(
8 => "<TR CLASS=\"TOTAL\"><TH>Total Actif Circulant</TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>",
),
20012120 => array(
1 => "<TR CLASS=\"TOTAL\"><TH>Total Bilan </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>",
),
20012200 => array(
0 => "<TABLE CLASS=\"TABLEAUSITUFI\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>",
51 => "<TR CLASS=\"TOTAL\"><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>",
),
20012220 => array(
1 => "<BR>Ci-dessous la comparaison des Fonds de Roulement, Besoin en fonds de Roulement & trésorerie.",
10 => "{GRAPH(\"Situation financière\",R[231]#T,R[232]#T,R[249]#T)}",
),
20012420 => array(
1 => "<BR>Ci-dessous la comparaison des Chiffres d'affaires, Marge brute et Résultat.",
10 => "{GRAPH(\"CA,Marge,Résultat\",R[005]#T,R[122]#T,R[010]#T)}",
),
20020100 => array(
0 => "<H2> Multiple du Chiffre d'affaires",
10 => "Cette méthode, la plus connue et la plus simple, est principalement utilisée pour avaluer les fonds de commerce.",
45 => "En l'absence de marché, l'évaluation des éléments incorporels de ces fonds se fait selon une méthode forfaitaire, selon les performances et l'activité de l'entreprise.",
51 => "<B>Selon la méthode du multiple du Chiffre d'affaires l'estimation se situe entre {VAL970_EU} et {VAL971_EU}.</B>",
),
20020110 => array(
1 => "<BR>Ci-dessous l'évolution du chiffre d'affaires.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Chiffre d'affaires\",R[006]#H)}",
),
20021200 => array(
0 => "<H2> Méthode de la valeur patrimoniale",
10 => "La valeur patrimoniale correspond souvent à la valeur plancher de l'entreprise.",
51 => "<B>La fourchette de notre estimation selon la méthode de la valeur patrimoniale s'établit entre {VAL978_EU} et {VAL979_EU}.</B>",
),
20021210 => array(
1 => "<BR>Ci-dessous l'évolution de l'actif immobilisé net.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Actif Immobilisé NET\",R[059]#H)}",
),
20022200 => array(
0 => "<H2> Méthode de la valeur de productivité",
51 => "La méthode de la valeur de la productivité est l'expression de la rentabilité de l'entreprise au travers la capitalisation du benéfice corrigé des dotations.",
52 => "<B>Elle débouche sur une valorisation entre {VAL974_EU} et {VAL975_EU}.</B>",
),
20022210 => array(
1 => "<BR>Ci-dessous l'évolution du Résultat Courant Avant Impôts.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"RCAI\",R[008]#H)}",
),
20022500 => array(
0 => "<H2> Méthode de la valeur du rendement",
11 => "Cette méthode se fonde sur le bénéfice distribué, elle ne se conçoit qu'à l'égard d'entreprises sociétaires qui pratiquent une politique régulière de distribution.",
51 => "<B>Le résultat de la méthode de la valeur du rendement se situe entre {VAL982_EU} et {VAL983_EU}.</B>",
),
20022510 => array(
1 => "<BR>Ci-dessous l'évolution des dividendes distribués.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Dividendes distribués\",R[529]#H)}",
),
20023100 => array(
0 => "<H2> Multiple du Bénéfice",
10 => "On peux considérer qu'une entreprise vaut par sa rentabilité, sur la base d'un multiple de ses résultats. Le bénéfice à retenir est établi à partir du résultat net courant (résultat courant avant impôt, minoré de l'impôt sur les sociétés), afin d'éliminer les éléments exceptionnels affectant le résultat net comptable.",
51 => "<B>Par la méthode du multiple du Bénéfice l'entreprise est valorisée entre {VAL984_EU} et {VAL985_EU}.</B>",
),
20023510 => array(
1 => "<BR>Ci-dessous l'évolution du bénéfice réel (RCAI-impôts).",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Bénéfice réel\",R[318]#H)}",
),
20025200 => array(
0 => "<H2> Multiple de l'EBE",
10 => "Cette méthode repose sur une évaluation globale de l'entreprise prenant en compte l'endettement financier de la société.",
20 => "<B>La valorisation par l'EBE conduit à une fourchette de valeurs entre {VAL986_EU} et {VAL987_EU}.</B>",
),
20025210 => array(
1 => "<BR>Ci-dessous l'évolution de l'Excédent Brut d'Exploitation.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"EBE\",R[301]#H)}",
),
20026100 => array(
0 => "<H2> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
20 => "<B>Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.</B>",
),
20026101 => array(
0 => "<H2> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
20 => "<B>Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.</B>",
),
20026109 => array(
11 => "<I>La fourchette de l'estimation est élargie du fait de la présence de terrains dans les actifs. ",
),
20026110 => array(
1 => "<BR>Ci-dessous l'évolution de la Marge Brute d'Autofinancement.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"MBA\",R[333]#H)}",
),
20027100 => array(
0 => "<H2> Méthode par comparaison",
10 => "La méthode par comparaison repose sur le postulat que des sociétés comparables se valorisent sur des critères et des règles identiques. Cette approche consiste donc à établir des comparaisons avec des transactions intervenues sur le marché des fusions-acquisitions et de l'historique des ventes et cessions, d'entreprises du même profil dans la même région.",
20 => "<B>D'après l'étude des transactions récentes d'entreprises similaires, la valeur se situerait dans la fourchette de {VAL996_EU} et {VAL997_EU}.</B>",
),
20028100 => array(
0 => "<H2> Méthode d'évaluation par la Situation Nette Comptable (SNC)",
1 => "Un des axes de l'évalutation peut s'appuyer sur la situation nette comptable (SNC) de la société, l'actif net, c'est-à-dire amorti et réactualisé, corrigé des dettes.",
20 => "<B>Valorisation par la Situation Nette Comptable entre {VAL976_EU} et {VAL977_EU}.</B>",
),
20028110 => array(
1 => "<BR>Ci-dessous l'évolution de la Situation Nette Comptable.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Situation nette\",R[091]#H)}",
),
20050100 => array(
10 => "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :",
),
20080201 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>",
),
20080210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Valeur patrimoniale </TH><TD>{VAL978_EU}</TD><TD>{VAL979_EU}</TD></TR>",
),
20080215 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_EU}</TD><TD>{VAL971_EU}</TD></TR>",
),
20080217 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon la siuation nette comptable </TH><TD>{VAL976_EU}</TD><TD>{VAL977_EU}</TD></TR>",
),
20080220 => array(
21 => "<TR CLASS=\"LIGNE2\"><TH>Valeur de productivité </TH><TD>{VAL982_EU}</TD><TD>{VAL983_EU}</TD></TR>",
),
20080230 => array(
31 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation du bénéfice </TH><TD>{VAL984_EU}</TD><TD>{VAL985_EU}</TD></TR>",
),
20080240 => array(
41 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_EU}</TD><TD>{VAL987_EU}</TD></TR>",
),
20080250 => array(
51 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation selon la MBA </TH><TD>{VAL988_EU}</TD><TD>{VAL989_EU}</TD></TR>",
),
20080260 => array(
61 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_EU}</TD><TD>{VAL991_EU}</TD></TR>",
),
20080270 => array(
71 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux risqueurs </TH><TD>{VAL992_EU}</TD><TD>{VAL993_EU}</TD></TR>",
),
20080280 => array(
81 => "<TR CLASS=\"LIGNE2\"><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_EU}</TD><TD>{VAL995_EU}</TD></TR>",
),
20080290 => array(
81 => "<TR CLASS=\"TOTAL\"><TH>Comparative cessions profils similaires </TH><TD>{VAL996_EU}</TD><TD>{VAL997_EU}</TD></TR>",
),
20090310 => array(
0 => "<TABLE CLASS=\"TABLEAUHAUTBAS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> </TH><TH> estimation haute</TH></TR>",
11 => "<TR CLASS=\"BLANC\"><TD> </TD><TD CLASS=\"TOTAL\">{VAL999_EU}</TD></TR>",
12 => "<TR CLASS=\"TITRES\"> <TH> estimation basse </TH><TH> </TH></TR>",
21 => "<TR CLASS=\"BLANC\"><TD CLASS=\"TOTAL\">{VAL998_EU} </TD><TD> </TD></TR>",
),
20090510 => array(
20 => "<LI> Les immobilisations corporelles ({R[052]}) doivent être réévaluées à leur valeur de marché.",
),
20090610 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme, d'un montant de {R[088]}, exigibles au moment de la cession.",
),
20090611 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme de {R[088]} et la part des dettes à moyen et long terme de {R[089]}, exigibles au moment de la cession.",
),
20090612 => array(
20 => "<LI> L'estimation finale devrait intégrer la part des dettes à moyen et long terme de {R[089]}, exigibles au moment de la cession.",
),
20090710 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières: {R[083]}, portées au bilan.",
),
20090711 => array(
20 => "<LI> On devra aussi vérifier l'exactitude des dettes fournisseurs de {R[084]}, portées au bilan.",
),
20090712 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières de {R[083]} et fournisseurs de {R[084]}, portées au bilan.",
),
20090810 => array(
20 => "<BR>A noter qu'aucune provision ne figure au bilan.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise, on pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090830 => array(
20 => "<BR> A noter que les provisions semblent anormalement limitées.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090840 => array(
20 => "<BR> A noter que les provisions semblent anormalement élevées.",
),
20090910 => array(
20 => "Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation. ",
),
100000100 => array(
0 => "<H1>PRESENTATION",
),
100001000 => array(
0 => "<H1>DIAGNOSTIC",
),
100002000 => array(
0 => "<H1>SITUATION FINANCIERE",
),
100003000 => array(
0 => "<H2>BILANS",
),
100004000 => array(
0 => "<H2>COMPTE DE RESULTAT",
),
100005000 => array(
0 => "<H1>RETRAITEMENT",
),
100010000 => array(
0 => "<H1>METHODES DE CALCUL",
),
100015000 => array(
0 => "<H2>Les méthodes retenues",
),
100016000 => array(
0 => "<H2>Pondération des méthodes",
),
100019000 => array(
0 => "<H1>CONCLUSION",
),
100019100 => array(
0 => "<H2>Observations",
),
);

View File

@ -0,0 +1,95 @@
<?php
/** Auto generated - 2015-09-20 18:32:29*/
return array(
100 => array(
1 => "TABLE(LINE(Version 2.09))",
),
5000 => array(
1 => "TABLE(LINE(Valorisation de {NOMEN} en date du : {JOUR_DATE}))",
),
7000 => array(
10 => "TABLE(LINE(ENTREPRISE INACTIVE))",
),
20001000 => array(
10 => "TABLE(LINE(Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers étudiés selon différentes méthodes et le cas échéant par comparaison avec les cessions d'entreprises similaires))",
),
20050100 => array(
10 => "TABLE(LINE(Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :))",
),
20080201 => array(
2 => "TABLE(LINE(Pondération des méthodes#Valeur mini#Valeur maxi)",
99 => ")",
),
20080210 => array(
11 => "LINE(Valeur patrimoniale#{VAL978_EU}#{VAL979_EU})",
),
20080215 => array(
11 => "LINE(Méthode par le Chiffre d'affaires#{VAL970_EU}#{VAL971_EU})",
),
20080217 => array(
11 => "LINE(Méthode par la Situation nette comptable#{VAL976_EU}#{VAL977_EU})",
),
20080220 => array(
21 => "LINE(Méthode par la Valeur de productivité#{VAL982_EU}#{VAL983_EU})",
),
20080230 => array(
31 => "LINE(Méthode par le Capitalisation du bénéfice#{VAL984_EU}#{VAL985_EU})",
),
20080240 => array(
41 => "LINE(Capitalisation selon l'EBE#{VAL986_EU}#{VAL987_EU})",
),
20080250 => array(
51 => "LINE(Capitalisation selon la MBA#{VAL988_EU}#{VAL989_EU})",
),
20080260 => array(
61 => "LINE(Capitalisation selon la CAF+Trésorerie#{VAL990_EU}#{VAL991_EU})",
),
20080270 => array(
71 => "LINE(Méthosde de Capitaux risqueurs#{VAL992_EU}#{VAL993_EU})",
),
20080280 => array(
81 => "LINE(Méthode Patrimoniale + GOODWILL#{VAL994_EU}#{VAL995_EU})",
),
20080290 => array(
81 => "LINE(Comparative cessions profils similaires#{VAL996_EU}#{VAL997_EU})",
),
20090310 => array(
2 => "TABLE(LINE(CONCLUSION #estimation haute)",
11 => "LINE( #{VAL999_EU})",
12 => "LINE(estimation basse# )",
21 => "LINE({VAL998_EU}# ))",
),
20090510 => array(
20 => "TABLE(LINE(Réévaluer les immobilisations corporelles ({R[052]}) à leur valeur de marché et non leur valeur comptable.))",
),
20090610 => array(
20 => "TABLE(LINE(Intégrer l'ensemble des dettes à court terme, ({R[088]}), exigibles au moment de la cession.))",
),
20090611 => array(
20 => "TABLE(LINE(Intégrer l'ensemble des dettes à court terme ({R[088]}) et la part des dettes à moyen et long terme ({R[089]}), exigibles au moment de la cession.))",
),
20090612 => array(
20 => "TABLE(LINE(Intégrer la part des dettes à moyen et long terme ({R[089]}), exigibles au moment de la cession.))",
),
20090710 => array(
20 => "TABLE(LINE(Vérifier l'exactitude des dettes financières (R[083]}), portées au bilan.))",
),
20090711 => array(
20 => "TABLE(LINE(Vérifier l'exactitude des dettes fournisseurs ({R[084]}), portées au bilan.))",
),
20090712 => array(
20 => "TABLE(LINE(Vérifier l'exactitude des dettes financières ({R[083]}) et fournisseurs ({R[084]}), portées au bilan.))",
),
20090810 => array(
20 => "TABLE(LINE(Aucune provision ne figure au bilan.))",
),
20090830 => array(
20 => "TABLE(LINE(Les provisions semblent anormalement limitées.))",
),
20090840 => array(
20 => "TABLE(LINE(Les provisions semblent anormalement élevées.))",
),
20090910 => array(
20 => "TABLE(LINE(Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation.)",
),
);

View File

@ -1,27 +1,27 @@
<?php
return array(
1991=>3.2,
1992=>2.4,
1993=>2.1,
1994=>1.7,
1995=>1.7,
1996=>2,
1997=>1.2,
1998=>0.7,
1999=>0.5,
2000=>1.7,
2001=>1.7,
2002=>1.9,
2003=>2.1,
2004=>2.1,
2005=>1.8,
2006=>1.6,
2007=>1.5,
2008=>2.8,
2009=>0.1,
2010=>1.5,
2011=>2.1,
2012=>2,
2013=>0.9,
2014=>1.4,
1991 => 3.2,
1992 => 2.4,
1993 => 2.1,
1994 => 1.7,
1995 => 1.7,
1996 => 2,
1997 => 1.2,
1998 => 0.7,
1999 => 0.5,
2000 => 1.7,
2001 => 1.7,
2002 => 1.9,
2003 => 2.1,
2004 => 2.1,
2005 => 1.8,
2006 => 1.6,
2007 => 1.5,
2008 => 2.8,
2009 => 0.1,
2010 => 1.5,
2011 => 2.1,
2012 => 2,
2013 => 0.9,
2014 => 1.4,
);

View File

@ -1,22 +1,22 @@
<?php
return array(
1994=>5.65,
1995=>5.29,
1996=>4.69,
1997=>4.93,
1998=>3.92,
1999=>3.99,
2000=>4.35,
2001=>3.35,
2002=>2.83,
2003=>2.68,
2004=>2.45,
2005=>2.46,
2006=>2.66,
2007=>2.86,
2008=>3.45,
2009=>2.81,
2010=>2.17,
2011=>1.7,
2012=>0,
1994 => 5.65,
1995 => 5.29,
1996 => 4.69,
1997 => 4.93,
1998 => 3.92,
1999 => 3.99,
2000 => 4.35,
2001 => 3.35,
2002 => 2.83,
2003 => 2.68,
2004 => 2.45,
2005 => 2.46,
2006 => 2.66,
2007 => 2.86,
2008 => 3.45,
2009 => 2.81,
2010 => 2.17,
2011 => 1.7,
2012 => 0,
);

View File

@ -0,0 +1,12 @@
<?php
return array(
196801 => 16.66,
196901 => 19.0,
197001 => 23.0,
197201 => 20.0,
197701 => 17.6,
198201 => 18.6,
199501 => 20.6,
200001 => 19.6,
201401 => 20.0,
);

View File

@ -84,11 +84,11 @@ return array(
'1140' => array('lib'=>"LES MUREAUX", 'art'=>"de LES MUREAUX"),
'1141' => array('lib'=>"MANTES LA JOLIE", 'art'=>"de MANTES LA JOLIE"),
'1142' => array('lib'=>"VERSAILLES", 'art'=>"de VERSAILLES"),
'1143' => array('lib'=>"ORSAY", 'art'=>"de ORSAY"),
'1144' => array('lib'=>"ORLY", 'art'=>"de ORLY"),
'1143' => array('lib'=>"ORSAY", 'art'=>"d'ORSAY"),
'1144' => array('lib'=>"ORLY", 'art'=>"d'ORLY"),
'1145' => array('lib'=>"DOURDAN", 'art'=>"de DOURDAN"),
'1146' => array('lib'=>"ETAMPES", 'art'=>"de ETAMPES"),
'1147' => array('lib'=>"EVRY", 'art'=>"de EVRY"),
'1146' => array('lib'=>"ETAMPES", 'art'=>"d'ETAMPES"),
'1147' => array('lib'=>"EVRY", 'art'=>"d'EVRY"),
'1148' => array('lib'=>"MELUN", 'art'=>"de MELUN"),
'1149' => array('lib'=>"FONTAINEBLEAU", 'art'=>"de FONTAINEBLEAU"),
'1150' => array('lib'=>"NEMOURS", 'art'=>"de NEMOURS"),
@ -101,19 +101,19 @@ return array(
'2101' => array('lib'=>"VALLEE DE LA MEUSE", 'art'=>"de VALLEE DE LA MEUSE"),
'2102' => array('lib'=>"REIMS", 'art'=>"de REIMS"),
'2103' => array('lib'=>"CHALONS EN CHAMPAGNE", 'art'=>"de CHALONS EN CHAMPAGNE"),
'2104' => array('lib'=>"EPERNAY", 'art'=>"de EPERNAY"),
'2104' => array('lib'=>"EPERNAY", 'art'=>"d'EPERNAY"),
'2105' => array('lib'=>"MARNE MOYENNE", 'art'=>"de MARNE MOYENNE"),
'2106' => array('lib'=>"SUD-OUEST CHAMPENOIS", 'art'=>"de SUD-OUEST CHAMPENOIS"),
'2107' => array('lib'=>"TROYES", 'art'=>"de TROYES"),
'2108' => array('lib'=>"HAUTE VALLEE DE LA MARNE", 'art'=>"de HAUTE VALLEE DE LA MARNE"),
'2202' => array('lib'=>"AMIENS", 'art'=>"de AMIENS"),
'2202' => array('lib'=>"AMIENS", 'art'=>"d'AMIENS"),
'2205' => array('lib'=>"CHATEAU-THIERRY", 'art'=>"de CHATEAU-THIERRY"),
'2206' => array('lib'=>"SUD OISE", 'art'=>"de SUD OISE"),
'2207' => array('lib'=>"SOISSONS", 'art'=>"de SOISSONS"),
'2208' => array('lib'=>"BEAUVAIS", 'art'=>"de BEAUVAIS"),
'2209' => array('lib'=>"COMPIEGNE", 'art'=>"de COMPIEGNE"),
'2210' => array('lib'=>"SANTERRE OISE", 'art'=>"de SANTERRE OISE"),
'2211' => array('lib'=>"ABBEVILLE PONTHIEU", 'art'=>"de ABBEVILLE PONTHIEU"),
'2211' => array('lib'=>"ABBEVILLE PONTHIEU", 'art'=>"d'ABBEVILLE PONTHIEU"),
'2212' => array('lib'=>"VIMEU", 'art'=>"de VIMEU"),
'2219' => array('lib'=>"SANTERRE SOMME", 'art'=>"de SANTERRE SOMME"),
'2231' => array('lib'=>"SAINT-QUENTIN", 'art'=>"de SAINT-QUENTIN"),
@ -132,27 +132,27 @@ return array(
'2322' => array('lib'=>"DIEPPE", 'art'=>"de DIEPPE"),
'2323' => array('lib'=>"LE HAVRE", 'art'=>"de LE HAVRE"),
'2324' => array('lib'=>"LILLEBONNE", 'art'=>"de LILLEBONNE"),
'2325' => array('lib'=>"EVREUX", 'art'=>"de EVREUX"),
'2325' => array('lib'=>"EVREUX", 'art'=>"d'EVREUX"),
'2411' => array('lib'=>"BOURGES", 'art'=>"de BOURGES"),
'2412' => array('lib'=>"VIERZON", 'art'=>"de VIERZON"),
'2413' => array('lib'=>"SAINT-AMAND-MONTROND", 'art'=>"de SAINT-AMAND-MONTROND"),
'2414' => array('lib'=>"AUBIGNY", 'art'=>"de AUBIGNY"),
'2414' => array('lib'=>"AUBIGNY", 'art'=>"d'AUBIGNY"),
'2421' => array('lib'=>"CHARTRES", 'art'=>"de CHARTRES"),
'2422' => array('lib'=>"DREUX", 'art'=>"de DREUX"),
'2423' => array('lib'=>"CHATEAUDUN", 'art'=>"de CHATEAUDUN"),
'2424' => array('lib'=>"NOGENT-LE-ROTROU", 'art'=>"de NOGENT-LE-ROTROU"),
'2431' => array('lib'=>"CHATEAUROUX", 'art'=>"de CHATEAUROUX"),
'2432' => array('lib'=>"ARGENTON-SUR-CREUSE", 'art'=>"de ARGENTON-SUR-CREUSE"),
'2433' => array('lib'=>"ISSOUDUN", 'art'=>"de ISSOUDUN"),
'2432' => array('lib'=>"ARGENTON-SUR-CREUSE", 'art'=>"d'ARGENTON-SUR-CREUSE"),
'2433' => array('lib'=>"ISSOUDUN", 'art'=>"d'ISSOUDUN"),
'2434' => array('lib'=>"LA CHATRE", 'art'=>"de LA CHATRE"),
'2441' => array('lib'=>"TOURS", 'art'=>"de TOURS"),
'2442' => array('lib'=>"AMBOISE", 'art'=>"de AMBOISE"),
'2442' => array('lib'=>"AMBOISE", 'art'=>"d'AMBOISE"),
'2443' => array('lib'=>"LOCHES", 'art'=>"de LOCHES"),
'2444' => array('lib'=>"CHINON", 'art'=>"de CHINON"),
'2451' => array('lib'=>"BLOIS", 'art'=>"de BLOIS"),
'2452' => array('lib'=>"VENDOME", 'art'=>"de VENDOME"),
'2453' => array('lib'=>"ROMORANTIN", 'art'=>"de ROMORANTIN"),
'2461' => array('lib'=>"ORLEANS", 'art'=>"de ORLEANS"),
'2461' => array('lib'=>"ORLEANS", 'art'=>"d'ORLEANS"),
'2462' => array('lib'=>"MONTARGIS", 'art'=>"de MONTARGIS"),
'2463' => array('lib'=>"PITHIVIERS", 'art'=>"de PITHIVIERS"),
'2464' => array('lib'=>"GIEN", 'art'=>"de GIEN"),
@ -161,22 +161,22 @@ return array(
'2503' => array('lib'=>"VIRE", 'art'=>"de VIRE"),
'2504' => array('lib'=>"CHERBOURG", 'art'=>"de CHERBOURG"),
'2505' => array('lib'=>"SAINT-LO", 'art'=>"de SAINT-LO"),
'2506' => array('lib'=>"AVRANCHES GRANVILLE", 'art'=>"de AVRANCHES GRANVILLE"),
'2506' => array('lib'=>"AVRANCHES GRANVILLE", 'art'=>"d'AVRANCHES GRANVILLE"),
'2507' => array('lib'=>"COUTANCES", 'art'=>"de COUTANCES"),
'2508' => array('lib'=>"FLERS", 'art'=>"de FLERS"),
'2509' => array('lib'=>"ALENCON-ARGENTAN", 'art'=>"de ALENCON-ARGENTAN"),
'2509' => array('lib'=>"ALENCON-ARGENTAN", 'art'=>"d'ALENCON-ARGENTAN"),
'2510' => array('lib'=>"L'AIGLE MORTAGNE-AU-PERCHE", 'art'=>"de L'AIGLE MORTAGNE-AU-PERCHE"),
'2610' => array('lib'=>"MACON", 'art'=>"de MACON"),
'2612' => array('lib'=>"DIJON", 'art'=>"de DIJON"),
'2613' => array('lib'=>"AUXERRE", 'art'=>"de AUXERRE"),
'2613' => array('lib'=>"AUXERRE", 'art'=>"d'AUXERRE"),
'2615' => array('lib'=>"NEVERS", 'art'=>"de NEVERS"),
'2641' => array('lib'=>"CHALON-SUR-SAONE", 'art'=>"de CHALON-SUR-SAONE"),
'2643' => array('lib'=>"CHATILLON-SUR-SEINE", 'art'=>"de CHATILLON-SUR-SEINE"),
'2644' => array('lib'=>"SENS", 'art'=>"de SENS"),
'2651' => array('lib'=>"MONTBARD", 'art'=>"de MONTBARD"),
'2652' => array('lib'=>"AVALLON", 'art'=>"de AVALLON"),
'2652' => array('lib'=>"AVALLON", 'art'=>"d'AVALLON"),
'2654' => array('lib'=>"COSNE-SUR-LOIRE", 'art'=>"de COSNE-SUR-LOIRE"),
'2656' => array('lib'=>"AUTUN", 'art'=>"de AUTUN"),
'2656' => array('lib'=>"AUTUN", 'art'=>"d'AUTUN"),
'2660' => array('lib'=>"JOIGNY", 'art'=>"de JOIGNY"),
'2662' => array('lib'=>"DECIZE", 'art'=>"de DECIZE"),
'2664' => array('lib'=>"LE CREUSOT", 'art'=>"de LE CREUSOT"),
@ -192,7 +192,7 @@ return array(
'3115' => array('lib'=>"VALENCIENNOIS", 'art'=>"de VALENCIENNOIS"),
'3116' => array('lib'=>"CAMBRESIS", 'art'=>"de CAMBRESIS"),
'3117' => array('lib'=>"SAMBRE-AVESNOIS", 'art'=>"de SAMBRE-AVESNOIS"),
'3121' => array('lib'=>"ARTOIS-TERNOIS", 'art'=>"de ARTOIS-TERNOIS"),
'3121' => array('lib'=>"ARTOIS-TERNOIS", 'art'=>"d'ARTOIS-TERNOIS"),
'3122' => array('lib'=>"LENS-HENIN", 'art'=>"de LENS-HENIN"),
'3123' => array('lib'=>"BETHUNE-BRUAY", 'art'=>"de BETHUNE-BRUAY"),
'3124' => array('lib'=>"SAINT-OMER", 'art'=>"de SAINT-OMER"),
@ -213,7 +213,7 @@ return array(
'4171' => array('lib'=>"BAR-LE-DUC", 'art'=>"de BAR-LE-DUC"),
'4172' => array('lib'=>"COMMERCY", 'art'=>"de COMMERCY"),
'4180' => array('lib'=>"VOSGES DE L'OUEST", 'art'=>"de VOSGES DE L'OUEST"),
'4191' => array('lib'=>"EPINAL", 'art'=>"de EPINAL"),
'4191' => array('lib'=>"EPINAL", 'art'=>"d'EPINAL"),
'4192' => array('lib'=>"REMIREMONT-GERARDMER", 'art'=>"de REMIREMONT-GERARDMER"),
'4193' => array('lib'=>"SAINT-DIE", 'art'=>"de SAINT-DIE"),
'4271' => array('lib'=>"WISSEMBOURG", 'art'=>"de WISSEMBOURG"),
@ -222,7 +222,7 @@ return array(
'4285' => array('lib'=>"THANN CERNAY", 'art'=>"de THANN CERNAY"),
'4286' => array('lib'=>"MULHOUSE", 'art'=>"de MULHOUSE"),
'4287' => array('lib'=>"SAINT-LOUIS", 'art'=>"de SAINT-LOUIS"),
'4288' => array('lib'=>"ALTKIRCH", 'art'=>"de ALTKIRCH"),
'4288' => array('lib'=>"ALTKIRCH", 'art'=>"d'ALTKIRCH"),
'4291' => array('lib'=>"HAGUENEAU-NIEDERBRONN", 'art'=>"de HAGUENEAU-NIEDERBRONN"),
'4292' => array('lib'=>"SAVERNE SARRE-UNION", 'art'=>"de SAVERNE SARRE-UNION"),
'4293' => array('lib'=>"MOLSHEIM SCHIRMECK", 'art'=>"de MOLSHEIM SCHIRMECK"),
@ -244,7 +244,7 @@ return array(
'5201' => array('lib'=>"NANTES", 'art'=>"de NANTES"),
'5202' => array('lib'=>"SAINT-NAZAIRE", 'art'=>"de SAINT-NAZAIRE"),
'5203' => array('lib'=>"CHATEAUBRIANT", 'art'=>"de CHATEAUBRIANT"),
'5204' => array('lib'=>"ANGERS", 'art'=>"de ANGERS"),
'5204' => array('lib'=>"ANGERS", 'art'=>"d'ANGERS"),
'5205' => array('lib'=>"CHOLETAIS", 'art'=>"de CHOLETAIS"),
'5206' => array('lib'=>"SAUMUR-BAUGE", 'art'=>"de SAUMUR-BAUGE"),
'5207' => array('lib'=>"SEGREEN SUD MAYENNE", 'art'=>"de SEGREEN SUD MAYENNE"),
@ -270,7 +270,7 @@ return array(
'5342' => array('lib'=>"SAINT-MALO", 'art'=>"de SAINT-MALO"),
'5343' => array('lib'=>"VITRE", 'art'=>"de VITRE"),
'5344' => array('lib'=>"REDON", 'art'=>"de REDON"),
'5350' => array('lib'=>"AURAY", 'art'=>"de AURAY"),
'5350' => array('lib'=>"AURAY", 'art'=>"d'AURAY"),
'5351' => array('lib'=>"PLOËRMEL", 'art'=>"de PLOËRMEL"),
'5352' => array('lib'=>"VANNES", 'art'=>"de VANNES"),
'5353' => array('lib'=>"LORIENT", 'art'=>"de LORIENT"),
@ -279,7 +279,7 @@ return array(
'5402' => array('lib'=>"CHATELLERAULT", 'art'=>"de CHATELLERAULT"),
'5403' => array('lib'=>"MONTMORILLON", 'art'=>"de MONTMORILLON"),
'5404' => array('lib'=>"HAUTE CHARENTE", 'art'=>"de HAUTE CHARENTE"),
'5405' => array('lib'=>"ANGOULEME", 'art'=>"de ANGOULEME"),
'5405' => array('lib'=>"ANGOULEME", 'art'=>"d'ANGOULEME"),
'5406' => array('lib'=>"SUD CHARENTE", 'art'=>"de SUD CHARENTE"),
'5407' => array('lib'=>"COGNAC", 'art'=>"de COGNAC"),
'5408' => array('lib'=>"SAINTONGE INTERIEURE", 'art'=>"de SAINTONGE INTERIEURE"),
@ -295,9 +295,9 @@ return array(
'7205' => array('lib'=>"BERGERAC", 'art'=>"de BERGERAC"),
'7206' => array('lib'=>"DAX", 'art'=>"de DAX"),
'7207' => array('lib'=>"MARMANDE CASTELJALOUX", 'art'=>"de MARMANDE CASTELJALOUX"),
'7210' => array('lib'=>"AGEN", 'art'=>"de AGEN"),
'7210' => array('lib'=>"AGEN", 'art'=>"d'AGEN"),
'7211' => array('lib'=>"LACQ ORTHEZ", 'art'=>"de LACQ ORTHEZ"),
'7212' => array('lib'=>"OLORON-MAULEON", 'art'=>"de OLORON-MAULEON"),
'7212' => array('lib'=>"OLORON-MAULEON", 'art'=>"d'OLORON-MAULEON"),
'7213' => array('lib'=>"PAU", 'art'=>"de PAU"),
'7214' => array('lib'=>"LIBOURNE-MONTPON-STE-FOY-LAGRANDE", 'art'=>"de LIBOURNE-MONTPON-STE-FOY-LAGRANDE"),
'7215' => array('lib'=>"LANGON BAZAS LA REOLE", 'art'=>"de LANGON BAZAS LA REOLE"),
@ -313,11 +313,11 @@ return array(
'7292' => array('lib'=>"BAYONNE-PYRENEES", 'art'=>"de BAYONNE-PYRENEES"),
'7301' => array('lib'=>"TOULOUSE", 'art'=>"de TOULOUSE"),
'7302' => array('lib'=>"MONTAUBAN", 'art'=>"de MONTAUBAN"),
'7303' => array('lib'=>"ALBI CARMAUX", 'art'=>"de ALBI CARMAUX"),
'7303' => array('lib'=>"ALBI CARMAUX", 'art'=>"d'ALBI CARMAUX"),
'7304' => array('lib'=>"TARBES", 'art'=>"de TARBES"),
'7305' => array('lib'=>"RODEZ", 'art'=>"de RODEZ"),
'7306' => array('lib'=>"CASTRES MAZAMET", 'art'=>"de CASTRES MAZAMET"),
'7307' => array('lib'=>"AUCH", 'art'=>"de AUCH"),
'7307' => array('lib'=>"AUCH", 'art'=>"d'AUCH"),
'7308' => array('lib'=>"SAINT-GAUDENS", 'art'=>"de SAINT-GAUDENS"),
'7309' => array('lib'=>"FIGEAC DECAZEVILLE", 'art'=>"de FIGEAC DECAZEVILLE"),
'7310' => array('lib'=>"CAHORS", 'art'=>"de CAHORS"),
@ -332,21 +332,21 @@ return array(
'7401' => array('lib'=>"BELLAC", 'art'=>"de BELLAC"),
'7402' => array('lib'=>"LIMOGES", 'art'=>"de LIMOGES"),
'7403' => array('lib'=>"ROCHECHOUART", 'art'=>"de ROCHECHOUART"),
'7404' => array('lib'=>"AUBUSSON", 'art'=>"de AUBUSSON"),
'7404' => array('lib'=>"AUBUSSON", 'art'=>"d'AUBUSSON"),
'7405' => array('lib'=>"GUERET", 'art'=>"de GUERET"),
'7406' => array('lib'=>"BRIVE", 'art'=>"de BRIVE"),
'7407' => array('lib'=>"TULLE", 'art'=>"de TULLE"),
'7408' => array('lib'=>"USSEL", 'art'=>"de USSEL"),
'7408' => array('lib'=>"USSEL", 'art'=>"d'USSEL"),
'8201' => array('lib'=>"ROANNE", 'art'=>"de ROANNE"),
'8202' => array('lib'=>"BEAUJOLAIS-VAL-DE-SAONE", 'art'=>"de BEAUJOLAIS-VAL-DE-SAONE"),
'8203' => array('lib'=>"BOURG-EN-BRESSE", 'art'=>"de BOURG-EN-BRESSE"),
'8204' => array('lib'=>"OYONNAX", 'art'=>"de OYONNAX"),
'8204' => array('lib'=>"OYONNAX", 'art'=>"d'OYONNAX"),
'8205' => array('lib'=>"GENEVOIX FRANCAIS", 'art'=>"de GENEVOIX FRANCAIS"),
'8206' => array('lib'=>"CHABLAIS", 'art'=>"de CHABLAIS"),
'8207' => array('lib'=>"VALLEE-DE-L'ARVE", 'art'=>"de VALLEE-DE-L'ARVE"),
'8208' => array('lib'=>"ANNECY", 'art'=>"de ANNECY"),
'8208' => array('lib'=>"ANNECY", 'art'=>"d'ANNECY"),
'8209' => array('lib'=>"BELLEY", 'art'=>"de BELLEY"),
'8210' => array('lib'=>"AMBERIEU", 'art'=>"de AMBERIEU"),
'8210' => array('lib'=>"AMBERIEU", 'art'=>"d'AMBERIEU"),
'8211' => array('lib'=>"LYON", 'art'=>"de LYON"),
'8212' => array('lib'=>"LOIRE CENTRE", 'art'=>"de LOIRE CENTRE"),
'8213' => array('lib'=>"SAINT-ETIENNE", 'art'=>"de SAINT-ETIENNE"),
@ -356,20 +356,20 @@ return array(
'8217' => array('lib'=>"TARENTAISE", 'art'=>"de TARENTAISE"),
'8218' => array('lib'=>"MAURIENNE", 'art'=>"de MAURIENNE"),
'8219' => array('lib'=>"VOIRON", 'art'=>"de VOIRON"),
'8220' => array('lib'=>"ANNONAY", 'art'=>"de ANNONAY"),
'8220' => array('lib'=>"ANNONAY", 'art'=>"d'ANNONAY"),
'8221' => array('lib'=>"DROME ARDECHE NORD", 'art'=>"de DROME ARDECHE NORD"),
'8222' => array('lib'=>"ROMANS SAINT-MARCELLIN", 'art'=>"de ROMANS SAINT-MARCELLIN"),
'8223' => array('lib'=>"GRENOBLE", 'art'=>"de GRENOBLE"),
'8224' => array('lib'=>"CREST-DIE", 'art'=>"de CREST-DIE"),
'8225' => array('lib'=>"DROME-ARDECHE CENTRE", 'art'=>"de DROME-ARDECHE CENTRE"),
'8226' => array('lib'=>"AUBENAS", 'art'=>"de AUBENAS"),
'8226' => array('lib'=>"AUBENAS", 'art'=>"d'AUBENAS"),
'8227' => array('lib'=>"DROME-ARDECHE SUD", 'art'=>"de DROME-ARDECHE SUD"),
'8311' => array('lib'=>"AURILLAC", 'art'=>"de AURILLAC"),
'8311' => array('lib'=>"AURILLAC", 'art'=>"d'AURILLAC"),
'8313' => array('lib'=>"MAURIAC", 'art'=>"de MAURIAC"),
'8314' => array('lib'=>"SAINT-FLOUR", 'art'=>"de SAINT-FLOUR"),
'8324' => array('lib'=>"CLERMONT-FERRAND", 'art'=>"de CLERMONT-FERRAND"),
'8325' => array('lib'=>"GANNAT", 'art'=>"de GANNAT"),
'8331' => array('lib'=>"ISSOIRE", 'art'=>"de ISSOIRE"),
'8331' => array('lib'=>"ISSOIRE", 'art'=>"d'ISSOIRE"),
'8333' => array('lib'=>"BRIOUDE", 'art'=>"de BRIOUDE"),
'8343' => array('lib'=>"MONTLUCON", 'art'=>"de MONTLUCON"),
'8351' => array('lib'=>"MOULINS", 'art'=>"de MOULINS"),
@ -377,12 +377,12 @@ return array(
'8362' => array('lib'=>"LE PUY-EN-VELAY", 'art'=>"de LE PUY-EN-VELAY"),
'8372' => array('lib'=>"YSSINGEAUX", 'art'=>"de YSSINGEAUX"),
'8381' => array('lib'=>"THIERS", 'art'=>"de THIERS"),
'8382' => array('lib'=>"AMBERT", 'art'=>"de AMBERT"),
'8382' => array('lib'=>"AMBERT", 'art'=>"d'AMBERT"),
'8391' => array('lib'=>"VICHY", 'art'=>"de VICHY"),
'8392' => array('lib'=>"SAINT-POURCAIN-SUR-SIOULE", 'art'=>"de SAINT-POURCAIN-SUR-SIOULE"),
'9101' => array('lib'=>"CARCASSONNE", 'art'=>"de CARCASSONNE"),
'9102' => array('lib'=>"NARBONNE", 'art'=>"de NARBONNE"),
'9103' => array('lib'=>"ALES LA GRAND COMBE", 'art'=>"de ALES LA GRAND COMBE"),
'9103' => array('lib'=>"ALES LA GRAND COMBE", 'art'=>"d'ALES LA GRAND COMBE"),
'9104' => array('lib'=>"BAGNOLS-SUR-CEZE", 'art'=>"de BAGNOLS-SUR-CEZE"),
'9105' => array('lib'=>"GANGES-LE-VIGAN", 'art'=>"de GANGES-LE-VIGAN"),
'9106' => array('lib'=>"NIMES", 'art'=>"de NIMES"),
@ -398,9 +398,9 @@ return array(
'9331' => array('lib'=>"CANNES ANTIBES", 'art'=>"de CANNES ANTIBES"),
'9332' => array('lib'=>"MENTON", 'art'=>"de MENTON"),
'9333' => array('lib'=>"NICE", 'art'=>"de NICE"),
'9341' => array('lib'=>"ARLES", 'art'=>"de ARLES"),
'9342' => array('lib'=>"AIX-EN-PROVENCE", 'art'=>"de AIX-EN-PROVENCE"),
'9344' => array('lib'=>"ETANG-DE-BERRE", 'art'=>"de ETANG-DE-BERRE"),
'9341' => array('lib'=>"ARLES", 'art'=>"d'ARLES"),
'9342' => array('lib'=>"AIX-EN-PROVENCE", 'art'=>"d'AIX-EN-PROVENCE"),
'9344' => array('lib'=>"ETANG-DE-BERRE", 'art'=>"d'ETANG-DE-BERRE"),
'9346' => array('lib'=>"CHATEAURENARD", 'art'=>"de CHATEAURENARD"),
'9347' => array('lib'=>"FOS-SUR-MER", 'art'=>"de FOS-SUR-MER"),
'9348' => array('lib'=>"SALON-DE-PROVENCE", 'art'=>"de SALON-DE-PROVENCE"),
@ -409,12 +409,12 @@ return array(
'9352' => array('lib'=>"FREJUS-SAINT-RAPHAEL", 'art'=>"de FREJUS-SAINT-RAPHAEL"),
'9353' => array('lib'=>"DRAGUIGNAN", 'art'=>"de DRAGUIGNAN"),
'9354' => array('lib'=>"BRIGNOLES", 'art'=>"de BRIGNOLES"),
'9361' => array('lib'=>"ORANGE", 'art'=>"de ORANGE"),
'9361' => array('lib'=>"ORANGE", 'art'=>"d'ORANGE"),
'9362' => array('lib'=>"CARPENTRAS", 'art'=>"de CARPENTRAS"),
'9363' => array('lib'=>"APT", 'art'=>"de APT"),
'9364' => array('lib'=>"AVIGNON", 'art'=>"de AVIGNON"),
'9363' => array('lib'=>"APT", 'art'=>"d'APT"),
'9364' => array('lib'=>"AVIGNON", 'art'=>"d'AVIGNON"),
'9403' => array('lib'=>"CALVI-ILE-ROUSSE", 'art'=>"de CALVI-ILE-ROUSSE"),
'9411' => array('lib'=>"AJACCIO", 'art'=>"de AJACCIO"),
'9411' => array('lib'=>"AJACCIO", 'art'=>"d'AJACCIO"),
'9412' => array('lib'=>"BASTIA", 'art'=>"de BASTIA"),
'9414' => array('lib'=>"CORTE", 'art'=>"de CORTE"),
'9415' => array('lib'=>"GHISONACCIA-ALERIA", 'art'=>"de GHISONACCIA-ALERIA"),
@ -423,20 +423,20 @@ return array(
),
'ZEMET2010' => array(
'50' => array('lib'=>"Mont-de-Marsan", 'art'=>"de Mont-de-Marsan"),
'51' => array('lib'=>"Alençon", 'art'=>"de Alençon"),
'51' => array('lib'=>"Alençon", 'art'=>"d'Alençon"),
'52' => array('lib'=>"Cosne - Clamecy", 'art'=>"de Cosne - Clamecy"),
'53' => array('lib'=>"Mâcon", 'art'=>"de Mâcon"),
'54' => array('lib'=>"Nogent-le-Rotrou", 'art'=>"de Nogent-le-Rotrou"),
'55' => array('lib'=>"Vallée de la Bresle - Vimeu", 'art'=>"de Vallée de la Bresle - Vimeu"),
'56' => array('lib'=>"Roissy - Sud Picardie", 'art'=>"de Roissy - Sud Picardie"),
'57' => array('lib'=>"Brive-la-Gaillarde", 'art'=>"de Brive-la-Gaillarde"),
'59' => array('lib'=>"Avignon", 'art'=>"de Avignon"),
'59' => array('lib'=>"Avignon", 'art'=>"d'Avignon"),
'60' => array('lib'=>"Saint-Étienne", 'art'=>"de Saint-Étienne"),
'61' => array('lib'=>"Toulouse", 'art'=>"de Toulouse"),
'101' => array('lib'=>"Pointe-à-Pitre", 'art'=>"de Pointe-à-Pitre"),
'102' => array('lib'=>"Basse-Terre", 'art'=>"de Basse-Terre"),
'103' => array('lib'=>"Marie-Galante", 'art'=>"de Marie-Galante"),
'106' => array('lib'=>"Est - Grande-Terre", 'art'=>"de Est - Grande-Terre"),
'106' => array('lib'=>"Est - Grande-Terre", 'art'=>"d'Est - Grande-Terre"),
'201' => array('lib'=>"Centre agglomération", 'art'=>"de Centre agglomération"),
'202' => array('lib'=>"Sud-Caraibe", 'art'=>"de Sud-Caraibe"),
'203' => array('lib'=>"Sud", 'art'=>"de Sud"),
@ -446,9 +446,9 @@ return array(
'301' => array('lib'=>"Cayenne", 'art'=>"de Cayenne"),
'302' => array('lib'=>"Kourou", 'art'=>"de Kourou"),
'303' => array('lib'=>"Saint-Laurent", 'art'=>"de Saint-Laurent"),
'401' => array('lib'=>"Est", 'art'=>"de Est"),
'401' => array('lib'=>"Est", 'art'=>"d'Est"),
'402' => array('lib'=>"Nord", 'art'=>"de Nord"),
'403' => array('lib'=>"Ouest", 'art'=>"de Ouest"),
'403' => array('lib'=>"Ouest", 'art'=>"d'Ouest"),
'404' => array('lib'=>"Sud", 'art'=>"de Sud"),
'601' => array('lib'=>"Mayotte", 'art'=>"de Mayotte"),
'1101' => array('lib'=>"Paris", 'art'=>"de Paris"),
@ -468,7 +468,7 @@ return array(
'1115' => array('lib'=>"Évry", 'art'=>"de Évry"),
'1116' => array('lib'=>"Saclay", 'art'=>"de Saclay"),
'1117' => array('lib'=>"Créteil", 'art'=>"de Créteil"),
'1118' => array('lib'=>"Orly", 'art'=>"de Orly"),
'1118' => array('lib'=>"Orly", 'art'=>"d'Orly"),
'1119' => array('lib'=>"Cergy", 'art'=>"de Cergy"),
'2101' => array('lib'=>"Charleville-Mézières", 'art'=>"de Charleville-Mézières"),
'2102' => array('lib'=>"Troyes", 'art'=>"de Troyes"),
@ -485,8 +485,8 @@ return array(
'2206' => array('lib'=>"Soissons", 'art'=>"de Soissons"),
'2207' => array('lib'=>"Beauvais", 'art'=>"de Beauvais"),
'2208' => array('lib'=>"Compiègne", 'art'=>"de Compiègne"),
'2209' => array('lib'=>"Abbeville", 'art'=>"de Abbeville"),
'2210' => array('lib'=>"Amiens", 'art'=>"de Amiens"),
'2209' => array('lib'=>"Abbeville", 'art'=>"d'Abbeville"),
'2210' => array('lib'=>"Amiens", 'art'=>"d'Amiens"),
'2211' => array('lib'=>"Péronne", 'art'=>"de Péronne"),
'2301' => array('lib'=>"Bernay", 'art'=>"de Bernay"),
'2302' => array('lib'=>"Évreux", 'art'=>"de Évreux"),
@ -502,7 +502,7 @@ return array(
'2405' => array('lib'=>"Châteaudun", 'art'=>"de Châteaudun"),
'2406' => array('lib'=>"Dreux", 'art'=>"de Dreux"),
'2407' => array('lib'=>"Le Blanc", 'art'=>"de Le Blanc"),
'2408' => array('lib'=>"Issoudun", 'art'=>"de Issoudun"),
'2408' => array('lib'=>"Issoudun", 'art'=>"d'Issoudun"),
'2409' => array('lib'=>"Châteauroux", 'art'=>"de Châteauroux"),
'2410' => array('lib'=>"Chinon", 'art'=>"de Chinon"),
'2411' => array('lib'=>"Loches", 'art'=>"de Loches"),
@ -512,19 +512,19 @@ return array(
'2415' => array('lib'=>"Vendôme", 'art'=>"de Vendôme"),
'2416' => array('lib'=>"Gien", 'art'=>"de Gien"),
'2417' => array('lib'=>"Montargis", 'art'=>"de Montargis"),
'2418' => array('lib'=>"Orléans", 'art'=>"de Orléans"),
'2418' => array('lib'=>"Orléans", 'art'=>"d'Orléans"),
'2419' => array('lib'=>"Pithiviers", 'art'=>"de Pithiviers"),
'2501' => array('lib'=>"Bayeux", 'art'=>"de Bayeux"),
'2502' => array('lib'=>"Caen", 'art'=>"de Caen"),
'2503' => array('lib'=>"Honfleur", 'art'=>"de Honfleur"),
'2504' => array('lib'=>"Lisieux", 'art'=>"de Lisieux"),
'2505' => array('lib'=>"Vire", 'art'=>"de Vire"),
'2506' => array('lib'=>"Avranches", 'art'=>"de Avranches"),
'2506' => array('lib'=>"Avranches", 'art'=>"d'Avranches"),
'2507' => array('lib'=>"Cherbourg-Octeville", 'art'=>"de Cherbourg-Octeville"),
'2508' => array('lib'=>"Coutances", 'art'=>"de Coutances"),
'2509' => array('lib'=>"Granville", 'art'=>"de Granville"),
'2510' => array('lib'=>"Saint-Lô", 'art'=>"de Saint-Lô"),
'2511' => array('lib'=>"Argentan", 'art'=>"de Argentan"),
'2511' => array('lib'=>"Argentan", 'art'=>"d'Argentan"),
'2512' => array('lib'=>"Flers", 'art'=>"de Flers"),
'2513' => array('lib'=>"L'Aigle", 'art'=>"de L'Aigle"),
'2601' => array('lib'=>"Beaune", 'art'=>"de Beaune"),
@ -533,13 +533,13 @@ return array(
'2604' => array('lib'=>"Montbard", 'art'=>"de Montbard"),
'2605' => array('lib'=>"Morvan", 'art'=>"de Morvan"),
'2606' => array('lib'=>"Nevers", 'art'=>"de Nevers"),
'2607' => array('lib'=>"Autun", 'art'=>"de Autun"),
'2607' => array('lib'=>"Autun", 'art'=>"d'Autun"),
'2608' => array('lib'=>"Chalon-sur-Saône", 'art'=>"de Chalon-sur-Saône"),
'2609' => array('lib'=>"Louhans", 'art'=>"de Louhans"),
'2610' => array('lib'=>"Le Creusot - Montceau", 'art'=>"de Le Creusot - Montceau"),
'2611' => array('lib'=>"Charolais", 'art'=>"de Charolais"),
'2612' => array('lib'=>"Auxerre", 'art'=>"de Auxerre"),
'2613' => array('lib'=>"Avallon", 'art'=>"de Avallon"),
'2612' => array('lib'=>"Auxerre", 'art'=>"d'Auxerre"),
'2613' => array('lib'=>"Avallon", 'art'=>"d'Avallon"),
'2614' => array('lib'=>"Sens", 'art'=>"de Sens"),
'3110' => array('lib'=>"Roubaix - Tourcoing", 'art'=>"de Roubaix - Tourcoing"),
'3111' => array('lib'=>"Lille", 'art'=>"de Lille"),
@ -549,7 +549,7 @@ return array(
'3115' => array('lib'=>"Valenciennes", 'art'=>"de Valenciennes"),
'3116' => array('lib'=>"Cambrai", 'art'=>"de Cambrai"),
'3117' => array('lib'=>"Maubeuge", 'art'=>"de Maubeuge"),
'3121' => array('lib'=>"Arras", 'art'=>"de Arras"),
'3121' => array('lib'=>"Arras", 'art'=>"d'Arras"),
'3122' => array('lib'=>"Lens - Hénin", 'art'=>"de Lens - Hénin"),
'3123' => array('lib'=>"Béthune - Bruay", 'art'=>"de Béthune - Bruay"),
'3124' => array('lib'=>"Saint-Omer", 'art'=>"de Saint-Omer"),
@ -589,11 +589,11 @@ return array(
'4307' => array('lib'=>"Saint-Claude", 'art'=>"de Saint-Claude"),
'4308' => array('lib'=>"Gray", 'art'=>"de Gray"),
'4309' => array('lib'=>"Vesoul", 'art'=>"de Vesoul"),
'5201' => array('lib'=>"Ancenis", 'art'=>"de Ancenis"),
'5201' => array('lib'=>"Ancenis", 'art'=>"d'Ancenis"),
'5202' => array('lib'=>"Châteaubriant", 'art'=>"de Châteaubriant"),
'5203' => array('lib'=>"Nantes", 'art'=>"de Nantes"),
'5204' => array('lib'=>"Saint-Nazaire", 'art'=>"de Saint-Nazaire"),
'5205' => array('lib'=>"Angers", 'art'=>"de Angers"),
'5205' => array('lib'=>"Angers", 'art'=>"d'Angers"),
'5206' => array('lib'=>"Cholet", 'art'=>"de Cholet"),
'5207' => array('lib'=>"Saumur", 'art'=>"de Saumur"),
'5208' => array('lib'=>"Segré", 'art'=>"de Segré"),
@ -628,7 +628,7 @@ return array(
'5318' => array('lib'=>"Vannes", 'art'=>"de Vannes"),
'5401' => array('lib'=>"Thouars - Loudun", 'art'=>"de Thouars - Loudun"),
'5402' => array('lib'=>"Châtellerault", 'art'=>"de Châtellerault"),
'5403' => array('lib'=>"Angoulême", 'art'=>"de Angoulême"),
'5403' => array('lib'=>"Angoulême", 'art'=>"d'Angoulême"),
'5404' => array('lib'=>"Jonzac - Barbezieux-Saint-Hilaire", 'art'=>"de Jonzac - Barbezieux-Saint-Hilaire"),
'5405' => array('lib'=>"Cognac", 'art'=>"de Cognac"),
'5406' => array('lib'=>"Saintes - Saint-Jean-d'Angély", 'art'=>"de Saintes - Saint-Jean-d'Angély"),
@ -647,11 +647,11 @@ return array(
'7206' => array('lib'=>"Pauillac", 'art'=>"de Pauillac"),
'7207' => array('lib'=>"La Teste-de-Buch", 'art'=>"de La Teste-de-Buch"),
'7208' => array('lib'=>"Dax", 'art'=>"de Dax"),
'7209' => array('lib'=>"Agen", 'art'=>"de Agen"),
'7209' => array('lib'=>"Agen", 'art'=>"d'Agen"),
'7210' => array('lib'=>"Marmande", 'art'=>"de Marmande"),
'7211' => array('lib'=>"Villeneuve-sur-Lot", 'art'=>"de Villeneuve-sur-Lot"),
'7212' => array('lib'=>"Bayonne", 'art'=>"de Bayonne"),
'7213' => array('lib'=>"Oloron-Sainte-Marie", 'art'=>"de Oloron-Sainte-Marie"),
'7213' => array('lib'=>"Oloron-Sainte-Marie", 'art'=>"d'Oloron-Sainte-Marie"),
'7214' => array('lib'=>"Pau", 'art'=>"de Pau"),
'7301' => array('lib'=>"Foix - Pamiers", 'art'=>"de Foix - Pamiers"),
'7302' => array('lib'=>"Saint-Girons", 'art'=>"de Saint-Girons"),
@ -659,22 +659,22 @@ return array(
'7304' => array('lib'=>"Rodez", 'art'=>"de Rodez"),
'7305' => array('lib'=>"Villefranche-de-Rouergue", 'art'=>"de Villefranche-de-Rouergue"),
'7306' => array('lib'=>"Saint-Gaudens", 'art'=>"de Saint-Gaudens"),
'7307' => array('lib'=>"Auch", 'art'=>"de Auch"),
'7307' => array('lib'=>"Auch", 'art'=>"d'Auch"),
'7308' => array('lib'=>"Cahors", 'art'=>"de Cahors"),
'7309' => array('lib'=>"Figeac", 'art'=>"de Figeac"),
'7310' => array('lib'=>"Tarbes - Lourdes", 'art'=>"de Tarbes - Lourdes"),
'7311' => array('lib'=>"Albi", 'art'=>"de Albi"),
'7311' => array('lib'=>"Albi", 'art'=>"d'Albi"),
'7312' => array('lib'=>"Castres - Mazamet", 'art'=>"de Castres - Mazamet"),
'7313' => array('lib'=>"Montauban", 'art'=>"de Montauban"),
'7401' => array('lib'=>"Tulle", 'art'=>"de Tulle"),
'7402' => array('lib'=>"Ussel", 'art'=>"de Ussel"),
'7402' => array('lib'=>"Ussel", 'art'=>"d'Ussel"),
'7403' => array('lib'=>"Guéret", 'art'=>"de Guéret"),
'7404' => array('lib'=>"Limoges", 'art'=>"de Limoges"),
'8201' => array('lib'=>"Ambérieu-en-Bugey", 'art'=>"de Ambérieu-en-Bugey"),
'8201' => array('lib'=>"Ambérieu-en-Bugey", 'art'=>"d'Ambérieu-en-Bugey"),
'8202' => array('lib'=>"Bourg-en-Bresse", 'art'=>"de Bourg-en-Bresse"),
'8203' => array('lib'=>"Oyonnax", 'art'=>"de Oyonnax"),
'8204' => array('lib'=>"Annonay", 'art'=>"de Annonay"),
'8205' => array('lib'=>"Aubenas", 'art'=>"de Aubenas"),
'8203' => array('lib'=>"Oyonnax", 'art'=>"d'Oyonnax"),
'8204' => array('lib'=>"Annonay", 'art'=>"d'Annonay"),
'8205' => array('lib'=>"Aubenas", 'art'=>"d'Aubenas"),
'8206' => array('lib'=>"Montélimar", 'art'=>"de Montélimar"),
'8207' => array('lib'=>"Romans-sur-Isère", 'art'=>"de Romans-sur-Isère"),
'8208' => array('lib'=>"Valence", 'art'=>"de Valence"),
@ -687,7 +687,7 @@ return array(
'8215' => array('lib'=>"Tarentaise", 'art'=>"de Tarentaise"),
'8216' => array('lib'=>"Chambéry", 'art'=>"de Chambéry"),
'8217' => array('lib'=>"Maurienne", 'art'=>"de Maurienne"),
'8218' => array('lib'=>"Annecy", 'art'=>"de Annecy"),
'8218' => array('lib'=>"Annecy", 'art'=>"d'Annecy"),
'8219' => array('lib'=>"Genevois Français", 'art'=>"de Genevois Français"),
'8220' => array('lib'=>"Vallée de l'Arve", 'art'=>"de Vallée de l'Arve"),
'8221' => array('lib'=>"Mont Blanc", 'art'=>"de Mont Blanc"),
@ -695,22 +695,22 @@ return array(
'8301' => array('lib'=>"Montluçon", 'art'=>"de Montluçon"),
'8302' => array('lib'=>"Moulins", 'art'=>"de Moulins"),
'8303' => array('lib'=>"Vichy", 'art'=>"de Vichy"),
'8304' => array('lib'=>"Aurillac", 'art'=>"de Aurillac"),
'8304' => array('lib'=>"Aurillac", 'art'=>"d'Aurillac"),
'8305' => array('lib'=>"Mauriac", 'art'=>"de Mauriac"),
'8306' => array('lib'=>"Saint-Flour", 'art'=>"de Saint-Flour"),
'8307' => array('lib'=>"Brioude", 'art'=>"de Brioude"),
'8308' => array('lib'=>"Le Puy-en-Velay", 'art'=>"de Le Puy-en-Velay"),
'8309' => array('lib'=>"Ambert", 'art'=>"de Ambert"),
'8309' => array('lib'=>"Ambert", 'art'=>"d'Ambert"),
'8310' => array('lib'=>"Clermont-Ferrand", 'art'=>"de Clermont-Ferrand"),
'8311' => array('lib'=>"Issoire", 'art'=>"de Issoire"),
'8311' => array('lib'=>"Issoire", 'art'=>"d'Issoire"),
'8312' => array('lib'=>"Thiers", 'art'=>"de Thiers"),
'9101' => array('lib'=>"Carcassonne", 'art'=>"de Carcassonne"),
'9102' => array('lib'=>"Limoux", 'art'=>"de Limoux"),
'9103' => array('lib'=>"Narbonne", 'art'=>"de Narbonne"),
'9104' => array('lib'=>"Alès", 'art'=>"de Alès"),
'9104' => array('lib'=>"Alès", 'art'=>"d'Alès"),
'9105' => array('lib'=>"Bagnols-sur-Cèze", 'art'=>"de Bagnols-sur-Cèze"),
'9106' => array('lib'=>"Nîmes", 'art'=>"de Nîmes"),
'9107' => array('lib'=>"Agde - Pézenas", 'art'=>"de Agde - Pézenas"),
'9107' => array('lib'=>"Agde - Pézenas", 'art'=>"d'Agde - Pézenas"),
'9108' => array('lib'=>"Béziers", 'art'=>"de Béziers"),
'9109' => array('lib'=>"Clermont-l'Hérault - Lodève", 'art'=>"de Clermont-l'Hérault - Lodève"),
'9110' => array('lib'=>"Ganges", 'art'=>"de Ganges"),
@ -727,17 +727,17 @@ return array(
'9305' => array('lib'=>"Cannes - Antibes", 'art'=>"de Cannes - Antibes"),
'9306' => array('lib'=>"Menton - Vallée de la Roya", 'art'=>"de Menton - Vallée de la Roya"),
'9307' => array('lib'=>"Nice", 'art'=>"de Nice"),
'9308' => array('lib'=>"Aix-en-Provence", 'art'=>"de Aix-en-Provence"),
'9309' => array('lib'=>"Arles", 'art'=>"de Arles"),
'9308' => array('lib'=>"Aix-en-Provence", 'art'=>"d'Aix-en-Provence"),
'9309' => array('lib'=>"Arles", 'art'=>"d'Arles"),
'9310' => array('lib'=>"Marseille - Aubagne", 'art'=>"de Marseille - Aubagne"),
'9311' => array('lib'=>"Istres - Martigues", 'art'=>"de Istres - Martigues"),
'9311' => array('lib'=>"Istres - Martigues", 'art'=>"d'Istres - Martigues"),
'9312' => array('lib'=>"Salon-de-Provence", 'art'=>"de Salon-de-Provence"),
'9313' => array('lib'=>"Draguignan", 'art'=>"de Draguignan"),
'9314' => array('lib'=>"Fréjus - Saint-Raphaël", 'art'=>"de Fréjus - Saint-Raphaël"),
'9315' => array('lib'=>"Toulon", 'art'=>"de Toulon"),
'9316' => array('lib'=>"Cavaillon - Apt", 'art'=>"de Cavaillon - Apt"),
'9317' => array('lib'=>"Orange", 'art'=>"de Orange"),
'9401' => array('lib'=>"Ajaccio", 'art'=>"de Ajaccio"),
'9317' => array('lib'=>"Orange", 'art'=>"d'Orange"),
'9401' => array('lib'=>"Ajaccio", 'art'=>"d'Ajaccio"),
'9402' => array('lib'=>"Porto-Vecchio", 'art'=>"de Porto-Vecchio"),
'9403' => array('lib'=>"Sartène - Propriano", 'art'=>"de Sartène - Propriano"),
'9404' => array('lib'=>"Bastia", 'art'=>"de Bastia"),
@ -1227,6 +1227,7 @@ return array(
'9300' => array('lib'=>"Fondation", 'art'=>"Fondation"),
'9900' => array('lib'=>"Autre personne morale de droit privé", 'art'=>"Autre personne morale de droit privé"),
'9970' => array('lib'=>"Groupement de coopération sanitaire à gestion privée", 'art'=>"Groupement de coopération sanitaire à gestion privée"),
'6500' => array('lib'=>"", 'art'=>""),
),
'FJURINSEE' => array(
'0' => array('lib'=>"Indéterminée", 'art'=>"Indéterminée"),
@ -1559,6 +1560,7 @@ return array(
'9300' => array('lib'=>"Fondation", 'art'=>"Fondation"),
'9900' => array('lib'=>"Autre personne morale de droit privé", 'art'=>"Autre personne morale de droit privé"),
'9970' => array('lib'=>"Groupement de coopération sanitaire à gestion privée", 'art'=>"Groupement de coopération sanitaire à gestion privée"),
'6500' => array('lib'=>"", 'art'=>""),
),
'FJURRNCS' => array(
'0' => array('lib'=>"Indéterminée", 'art'=>"Indéterminée"),
@ -1891,6 +1893,7 @@ return array(
'9300' => array('lib'=>"Fondation", 'art'=>"Fondation"),
'9900' => array('lib'=>"Autre personne morale de droit privé", 'art'=>"Autre personne morale de droit privé"),
'9970' => array('lib'=>"Groupement de coopération sanitaire à gestion privée", 'art'=>"Groupement de coopération sanitaire à gestion privée"),
'6500' => array('lib'=>"", 'art'=>""),
),
'APEENT' => array(
'000Z' => array('lib'=>"En instance de chiffrement", 'art'=>"En instance de chiffrement"),
@ -3375,6 +3378,13 @@ return array(
'8111' => array('lib'=>"", 'art'=>""),
'452A' => array('lib'=>"", 'art'=>""),
'000Z' => array('lib'=>"", 'art'=>""),
'526D' => array('lib'=>"", 'art'=>""),
'8121' => array('lib'=>"", 'art'=>""),
'7904' => array('lib'=>"", 'art'=>""),
'745A' => array('lib'=>"", 'art'=>""),
'702A' => array('lib'=>"", 'art'=>""),
'702C' => array('lib'=>"", 'art'=>""),
'524X' => array('lib'=>"", 'art'=>""),
),
'APEINSEE' => array(
'000Z' => array('lib'=>"En instance de chiffrement", 'art'=>"En instance de chiffrement"),
@ -4859,6 +4869,13 @@ return array(
'8111' => array('lib'=>"", 'art'=>""),
'452A' => array('lib'=>"", 'art'=>""),
'000Z' => array('lib'=>"", 'art'=>""),
'526D' => array('lib'=>"", 'art'=>""),
'8121' => array('lib'=>"", 'art'=>""),
'7904' => array('lib'=>"", 'art'=>""),
'745A' => array('lib'=>"", 'art'=>""),
'702A' => array('lib'=>"", 'art'=>""),
'702C' => array('lib'=>"", 'art'=>""),
'524X' => array('lib'=>"", 'art'=>""),
),
'APERNCS' => array(
'000Z' => array('lib'=>"En instance de chiffrement", 'art'=>"En instance de chiffrement"),
@ -6343,5 +6360,12 @@ return array(
'8111' => array('lib'=>"", 'art'=>""),
'452A' => array('lib'=>"", 'art'=>""),
'000Z' => array('lib'=>"", 'art'=>""),
'526D' => array('lib'=>"", 'art'=>""),
'8121' => array('lib'=>"", 'art'=>""),
'7904' => array('lib'=>"", 'art'=>""),
'745A' => array('lib'=>"", 'art'=>""),
'702A' => array('lib'=>"", 'art'=>""),
'702C' => array('lib'=>"", 'art'=>""),
'524X' => array('lib'=>"", 'art'=>""),
),
);

View File

@ -15,66 +15,21 @@ Version 411 :
Amélioration des scores
=======================
Suppression fichier
Metier/scores/configMRatios.php
Metier/scores/configMFinancier.php
Définition des fichiers
=======================
Metier/scores/globalCommentaires.php
- Définition des variables disponibles
- Function déclaration global et unset
=>
Créer une classe des variables avec valeur par défaut, définir setter et getter
Pouvoir retirer les déclatations en début de classMScores/calculIndiscore avec phase d'init
Si les var son public on peut accéder par $this->VAR
Metier/scores/Variables/configMRatios.php
- $tva
- $tabVariables
- $tabInfla
- function getInflation
- $tabTxRendObli
- function getTxRendement
- $tabFormules
- function calculRatios
// Valorisation
$tabTxRendObli;
=>
Les fonctions dans classMRatios
Voir les appels
Retirer dans classMRatios, genereCacheIndiscore
Pousser la date companyEvenDateStop
\$([A-Z]) => \$this-\>$1
20140101 => 20150901
Scoring
Comment / Tri V Version N Niveau
Comment / Txt V Version N Niveau
Data / Données tableaux
Base
Report V Version
Metier/scores/Variables/FormulesIndiscore{version}.php
- Conditions, Formules
Metier/scores/Variables/FormulesValo{version}.php
- Conditions, Formules
=>
Les adaptations faites au niveau des variables (globalCommentaires) doivent être repris
dans ce fichier pour la genération ou autres méthodes
Metier/scores/Variables/CommentsIndiscore{version}.php
- $tabCommentaires
- $tabTri
- $tabTriAff
Metier/scores/Variables/CommentsValo{version}.php
- $tabCommentaires
- $tabTri
- $tabTriAff
Principe pour la modification
=============================

View File

@ -2,10 +2,8 @@
/** Auto generated class 2015-02-04 15:45:17*/
class MRatios
{
public $tva = 20.0;
public $efftr = null;
/**
* Donne le taux d'inflation pour une année donnée
* @param unknown $annee
@ -18,7 +16,7 @@ class MRatios
return $tabInfla[$annee];
}
}
/**
* Donne le taux de rendement des actions pour une année donnée
* @param unknown $annee
@ -31,7 +29,24 @@ class MRatios
return $tabTxRendObli[$annee];
}
}
/**
* Taux de tva
* @param string $date AAAAMM
* @return double
*/
public function getTxTva($date)
{
$tabTxTva = include __DIR__ . '/Data/Tva.php';
foreach ($tabTxTva as $ym => $v) {
if ($ym > $date) {
break;
}
$tva = $v;
}
return $tva;
}
/**
* Définit la tranche d'effectif
* @param int $value
@ -40,7 +55,7 @@ class MRatios
{
$this->efftr = $value;
}
/**
* Calcul les ratios
* @param array $bilans
@ -53,16 +68,17 @@ class MRatios
{
$numBil = 0;
foreach ($bilans as $k => $p) {
$millesime = $p['CONSOLIDE'];
$millesime = $p['DATE_CLOTURE'];
$tva = $this->getTxTva(substr($millesime,0,6));
// --- Utilisation des bilans N ou S uniquement
/*if ( !in_array(substr($millesime, 0, 1), array('S', 'N')) ) {
/*if ( !in_array($p['DATE_CLOTURE'], array('S', 'N')) ) {
continue;
}*/
// --- Calcul
$nm=$p['DUREE_MOIS'];
$nmp=$p['DUREE_MOIS_PRE'];
$R=array();

View File

@ -17,7 +17,8 @@ define('INDISCORE_DEBUG', false);
*/
function getIndiscoreHisto($siren)
{
if ($siren<1000) return false;
if (intval($siren) < 1000) return false;
$query="SELECT siren, actif, procol, naf, indiScore, indiScore20, encours, indiScoreDate, dateBilan, sourceModif, scoreSolv, scoreDir, scoreConf, scoreZ, scoreCH, scoreAfdcc1, scoreAfdcc2, scoreAfdcc2note, scoreAltman, scoreAltmanCote, scoreCCF, cs, csMoisMaj, csMoisFin, adresseDom, situFi, infoNote, noteStruct, noteFin, tendance, nbModifs, dateUpdate
FROM jo.scores_surveillance
WHERE siren=$siren
@ -83,8 +84,7 @@ function getIndiscoreCache($siren)
$iDb = new WDB();
$ret = $iDb->query($query);
$tabRet = array();
while( $ret = $iDb->fetch(MYSQL_ASSOC) )
{
while( $ret = $iDb->fetch(MYSQL_ASSOC) ) {
$tabRet[] = array (
'siren' => $ret['siren'],
'actif' => $ret['actif'],
@ -151,88 +151,141 @@ function getScoreSecteur($naf5)
}
/**
* Enter description here ...
* @param unknown_type $nombre
* @param unknown_type $decimales
* @param unknown_type $sepDec
* @param unknown_type $sepMil
* @param unknown_type $unite
* @param unknown_type $signe
* Taux de tva
* @param string $date AAAAMM
* @return double
*/
function number_format2($nombre,$decimales,$sepDec,$sepMil,$unite,$signe) {
if (round($nombre,$decimales)==round($nombre)) $decimales=0;
if ($signe=='+') {
if ($nombre>0)
return '+ '.number_format(abs($nombre),$decimales,$sepDec,$sepMil).'&nbsp;'.$unite;
elseif ($nombre<0)
return '- '.number_format(abs($nombre),$decimales,$sepDec,$sepMil).'&nbsp;'.$unite;
else
return number_format(abs($nombre),$decimales,$sepDec,$sepMil).'&nbsp;'.$unite;
} elseif ($signe=='!') return number_format(abs($nombre),$decimales,$sepDec,$sepMil).'&nbsp;'.$unite;
else return number_format($nombre,$decimales,$sepDec,$sepMil).'&nbsp;'.$unite;
function getTxTva($date)
{
$tabTxTva = include __DIR__ . '/Data/Tva.php';
foreach ($tabTxTva as $ym => $v) {
if ($ym > $date) {
break;
}
$tva = $v;
}
return $tva;
}
/**
* Enter description here ...
* @param unknown_type $ratio
* @param unknown_type $id
* @param unknown_type $unite
* @param unknown_type $forceSigne
* Donne le taux de rendement des actions pour une année donnée
* @param unknown $annee
* @return unknown
*/
function getTxRendement($annee)
{
$tabTxRendObli = include __DIR__ . '/Data/RendObli.php';
if ( isset($tabTxRendObli[$annee]) ) {
return $tabTxRendObli[$annee];
}
}
/**
* Formattage élément numéraire en texte
* @param number $nombre
* @param int $decimales
* @param string $sepDec
* @param string $sepMil
* @param string $unite
* @param string $signe
*/
function number_format2($nombre,$decimales,$sepDec,$sepMil,$unite,$signe)
{
if (round($nombre,$decimales) == round($nombre)) {
$decimales = 0;
}
if ($signe == '+') {
if ($nombre > 0) {
return '+ '.number_format(abs($nombre),$decimales,$sepDec,$sepMil).'&nbsp;'.$unite;
} elseif ($nombre<0) {
return '- '.number_format(abs($nombre),$decimales,$sepDec,$sepMil).'&nbsp;'.$unite;
} else {
return number_format(abs($nombre),$decimales,$sepDec,$sepMil).'&nbsp;'.$unite;
}
} elseif ($signe=='!') {
return number_format(abs($nombre),$decimales,$sepDec,$sepMil).'&nbsp;'.$unite;
} else {
return number_format($nombre,$decimales,$sepDec,$sepMil).'&nbsp;'.$unite;
}
}
/**
* Formatte les entités Ratio en mode texte
* @param array $ratio
* @param string $id
* @param string $unite
* @param string $forceSigne
* @return string
*/
function formatRatio($ratio, $id, $unite, $forceSigne='')
{
switch (trim(strtoupper($unite))) {
case 'EU':
case 'EUR':
if ($ratio[$id]>=0 && $ratio[$id]<5000 ||
$ratio[$id]>-5000 && $ratio[$id]<=0) return number_format2($ratio[$id],0,',',' ','&euro;', $forceSigne);
elseif ($ratio[$id]<=-10000000 ||
$ratio[$id]>=10000000) return number_format2($ratio[$id]/1000000,0,',',' ','M&euro;', $forceSigne);
else return number_format2($ratio[$id]/1000,0,',',' ','K&euro;', $forceSigne);
break;
case '%':
if ($ratio[$id]>=0 && $ratio[$id]<10) return number_format2($ratio[$id],1,',',' ','%', $forceSigne);
elseif ($ratio[$id]>-10 && $ratio[$id]<0) return number_format2($ratio[$id],1,',',' ','%', $forceSigne);
else return number_format2($ratio[$id],0,',',' ','%', $forceSigne);
break;
case 'AN':
if ($ratio[$id]>=-1 && $ratio[$id]<=1)
return number_format2($ratio[$id],0,',',' ','an', $forceSigne);
else
return number_format2($ratio[$id],0,',',' ','ans', $forceSigne);
break;
case 'JOURS':
if ($ratio[$id]<0) $signe=-1; else $signe=1;
$vabsolue=abs($ratio[$id]);
$an=0;
while ($vabsolue>360) {
$vabsolue=$vabsolue-360;
$an++;
}
if ($an>1)
return number_format2($an*$signe,0,',',' ','ans', $forceSigne);
elseif ($an==1)
return number_format2($an*$signe,0,',',' ','an', $forceSigne);
elseif ($vabsolue<=1)
return number_format2($vabsolue*$signe,0,',',' ','jour', $forceSigne);
else
return number_format2($vabsolue*$signe,0,',',' ','jours', $forceSigne);
break;
case 'PERS': return number_format2($ratio[$id],0,',',' ', 'salarié(s)', $forceSigne);
break;
case 'U': return number_format2($ratio[$id],1,',',' ', '', $forceSigne);
break;
default: break;
}
return $ratio[$id].' '.$unite;
case 'EU':
case 'EUR':
if ($ratio[$id] >= 0 && $ratio[$id] < 5000 || $ratio[$id] > -5000 && $ratio[$id] <= 0) {
return number_format2($ratio[$id],0,',',' ','&euro;', $forceSigne);
} elseif ($ratio[$id] <= -10000000 || $ratio[$id] >= 10000000) {
return number_format2($ratio[$id]/1000000,0,',',' ','M&euro;', $forceSigne);
} else {
return number_format2($ratio[$id]/1000,0,',',' ','K&euro;', $forceSigne);
}
break;
case '%':
if ($ratio[$id] >= 0 && $ratio[$id] < 10) {
return number_format2($ratio[$id],1,',',' ','%', $forceSigne);
} elseif ($ratio[$id] > -10 && $ratio[$id] < 0) {
return number_format2($ratio[$id],1,',',' ','%', $forceSigne);
} else {
return number_format2($ratio[$id],0,',',' ','%', $forceSigne);
}
break;
case 'AN':
if ($ratio[$id] >= -1 && $ratio[$id] <= 1) {
return number_format2($ratio[$id],0,',',' ','an', $forceSigne);
} else {
return number_format2($ratio[$id],0,',',' ','ans', $forceSigne);
}
break;
case 'JOURS':
if ($ratio[$id] < 0) {
$signe=-1;
} else {
$signe=1;
}
$vabsolue = abs($ratio[$id]);
$an = 0;
while ($vabsolue>360) {
$vabsolue = $vabsolue-360;
$an++;
}
if ($an>1) {
return number_format2($an*$signe,0,',',' ','ans', $forceSigne);
} elseif ($an == 1) {
return number_format2($an*$signe,0,',',' ','an', $forceSigne);
} elseif ($vabsolue <= 1) {
return number_format2($vabsolue*$signe,0,',',' ','jour', $forceSigne);
} else {
return number_format2($vabsolue*$signe,0,',',' ','jours', $forceSigne);
}
break;
case 'PERS':
return number_format2($ratio[$id],0,',',' ', 'salarié(s)', $forceSigne);
break;
case 'U':
return number_format2($ratio[$id],1,',',' ', '', $forceSigne);
break;
default:
break;
}
return $ratio[$id].' '.$unite;
}
/**
* Fomattage des variables pour affichage
* @param unknown_type $variable
* @param unknown_type $longeur
* @param unknown_type $fonction
* @param string $variable
* @param int $longeur
* @param string $fonction
* @return unknown|string|mixed|Ambigous <string, unknown>
*/
function formatValeur($variable, $longeur=0, $fonction='')
@ -245,11 +298,12 @@ function formatValeur($variable, $longeur=0, $fonction='')
//@todo : Delete
global $tabVariables, $$nomVar;
if ( isset($tabVariables[$nomVar]) )
{
// --- Gestion des valeurs présentent dans un tableau de variables
if ( isset($tabVariables[$nomVar]) ) {
if ($longeur>0) {
return $variable;
} else {
// Tableau ZEMET
if ($nomVar=='ZEMET') {
global $RPET, $DateNotice80;
if ( substr($DateNotice80,0,4)>=2010 ) {
@ -257,7 +311,7 @@ function formatValeur($variable, $longeur=0, $fonction='')
} else {
$tableZemet = 'ZEMET1994';
}
// Cette variable a un libellé associé
if (isset($tabVariables[$tableZemet][$RPET.$ZEMET]['art'])) {
return $tabVariables[$tableZemet][$RPET.$ZEMET]['art'];
} else {
@ -273,35 +327,28 @@ function formatValeur($variable, $longeur=0, $fonction='')
}
}
}
elseif (preg_match('/DATE$/', $nomVar))
{
elseif (preg_match('/DATE$/', $nomVar)) {
$strTmp = eval("return $valeur;");
return preg_replace('/00\//','01/', $classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$strTmp),0,8)));
}
elseif (preg_match('/DATEp[0-9]{0,}$/', $nomVar))
{
global $DATEp;
elseif (preg_match('/DATEp[0-9]{0,}$/', $nomVar)) {
$strTmp=eval("return $valeur;");
return preg_replace('/00\//','01/', $classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$strTmp),0,8)));
}
elseif (preg_match('/MMAA$/', $nomVar))
{
elseif (preg_match('/MMAA$/', $nomVar)) {
//DELAIPAY_MMAA ne marche pas !
$strTmp=eval("return $valeur;");
return $classWdate->dateT('Y-m','M Y', $strTmp);
}
elseif (preg_match('/_MT$/', $nomVar))
{
elseif (preg_match('/_MT$/', $nomVar)) {
$strTmp=eval("return $valeur;");
return number_format($strTmp,2,',',' ').'&nbsp;&euro;';
}
elseif (preg_match('/_NB$/', $nomVar))
{
elseif (preg_match('/_NB$/', $nomVar)) {
$strTmp=eval("return $valeur;");
return number_format($strTmp,0,',',' ');
}
elseif (preg_match('/_EU$/', $nomVar))
{
elseif (preg_match('/_EU$/', $nomVar)) {
$strTmp=eval("return $valeur;");
if ($strTmp>=0 && $strTmp<10 || $strTmp>-10 && $strTmp<=0)
return number_format($strTmp,2,',',' ').'&nbsp;&euro;';
@ -312,164 +359,109 @@ function formatValeur($variable, $longeur=0, $fonction='')
else
return number_format($strTmp/1000,0,',',' ').'&nbsp;K&euro;';
}
elseif (preg_match('/_POURC$/', $nomVar))
{
elseif (preg_match('/_POURC$/', $nomVar)) {
$strTmp=eval("return $valeur;");
if ($strTmp>=10 || $strTmp<=-10)
return number_format($strTmp,0,',',' ').'&nbsp;%';
elseif ($strTmp>=1 || $strTmp<=-1)
return number_format($strTmp,1,',',' ').'&nbsp;%';
return number_format($strTmp,1,',',' ').'&nbsp;%';
else
return number_format($strTmp,3,',',' ').'&nbsp;%';
}
elseif (preg_match('/CAPITAL$/', $nomVar))
{
global $CAPITAL;
elseif (preg_match('/CAPITAL$/', $nomVar)) {
return number_format($CAPITAL,0,',', ' ').' &euro;';
}
elseif (preg_match('/CAPITAL_PRE$/', $nomVar))
{
global $CAPITAL_PRE;
elseif (preg_match('/CAPITAL_PRE$/', $nomVar)) {
return number_format($CAPITAL_PRE,0,',',' ').'&nbsp;&euro;';
}
elseif (preg_match('/CAPITAL_MTACTION$/', $nomVar))
{
global $CAPITAL_MTACTION;
elseif (preg_match('/CAPITAL_MTACTION$/', $nomVar)) {
return number_format($CAPITAL_MTACTION,0,',',' ').'&nbsp;&euro;';
}
elseif (preg_match('/CAPITAL_NBACTION$/', $nomVar))
{
global $CAPITAL_NBACTION;
elseif (preg_match('/CAPITAL_NBACTION$/', $nomVar)) {
return number_format($CAPITAL_NBACTION,0,',',' ');
}
elseif (preg_match('/^CAESTIME$/', $nomVar))
{
global $CAESTIME;
elseif (preg_match('/^CAESTIME$/', $nomVar)) {
return number_format($CAESTIME/1000,0,',',' ').'&nbsp;k&euro;';
}
elseif (preg_match('/^CABIOUES$/', $nomVar))
{
global $CABIOUES;
elseif (preg_match('/^CABIOUES$/', $nomVar)) {
return number_format($CABIOUES/1000,0,',',' ').'&nbsp;k&euro;';
}
elseif (preg_match('/DIMMAT$/', $nomVar))
{
global $DIMMAT;
elseif (preg_match('/DIMMAT$/', $nomVar)) {
return preg_replace('/00\//','01/', $classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$DIMMAT),0,8)));
}
elseif (preg_match('/DCREN$/',$nomVar))
{
elseif (preg_match('/DCREN$/',$nomVar)) {
return preg_replace('/00\//','01/', $classWdate->dateT('Ymd','d/m/Y', substr(str_replace('-','',$DCREN),0,8)));
}
elseif (preg_match('/MARCHEVOL$/', $nomVar))
{
global $MARCHEVOL;
elseif (preg_match('/MARCHEVOL$/', $nomVar)) {
if (abs($MARCHEVOL)>=5) return round($MARCHEVOL).' %';
else return number_format($MARCHEVOL,3,',',' ').'&nbsp;%';
}
elseif (preg_match('/MARCHEPART$/', $nomVar))
{
global $MARCHEPART;
elseif (preg_match('/MARCHEPART$/', $nomVar)) {
if (abs($MARCHEPART)>=5) return round($MARCHEPART).' %';
else return number_format($MARCHEPART,3,',',' ').'&nbsp;%';
}
elseif (preg_match('/MARCHEPARTp$/', $nomVar))
{
global $MARCHEPARTp;
elseif (preg_match('/MARCHEPARTp$/', $nomVar)) {
if (abs($MARCHEPARTp)>=5) return round($MARCHEPARTp).' %';
else return number_format($MARCHEPARTp,3,',',' ').'&nbsp;%';
}
elseif (preg_match('/MARCHEPARTEVOL$/', $nomVar))
{
global $MARCHEPARTEVOL;
elseif (preg_match('/MARCHEPARTEVOL$/', $nomVar)) {
if (abs($MARCHEPARTEVOL)>=5) return round($MARCHEPARTEVOL).' %';
else return number_format($MARCHEPARTEVOL,3,',',' ').'&nbsp;%';
}
elseif (preg_match('/MARCHE$/', $nomVar))
{
global $MARCHE;
elseif (preg_match('/MARCHE$/', $nomVar)) {
if ($MARCHE<10000) return number_format($MARCHE,0,',',' ').'&nbsp;&euro;';
elseif ($MARCHE<1000000) return number_format($MARCHE/1000,0,',',' ').'&nbsp;K&euro;';
elseif ($MARCHE<1000000000) return number_format($MARCHE/1000000,0,',',' ').'&nbsp;M&euro;';
else return number_format($MARCHE/1000000000,0,',',' ').' milliards d\'&euro;';
}
elseif (preg_match('/MARCHEp$/', $nomVar))
{
global $MARCHEp;
elseif (preg_match('/MARCHEp$/', $nomVar)) {
if ($MARCHEp<10000) return number_format($MARCHEp,0,',',' ').'&nbsp;&euro;';
elseif ($MARCHEp<1000000) return number_format($MARCHEp/1000,0,',',' ').'&nbsp;K&euro;';
elseif ($MARCHEp<1000000000)return number_format($MARCHEp/1000000,0,',',' ').'&nbsp;M&euro;';
else return number_format($MARCHEp/1000000000,0,',',' ').' milliards d\'&euro;';
}
elseif (preg_match('/^CA_Y\[(.*)\]/U', $nomVar, $matches2))
{
global $CA_Y;
elseif (preg_match('/^CA_Y\[(.*)\]/U', $nomVar, $matches2)) {
return number_format($CA_Y[$matches2[1]]/1000,0,',',' ').' K&euro;';
}
elseif (preg_match('/^RCAI_Y\[(.*)\]/U', $nomVar, $matches2))
{
global $RCAI_Y;
elseif (preg_match('/^RCAI_Y\[(.*)\]/U', $nomVar, $matches2)) {
return number_format($RCAI_Y[$matches2[1]]/1000,0,',',' ').' K&euro;';
}
elseif (preg_match('/(_COEF|_TAUX)$/', $nomVar))
{
elseif (preg_match('/(_COEF|_TAUX)$/', $nomVar)) {
$strTmp=eval("return $valeur;");
return number_format($strTmp,2,',','').'&nbsp;%';
}
elseif (preg_match('/^SIREN$/', $nomVar))
{
global $SIREN;
elseif (preg_match('/^SIREN$/', $nomVar)) {
return sprintf("%09s", $SIREN);
}
elseif (preg_match('/^SIRET$/', $nomVar))
{
global $SIRET;
elseif (preg_match('/^SIRET$/', $nomVar)) {
return sprintf("%09s", substr($SIRET,0,9)).chr(160).substr($SIRET,-5);
}
elseif (preg_match('/^SIRENMERE$/', $nomVar))
{
global $SIRENMERE;
elseif (preg_match('/^SIRENMERE$/', $nomVar)) {
return sprintf("%09s", $SIRENMERE);
}
elseif (preg_match('/^SIRETMERE$/', $nomVar))
{
global $SIRETMERE;
elseif (preg_match('/^SIRETMERE$/', $nomVar)) {
return sprintf("%09s", substr($SIRETMERE,0,9)).chr(160).substr($SIRETMERE,-5);
}
elseif (preg_match('/^SIRENFILLE$/', $nomVar))
{
global $SIRENFILLE;
elseif (preg_match('/^SIRENFILLE$/', $nomVar)) {
return sprintf("%09s", $SIRENFILLE);
}
elseif (preg_match('/^SIRETFILLE$/', $nomVar))
{
global $SIRETFILLE;
elseif (preg_match('/^SIRETFILLE$/', $nomVar)) {
return sprintf("%09s", substr($SIRETFILLE,0,9)).chr(160).substr($SIRETFILLE,-5);
}
elseif (preg_match('/^TVAINTRA$/', $nomVar))
{
global $TVAINTRA;
elseif (preg_match('/^TVAINTRA$/', $nomVar)) {
return substr($TVAINTRA,0,2).' '.substr($TVAINTRA,2,2).' '.substr($TVAINTRA,4);
}
elseif (preg_match('/^DELAIPAY$/', $nomVar))
{
global $DELAIPAY;
elseif (preg_match('/^DELAIPAY$/', $nomVar)) {
return number_format($DELAIPAY,0,',',' ').' jours';
}
elseif (preg_match('/^DELAIPAYp$/', $nomVar))
{
global $DELAIPAYp;
elseif (preg_match('/^DELAIPAYp$/', $nomVar)) {
return number_format($DELAIPAYp,0,',',' ').' jours';
}
elseif (preg_match('/^SCOREDEFTAUX$/', $nomVar))
{
global $SCOREDEFTAUX;
elseif (preg_match('/^SCOREDEFTAUX$/', $nomVar)) {
if ($SCOREDEFTAUX>=5) return round($SCOREDEFTAUX).' %';
else return number_format($SCOREDEFTAUX,3,',',' ').'&nbsp;%';
}
elseif (preg_match('/BILANANNEE$/', $nomVar))
{
global $BILANANNEE;
elseif (preg_match('/BILANANNEE$/', $nomVar)) {
return $BILANANNEE;
}
@ -511,41 +503,41 @@ function format($matches)
elseif ($matches2[1]=='!') $forceSigne='!';
else $forceSigne='';
if ($tmpRatio=='R')
return formatRatio($R, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($R, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
elseif ($tmpRatio=='Rp')
return formatRatio($Rp, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($Rp, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
elseif ($tmpRatio=='Rp2')
return formatRatio($Rp2, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($Rp2, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
elseif ($tmpRatio=='Rp3')
return formatRatio($Rp3, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($Rp3, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
elseif ($tmpRatio=='Rp4')
return formatRatio($Rp4, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($Rp4, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
elseif ($tmpRatio=='Ra')
return formatRatio($Ra, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($Ra, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
elseif ($tmpRatio=='Rap')
return formatRatio($Rap, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($Rap, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
elseif ($tmpRatio=='Rs')
return formatRatio($Rs, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($Rs, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
elseif ($tmpRatio=='Rsp')
return formatRatio($Rsp, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($Rsp, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
elseif ($tmpRatio=='Rsp2')
return formatRatio($Rsp2, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($Rsp2, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
elseif ($tmpRatio=='Rsp3')
return formatRatio($Rsp3, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($Rsp3, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
elseif ($tmpRatio=='Rsp4')
return formatRatio($Rsp4, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($Rsp4, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
elseif ($tmpRatio=='Revol')
return formatRatio($Revol, $tmpRatioId, '%', $forceSigne);
return formatRatio($Revol, $tmpRatioId, '%', $forceSigne);
elseif ($tmpRatio=='Rdiff')
return formatRatio($Rdiff, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($Rdiff, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
elseif ($tmpRatio=='Revolp')
return formatRatio($Revolp, $tmpRatioId, '%', $forceSigne);
return formatRatio($Revolp, $tmpRatioId, '%', $forceSigne);
elseif ($tmpRatio=='Revolp2')
return formatRatio($Revolp2, $tmpRatioId, '%', $forceSigne);
return formatRatio($Revolp2, $tmpRatioId, '%', $forceSigne);
elseif ($tmpRatio=='Revolp3')
return formatRatio($Revolp3, $tmpRatioId, '%', $forceSigne);
return formatRatio($Revolp3, $tmpRatioId, '%', $forceSigne);
elseif ($tmpRatio=='regR')
return formatRatio($regR, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
return formatRatio($regR, $tmpRatioId, strtoupper($tabFormulesRatios[$tmpRatioId]['unite']), $forceSigne);
} elseif (preg_match('/\$\{(.*)\((\d+)\)\}/Ui', $strRetour, $matches2)) {
$tmpVar=$matches2[1];
@ -590,7 +582,7 @@ function PROJEC($valeur, $nbAnnees)
*/
function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mailDebug=true, $type = 'scores', $sourceModif='jour', $db = null)
{
$timer = array('debutIndiscore'=>microtime(true));
$timer = array('debutIndiscore'=>microtime(true));
if (strlen($siren)>9 || (substr(''.$siren,0,9)*1)<100 ) {
debugLog('W', "Siren $siren incorrect", __LINE__, __FILE__, __FUNCTION__, __CLASS__);
return false;
@ -601,8 +593,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
global $tabInfla;
global $tabFormules;
global $tabFormulesRatios;
global $mBil;
global $efftr;
global $tabRatiosInfos;
global $tabVariables;
@ -626,7 +616,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
} else {
$iDb = $db;
}
$iRncs = new MRncs($iDb);
$iInsee = new MInsee($iDb);
/**
@ -640,6 +630,8 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
return false;
}
$tva = getTxTva(date('Ym'));
if ( !in_array($type, array('scores', 'valo')) ) {
$type = 'scores';
}
@ -843,7 +835,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$timer['getInfosNotice'] = microtime(true);
$RECME=$tabIden80['insRECME'];
$ZEMET=$tabIden80['insZEMET'];
$REPET=$tabIden80['insRPET'];
$RPET=$tabIden80['insRPET'];
$RPEN=$tabIden80['insRPEN'];
$DateNotice80=$tabIden80['dateNotice'];
$depcomen=$tabIden80['insDEPCOMEN']*1;
@ -852,6 +844,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
/**
* Différences INSEE/RNCS
*/
$iRncs = new MRncs($iDb);
$tabIdentiteRncs=$iRncs->getInfosEntrep($siren);
$ACTIFRNCS=$tabIdentiteRncs['actif'];
$ACTIFINSEE=$tabIdentite['Actif'];
@ -1077,9 +1070,9 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
$R = $tabRatiosNew[0];
$Rp = $tabRatiosNew[1];
$Rp = $tabRatiosNew[1]; // Ratios précédents N-1
$Rp2= $tabRatiosNew[2]; // Ratios précédents N-2
$Rp3= $tabRatiosNew[3]; // Ratios précédents N-2
$Rp3= $tabRatiosNew[3]; // Ratios précédents N-3
$Rp4= $tabRatiosNew[4]; // Ratios précédents N-4
$Rdiff = $tabRatiosDiff[0];
@ -1320,11 +1313,11 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
/** Divers éléments calculés **/
$iInsee->AnnoncesLegalesVisu = true;
$CompanyAnnonces = $iInsee->getAnnoncesLegales($siren);
$companyAnnonces = $iInsee->getAnnoncesLegales($siren);
$iInsee->AnnoncesLegalesVisu = false;
// Annonces de dépôt des comptes
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, 'C');
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, 'C');
$nbDepotCpt = count($tabDepotCpt);
$nbMoisMax = 0;
$ANNONCEBODCMANQDATE = false;
@ -1395,7 +1388,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|| ($nbMoisBilDate-1) == $nbMoisBilCumul ) {
$ANNONCEBODCREGUL = 1;
// Annonces BODACC de changement de date d'exercice
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, array(2303));
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(2303));
if (count($tabDepotCpt)>0) $ANNONCEBODCREGUL = 2;
}
@ -1414,7 +1407,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
// Annonces BODACC A
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, 'BODA');
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, 'BODA');
$nbDepotA = count($tabDepotCpt);
if ($nbDepotA > 0) {
foreach ($tabDepotCpt as $iDep => $depot) {
@ -1448,7 +1441,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
// Annonces BODACC B
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, 'BODB');
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, 'BODB');
if (is_array($tabDepotCpt) && count($tabDepotCpt) > 0){
foreach ($tabDepotCpt as $iDep => $depot) {
if ($iDep == 0) {
@ -1477,7 +1470,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
// Annonces BODACC Changement d'adresse
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, array(2300,2301,2901,2902,2903,2904));
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(2300,2301,2901,2902,2903,2904));
if (is_array($tabDepotCpt) && count($tabDepotCpt) > 0){
foreach ($tabDepotCpt as $iDep => $depot) {
if ($iDep == 0) {
@ -1488,7 +1481,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
// Annonces BODACC Changement de dirigeant
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, array(2315));
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(2315));
if (is_array($tabDepotCpt) && count($tabDepotCpt) > 0){
foreach ($tabDepotCpt as $iDep => $depot) {
if ($iDep==0) {
@ -1505,7 +1498,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
// Annonces BODACC Changement de FJur
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, array(2307));
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(2307));
if (is_array($tabDepotCpt) && count($tabDepotCpt) > 0){
foreach ($tabDepotCpt as $iDep => $depot) {
if ($iDep==0) {
@ -1526,7 +1519,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
* 2721 Fusion/Absorption (entitée absorbée non identifiée)
* 2725 Fusion/Absorption
*/
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, array(2700,2701,2702,2703,2710,2720,2721,2725,2726,2730,2740));
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(2700,2701,2702,2703,2710,2720,2721,2725,2726,2730,2740));
if (is_array($tabDepotCpt) && count($tabDepotCpt) > 0){
foreach ($tabDepotCpt as $iDep=>$depot) {
if ($iDep == 0) {
@ -1560,7 +1553,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
// Annonces BODACC Changement de capital
$annCapPre = 0;
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, array(2100,2101,2102));
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(2100,2101,2102));
$tabDepotCpt = array_reverse($tabDepotCpt);
$CAPITAL_PRE = 0;
if (is_array($tabDepotCpt) && count($tabDepotCpt)>0) {
@ -1639,7 +1632,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
// Annonces BODACC Cessation d'activité avec dissolution
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, array(2202,2203,2204,2210,2212));
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(2202,2203,2204,2210,2212));
if (is_array($tabDepotCpt) && count($tabDepotCpt)>0){
foreach ($tabDepotCpt as $iDep=>$depot) {
if ($BILANDATE<str_replace('-','',$depot['DateParution'])*1) {
@ -1651,7 +1644,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
// Annonces BODACC Poursuite de l'activité malgré la perte de plus de la moitié du capital social
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, array(2314,2319));
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(2314,2319));
if (is_array($tabDepotCpt) && count($tabDepotCpt)>0){
foreach ($tabDepotCpt as $iDep => $depot) {
$ANNONCEPOURSDATE = $ANNONCEDISSONONDATE = $depot['DateParution'];
@ -1661,7 +1654,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
// Annonces BODACC Reconsitution de l'actif net ou de la moitié
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, array(2320,2321));
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(2320,2321));
if (is_array($tabDepotCpt) && count($tabDepotCpt)>0){
foreach ($tabDepotCpt as $iDep => $depot) {
$ANNONCERECONDATE = $depot['DateParution'];
@ -1671,7 +1664,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
// Annonces BODACC Location gérance reçue
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, array(2800,2880,4355));
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(2800,2880,4355));
if (is_array($tabDepotCpt) && count($tabDepotCpt)>0){
foreach ($tabDepotCpt as $iDep => $depot) {
$ANNONCELOCDATE = $depot['DateParution'];
@ -1681,7 +1674,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
// Annonces BODACC Mise en sommeil de la société
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, array(2206));
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(2206));
if (is_array($tabDepotCpt) && count($tabDepotCpt)>0){
foreach ($tabDepotCpt as $iDep => $depot) {
$ANNONCESOMMDATE = $depot['DateParution'];
@ -1695,7 +1688,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
if ($tabIdentite['SituationJuridique']=='P') {
$ANNONCEPC='Procédure Collective';
$tabProCol = $iInsee->annoncesFilter($CompanyAnnonces, 'P');
$tabProCol = $iInsee->annoncesFilter($companyAnnonces, 'P');
foreach ($tabProCol as $iProcol=>$procol) {
foreach ($procol['evenements'] as $even) {
if ($iProcol==0) $ANNONCEPC=$even['LibEven'];
@ -1713,10 +1706,8 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
case 1312: // Liquidation Judiciaire avec continuation d'exploitation
case 1313: // Liquidation Judiciaire sans remise des accessoires
case 1417: // Jugement d'extension de liquidation judiciaire
// Annonce de liquidation judiciaire
$ANNONCELJ=true;
// Date de l'annonce LJ
$ANNONCELJDATE=$procol['dateJugement'];
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
@ -1793,7 +1784,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$ANNONCEPCHISTO = true;
$ELIMINE = false;
$ANNONCEPC = 'Plan de continuation/redressement';
$tabProCol = $iInsee->annoncesFilter($CompanyAnnonces, 'P');
$tabProCol = $iInsee->annoncesFilter($companyAnnonces, 'P');
foreach ($tabProCol as $iProcol => $procol) {
foreach ($procol['evenements'] as $even) {
if ($iProcol==0) $ANNONCEPC=$even['LibEven'];
@ -1849,13 +1840,10 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$PLANMODIF=true;
$ANNONCEPLANMODIFDATE=$ANNONCEDATE=$procol['dateJugement'];
break;
case 1411: // Arrêt du plan de cession
case 1414: // Arrêt du plan de redressement
$ANNONCEPLANFINDATE=$procol['dateFinObservation'];
if (substr($ANNONCEPLANFINDATE,0,4)*1==0) $ANNONCEPLANFINDATE='';
/** @todo $ANNONCEPLANDUREE='';
**/
case 1412: // Arrêt du plan de cession partielle
case 1413: // Arrêt du plan de continuation
case 1101: // Jugement arrêtant plan de sauvegarde
@ -1865,7 +1853,6 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
elseif ($even['CodeEven']*1==1413) $ANNONCEPLAN='continuation';
elseif ($even['CodeEven']*1==1414) $ANNONCEPLAN='redressement';
elseif ($even['CodeEven']*1==1101) $ANNONCEPLAN='sauvegarde';
// Date de l'annonce de plan
$ANNONCEPLANDATE=$procol['dateJugement'];
$ANNONCEDATE=$ANNONCEPCDATE=$procol['dateJugement'];
@ -1884,7 +1871,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
}
} else {
$tabProCol = $iInsee->annoncesFilter($CompanyAnnonces, 'PH');
$tabProCol = $iInsee->annoncesFilter($companyAnnonces, 'PH');
if (count($tabProCol)>0) $ANNONCEPCHISTO=true;
else $ANNONCEPCHISTO=false;
if ($tabIdentite['Actif']==0) $ELIMINE=true;
@ -1892,7 +1879,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
/** Annonces d'Homologation **/
$tabDepotCpt = $iInsee->annoncesFilter($CompanyAnnonces, array(1050,1550));
$tabDepotCpt = $iInsee->annoncesFilter($companyAnnonces, array(1050,1550));
if (is_array($tabDepotCpt) && count($tabDepotCpt)>0){
foreach ($tabDepotCpt as $iDep=>$depot) {
if ($iDep==0)
@ -1902,7 +1889,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
}
/** Ventes Cessions en tant que vendeur **/
$tabProCol = $iInsee->annoncesFilter($CompanyAnnonces, 'V');
$tabProCol = $iInsee->annoncesFilter($companyAnnonces, 'V');
$ANNONCEVC=0; // Nombre d'annonce de VC (vendeur)
$ANNONCEVC_OBJ=$ANNONCEVCDATE=$ANNONCEVC_MT='';
foreach ($tabProCol as $iProcol=>$procol) {
@ -2538,37 +2525,44 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$nivRisquePaiement=$infoFacto[0]['risque'];
$MODIFPAIDATE=$infoFacto[0]['DateEven'];
switch ($infoFacto[0]['CodeRisque']) {
case 'OK': $COTEOK=true;
$COTEOK_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
if ($noteSolvabilite>=40 && $noteSolvabilite<=45) $noteSolvabilite+=5;
$CSFACTO=0;
break;
case 'IP': $IMPAYE=true;
$IMPAYE_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='I';
$profilPayeur=5;
break;
case 'PR': $PRIVILEGES=true;
$PRIVILEGES_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='P';
$profilPayeur=5;
break;
case 'RG': $RISQUEGROUPE=true;
$RISQUEGROUPE_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO=24; $SCOREDIRI-=10;
break;
case 'DEF': $DEFAUT=true;
$DEFAUT_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='D';
break;
case 'LC': $LCASSUR=true;
$LCASSUR_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='T';
break;
case 'KO': $noteSolvabilite=$SCORECONF=$SCOREDIRI=0;
$CSFACTO=50;
$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
break;
case 'OK':
$COTEOK=true;
$COTEOK_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
if ($noteSolvabilite>=40 && $noteSolvabilite<=45) $noteSolvabilite+=5;
$CSFACTO=0;
break;
case 'IP':
$IMPAYE=true;
$IMPAYE_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='I';
$profilPayeur=5;
break;
case 'PR':
$PRIVILEGES=true;
$PRIVILEGES_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='P';
$profilPayeur=5;
break;
case 'RG':
$RISQUEGROUPE=true;
$RISQUEGROUPE_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO=24; $SCOREDIRI-=10;
break;
case 'DEF':
$DEFAUT=true;
$DEFAUT_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='D';
break;
case 'LC':
$LCASSUR=true;
$LCASSUR_MMAA=$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
$CSFACTO='T';
break;
case 'KO':
$noteSolvabilite=$SCORECONF=$SCOREDIRI=0;
$CSFACTO=50;
$CSFACTO_MMAA=$classWdate->dateT('Y-m-d', 'Ym', $infoFacto[0]['DateEven']);
break;
default:
if ($iFacto->risqueImpaye) {
$RISQUEIMPAYE_MMAA=$iFacto->risqueImpayeMois;
@ -2838,8 +2832,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
else $plafond=15000;
if ($ENCOURS>$plafond) $ENCOURS=$plafond;
/** Plafond si encours estimé
**/
// Plafond si encours estimé
if ($noteSolvabilite<50) $plafondEstime=$plafond/10;
else $plafondEstime=$plafond/25;
if ($encoursEstime>$plafondEstime) $encoursEstime=$plafondEstime;
@ -2876,17 +2869,15 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
if ($ENCOURS==0 &&
!$IMPAYE && !$PRIVILEGES && !$RISQUEGROUPE && !$DEFAUT &&
!$LCASSUR && $CSFACTO<>50 && !$RISQUEIMPAYE) {
//if ($FJUR2==16) $ENCOURS=4000; // CA estimé par défaut pour agriculteur : 150000
//else
$ENCOURS=$CAESTIME/36;
if ($noteSolvabilite>=50 && $AGE>=120) $plafond=7000;
elseif ($noteSolvabilite>=45 && $AGE>=60) $plafond=5000;
elseif ($noteSolvabilite>=45 && $AGE>=36) $plafond=3000;
elseif ($noteSolvabilite>=55) $plafond=2000;
if ( $DELAIPAY>$DELAIPAYp && $DELAIPAYp>0 && $DELAIPAY<=90 )
$plafond=$plafond/2;
elseif ($DELAIPAY>90) $plafond=0;
if ($ENCOURS>$plafond) $ENCOURS=$plafond;
$ENCOURS=$CAESTIME/36;
if ($noteSolvabilite>=50 && $AGE>=120) $plafond=7000;
elseif ($noteSolvabilite>=45 && $AGE>=60) $plafond=5000;
elseif ($noteSolvabilite>=45 && $AGE>=36) $plafond=3000;
elseif ($noteSolvabilite>=55) $plafond=2000;
if ( $DELAIPAY>$DELAIPAYp && $DELAIPAYp>0 && $DELAIPAY<=90 )
$plafond=$plafond/2;
elseif ($DELAIPAY>90) $plafond=0;
if ($ENCOURS>$plafond) $ENCOURS=$plafond;
}
break;
case 18: // Associé Gérant de société
@ -2915,15 +2906,14 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
if ($classWdate->nbMoisEntre($BILANDATE,date('Ymd'))>=30) $BILANMANQUE=true;
else $BILANMANQUE=false;
$ENCOURS=$CAESTIME/72;
if ($noteSolvabilite>=40 && $ENCOURS<5000) $ENCOURS=5000;
if ($noteSolvabilite> 65) $plafond=200000;
elseif ($noteSolvabilite> 60) $plafond=150000;
elseif ($noteSolvabilite> 55) $plafond=100000;
elseif ($noteSolvabilite>=50) $plafond=50000;
elseif ($noteSolvabilite>=45) $plafond=10000;
else $plafond=5000;
if ($ENCOURS>$plafond) $ENCOURS=$plafond;
//@sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : ASSOCIATION", print_r($tabTmp,true)."$EFFECTIF=$EFFECTIF\n$CAESTIME=$caSecteur*$EFFECTIF ($efftr)");
if ($noteSolvabilite>=40 && $ENCOURS<5000) $ENCOURS=5000;
if ($noteSolvabilite> 65) $plafond=200000;
elseif ($noteSolvabilite> 60) $plafond=150000;
elseif ($noteSolvabilite> 55) $plafond=100000;
elseif ($noteSolvabilite>=50) $plafond=50000;
elseif ($noteSolvabilite>=45) $plafond=10000;
else $plafond=5000;
if ($ENCOURS>$plafond) $ENCOURS=$plafond;
$libEncours='Il est préférable de demander un enquête commerciale sur les organisations, associations et fondations.';
} else {
$ENCOURSCALC=$ENCOURS;
@ -3481,10 +3471,11 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
if ( $type == 'valo' ) {
$TAUXRA=$tabTxRendObli;
$tabTxRendObli = getTxRendement(date('Y'));
$TAUXRA = $tabTxRendObli;
/** Tableau des taux de rendement **/
$tabTmp=$tabTxRendObli;
$tabTmp = $tabTxRendObli;
krsort($tabTmp);
foreach ($tabTmp as $iTmp=>$tabTmp2) {
if ($iTmp==0) { $tmpTxN=$tabTmp2; }
@ -3513,24 +3504,23 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
switch( $type ) {
case 'scores':
$version = '414';
require_once 'Metier/scores/Comment/Score_'.$version.'_'.$NIVEAU.'.php';
$tabCommentaires = include __DIR__ . '/Comment/ScoreTxt'.$version.'N'.$NIVEAU.'.php';
$tabTriAff = include __DIR__ . '/Comment/ScoreTri'.$version.'N'.$NIVEAU.'.php';
require_once 'Metier/scores/Formule/Score_'.$version.'.php';
break;
case 'valo':
$version = 'v209';
require_once 'Metier/scores/Comment/Valo_'.$version.'_'.$NIVEAU.'.php';
$tabCommentaires = include __DIR__ . '/Comment/ValoTxt'.$version.'N'.$NIVEAU.'.php';
$tabTriAff = include __DIR__ . '/Comment/ValoTri'.$version.'N'.$NIVEAU.'.php';
require_once 'Metier/scores/Formule/Valo_'.$version.'.php';
break;
}
asort($tabTriAff);
$tabCommentairesATrier=array();
global $idx;
$timer['calculcommentaires']=microtime(true);
//sendMail('production@scores-decisions.com', 'ylenaour@scores-decisions.com', "Indiscore sur $siren : Trace1", print_r($C,true));
$numC=0;
foreach ($C as $idx=>$value)
{
foreach ($C as $idx=>$value) {
$numC++;
if ($value) {
$commentaires=@implode('<br/>',$tabCommentaires[$idx]);
@ -3876,8 +3866,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
debugLog('W', 'Erreur lors de la MAJ du score en surveillance pour '. $tabIdentite['Nom'], __LINE__, __FILE__, __FUNCTION__, __CLASS__);
}
}
else
{
else {
//Calcul de l'effectif réel
$EffectifEn = $tabIdentite['Effectif'];
$bilanAgeMax = 3 * 12; //Age maximum du dernier bilan en mois
@ -3964,21 +3953,19 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
'nbModifs' => $nbModifs,
);
//Sauvegarde et Historisation du score
if ( $actionHisto == 'insert' )
{
// --- Sauvegarde et Historisation du score
if ( $actionHisto == 'insert' ) {
if (!$iDb->insert('jo.scores_surveillance', $tabUpdate, false, true)) {
debugLog('W', "Erreur lors de l'ajout du score en surveillance pour ". $tabIdentite['Nom']." - ".mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
}
}
else
{
else {
if (!$iDb->update('jo.scores_surveillance', $tabUpdate, "siren=$siren", false, 0, true)) {
debugLog('W', "Erreur lors de mise à jour du score en surveillance pour ". $tabIdentite['Nom']." - ".mysql_error(), __LINE__, __FILE__, __FUNCTION__, __CLASS__);
}
}
// Historisation du score
// --- Historisation du score
if (!$iDb->insert('historiques.scores_surveillance', $tabUpdate)) {
debugLog('W', "Erreur lors de l'historisation du score pour ". $tabIdentite['Nom'], __LINE__, __FILE__, __FUNCTION__, __CLASS__);
}

View File

@ -628,7 +628,6 @@ if (!function_exists('unsetGlobals')) {
function unsetGlobals() {
foreach ($tabVar as $var)
unset ($$var);
unset ($tva);
unset ($tabFormules);
unset ($tabFormulesRatios);
unset ($mBil);

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +0,0 @@
<?php
abstract class SdMetier_Scoring_Comment_Abstract implements SdMetier_Scoring_Comment_Interface
{
}

View File

@ -1,2 +0,0 @@
<?php
interface SdMetier_Scoring_Comment_Interface {}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,175 @@
<?php
/** Auto generated - 2015-09-20 18:32:10*/
return array (
5000 => 1000.10005,
7000 => 5000.10007,
7001 => 5000.10007001,
7002 => 5000.10007002,
7003 => 5000.10007003,
9995 => 13101.10009995,
9996 => 13100.10009996,
199000 => 15100.10199,
200000 => 15100.102,
201000 => 15100.10201,
202000 => 15100.10202,
203000 => 15100.10203,
204000 => 15100.10204,
205000 => 15100.10205,
205099 => 15010.10205099,
205200 => 15010.102052,
735100 => 102005.107351,
735110 => 102005.1073511,
735111 => 102005.10735111,
735112 => 102005.10735112,
735200 => 102005.107352,
735300 => 102005.107353,
735500 => 102005.107355,
735930 => 102025.1073593,
735950 => 102025.1073595,
2400101 => 52201.12400101,
2400102 => 52201.12400102,
2400103 => 52201.12400103,
2400109 => 52201.12400109,
2400111 => 52201.12400111,
2400112 => 52201.12400112,
2400119 => 52201.12400119,
2400121 => 52201.12400121,
2400122 => 52201.12400122,
2400123 => 52201.12400123,
2400124 => 52201.12400124,
2400125 => 52201.12400125,
2400126 => 52201.12400126,
2400200 => 52201.124002,
2400210 => 52201.1240021,
2400300 => 52201.124003,
2400310 => 52201.1240031,
2400410 => 52201.1240041,
2400420 => 52201.1240042,
2400430 => 52201.1240043,
3902100 => 102095.139021,
3902101 => 102095.13902101,
3902110 => 102095.1390211,
3902111 => 102095.13902111,
3902130 => 102095.1390213,
3902131 => 102095.13902131,
3902200 => 102095.139022,
3902300 => 102095.139023,
3902301 => 102095.13902301,
3902310 => 102095.1390231,
3902311 => 102095.13902311,
3902330 => 102095.1390233,
3902331 => 102095.13902331,
3902900 => 102095.139029,
3910001 => 101002.13910001,
3910100 => 101002.139101,
3910101 => 101002.13910101,
3910120 => 101002.1391012,
3910121 => 101002.13910121,
3910130 => 101002.1391013,
3910131 => 101002.13910131,
3910135 => 101002.13910135,
3910136 => 101002.13910136,
3910140 => 101002.1391014,
3910141 => 101002.13910141,
3910145 => 101002.13910145,
3910146 => 101002.13910146,
3910150 => 101002.1391015,
3910151 => 101002.13910151,
3910155 => 101002.13910155,
3910156 => 101002.13910156,
3910160 => 101002.1391016,
3910161 => 101002.13910161,
3910170 => 101002.1391017,
3910171 => 101002.13910171,
3910180 => 101002.1391018,
3910181 => 101002.13910181,
3910190 => 101002.1391019,
3910191 => 101002.13910191,
3911001 => 101003.13911001,
3911100 => 101003.139111,
3911101 => 101003.13911101,
3911110 => 101003.1391111,
3911111 => 101003.13911111,
3911120 => 101003.1391112,
3911121 => 101003.13911121,
3911130 => 101003.1391113,
3911131 => 101003.13911131,
3911145 => 101003.13911145,
3911146 => 101003.13911146,
3911150 => 101003.1391115,
3911151 => 101003.13911151,
3911160 => 101003.1391116,
3911161 => 101003.13911161,
3911170 => 101003.1391117,
3911171 => 101003.13911171,
3911180 => 101003.1391118,
3911181 => 101003.13911181,
20001000 => 100101.30001,
20011000 => 101001.30011,
20011900 => 101009.300119,
20012000 => 101201.30012,
20012001 => 101201.30012001,
20012002 => 101201.30012002,
20012100 => 101201.300121,
20012110 => 101201.3001211,
20012120 => 101201.3001212,
20012200 => 101301.300122,
20012210 => 101301.3001221,
20012220 => 101351.3001222,
20012400 => 101401.300124,
20012410 => 101201.3001241,
20012420 => 101351.3001242,
20020100 => 102001.300201,
20020110 => 102006.3002011,
20021200 => 102011.300212,
20021210 => 102016.3002121,
20022200 => 102021.300222,
20022210 => 102026.3002221,
20022500 => 102041.300225,
20022510 => 102046.3002251,
20023100 => 102051.300231,
20023110 => 102056.3002311,
20025200 => 102061.300252,
20025210 => 102066.3002521,
20026100 => 102071.300261,
20026101 => 102071.30026101,
20026110 => 102076.3002611,
20027100 => 102091.300271,
20028100 => 102101.300281,
20028110 => 102106.3002811,
20050100 => 103001.300501,
20080201 => 104001.30080201,
20080210 => 104001.3008021,
20080215 => 104001.30080215,
20080217 => 104001.30080217,
20080220 => 104001.3008022,
20080230 => 104001.3008023,
20080240 => 104001.3008024,
20080250 => 104001.3008025,
20080260 => 104001.3008026,
20080270 => 104001.3008027,
20080280 => 104001.3008028,
20080290 => 104001.3008029,
20090310 => 109001.3009031,
20090510 => 109101.3009051,
20090610 => 109101.3009061,
20090611 => 109101.30090611,
20090710 => 109101.3009071,
20090711 => 109101.30090711,
20090712 => 109101.30090712,
20090810 => 109101.3009081,
20090830 => 109101.3009083,
20090840 => 109101.3009084,
20090910 => 109101.3009091,
100000100 => 100100.1100001,
100001000 => 101000.110001,
100002000 => 101200.110002,
100003000 => 101300.110003,
100004000 => 101400.110004,
100005000 => 101500.110005,
100010000 => 108999.11001,
100015000 => 103000.110015,
100016000 => 104000.110016,
100019000 => 109000.110019,
100019100 => 109100.1100191,
);

View File

@ -0,0 +1,176 @@
<?php
/** Auto generated - 2015-09-20 18:32:15*/
return array (
100 => 100.100001,
5000 => 1000.10005,
7000 => 5000.10007,
7001 => 5000.10007001,
7002 => 5000.10007002,
7003 => 5000.10007003,
9995 => 13101.10009995,
9996 => 13100.10009996,
199000 => 15100.10199,
200000 => 15100.102,
201000 => 15100.10201,
202000 => 15100.10202,
203000 => 15100.10203,
204000 => 15100.10204,
205000 => 15100.10205,
205099 => 15010.10205099,
205200 => 15010.102052,
735100 => 102005.107351,
735110 => 102005.1073511,
735111 => 102005.10735111,
735112 => 102005.10735112,
735200 => 102005.107352,
735300 => 102005.107353,
735500 => 102005.107355,
735930 => 102025.1073593,
735950 => 102025.1073595,
2400101 => 52201.12400101,
2400102 => 52201.12400102,
2400103 => 52201.12400103,
2400109 => 52201.12400109,
2400111 => 52201.12400111,
2400112 => 52201.12400112,
2400119 => 52201.12400119,
2400121 => 52201.12400121,
2400122 => 52201.12400122,
2400123 => 52201.12400123,
2400124 => 52201.12400124,
2400125 => 52201.12400125,
2400126 => 52201.12400126,
2400200 => 52201.124002,
2400210 => 52201.1240021,
2400300 => 52201.124003,
2400310 => 52201.1240031,
2400410 => 52201.1240041,
2400420 => 52201.1240042,
2400430 => 52201.1240043,
3902100 => 102095.139021,
3902101 => 102095.13902101,
3902110 => 102095.1390211,
3902111 => 102095.13902111,
3902130 => 102095.1390213,
3902131 => 102095.13902131,
3902200 => 102095.139022,
3902300 => 102095.139023,
3902301 => 102095.13902301,
3902310 => 102095.1390231,
3902311 => 102095.13902311,
3902330 => 102095.1390233,
3902331 => 102095.13902331,
3902900 => 102095.139029,
3910001 => 101002.13910001,
3910100 => 101002.139101,
3910101 => 101002.13910101,
3910120 => 101002.1391012,
3910121 => 101002.13910121,
3910130 => 101002.1391013,
3910131 => 101002.13910131,
3910135 => 101002.13910135,
3910136 => 101002.13910136,
3910140 => 101002.1391014,
3910141 => 101002.13910141,
3910145 => 101002.13910145,
3910146 => 101002.13910146,
3910150 => 101002.1391015,
3910151 => 101002.13910151,
3910155 => 101002.13910155,
3910156 => 101002.13910156,
3910160 => 101002.1391016,
3910161 => 101002.13910161,
3910170 => 101002.1391017,
3910171 => 101002.13910171,
3910180 => 101002.1391018,
3910181 => 101002.13910181,
3910190 => 101002.1391019,
3910191 => 101002.13910191,
3911001 => 101003.13911001,
3911100 => 101003.139111,
3911101 => 101003.13911101,
3911110 => 101003.1391111,
3911111 => 101003.13911111,
3911120 => 101003.1391112,
3911121 => 101003.13911121,
3911130 => 101003.1391113,
3911131 => 101003.13911131,
3911145 => 101003.13911145,
3911146 => 101003.13911146,
3911150 => 101003.1391115,
3911151 => 101003.13911151,
3911160 => 101003.1391116,
3911161 => 101003.13911161,
3911170 => 101003.1391117,
3911171 => 101003.13911171,
3911180 => 101003.1391118,
3911181 => 101003.13911181,
20001000 => 1001.30001,
20011000 => 101001.30011,
20011900 => 101009.300119,
20012000 => 101201.30012,
20012001 => 101201.30012001,
20012002 => 101201.30012002,
20012100 => 101201.300121,
20012110 => 101201.3001211,
20012120 => 101201.3001212,
20012200 => 101301.300122,
20012210 => 101301.3001221,
20012220 => 101351.3001222,
20012400 => 101401.300124,
20012410 => 101201.3001241,
20012420 => 101351.3001242,
20020100 => 102001.300201,
20020110 => 102006.3002011,
20021200 => 102011.300212,
20021210 => 102016.3002121,
20022200 => 102021.300222,
20022210 => 102026.3002221,
20022500 => 102041.300225,
20022510 => 102046.3002251,
20023100 => 102051.300231,
20023110 => 102056.3002311,
20025200 => 102061.300252,
20025210 => 102066.3002521,
20026100 => 102071.300261,
20026101 => 102071.30026101,
20026110 => 102076.3002611,
20027100 => 102071.300271,
20028100 => 102101.300281,
20028110 => 102106.3002811,
20050100 => 103001.300501,
20080201 => 104001.30080201,
20080210 => 104001.3008021,
20080215 => 104001.30080215,
20080217 => 104001.30080217,
20080220 => 104001.3008022,
20080230 => 104001.3008023,
20080240 => 104001.3008024,
20080250 => 104001.3008025,
20080260 => 104001.3008026,
20080270 => 104001.3008027,
20080280 => 104001.3008028,
20080290 => 104001.3008029,
20090310 => 109001.3009031,
20090510 => 109101.3009051,
20090610 => 109101.3009061,
20090611 => 109101.30090611,
20090710 => 109101.3009071,
20090711 => 109101.30090711,
20090712 => 109101.30090712,
20090810 => 109101.3009081,
20090830 => 109101.3009083,
20090840 => 109101.3009084,
20090910 => 109101.3009091,
100000100 => 100100.1100001,
100001000 => 101000.110001,
100002000 => 101200.110002,
100003000 => 101300.110003,
100004000 => 101400.110004,
100005000 => 101500.110005,
100010000 => 108999.11001,
100015000 => 103000.110015,
100016000 => 104000.110016,
100019000 => 109000.110019,
100019100 => 109100.1100191,
);

View File

@ -0,0 +1,176 @@
<?php
/** Auto generated - 2015-09-20 18:32:15*/
return array(
100 => 100.100001,
5000 => 1000.10005,
7000 => 5000.10007,
7001 => 5000.10007001,
7002 => 5000.10007002,
7003 => 5000.10007003,
9995 => 13101.10009995,
9996 => 13100.10009996,
199000 => 15100.10199,
200000 => 15100.102,
201000 => 15100.10201,
202000 => 15100.10202,
203000 => 15100.10203,
204000 => 15100.10204,
205000 => 15100.10205,
205099 => 15010.10205099,
205200 => 15010.102052,
735100 => 10200.107351,
735110 => 10200.1073511,
735111 => 10200.10735111,
735112 => 10200.10735112,
735200 => 10200.107352,
735300 => 10200.107353,
735500 => 10200.107355,
735930 => 10202.1073593,
735950 => 10202.1073595,
2400101 => 52201.12400101,
2400102 => 52201.12400102,
2400103 => 52201.12400103,
2400109 => 52201.12400109,
2400111 => 52201.12400111,
2400112 => 52201.12400112,
2400119 => 52201.12400119,
2400121 => 52201.12400121,
2400122 => 52201.12400122,
2400123 => 52201.12400123,
2400124 => 52201.12400124,
2400125 => 52201.12400125,
2400126 => 52201.12400126,
2400200 => 52201.124002,
2400210 => 52201.1240021,
2400300 => 52201.124003,
2400310 => 52201.1240031,
2400410 => 52201.1240041,
2400420 => 52201.1240042,
2400430 => 52201.1240043,
3902100 => 10209.139021,
3902101 => 10209.13902101,
3902110 => 10209.1390211,
3902111 => 10209.13902111,
3902130 => 10209.1390213,
3902131 => 10209.13902131,
3902200 => 10209.139022,
3902300 => 10209.139023,
3902301 => 10209.13902301,
3902310 => 10209.1390231,
3902311 => 10209.13902311,
3902330 => 10209.1390233,
3902331 => 10209.13902331,
3902900 => 10209.139029,
3910001 => 10100.13910001,
3910100 => 10100.139101,
3910101 => 10100.13910101,
3910120 => 10100.1391012,
3910121 => 10100.13910121,
3910130 => 10100.1391013,
3910131 => 10100.13910131,
3910135 => 10100.13910135,
3910136 => 10100.13910136,
3910140 => 10100.1391014,
3910141 => 10100.13910141,
3910145 => 10100.13910145,
3910146 => 10100.13910146,
3910150 => 10100.1391015,
3910151 => 10100.13910151,
3910155 => 10100.13910155,
3910156 => 10100.13910156,
3910160 => 10100.1391016,
3910161 => 10100.13910161,
3910170 => 10100.1391017,
3910171 => 10100.13910171,
3910180 => 10100.1391018,
3910181 => 10100.13910181,
3910190 => 10100.1391019,
3910191 => 10100.13910191,
3911001 => 10100.13911001,
3911100 => 10100.139111,
3911101 => 10100.13911101,
3911110 => 10100.1391111,
3911111 => 10100.13911111,
3911120 => 10100.1391112,
3911121 => 10100.13911121,
3911130 => 10100.1391113,
3911131 => 10100.13911131,
3911145 => 10100.13911145,
3911146 => 10100.13911146,
3911150 => 10100.1391115,
3911151 => 10100.13911151,
3911160 => 10100.1391116,
3911161 => 10100.13911161,
3911170 => 10100.1391117,
3911171 => 10100.13911171,
3911180 => 10100.1391118,
3911181 => 10100.13911181,
20001000 => 1001.30001,
20011000 => 10100.30011,
20011900 => 10100.300119,
20012000 => 10120.30012,
20012001 => 10120.30012001,
20012002 => 10120.30012002,
20012100 => 10120.300121,
20012110 => 10120.3001211,
20012120 => 10120.3001212,
20012200 => 10130.300122,
20012210 => 10130.3001221,
20012220 => 10135.3001222,
20012400 => 10140.300124,
20012410 => 10120.3001241,
20012420 => 10135.3001242,
20020100 => 10200.300201,
20020110 => 10200.3002011,
20021200 => 10201.300212,
20021210 => 10201.3002121,
20022200 => 10202.300222,
20022210 => 10202.3002221,
20022500 => 10204.300225,
20022510 => 10204.3002251,
20023100 => 10205.300231,
20023110 => 10205.3002311,
20025200 => 10206.300252,
20025210 => 10206.3002521,
20026100 => 10207.300261,
20026101 => 10207.30026101,
20026110 => 10207.3002611,
20027100 => 10207.300271,
20028100 => 10210.300281,
20028110 => 10210.3002811,
20050100 => 10300.300501,
20080201 => 10400.30080201,
20080210 => 10400.3008021,
20080215 => 10400.30080215,
20080217 => 10400.30080217,
20080220 => 10400.3008022,
20080230 => 10400.3008023,
20080240 => 10400.3008024,
20080250 => 10400.3008025,
20080260 => 10400.3008026,
20080270 => 10400.3008027,
20080280 => 10400.3008028,
20080290 => 10400.3008029,
20090310 => 10900.3009031,
20090510 => 10910.3009051,
20090610 => 10910.3009061,
20090611 => 10910.30090611,
20090710 => 10910.3009071,
20090711 => 10910.30090711,
20090712 => 10910.30090712,
20090810 => 10910.3009081,
20090830 => 10910.3009083,
20090840 => 10910.3009084,
20090910 => 10910.3009091,
100000100 => 10010.1100001,
100001000 => 10100.110001,
100002000 => 10120.110002,
100003000 => 10130.110003,
100004000 => 10140.110004,
100005000 => 10150.110005,
100010000 => 10200.11001,
100015000 => 10300.110015,
100016000 => 10400.110016,
100019000 => 10900.110019,
100019100 => 10910.1100191,
);

View File

@ -0,0 +1,162 @@
<?php
/** Auto generated - 2015-09-20 18:32:29*/
return array(
100 => 100.100001,
5000 => 1000.10005,
7000 => 5000.10007,
7001 => 5000.10007001,
7002 => 5000.10007002,
7003 => 5000.10007003,
9995 => 13101.10009995,
9996 => 13100.10009996,
199000 => 15100.10199,
200000 => 15100.102,
201000 => 15100.10201,
202000 => 15100.10202,
203000 => 15100.10203,
204000 => 15100.10204,
205000 => 15100.10205,
205099 => 15010.10205099,
205200 => 15010.102052,
735100 => 92005.107351,
735110 => 92005.1073511,
735111 => 92005.10735111,
735112 => 92005.10735112,
735200 => 92005.107352,
735300 => 92005.107353,
735500 => 92005.107355,
735930 => 92025.1073593,
735950 => 92025.1073595,
2400101 => 52201.12400101,
2400102 => 52201.12400102,
2400103 => 52201.12400103,
2400109 => 52201.12400109,
2400111 => 52201.12400111,
2400112 => 52201.12400112,
2400119 => 52201.12400119,
2400121 => 52201.12400121,
2400122 => 52201.12400122,
2400123 => 52201.12400123,
2400124 => 52201.12400124,
2400125 => 52201.12400125,
2400126 => 52201.12400126,
2400200 => 52201.124002,
2400210 => 52201.1240021,
2400300 => 52201.124003,
2400310 => 52201.1240031,
2400410 => 52201.1240041,
2400420 => 52201.1240042,
2400430 => 52201.1240043,
3910001 => 91450.13910001,
3910100 => 91450.139101,
3910101 => 91450.13910101,
3910120 => 91450.1391012,
3910121 => 91450.13910121,
3910130 => 91450.1391013,
3910131 => 91450.13910131,
3910135 => 91450.13910135,
3910136 => 91450.13910136,
3910140 => 91450.1391014,
3910141 => 91450.13910141,
3910145 => 91450.13910145,
3910146 => 91450.13910146,
3910150 => 91450.1391015,
3910151 => 91450.13910151,
3910155 => 91450.13910155,
3910156 => 91450.13910156,
3910160 => 91450.1391016,
3910161 => 91450.13910161,
3910170 => 91450.1391017,
3910171 => 91450.13910171,
3910180 => 91450.1391018,
3910181 => 91450.13910181,
3910190 => 91450.1391019,
3910191 => 91450.13910191,
3911001 => 92003.13911001,
3911100 => 92003.139111,
3911101 => 92003.13911101,
3911110 => 92003.1391111,
3911111 => 92003.13911111,
3911120 => 92003.1391112,
3911121 => 92003.13911121,
3911130 => 92003.1391113,
3911131 => 92003.13911131,
3911145 => 92003.13911145,
3911146 => 92003.13911146,
3911150 => 92003.1391115,
3911151 => 92003.13911151,
3911160 => 92003.1391116,
3911161 => 92003.13911161,
3911170 => 92003.1391117,
3911171 => 92003.13911171,
3911180 => 92003.1391118,
3911181 => 92003.13911181,
20001000 => 1001.30001,
20011000 => 91201.30011,
20011900 => 91201.300119,
20012000 => 91201.30012,
20012001 => 91201.30012001,
20012002 => 91201.30012002,
20012100 => 91201.300121,
20012110 => 91201.3001211,
20012120 => 91201.3001212,
20012200 => 91301.300122,
20012210 => 91301.3001221,
20012220 => 91351.3001222,
20012420 => 91451.3001242,
20020100 => 92001.300201,
20020110 => 92006.3002011,
20021200 => 92011.300212,
20021210 => 92016.3002121,
20022200 => 92021.300222,
20022210 => 92026.3002221,
20022500 => 92041.300225,
20022510 => 92046.3002251,
20023100 => 92051.300231,
20023510 => 92056.3002351,
20025200 => 92061.300252,
20025210 => 92066.3002521,
20026100 => 92071.300261,
20026101 => 92071.30026101,
20026109 => 92071.30026109,
20026110 => 92076.3002611,
20027100 => 92071.300271,
20028100 => 92101.300281,
20028110 => 92106.3002811,
20050100 => 93001.300501,
20080201 => 94001.30080201,
20080210 => 94001.3008021,
20080215 => 94001.30080215,
20080217 => 94001.30080217,
20080220 => 94001.3008022,
20080230 => 94001.3008023,
20080240 => 94001.3008024,
20080250 => 94001.3008025,
20080260 => 94001.3008026,
20080270 => 94001.3008027,
20080280 => 94001.3008028,
20080290 => 94001.3008029,
20090310 => 99001.3009031,
20090510 => 99101.3009051,
20090610 => 99101.3009061,
20090611 => 99101.30090611,
20090612 => 99101.30090612,
20090710 => 99101.3009071,
20090711 => 99101.30090711,
20090712 => 99101.30090712,
20090810 => 99101.3009081,
20090830 => 99101.3009083,
20090840 => 99101.3009084,
20090910 => 99101.3009091,
100000100 => 90100.1100001,
100001000 => 91000.110001,
100002000 => 91200.110002,
100003000 => 91300.110003,
100004000 => 91400.110004,
100005000 => 91500.110005,
100010000 => 92000.11001,
100015000 => 93000.110015,
100016000 => 94000.110016,
100019000 => 99000.110019,
100019100 => 99100.1100191,
);

View File

@ -0,0 +1,33 @@
<?php
/** Auto generated - 2015-09-20 18:32:29*/
return array(
100 => 100.100001,
5000 => 1000.10005,
7000 => 5000.10007,
20001000 => 1001.30001,
20050100 => 93001.300501,
20080201 => 94002.30080201,
20080210 => 94001.3008021,
20080215 => 94001.30080215,
20080217 => 94001.30080217,
20080220 => 94001.3008022,
20080230 => 94001.3008023,
20080240 => 94001.3008024,
20080250 => 94001.3008025,
20080260 => 94001.3008026,
20080270 => 94001.3008027,
20080280 => 94001.3008028,
20080290 => 94001.3008029,
20090310 => 99001.3009031,
20090510 => 99101.3009051,
20090610 => 99101.3009061,
20090611 => 99101.30090611,
20090612 => 99101.30090612,
20090710 => 99101.3009071,
20090711 => 99101.30090711,
20090712 => 99101.30090712,
20090810 => 99101.3009081,
20090830 => 99101.3009083,
20090840 => 99101.3009084,
20090910 => 99101.3009091,
);

View File

@ -0,0 +1,602 @@
<?php
/** Auto generated - 2015-09-20 18:32:10*/
return array(
5000 => array(
1 => "Valorisation de {NOMEN} en date du : {JOUR_DATE}
",
),
7000 => array(
10 => "<LI><B>ENTREPRISE INACTIVE</B>",
),
7001 => array(
10 => "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>",
),
7002 => array(
10 => "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>",
),
7003 => array(
10 => "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)",
),
9995 => array(
1 => "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"
",
),
9996 => array(
1 => "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}
",
),
199000 => array(
0 => "Cette entreprise est une TPE à vocation principalement régionale.",
),
200000 => array(
0 => "Cette entreprise est une PME à vocation principalement régionale.",
),
201000 => array(
0 => "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}",
),
202000 => array(
0 => "L' entreprise \"{NOMEN}\" est une entreprise importante au sein du bassin économique régional.",
),
203000 => array(
0 => "Cette entreprise est une PME majeure au sein de la région {RPEN}.",
),
204000 => array(
0 => "C'est une des premières entreprises françaises.",
),
205000 => array(
0 => "C'est une PME qui compte dans le département {DEPSIE}.",
),
205099 => array(
0 => "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).",
),
205200 => array(
0 => "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.",
),
735100 => array(
0 => "<B>Projection du CA sur 3 ans:</B>",
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit une tendance à la hausse de {CA_TAUX}.<BR>",
),
735110 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion (dont la dernière le {ANNONCEFUSDATE}) ont dopé le Chiffre d'Affaires.</FONT>",
),
735111 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car une fusion absoption intervenue le {ANNONCEFUSDATE}) a dopé le Chiffre d'Affaires.</FONT>",
),
735112 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion ont dopé le Chiffre d'Affaires.</FONT>",
),
735200 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit tendance à la baisse de {CA_TAUX}.<BR>",
),
735300 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur une stabilité du CA avec une valeur de {CA_Y[3]} en {BILANANNEE3}.<BR>",
),
735500 => array(
9 => "COULEUR(VER3,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du CA et projection sur 3 ans\",R[006]#H,CA_Y#L)}",
),
735930 => array(
10 => "Notre estimation à 3 ans table sur un Résultat Courant avant Impôts de {RCAI_Y[3]} en {BILANANNEE3}.<BR>",
20 => "Le taux de pertinence de notre projection est de {RCAI_TAUX}.",
),
735950 => array(
9 => "COULEUR(JAU1,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du RCAI et projection sur 3 ans\",R[008]#H,RCAI_Y#L)}",
),
2400101 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400102 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400103 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400109 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400111 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400112 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400119 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {MARCHEVOL}.",
),
2400121 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400122 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400123 => array(
10 => "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400124 => array(
10 => "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400125 => array(
10 => "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400126 => array(
10 => "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400200 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.",
),
2400210 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.",
),
2400300 => array(
10 => "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.",
),
2400310 => array(
10 => "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.",
),
2400410 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.",
),
2400420 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.",
),
2400430 => array(
10 => "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.",
),
3902100 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_VILLE_NB} affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902101 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902110 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_VILLE_EU}.",
),
3902111 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMIN_VILLE_EU}.",
),
3902130 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans la même localité pour un montant de {VENTEMAX_VILLE_EU}.",
),
3902131 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMAX_VILLE_EU}.",
),
3902200 => array(
10 => "<C.>, alors qu'on dénombre {VENTE_DEP_NB} cessions dans le département dans une fourchette de {VENTEMIN_DEP_EU} à {VENTEMAX_DEP_EU}.",
),
3902300 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_DEP_NB} affaires de la proche région se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902301 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du département se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902310 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_DEP_EU}.",
),
3902311 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du même département se sont négociées aux environs de {VENTEMIN_DEP_EU}.",
),
3902330 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans le même département pour un montant de {VENTEMAX_DEP_EU}.",
),
3902331 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la proche région se sont négociées aux environs de {VENTEMAX_DEP_EU}.",
),
3902900 => array(
10 => "(Sur l'ensemble du territoire, sur la même période, ce sont {VENTE_FRA_NB} ventes qui sont intervenues pour un montant moyen de {VENTEMOY_FRA_EU})",
),
3910001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTPLUS\" id=\"TABLEAUPLUS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3910100 => array(
10 => "<TR CLASS=\"VERT\"><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910101 => array(
10 => "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910120 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910121 => array(
10 => "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910130 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910131 => array(
10 => "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910135 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910136 => array(
10 => "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910140 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910141 => array(
10 => "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910145 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910150 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910151 => array(
10 => "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910155 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910156 => array(
10 => "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910160 => array(
10 => "<TR CLASS=\"VERT\"><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910161 => array(
10 => "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910170 => array(
10 => "<TR CLASS=\"VERT\"><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910171 => array(
10 => "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910180 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910181 => array(
10 => "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910190 => array(
10 => "<TR CLASS=\"VERT\"><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3910191 => array(
10 => "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3911001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTMOINS\" id=\"TABLEAUMOINS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3911100 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911101 => array(
10 => "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911110 => array(
10 => " <TR CLASS=\"ROUGE\"><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911111 => array(
10 => "<TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911120 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911121 => array(
10 => "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911130 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911131 => array(
10 => "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911145 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911150 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911151 => array(
10 => "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911160 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911161 => array(
10 => "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911170 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911171 => array(
10 => "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911180 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
3911181 => array(
10 => "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
20001000 => array(
10 => "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).",
30 => "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:",
31 => "<LI> celles qui relèvent dune approche patrimoniale.",
32 => "<LI> celles qui sappuient sur la rentabilité.",
33 => "<LI> celles qui découlent dune comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.",
50 => "L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.",
),
20011000 => array(
40 => "<BR>Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :",
),
20011900 => array(
0 => "<BR>",
10 => "<I>A noter que au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :",
20 => "<LI> Potentiel de développement.",
21 => "<LI> Positionnement sur son marché et concurrence.",
22 => "<LI> Lien de dépendance et impact du départ du dirigeant.",
23 => "<LI> Motivation et ambiance interne.",
30 => "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>",
),
20012000 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.",
),
20012001 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.",
),
20012002 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.",
),
20012100 => array(
0 => "<TABLE CLASS=\"TABLEAUBILAN\">",
1 => "<TR CLASS=\"TITRES\"> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012110 => array(
8 => "<TR CLASS=\"TOTAL\"><TH>Total Actif </TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>",
),
20012120 => array(
1 => "<TR CLASS=\"TOTAL\"><TH>Total Passif </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>",
),
20012200 => array(
0 => "<TABLE CLASS=\"TABLEAUSITUFI\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>",
51 => "<TR CLASS=\"TOTAL\"><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>",
),
20012220 => array(
0 => "{GRAPH(\"Situation financière\",R[231]#T,R[232]#T,R[249]#T)}",
),
20012400 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Compte de Résultat </TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012410 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Chiffre d'affaires </TH><TD>{Rp2[005]}</TD><TD>{Rp[005]}</TD><TD>{R[005]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Marge commerciale </TH><TD>{Rp2[110]}</TD><TD>{Rp[110]}</TD><TD>{R[110]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Valeur ajoutée </TH><TD>{Rp2[130]}</TD><TD>{Rp[130]}</TD><TD>{R[130]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Excédent brut d'exploitation </TH><TD>{Rp2[140]}</TD><TD>{Rp[140]}</TD><TD>{R[140]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Résultat courant avant impôts </TH><TD>{Rp2[150]}</TD><TD>{Rp[150]}</TD><TD>{R[150]}</TD></TR>",
61 => "<TR CLASS=\"BLANC\"><TH>Résultat exceptionnel </TH><TD>{Rp2[180]}</TD><TD>{Rp[180]}</TD><TD>{R[180]}</TD></TR>",
71 => "<TR CLASS=\"LIGNE1\"><TH>Résultat net </TH><TD>{Rp2[010]}</TD><TD>{Rp[010]}</TD><TD>{R[010]}</TD></TR>",
),
20012420 => array(
1 => "<BR>Ci-dessous la comparaison des Chiffres d'affaires, Marge brute et Résultat.",
10 => "{GRAPH(\"CA,Marge,Résultat\",R[005]#T,R[122]#T,R[010]#T)}",
),
20020100 => array(
0 => "<H3> Multiple du Chiffre d'affaires",
51 => "Selon la méthode du multiple du Chiffre d'affaires l'estimation se situe entre {VAL970_EU} et {VAL971_EU}.",
),
20020110 => array(
1 => "<BR>Ci-dessous l'évolution du chiffre d'affaires.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Chiffre d'affaires\",R[006]#H)}",
),
20021200 => array(
0 => "<H3> Méthode de la valeur patrimoniale",
10 => "La valeur patrimoniale correspond souvent à la valeur plancher de l'entreprise.",
51 => "La fourchette de notre estimation selon la méthode de la valeur patrimoniale s'établit entre {VAL978_EU} et {VAL979_EU}.",
),
20021210 => array(
1 => "<BR>Ci-dessous l'évolution de l'actif immobilisé net.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Actif Immobilisé NET\",R[059]#H)}",
),
20022200 => array(
0 => "<H3> Méthode de la valeur de productivité",
51 => "La méthode de la valeur de la productivité est l'expression de la rentabilité de lentreprise au travers la capitalisation du benéfice corrigé des dotations. Elle débouche sur une valorisation entre {VAL974_EU} et {VAL975_EU}.",
),
20022210 => array(
1 => "<BR>Ci-dessous l'évolution du Résultat Courant Avant Impôts.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"RCAI\",R[008]#H)}",
),
20022500 => array(
0 => "<H3> Méthode de la valeur du rendement",
11 => "Cette méthode se fonde sur le bénéfice distribué, elle ne se conçoit quà légard dentreprises sociétaires qui pratiquent une politique régulière de distribution.",
51 => "Le résultat de la méthode de la valeur du rendement se situe entre {VAL982_EU} et {VAL983_EU}.",
),
20022510 => array(
1 => "<BR>Ci-dessous l'évolution des dividendes distribués.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Dividendes distribués\",R[529]#H)}",
),
20023100 => array(
0 => "<H3> Multiple du Bénéfice",
10 => "On peux considérer quune entreprise vaut par sa rentabilité, sur la base dun multiple de ses résultats. Le bénéfice à retenir est établi à partir du résultat net courant (résultat courant avant impôt, minoré de limpôt sur les sociétés), afin déliminer les éléments exceptionnels affectant le résultat net comptable.",
51 => "Par la méthode du multiple du Bénéfice l'entreprise est valorisée entre {VAL984_EU} et {VAL985_EU}.",
),
20023110 => array(
1 => "<BR>Ci-dessous l'évolution du bénéfice réel (RCAI-impôts).",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Bénéfice réel\",R[318]#H)}",
),
20025200 => array(
0 => "<H3> Multiple de l'EBE",
10 => "Cette méthode repose sur une évaluation globale de lentreprise prenant en compte lendettement financier de la société.",
20 => "La valorisation par l'EBE conduit à une fourchette de valeurs entre {VAL986_EU} et {VAL987_EU}.",
),
20025210 => array(
1 => "<BR>Ci-dessous l'évolution de l'Excédent Brut d'Exploitation.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"EBE\",R[301]#H)}",
),
20026100 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
11 => "La présence de terrains dans une forte proportion élargit la fourchette de l'estimation. ",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026101 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026110 => array(
1 => "<BR>Ci-dessous l'évolution de la Marge Brute d'Autofinancement.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"MBA\",R[333]#H)}",
),
20027100 => array(
0 => "<H3> La méthode par comparaison",
),
20028100 => array(
0 => "<H3> La méthode dévaluation par la Situation Nette Comptable (SNC)",
20 => "Valorisation par la Situation Nette Comptable entre {VAL976_EU} et {VAL977_EU}.",
),
20028110 => array(
1 => "<BR>Ci-dessous l'évolution de la Situation Nette Comptable.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Situation nette\",R[091]#H)}",
),
20050100 => array(
10 => "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :",
),
20080201 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>",
),
20080210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Valeur patrimoniale </TH><TD>{VAL978_EU}</TD><TD>{VAL979_EU}</TD></TR>",
),
20080215 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_EU}</TD><TD>{VAL971_EU}</TD></TR>",
),
20080217 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon la siuation nette comptable </TH><TD>{VAL976_EU}</TD><TD>{VAL977_EU}</TD></TR>",
),
20080220 => array(
21 => "<TR CLASS=\"LIGNE2\"><TH>Valeur de productivité </TH><TD>{VAL982_EU}</TD><TD>{VAL983_EU}</TD></TR>",
),
20080230 => array(
31 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation du bénéfice </TH><TD>{VAL984_EU}</TD><TD>{VAL985_EU}</TD></TR>",
),
20080240 => array(
41 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_EU}</TD><TD>{VAL987_EU}</TD></TR>",
),
20080250 => array(
51 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation selon la MBA </TH><TD>{VAL988_EU}</TD><TD>{VAL989_EU}</TD></TR>",
),
20080260 => array(
61 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_EU}</TD><TD>{VAL991_EU}</TD></TR>",
),
20080270 => array(
71 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux risqueurs </TH><TD>{VAL992_EU}</TD><TD>{VAL993_EU}</TD></TR>",
),
20080280 => array(
81 => "<TR CLASS=\"LIGNE2\"><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_EU}</TD><TD>{VAL995_EU}</TD></TR>",
),
20080290 => array(
81 => "<TR CLASS=\"TOTAL\"><TH>Comparative cessions profils similaires </TH><TD>{VAL996_EU}</TD><TD>{VAL997_EU}</TD></TR>",
),
20090310 => array(
0 => "<TABLE CLASS=\"TABLEAUHAUTBAS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> </TH><TH> estimation haute</TH></TR>",
11 => "<TR CLASS=\"BLANC\"><TD> </TD><TD CLASS=\"TOTAL\">{VAL999_EU}</TD></TR>",
12 => "<TR CLASS=\"TITRES\"> <TH> estimation basse </TH><TH> </TH></TR>",
21 => "<TR CLASS=\"BLANC\"><TD CLASS=\"TOTAL\">{VAL998_EU} </TD><TD> </TD></TR>",
),
20090510 => array(
20 => "<LI> Les immobilisations corporelles doivent être réévaluées à leur valeur de marché et non comptable. ",
),
20090610 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme exigibles au moment de la cession.",
),
20090611 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court, moyen et long termes exigibles au moment de la cession.",
),
20090710 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières portées au bilan.",
),
20090711 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes fournisseurs portées au bilan.",
),
20090712 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières et fournisseurs portées au bilan.",
),
20090810 => array(
20 => "<BR>A noter qu'aucune provision ne figure au bilan.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090830 => array(
20 => "<BR> A noter que les provisions semblent anormalement limitées.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090840 => array(
20 => "<BR> A noter que les provisions semblent anormalement élevées.",
),
20090910 => array(
20 => "<LI> Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation. ",
),
100000100 => array(
0 => "<H1>PRESENTATION",
),
100001000 => array(
0 => "<H1>DIAGNOSTIC",
),
100002000 => array(
0 => "<H1>PATRIMOINE & RESULTATS",
),
100003000 => array(
0 => "<H2>BILANS",
),
100004000 => array(
0 => "<H2>COMPTE DE RESULTAT",
),
100005000 => array(
0 => "<H1>RETRAITEMENT",
),
100010000 => array(
0 => "<BLOC><H1>METHODES DE CALCUL",
99 => "</BLOC>",
),
100015000 => array(
0 => "<H2>Les méthodes retenues",
),
100016000 => array(
0 => "<H2>Pondération des méthodes",
),
100019000 => array(
0 => "<H1>CONCLUSION",
),
100019100 => array(
0 => "<H2>Observations",
),
);

View File

@ -0,0 +1,610 @@
<?php
/** Auto generated - 2015-09-20 18:32:15*/
return array(
100 => array(
1 => "Version 2.6",
),
5000 => array(
1 => "Valorisation de {NOMEN} en date du : {JOUR_DATE}",
),
7000 => array(
10 => "<LI><B>ENTREPRISE INACTIVE</B>",
),
7001 => array(
10 => "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>",
),
7002 => array(
10 => "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>",
),
7003 => array(
10 => "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)",
),
9995 => array(
1 => "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"
",
),
9996 => array(
1 => "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}
",
),
199000 => array(
0 => "Cette entreprise est une TPE à vocation principalement régionale.",
),
200000 => array(
0 => "Cette entreprise est une PME à vocation principalement régionale.",
),
201000 => array(
0 => "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}",
),
202000 => array(
0 => "L' entreprise \"{NOMEN}\" est une entreprise importante au sein du bassin économique régional.",
),
203000 => array(
0 => "Cette entreprise est une PME majeure au sein de la région {RPEN}.",
),
204000 => array(
0 => "C'est une des premières entreprises françaises.",
),
205000 => array(
0 => "C'est une PME qui compte dans le département {DEPSIE}.",
),
205099 => array(
0 => "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).",
),
205200 => array(
0 => "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.",
),
735100 => array(
0 => "<B>Projection du CA sur 3 ans:</B>",
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit une tendance à la hausse de {CA_TAUX}.<BR>",
),
735110 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion (dont la dernière le {ANNONCEFUSDATE}) ont dopé le Chiffre d'Affaires.</FONT>",
),
735111 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car une fusion absoption intervenue le {ANNONCEFUSDATE}) a dopé le Chiffre d'Affaires.</FONT>",
),
735112 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion ont dopé le Chiffre d'Affaires.</FONT>",
),
735200 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit tendance à la baisse de {CA_TAUX}.<BR>",
),
735300 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur une stabilité du CA avec une valeur de {CA_Y[3]} en {BILANANNEE3}.<BR>",
),
735500 => array(
9 => "COULEUR(VER3,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du CA et projection sur 3 ans\",R[006]#H,CA_Y#L)}",
),
735930 => array(
10 => "Notre estimation à 3 ans table sur un Résultat Courant avant Impôts de {RCAI_Y[3]} en {BILANANNEE3}.<BR>",
20 => "Le taux de pertinence de notre projection est de {RCAI_TAUX}.",
),
735950 => array(
9 => "COULEUR(JAU1,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du RCAI et projection sur 3 ans\",R[008]#H,RCAI_Y#L)}",
),
2400101 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400102 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400103 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400109 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400111 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400112 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400119 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {MARCHEVOL}.",
),
2400121 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400122 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400123 => array(
10 => "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400124 => array(
10 => "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400125 => array(
10 => "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400126 => array(
10 => "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400200 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.",
),
2400210 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.",
),
2400300 => array(
10 => "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.",
),
2400310 => array(
10 => "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.",
),
2400410 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.",
),
2400420 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.",
),
2400430 => array(
10 => "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.",
),
3902100 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_VILLE_NB} affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902101 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902110 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_VILLE_EU}.",
),
3902111 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMIN_VILLE_EU}.",
),
3902130 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans la même localité pour un montant de {VENTEMAX_VILLE_EU}.",
),
3902131 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMAX_VILLE_EU}.",
),
3902200 => array(
10 => "<C.>, alors qu'on dénombre {VENTE_DEP_NB} cessions dans le département dans une fourchette de {VENTEMIN_DEP_EU} à {VENTEMAX_DEP_EU}.",
),
3902300 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_DEP_NB} affaires de la proche région se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902301 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du département se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902310 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_DEP_EU}.",
),
3902311 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du même département se sont négociées aux environs de {VENTEMIN_DEP_EU}.",
),
3902330 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans le même département pour un montant de {VENTEMAX_DEP_EU}.",
),
3902331 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la proche région se sont négociées aux environs de {VENTEMAX_DEP_EU}.",
),
3902900 => array(
10 => "(Sur l'ensemble du territoire, sur la même période, ce sont {VENTE_FRA_NB} ventes qui sont intervenues pour un montant moyen de {VENTEMOY_FRA_EU})",
),
3910001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTPLUS\" id=\"TABLEAUPLUS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3910100 => array(
10 => "<TR CLASS=\"VERT\"><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910101 => array(
10 => "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910120 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910121 => array(
10 => "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910130 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910131 => array(
10 => "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910135 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910136 => array(
10 => "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910140 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910141 => array(
10 => "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910145 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910150 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910151 => array(
10 => "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910155 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910156 => array(
10 => "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910160 => array(
10 => "<TR CLASS=\"VERT\"><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910161 => array(
10 => "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910170 => array(
10 => "<TR CLASS=\"VERT\"><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910171 => array(
10 => "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910180 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910181 => array(
10 => "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910190 => array(
10 => "<TR CLASS=\"VERT\"><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3910191 => array(
10 => "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3911001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTMOINS\" id=\"TABLEAUMOINS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3911100 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911101 => array(
10 => "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911110 => array(
10 => " <TR CLASS=\"ROUGE\"><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911111 => array(
10 => "<TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911120 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911121 => array(
10 => "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911130 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911131 => array(
10 => "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911145 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911150 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911151 => array(
10 => "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911160 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911161 => array(
10 => "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911170 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911171 => array(
10 => "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911180 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
3911181 => array(
10 => "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
20001000 => array(
10 => "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).",
30 => "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:",
31 => "<LI> celles qui relèvent dune approche patrimoniale.",
32 => "<LI> celles qui sappuient sur la rentabilité.",
33 => "<LI> celles qui découlent dune comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.",
50 => "L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.",
),
20011000 => array(
40 => "<BR>Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :",
),
20011900 => array(
0 => "<BR>",
10 => "<I>A noter que au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :",
20 => "<LI> Potentiel de développement.",
21 => "<LI> Positionnement sur son marché et concurrence.",
22 => "<LI> Lien de dépendance et impact du départ du dirigeant.",
23 => "<LI> Motivation et ambiance interne.",
30 => "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>",
),
20012000 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.",
),
20012001 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.",
),
20012002 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.",
),
20012100 => array(
0 => "<TABLE CLASS=\"TABLEAUBILAN\">",
1 => "<TR CLASS=\"TITRES\"> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012110 => array(
8 => "<TR CLASS=\"TOTAL\"><TH>Total Actif </TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>",
),
20012120 => array(
1 => "<TR CLASS=\"TOTAL\"><TH>Total Passif </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>",
),
20012200 => array(
0 => "<TABLE CLASS=\"TABLEAUSITUFI\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>",
51 => "<TR CLASS=\"TOTAL\"><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>",
),
20012220 => array(
1 => "<BR>Ci-dessous la comparaison des Fonds de Roulement, Besoin en fonds de Roulement & trésorerie.",
10 => "{GRAPH(\"Situation financière\",R[231]#T,R[232]#T,R[249]#T)}",
),
20012400 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Compte de Résultat </TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012410 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Chiffre d'affaires </TH><TD>{Rp2[005]}</TD><TD>{Rp[005]}</TD><TD>{R[005]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Marge commerciale </TH><TD>{Rp2[110]}</TD><TD>{Rp[110]}</TD><TD>{R[110]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Valeur ajoutée </TH><TD>{Rp2[130]}</TD><TD>{Rp[130]}</TD><TD>{R[130]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Excédent brut d'exploitation </TH><TD>{Rp2[140]}</TD><TD>{Rp[140]}</TD><TD>{R[140]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Résultat courant avant impôts </TH><TD>{Rp2[150]}</TD><TD>{Rp[150]}</TD><TD>{R[150]}</TD></TR>",
61 => "<TR CLASS=\"BLANC\"><TH>Résultat exceptionnel </TH><TD>{Rp2[180]}</TD><TD>{Rp[180]}</TD><TD>{R[180]}</TD></TR>",
71 => "<TR CLASS=\"LIGNE1\"><TH>Résultat net </TH><TD>{Rp2[010]}</TD><TD>{Rp[010]}</TD><TD>{R[010]}</TD></TR>",
),
20012420 => array(
1 => "<BR>Ci-dessous la comparaison des Chiffres d'affaires, Marge brute et Résultat.",
10 => "{GRAPH(\"CA,Marge,Résultat\",R[005]#T,R[122]#T,R[010]#T)}",
),
20020100 => array(
0 => "<H3> Multiple du Chiffre d'affaires",
10 => "Cette méthode, la plus connue et la plus simple, est principalement utilisée pour avaluer les fonds de commerce.",
45 => "En labsence de marché, lévaluation des éléments incorporels de ces fonds se fait selon une méthode forfaitaire, selon les performances et lactivité de lentreprise.",
51 => "Selon la méthode du multiple du Chiffre d'affaires l'estimation se situe entre {VAL970_EU} et {VAL971_EU}.",
),
20020110 => array(
1 => "<BR>Ci-dessous l'évolution du chiffre d'affaires.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Chiffre d'affaires\",R[006]#H)}",
),
20021200 => array(
0 => "<H3> Méthode de la valeur patrimoniale",
10 => "La valeur patrimoniale correspond souvent à la valeur plancher de l'entreprise.",
51 => "La fourchette de notre estimation selon la méthode de la valeur patrimoniale s'établit entre {VAL978_EU} et {VAL979_EU}.",
),
20021210 => array(
1 => "<BR>Ci-dessous l'évolution de l'actif immobilisé net.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Actif Immobilisé NET\",R[059]#H)}",
),
20022200 => array(
0 => "<H3> Méthode de la valeur de productivité",
51 => "La méthode de la valeur de la productivité est l'expression de la rentabilité de lentreprise au travers la capitalisation du benéfice corrigé des dotations. Elle débouche sur une valorisation entre {VAL974_EU} et {VAL975_EU}.",
),
20022210 => array(
1 => "<BR>Ci-dessous l'évolution du Résultat Courant Avant Impôts.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"RCAI\",R[008]#H)}",
),
20022500 => array(
0 => "<H3> Méthode de la valeur du rendement",
11 => "Cette méthode se fonde sur le bénéfice distribué, elle ne se conçoit quà légard dentreprises sociétaires qui pratiquent une politique régulière de distribution.",
51 => "Le résultat de la méthode de la valeur du rendement se situe entre {VAL982_EU} et {VAL983_EU}.",
),
20022510 => array(
1 => "<BR>Ci-dessous l'évolution des dividendes distribués.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Dividendes distribués\",R[529]#H)}",
),
20023100 => array(
0 => "<H3> Multiple du Bénéfice",
10 => "On peux considérer quune entreprise vaut par sa rentabilité, sur la base dun multiple de ses résultats. Le bénéfice à retenir est établi à partir du résultat net courant (résultat courant avant impôt, minoré de limpôt sur les sociétés), afin déliminer les éléments exceptionnels affectant le résultat net comptable.",
51 => "Par la méthode du multiple du Bénéfice l'entreprise est valorisée entre {VAL984_EU} et {VAL985_EU}.",
),
20023110 => array(
1 => "<BR>Ci-dessous l'évolution du bénéfice réel (RCAI-impôts).",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Bénéfice réel\",R[318]#H)}",
),
20025200 => array(
0 => "<H3> Multiple de l'EBE",
10 => "Cette méthode repose sur une évaluation globale de lentreprise prenant en compte lendettement financier de la société.",
20 => "La valorisation par l'EBE conduit à une fourchette de valeurs entre {VAL986_EU} et {VAL987_EU}.",
),
20025210 => array(
1 => "<BR>Ci-dessous l'évolution de l'Excédent Brut d'Exploitation.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"EBE\",R[301]#H)}",
),
20026100 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
11 => "La présence de terrains dans une forte proportion élargit la fourchette de l'estimation. ",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026101 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026110 => array(
1 => "<BR>Ci-dessous l'évolution de la Marge Brute d'Autofinancement.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"MBA\",R[333]#H)}",
),
20027100 => array(
0 => "<H3> Méthode par comparaison",
10 => "La méthode par comparaison repose sur le postulat que des sociétés comparables se valorisent sur des critères et des règles identiques. Cette approche consiste donc à établir des comparaisons avec des transactions intervenues sur le marché des fusions-acquisitions et de l'historique des ventes et cessions, d'entreprises du même profil dans la même région.",
20 => "Par l'étude des transactions récentes, la valeur de l'entreprise se situe entre {VAL996_EU} et {VAL997_EU}.",
),
20028100 => array(
0 => "<H3> Méthode dévaluation par la Situation Nette Comptable (SNC)",
1 => "Un des axes de l'évalutation peut s'appuyer sur la situation nette comptable (SNC) de la société, l'actif net, c'est-à-dire amorti, corrigé des dettes.",
20 => "Valorisation par la Situation Nette Comptable entre {VAL976_EU} et {VAL977_EU}.",
),
20028110 => array(
1 => "<BR>Ci-dessous l'évolution de la Situation Nette Comptable.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Situation nette\",R[091]#H)}",
),
20050100 => array(
10 => "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :",
),
20080201 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>",
),
20080210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Valeur patrimoniale </TH><TD>{VAL978_EU}</TD><TD>{VAL979_EU}</TD></TR>",
),
20080215 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_EU}</TD><TD>{VAL971_EU}</TD></TR>",
),
20080217 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon la siuation nette comptable </TH><TD>{VAL976_EU}</TD><TD>{VAL977_EU}</TD></TR>",
),
20080220 => array(
21 => "<TR CLASS=\"LIGNE2\"><TH>Valeur de productivité </TH><TD>{VAL982_EU}</TD><TD>{VAL983_EU}</TD></TR>",
),
20080230 => array(
31 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation du bénéfice </TH><TD>{VAL984_EU}</TD><TD>{VAL985_EU}</TD></TR>",
),
20080240 => array(
41 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_EU}</TD><TD>{VAL987_EU}</TD></TR>",
),
20080250 => array(
51 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation selon la MBA </TH><TD>{VAL988_EU}</TD><TD>{VAL989_EU}</TD></TR>",
),
20080260 => array(
61 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_EU}</TD><TD>{VAL991_EU}</TD></TR>",
),
20080270 => array(
71 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux risqueurs </TH><TD>{VAL992_EU}</TD><TD>{VAL993_EU}</TD></TR>",
),
20080280 => array(
81 => "<TR CLASS=\"LIGNE2\"><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_EU}</TD><TD>{VAL995_EU}</TD></TR>",
),
20080290 => array(
81 => "<TR CLASS=\"TOTAL\"><TH>Comparative cessions profils similaires </TH><TD>{VAL996_EU}</TD><TD>{VAL997_EU}</TD></TR>",
),
20090310 => array(
0 => "<TABLE CLASS=\"TABLEAUHAUTBAS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> </TH><TH> estimation haute</TH></TR>",
11 => "<TR CLASS=\"BLANC\"><TD> </TD><TD CLASS=\"TOTAL\">{VAL999_EU}</TD></TR>",
12 => "<TR CLASS=\"TITRES\"> <TH> estimation basse </TH><TH> </TH></TR>",
21 => "<TR CLASS=\"BLANC\"><TD CLASS=\"TOTAL\">{VAL998_EU} </TD><TD> </TD></TR>",
),
20090510 => array(
20 => "<LI> Les immobilisations corporelles doivent être réévaluées à leur valeur de marché et non comptable. ",
),
20090610 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme exigibles au moment de la cession.",
),
20090611 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court, moyen et long termes exigibles au moment de la cession.",
),
20090710 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières portées au bilan.",
),
20090711 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes fournisseurs portées au bilan.",
),
20090712 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières et fournisseurs portées au bilan.",
),
20090810 => array(
20 => "<BR>A noter qu'aucune provision ne figure au bilan.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090830 => array(
20 => "<BR> A noter que les provisions semblent anormalement limitées.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090840 => array(
20 => "<BR> A noter que les provisions semblent anormalement élevées.",
),
20090910 => array(
20 => "<LI> Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation. ",
),
100000100 => array(
0 => "<H1>PRESENTATION",
),
100001000 => array(
0 => "<H1>DIAGNOSTIC",
),
100002000 => array(
0 => "<H1>PATRIMOINE & RESULTATS",
),
100003000 => array(
0 => "<H2>BILANS",
),
100004000 => array(
0 => "<H2>COMPTE DE RESULTAT",
),
100005000 => array(
0 => "<H1>RETRAITEMENT",
),
100010000 => array(
0 => "<BLOC><H1>METHODES DE CALCUL",
99 => "</BLOC>",
),
100015000 => array(
0 => "<H2>Les méthodes retenues",
),
100016000 => array(
0 => "<H2>Pondération des méthodes",
),
100019000 => array(
0 => "<H1>CONCLUSION",
),
100019100 => array(
0 => "<H2>Observations",
),
);

View File

@ -0,0 +1,609 @@
<?php
/** Auto generated - 2015-09-20 18:32:15*/
return array(
100 => array(
1 => "Version 2.8",
),
5000 => array(
1 => "Valorisation de {NOMEN} en date du : {JOUR_DATE}",
),
7000 => array(
10 => "<LI><B>ENTREPRISE INACTIVE</B>",
),
7001 => array(
10 => "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>",
),
7002 => array(
10 => "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>",
),
7003 => array(
10 => "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)",
),
9995 => array(
1 => "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"
",
),
9996 => array(
1 => "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}
",
),
199000 => array(
0 => "Cette entreprise est une TPE à vocation principalement régionale.",
),
200000 => array(
0 => "Cette entreprise est une PME à vocation principalement régionale.",
),
201000 => array(
0 => "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}",
),
202000 => array(
0 => "L' entreprise \"{NOMEN}\" est une entreprise importante au sein du bassin économique régional.",
),
203000 => array(
0 => "Cette entreprise est une PME majeure au sein de la région {RPEN}.",
),
204000 => array(
0 => "C'est une des premières entreprises françaises.",
),
205000 => array(
0 => " C'est une PME qui compte dans le département {DEPSIE}.",
),
205099 => array(
0 => "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).",
),
205200 => array(
0 => "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.",
),
735100 => array(
0 => "<B>Projection du CA sur 3 ans:</B>",
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit une tendance à la hausse de {CA_TAUX}.<BR>",
),
735110 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion (dont la dernière le {ANNONCEFUSDATE}) ont dopé le Chiffre d'Affaires.</FONT>",
),
735111 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car une fusion absoption intervenue le {ANNONCEFUSDATE}) a dopé le Chiffre d'Affaires.</FONT>",
),
735112 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion ont dopé le Chiffre d'Affaires.</FONT>",
),
735200 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit tendance à la baisse de {CA_TAUX}.<BR>",
),
735300 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur une stabilité du CA avec une valeur de {CA_Y[3]} en {BILANANNEE3}.<BR>",
),
735500 => array(
9 => "COULEUR(VER3,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du CA et projection sur 3 ans\",R[006]#H,CA_Y#L)}",
),
735930 => array(
10 => "Notre estimation à 3 ans table sur un Résultat Courant avant Impôts de {RCAI_Y[3]} en {BILANANNEE3}.<BR>",
20 => "Le taux de pertinence de notre projection est de {RCAI_TAUX}.",
),
735950 => array(
9 => "COULEUR(JAU1,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du RCAI et projection sur 3 ans\",R[008]#H,RCAI_Y#L)}",
),
2400101 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400102 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400103 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400109 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400111 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400112 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400119 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {MARCHEVOL}.",
),
2400121 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400122 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400123 => array(
10 => "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400124 => array(
10 => "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400125 => array(
10 => "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400126 => array(
10 => "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400200 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.",
),
2400210 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.",
),
2400300 => array(
10 => "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.",
),
2400310 => array(
10 => "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.",
),
2400410 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.",
),
2400420 => array(
10 => "A noter qu'en termes d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.",
),
2400430 => array(
10 => "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.",
),
3902100 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_VILLE_NB} affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902101 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires localisées à {VILLE} se sont négociées dans une fourchette de {VENTEMIN_VILLE_EU} et {VENTEMAX_VILLE_EU}.",
),
3902110 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_VILLE_EU}.",
),
3902111 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMIN_VILLE_EU}.",
),
3902130 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans la même localité pour un montant de {VENTEMAX_VILLE_EU}.",
),
3902131 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la même localité se sont négociées aux environs de {VENTEMAX_VILLE_EU}.",
),
3902200 => array(
10 => "<C.>, alors qu'on dénombre {VENTE_DEP_NB} cessions dans le département dans une fourchette de {VENTEMIN_DEP_EU} à {VENTEMAX_DEP_EU}.",
),
3902300 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que {VENTE_DEP_NB} affaires de la proche région se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902301 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du département se sont négociées dans une fourchette de {VENTEMIN_DEP_EU} et {VENTEMAX_DEP_EU}.",
),
3902310 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule affaire de la même localité est intervenue pour un montant de {VENTEMIN_DEP_EU}.",
),
3902311 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires du même département se sont négociées aux environs de {VENTEMIN_DEP_EU}.",
),
3902330 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre qu'une seule vente est intervenue dans le même département pour un montant de {VENTEMAX_DEP_EU}.",
),
3902331 => array(
10 => "Notre analyse des 24 derniers mois de l'historique des ventes d'établissements comparables montre que les affaires de la proche région se sont négociées aux environs de {VENTEMAX_DEP_EU}.",
),
3902900 => array(
10 => "(Sur l'ensemble du territoire, sur la même période, ce sont {VENTE_FRA_NB} ventes qui sont intervenues pour un montant moyen de {VENTEMOY_FRA_EU})",
),
3910001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTPLUS\" id=\"TABLEAUPLUS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3910100 => array(
10 => "<TR CLASS=\"VERT\"><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910101 => array(
10 => "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910120 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910121 => array(
10 => "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910130 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910131 => array(
10 => "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910135 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910136 => array(
10 => "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910140 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910141 => array(
10 => "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910145 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910150 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910151 => array(
10 => "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910155 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910156 => array(
10 => "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910160 => array(
10 => "<TR CLASS=\"VERT\"><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910161 => array(
10 => "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910170 => array(
10 => "<TR CLASS=\"VERT\"><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910171 => array(
10 => "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910180 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910181 => array(
10 => "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910190 => array(
10 => "<TR CLASS=\"VERT\"><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3910191 => array(
10 => "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3911001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTMOINS\" id=\"TABLEAUMOINS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3911100 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911101 => array(
10 => "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911110 => array(
10 => " <TR CLASS=\"ROUGE\"><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911111 => array(
10 => " <TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911120 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911121 => array(
10 => "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911130 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911131 => array(
10 => "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911145 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911150 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911151 => array(
10 => "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911160 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911161 => array(
10 => "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911170 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911171 => array(
10 => "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911180 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
3911181 => array(
10 => "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
20001000 => array(
10 => "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).",
30 => "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:",
31 => "<LI> celles qui relèvent d'une approche patrimoniale.",
32 => "<LI> celles qui s'appuient sur la rentabilité.",
33 => "<LI> celles qui découlent d'une comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.",
50 => "L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.",
),
20011000 => array(
40 => "<BR>Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :",
),
20011900 => array(
0 => "<BR>",
10 => "<I>A noter que au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :",
20 => "<LI> Potentiel de développement.",
21 => "<LI> Positionnement sur son marché et concurrence.",
22 => "<LI> Lien de dépendance et impact du départ du dirigeant.",
23 => "<LI> Motivation et ambiance interne.",
30 => "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>",
),
20012000 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.",
),
20012001 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.",
),
20012002 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.",
),
20012100 => array(
0 => "<TABLE CLASS=\"TABLEAUBILAN\">",
1 => "<TR CLASS=\"TITRES\"> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012110 => array(
8 => "<TR CLASS=\"TOTAL\"><TH>Total Actif </TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>",
),
20012120 => array(
1 => "<TR CLASS=\"TOTAL\"><TH>Total Passif </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>",
),
20012200 => array(
0 => "<TABLE CLASS=\"TABLEAUSITUFI\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>",
51 => "<TR CLASS=\"TOTAL\"><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>",
),
20012220 => array(
1 => "<BR>Ci-dessous la comparaison des Fonds de Roulement, Besoin en fonds de Roulement & trésorerie.",
10 => "{GRAPH(\"Situation financière\",R[231]#T,R[232]#T,R[249]#T)}",
),
20012400 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Compte de Résultat </TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012410 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Chiffre d'affaires </TH><TD>{Rp2[005]}</TD><TD>{Rp[005]}</TD><TD>{R[005]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Marge commerciale </TH><TD>{Rp2[110]}</TD><TD>{Rp[110]}</TD><TD>{R[110]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Valeur ajoutée </TH><TD>{Rp2[130]}</TD><TD>{Rp[130]}</TD><TD>{R[130]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Excédent brut d'exploitation </TH><TD>{Rp2[140]}</TD><TD>{Rp[140]}</TD><TD>{R[140]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Résultat courant avant impôts </TH><TD>{Rp2[150]}</TD><TD>{Rp[150]}</TD><TD>{R[150]}</TD></TR>",
61 => "<TR CLASS=\"BLANC\"><TH>Résultat exceptionnel </TH><TD>{Rp2[180]}</TD><TD>{Rp[180]}</TD><TD>{R[180]}</TD></TR>",
71 => "<TR CLASS=\"LIGNE1\"><TH>Résultat net </TH><TD>{Rp2[010]}</TD><TD>{Rp[010]}</TD><TD>{R[010]}</TD></TR>",
),
20012420 => array(
1 => "<BR>Ci-dessous la comparaison des Chiffres d'affaires, Marge brute et Résultat.",
10 => "{GRAPH(\"CA,Marge,Résultat\",R[005]#T,R[122]#T,R[010]#T)}",
),
20020100 => array(
0 => "<H3> Multiple du Chiffre d'affaires",
10 => "Cette méthode, la plus connue et la plus simple, est principalement utilisée pour avaluer les fonds de commerce.",
45 => "En l'absence de marché, l'évaluation des éléments incorporels de ces fonds se fait selon une méthode forfaitaire, selon les performances et l'activité de l'entreprise.",
51 => "Selon la méthode du multiple du Chiffre d'affaires l'estimation se situe entre {VAL970_EU} et {VAL971_EU}.",
),
20020110 => array(
1 => "<BR>Ci-dessous l'évolution du chiffre d'affaires.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Chiffre d'affaires\",R[006]#H)}",
),
20021200 => array(
0 => "<H3> Méthode de la valeur patrimoniale",
10 => "La valeur patrimoniale correspond souvent à la valeur plancher de l'entreprise.",
51 => "La fourchette de notre estimation selon la méthode de la valeur patrimoniale s'établit entre {VAL978_EU} et {VAL979_EU}.",
),
20021210 => array(
1 => "<BR>Ci-dessous l'évolution de l'actif immobilisé net.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Actif Immobilisé NET\",R[059]#H)}",
),
20022200 => array(
0 => "<H3> Méthode de la valeur de productivité",
51 => "La méthode de la valeur de la productivité est l'expression de la rentabilité de l'entreprise au travers la capitalisation du benéfice corrigé des dotations. Elle débouche sur une valorisation entre {VAL974_EU} et {VAL975_EU}.",
),
20022210 => array(
1 => "<BR>Ci-dessous l'évolution du Résultat Courant Avant Impôts.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"RCAI\",R[008]#H)}",
),
20022500 => array(
0 => "<H3> Méthode de la valeur du rendement",
11 => "Cette méthode se fonde sur le bénéfice distribué, elle ne se conçoit qu'à l'égard d'entreprises sociétaires qui pratiquent une politique régulière de distribution.",
51 => "Le résultat de la méthode de la valeur du rendement se situe entre {VAL982_EU} et {VAL983_EU}.",
),
20022510 => array(
1 => "<BR>Ci-dessous l'évolution des dividendes distribués.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Dividendes distribués\",R[529]#H)}",
),
20023100 => array(
0 => "<H3> Multiple du Bénéfice",
10 => "On peux considérer qu'une entreprise vaut par sa rentabilité, sur la base d'un multiple de ses résultats. Le bénéfice à retenir est établi à partir du résultat net courant (résultat courant avant impôt, minoré de l'impôt sur les sociétés), afin d'éliminer les éléments exceptionnels affectant le résultat net comptable.",
51 => "Par la méthode du multiple du Bénéfice l'entreprise est valorisée entre {VAL984_EU} et {VAL985_EU}.",
),
20023110 => array(
1 => "<BR>Ci-dessous l'évolution du bénéfice réel (RCAI-impôts).",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Bénéfice réel\",R[318]#H)}",
),
20025200 => array(
0 => "<H3> Multiple de l'EBE",
10 => "Cette méthode repose sur une évaluation globale de l'entreprise prenant en compte l'endettement financier de la société.",
20 => "La valorisation par l'EBE conduit à une fourchette de valeurs entre {VAL986_EU} et {VAL987_EU}.",
),
20025210 => array(
1 => "<BR>Ci-dessous l'évolution de l'Excédent Brut d'Exploitation.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"EBE\",R[301]#H)}",
),
20026100 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
11 => "La présence de terrains dans une forte proportion élargit la fourchette de l'estimation. ",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026101 => array(
0 => "<H3> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
20 => "Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.",
),
20026110 => array(
1 => "<BR>Ci-dessous l'évolution de la Marge Brute d'Autofinancement.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"MBA\",R[333]#H)}",
),
20027100 => array(
0 => "<H3> Méthode par comparaison",
10 => "La méthode par comparaison repose sur le postulat que des sociétés comparables se valorisent sur des critères et des règles identiques. Cette approche consiste donc à établir des comparaisons avec des transactions intervenues sur le marché des fusions-acquisitions et de l'historique des ventes et cessions, d'entreprises du même profil dans la même région.",
20 => "Par l'étude des transactions récentes, la valeur de l'entreprise se situe entre {VAL996_EU} et {VAL997_EU}.",
),
20028100 => array(
0 => "<H3> Méthode d'évaluation par la Situation Nette Comptable (SNC)",
1 => "Un des axes de l'évalutation peut s'appuyer sur la situation nette comptable (SNC) de la société, l'actif net, c'est-à-dire amorti, corrigé des dettes.",
20 => "Valorisation par la Situation Nette Comptable entre {VAL976_EU} et {VAL977_EU}.",
),
20028110 => array(
1 => "<BR>Ci-dessous l'évolution de la Situation Nette Comptable.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Situation nette\",R[091]#H)}",
),
20050100 => array(
10 => "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :",
),
20080201 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>",
),
20080210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Valeur patrimoniale </TH><TD>{VAL978_EU}</TD><TD>{VAL979_EU}</TD></TR>",
),
20080215 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_EU}</TD><TD>{VAL971_EU}</TD></TR>",
),
20080217 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon la siuation nette comptable </TH><TD>{VAL976_EU}</TD><TD>{VAL977_EU}</TD></TR>",
),
20080220 => array(
21 => "<TR CLASS=\"LIGNE2\"><TH>Valeur de productivité </TH><TD>{VAL982_EU}</TD><TD>{VAL983_EU}</TD></TR>",
),
20080230 => array(
31 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation du bénéfice </TH><TD>{VAL984_EU}</TD><TD>{VAL985_EU}</TD></TR>",
),
20080240 => array(
41 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_EU}</TD><TD>{VAL987_EU}</TD></TR>",
),
20080250 => array(
51 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation selon la MBA </TH><TD>{VAL988_EU}</TD><TD>{VAL989_EU}</TD></TR>",
),
20080260 => array(
61 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_EU}</TD><TD>{VAL991_EU}</TD></TR>",
),
20080270 => array(
71 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux risqueurs </TH><TD>{VAL992_EU}</TD><TD>{VAL993_EU}</TD></TR>",
),
20080280 => array(
81 => "<TR CLASS=\"LIGNE2\"><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_EU}</TD><TD>{VAL995_EU}</TD></TR>",
),
20080290 => array(
81 => "<TR CLASS=\"TOTAL\"><TH>Comparative cessions profils similaires </TH><TD>{VAL996_EU}</TD><TD>{VAL997_EU}</TD></TR>",
),
20090310 => array(
0 => "<TABLE CLASS=\"TABLEAUHAUTBAS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> </TH><TH> estimation haute</TH></TR>",
11 => "<TR CLASS=\"BLANC\"><TD> </TD><TD CLASS=\"TOTAL\">{VAL999_EU}</TD></TR>",
12 => "<TR CLASS=\"TITRES\"> <TH> estimation basse </TH><TH> </TH></TR>",
21 => "<TR CLASS=\"BLANC\"><TD CLASS=\"TOTAL\">{VAL998_EU} </TD><TD> </TD></TR>",
),
20090510 => array(
20 => "<LI> Les immobilisations corporelles doivent être réévaluées à leur valeur de marché et non comptable. ",
),
20090610 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme exigibles au moment de la cession.",
),
20090611 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court, moyen et long termes exigibles au moment de la cession.",
),
20090710 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières portées au bilan.",
),
20090711 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes fournisseurs portées au bilan.",
),
20090712 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières et fournisseurs portées au bilan.",
),
20090810 => array(
20 => "<BR>A noter qu'aucune provision ne figure au bilan.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090830 => array(
20 => "<BR> A noter que les provisions semblent anormalement limitées.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090840 => array(
20 => "<BR> A noter que les provisions semblent anormalement élevées.",
),
20090910 => array(
20 => "<LI> Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation. ",
),
100000100 => array(
0 => "<H1>PRESENTATION",
),
100001000 => array(
0 => "<H1>DIAGNOSTIC",
),
100002000 => array(
0 => "<H1>PATRIMOINE & RESULTATS",
),
100003000 => array(
0 => "<H2>BILANS",
),
100004000 => array(
0 => "<H2>COMPTE DE RESULTAT",
),
100005000 => array(
0 => "<H1>RETRAITEMENT",
),
100010000 => array(
0 => "<H1>METHODES DE CALCUL",
),
100015000 => array(
0 => "<H2>Les méthodes retenues",
),
100016000 => array(
0 => "<H2>Pondération des méthodes",
),
100019000 => array(
0 => "<H1>CONCLUSION",
),
100019100 => array(
0 => "<H2>Observations",
),
);

View File

@ -0,0 +1,558 @@
<?php
/** Auto generated - 2015-09-20 18:32:29*/
return array(
100 => array(
1 => "Version 2.09",
),
5000 => array(
1 => "<BR>Valorisation de {NOMEN} en date du : {JOUR_DATE}",
),
7000 => array(
10 => "<LI><B>ENTREPRISE INACTIVE</B>",
),
7001 => array(
10 => "<LI><B>ENTREPRISE EN ACTIVITE SELON l'INSEE MAIS DECLAREE INACTIVE EN SOURCE GREFFES</B>",
),
7002 => array(
10 => "<LI><B>ENTREPRISE SANS ACTIVITE SELON l'INSEE MAIS DECLAREE ENCORE EN ACTIVITE EN SOURCE GREFFES</B>",
),
7003 => array(
10 => "COULEUR(VER3,ROU2,BLE3,MAR,MET2,VIO1,ROU3,NOI2,MET,VER2,ROU1,MET3,BLE,MAR2,MET1,VER2)",
),
9995 => array(
1 => "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"",
),
9996 => array(
1 => "Au répertoire national l'activité est codifiée {APEENT(5)}, {APEENT}",
),
199000 => array(
0 => "Cette entreprise est une TPE à vocation principalement régionale.",
),
200000 => array(
0 => "Cette entreprise est une PME à vocation principalement régionale.",
),
201000 => array(
0 => "Cette entreprise est une PME importante au sein du bassin économique régional {RPEN}",
),
202000 => array(
0 => "L' entreprise \"{NOMEN}\" est une entreprise importante au sein du bassin économique régional.",
),
203000 => array(
0 => "Cette entreprise est une PME majeure au sein de la région {RPEN}.",
),
204000 => array(
0 => "C'est une des premières entreprises françaises.",
),
205000 => array(
0 => " C'est une PME qui compte dans le département {DEPSIE}.",
),
205099 => array(
0 => "C'est une PME de taille signicative dont le siège situe hors de France ({DEPSIE_DE}).",
),
205200 => array(
0 => "Les effectifs de l'établissement représentant une part importante de la population de la commune d'implantation, l'entreprise a une forte influence locale.",
),
735100 => array(
0 => "<B>Projection du CA sur 3 ans:</B>",
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit une tendance à la hausse de {CA_TAUX}.<BR>",
),
735110 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion (dont la dernière le {ANNONCEFUSDATE}) ont dopé le Chiffre d'Affaires.</FONT>",
),
735111 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car une fusion absoption intervenue le {ANNONCEFUSDATE}) a dopé le Chiffre d'Affaires.</FONT>",
),
735112 => array(
10 => "<FONT color=\"red\">L'ampleur de la progression est à relativiser car des opérations de fusion ont dopé le Chiffre d'Affaires.</FONT>",
),
735200 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur un CA de {CA_Y[3]} en {BILANANNEE3} soit tendance à la baisse de {CA_TAUX}.<BR>",
),
735300 => array(
10 => "D'après les éléments financiers à notre disposition, nous avons avons procédé à une projection à 3 ans de la valeur du Chiffre d'Affaires. Notre estimation à 3 ans table sur une stabilité du CA avec une valeur de {CA_Y[3]} en {BILANANNEE3}.<BR>",
),
735500 => array(
9 => "COULEUR(VER3,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du CA et projection sur 3 ans\",R[006]#H,CA_Y#L)}",
),
735930 => array(
10 => "Notre estimation à 3 ans table sur un Résultat Courant avant Impôts de {RCAI_Y[3]} en {BILANANNEE3}.<BR>",
20 => "Le taux de pertinence de notre projection est de {RCAI_TAUX}.",
),
735950 => array(
9 => "COULEUR(JAU1,ROU1,MET3)",
10 => "{GRAPH(\"Evolution du RCAI et projection sur 3 ans\",R[008]#H,RCAI_Y#L)}",
),
2400101 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400102 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400103 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400109 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui progresse de {!MARCHEVOL}.",
),
2400111 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400112 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400119 => array(
10 => "L'entreprise se situe dans un marché dont la taille est estimée à {MARCHE} et qui régresse de {!MARCHEVOL}.",
),
2400121 => array(
10 => "L'entreprise se situe à la 1<sup>ere</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400122 => array(
10 => "L'entreprise se situe à la {MARCHEPLACE}<sup>eme</sup> place dans un marché dont la taille est estimée à {MARCHE}.",
),
2400123 => array(
10 => "L'entreprise figure parmi les 200 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400124 => array(
10 => "L'entreprise figure parmi les 500 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400125 => array(
10 => "L'entreprise figure parmi les 1000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400126 => array(
10 => "L'entreprise figure parmi les 2000 premières affaires dans un marché dont la taille est estimée à {MARCHE}.",
),
2400200 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue favorablement de {MARCHEPARTEVOL}.",
),
2400210 => array(
10 => "<C.>, elle en représente {MARCHEPART}, et sa part de marché évolue défavorablement de {MARCHEPARTEVOL}.",
),
2400300 => array(
10 => "Part conséquent on peut dire que le volume de son marché se developpe de {MARCHEVOLUMEVOL}.",
),
2400310 => array(
10 => "Part conséquent on peut dire que le volume de son marché diminue de {MARCHEVOLUMEVOL}.",
),
2400410 => array(
10 => "A noter qu'en terme d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés pour un nombre de {MARCHENBENT} entreprises.",
),
2400420 => array(
10 => "A noter qu'en terme d'emplois, le marché dans son ensemble représente plus de {MARCHESAL} salariés.",
),
2400430 => array(
10 => "A noter que le marché dans son ensemble représente plus de {MARCHENBENT} entreprises.",
),
3910001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTPLUS\" id=\"TABLEAUPLUS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES PLUS <I>(en vert la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3910100 => array(
10 => "<TR CLASS=\"VERT\"><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910101 => array(
10 => "<TR ><TH>Moyenne sur 3 ans du taux de croissance du CA > inflation</TH><TD>{Revol[536]}</TD></TR>",
),
3910120 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910121 => array(
10 => "<TR ><TH>Résultat courant >0 avec croissance du CA sur 3 ans</TH><TD>{R[170]}</TD></TR>",
),
3910130 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910131 => array(
10 => "<TR ><TH>CAF/actif économique > Inflation sur 3 ans</TH><TD>{R[539]}</TD></TR>",
),
3910135 => array(
10 => "<TR CLASS=\"VERT\"><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910136 => array(
10 => "<TR ><TH>CAF/capitaux permanents > Inflation sur 3 ans</TH><TD>{R[541]}</TD></TR>",
),
3910140 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910141 => array(
10 => "<TR ><TH>Capitaux propres > 15% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3910145 => array(
10 => "<TR CLASS=\"VERT\"><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents > 40%</TH><TD>{R[240]}</TD></TR>",
),
3910150 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910151 => array(
10 => "<TR ><TH>Fonds de Roulement > 0 </TH><TD>{R[231]}</TD></TR>",
),
3910155 => array(
10 => "<TR CLASS=\"VERT\"><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910156 => array(
10 => "<TR ><TH>Fonds de Roulement/BFR > 70% </TH><TD>{R[234]}</TD></TR>",
),
3910160 => array(
10 => "<TR CLASS=\"VERT\"><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910161 => array(
10 => "<TR ><TH>Trésorerie > 30 J de CA</TH><TD>{!R[512]}</TD></TR>",
),
3910170 => array(
10 => "<TR CLASS=\"VERT\"><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910171 => array(
10 => "<TR ><TH>Dettes financières LMT / CAF <= 4 ans </TH><TD>{R[247]}</TD></TR>",
),
3910180 => array(
10 => "<TR CLASS=\"VERT\"><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910181 => array(
10 => "<TR ><TH>Résultat d'exploitation/charges financières > 400%</TH><TD>{R[542]}</TD></TR>",
),
3910190 => array(
10 => "<TR CLASS=\"VERT\"><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3910191 => array(
10 => "<TR ><TH>Liquidité > 10 fois la dette exigible </TH><TD>{R[308]} fois</TD></TR>",
),
3911001 => array(
0 => "<TABLE CLASS=\"TABLEAUDEFAUTMOINS\" id=\"TABLEAUMOINS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> LES MOINS <I>(en rouge la condition atteinte)</I></TH><TH>Taux ou Valeur</TH></TR>",
),
3911100 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911101 => array(
10 => "<TR ><TH>Baisse du résultat courant sur 3 ans </TH><TD>{Rp2[170]} <LI=> {R[170]}</TD></TR>",
),
3911110 => array(
10 => " <TR CLASS=\"ROUGE\"><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911111 => array(
10 => " <TR ><TH>Baisse de la trésorerie en jours de CA (N/N-3) </TH><TD>{Rp2[512]} <LI=> {R[512]}</TD></TR>",
),
3911120 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911121 => array(
10 => "<TR ><TH>Fonds propres < 0 & Résultat courant < 0 </TH><TD>{R[070]} & {R[170]}</TD></TR>",
),
3911130 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911131 => array(
10 => "<TR ><TH>Fonds propres < 10% Total Bilan </TH><TD>{R[510]}</TD></TR>",
),
3911145 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911146 => array(
10 => "<TR ><TH>Capitaux propres/capitaux permanents < 30%</TH><TD>{R[240]}</TD></TR>",
),
3911150 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911151 => array(
10 => "<TR ><TH>Credit Clients > 60 jours de CA </TH><TD>{R[278]}</TD></TR>",
),
3911160 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911161 => array(
10 => "<TR ><TH>Dettes financières LT/CAF > 5ans </TH><TD>{R[247]}</TD></TR>",
),
3911170 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911171 => array(
10 => "<TR ><TH>Résultat d'exploitation/Charges financières < 200% </TH><TD>{R[542]}</TD></TR>",
),
3911180 => array(
10 => "<TR CLASS=\"ROUGE\"><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
3911181 => array(
10 => "<TR ><TH>Fonds de Roulement < BFR, Trésorerie < 0 </TH><TD>{R[226]}</TD></TR>",
),
20001000 => array(
10 => "Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers et de ses différentes caractéristiques intrinsèques (forces et faiblesses).",
30 => "Schématiquement, les méthodes d'évaluation de l'entreprise que nous pouvons utiliser se regroupent en trois catégories:",
31 => "<LI> celles qui relèvent d'une approche patrimoniale.",
32 => "<LI> celles qui s'appuient sur la rentabilité.",
33 => "<LI> celles qui découlent d'une comparaison, qui valorise une société à partir de données sur des sociétés présentant un profil comparable.",
50 => "<BR>L'objectif de ce rapport est d'indiquer une fouchette de valeurs, à partir des éléments financiers et statistiques objectifs du système Score & Decision.<BR>",
),
20011000 => array(
40 => "<BR>Dans le cadre de notre étude, voici les principales forces et faiblesses que nous avons relevées :",
),
20011900 => array(
0 => "<BR>",
10 => "<I>Au delà des aspects financiers, patrimoniaux et de rentabilité, la valeur de l'entreprise est plus ou moins influencée par ses qualités intrinsèques :",
20 => "<LI> Potentiel de développement.",
21 => "<LI> Positionnement sur son marché et concurrence.",
22 => "<LI> Lien de dépendance et impact du départ du dirigeant.",
23 => "<LI> Motivation et ambiance interne.",
30 => "Ces caractéristiques jouent sur la valeur en l'améliorant ou en la pénalisant.</I>",
),
20012000 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 3 derniers exercices dont les éléments sont listés ci dessous.",
),
20012001 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels de l'exercice dont les éléments sont listés ci dessous.",
),
20012002 => array(
10 => "L'évaluation financière de l'entreprise que nous réalisons ici, au titre de l'exercice {BILANANNEE} repose sur les comptes annuels des 2 derniers exercices dont les éléments sont listés ci dessous.",
),
20012100 => array(
0 => "<TABLE CLASS=\"TABLEAUBILAN\">",
1 => "<TR CLASS=\"TITRES\"> <TH> BILAN</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012110 => array(
8 => "<TR CLASS=\"TOTAL\"><TH>Total Actif Circulant</TH><TD>{Rp2[069]}</TD><TD>{Rp[069]}</TD><TD>{R[069]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Immobilisations</TH><TD>{Rp2[059]}</TD><TD>{Rp[059]}</TD><TD>{R[059]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Stocks</TH><TD>{Rp2[060]}</TD><TD>{Rp[060]}</TD><TD>{R[060]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Créances clients </TH><TD>{Rp2[061]}</TD><TD>{Rp[061]}</TD><TD>{R[061]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Autres créances </TH><TD>{Rp2[062]}</TD><TD>{Rp[062]}</TD><TD>{R[062]}</TD></TR>",
51 => "<TR CLASS=\"LIGNE1\"><TH>Disponibilités </TH><TD>{Rp2[063]}</TD><TD>{Rp[063]}</TD><TD>{R[063]}</TD></TR>",
),
20012120 => array(
1 => "<TR CLASS=\"TOTAL\"><TH>Total Bilan </TH><TD>{Rp2[022]}</TD><TD>{Rp[022]}</TD><TD>{R[022]}</TD></TR>",
9 => "<TR CLASS=\"BLANC\"><TH>Dont: </TH><TD> </TD><TD> </TD><TD> </TD></TR>",
11 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux propres </TH><TD>{Rp2[070]}</TD><TD>{Rp[070]}</TD><TD>{R[070]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Provisions pour risques & charges </TH><TD>{Rp2[071]}</TD><TD>{Rp[071]}</TD><TD>{R[071]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Dettes financières </TH><TD>{Rp2[083]}</TD><TD>{Rp[083]}</TD><TD>{R[083]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Dettes fournisseurs </TH><TD>{Rp2[084]}</TD><TD>{Rp[084]}</TD><TD>{R[084]}</TD></TR>",
),
20012200 => array(
0 => "<TABLE CLASS=\"TABLEAUSITUFI\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Situation financière</TH><TH>{BILANDATEp2} ({nmp2} mois)</TH><TH>{BILANDATEp} ({nmp} mois)</TH><TH>{BILANDATE} ({nm} mois)</TH></TR>",
),
20012210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Dettes </TH><TD>{Rp2[032]}</TD><TD>{Rp[032]}</TD><TD>{R[032]}</TD></TR>",
21 => "<TR CLASS=\"BLANC\"><TH>Capacité d'autofinancement </TH><TD>{Rp2[233]}</TD><TD>{Rp[233]}</TD><TD>{R[233]}</TD></TR>",
31 => "<TR CLASS=\"LIGNE1\"><TH>Fonds de Roulement </TH><TD>{Rp2[231]}</TD><TD>{Rp[231]}</TD><TD>{R[231]}</TD></TR>",
41 => "<TR CLASS=\"BLANC\"><TH>Besoin en Fonds de Roulement </TH><TD>{Rp2[232]}</TD><TD>{Rp[232]}</TD><TD>{R[232]}</TD></TR>",
51 => "<TR CLASS=\"TOTAL\"><TH>Trésorerie </TH><TD>{Rp2[249]}</TD><TD>{Rp[249]}</TD><TD>{R[249]}</TD></TR>",
),
20012220 => array(
1 => "<BR>Ci-dessous la comparaison des Fonds de Roulement, Besoin en fonds de Roulement & trésorerie.",
10 => "{GRAPH(\"Situation financière\",R[231]#T,R[232]#T,R[249]#T)}",
),
20012420 => array(
1 => "<BR>Ci-dessous la comparaison des Chiffres d'affaires, Marge brute et Résultat.",
10 => "{GRAPH(\"CA,Marge,Résultat\",R[005]#T,R[122]#T,R[010]#T)}",
),
20020100 => array(
0 => "<H2> Multiple du Chiffre d'affaires",
10 => "Cette méthode, la plus connue et la plus simple, est principalement utilisée pour avaluer les fonds de commerce.",
45 => "En l'absence de marché, l'évaluation des éléments incorporels de ces fonds se fait selon une méthode forfaitaire, selon les performances et l'activité de l'entreprise.",
51 => "<B>Selon la méthode du multiple du Chiffre d'affaires l'estimation se situe entre {VAL970_EU} et {VAL971_EU}.</B>",
),
20020110 => array(
1 => "<BR>Ci-dessous l'évolution du chiffre d'affaires.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Chiffre d'affaires\",R[006]#H)}",
),
20021200 => array(
0 => "<H2> Méthode de la valeur patrimoniale",
10 => "La valeur patrimoniale correspond souvent à la valeur plancher de l'entreprise.",
51 => "<B>La fourchette de notre estimation selon la méthode de la valeur patrimoniale s'établit entre {VAL978_EU} et {VAL979_EU}.</B>",
),
20021210 => array(
1 => "<BR>Ci-dessous l'évolution de l'actif immobilisé net.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Actif Immobilisé NET\",R[059]#H)}",
),
20022200 => array(
0 => "<H2> Méthode de la valeur de productivité",
51 => "La méthode de la valeur de la productivité est l'expression de la rentabilité de l'entreprise au travers la capitalisation du benéfice corrigé des dotations.",
52 => "<B>Elle débouche sur une valorisation entre {VAL974_EU} et {VAL975_EU}.</B>",
),
20022210 => array(
1 => "<BR>Ci-dessous l'évolution du Résultat Courant Avant Impôts.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"RCAI\",R[008]#H)}",
),
20022500 => array(
0 => "<H2> Méthode de la valeur du rendement",
11 => "Cette méthode se fonde sur le bénéfice distribué, elle ne se conçoit qu'à l'égard d'entreprises sociétaires qui pratiquent une politique régulière de distribution.",
51 => "<B>Le résultat de la méthode de la valeur du rendement se situe entre {VAL982_EU} et {VAL983_EU}.</B>",
),
20022510 => array(
1 => "<BR>Ci-dessous l'évolution des dividendes distribués.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Dividendes distribués\",R[529]#H)}",
),
20023100 => array(
0 => "<H2> Multiple du Bénéfice",
10 => "On peux considérer qu'une entreprise vaut par sa rentabilité, sur la base d'un multiple de ses résultats. Le bénéfice à retenir est établi à partir du résultat net courant (résultat courant avant impôt, minoré de l'impôt sur les sociétés), afin d'éliminer les éléments exceptionnels affectant le résultat net comptable.",
51 => "<B>Par la méthode du multiple du Bénéfice l'entreprise est valorisée entre {VAL984_EU} et {VAL985_EU}.</B>",
),
20023510 => array(
1 => "<BR>Ci-dessous l'évolution du bénéfice réel (RCAI-impôts).",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Bénéfice réel\",R[318]#H)}",
),
20025200 => array(
0 => "<H2> Multiple de l'EBE",
10 => "Cette méthode repose sur une évaluation globale de l'entreprise prenant en compte l'endettement financier de la société.",
20 => "<B>La valorisation par l'EBE conduit à une fourchette de valeurs entre {VAL986_EU} et {VAL987_EU}.</B>",
),
20025210 => array(
1 => "<BR>Ci-dessous l'évolution de l'Excédent Brut d'Exploitation.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"EBE\",R[301]#H)}",
),
20026100 => array(
0 => "<H2> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
20 => "<B>Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.</B>",
),
20026101 => array(
0 => "<H2> Multiple de la MBA",
10 => "Cette méthode est plus particulièrement adaptée aux sociétés qui nécessitent des investissements et constatent des amortissements importants.",
20 => "<B>Selon cette méthode la valeur de l'entreprise se situe entre {VAL988_EU} et {VAL989_EU}.</B>",
),
20026109 => array(
11 => "<I>La fourchette de l'estimation est élargie du fait de la présence de terrains dans les actifs. ",
),
20026110 => array(
1 => "<BR>Ci-dessous l'évolution de la Marge Brute d'Autofinancement.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"MBA\",R[333]#H)}",
),
20027100 => array(
0 => "<H2> Méthode par comparaison",
10 => "La méthode par comparaison repose sur le postulat que des sociétés comparables se valorisent sur des critères et des règles identiques. Cette approche consiste donc à établir des comparaisons avec des transactions intervenues sur le marché des fusions-acquisitions et de l'historique des ventes et cessions, d'entreprises du même profil dans la même région.",
20 => "<B>D'après l'étude des transactions récentes d'entreprises similaires, la valeur se situerait dans la fourchette de {VAL996_EU} et {VAL997_EU}.</B>",
),
20028100 => array(
0 => "<H2> Méthode d'évaluation par la Situation Nette Comptable (SNC)",
1 => "Un des axes de l'évalutation peut s'appuyer sur la situation nette comptable (SNC) de la société, l'actif net, c'est-à-dire amorti et réactualisé, corrigé des dettes.",
20 => "<B>Valorisation par la Situation Nette Comptable entre {VAL976_EU} et {VAL977_EU}.</B>",
),
20028110 => array(
1 => "<BR>Ci-dessous l'évolution de la Situation Nette Comptable.",
9 => "COULEUR(VER3,ROU2,JAU)",
10 => "{GRAPH(\"Situation nette\",R[091]#H)}",
),
20050100 => array(
10 => "Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :",
),
20080201 => array(
0 => "<TABLE CLASS=\"TABLEAURESULTAT\">",
2 => "<TR CLASS=\"TITRES\"> <TH> Pondération des méthodes </TH><TH>Valeur mini</TH><TH>Valeur maxi</TH></TR>",
),
20080210 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Valeur patrimoniale </TH><TD>{VAL978_EU}</TD><TD>{VAL979_EU}</TD></TR>",
),
20080215 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon le Chiffre d'affaires </TH><TD>{VAL970_EU}</TD><TD>{VAL971_EU}</TD></TR>",
),
20080217 => array(
11 => "<TR CLASS=\"LIGNE1\"><TH>Selon la siuation nette comptable </TH><TD>{VAL976_EU}</TD><TD>{VAL977_EU}</TD></TR>",
),
20080220 => array(
21 => "<TR CLASS=\"LIGNE2\"><TH>Valeur de productivité </TH><TD>{VAL982_EU}</TD><TD>{VAL983_EU}</TD></TR>",
),
20080230 => array(
31 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation du bénéfice </TH><TD>{VAL984_EU}</TD><TD>{VAL985_EU}</TD></TR>",
),
20080240 => array(
41 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon l'EBE </TH><TD>{VAL986_EU}</TD><TD>{VAL987_EU}</TD></TR>",
),
20080250 => array(
51 => "<TR CLASS=\"LIGNE1\"><TH>Capitalisation selon la MBA </TH><TD>{VAL988_EU}</TD><TD>{VAL989_EU}</TD></TR>",
),
20080260 => array(
61 => "<TR CLASS=\"LIGNE2\"><TH>Capitalisation selon la CAF+Trésorerie </TH><TD>{VAL990_EU}</TD><TD>{VAL991_EU}</TD></TR>",
),
20080270 => array(
71 => "<TR CLASS=\"LIGNE1\"><TH>Capitaux risqueurs </TH><TD>{VAL992_EU}</TD><TD>{VAL993_EU}</TD></TR>",
),
20080280 => array(
81 => "<TR CLASS=\"LIGNE2\"><TH>Patrimoniale + GOODWILL </TH><TD>{VAL994_EU}</TD><TD>{VAL995_EU}</TD></TR>",
),
20080290 => array(
81 => "<TR CLASS=\"TOTAL\"><TH>Comparative cessions profils similaires </TH><TD>{VAL996_EU}</TD><TD>{VAL997_EU}</TD></TR>",
),
20090310 => array(
0 => "<TABLE CLASS=\"TABLEAUHAUTBAS\">",
2 => "<TR CLASS=\"TITRES\"> <TH> </TH><TH> estimation haute</TH></TR>",
11 => "<TR CLASS=\"BLANC\"><TD> </TD><TD CLASS=\"TOTAL\">{VAL999_EU}</TD></TR>",
12 => "<TR CLASS=\"TITRES\"> <TH> estimation basse </TH><TH> </TH></TR>",
21 => "<TR CLASS=\"BLANC\"><TD CLASS=\"TOTAL\">{VAL998_EU} </TD><TD> </TD></TR>",
),
20090510 => array(
20 => "<LI> Les immobilisations corporelles ({R[052]}) doivent être réévaluées à leur valeur de marché.",
),
20090610 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme, d'un montant de {R[088]}, exigibles au moment de la cession.",
),
20090611 => array(
20 => "<LI> L'estimation finale devrait intégrer l'ensemble des dettes à court terme de {R[088]} et la part des dettes à moyen et long terme de {R[089]}, exigibles au moment de la cession.",
),
20090612 => array(
20 => "<LI> L'estimation finale devrait intégrer la part des dettes à moyen et long terme de {R[089]}, exigibles au moment de la cession.",
),
20090710 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières: {R[083]}, portées au bilan.",
),
20090711 => array(
20 => "<LI> On devra aussi vérifier l'exactitude des dettes fournisseurs de {R[084]}, portées au bilan.",
),
20090712 => array(
20 => "<LI> Il conviendra de vérifier l'exactitude des dettes financières de {R[083]} et fournisseurs de {R[084]}, portées au bilan.",
),
20090810 => array(
20 => "<BR>A noter qu'aucune provision ne figure au bilan.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise, on pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090830 => array(
20 => "<BR> A noter que les provisions semblent anormalement limitées.",
30 => "<C.> Or, au vu de l'effectif de l'entreprise pourrait devoir provisionner les congés à payer de l'exercice, d'éventuelles indemnités de fin de carrière ou de départ.",
),
20090840 => array(
20 => "<BR> A noter que les provisions semblent anormalement élevées.",
),
20090910 => array(
20 => "Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation. ",
),
100000100 => array(
0 => "<H1>PRESENTATION",
),
100001000 => array(
0 => "<H1>DIAGNOSTIC",
),
100002000 => array(
0 => "<H1>SITUATION FINANCIERE",
),
100003000 => array(
0 => "<H2>BILANS",
),
100004000 => array(
0 => "<H2>COMPTE DE RESULTAT",
),
100005000 => array(
0 => "<H1>RETRAITEMENT",
),
100010000 => array(
0 => "<H1>METHODES DE CALCUL",
),
100015000 => array(
0 => "<H2>Les méthodes retenues",
),
100016000 => array(
0 => "<H2>Pondération des méthodes",
),
100019000 => array(
0 => "<H1>CONCLUSION",
),
100019100 => array(
0 => "<H2>Observations",
),
);

View File

@ -0,0 +1,95 @@
<?php
/** Auto generated - 2015-09-20 18:32:29*/
return array(
100 => array(
1 => "TABLE(LINE(Version 2.09))",
),
5000 => array(
1 => "TABLE(LINE(Valorisation de {NOMEN} en date du : {JOUR_DATE}))",
),
7000 => array(
10 => "TABLE(LINE(ENTREPRISE INACTIVE))",
),
20001000 => array(
10 => "TABLE(LINE(Cette étude a pour but de rechercher la valeur globale de l'entreprise en tenant compte des ses éléments financiers étudiés selon différentes méthodes et le cas échéant par comparaison avec les cessions d'entreprises similaires))",
),
20050100 => array(
10 => "TABLE(LINE(Dans notre étude, voici les méthodes que nous avons retenues. Elles vous sont présentées sous forme de tableau avec leur fourchette de valeurs, pour une meilleure représentativité de chacune d'entre elle dans la valorisation globale de l'entreprise :))",
),
20080201 => array(
2 => "TABLE(LINE(Pondération des méthodes#Valeur mini#Valeur maxi)",
99 => ")",
),
20080210 => array(
11 => "LINE(Valeur patrimoniale#{VAL978_EU}#{VAL979_EU})",
),
20080215 => array(
11 => "LINE(Méthode par le Chiffre d'affaires#{VAL970_EU}#{VAL971_EU})",
),
20080217 => array(
11 => "LINE(Méthode par la Situation nette comptable#{VAL976_EU}#{VAL977_EU})",
),
20080220 => array(
21 => "LINE(Méthode par la Valeur de productivité#{VAL982_EU}#{VAL983_EU})",
),
20080230 => array(
31 => "LINE(Méthode par le Capitalisation du bénéfice#{VAL984_EU}#{VAL985_EU})",
),
20080240 => array(
41 => "LINE(Capitalisation selon l'EBE#{VAL986_EU}#{VAL987_EU})",
),
20080250 => array(
51 => "LINE(Capitalisation selon la MBA#{VAL988_EU}#{VAL989_EU})",
),
20080260 => array(
61 => "LINE(Capitalisation selon la CAF+Trésorerie#{VAL990_EU}#{VAL991_EU})",
),
20080270 => array(
71 => "LINE(Méthosde de Capitaux risqueurs#{VAL992_EU}#{VAL993_EU})",
),
20080280 => array(
81 => "LINE(Méthode Patrimoniale + GOODWILL#{VAL994_EU}#{VAL995_EU})",
),
20080290 => array(
81 => "LINE(Comparative cessions profils similaires#{VAL996_EU}#{VAL997_EU})",
),
20090310 => array(
2 => "TABLE(LINE(CONCLUSION #estimation haute)",
11 => "LINE( #{VAL999_EU})",
12 => "LINE(estimation basse# )",
21 => "LINE({VAL998_EU}# ))",
),
20090510 => array(
20 => "TABLE(LINE(Réévaluer les immobilisations corporelles ({R[052]}) à leur valeur de marché et non leur valeur comptable.))",
),
20090610 => array(
20 => "TABLE(LINE(Intégrer l'ensemble des dettes à court terme, ({R[088]}), exigibles au moment de la cession.))",
),
20090611 => array(
20 => "TABLE(LINE(Intégrer l'ensemble des dettes à court terme ({R[088]}) et la part des dettes à moyen et long terme ({R[089]}), exigibles au moment de la cession.))",
),
20090612 => array(
20 => "TABLE(LINE(Intégrer la part des dettes à moyen et long terme ({R[089]}), exigibles au moment de la cession.))",
),
20090710 => array(
20 => "TABLE(LINE(Vérifier l'exactitude des dettes financières (R[083]}), portées au bilan.))",
),
20090711 => array(
20 => "TABLE(LINE(Vérifier l'exactitude des dettes fournisseurs ({R[084]}), portées au bilan.))",
),
20090712 => array(
20 => "TABLE(LINE(Vérifier l'exactitude des dettes financières ({R[083]}) et fournisseurs ({R[084]}), portées au bilan.))",
),
20090810 => array(
20 => "TABLE(LINE(Aucune provision ne figure au bilan.))",
),
20090830 => array(
20 => "TABLE(LINE(Les provisions semblent anormalement limitées.))",
),
20090840 => array(
20 => "TABLE(LINE(Les provisions semblent anormalement élevées.))",
),
20090910 => array(
20 => "TABLE(LINE(Le foncier représente une part importante des actifs, une divergeance de sa valeur par rapport au marché aura un fort impact sur l'évaluation.)",
),
);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,27 @@
<?php
return array(
1991 => 3.2,
1992 => 2.4,
1993 => 2.1,
1994 => 1.7,
1995 => 1.7,
1996 => 2,
1997 => 1.2,
1998 => 0.7,
1999 => 0.5,
2000 => 1.7,
2001 => 1.7,
2002 => 1.9,
2003 => 2.1,
2004 => 2.1,
2005 => 1.8,
2006 => 1.6,
2007 => 1.5,
2008 => 2.8,
2009 => 0.1,
2010 => 1.5,
2011 => 2.1,
2012 => 2,
2013 => 0.9,
2014 => 1.4,
);

View File

@ -0,0 +1,22 @@
<?php
return array(
1994 => 5.65,
1995 => 5.29,
1996 => 4.69,
1997 => 4.93,
1998 => 3.92,
1999 => 3.99,
2000 => 4.35,
2001 => 3.35,
2002 => 2.83,
2003 => 2.68,
2004 => 2.45,
2005 => 2.46,
2006 => 2.66,
2007 => 2.86,
2008 => 3.45,
2009 => 2.81,
2010 => 2.17,
2011 => 1.7,
2012 => 0,
);

View File

@ -0,0 +1,12 @@
<?php
return array(
196801 => 16.66,
196901 => 19.0,
197001 => 23.0,
197201 => 20.0,
197701 => 17.6,
198201 => 18.6,
199501 => 20.6,
200001 => 19.6,
201401 => 20.0,
);

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
<?php

View File

@ -1 +0,0 @@
<?php

View File

@ -1,6 +0,0 @@
<?php
abstract class SdMetier_Scoring_Formule_Abstract implements SdMetier_Scoring_Formule_Interface
{
}

View File

@ -1,2 +0,0 @@
<?php
interface SdMetier_Scoring_Formule_Interface {}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,64 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* @see Zend_Acl
*/
require_once 'Zend/Acl.php';
/**
* @see Zend_Acl_Role_Interface
*/
require_once 'Zend/Acl/Role/Interface.php';
/**
* @see Zend_Acl_Resource_Interface
*/
require_once 'Zend/Acl/Resource/Interface.php';
/**
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
interface Zend_Acl_Assert_Interface
{
/**
* Returns true if and only if the assertion conditions are met
*
* This method is passed the ACL, Role, Resource, and privilege to which the authorization query applies. If the
* $role, $resource, or $privilege parameters are null, it means that the query applies to all Roles, Resources, or
* privileges, respectively.
*
* @param Zend_Acl $acl
* @param Zend_Acl_Role_Interface $role
* @param Zend_Acl_Resource_Interface $resource
* @param string $privilege
* @return boolean
*/
public function assert(Zend_Acl $acl, Zend_Acl_Role_Interface $role = null, Zend_Acl_Resource_Interface $resource = null,
$privilege = null);
}

View File

@ -1,36 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* @see Zend_Exception
*/
require_once 'Zend/Exception.php';
/**
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Acl_Exception extends Zend_Exception
{}

View File

@ -1,74 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* @see Zend_Acl_Resource_Interface
*/
require_once 'Zend/Acl/Resource/Interface.php';
/**
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Acl_Resource implements Zend_Acl_Resource_Interface
{
/**
* Unique id of Resource
*
* @var string
*/
protected $_resourceId;
/**
* Sets the Resource identifier
*
* @param string $resourceId
*/
public function __construct($resourceId)
{
$this->_resourceId = (string) $resourceId;
}
/**
* Defined by Zend_Acl_Resource_Interface; returns the Resource identifier
*
* @return string
*/
public function getResourceId()
{
return $this->_resourceId;
}
/**
* Defined by Zend_Acl_Resource_Interface; returns the Resource identifier
* Proxies to getResourceId()
*
* @return string
*/
public function __toString()
{
return $this->getResourceId();
}
}

View File

@ -1,37 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
interface Zend_Acl_Resource_Interface
{
/**
* Returns the string identifier of the Resource
*
* @return string
*/
public function getResourceId();
}

View File

@ -1,74 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* @see Zend_Acl_Role_Interface
*/
require_once 'Zend/Acl/Role/Interface.php';
/**
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Acl_Role implements Zend_Acl_Role_Interface
{
/**
* Unique id of Role
*
* @var string
*/
protected $_roleId;
/**
* Sets the Role identifier
*
* @param string $roleId
*/
public function __construct($roleId)
{
$this->_roleId = (string) $roleId;
}
/**
* Defined by Zend_Acl_Role_Interface; returns the Role identifier
*
* @return string
*/
public function getRoleId()
{
return $this->_roleId;
}
/**
* Defined by Zend_Acl_Role_Interface; returns the Role identifier
* Proxies to getRoleId()
*
* @return string
*/
public function __toString()
{
return $this->getRoleId();
}
}

View File

@ -1,37 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
interface Zend_Acl_Role_Interface
{
/**
* Returns the string identifier of the Role
*
* @return string
*/
public function getRoleId();
}

View File

@ -1,271 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* @see Zend_Acl_Role_Interface
*/
require_once 'Zend/Acl/Role/Interface.php';
/**
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Acl_Role_Registry
{
/**
* Internal Role registry data storage
*
* @var array
*/
protected $_roles = array();
/**
* Adds a Role having an identifier unique to the registry
*
* The $parents parameter may be a reference to, or the string identifier for,
* a Role existing in the registry, or $parents may be passed as an array of
* these - mixing string identifiers and objects is ok - to indicate the Roles
* from which the newly added Role will directly inherit.
*
* In order to resolve potential ambiguities with conflicting rules inherited
* from different parents, the most recently added parent takes precedence over
* parents that were previously added. In other words, the first parent added
* will have the least priority, and the last parent added will have the
* highest priority.
*
* @param Zend_Acl_Role_Interface $role
* @param Zend_Acl_Role_Interface|string|array $parents
* @throws Zend_Acl_Role_Registry_Exception
* @return Zend_Acl_Role_Registry Provides a fluent interface
*/
public function add(Zend_Acl_Role_Interface $role, $parents = null)
{
$roleId = $role->getRoleId();
if ($this->has($roleId)) {
/**
* @see Zend_Acl_Role_Registry_Exception
*/
require_once 'Zend/Acl/Role/Registry/Exception.php';
throw new Zend_Acl_Role_Registry_Exception("Role id '$roleId' already exists in the registry");
}
$roleParents = array();
if (null !== $parents) {
if (!is_array($parents)) {
$parents = array($parents);
}
/**
* @see Zend_Acl_Role_Registry_Exception
*/
require_once 'Zend/Acl/Role/Registry/Exception.php';
foreach ($parents as $parent) {
try {
if ($parent instanceof Zend_Acl_Role_Interface) {
$roleParentId = $parent->getRoleId();
} else {
$roleParentId = $parent;
}
$roleParent = $this->get($roleParentId);
} catch (Zend_Acl_Role_Registry_Exception $e) {
throw new Zend_Acl_Role_Registry_Exception("Parent Role id '$roleParentId' does not exist", 0, $e);
}
$roleParents[$roleParentId] = $roleParent;
$this->_roles[$roleParentId]['children'][$roleId] = $role;
}
}
$this->_roles[$roleId] = array(
'instance' => $role,
'parents' => $roleParents,
'children' => array()
);
return $this;
}
/**
* Returns the identified Role
*
* The $role parameter can either be a Role or a Role identifier.
*
* @param Zend_Acl_Role_Interface|string $role
* @throws Zend_Acl_Role_Registry_Exception
* @return Zend_Acl_Role_Interface
*/
public function get($role)
{
if ($role instanceof Zend_Acl_Role_Interface) {
$roleId = $role->getRoleId();
} else {
$roleId = (string) $role;
}
if (!$this->has($role)) {
/**
* @see Zend_Acl_Role_Registry_Exception
*/
require_once 'Zend/Acl/Role/Registry/Exception.php';
throw new Zend_Acl_Role_Registry_Exception("Role '$roleId' not found");
}
return $this->_roles[$roleId]['instance'];
}
/**
* Returns true if and only if the Role exists in the registry
*
* The $role parameter can either be a Role or a Role identifier.
*
* @param Zend_Acl_Role_Interface|string $role
* @return boolean
*/
public function has($role)
{
if ($role instanceof Zend_Acl_Role_Interface) {
$roleId = $role->getRoleId();
} else {
$roleId = (string) $role;
}
return isset($this->_roles[$roleId]);
}
/**
* Returns an array of an existing Role's parents
*
* The array keys are the identifiers of the parent Roles, and the values are
* the parent Role instances. The parent Roles are ordered in this array by
* ascending priority. The highest priority parent Role, last in the array,
* corresponds with the parent Role most recently added.
*
* If the Role does not have any parents, then an empty array is returned.
*
* @param Zend_Acl_Role_Interface|string $role
* @uses Zend_Acl_Role_Registry::get()
* @return array
*/
public function getParents($role)
{
$roleId = $this->get($role)->getRoleId();
return $this->_roles[$roleId]['parents'];
}
/**
* Returns true if and only if $role inherits from $inherit
*
* Both parameters may be either a Role or a Role identifier. If
* $onlyParents is true, then $role must inherit directly from
* $inherit in order to return true. By default, this method looks
* through the entire inheritance DAG to determine whether $role
* inherits from $inherit through its ancestor Roles.
*
* @param Zend_Acl_Role_Interface|string $role
* @param Zend_Acl_Role_Interface|string $inherit
* @param boolean $onlyParents
* @throws Zend_Acl_Role_Registry_Exception
* @return boolean
*/
public function inherits($role, $inherit, $onlyParents = false)
{
/**
* @see Zend_Acl_Role_Registry_Exception
*/
require_once 'Zend/Acl/Role/Registry/Exception.php';
try {
$roleId = $this->get($role)->getRoleId();
$inheritId = $this->get($inherit)->getRoleId();
} catch (Zend_Acl_Role_Registry_Exception $e) {
throw new Zend_Acl_Role_Registry_Exception($e->getMessage(), $e->getCode(), $e);
}
$inherits = isset($this->_roles[$roleId]['parents'][$inheritId]);
if ($inherits || $onlyParents) {
return $inherits;
}
foreach ($this->_roles[$roleId]['parents'] as $parentId => $parent) {
if ($this->inherits($parentId, $inheritId)) {
return true;
}
}
return false;
}
/**
* Removes the Role from the registry
*
* The $role parameter can either be a Role or a Role identifier.
*
* @param Zend_Acl_Role_Interface|string $role
* @throws Zend_Acl_Role_Registry_Exception
* @return Zend_Acl_Role_Registry Provides a fluent interface
*/
public function remove($role)
{
/**
* @see Zend_Acl_Role_Registry_Exception
*/
require_once 'Zend/Acl/Role/Registry/Exception.php';
try {
$roleId = $this->get($role)->getRoleId();
} catch (Zend_Acl_Role_Registry_Exception $e) {
throw new Zend_Acl_Role_Registry_Exception($e->getMessage(), $e->getCode(), $e);
}
foreach ($this->_roles[$roleId]['children'] as $childId => $child) {
unset($this->_roles[$childId]['parents'][$roleId]);
}
foreach ($this->_roles[$roleId]['parents'] as $parentId => $parent) {
unset($this->_roles[$parentId]['children'][$roleId]);
}
unset($this->_roles[$roleId]);
return $this;
}
/**
* Removes all Roles from the registry
*
* @return Zend_Acl_Role_Registry Provides a fluent interface
*/
public function removeAll()
{
$this->_roles = array();
return $this;
}
public function getRoles()
{
return $this->_roles;
}
}

View File

@ -1,36 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* @see Zend_Acl_Exception
*/
require_once 'Zend/Acl/Exception.php';
/**
* @category Zend
* @package Zend_Acl
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Acl_Role_Registry_Exception extends Zend_Acl_Exception
{}

View File

@ -1,136 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/** @see Zend_Amf_Auth_Abstract */
require_once 'Zend/Amf/Auth/Abstract.php';
/** @see Zend_Acl */
require_once 'Zend/Acl.php';
/** @see Zend_Auth_Result */
require_once 'Zend/Auth/Result.php';
/** @see Zend_Xml_Security */
require_once 'Zend/Xml/Security.php';
/**
* This class implements authentication against XML file with roles for Flex Builder.
*
* @package Zend_Amf
* @subpackage Adobe
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Adobe_Auth extends Zend_Amf_Auth_Abstract
{
/**
* ACL for authorization
*
* @var Zend_Acl
*/
protected $_acl;
/**
* Username/password array
*
* @var array
*/
protected $_users = array();
/**
* Create auth adapter
*
* @param string $rolefile File containing XML with users and roles
*/
public function __construct($rolefile)
{
$this->_acl = new Zend_Acl();
$xml = Zend_Xml_Security::scanFile($rolefile);
/*
Roles file format:
<roles>
<role id=”admin”>
<user name=”user1” password=”pwd”/>
</role>
<role id=”hr”>
<user name=”user2” password=”pwd2”/>
</role>
</roles>
*/
foreach($xml->role as $role) {
$this->_acl->addRole(new Zend_Acl_Role((string)$role["id"]));
foreach($role->user as $user) {
$this->_users[(string)$user["name"]] = array("password" => (string)$user["password"],
"role" => (string)$role["id"]);
}
}
}
/**
* Get ACL with roles from XML file
*
* @return Zend_Acl
*/
public function getAcl()
{
return $this->_acl;
}
/**
* Perform authentication
*
* @throws Zend_Auth_Adapter_Exception
* @return Zend_Auth_Result
* @see Zend_Auth_Adapter_Interface#authenticate()
*/
public function authenticate()
{
if (empty($this->_username) ||
empty($this->_password)) {
/**
* @see Zend_Auth_Adapter_Exception
*/
require_once 'Zend/Auth/Adapter/Exception.php';
throw new Zend_Auth_Adapter_Exception('Username/password should be set');
}
if(!isset($this->_users[$this->_username])) {
return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND,
null,
array('Username not found')
);
}
$user = $this->_users[$this->_username];
if($user["password"] != $this->_password) {
return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID,
null,
array('Authentication failed')
);
}
$id = new stdClass();
$id->role = $user["role"];
$id->name = $this->_username;
return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $id);
}
}

View File

@ -1,103 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* This class implements authentication against XML file with roles for Flex Builder.
*
* @package Zend_Amf
* @subpackage Adobe
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Adobe_DbInspector
{
/**
* Connect to the database
*
* @param string $dbType Database adapter type for Zend_Db
* @param array|object $dbDescription Adapter-specific connection settings
* @return Zend_Db_Adapter_Abstract
* @see Zend_Db::factory()
*/
protected function _connect($dbType, $dbDescription)
{
if(is_object($dbDescription)) {
$dbDescription = get_object_vars($dbDescription);
}
return Zend_Db::factory($dbType, $dbDescription);
}
/**
* Describe database object.
*
* Usage example:
* $inspector->describeTable('Pdo_Mysql',
* array(
* 'host' => '127.0.0.1',
* 'username' => 'webuser',
* 'password' => 'xxxxxxxx',
* 'dbname' => 'test'
* ),
* 'mytable'
* );
*
* @param string $dbType Database adapter type for Zend_Db
* @param array|object $dbDescription Adapter-specific connection settings
* @param string $tableName Table name
* @return array Table description
* @see Zend_Db::describeTable()
* @see Zend_Db::factory()
*/
public function describeTable($dbType, $dbDescription, $tableName)
{
$db = $this->_connect($dbType, $dbDescription);
return $db->describeTable($tableName);
}
/**
* Test database connection
*
* @param string $dbType Database adapter type for Zend_Db
* @param array|object $dbDescription Adapter-specific connection settings
* @return bool
* @see Zend_Db::factory()
*/
public function connect($dbType, $dbDescription)
{
$db = $this->_connect($dbType, $dbDescription);
$db->listTables();
return true;
}
/**
* Get the list of database tables
*
* @param string $dbType Database adapter type for Zend_Db
* @param array|object $dbDescription Adapter-specific connection settings
* @return array List of the tables
*/
public function getTables($dbType, $dbDescription)
{
$db = $this->_connect($dbType, $dbDescription);
return $db->listTables();
}
}

View File

@ -1,318 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/** @see Zend_Amf_Parse_TypeLoader */
require_once 'Zend/Amf/Parse/TypeLoader.php';
/** @see Zend_Reflection_Class */
require_once 'Zend/Reflection/Class.php';
/** @see Zend_Server_Reflection */
require_once 'Zend/Server/Reflection.php';
/**
* This class implements a service for generating AMF service descriptions as XML.
*
* @package Zend_Amf
* @subpackage Adobe
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Adobe_Introspector
{
/**
* Options used:
* - server: instance of Zend_Amf_Server to use
* - directories: directories where class files may be looked up
*
* @var array Introspector options
*/
protected $_options;
/**
* @var DOMElement DOM element to store types
*/
protected $_types;
/**
* @var array Map of the known types
*/
protected $_typesMap = array();
/**
* @var DOMDocument XML document to store data
*/
protected $_xml;
/**
* Constructor
*
* @return void
*/
public function __construct()
{
$this->_xml = new DOMDocument('1.0', 'utf-8');
}
/**
* Create XML definition on an AMF service class
*
* @param string $serviceClass Service class name
* @param array $options invocation options
* @return string XML with service class introspection
*/
public function introspect($serviceClass, $options = array())
{
$this->_options = $options;
if (strpbrk($serviceClass, '\\/<>')) {
return $this->_returnError('Invalid service name');
}
// Transform com.foo.Bar into com_foo_Bar
$serviceClass = str_replace('.' , '_', $serviceClass);
// Introspect!
if (!class_exists($serviceClass)) {
require_once 'Zend/Loader.php';
Zend_Loader::loadClass($serviceClass, $this->_getServicePath());
}
$serv = $this->_xml->createElement('service-description');
$serv->setAttribute('xmlns', 'http://ns.adobe.com/flex/service-description/2008');
$this->_types = $this->_xml->createElement('types');
$this->_ops = $this->_xml->createElement('operations');
$r = Zend_Server_Reflection::reflectClass($serviceClass);
$this->_addService($r, $this->_ops);
$serv->appendChild($this->_types);
$serv->appendChild($this->_ops);
$this->_xml->appendChild($serv);
return $this->_xml->saveXML();
}
/**
* Authentication handler
*
* @param Zend_Acl $acl
* @return unknown_type
*/
public function initAcl(Zend_Acl $acl)
{
return false; // we do not need auth for this class
}
/**
* Generate map of public class attributes
*
* @param string $typename type name
* @param DOMElement $typexml target XML element
* @return void
*/
protected function _addClassAttributes($typename, DOMElement $typexml)
{
// Do not try to autoload here because _phpTypeToAS should
// have already attempted to load this class
if (!class_exists($typename, false)) {
return;
}
$rc = new Zend_Reflection_Class($typename);
foreach ($rc->getProperties() as $prop) {
if (!$prop->isPublic()) {
continue;
}
$propxml = $this->_xml->createElement('property');
$propxml->setAttribute('name', $prop->getName());
$type = $this->_registerType($this->_getPropertyType($prop));
$propxml->setAttribute('type', $type);
$typexml->appendChild($propxml);
}
}
/**
* Build XML service description from reflection class
*
* @param Zend_Server_Reflection_Class $refclass
* @param DOMElement $target target XML element
* @return void
*/
protected function _addService(Zend_Server_Reflection_Class $refclass, DOMElement $target)
{
foreach ($refclass->getMethods() as $method) {
if (!$method->isPublic()
|| $method->isConstructor()
|| ('__' == substr($method->name, 0, 2))
) {
continue;
}
foreach ($method->getPrototypes() as $proto) {
$op = $this->_xml->createElement('operation');
$op->setAttribute('name', $method->getName());
$rettype = $this->_registerType($proto->getReturnType());
$op->setAttribute('returnType', $rettype);
foreach ($proto->getParameters() as $param) {
$arg = $this->_xml->createElement('argument');
$arg->setAttribute('name', $param->getName());
$type = $param->getType();
if ($type == 'mixed' && ($pclass = $param->getClass())) {
$type = $pclass->getName();
}
$ptype = $this->_registerType($type);
$arg->setAttribute('type', $ptype);
if($param->isDefaultValueAvailable()) {
$arg->setAttribute('defaultvalue', $param->getDefaultValue());
}
$op->appendChild($arg);
}
$target->appendChild($op);
}
}
}
/**
* Extract type of the property from DocBlock
*
* @param Zend_Reflection_Property $prop reflection property object
* @return string Property type
*/
protected function _getPropertyType(Zend_Reflection_Property $prop)
{
$docBlock = $prop->getDocComment();
if (!$docBlock) {
return 'Unknown';
}
if (!$docBlock->hasTag('var')) {
return 'Unknown';
}
$tag = $docBlock->getTag('var');
return trim($tag->getDescription());
}
/**
* Get the array of service directories
*
* @return array Service class directories
*/
protected function _getServicePath()
{
if (isset($this->_options['server'])) {
return $this->_options['server']->getDirectory();
}
if (isset($this->_options['directories'])) {
return $this->_options['directories'];
}
return array();
}
/**
* Map from PHP type name to AS type name
*
* @param string $typename PHP type name
* @return string AS type name
*/
protected function _phpTypeToAS($typename)
{
if (class_exists($typename)) {
$vars = get_class_vars($typename);
if (isset($vars['_explicitType'])) {
return $vars['_explicitType'];
}
}
if (false !== ($asname = Zend_Amf_Parse_TypeLoader::getMappedClassName($typename))) {
return $asname;
}
return $typename;
}
/**
* Register new type on the system
*
* @param string $typename type name
* @return string New type name
*/
protected function _registerType($typename)
{
// Known type - return its AS name
if (isset($this->_typesMap[$typename])) {
return $this->_typesMap[$typename];
}
// Standard types
if (in_array($typename, array('void', 'null', 'mixed', 'unknown_type'))) {
return 'Unknown';
}
// Arrays
if ('array' == $typename) {
return 'Unknown[]';
}
if (in_array($typename, array('int', 'integer', 'bool', 'boolean', 'float', 'string', 'object', 'Unknown', 'stdClass'))) {
return $typename;
}
// Resolve and store AS name
$asTypeName = $this->_phpTypeToAS($typename);
$this->_typesMap[$typename] = $asTypeName;
// Create element for the name
$typeEl = $this->_xml->createElement('type');
$typeEl->setAttribute('name', $asTypeName);
$this->_addClassAttributes($typename, $typeEl);
$this->_types->appendChild($typeEl);
return $asTypeName;
}
/**
* Return error with error message
*
* @param string $msg Error message
* @return string
*/
protected function _returnError($msg)
{
return 'ERROR: $msg';
}
}

View File

@ -1,42 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/** @see Zend_Auth_Adapter_Interface */
require_once 'Zend/Auth/Adapter/Interface.php';
/**
* Base abstract class for AMF authentication implementation
*
* @package Zend_Amf
* @subpackage Auth
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
abstract class Zend_Amf_Auth_Abstract implements Zend_Auth_Adapter_Interface
{
protected $_username;
protected $_password;
public function setCredentials($username, $password) {
$this->_username = $username;
$this->_password = $password;
}
}

View File

@ -1,87 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* The following constants are used throughout serialization and
* deserialization to detect the AMF marker and encoding types.
*
* @package Zend_Amf
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
final class Zend_Amf_Constants
{
const AMF0_NUMBER = 0x00;
const AMF0_BOOLEAN = 0x01;
const AMF0_STRING = 0x02;
const AMF0_OBJECT = 0x03;
const AMF0_MOVIECLIP = 0x04;
const AMF0_NULL = 0x05;
const AMF0_UNDEFINED = 0x06;
const AMF0_REFERENCE = 0x07;
const AMF0_MIXEDARRAY = 0x08;
const AMF0_OBJECTTERM = 0x09;
const AMF0_ARRAY = 0x0a;
const AMF0_DATE = 0x0b;
const AMF0_LONGSTRING = 0x0c;
const AMF0_UNSUPPORTED = 0x0e;
const AMF0_XML = 0x0f;
const AMF0_TYPEDOBJECT = 0x10;
const AMF0_AMF3 = 0x11;
const AMF0_OBJECT_ENCODING = 0x00;
const AMF3_UNDEFINED = 0x00;
const AMF3_NULL = 0x01;
const AMF3_BOOLEAN_FALSE = 0x02;
const AMF3_BOOLEAN_TRUE = 0x03;
const AMF3_INTEGER = 0x04;
const AMF3_NUMBER = 0x05;
const AMF3_STRING = 0x06;
const AMF3_XML = 0x07;
const AMF3_DATE = 0x08;
const AMF3_ARRAY = 0x09;
const AMF3_OBJECT = 0x0A;
const AMF3_XMLSTRING = 0x0B;
const AMF3_BYTEARRAY = 0x0C;
const AMF3_OBJECT_ENCODING = 0x03;
// Object encodings for AMF3 object types
const ET_PROPLIST = 0x00;
const ET_EXTERNAL = 0x01;
const ET_DYNAMIC = 0x02;
const ET_PROXY = 0x03;
const FMS_OBJECT_ENCODING = 0x01;
/**
* Special content length value that indicates "unknown" content length
* per AMF Specification
*/
const UNKNOWN_CONTENT_LENGTH = -1;
const URL_APPEND_HEADER = 'AppendToGatewayUrl';
const RESULT_METHOD = '/onResult';
const STATUS_METHOD = '/onStatus';
const CREDENTIALS_HEADER = 'Credentials';
const PERSISTENT_HEADER = 'RequestPersistentHeader';
const DESCRIBE_HEADER = 'DescribeService';
const GUEST_ROLE = 'anonymous';
}

View File

@ -1,34 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* @see Zend_Exception
*/
require_once 'Zend/Exception.php';
/**
* @package Zend_Amf
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Exception extends Zend_Exception
{
}

View File

@ -1,309 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @subpackage Parse_Amf0
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/** Zend_Amf_Constants */
require_once 'Zend/Amf/Constants.php';
/** Zend_Xml_Security */
require_once 'Zend/Xml/Security.php';
/** @see Zend_Amf_Parse_Deserializer */
require_once 'Zend/Amf/Parse/Deserializer.php';
/**
* Read an AMF0 input stream and convert it into PHP data types
*
* @todo Implement Typed Object Class Mapping
* @todo Class could be implemented as Factory Class with each data type it's own class
* @package Zend_Amf
* @subpackage Parse_Amf0
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Parse_Amf0_Deserializer extends Zend_Amf_Parse_Deserializer
{
/**
* An array of objects used for recursively deserializing an object.
* @var array
*/
protected $_reference = array();
/**
* If AMF3 serialization occurs, update to AMF0 0x03
*
* @var int
*/
protected $_objectEncoding = Zend_Amf_Constants::AMF0_OBJECT_ENCODING;
/**
* Read AMF markers and dispatch for deserialization
*
* Checks for AMF marker types and calls the appropriate methods
* for deserializing those marker types. Markers are the data type of
* the following value.
*
* @param integer $typeMarker
* @return mixed whatever the data type is of the marker in php
* @throws Zend_Amf_Exception for invalid type
*/
public function readTypeMarker($typeMarker = null)
{
if ($typeMarker === null) {
$typeMarker = $this->_stream->readByte();
}
switch($typeMarker) {
// number
case Zend_Amf_Constants::AMF0_NUMBER:
return $this->_stream->readDouble();
// boolean
case Zend_Amf_Constants::AMF0_BOOLEAN:
return (boolean) $this->_stream->readByte();
// string
case Zend_Amf_Constants::AMF0_STRING:
return $this->_stream->readUTF();
// object
case Zend_Amf_Constants::AMF0_OBJECT:
return $this->readObject();
// null
case Zend_Amf_Constants::AMF0_NULL:
return null;
// undefined
case Zend_Amf_Constants::AMF0_UNDEFINED:
return null;
// Circular references are returned here
case Zend_Amf_Constants::AMF0_REFERENCE:
return $this->readReference();
// mixed array with numeric and string keys
case Zend_Amf_Constants::AMF0_MIXEDARRAY:
return $this->readMixedArray();
// array
case Zend_Amf_Constants::AMF0_ARRAY:
return $this->readArray();
// date
case Zend_Amf_Constants::AMF0_DATE:
return $this->readDate();
// longString strlen(string) > 2^16
case Zend_Amf_Constants::AMF0_LONGSTRING:
return $this->_stream->readLongUTF();
//internal AS object, not supported
case Zend_Amf_Constants::AMF0_UNSUPPORTED:
return null;
// XML
case Zend_Amf_Constants::AMF0_XML:
return $this->readXmlString();
// typed object ie Custom Class
case Zend_Amf_Constants::AMF0_TYPEDOBJECT:
return $this->readTypedObject();
//AMF3-specific
case Zend_Amf_Constants::AMF0_AMF3:
return $this->readAmf3TypeMarker();
default:
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unsupported marker type: ' . $typeMarker);
}
}
/**
* Read AMF objects and convert to PHP objects
*
* Read the name value pair objects form the php message and convert them to
* a php object class.
*
* Called when the marker type is 3.
*
* @param array|null $object
* @return object
*/
public function readObject($object = null)
{
if ($object === null) {
$object = array();
}
while (true) {
$key = $this->_stream->readUTF();
$typeMarker = $this->_stream->readByte();
if ($typeMarker != Zend_Amf_Constants::AMF0_OBJECTTERM ){
//Recursivly call readTypeMarker to get the types of properties in the object
$object[$key] = $this->readTypeMarker($typeMarker);
} else {
//encountered AMF object terminator
break;
}
}
$this->_reference[] = $object;
return (object) $object;
}
/**
* Read reference objects
*
* Used to gain access to the private array of reference objects.
* Called when marker type is 7.
*
* @return object
* @throws Zend_Amf_Exception for invalid reference keys
*/
public function readReference()
{
$key = $this->_stream->readInt();
if (!array_key_exists($key, $this->_reference)) {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Invalid reference key: '. $key);
}
return $this->_reference[$key];
}
/**
* Reads an array with numeric and string indexes.
*
* Called when marker type is 8
*
* @todo As of Flash Player 9 there is not support for mixed typed arrays
* so we handle this as an object. With the introduction of vectors
* in Flash Player 10 this may need to be reconsidered.
* @return array
*/
public function readMixedArray()
{
$length = $this->_stream->readLong();
return $this->readObject();
}
/**
* Converts numerically indexed actiosncript arrays into php arrays.
*
* Called when marker type is 10
*
* @return array
*/
public function readArray()
{
$length = $this->_stream->readLong();
$array = array();
while ($length--) {
$array[] = $this->readTypeMarker();
}
return $array;
}
/**
* Convert AS Date to Zend_Date
*
* @return Zend_Date
*/
public function readDate()
{
// get the unix time stamp. Not sure why ActionScript does not use
// milliseconds
$timestamp = floor($this->_stream->readDouble() / 1000);
// The timezone offset is never returned to the server; it is always 0,
// so read and ignore.
$offset = $this->_stream->readInt();
require_once 'Zend/Date.php';
$date = new Zend_Date($timestamp);
return $date;
}
/**
* Convert XML to SimpleXml
* If user wants DomDocument they can use dom_import_simplexml
*
* @return SimpleXml Object
*/
public function readXmlString()
{
$string = $this->_stream->readLongUTF();
return Zend_Xml_Security::scan($string); //simplexml_load_string($string);
}
/**
* Read Class that is to be mapped to a server class.
*
* Commonly used for Value Objects on the server
*
* @todo implement Typed Class mapping
* @return object|array
* @throws Zend_Amf_Exception if unable to load type
*/
public function readTypedObject()
{
require_once 'Zend/Amf/Parse/TypeLoader.php';
// get the remote class name
$className = $this->_stream->readUTF();
$loader = Zend_Amf_Parse_TypeLoader::loadType($className);
$returnObject = new $loader();
$properties = get_object_vars($this->readObject());
foreach($properties as $key=>$value) {
if($key) {
$returnObject->$key = $value;
}
}
if($returnObject instanceof Zend_Amf_Value_Messaging_ArrayCollection) {
$returnObject = get_object_vars($returnObject);
}
return $returnObject;
}
/**
* AMF3 data type encountered load AMF3 Deserializer to handle
* type markers.
*
* @return string
*/
public function readAmf3TypeMarker()
{
require_once 'Zend/Amf/Parse/Amf3/Deserializer.php';
$deserializer = new Zend_Amf_Parse_Amf3_Deserializer($this->_stream);
$this->_objectEncoding = Zend_Amf_Constants::AMF3_OBJECT_ENCODING;
return $deserializer->readTypeMarker();
}
/**
* Return the object encoding to check if an AMF3 object
* is going to be return.
*
* @return int
*/
public function getObjectEncoding()
{
return $this->_objectEncoding;
}
}

View File

@ -1,362 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @subpackage Parse_Amf0
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/** Zend_Amf_Constants */
require_once 'Zend/Amf/Constants.php';
/** @see Zend_Amf_Parse_Serializer */
require_once 'Zend/Amf/Parse/Serializer.php';
/**
* Serializer PHP misc types back to there corresponding AMF0 Type Marker.
*
* @uses Zend_Amf_Parse_Serializer
* @package Zend_Amf
* @subpackage Parse_Amf0
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Parse_Amf0_Serializer extends Zend_Amf_Parse_Serializer
{
/**
* @var string Name of the class to be returned
*/
protected $_className = '';
/**
* An array of reference objects
* @var array
*/
protected $_referenceObjects = array();
/**
* Determine type and serialize accordingly
*
* Checks to see if the type was declared and then either
* auto negotiates the type or relies on the user defined markerType to
* serialize the data into amf
*
* @param mixed $data
* @param mixed $markerType
* @param mixed $dataByVal
* @return Zend_Amf_Parse_Amf0_Serializer
* @throws Zend_Amf_Exception for unrecognized types or data
*/
public function writeTypeMarker(&$data, $markerType = null, $dataByVal = false)
{
// Workaround for PHP5 with E_STRICT enabled complaining about "Only
// variables should be passed by reference"
if ((null === $data) && ($dataByVal !== false)) {
$data = &$dataByVal;
}
if (null !== $markerType) {
//try to reference the given object
if (!$this->writeObjectReference($data, $markerType)) {
// Write the Type Marker to denote the following action script data type
$this->_stream->writeByte($markerType);
switch($markerType) {
case Zend_Amf_Constants::AMF0_NUMBER:
$this->_stream->writeDouble($data);
break;
case Zend_Amf_Constants::AMF0_BOOLEAN:
$this->_stream->writeByte($data);
break;
case Zend_Amf_Constants::AMF0_STRING:
$this->_stream->writeUTF($data);
break;
case Zend_Amf_Constants::AMF0_OBJECT:
$this->writeObject($data);
break;
case Zend_Amf_Constants::AMF0_NULL:
break;
case Zend_Amf_Constants::AMF0_REFERENCE:
$this->_stream->writeInt($data);
break;
case Zend_Amf_Constants::AMF0_MIXEDARRAY:
// Write length of numeric keys as zero.
$this->_stream->writeLong(0);
$this->writeObject($data);
break;
case Zend_Amf_Constants::AMF0_ARRAY:
$this->writeArray($data);
break;
case Zend_Amf_Constants::AMF0_DATE:
$this->writeDate($data);
break;
case Zend_Amf_Constants::AMF0_LONGSTRING:
$this->_stream->writeLongUTF($data);
break;
case Zend_Amf_Constants::AMF0_TYPEDOBJECT:
$this->writeTypedObject($data);
break;
case Zend_Amf_Constants::AMF0_AMF3:
$this->writeAmf3TypeMarker($data);
break;
default:
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception("Unknown Type Marker: " . $markerType);
}
}
} else {
if (is_resource($data)) {
$data = Zend_Amf_Parse_TypeLoader::handleResource($data);
}
switch (true) {
case (is_int($data) || is_float($data)):
$markerType = Zend_Amf_Constants::AMF0_NUMBER;
break;
case (is_bool($data)):
$markerType = Zend_Amf_Constants::AMF0_BOOLEAN;
break;
case (is_string($data) && (($this->_mbStringFunctionsOverloaded ? mb_strlen($data, '8bit') : strlen($data)) > 65536)):
$markerType = Zend_Amf_Constants::AMF0_LONGSTRING;
break;
case (is_string($data)):
$markerType = Zend_Amf_Constants::AMF0_STRING;
break;
case (is_object($data)):
if (($data instanceof DateTime) || ($data instanceof Zend_Date)) {
$markerType = Zend_Amf_Constants::AMF0_DATE;
} else {
if($className = $this->getClassName($data)){
//Object is a Typed object set classname
$markerType = Zend_Amf_Constants::AMF0_TYPEDOBJECT;
$this->_className = $className;
} else {
// Object is a generic classname
$markerType = Zend_Amf_Constants::AMF0_OBJECT;
}
break;
}
break;
case (null === $data):
$markerType = Zend_Amf_Constants::AMF0_NULL;
break;
case (is_array($data)):
// check if it is an associative array
$i = 0;
foreach (array_keys($data) as $key) {
// check if it contains non-integer keys
if (!is_numeric($key) || intval($key) != $key) {
$markerType = Zend_Amf_Constants::AMF0_OBJECT;
break;
// check if it is a sparse indexed array
} else if ($key != $i) {
$markerType = Zend_Amf_Constants::AMF0_MIXEDARRAY;
break;
}
$i++;
}
// Dealing with a standard numeric array
if(!$markerType){
$markerType = Zend_Amf_Constants::AMF0_ARRAY;
break;
}
break;
default:
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unsupported data type: ' . gettype($data));
}
$this->writeTypeMarker($data, $markerType);
}
return $this;
}
/**
* Check if the given object is in the reference table, write the reference if it exists,
* otherwise add the object to the reference table
*
* @param mixed $object object reference to check for reference
* @param string $markerType AMF type of the object to write
* @param mixed $objectByVal object to check for reference
* @return Boolean true, if the reference was written, false otherwise
*/
protected function writeObjectReference(&$object, $markerType, $objectByVal = false)
{
// Workaround for PHP5 with E_STRICT enabled complaining about "Only
// variables should be passed by reference"
if ((null === $object) && ($objectByVal !== false)) {
$object = &$objectByVal;
}
if ($markerType == Zend_Amf_Constants::AMF0_OBJECT
|| $markerType == Zend_Amf_Constants::AMF0_MIXEDARRAY
|| $markerType == Zend_Amf_Constants::AMF0_ARRAY
|| $markerType == Zend_Amf_Constants::AMF0_TYPEDOBJECT
) {
$ref = array_search($object, $this->_referenceObjects, true);
//handle object reference
if($ref !== false){
$this->writeTypeMarker($ref,Zend_Amf_Constants::AMF0_REFERENCE);
return true;
}
$this->_referenceObjects[] = $object;
}
return false;
}
/**
* Write a PHP array with string or mixed keys.
*
* @param object $data
* @return Zend_Amf_Parse_Amf0_Serializer
*/
public function writeObject($object)
{
// Loop each element and write the name of the property.
foreach ($object as $key => &$value) {
// skip variables starting with an _ private transient
if( $key[0] == "_") continue;
$this->_stream->writeUTF($key);
$this->writeTypeMarker($value);
}
// Write the end object flag
$this->_stream->writeInt(0);
$this->_stream->writeByte(Zend_Amf_Constants::AMF0_OBJECTTERM);
return $this;
}
/**
* Write a standard numeric array to the output stream. If a mixed array
* is encountered call writeTypeMarker with mixed array.
*
* @param array $array
* @return Zend_Amf_Parse_Amf0_Serializer
*/
public function writeArray(&$array)
{
$length = count($array);
if (!$length < 0) {
// write the length of the array
$this->_stream->writeLong(0);
} else {
// Write the length of the numeric array
$this->_stream->writeLong($length);
for ($i=0; $i<$length; $i++) {
$value = isset($array[$i]) ? $array[$i] : null;
$this->writeTypeMarker($value);
}
}
return $this;
}
/**
* Convert the DateTime into an AMF Date
*
* @param DateTime|Zend_Date $data
* @return Zend_Amf_Parse_Amf0_Serializer
*/
public function writeDate($data)
{
if ($data instanceof DateTime) {
$dateString = $data->format('U');
} elseif ($data instanceof Zend_Date) {
$dateString = $data->toString('U');
} else {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Invalid date specified; must be a DateTime or Zend_Date object');
}
$dateString *= 1000;
// Make the conversion and remove milliseconds.
$this->_stream->writeDouble($dateString);
// Flash does not respect timezone but requires it.
$this->_stream->writeInt(0);
return $this;
}
/**
* Write a class mapped object to the output stream.
*
* @param object $data
* @return Zend_Amf_Parse_Amf0_Serializer
*/
public function writeTypedObject($data)
{
$this->_stream->writeUTF($this->_className);
$this->writeObject($data);
return $this;
}
/**
* Encountered and AMF3 Type Marker use AMF3 serializer. Once AMF3 is
* encountered it will not return to AMf0.
*
* @param string $data
* @return Zend_Amf_Parse_Amf0_Serializer
*/
public function writeAmf3TypeMarker(&$data)
{
require_once 'Zend/Amf/Parse/Amf3/Serializer.php';
$serializer = new Zend_Amf_Parse_Amf3_Serializer($this->_stream);
$serializer->writeTypeMarker($data);
return $this;
}
/**
* Find if the class name is a class mapped name and return the
* respective classname if it is.
*
* @param object $object
* @return false|string $className
*/
protected function getClassName($object)
{
require_once 'Zend/Amf/Parse/TypeLoader.php';
//Check to see if the object is a typed object and we need to change
$className = '';
switch (true) {
// the return class mapped name back to actionscript class name.
case Zend_Amf_Parse_TypeLoader::getMappedClassName(get_class($object)):
$className = Zend_Amf_Parse_TypeLoader::getMappedClassName(get_class($object));
break;
// Check to see if the user has defined an explicit Action Script type.
case isset($object->_explicitType):
$className = $object->_explicitType;
break;
// Check if user has defined a method for accessing the Action Script type
case method_exists($object, 'getASClassName'):
$className = $object->getASClassName();
break;
// No return class name is set make it a generic object
case ($object instanceof stdClass):
$className = '';
break;
// By default, use object's class name
default:
$className = get_class($object);
break;
}
if(!$className == '') {
return $className;
} else {
return false;
}
}
}

View File

@ -1,425 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @subpackage Parse_Amf3
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/** Zend_Amf_Parse_Deserializer */
require_once 'Zend/Amf/Parse/Deserializer.php';
/** Zend_Xml_Security */
require_once 'Zend/Xml/Security.php';
/** Zend_Amf_Parse_TypeLoader */
require_once 'Zend/Amf/Parse/TypeLoader.php';
/**
* Read an AMF3 input stream and convert it into PHP data types.
*
* @todo readObject to handle Typed Objects
* @todo readXMLStrimg to be implemented.
* @todo Class could be implemented as Factory Class with each data type it's own class.
* @package Zend_Amf
* @subpackage Parse_Amf3
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Parse_Amf3_Deserializer extends Zend_Amf_Parse_Deserializer
{
/**
* Total number of objects in the referenceObject array
* @var int
*/
protected $_objectCount;
/**
* An array of reference objects per amf body
* @var array
*/
protected $_referenceObjects = array();
/**
* An array of reference strings per amf body
* @var array
*/
protected $_referenceStrings = array();
/**
* An array of reference class definitions per body
* @var array
*/
protected $_referenceDefinitions = array();
/**
* Read AMF markers and dispatch for deserialization
*
* Checks for AMF marker types and calls the appropriate methods
* for deserializing those marker types. markers are the data type of
* the following value.
*
* @param integer $typeMarker
* @return mixed Whatever the corresponding PHP data type is
* @throws Zend_Amf_Exception for unidentified marker type
*/
public function readTypeMarker($typeMarker = null)
{
if(null === $typeMarker) {
$typeMarker = $this->_stream->readByte();
}
switch($typeMarker) {
case Zend_Amf_Constants::AMF3_UNDEFINED:
return null;
case Zend_Amf_Constants::AMF3_NULL:
return null;
case Zend_Amf_Constants::AMF3_BOOLEAN_FALSE:
return false;
case Zend_Amf_Constants::AMF3_BOOLEAN_TRUE:
return true;
case Zend_Amf_Constants::AMF3_INTEGER:
return $this->readInteger();
case Zend_Amf_Constants::AMF3_NUMBER:
return $this->_stream->readDouble();
case Zend_Amf_Constants::AMF3_STRING:
return $this->readString();
case Zend_Amf_Constants::AMF3_DATE:
return $this->readDate();
case Zend_Amf_Constants::AMF3_ARRAY:
return $this->readArray();
case Zend_Amf_Constants::AMF3_OBJECT:
return $this->readObject();
case Zend_Amf_Constants::AMF3_XML:
case Zend_Amf_Constants::AMF3_XMLSTRING:
return $this->readXmlString();
case Zend_Amf_Constants::AMF3_BYTEARRAY:
return $this->readString();
default:
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unsupported type marker: ' . $typeMarker);
}
}
/**
* Read and deserialize an integer
*
* AMF 3 represents smaller integers with fewer bytes using the most
* significant bit of each byte. The worst case uses 32-bits
* to represent a 29-bit number, which is what we would have
* done with no compression.
* - 0x00000000 - 0x0000007F : 0xxxxxxx
* - 0x00000080 - 0x00003FFF : 1xxxxxxx 0xxxxxxx
* - 0x00004000 - 0x001FFFFF : 1xxxxxxx 1xxxxxxx 0xxxxxxx
* - 0x00200000 - 0x3FFFFFFF : 1xxxxxxx 1xxxxxxx 1xxxxxxx xxxxxxxx
* - 0x40000000 - 0xFFFFFFFF : throw range exception
*
* 0x04 -> integer type code, followed by up to 4 bytes of data.
*
* Parsing integers on OSFlash for the AMF3 integer data format:
* @link http://osflash.org/amf3/parsing_integers
* @return int|float
*/
public function readInteger()
{
$count = 1;
$intReference = $this->_stream->readByte();
$result = 0;
while ((($intReference & 0x80) != 0) && $count < 4) {
$result <<= 7;
$result |= ($intReference & 0x7f);
$intReference = $this->_stream->readByte();
$count++;
}
if ($count < 4) {
$result <<= 7;
$result |= $intReference;
} else {
// Use all 8 bits from the 4th byte
$result <<= 8;
$result |= $intReference;
// Check if the integer should be negative
if (($result & 0x10000000) != 0) {
//and extend the sign bit
$result |= ~0xFFFFFFF;
}
}
return $result;
}
/**
* Read and deserialize a string
*
* Strings can be sent as a reference to a previously
* occurring String by using an index to the implicit string reference table.
* Strings are encoding using UTF-8 - however the header may either
* describe a string literal or a string reference.
*
* - string = 0x06 string-data
* - string-data = integer-data [ modified-utf-8 ]
* - modified-utf-8 = *OCTET
*
* @return String
*/
public function readString()
{
$stringReference = $this->readInteger();
//Check if this is a reference string
if (($stringReference & 0x01) == 0) {
// reference string
$stringReference = $stringReference >> 1;
if ($stringReference >= count($this->_referenceStrings)) {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Undefined string reference: ' . $stringReference);
}
// reference string found
return $this->_referenceStrings[$stringReference];
}
$length = $stringReference >> 1;
if ($length) {
$string = $this->_stream->readBytes($length);
$this->_referenceStrings[] = $string;
} else {
$string = "";
}
return $string;
}
/**
* Read and deserialize a date
*
* Data is the number of milliseconds elapsed since the epoch
* of midnight, 1st Jan 1970 in the UTC time zone.
* Local time zone information is not sent to flash.
*
* - date = 0x08 integer-data [ number-data ]
*
* @return Zend_Date
*/
public function readDate()
{
$dateReference = $this->readInteger();
if (($dateReference & 0x01) == 0) {
$dateReference = $dateReference >> 1;
if ($dateReference>=count($this->_referenceObjects)) {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Undefined date reference: ' . $dateReference);
}
return $this->_referenceObjects[$dateReference];
}
$timestamp = floor($this->_stream->readDouble() / 1000);
require_once 'Zend/Date.php';
$dateTime = new Zend_Date($timestamp);
$this->_referenceObjects[] = $dateTime;
return $dateTime;
}
/**
* Read amf array to PHP array
*
* - array = 0x09 integer-data ( [ 1OCTET *amf3-data ] | [OCTET *amf3-data 1] | [ OCTET *amf-data ] )
*
* @return array
*/
public function readArray()
{
$arrayReference = $this->readInteger();
if (($arrayReference & 0x01)==0){
$arrayReference = $arrayReference >> 1;
if ($arrayReference>=count($this->_referenceObjects)) {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unknow array reference: ' . $arrayReference);
}
return $this->_referenceObjects[$arrayReference];
}
// Create a holder for the array in the reference list
$data = array();
$this->_referenceObjects[] =& $data;
$key = $this->readString();
// Iterating for string based keys.
while ($key != '') {
$data[$key] = $this->readTypeMarker();
$key = $this->readString();
}
$arrayReference = $arrayReference >>1;
//We have a dense array
for ($i=0; $i < $arrayReference; $i++) {
$data[] = $this->readTypeMarker();
}
return $data;
}
/**
* Read an object from the AMF stream and convert it into a PHP object
*
* @todo Rather than using an array of traitsInfo create Zend_Amf_Value_TraitsInfo
* @return object|array
*/
public function readObject()
{
$traitsInfo = $this->readInteger();
$storedObject = ($traitsInfo & 0x01)==0;
$traitsInfo = $traitsInfo >> 1;
// Check if the Object is in the stored Objects reference table
if ($storedObject) {
$ref = $traitsInfo;
if (!isset($this->_referenceObjects[$ref])) {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unknown Object reference: ' . $ref);
}
$returnObject = $this->_referenceObjects[$ref];
} else {
// Check if the Object is in the stored Definitions reference table
$storedClass = ($traitsInfo & 0x01) == 0;
$traitsInfo = $traitsInfo >> 1;
if ($storedClass) {
$ref = $traitsInfo;
if (!isset($this->_referenceDefinitions[$ref])) {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unknows Definition reference: '. $ref);
}
// Populate the reference attributes
$className = $this->_referenceDefinitions[$ref]['className'];
$encoding = $this->_referenceDefinitions[$ref]['encoding'];
$propertyNames = $this->_referenceDefinitions[$ref]['propertyNames'];
} else {
// The class was not in the reference tables. Start reading rawdata to build traits.
// Create a traits table. Zend_Amf_Value_TraitsInfo would be ideal
$className = $this->readString();
$encoding = $traitsInfo & 0x03;
$propertyNames = array();
$traitsInfo = $traitsInfo >> 2;
}
// We now have the object traits defined in variables. Time to go to work:
if (!$className) {
// No class name generic object
$returnObject = new stdClass();
} else {
// Defined object
// Typed object lookup against registered classname maps
if ($loader = Zend_Amf_Parse_TypeLoader::loadType($className)) {
$returnObject = new $loader();
} else {
//user defined typed object
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Typed object not found: '. $className . ' ');
}
}
// Add the Object to the reference table
$this->_referenceObjects[] = $returnObject;
$properties = array(); // clear value
// Check encoding types for additional processing.
switch ($encoding) {
case (Zend_Amf_Constants::ET_EXTERNAL):
// Externalizable object such as {ArrayCollection} and {ObjectProxy}
if (!$storedClass) {
$this->_referenceDefinitions[] = array(
'className' => $className,
'encoding' => $encoding,
'propertyNames' => $propertyNames,
);
}
$returnObject->externalizedData = $this->readTypeMarker();
break;
case (Zend_Amf_Constants::ET_DYNAMIC):
// used for Name-value encoding
if (!$storedClass) {
$this->_referenceDefinitions[] = array(
'className' => $className,
'encoding' => $encoding,
'propertyNames' => $propertyNames,
);
}
// not a reference object read name value properties from byte stream
do {
$property = $this->readString();
if ($property != "") {
$propertyNames[] = $property;
$properties[$property] = $this->readTypeMarker();
}
} while ($property !="");
break;
default:
// basic property list object.
if (!$storedClass) {
$count = $traitsInfo; // Number of properties in the list
for($i=0; $i< $count; $i++) {
$propertyNames[] = $this->readString();
}
// Add a reference to the class.
$this->_referenceDefinitions[] = array(
'className' => $className,
'encoding' => $encoding,
'propertyNames' => $propertyNames,
);
}
foreach ($propertyNames as $property) {
$properties[$property] = $this->readTypeMarker();
}
break;
}
// Add properties back to the return object.
if (!is_array($properties)) $properties = array();
foreach($properties as $key=>$value) {
if($key) {
$returnObject->$key = $value;
}
}
}
if ($returnObject instanceof Zend_Amf_Value_Messaging_ArrayCollection) {
if (isset($returnObject->externalizedData)) {
$returnObject = $returnObject->externalizedData;
} else {
$returnObject = get_object_vars($returnObject);
}
}
return $returnObject;
}
/**
* Convert XML to SimpleXml
* If user wants DomDocument they can use dom_import_simplexml
*
* @return SimpleXml Object
*/
public function readXmlString()
{
$xmlReference = $this->readInteger();
$length = $xmlReference >> 1;
$string = $this->_stream->readBytes($length);
return Zend_Xml_Security::scan($string);
}
}

View File

@ -1,534 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @subpackage Parse_Amf3
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/** Zend_Amf_Constants */
require_once 'Zend/Amf/Constants.php';
/** Zend_Amf_Parse_Serializer */
require_once 'Zend/Amf/Parse/Serializer.php';
/** Zend_Amf_Parse_TypeLoader */
require_once 'Zend/Amf/Parse/TypeLoader.php';
/**
* Detect PHP object type and convert it to a corresponding AMF3 object type
*
* @package Zend_Amf
* @subpackage Parse_Amf3
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Parse_Amf3_Serializer extends Zend_Amf_Parse_Serializer
{
/**
* A constant empty string
* @var string
*/
protected $_strEmpty = '';
/**
* An array of reference objects per amf body
* @var array
*/
protected $_referenceObjects = array();
/**
* An array of reference strings per amf body
* @var array
*/
protected $_referenceStrings = array();
/**
* An array of reference class definitions, indexed by classname
* @var array
*/
protected $_referenceDefinitions = array();
/**
* Serialize PHP types to AMF3 and write to stream
*
* Checks to see if the type was declared and then either
* auto negotiates the type or use the user defined markerType to
* serialize the data from php back to AMF3
*
* @param mixed $data
* @param int $markerType
* @param mixed $dataByVal
* @return void
*/
public function writeTypeMarker(&$data, $markerType = null, $dataByVal = false)
{
// Workaround for PHP5 with E_STRICT enabled complaining about "Only
// variables should be passed by reference"
if ((null === $data) && ($dataByVal !== false)) {
$data = &$dataByVal;
}
if (null !== $markerType) {
// Write the Type Marker to denote the following action script data type
$this->_stream->writeByte($markerType);
switch ($markerType) {
case Zend_Amf_Constants::AMF3_NULL:
break;
case Zend_Amf_Constants::AMF3_BOOLEAN_FALSE:
break;
case Zend_Amf_Constants::AMF3_BOOLEAN_TRUE:
break;
case Zend_Amf_Constants::AMF3_INTEGER:
$this->writeInteger($data);
break;
case Zend_Amf_Constants::AMF3_NUMBER:
$this->_stream->writeDouble($data);
break;
case Zend_Amf_Constants::AMF3_STRING:
$this->writeString($data);
break;
case Zend_Amf_Constants::AMF3_DATE:
$this->writeDate($data);
break;
case Zend_Amf_Constants::AMF3_ARRAY:
$this->writeArray($data);
break;
case Zend_Amf_Constants::AMF3_OBJECT:
$this->writeObject($data);
break;
case Zend_Amf_Constants::AMF3_BYTEARRAY:
$this->writeByteArray($data);
break;
case Zend_Amf_Constants::AMF3_XMLSTRING;
$this->writeXml($data);
break;
default:
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unknown Type Marker: ' . $markerType);
}
} else {
// Detect Type Marker
if (is_resource($data)) {
$data = Zend_Amf_Parse_TypeLoader::handleResource($data);
}
switch (true) {
case (null === $data):
$markerType = Zend_Amf_Constants::AMF3_NULL;
break;
case (is_bool($data)):
if ($data){
$markerType = Zend_Amf_Constants::AMF3_BOOLEAN_TRUE;
} else {
$markerType = Zend_Amf_Constants::AMF3_BOOLEAN_FALSE;
}
break;
case (is_int($data)):
if (($data > 0xFFFFFFF) || ($data < -268435456)) {
$markerType = Zend_Amf_Constants::AMF3_NUMBER;
} else {
$markerType = Zend_Amf_Constants::AMF3_INTEGER;
}
break;
case (is_float($data)):
$markerType = Zend_Amf_Constants::AMF3_NUMBER;
break;
case (is_string($data)):
$markerType = Zend_Amf_Constants::AMF3_STRING;
break;
case (is_array($data)):
$markerType = Zend_Amf_Constants::AMF3_ARRAY;
break;
case (is_object($data)):
// Handle object types.
if (($data instanceof DateTime) || ($data instanceof Zend_Date)) {
$markerType = Zend_Amf_Constants::AMF3_DATE;
} else if ($data instanceof Zend_Amf_Value_ByteArray) {
$markerType = Zend_Amf_Constants::AMF3_BYTEARRAY;
} else if (($data instanceof DOMDocument) || ($data instanceof SimpleXMLElement)) {
$markerType = Zend_Amf_Constants::AMF3_XMLSTRING;
} else {
$markerType = Zend_Amf_Constants::AMF3_OBJECT;
}
break;
default:
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unsupported data type: ' . gettype($data));
}
$this->writeTypeMarker($data, $markerType);
}
}
/**
* Write an AMF3 integer
*
* @param int|float $data
* @return Zend_Amf_Parse_Amf3_Serializer
*/
public function writeInteger($int)
{
if (($int & 0xffffff80) == 0) {
$this->_stream->writeByte($int & 0x7f);
return $this;
}
if (($int & 0xffffc000) == 0 ) {
$this->_stream->writeByte(($int >> 7 ) | 0x80);
$this->_stream->writeByte($int & 0x7f);
return $this;
}
if (($int & 0xffe00000) == 0) {
$this->_stream->writeByte(($int >> 14 ) | 0x80);
$this->_stream->writeByte(($int >> 7 ) | 0x80);
$this->_stream->writeByte($int & 0x7f);
return $this;
}
$this->_stream->writeByte(($int >> 22 ) | 0x80);
$this->_stream->writeByte(($int >> 15 ) | 0x80);
$this->_stream->writeByte(($int >> 8 ) | 0x80);
$this->_stream->writeByte($int & 0xff);
return $this;
}
/**
* Send string to output stream, without trying to reference it.
* The string is prepended with strlen($string) << 1 | 0x01
*
* @param string $string
* @return Zend_Amf_Parse_Amf3_Serializer
*/
protected function writeBinaryString(&$string){
$ref = ($this->_mbStringFunctionsOverloaded ? mb_strlen($string, '8bit') : strlen($string)) << 1 | 0x01;
$this->writeInteger($ref);
$this->_stream->writeBytes($string);
return $this;
}
/**
* Send string to output stream
*
* @param string $string
* @return Zend_Amf_Parse_Amf3_Serializer
*/
public function writeString(&$string)
{
$len = $this->_mbStringFunctionsOverloaded ? mb_strlen($string, '8bit') : strlen($string);
if(!$len){
$this->writeInteger(0x01);
return $this;
}
$ref = array_key_exists($string, $this->_referenceStrings)
? $this->_referenceStrings[$string]
: false;
if ($ref === false){
$this->_referenceStrings[$string] = count($this->_referenceStrings);
$this->writeBinaryString($string);
} else {
$ref <<= 1;
$this->writeInteger($ref);
}
return $this;
}
/**
* Send ByteArray to output stream
*
* @param string|Zend_Amf_Value_ByteArray $data
* @return Zend_Amf_Parse_Amf3_Serializer
*/
public function writeByteArray(&$data)
{
if ($this->writeObjectReference($data)) {
return $this;
}
if (is_string($data)) {
//nothing to do
} else if ($data instanceof Zend_Amf_Value_ByteArray) {
$data = $data->getData();
} else {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Invalid ByteArray specified; must be a string or Zend_Amf_Value_ByteArray');
}
$this->writeBinaryString($data);
return $this;
}
/**
* Send xml to output stream
*
* @param DOMDocument|SimpleXMLElement $xml
* @return Zend_Amf_Parse_Amf3_Serializer
*/
public function writeXml($xml)
{
if ($this->writeObjectReference($xml)) {
return $this;
}
if(is_string($xml)) {
//nothing to do
} else if ($xml instanceof DOMDocument) {
$xml = $xml->saveXml();
} else if ($xml instanceof SimpleXMLElement) {
$xml = $xml->asXML();
} else {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Invalid xml specified; must be a DOMDocument or SimpleXMLElement');
}
$this->writeBinaryString($xml);
return $this;
}
/**
* Convert DateTime/Zend_Date to AMF date
*
* @param DateTime|Zend_Date $date
* @return Zend_Amf_Parse_Amf3_Serializer
*/
public function writeDate($date)
{
if ($this->writeObjectReference($date)) {
return $this;
}
if ($date instanceof DateTime) {
$dateString = $date->format('U') * 1000;
} elseif ($date instanceof Zend_Date) {
$dateString = $date->toString('U') * 1000;
} else {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Invalid date specified; must be a string DateTime or Zend_Date object');
}
$this->writeInteger(0x01);
// write time to stream minus milliseconds
$this->_stream->writeDouble($dateString);
return $this;
}
/**
* Write a PHP array back to the amf output stream
*
* @param array $array
* @return Zend_Amf_Parse_Amf3_Serializer
*/
public function writeArray(&$array)
{
// arrays aren't reference here but still counted
$this->_referenceObjects[] = $array;
// have to seperate mixed from numberic keys.
$numeric = array();
$string = array();
foreach ($array as $key => &$value) {
if (is_int($key)) {
$numeric[] = $value;
} else {
$string[$key] = $value;
}
}
// write the preamble id of the array
$length = count($numeric);
$id = ($length << 1) | 0x01;
$this->writeInteger($id);
//Write the mixed type array to the output stream
foreach($string as $key => &$value) {
$this->writeString($key)
->writeTypeMarker($value);
}
$this->writeString($this->_strEmpty);
// Write the numeric array to ouput stream
foreach($numeric as &$value) {
$this->writeTypeMarker($value);
}
return $this;
}
/**
* Check if the given object is in the reference table, write the reference if it exists,
* otherwise add the object to the reference table
*
* @param mixed $object object reference to check for reference
* @param mixed $objectByVal object to check for reference
* @return Boolean true, if the reference was written, false otherwise
*/
protected function writeObjectReference(&$object, $objectByVal = false)
{
// Workaround for PHP5 with E_STRICT enabled complaining about "Only
// variables should be passed by reference"
if ((null === $object) && ($objectByVal !== false)) {
$object = &$objectByVal;
}
$hash = spl_object_hash($object);
$ref = array_key_exists($hash, $this->_referenceObjects)
? $this->_referenceObjects[$hash]
: false;
// quickly handle object references
if ($ref !== false){
$ref <<= 1;
$this->writeInteger($ref);
return true;
}
$this->_referenceObjects[$hash] = count($this->_referenceObjects);
return false;
}
/**
* Write object to ouput stream
*
* @param mixed $data
* @return Zend_Amf_Parse_Amf3_Serializer
*/
public function writeObject($object)
{
if($this->writeObjectReference($object)){
return $this;
}
$className = '';
//Check to see if the object is a typed object and we need to change
switch (true) {
// the return class mapped name back to actionscript class name.
case ($className = Zend_Amf_Parse_TypeLoader::getMappedClassName(get_class($object))):
break;
// Check to see if the user has defined an explicit Action Script type.
case isset($object->_explicitType):
$className = $object->_explicitType;
break;
// Check if user has defined a method for accessing the Action Script type
case method_exists($object, 'getASClassName'):
$className = $object->getASClassName();
break;
// No return class name is set make it a generic object
case ($object instanceof stdClass):
$className = '';
break;
// By default, use object's class name
default:
$className = get_class($object);
break;
}
$writeTraits = true;
//check to see, if we have a corresponding definition
if(array_key_exists($className, $this->_referenceDefinitions)){
$traitsInfo = $this->_referenceDefinitions[$className]['id'];
$encoding = $this->_referenceDefinitions[$className]['encoding'];
$propertyNames = $this->_referenceDefinitions[$className]['propertyNames'];
$traitsInfo = ($traitsInfo << 2) | 0x01;
$writeTraits = false;
} else {
$propertyNames = array();
if($className == ''){
//if there is no className, we interpret the class as dynamic without any sealed members
$encoding = Zend_Amf_Constants::ET_DYNAMIC;
} else {
$encoding = Zend_Amf_Constants::ET_PROPLIST;
foreach($object as $key => $value) {
if( $key[0] != "_") {
$propertyNames[] = $key;
}
}
}
$this->_referenceDefinitions[$className] = array(
'id' => count($this->_referenceDefinitions),
'encoding' => $encoding,
'propertyNames' => $propertyNames,
);
$traitsInfo = Zend_Amf_Constants::AMF3_OBJECT_ENCODING;
$traitsInfo |= $encoding << 2;
$traitsInfo |= (count($propertyNames) << 4);
}
$this->writeInteger($traitsInfo);
if($writeTraits){
$this->writeString($className);
foreach ($propertyNames as $value) {
$this->writeString($value);
}
}
try {
switch($encoding) {
case Zend_Amf_Constants::ET_PROPLIST:
//Write the sealed values to the output stream.
foreach ($propertyNames as $key) {
$this->writeTypeMarker($object->$key);
}
break;
case Zend_Amf_Constants::ET_DYNAMIC:
//Write the sealed values to the output stream.
foreach ($propertyNames as $key) {
$this->writeTypeMarker($object->$key);
}
//Write remaining properties
foreach($object as $key => $value){
if(!in_array($key,$propertyNames) && $key[0] != "_"){
$this->writeString($key);
$this->writeTypeMarker($value);
}
}
//Write an empty string to end the dynamic part
$this->writeString($this->_strEmpty);
break;
case Zend_Amf_Constants::ET_EXTERNAL:
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('External Object Encoding not implemented');
break;
default:
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unknown Object Encoding type: ' . $encoding);
}
} catch (Exception $e) {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unable to writeObject output: ' . $e->getMessage(), 0, $e);
}
return $this;
}
}

View File

@ -1,65 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* Abstract cass that all deserializer must implement.
*
* Logic for deserialization of the AMF envelop is based on resources supplied
* by Adobe Blaze DS. For and example of deserialization please review the BlazeDS
* source tree.
*
* @see http://opensource.adobe.com/svn/opensource/blazeds/trunk/modules/core/src/java/flex/messaging/io/amf/
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
abstract class Zend_Amf_Parse_Deserializer
{
/**
* The raw string that represents the AMF request.
*
* @var Zend_Amf_Parse_InputStream
*/
protected $_stream;
/**
* Constructor
*
* @param Zend_Amf_Parse_InputStream $stream
* @return void
*/
public function __construct(Zend_Amf_Parse_InputStream $stream)
{
$this->_stream = $stream;
}
/**
* Checks for AMF marker types and calls the appropriate methods
* for deserializing those marker types. Markers are the data type of
* the following value.
*
* @param int $typeMarker
* @return mixed Whatever the data type is of the marker in php
*/
public abstract function readTypeMarker($markerType = null);
}

View File

@ -1,39 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/** Zend_Amf_Util_BinaryStream */
require_once 'Zend/Amf/Util/BinaryStream.php';
/**
* InputStream is used to iterate at a binary level through the AMF request.
*
* InputStream extends BinaryStream as eventually BinaryStream could be placed
* outside of Zend_Amf in order to allow other packages to use the class.
*
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Parse_InputStream extends Zend_Amf_Util_BinaryStream
{
}

View File

@ -1,49 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/** Zend_Amf_Util_BinaryStream */
require_once 'Zend/Amf/Util/BinaryStream.php';
/**
* Iterate at a binary level through the AMF response
*
* OutputStream extends BinaryStream as eventually BinaryStream could be placed
* outside of Zend_Amf in order to allow other packages to use the class.
*
* @uses Zend_Amf_Util_BinaryStream
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Parse_OutputStream extends Zend_Amf_Util_BinaryStream
{
/**
* Constructor
*
* @return void
*/
public function __construct()
{
parent::__construct('');
}
}

View File

@ -1,70 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* This class will convert mysql result resource to array suitable for passing
* to the external entities.
*
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Parse_Resource_MysqlResult
{
/**
* @var array List of Mysql types with PHP counterparts
*
* Key => Value is Mysql type (exact string) => PHP type
*/
static public $fieldTypes = array(
"int" => "int",
"timestamp" => "int",
"year" => "int",
"real" => "float",
);
/**
* Parse resource into array
*
* @param resource $resource
* @return array
*/
public function parse($resource) {
$result = array();
$fieldcnt = mysql_num_fields($resource);
$fields_transform = array();
for($i=0;$i<$fieldcnt;$i++) {
$type = mysql_field_type($resource, $i);
if(isset(self::$fieldTypes[$type])) {
$fields_transform[mysql_field_name($resource, $i)] = self::$fieldTypes[$type];
}
}
while($row = mysql_fetch_object($resource)) {
foreach($fields_transform as $fieldname => $fieldtype) {
settype($row->$fieldname, $fieldtype);
}
$result[] = $row;
}
return $result;
}
}

View File

@ -1,128 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* This class will convert mysql result resource to array suitable for passing
* to the external entities.
*
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Parse_Resource_MysqliResult
{
/**
* mapping taken from http://forums.mysql.com/read.php?52,255868,255895#msg-255895
*/
static public $mysqli_type = array(
0 => "MYSQLI_TYPE_DECIMAL",
1 => "MYSQLI_TYPE_TINYINT",
2 => "MYSQLI_TYPE_SMALLINT",
3 => "MYSQLI_TYPE_INTEGER",
4 => "MYSQLI_TYPE_FLOAT",
5 => "MYSQLI_TYPE_DOUBLE",
7 => "MYSQLI_TYPE_TIMESTAMP",
8 => "MYSQLI_TYPE_BIGINT",
9 => "MYSQLI_TYPE_MEDIUMINT",
10 => "MYSQLI_TYPE_DATE",
11 => "MYSQLI_TYPE_TIME",
12 => "MYSQLI_TYPE_DATETIME",
13 => "MYSQLI_TYPE_YEAR",
14 => "MYSQLI_TYPE_DATE",
16 => "MYSQLI_TYPE_BIT",
246 => "MYSQLI_TYPE_DECIMAL",
247 => "MYSQLI_TYPE_ENUM",
248 => "MYSQLI_TYPE_SET",
249 => "MYSQLI_TYPE_TINYBLOB",
250 => "MYSQLI_TYPE_MEDIUMBLOB",
251 => "MYSQLI_TYPE_LONGBLOB",
252 => "MYSQLI_TYPE_BLOB",
253 => "MYSQLI_TYPE_VARCHAR",
254 => "MYSQLI_TYPE_CHAR",
255 => "MYSQLI_TYPE_GEOMETRY",
);
// Build an associative array for a type look up
static $mysqli_to_php = array(
"MYSQLI_TYPE_DECIMAL" => 'float',
"MYSQLI_TYPE_NEWDECIMAL" => 'float',
"MYSQLI_TYPE_BIT" => 'integer',
"MYSQLI_TYPE_TINYINT" => 'integer',
"MYSQLI_TYPE_SMALLINT" => 'integer',
"MYSQLI_TYPE_MEDIUMINT" => 'integer',
"MYSQLI_TYPE_BIGINT" => 'integer',
"MYSQLI_TYPE_INTEGER" => 'integer',
"MYSQLI_TYPE_FLOAT" => 'float',
"MYSQLI_TYPE_DOUBLE" => 'float',
"MYSQLI_TYPE_NULL" => 'null',
"MYSQLI_TYPE_TIMESTAMP" => 'string',
"MYSQLI_TYPE_INT24" => 'integer',
"MYSQLI_TYPE_DATE" => 'string',
"MYSQLI_TYPE_TIME" => 'string',
"MYSQLI_TYPE_DATETIME" => 'string',
"MYSQLI_TYPE_YEAR" => 'string',
"MYSQLI_TYPE_NEWDATE" => 'string',
"MYSQLI_TYPE_ENUM" => 'string',
"MYSQLI_TYPE_SET" => 'string',
"MYSQLI_TYPE_TINYBLOB" => 'object',
"MYSQLI_TYPE_MEDIUMBLOB" => 'object',
"MYSQLI_TYPE_LONGBLOB" => 'object',
"MYSQLI_TYPE_BLOB" => 'object',
"MYSQLI_TYPE_CHAR" => 'string',
"MYSQLI_TYPE_VARCHAR" => 'string',
"MYSQLI_TYPE_GEOMETRY" => 'object',
"MYSQLI_TYPE_BIT" => 'integer',
);
/**
* Parse resource into array
*
* @param resource $resource
* @return array
*/
public function parse($resource) {
$result = array();
$fieldcnt = mysqli_num_fields($resource);
$fields_transform = array();
for($i=0;$i<$fieldcnt;$i++) {
$finfo = mysqli_fetch_field_direct($resource, $i);
if(isset(self::$mysqli_type[$finfo->type])) {
$fields_transform[$finfo->name] = self::$mysqli_to_php[self::$mysqli_type[$finfo->type]];
}
}
while($row = mysqli_fetch_assoc($resource)) {
foreach($fields_transform as $fieldname => $fieldtype) {
settype($row[$fieldname], $fieldtype);
}
$result[] = $row;
}
return $result;
}
}

View File

@ -1,42 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* This class will convert stream resource to string by just reading it
*
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Parse_Resource_Stream
{
/**
* Parse resource into string
*
* @param resource $resource Stream resource
* @return array
*/
public function parse($resource) {
return stream_get_contents($resource);
}
}

View File

@ -1,68 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* Base abstract class for all AMF serializers.
*
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
abstract class Zend_Amf_Parse_Serializer
{
/**
* Reference to the current output stream being constructed
*
* @var string
*/
protected $_stream;
/**
* str* functions overloaded using mbstring.func_overload
*
* @var bool
*/
protected $mbStringFunctionsOverloaded;
/**
* Constructor
*
* @param Zend_Amf_Parse_OutputStream $stream
* @return void
*/
public function __construct(Zend_Amf_Parse_OutputStream $stream)
{
$this->_stream = $stream;
$this->_mbStringFunctionsOverloaded = function_exists('mb_strlen') && (ini_get('mbstring.func_overload') !== '') && ((int)ini_get('mbstring.func_overload') & 2);
}
/**
* Find the PHP object type and convert it into an AMF object type
*
* @param mixed $content
* @param int $markerType
* @param mixed $contentByVal
* @return void
*/
public abstract function writeTypeMarker(&$content, $markerType = null, $contentByVal = false);
}

View File

@ -1,231 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* @see Zend_Amf_Value_Messaging_AcknowledgeMessage
*/
require_once 'Zend/Amf/Value/Messaging/AcknowledgeMessage.php';
/**
* @see Zend_Amf_Value_Messaging_AsyncMessage
*/
require_once 'Zend/Amf/Value/Messaging/AsyncMessage.php';
/**
* @see Zend_Amf_Value_Messaging_CommandMessage
*/
require_once 'Zend/Amf/Value/Messaging/CommandMessage.php';
/**
* @see Zend_Amf_Value_Messaging_ErrorMessage
*/
require_once 'Zend/Amf/Value/Messaging/ErrorMessage.php';
/**
* @see Zend_Amf_Value_Messaging_RemotingMessage
*/
require_once 'Zend/Amf/Value/Messaging/RemotingMessage.php';
/**
* Loads a local class and executes the instantiation of that class.
*
* @todo PHP 5.3 can drastically change this class w/ namespace and the new call_user_func w/ namespace
* @package Zend_Amf
* @subpackage Parse
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
final class Zend_Amf_Parse_TypeLoader
{
/**
* @var string callback class
*/
public static $callbackClass;
/**
* @var array AMF class map
*/
public static $classMap = array (
'flex.messaging.messages.AcknowledgeMessage' => 'Zend_Amf_Value_Messaging_AcknowledgeMessage',
'flex.messaging.messages.ErrorMessage' => 'Zend_Amf_Value_Messaging_AsyncMessage',
'flex.messaging.messages.CommandMessage' => 'Zend_Amf_Value_Messaging_CommandMessage',
'flex.messaging.messages.ErrorMessage' => 'Zend_Amf_Value_Messaging_ErrorMessage',
'flex.messaging.messages.RemotingMessage' => 'Zend_Amf_Value_Messaging_RemotingMessage',
'flex.messaging.io.ArrayCollection' => 'Zend_Amf_Value_Messaging_ArrayCollection',
);
/**
* @var array Default class map
*/
protected static $_defaultClassMap = array(
'flex.messaging.messages.AcknowledgeMessage' => 'Zend_Amf_Value_Messaging_AcknowledgeMessage',
'flex.messaging.messages.ErrorMessage' => 'Zend_Amf_Value_Messaging_AsyncMessage',
'flex.messaging.messages.CommandMessage' => 'Zend_Amf_Value_Messaging_CommandMessage',
'flex.messaging.messages.ErrorMessage' => 'Zend_Amf_Value_Messaging_ErrorMessage',
'flex.messaging.messages.RemotingMessage' => 'Zend_Amf_Value_Messaging_RemotingMessage',
'flex.messaging.io.ArrayCollection' => 'Zend_Amf_Value_Messaging_ArrayCollection',
);
/**
* @var Zend_Loader_PluginLoader_Interface
*/
protected static $_resourceLoader = null;
/**
* Load the mapped class type into a callback.
*
* @param string $className
* @return object|false
*/
public static function loadType($className)
{
$class = self::getMappedClassName($className);
if(!$class) {
$class = str_replace('.', '_', $className);
}
if (!class_exists($class)) {
return "stdClass";
}
return $class;
}
/**
* Looks up the supplied call name to its mapped class name
*
* @param string $className
* @return string
*/
public static function getMappedClassName($className)
{
$mappedName = array_search($className, self::$classMap);
if ($mappedName) {
return $mappedName;
}
$mappedName = array_search($className, array_flip(self::$classMap));
if ($mappedName) {
return $mappedName;
}
return false;
}
/**
* Map PHP class names to ActionScript class names
*
* Allows users to map the class names of there action script classes
* to the equivelent php class name. Used in deserialization to load a class
* and serialiation to set the class name of the returned object.
*
* @param string $asClassName
* @param string $phpClassName
* @return void
*/
public static function setMapping($asClassName, $phpClassName)
{
self::$classMap[$asClassName] = $phpClassName;
}
/**
* Reset type map
*
* @return void
*/
public static function resetMap()
{
self::$classMap = self::$_defaultClassMap;
}
/**
* Set loader for resource type handlers
*
* @param Zend_Loader_PluginLoader_Interface $loader
*/
public static function setResourceLoader(Zend_Loader_PluginLoader_Interface $loader)
{
self::$_resourceLoader = $loader;
}
/**
* Add directory to the list of places where to look for resource handlers
*
* @param string $prefix
* @param string $dir
*/
public static function addResourceDirectory($prefix, $dir)
{
if(self::$_resourceLoader) {
self::$_resourceLoader->addPrefixPath($prefix, $dir);
}
}
/**
* Get plugin class that handles this resource
*
* @param resource $resource Resource type
* @return string Class name
*/
public static function getResourceParser($resource)
{
if(self::$_resourceLoader) {
$type = preg_replace("/[^A-Za-z0-9_]/", " ", get_resource_type($resource));
$type = str_replace(" ","", ucwords($type));
return self::$_resourceLoader->load($type);
}
return false;
}
/**
* Convert resource to a serializable object
*
* @param resource $resource
* @return mixed
*/
public static function handleResource($resource)
{
if(!self::$_resourceLoader) {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unable to handle resources - resource plugin loader not set');
}
try {
while(is_resource($resource)) {
$resclass = self::getResourceParser($resource);
if(!$resclass) {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Can not serialize resource type: '. get_resource_type($resource));
}
$parser = new $resclass();
if(is_callable(array($parser, 'parse'))) {
$resource = $parser->parse($resource);
} else {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception("Could not call parse() method on class $resclass");
}
}
return $resource;
} catch(Zend_Amf_Exception $e) {
throw new Zend_Amf_Exception($e->getMessage(), $e->getCode(), $e);
} catch(Exception $e) {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Can not serialize resource type: '. get_resource_type($resource), 0, $e);
}
}
}

View File

@ -1,251 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/** @see Zend_Amf_Parse_InputStream */
require_once 'Zend/Amf/Parse/InputStream.php';
/** @see Zend_Amf_Parse_Amf0_Deserializer */
require_once 'Zend/Amf/Parse/Amf0/Deserializer.php';
/** @see Zend_Amf_Constants */
require_once 'Zend/Amf/Constants.php';
/** @see Zend_Amf_Value_MessageHeader */
require_once 'Zend/Amf/Value/MessageHeader.php';
/** @see Zend_Amf_Value_MessageBody */
require_once 'Zend/Amf/Value/MessageBody.php';
/**
* Handle the incoming AMF request by deserializing the data to php object
* types and storing the data for Zend_Amf_Server to handle for processing.
*
* @todo Currently not checking if the object needs to be Type Mapped to a server object.
* @package Zend_Amf
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Request
{
/**
* @var int AMF client type (AMF0, AMF3)
*/
protected $_clientType = 0; // default AMF0
/**
* @var array Message bodies
*/
protected $_bodies = array();
/**
* @var array Message headers
*/
protected $_headers = array();
/**
* @var int Message encoding to use for objects in response
*/
protected $_objectEncoding = 0;
/**
* @var Zend_Amf_Parse_InputStream
*/
protected $_inputStream;
/**
* @var Zend_Amf_Parse_AMF0_Deserializer
*/
protected $_deserializer;
/**
* Time of the request
* @var mixed
*/
protected $_time;
/**
* Prepare the AMF InputStream for parsing.
*
* @param string $request
* @return Zend_Amf_Request
*/
public function initialize($request)
{
$this->_inputStream = new Zend_Amf_Parse_InputStream($request);
$this->_deserializer = new Zend_Amf_Parse_Amf0_Deserializer($this->_inputStream);
$this->readMessage($this->_inputStream);
return $this;
}
/**
* Takes the raw AMF input stream and converts it into valid PHP objects
*
* @param Zend_Amf_Parse_InputStream
* @return Zend_Amf_Request
*/
public function readMessage(Zend_Amf_Parse_InputStream $stream)
{
$clientVersion = $stream->readUnsignedShort();
if (($clientVersion != Zend_Amf_Constants::AMF0_OBJECT_ENCODING)
&& ($clientVersion != Zend_Amf_Constants::AMF3_OBJECT_ENCODING)
&& ($clientVersion != Zend_Amf_Constants::FMS_OBJECT_ENCODING)
) {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unknown Player Version ' . $clientVersion);
}
$this->_bodies = array();
$this->_headers = array();
$headerCount = $stream->readInt();
// Iterate through the AMF envelope header
while ($headerCount--) {
$this->_headers[] = $this->readHeader();
}
// Iterate through the AMF envelope body
$bodyCount = $stream->readInt();
while ($bodyCount--) {
$this->_bodies[] = $this->readBody();
}
return $this;
}
/**
* Deserialize a message header from the input stream.
*
* A message header is structured as:
* - NAME String
* - MUST UNDERSTAND Boolean
* - LENGTH Int
* - DATA Object
*
* @return Zend_Amf_Value_MessageHeader
*/
public function readHeader()
{
$name = $this->_inputStream->readUTF();
$mustRead = (bool)$this->_inputStream->readByte();
$length = $this->_inputStream->readLong();
try {
$data = $this->_deserializer->readTypeMarker();
} catch (Exception $e) {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unable to parse ' . $name . ' header data: ' . $e->getMessage() . ' '. $e->getLine(), 0, $e);
}
$header = new Zend_Amf_Value_MessageHeader($name, $mustRead, $data, $length);
return $header;
}
/**
* Deserialize a message body from the input stream
*
* @return Zend_Amf_Value_MessageBody
*/
public function readBody()
{
$targetURI = $this->_inputStream->readUTF();
$responseURI = $this->_inputStream->readUTF();
$length = $this->_inputStream->readLong();
try {
$data = $this->_deserializer->readTypeMarker();
} catch (Exception $e) {
require_once 'Zend/Amf/Exception.php';
throw new Zend_Amf_Exception('Unable to parse ' . $targetURI . ' body data ' . $e->getMessage(), 0, $e);
}
// Check for AMF3 objectEncoding
if ($this->_deserializer->getObjectEncoding() == Zend_Amf_Constants::AMF3_OBJECT_ENCODING) {
/*
* When and AMF3 message is sent to the server it is nested inside
* an AMF0 array called Content. The following code gets the object
* out of the content array and sets it as the message data.
*/
if(is_array($data) && $data[0] instanceof Zend_Amf_Value_Messaging_AbstractMessage){
$data = $data[0];
}
// set the encoding so we return our message in AMF3
$this->_objectEncoding = Zend_Amf_Constants::AMF3_OBJECT_ENCODING;
}
$body = new Zend_Amf_Value_MessageBody($targetURI, $responseURI, $data);
return $body;
}
/**
* Return an array of the body objects that were found in the amf request.
*
* @return array {target, response, length, content}
*/
public function getAmfBodies()
{
return $this->_bodies;
}
/**
* Accessor to private array of message bodies.
*
* @param Zend_Amf_Value_MessageBody $message
* @return Zend_Amf_Request
*/
public function addAmfBody(Zend_Amf_Value_MessageBody $message)
{
$this->_bodies[] = $message;
return $this;
}
/**
* Return an array of headers that were found in the amf request.
*
* @return array {operation, mustUnderstand, length, param}
*/
public function getAmfHeaders()
{
return $this->_headers;
}
/**
* Return the either 0 or 3 for respect AMF version
*
* @return int
*/
public function getObjectEncoding()
{
return $this->_objectEncoding;
}
/**
* Set the object response encoding
*
* @param mixed $int
* @return Zend_Amf_Request
*/
public function setObjectEncoding($int)
{
$this->_objectEncoding = $int;
return $this;
}
}

View File

@ -1,80 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @subpackage Request
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/** @see Zend_Amf_Request */
require_once 'Zend/Amf/Request.php';
/**
* AMF Request object -- Request via HTTP
*
* Extends {@link Zend_Amf_Request} to accept a request via HTTP. Request is
* built at construction time using a raw POST; if no data is available, the
* request is declared a fault.
*
* @package Zend_Amf
* @subpackage Request
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Request_Http extends Zend_Amf_Request
{
/**
* Raw AMF request
* @var string
*/
protected $_rawRequest;
/**
* Constructor
*
* Attempts to read from php://input to get raw POST request; if an error
* occurs in doing so, or if the AMF body is invalid, the request is declared a
* fault.
*
* @return void
*/
public function __construct()
{
// php://input allows you to read raw POST data. It is a less memory
// intensive alternative to $HTTP_RAW_POST_DATA and does not need any
// special php.ini directives
$amfRequest = file_get_contents('php://input');
// Check to make sure that we have data on the input stream.
if ($amfRequest != '') {
$this->_rawRequest = $amfRequest;
$this->initialize($amfRequest);
} else {
echo '<p>Zend Amf Endpoint</p>' ;
}
}
/**
* Retrieve raw AMF Request
*
* @return string
*/
public function getRawRequest()
{
return $this->_rawRequest;
}
}

View File

@ -1,205 +0,0 @@
<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Amf
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/** @see Zend_Amf_Constants */
require_once 'Zend/Amf/Constants.php';
/** @see Zend_Amf_Parse_OutputStream */
require_once 'Zend/Amf/Parse/OutputStream.php';
/** @see Zend_Amf_Parse_Amf0_Serializer */
require_once 'Zend/Amf/Parse/Amf0/Serializer.php';
/**
* Handles converting the PHP object ready for response back into AMF
*
* @package Zend_Amf
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Amf_Response
{
/**
* @var int Object encoding for response
*/
protected $_objectEncoding = 0;
/**
* Array of Zend_Amf_Value_MessageBody objects
* @var array
*/
protected $_bodies = array();
/**
* Array of Zend_Amf_Value_MessageHeader objects
* @var array
*/
protected $_headers = array();
/**
* @var Zend_Amf_Parse_OutputStream
*/
protected $_outputStream;
/**
* Instantiate new output stream and start serialization
*
* @return Zend_Amf_Response
*/
public function finalize()
{
$this->_outputStream = new Zend_Amf_Parse_OutputStream();
$this->writeMessage($this->_outputStream);
return $this;
}
/**
* Serialize the PHP data types back into Actionscript and
* create and AMF stream.
*
* @param Zend_Amf_Parse_OutputStream $stream
* @return Zend_Amf_Response
*/
public function writeMessage(Zend_Amf_Parse_OutputStream $stream)
{
$objectEncoding = $this->_objectEncoding;
//Write encoding to start of stream. Preamble byte is written of two byte Unsigned Short
$stream->writeByte(0x00);
$stream->writeByte($objectEncoding);
// Loop through the AMF Headers that need to be returned.
$headerCount = count($this->_headers);
$stream->writeInt($headerCount);
foreach ($this->getAmfHeaders() as $header) {
$serializer = new Zend_Amf_Parse_Amf0_Serializer($stream);
$stream->writeUTF($header->name);
$stream->writeByte($header->mustRead);
$stream->writeLong(Zend_Amf_Constants::UNKNOWN_CONTENT_LENGTH);
if (is_object($header->data)) {
// Workaround for PHP5 with E_STRICT enabled complaining about
// "Only variables should be passed by reference"
$placeholder = null;
$serializer->writeTypeMarker($placeholder, null, $header->data);
} else {
$serializer->writeTypeMarker($header->data);
}
}
// loop through the AMF bodies that need to be returned.
$bodyCount = count($this->_bodies);
$stream->writeInt($bodyCount);
foreach ($this->_bodies as $body) {
$serializer = new Zend_Amf_Parse_Amf0_Serializer($stream);
$stream->writeUTF($body->getTargetURI());
$stream->writeUTF($body->getResponseURI());
$stream->writeLong(Zend_Amf_Constants::UNKNOWN_CONTENT_LENGTH);
$bodyData = $body->getData();
$markerType = ($this->_objectEncoding == Zend_Amf_Constants::AMF0_OBJECT_ENCODING) ? null : Zend_Amf_Constants::AMF0_AMF3;
if (is_object($bodyData)) {
// Workaround for PHP5 with E_STRICT enabled complaining about
// "Only variables should be passed by reference"
$placeholder = null;
$serializer->writeTypeMarker($placeholder, $markerType, $bodyData);
} else {
$serializer->writeTypeMarker($bodyData, $markerType);
}
}
return $this;
}
/**
* Return the output stream content
*
* @return string The contents of the output stream
*/
public function getResponse()
{
return $this->_outputStream->getStream();
}
/**
* Return the output stream content
*
* @return string
*/
public function __toString()
{
return $this->getResponse();
}
/**
* Add an AMF body to be sent to the Flash Player
*
* @param Zend_Amf_Value_MessageBody $body
* @return Zend_Amf_Response
*/
public function addAmfBody(Zend_Amf_Value_MessageBody $body)
{
$this->_bodies[] = $body;
return $this;
}
/**
* Return an array of AMF bodies to be serialized
*
* @return array
*/
public function getAmfBodies()
{
return $this->_bodies;
}
/**
* Add an AMF Header to be sent back to the flash player
*
* @param Zend_Amf_Value_MessageHeader $header
* @return Zend_Amf_Response
*/
public function addAmfHeader(Zend_Amf_Value_MessageHeader $header)
{
$this->_headers[] = $header;
return $this;
}
/**
* Retrieve attached AMF message headers
*
* @return array Array of Zend_Amf_Value_MessageHeader objects
*/
public function getAmfHeaders()
{
return $this->_headers;
}
/**
* Set the AMF encoding that will be used for serialization
*
* @param int $encoding
* @return Zend_Amf_Response
*/
public function setObjectEncoding($encoding)
{
$this->_objectEncoding = $encoding;
return $this;
}
}

Some files were not shown because too many files have changed in this diff Show More