/** * 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))); }
/** * 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; }