Exemplo n.º 1
0
 /**
  * The template file
  * @return string
  */
 public function TemplateFile()
 {
     if (!$this->AllowCustomTemplates() || !$this->content || !$this->content->GetTemplate()) {
         return $this->BuiltInTemplateFile();
     }
     $file = Path::Combine(PathUtil::ModuleCustomTemplatesFolder($this), $this->content->GetTemplate());
     return Path::AddExtension($file, 'phtml');
 }
Exemplo n.º 2
0
 protected function BeforeInit()
 {
     $templateID = Request::GetData('template');
     $idParts = explode('/', $templateID);
     $this->InitModule($idParts);
     $this->folder = PathUtil::ModuleCustomTemplatesFolder($this->module);
     $this->template = isset($idParts[1]) ? $idParts[1] : '';
     return !$this->module;
 }
Exemplo n.º 3
0
 private function RemoveTemplate()
 {
     $id = Request::PostData('delete');
     if (!$id) {
         return false;
     }
     $idParts = \explode('/', $id);
     $module = $this->RemovalTemplateModule($idParts);
     $templateName = trim($idParts[1]);
     if (!$module || !$templateName) {
         return false;
     }
     $logger = new Logger(self::Guard()->GetUser());
     $logger->ReportTemplateAction($module->MyType(), $templateName, Action::Delete());
     $folder = PathUtil::ModuleCustomTemplatesFolder($module);
     $template = Path::Combine($folder, Path::AddExtension($templateName, 'phtml'));
     if (File::Exists($template)) {
         File::Delete($template);
     }
     $this->DeleteUsages($module, $templateName);
     return true;
 }
Exemplo n.º 4
0
 /**
  * Adds the template select field
  * @param FrontendModule $module The module for template selection
  */
 protected final function AddTemplateField()
 {
     $name = 'Template';
     $field = new Select($name, (string) $this->Content()->GetTemplate());
     $field->AddOption('', Trans("Core.ContentForm.{$name}.Default"));
     $folder = PathUtil::ModuleCustomTemplatesFolder($this->FrontendModule());
     if (Folder::Exists($folder)) {
         $files = Folder::GetFiles($folder);
         foreach ($files as $file) {
             $value = Path::FilenameNoExtension($file);
             $field->AddOption($value, $value);
         }
     }
     $this->AddField($field, false, Trans("Core.ContentForm.{$name}"));
 }