コード例 #1
0
 /**
  * Test de la fonction de recherche
  *
  */
 public function testSearch()
 {
     $dirName = COPIX_TEMP_PATH . 'test/' . uniqid('rep') . '/';
     $fileName = 'fichierunique.dat';
     CopixFile::write($dirName . $fileName, $this->_bigData);
     $this->assertEquals(1, count(CopixFile::search($fileName, $dirName)));
     $this->assertEquals(1, count(CopixFile::search($fileName, $dirName, false)));
     //$this->assertEquals (1, count (CopixFile::search (COPIX_TEMP_PATH . 'test', $dirName)));
     $this->assertEquals(0, count(CopixFile::search(COPIX_TEMP_PATH . 'test/', $dirName, false)));
 }
コード例 #2
0
 /**
  * Recherche de templates dans un module et d'extension donnée.
  *
  * Cette fonction va rechercher les templates dans le répertoire module template par défaut
  * et également dans le répertoire de surcharge dans le thème default
  * (project/modules/module_name/templates/* & project/themes/default/module_name/*)
  *
  * <code>
  * $arTemplates = CopixTpl::find ('module_name', '.dyn.tpl');
  * //recherche de plusieurs types de templates
  * $arTemplates = CopixTpl::find ('module_name', array ('.dyn.tpl', '.dyn.ptpl'));
  * //recherche avec masques
  * $arTemplates = CopixTpl::find ('module_name', '.dyn.*');
  * </code>
  *
  * @param	string	$pModuleName	le nom du module dans lequel on va chercher le template
  * @param 	mixed  	$pExtension		l'extension que l'on recherche (ou un tableau d'extensions)
  *
  * @return array Retourne un tableau contenant en clé 'modules|fichier_trouvé'  et en valeur le nom dans (tpl){*@name NOM} (ptpl)/*@name NOM si aucun nom n'est trouvé, on mets la clé
  */
 public static function find($pModuleName, $pExtension)
 {
     if (!is_array($pExtension)) {
         $pExtension = array($pExtension);
     }
     $files = array();
     foreach ($pExtension as $extension) {
         $files = array_merge($files, CopixFile::search('*' . $extension, COPIX_PROJECT_PATH . 'themes/default/' . $pModuleName . '/', false));
         $files = array_merge($files, CopixFile::search('*' . $extension, CopixModule::getPath($pModuleName) . 'templates/', false));
     }
     $arFiles = array();
     /*TODO Ajouter la gestion des ptpl*/
     foreach ($files as $key => $file) {
         $name = $pModuleName . '|' . basename($file);
         $tpl = CopixFile::read($file);
         if (substr($file, strlen($file) - 4) == 'ptpl') {
             $nom = ereg_replace('.*\\/*@name ([^\\*]+[^/]+)\\*/.*', '\\1', $tpl);
         } else {
             $nom = ereg_replace('.*{*@name ([^\\*]+[^}]+)\\*\\}.*', '\\1', $tpl);
         }
         if (strlen($nom) == strlen($tpl)) {
             $nom = $name;
         }
         $arFiles[$name] = $nom;
     }
     return $arFiles;
 }