Exemple #1
0
 public function getFilesInTheme()
 {
     $dh = Loader::helper('file');
     $templateList = PageTemplate::getList();
     $pts = [];
     foreach ($templateList as $pt) {
         $pts[] = $pt->getPageTemplateHandle();
     }
     $files = [];
     $filesTmp = $dh->getDirectoryContents($this->pThemeDirectory);
     foreach ($filesTmp as $f) {
         if (strrchr($f, '.') == static::THEME_EXTENSION) {
             $fHandle = substr($f, 0, strpos($f, '.'));
             if ($f == FILENAME_THEMES_VIEW) {
                 $type = PageThemeFile::TFTYPE_VIEW;
             } elseif ($f == FILENAME_THEMES_CLASS) {
                 $type = PageThemeFile::TFTYPE_PAGE_CLASS;
             } else {
                 if ($f == FILENAME_THEMES_DEFAULT) {
                     $type = PageThemeFile::TFTYPE_DEFAULT;
                 } else {
                     if (in_array($f, SinglePage::getThemeableCorePages())) {
                         $type = PageThemeFile::TFTYPE_SINGLE_PAGE;
                     } else {
                         if (in_array($fHandle, $pts)) {
                             $type = PageThemeFile::TFTYPE_PAGE_TEMPLATE_EXISTING;
                         } else {
                             $type = PageThemeFile::TFTYPE_PAGE_TEMPLATE_NEW;
                         }
                     }
                 }
             }
             $pf = new PageThemeFile();
             $pf->setFilename($f);
             $pf->setType($type);
             $files[] = $pf;
         }
     }
     return $files;
 }