$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); } }
/** * 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; }