public function view($message = null, $error = null) { Loader::model('single_page'); $this->set('generated', SinglePage::getList()); if ($message && !$error) { $this->set('message', $message); } else { if ($message) { $this->error->add($message); } } if ($this->isPost()) { if ($this->token->validate('add_single_page')) { $pathToNode = SinglePage::getPathToNode($this->post('pageURL'), false); $path = SinglePage::sanitizePath($this->post('pageURL')); if (strlen($pathToNode) > 0) { // now we check to see if this is already added $pc = Page::getByPath('/' . $path, 'RECENT'); if ($pc->getError() == COLLECTION_NOT_FOUND) { SinglePage::add($this->post('pageURL')); $this->redirect('/dashboard/pages/single', t('Page Successfully Added.')); } else { $this->redirect('/dashboard/pages/single', t("That page has already been added."), 1); } } else { $this->redirect('/dashboard/pages/single', t('That specified path doesn\'t appear to be a valid static page.'), 1); } } $this->redirect('/dashboard/pages/single', $this->token->getErrorMessage(), 1); } }
public function view() { $this->set('generated', SinglePage::getList()); if ($this->isPost()) { if ($this->token->validate('add_single_page')) { $pathToNode = SinglePage::getPathToNode($this->post('pageURL'), false); $path = SinglePage::sanitizePath($this->post('pageURL')); if (strlen($pathToNode) > 0) { // now we check to see if this is already added $pc = Page::getByPath('/' . $path, 'RECENT'); if ($pc->getError() == COLLECTION_NOT_FOUND) { SinglePage::add($path); $this->redirect('/dashboard/pages/single', 'single_page_added'); } else { $this->error->add(t("That page has already been added.")); } } else { $this->error->add(t('That specified path doesn\'t appear to be a valid static page.')); } } } }
public static function obtainPermissionsXML($node, $pkg = null) { // this function reads a file in, and grabs all the various filesystem permissions xml that applies to that file // and returns it in a DOM object $node = SinglePage::sanitizePath($node); // first, we operate on this if it's not in a package if (!is_object($pkg)) { if (is_dir(DIR_FILES_CONTROLLERS . '/' . $node) || is_dir(DIR_FILES_CONTROLLERS_REQUIRED . '/' . $node)) { if (is_dir(DIR_FILES_CONTROLLERS . '/' . $node)) { $pathToPerms = DIR_FILES_CONTROLLERS . '/' . $node; if (file_exists($pathToPerms . '/' . FILENAME_COLLECTION_ACCESS)) { $xmlweb = $pathToPerms . '/' . FILENAME_COLLECTION_ACCESS; } } if (is_dir(DIR_FILES_CONTROLLERS_REQUIRED . '/' . $node)) { $pathToPerms = DIR_FILES_CONTROLLERS_REQUIRED . '/' . $node; if (file_exists($pathToPerms . '/' . FILENAME_COLLECTION_ACCESS)) { $xmlcore = $pathToPerms . '/' . FILENAME_COLLECTION_ACCESS; } } } else { if (strpos($node, '/') === false) { if (file_exists(DIR_FILES_CONTROLLERS . '/' . FILENAME_COLLECTION_ACCESS)) { $xmlweb = DIR_FILES_CONTROLLERS . '/' . FILENAME_COLLECTION_ACCESS; } else if (file_exists(DIR_FILES_CONTROLLERS_REQUIRED . '/' . FILENAME_COLLECTION_ACCESS)) { $xmlcore = DIR_FILES_CONTROLLERS_REQUIRED . '/' . FILENAME_COLLECTION_ACCESS; } } } if (isset($xmlweb)) { $perms = SinglePage::checkPermissionsXML($xmlweb, $node); if ($perms != null) { return $perms; } } if (isset($xmlcore)) { $perms = SinglePage::checkPermissionsXML($xmlcore, $node); if ($perms != null) { return $perms; } } } else { if (is_dir(DIR_PACKAGES . '/' . $pkg->getPackageHandle())) { $dirp = DIR_PACKAGES; } else { $dirp = DIR_PACKAGES_CORE; } $file1 = $dirp . '/' . $pkg->getPackageHandle() . '/' . DIRNAME_PAGES . '/' . $node . '/' . FILENAME_COLLECTION_VIEW; $file2 = $dirp . '/' . $pkg->getPackageHandle() . '/' . DIRNAME_PAGES . '/' . $node . '.php'; if (file_exists($file1)) { $pathToPerms = $dirp . '/' . $pkg->getPackageHandle() . '/' . DIRNAME_CONTROLLERS . '/' . $node; } else if (file_exists($file2)) { $pathNode = '/' . substr($node, 0, strrpos($node, '/')); $pathToPerms = $dirp . '/' . $pkg->getPackageHandle() . '/' . DIRNAME_CONTROLLERS . $pathNode; } if (file_exists($pathToPerms . '/' . FILENAME_COLLECTION_ACCESS)) { $xml = $pathToPerms . '/' . FILENAME_COLLECTION_ACCESS; } if (isset($xml)) { $perms = SinglePage::checkPermissionsXML($xml, $node); if ($perms != null) { return $perms; } } } return false; }
<?php defined('C5_EXECUTE') or die("Access Denied."); $ih = Loader::helper('concrete/interface'); Loader::model('single_page'); $valt = Loader::helper('validation/token'); if ($_REQUEST['p'] && $_REQUEST['task'] == 'refresh' && $valt->validate('refresh')) { $p = SinglePage::getByID($_REQUEST['p']); $p->refresh(); $this->controller->redirect('/dashboard/pages/single?refreshed=1'); exit; } if ($_POST['add_static_page']) { if ($valt->validate("add_single_page")) { $pathToNode = SinglePage::getPathToNode($_POST['pageURL'], false); $path = SinglePage::sanitizePath($_POST['pageURL']); if (strlen($pathToNode) > 0) { // now we check to see if this is already added $pc = Page::getByPath('/' . $path, 'RECENT'); if ($pc->getError() == COLLECTION_NOT_FOUND) { SinglePage::add($_POST['pageURL']); $this->controller->redirect('/dashboard/pages/single?page_created=1'); } else { $error[] = t("That page has already been added."); } } else { $error[] = t('That specified path doesn\'t appear to be a valid static page.'); } } else { $error[] = $valt->getErrorMessage(); }