Source for file jInstallerMessageProvider.class.php

Documentation is available at jInstallerMessageProvider.class.php

  1. <?php
  2. /**
  3. @package  jelix
  4. @subpackage core
  5. @author   Laurent Jouanneau
  6. @contributor Bastien Jaillot
  7. @copyright 2007-2009 Laurent Jouanneau, 2008 Bastien Jaillot
  8. @link     http://www.jelix.org
  9. @licence  GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
  10. @since 1.0b2
  11. */
  12.  
  13. /**
  14.  * message provider for jInstallCheck and jInstaller
  15.  * @package  jelix
  16.  * @subpackage core
  17.  * @since 1.0b2
  18.  */
  19. class jInstallerMessageProvider {
  20.     protected $currentLang;
  21.  
  22.     protected $messages = array(
  23.         'fr'=>array(
  24.        'checker.title'=>'Vérification de l\'installation de Jelix',
  25.         'number.errors'         =>' erreurs.',
  26.         'number.error'          =>' erreur.',
  27.         'number.warnings'       =>' avertissements.',
  28.         'number.warning'        =>' avertissement.',
  29.         'number.notices'        =>' remarques.',
  30.         'number.notice'         =>' remarque.',
  31.         'build.not.found'       =>'Le fichier BUILD de jelix est introuvable',
  32.         'conclusion.error'      =>'Vous devez corriger l\'erreur pour faire fonctionner correctement l\'application.',
  33.         'conclusion.errors'     =>'Vous devez corriger les erreurs pour faire fonctionner correctement l\' application.',
  34.         'conclusion.warning'    =>'L\'application peut à priori fonctionner, mais il est préférable de corriger l\'avertissement pour être sûr.',
  35.         'conclusion.warnings'   =>'L\'application peut à priori fonctionner, mais il est préférable de corriger les avertissements pour être sûr.',
  36.         'conclusion.notice'     =>'Les prerequis essentiels pour faire fonctionner l\'application sont ok malgré la remarque.',
  37.         'conclusion.notices'    =>'Les prerequis essentiels pour faire fonctionner l\'application sont ok malgré les remarques.',
  38.         'conclusion.ok'         =>'Les prerequis essentiels pour faire fonctionner l\'application sont ok',
  39.         'cannot.continue'       =>'Les vérifications ne peuvent continuer : %s',
  40.         'extension.not.installed'=>'L\'extension %s n\'est pas disponible',
  41.         'extension.optional.not.installed'=>'L\'extension %s optionnelle n\'est pas disponible',
  42.         'extension.required.not.installed'=>'L\'extension %s obligatoire n\'est pas disponible',
  43.         'extension.installed'=>'L\'extension %s est disponible',
  44.         'extension.optional.installed'=>'L\'extension %s optionnelle est disponible',
  45.         'extension.required.installed'=>'L\'extension %s obligatoire est disponible',
  46.         'extensions.required.ok'=>'Toutes les extensions PHP obligatoires sont disponibles',
  47.         'extension.opcode.cache'=>'Cette édition de Jelix a besoin d\'une extension de cache d\'opcode (apc, eaccelerator...)',
  48.         'extension.database.ok'=>'L\'application utilisera une base de données SQL',
  49.         'extension.database.ok2'=>'L\'application pourra utiliser une base de données SQL',
  50.         'extension.database.missing'=>'L\'application a besoin d\'une base de données SQL',
  51.         'extension.database.missing2'=>'L\'application ne pourra pas utiliser de base de données SQL',
  52.         'path.core'             =>'Le fichier init.php  de jelix ou le fichier application.ini.php de votre application n\'est pas chargé',
  53.         'path.temp'             =>'Le repertoire temporaire n\'est pas accessible en écriture ou alors le chemin du répertoire temp n\'est pas configurée comme il faut',
  54.         'path.log'              =>'Le repertoire var/log dans votre application n\'est pas accessible en écriture ou alors le chemin du répertoire de log n\'est pas configurée comme il faut',
  55.         'path.var'              =>'Le chemin du répertoire var n\'est pas configuré correctement : ce répertoire n\'existe pas',
  56.         'path.config'           =>'Le chemin du répertoire config n\'est pas configuré correctement : ce répertoire n\'existe pas',
  57.         'path.www'              =>'Le chemin du répertoire www n\'est pas configuré correctement : ce répertoire n\'existe pas',
  58.         'path.config.writable' =>'Le répertoire var/config n\'a pas les droits en écriture',
  59.         'path.profiles.writable'=>'Le fichier profiles.ini.php n\'a pas les droits en écriture',
  60.         'path.defaultconfig.writable'=>'Le fichier defaultconfig.ini.php n\'a pas les droits en écriture',
  61.         'path.installer.writable'=>'Le fichier installer.ini.php n\'a pas les droits en écriture',
  62.         'path.custom.not.exists'=>'Le fichier %s n\'existe pas, ses droits ne peuvent être vérifiés',
  63.         'path.custom.writable'=>'Le fichier %s n\'a pas les droits en écriture',
  64.         'path.custom.ok'=>'Le fichier %s a les droits en écriture',
  65.         'php.bad.version'       =>'Mauvaise version de PHP',
  66.         'php.version.current'   =>'Version PHP courante : %s',
  67.         'php.ok.version'        =>'La version PHP %s installée est correcte',
  68.         'php.version.required'  =>'L\'application nécessite au moins PHP %s',
  69.         'too.critical.error'    =>'Trop d\'erreurs critiques sont apparues. Corrigez les.',
  70.         'config.file'           =>'La variable $config_file n\'existe pas ou le fichier qu\'elle indique n\'existe pas',
  71.         'paths.ok'              =>'Les répertoires temp, log, var, config et www sont ok',
  72.         'ini.magic_quotes_gpc_with_plugin'=>'php.ini : le plugin magicquotes est activé mais vous devriez mettre magic_quotes_gpc à off',
  73.         'ini.magicquotes_plugin_without_php'=>'php.ini : le plugin magicquotes est activé alors que magic_quotes_gpc est déjà à off, désactivez le plugin',
  74.         'ini.magic_quotes_gpc'  =>'php.ini : l\'activation des magicquotes n\'est pas recommandée pour jelix. Vous devez les désactiver ou activer le plugin magicquotes si ce n\'est pas fait',
  75.         'ini.magic_quotes_runtime'=>'php.ini : magic_quotes_runtime doit être à off',
  76.         'ini.session.auto_start'=>'php.ini : session.auto_start doit être à off',
  77.         'ini.safe_mode'         =>'php.ini : le safe_mode n\'est pas recommandé.',
  78.         'ini.register_globals'  =>'php.ini : il faut désactiver register_globals, pour des raisons de sécurité et parce que cette option n\'est pas nécessaire.',
  79.         'ini.asp_tags'          =>'php.ini : il est conseillé de désactiver asp_tags. Cette option n\'est pas nécessaire.',
  80.         'ini.ok'                =>'Les paramètres de php sont ok',
  81.  
  82.         'module.unknown'        =>'Module inconnu',
  83.         'module.circular.dependency'=>"Dépendance circulaire ! le composant %s ne peut être installé",
  84.         'module.needed'         =>'Pour installer le module %s, ces modules doivent être présent : %s',
  85.         'module.bad.jelix.version'=>'Le module %s necessite une autre version de jelix (%s - %s)',
  86.         'module.bad.dependency.version'=>'Le module %s necessite une autre version du module %s (%s - %s)',
  87.         'module.installer.class.not.found'=>'La classe d\'installation %s pour le module %s n\'existe pas',
  88.         'module.upgrader.class.not.found'=>'La classe de mise à jour %s pour le module %s n\'existe pas',
  89.  
  90.         'install.entrypoint.start'  =>'Installation pour le point d\'entrée %s',
  91.         'install.entrypoint.end'    =>'Tous les modules sont installés ou mis à jour pour le point d\'entrée %s',
  92.         'install.entrypoint.bad.end'=>'Installation interrompue pour cause d\'erreurs pour le point d\'entrée %s',
  93.         'install.entrypoint.installers.disabled'=>'Les scripts d\'installation et de mise à jour ne seront pas executés, ils sont désactivés dans la configuration.',
  94.  
  95.         'install.dependencies.ok'   =>'Toutes les dépendances des modules sont valides',
  96.         'install.bad.dependencies'  =>'Il y a des erreurs dans les dépendances. Installation annulée.',
  97.         'install.invalid.xml.file'  =>'Le fichier identité %s est invalide ou inexistant',
  98.  
  99.         'install.module.already.installed'  =>'Le module %s déjà installé',
  100.         'install.module.installed'          =>'Le module %s est installé',
  101.         'install.module.error'              =>'Une erreur est survenue durant l\'installation du module %s: %s',
  102.         'install.module.check.dependency'   =>'Vérifie les dépendances du module %s',
  103.         'install.module.upgraded'           =>'Le module %s est mis à jour à la version %s',
  104.  
  105.         ),
  106.  
  107.         'en'=>array(
  108.         'checker.title'     =>'Jelix Installation checking',
  109.         'number.errors'     =>' errors.',
  110.         'number.error'      =>' error.',
  111.         'number.warnings'   =>' warnings.',
  112.         'number.warning'    =>' warning.',
  113.         'number.notices'    =>' notices.',
  114.         'number.notice'     =>' notice.',
  115.         'build.not.found'   =>'BUILD jelix file is not found',
  116.         'conclusion.error'  =>'You must fix the error in order to run your application correctly.',
  117.         'conclusion.errors' =>'You must fix errors in order to run your application correctly.',
  118.         'conclusion.warning'=>'Your application may run without problems, but it is recommanded to fix the warning.',
  119.         'conclusion.warnings'=>'Your application may run without problems, but it is recommanded to fix warnings.',
  120.         'conclusion.notice' =>'The main prerequisites to run your application are ok, although there is a notice.',
  121.         'conclusion.notices'=>'The main prerequisites to run your application are ok, although there are notices.',
  122.         'conclusion.ok'     =>'The main prerequisites to run your application are ok',
  123.         'cannot.continue'       =>'Cannot continue the checking: %s',
  124.         'extension.not.installed'=>'The extension %s is not available',
  125.         'extension.optional.not.installed'=>'the optional extension %s is not available',
  126.         'extension.required.not.installed'=>'the required extension %s is not available',
  127.         'extension.installed'=>'The extension %s is available',
  128.         'extension.optional.installed'=>'the optional extension %s is available',
  129.         'extension.required.installed'=>'the required extension %s is available',
  130.         'extensions.required.ok'=>'All needed PHP extensions are available',
  131.         'extension.opcode.cache'=>'The application requires an extension for opcode cache (apc, eaccelerator...)',
  132.         'extension.database.ok'=>'The application will use a SQL database',
  133.         'extension.database.ok2'=>'The application can use SQL databases',
  134.         'extension.database.missing'=>'The application needs a SQL database',
  135.         'extension.database.missing2'=>'The application couldn\'t use a SQL database',
  136.         'path.core'             =>'jelix init.php file or application.ini.php file is not loaded',
  137.         'path.temp'             =>'temp/yourApp directory is not writable or the application temp path is not correctly set !',
  138.         'path.log'              =>'var/log directory (in the directory of your application) is not writable or the application log path is not correctly set!',
  139.         'path.var'              =>'The application var path is not correctly set: var directory  doesn\'t exist!',
  140.         'path.config'           =>'The application config path is not correctly set: config directory  doesn\'t exist!',
  141.         'path.www'              =>'The application www path is not correctly set: www directory  doesn\'t exist!',
  142.         'path.config.writable' =>'The directory var/config have not write rights',
  143.         'path.profiles.writable'=>'The file profiles.ini.php have not write rights',
  144.         'path.defaultconfig.writable'=>'The file defaultconfig.ini.php have not write rights',
  145.         'path.installer.writable'=>'The file installer.ini.php have not write rights',
  146.         'path.custom.not.exists'=>'The file %s is not found, rights cannot be validated',
  147.         'path.custom.writable'=>'The file %s have not write rights',
  148.         'path.custom.ok'=>'The file %s have write rights',
  149.         'php.bad.version'       =>'Bad PHP version',
  150.         'php.version.current'   =>'Current PHP version: %s',
  151.         'php.ok.version'        =>'The PHP version %s is ok',
  152.         'php.version.required'  =>'The application requires at least PHP %s',
  153.         'too.critical.error'    =>'Too much critical errors. Fix them.',
  154.         'config.file'           =>'$config_file variable does not exist or doesn\'t contain a correct application config file name',
  155.         'paths.ok'              =>'temp, log, var, config and www directory are ok',
  156.         'ini.magic_quotes_gpc_with_plugin'=>'php.ini: the magicquotes plugin is actived but you should set magic_quotes_gpc to off',
  157.         'ini.magicquotes_plugin_without_php'=>'php.ini: the magicquotes plugin is actived whereas magic_quotes_gpc is already off, you should disable the plugin',
  158.         'ini.magic_quotes_gpc'  =>'php.ini: magicquotes are not recommended for Jelix. You should deactivate it or activate the magicquote jelix plugin',
  159.         'ini.magic_quotes_runtime'=>'php.ini: magic_quotes_runtime must be off',
  160.         'ini.session.auto_start'=>'php.ini: session.auto_start must be off',
  161.         'ini.safe_mode'         =>'php.ini: safe_mode is not recommended.',
  162.         'ini.register_globals'  =>'php.ini: you must deactivate register_globals, for security reasons, and because this option is not needed.',
  163.         'ini.asp_tags'          =>'php.ini: you should deactivate asp_tags. No need to have this option.',
  164.         'ini.ok'                =>'php settings are ok',
  165.  
  166.         'module.unknown'        =>'Unknown module %s',
  167.         'module.circular.dependency'=>"Circular dependency ! Cannot install the component %s",
  168.         'module.needed'         =>'To install %s these modules are needed: %s',
  169.         'module.bad.jelix.version'=>'The module %s needs another jelix version (%s - %s)',
  170.         'module.bad.dependency.version'=>'The module %s needs another version of the module %s (%s - %s)',
  171.         'module.installer.class.not.found'=>'The installation class %s for the module %s doesn\'t exist',
  172.         'module.upgrader.class.not.found'=>'The upgrade class %s for the module %s doesn\'t exist',
  173.  
  174.         'install.entrypoint.start'  =>'Installation starts for the entry point %s',
  175.         'install.entrypoint.end'    =>'All modules are installed or upgraded for the entry point %s',
  176.         'install.entrypoint.bad.end'=>'Installation/upgrade is aborted for the entry point %s',
  177.         'install.entrypoint.installers.disabled'=>'Installation scripts and update scripts will not be executed: it is disabled in the configuration.',
  178.  
  179.         'install.dependencies.ok'   =>'All modules dependencies are ok',
  180.         'install.bad.dependencies'  =>'Error in dependencies. Installation cancelled.',
  181.         'install.invalid.xml.file'  =>'The identity file  %s is invalid or not found',
  182.  
  183.         'install.module.already.installed'=>'Module %s is already installed',
  184.         'install.module.installed'      =>'Module %s installed',
  185.         'install.module.error'          =>'An error occured during the installation of the module %s: %s',
  186.         'install.module.check.dependency'=>'Check dependencies of the module %s',
  187.         'install.module.upgraded'       =>'Module %s upgraded to the version %s',
  188.  
  189.  
  190.         ),
  191.     );
  192.  
  193.     function __construct($lang=''){
  194.         if($lang == '' && isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
  195.             $languages explode(','$_SERVER['HTTP_ACCEPT_LANGUAGE']);
  196.             foreach($languages as $bl){
  197.                 // pour les user-agents qui livrent un code internationnal
  198.                 if(preg_match("/^([a-zA-Z]{2,3})(?:[-_]([a-zA-Z]{2,3}))?(;q=[0-9]\\.[0-9])?$/",$bl,$match)){
  199.                     $lang strtolower($match[1]);
  200.                     break;
  201.                 }
  202.             }
  203.         }elseif(preg_match("/^([a-zA-Z]{2,3})(?:[-_]([a-zA-Z]{2,3}))?$/",$lang,$match)){
  204.             $lang strtolower($match[1]);
  205.         }
  206.         if($lang == '' || !isset($this->messages[$lang])){
  207.             $lang 'en';
  208.         }
  209.         $this->currentLang = $lang;
  210.     }
  211.  
  212.     function get($key$params null){
  213.         if(isset($this->messages[$this->currentLang][$key])){
  214.             $msg $this->messages[$this->currentLang][$key];
  215.         }else{
  216.             throw new Exception ("Error : don't find error message '$key'");
  217.         }
  218.  
  219.         if ($params !== null || (is_array($params&& count($params0)) {
  220.             $msg call_user_func_array('sprintf'array_merge (array ($msg)is_array ($params$params array ($params)));
  221.         }
  222.         return $msg;
  223.     }
  224.  
  225.     function getLang(){
  226.         return $this->currentLang;
  227.     }
  228. }

Documentation generated on Mon, 26 Oct 2015 21:54:56 +0100 by phpDocumentor 1.4.3