예제 #1
0
         $template->delAllWebsiteDenied();
         foreach ($deniedWebsites as $deniedWebsite) {
             $template->denyWebsite($deniedWebsite);
         }
         //XML definition file
         if ($definitionfile && io::strpos($definitionfile, PATH_UPLOAD_WR . '/') !== false) {
             //read uploaded file
             $definitionfile = new CMS_file($definitionfile, CMS_file::WEBROOT);
             $template->setDebug(false);
             $template->setLog(false);
             $error = $template->setDefinition($definitionfile->readContent());
             if ($error !== true) {
                 $cms_message = $cms_language->getMessage(MESSAGE_PAGE_MALFORMED_DEFINITION_FILE) . "\n\n" . $error;
             }
         }
         if (!$cms_message && !$template->hasError()) {
             if ($template->writeToPersistence()) {
                 $log = new CMS_log();
                 $log->logMiscAction(CMS_log::LOG_ACTION_TEMPLATE_EDIT, $cms_user, "Template : " . $template->getLabel() . " (create template)");
                 $content = array('success' => array('templateId' => $template->getID()));
                 $cms_message = $cms_language->getMessage(MESSAGE_ACTION_CREATION_DONE);
                 $view->setContent($content);
             } else {
                 $cms_message = $cms_language->getMessage(MESSAGE_ERROR_WRITE_TEMPLATE);
             }
         }
     } else {
         //clean template
         $template->destroy(true);
     }
 }
예제 #2
0
 /**
  * Return pages IDs coresponding of a given template ID
  *
  * @param integer/CMS_pageTemplate templateID : the template to get pagesIDs
  * @param boolean returnObjects : to return pages objects or pages IDs
  * @return array : pages IDs or pages objects
  * @access public
  */
 static function getPagesByTemplate($template, $returnObjects = false)
 {
     $return = array();
     $error = false;
     if (SensitiveIO::isPositiveInteger($template)) {
         $template = new CMS_pageTemplate($template);
         if ($template->hasError()) {
             $error = true;
         }
     } elseif (!is_a($template, 'CMS_pageTemplate') || $template->hasError()) {
         $error = true;
     }
     if ($error) {
         CMS_grandFather::raiseError('Template must be a valid CMS_pageTemplate ID or a valid CMS_pageTemplate object (line ' . __LINE__ . ')');
         return $return;
     } elseif ($definition = $template->getDefinitionFile()) {
         $sql = "\n\t\t\t\tselect\n\t\t\t\t\tid_pag\n\t\t\t\tfrom\n\t\t\t\t\tpages,\n\t\t\t\t\tpageTemplates\n\t\t\t\twhere\n\t\t\t\t\tdefinitionFile_pt = '" . $definition . "'\n\t\t\t\t\tand template_pag = id_pt\n\t\t\t\torder by\n\t\t\t\t\tid_pag\n\t\t\t";
         $q = new CMS_query($sql);
         if ($q->getNumRows()) {
             while ($id = $q->getValue('id_pag')) {
                 if ($returnObjects) {
                     if ($page = CMS_tree::getPageByID($id)) {
                         $return[$id] = $page;
                     }
                 } else {
                     $return[$id] = $id;
                 }
             }
         }
     }
     return $return;
 }