/** * Тест установки sitemap-индекса к конфигу */ public function testSelectControlNames() { SystemRegisterSample::clearCache(); $fileList = \DAO_FileSystem::getInstance()->getFileList(LIB_PATH . 'custom_config/controls/'); $list = CConfigControlManager::selectAll(); $this->assertEquals(sizeof($fileList), sizeof($list)); // Добавляем в реестр файлег, но не пишем класс $path = LIB_PATH . 'custom_config/test.php'; $register = new SystemRegister('Applications/cconfig/user_control_path'); $register->insert('test', $path, ''); file_put_contents($path, ''); $list = CConfigControlManager::selectAll(); $this->assertEquals(sizeof($fileList), sizeof($list)); // Заполняем инфо о классе, таким образом класс становится доступным $path = 'custom_config/test2.php'; $contents = <<<EOD <? class CConfigControl_Test2 extends CConfigBaseControl { \tpublic function getXType() { \t\treturn "test2"; \t} } ?> EOD; file_put_contents(LIB_PATH . $path, $contents); $register->insert('test2', $path, ''); $list = CConfigControlManager::selectAll(); $this->assertEquals(sizeof($fileList) + 1, sizeof($list)); }
static function getInstance($szName) { switch ($szName) { case 'fs': return DAO_FileSystem::getInstance(); break; case 'image': return DAO_Image::getInstance(); break; default: trigger_error('DAO::getInstance. instance `' . htmlspecialchars($szName) . '` not found', E_USER_ERROR); break; } }
/** * Deletes all caches and displays success message */ public function main() { $fs = \DAO_FileSystem::getInstance(); // $baseDir = SimpleCache::getBaseDir(); // $fileList = $fs->getFileList( $baseDir ); // foreach ( $fileList as $key=> $row ) { // $fs->delete( $baseDir . $row ); // } $title = 'Очистка кешей'; $begin = array($title => '#'); $this->outputHeader($begin, $title); $design = \CMSDesign::getInstance(); // $design->text->header('Очистка кешей завершена'); $design->text->header('В разработке'); $this->outputFooter(); $this->output(); }
private function generateTemplateTree($key = '', $nLevel = 0) { $path = VIEW_PATH . $key; $view_path = $key; $aFiles = \DAO_FileSystem::getInstance()->getDirContent($path); foreach ($aFiles as $row) { if ($row == '.svn') { continue; } if (is_file($path . $row)) { $szRow = sprintf('%s<span style="font-size:100%%">%s</span> // <a href="template-manager.php?tplFile=%s" target="_blank">Редактировать</a>', str_repeat('<span style="margin-left:20px;"> </span>', $nLevel), $view_path . $row, preg_replace('#\\.tpl$#', '', $view_path . $row)); // Следовательно это папка CMSDesign::getInstance()->fullRow($szRow); } else { $szRow = sprintf('%s<span style="font-size:150%%">[%s]</span>', str_repeat('--', $nLevel), $key . $row); // Следовательно это папка CMSDesign::getInstance()->fullRow($szRow); $this->generateTemplateTree($key . $row . '/', $nLevel + 1); } } }
/** * ------------------------------------------------------------------------------------------- * Импортирует SQL-console * @return * ------------------------------------------------------------------------------------------- */ public function import() { if (!empty($_FILES['file'])) { $fs = DAO_FileSystem::getInstance(); $fs->upload('file', FILE_PATH . 'import.sql'); if (file_exists(FILE_PATH . 'import.sql')) { $szImport = file_get_contents(FILE_PATH . 'import.sql'); $dumper = new CDumper(); $szDump = $dumper->import($szImport); $this->addAlert('Файл импортирован'); } } $this->jump('sql.php'); }
/** * Возвращает все шаблоны (файлы с расширением .tpl) находящиеся в папке _cfg/view * @return array массив шаблонов */ public static function selectTemplates($path = '') { $szPath = self::getViewPath() . $path; $fs = DAO_FileSystem::getInstance(); // Перебор всех файлов и папок $aResult = array(); $aData = $fs->getDirContent($szPath); foreach ($aData as $row) { // Если это папка, опускаемся по перебору if (is_dir($szPath . $row)) { $child = self::selectTemplates($path . $row . '/'); $aResult = array_merge($aResult, $child); } else { $aPath = pathinfo(self::getViewPath() . $path . $row); if (!empty($aPath['extension']) && $aPath['extension'] == 'tpl') { $aResult[$path . basename($row, '.tpl')] = 1; } } } return $aResult; }