/** * Form Handler to save a content quick create. * * @param Form $form * * @return string|bool */ public static function QuickDraftSave(Form $form) { if (!$form->getElementValue('title')) { \Core\set_message('All pages must have titles.', 'error'); return false; } /** @var $model ContentModel */ $model = new ContentModel(); /** @var $page PageModel Page object for this model, already linked up! */ $page = $model->getLink('Page'); // The content nickname is derived from the page title. $model->set('nickname', $form->getElementValue('title')); $model->save(); $ins = new InsertableModel(); $ins->set('site', $page->get('site')); $ins->set('baseurl', '/content/view/' . $model->get('id')); $ins->set('name', 'body'); $ins->set('value', '<p>' . nl2br($form->getElementValue('content')) . '</p>'); $ins->save(); $page->set('title', $form->getElementValue('title')); $page->set('published_status', 'draft'); $page->set('editurl', '/content/edit/' . $model->get('id')); $page->set('deleteurl', '/content/delete/' . $model->get('id')); $page->set('component', 'content'); $page->save(); return true; }
//} $fac = new ModelFactory('BlogArticleModel'); foreach ($fac->get() as $model) { /** @var BlogArticleModel $model */ /** @var PageModel $page */ $page = $model->getLink('Page'); $page->setMeta('description', $model->getTeaser()); $page->setMeta('image', $model->get('image')); $page->set('published_status', $model->get('status')); $page->set('published', $model->get('published')); // Clone this to a content page. $content = new ContentModel(); $content->set('nickname', $model->get('title')); $content->set('created', $model->get('created')); $content->set('updated', $model->get('updated')); $content->save(); $page->set('component', 'content'); $page->set('baseurl', '/content/view/' . $content->get('id')); $page->set('editurl', '/content/edit/' . $content->get('id')); $page->set('deleteurl', '/content/delete/' . $content->get('id')); $page->set('page_template', 'blog-article.tpl'); $page->save(); $insertable = new InsertableModel(); $insertable->set('site', $page->get('site')); $insertable->set('baseurl', '/content/view/' . $content->get('id')); $insertable->set('name', 'body'); $insertable->set('value', $model->get('body')); $insertable->save(); $model->resetLink('Page'); $model->delete(); }
public function delete() { $view = $this->getView(); $request = $this->getPageRequest(); // This is a POST-only page. if (!$request->isPost()) { return View::ERROR_BADREQUEST; } if (!$this->setAccess('p:/content/manage_all')) { return View::ERROR_ACCESSDENIED; } $m = new ContentModel($request->getParameter(0)); $link = \Core\resolve_link($m->get('baseurl')); if (!$m->exists()) { return View::ERROR_NOTFOUND; } $m->delete(); \Core\set_message('Removed ' . $m->get('nickname') . ' successfully!', 'success'); $hist = $request->getReferrer(); if ($hist == $link) { \Core\redirect('/admin/pages'); } else { \Core\go_back(); } }