Beispiel #1
0
 public function testNotWritableFile()
 {
     file_put_contents(self::getFilePath(), '');
     $this->fs->chmod(self::getFilePath(), 0111);
     $validator = new WritableFile(self::getFilePath());
     $this->AssertFalse($validator->isValid());
 }
Beispiel #2
0
    /**
     * Тест установки 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));
    }
Beispiel #3
0
 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;
     }
 }
Beispiel #4
0
 /**
  * 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();
 }
Beispiel #5
0
 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;">&nbsp;</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);
         }
     }
 }
Beispiel #6
0
 public static function getInstance()
 {
     if (!is_object(self::$instance)) {
         self::$instance = new DAO_FileSystem();
     }
     return self::$instance;
 }
Beispiel #7
0
 /**
  *   -------------------------------------------------------------------------------------------
  *   Импортирует 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');
 }
Beispiel #8
0
 /**
  * Возвращает все шаблоны (файлы с расширением .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;
 }