/**
  * Ecriture du fichier de configuration
  * @param	array	$pData	le tableau des profils de log à créer
  * @param   string $pDefault variable du profile par défaut
  * @return boolean	si le fichier à été crée convenablement
  */
 public function write($pData)
 {
     $generator = new CopixPHPGenerator();
     $str = $generator->getPHPTags($generator->getVariableDeclaration('$_cache_types', $pData));
     if ($toReturn = CopixFile::write($this->getPath(), $str)) {
         CopixConfig::reload();
     }
     return $toReturn;
 }
 /**
  * Ecriture du fichier de configuration
  * @param	array	$pData	le tableau des handlers à créer
  * @return boolean	si le fichier à été crée convenablement
  */
 public function write($pData)
 {
     $generator = new CopixPHPGenerator();
     $str = $generator->getPHPTags($generator->getVariableDeclaration('$_' . $this->_handlerType . '_handlers', $pData));
     $file = new CopixFile();
     if (($oldContent = $file->read($this->getPath())) !== false) {
         $file->write($this->getPath(true), $oldContent);
     }
     return $file->write($this->getPath(), $str);
 }
 /**
  * Ecriture du fichier de configuration
  * @param	array	$pData	le tableau des connexions à créer
  * @param   string $pDefault variable du profile par défaut
  * @return boolean	si le fichier à été crée convenablement
  */
 public function write($pData, $pDefault)
 {
     $generator = new CopixPHPGenerator();
     $pDefault = $pDefault == 'nodefault' ? null : substr($pDefault, 7);
     $str = $generator->getPHPTags($generator->getVariableDeclaration('$_db_profiles', $pData) . "\n\n" . $generator->getVariableDeclaration('$_db_default_profile', $pDefault));
     if ($toReturn = CopixFile::write($this->getPath(), $str)) {
         CopixConfig::reload();
     }
     return $toReturn;
 }
 /**
  * Sauvegarde la valeur des paramètres dans un fichier PHP
  * @return void
  */
 private function _writeInPHPCache()
 {
     $generator = new CopixPHPGenerator();
     $_resources = $generator->getPHPTags($generator->getVariableDeclaration('$_load', $this->_values));
     CopixFile::write($this->_getCompiledFileName(), $_resources);
 }
 /**
  * Loads the resources for a given lang/country.
  * will automatically loads the default (lang lang)
  * @param string $lang     the language
  * @param string $country the country
  */
 private function _loadLocales($lang, $country)
 {
     $this->_loadedCountries[] = $country;
     //file names for different cases.
     $bundleLang = $this->_fic->fileName . '_' . $lang . '.properties';
     $bundleCountry = $this->_fic->fileName . '_' . $lang . '_' . $country . '.properties';
     $path = $this->_fic->getPath(COPIX_RESOURCES_DIR);
     $toLoad[] = array('file' => $path . $this->_fic->fileName . '.properties', 'lang' => 'default', 'country' => 'DEFAULT');
     $toLoad[] = array('file' => $path . $bundleLang, 'lang' => $lang, 'country' => strtoupper($lang));
     $toLoad[] = array('file' => $path . $bundleCountry, 'lang' => $lang, 'country' => $country);
     // check if we have a compiled version of the ressources
     $_compileResourceId = $this->_getCompileId($lang, $country);
     if (($_compileResourceIdTime = @filemtime($_compileResourceId)) !== false) {
         $config = CopixConfig::instance();
         if ($config->compile_check || $config->force_compile) {
             if ($config->force_compile) {
                 //force compile, compiled files are never assumed to be ok.
                 $okcompile = false;
             } else {
                 // on verifie que les fichiers de ressources sont plus anciens que la version compilée
                 $compiledate = $_compileResourceIdTime;
                 $okcompile = true;
                 //Compiled files are assumed to be ok.
                 foreach ($toLoad as $infos) {
                     if (($fileTime = @filemtime($infos['file'])) !== false) {
                         if (!isset($fileTime) || $fileTime > $compiledate) {
                             $okcompile = false;
                             break;
                         }
                     }
                 }
             }
         } else {
             //no compile check, it's ok then
             $okcompile = true;
         }
         if ($okcompile) {
             $_loaded = array();
             include $_compileResourceId;
             //va charger _loaded
             $this->_messages[$country] = $_loaded;
             //everything was loaded.
             return;
         }
     }
     //loads the founded resources.
     foreach ($toLoad as $infos) {
         $this->_loadResources($infos['file'], $country);
     }
     //we want to use the PHP compilation of the resources.
     $generator = new CopixPHPGenerator();
     $_resources = $generator->getPHPTags($generator->getVariableDeclaration('$_loaded', isset($this->_messages[$country]) ? $this->_messages[$country] : array()));
     CopixFile::write($_compileResourceId, $_resources);
 }
 /**
  * Ecriture d'un fichier PHP dans lequel existera un tableau associatif (nommodule=>chemin)
  * @param array $arModules le tableau que l'on souhaites crire.
  */
 private static function _writeInPHPCache($arModules)
 {
     $generator = new CopixPHPGenerator();
     $PHPString = $generator->getPHPTags($generator->getVariableDeclaration('$arModules', $arModules));
     CopixFile::write(self::_getCompiledFileName(), $PHPString);
 }
 /**
  * Ecriture du code PHP pour les listeners.
  * @param	array	$pEventsInfo	Tableau des informations sur les événements (qui écoute quoi)
  */
 private function _writePHPCode($pEventsInfos)
 {
     $generator = new CopixPHPGenerator();
     $_resources = $generator->getPHPTags($generator->getVariableDeclaration('$eventList', $pEventsInfos));
     //writing the PHP code to the disk
     CopixFile::write($this->_compiledFileName(), $_resources);
 }
 /**
  * Fonction qui retourne l'identifiant du DAO
  * @return string
  */
 private function _generatePHP4GetDAOId()
 {
     $daoId = $this->_definition->getDAOId();
     $result = "public function getDAOId () {\n";
     $generator = new CopixPHPGenerator();
     $result .= $generator->getVariableDeclaration('$daoId', $daoId);
     $result .= "return \$daoId;\n";
     $result .= '}';
     return $result;
 }