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); } } }
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'); }
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']); } }
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/'); }
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']); }
/** * 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; }
/** * Given a category, retrieves all pages for that category. * @param $category * @return array */ function getPagesByCategory($category) { return StaticPage::get(['category' => $category]); }