Example #1
0
 function post()
 {
     $this->adminGatekeeper();
     $page = \IdnoPlugins\StaticPages\StaticPage::getByID($this->getInput('page'));
     $position = intval($this->getInput('position'));
     if (!$page) {
         // Not Found
         $this->setResponse(404);
         return;
     }
     if ($staticpages = \Idno\Core\site()->plugins()->get('StaticPages')) {
         $pages = $staticpages->getPagesByCategory($page->category);
         $old_position = array_search($page, $pages);
         if ($old_position === false || $position < 0 || $position >= count($pages)) {
             // Invalid Request
             $this->setResponse(400);
         } else {
             $page->priority = $pages[$position]->getPriority() + 1;
             $page->save();
             for ($i = $position > $old_position ? $position : $position - 1; $i >= 0; $i--) {
                 if ($i != $old_position) {
                     $pages[$i]->priority = $pages[$i]->getPriority() + 2;
                     $pages[$i]->save();
                 }
             }
             // Accepted
             $this->setResponse(202);
         }
     }
 }
Example #2
0
 function postContent()
 {
     $this->adminGatekeeper();
     if (!empty($this->arguments)) {
         $object = \IdnoPlugins\StaticPages\StaticPage::getByID($this->arguments[0]);
     }
     if (empty($object)) {
         $this->forward(\Idno\Core\Idno::site()->config()->getURL() . 'admin/staticpages/?test=1');
     }
     if ($staticpages = \Idno\Core\Idno::site()->plugins()->get('StaticPages')) {
         $success = $staticpages->setAsHomepage($this->arguments[0]);
     }
     $this->forward(\Idno\Core\Idno::site()->config()->getURL() . 'admin/staticpages/?test=2');
 }
Example #3
0
 function postContent()
 {
     $this->adminGatekeeper();
     if (!empty($this->arguments)) {
         $object = \IdnoPlugins\StaticPages\StaticPage::getByID($this->arguments[0]);
     }
     if (empty($object)) {
         $object = new \IdnoPlugins\StaticPages\StaticPage();
     }
     if ($object->saveDataFromInput()) {
         $this->forward($object->getURL());
     } else {
         $this->forward($_SERVER['HTTP_REFERER']);
     }
 }
Example #4
0
 function postContent()
 {
     $this->adminGatekeeper();
     if (!empty($this->arguments)) {
         $object = \IdnoPlugins\StaticPages\StaticPage::getByID($this->arguments[0]);
     }
     if (empty($object)) {
         $this->forward(\Idno\Core\Idno::site()->config()->getURL() . 'admin/staticpages/');
     }
     if ($staticpages = \Idno\Core\Idno::site()->plugins()->get('StaticPages')) {
         if ($staticpages->getCurrentHomepageId() == $this->arguments[0]) {
             $staticpages->clearHomepage();
         }
     }
     $this->forward(\Idno\Core\Idno::site()->config()->getURL() . 'admin/staticpages/');
 }
Example #5
0
 function postContent()
 {
     $this->createGatekeeper();
     if (!empty($this->arguments)) {
         $object = \IdnoPlugins\StaticPages\StaticPage::getByID($this->arguments[0]);
     }
     if (empty($object)) {
         $this->forward();
     }
     if (!$object->canEdit()) {
         $this->setResponse(403);
         \Idno\Core\site()->session()->addMessage("You don't have permission to perform this task.");
         $this->forward();
     }
     if ($object->delete()) {
         \Idno\Core\site()->session()->addMessage('Your page was deleted.');
     } else {
         \Idno\Core\site()->session()->addMessage("We couldn't delete " . $object->getTitle() . ".");
     }
     $this->forward($_SERVER['HTTP_REFERER']);
 }
Example #6
0
 /**
  * Given a category, retrieves all pages for that category.
  * @param $category
  * @return array
  */
 function getPagesByCategory($category)
 {
     $pages = StaticPage::get(['category' => $category]);
     usort($pages, function ($left, $right) {
         return $right->getPriority() - $left->getPriority();
     });
     return $pages;
 }
Example #7
0
File: Main.php Project: hank/Known
 /**
  * Given a category, retrieves all pages for that category.
  * @param $category
  * @return array
  */
 function getPagesByCategory($category)
 {
     return StaticPage::get(['category' => $category]);
 }