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);
     }
 }
Ejemplo n.º 2
0
 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.'));
             }
         }
     }
 }
Ejemplo n.º 3
0
	public function add($cPath, $pkg = null) {
		// if we get to this point, we create a special collection 
		// without a specific type. This collection has a special cFilename that
		// points to the passed node
		$db = Loader::db();
		$txt = Loader::helper('text');
		
		// trim off a leading / if there is one
		$cPath = trim($cPath, '/');
		
		// now we grab the parent collection, if there is a static one. 
		
		$pages = explode('/', $cPath);
		
		// instantiate the home collection so we have someplace to add these to
		$parent = Page::getByID(1);
		
		// now we iterate through the pages  to ensure that they exist in the system before adding the new guy
		
		$pathPrefix = '';
		
		for ($i = 0; $i < count($pages); $i++) {
			$currentPath = $pathPrefix . $pages[$i];
			
			$pathToFile = SinglePage::getPathToNode($currentPath, $pkg);

			// check to see if a page at this point in the tree exists
			$c = Page::getByPath("/" . $currentPath);
			if ($c->isError() && $c->getError() == COLLECTION_NOT_FOUND) {
				// create the page at that point in the tree
			
				$data = array();
				$data['handle'] = $pages[$i];
				$data['name'] = $txt->unhandle($data['handle']);
				$data['filename'] = $pathToFile;
				$data['uID'] = USER_SUPER_ID;
				if ($pkg != null) {
					$data['pkgID'] = $pkg->getPackageID();
				}
				
				$newC = $parent->addStatic($data);	
				$parent = $newC;
				
				$pxml = SinglePage::obtainPermissionsXML($currentPath, $pkg);
				
				if ($pxml) {
					$newC->assignPermissionSet($pxml); // pass it an array
				}					
				
			} else {
				$parent = $c;
			}				
			
			$pathPrefix = $currentPath . '/';
		}
		
		return $newC;
		
	}
Ejemplo n.º 4
0
<?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();
    }