示例#1
0
文件: add_blog.php 项目: baardev/lbtb
 /**
  * render Add Blog dialog
  */
 public function save()
 {
     $blogify = Loader::helper('blogify');
     $error = Loader::helper('validation/error');
     $error = $this->validate($error);
     if (!$error->has()) {
         $date = Loader::helper('form/date_time')->translate('blogDate');
         $parent = ProblogPost::getParentByID($_REQUEST['cParentID']);
         $canonical = $blogify->getOrCreateCanonical($date, $parent);
         $ct = CollectionType::GetByHandle('pb_post');
         $data = array('cName' => $_REQUEST['blogTitle'], 'cDescription' => $_REQUEST['blogDescription'], 'cDatePublic' => $date, 'pTemplateID' => $this->post('ptID'));
         if ($_REQUEST['blogID']) {
             $p = ProblogPost::getByID($_REQUEST['blogID']);
             $old_parent_id = $blogify->getCanonicalParent($date, $p);
             $olddate = $p->getCollectionDatePublic();
             $p->update($data);
             $p->setPageType($ct);
             if ($old_parent_id != $canonical->getCollectionID() || $date != $olddate) {
                 $p->move($canonical);
             }
         } else {
             $p = $canonical->add($ct, $data);
         }
         if ($_REQUEST['draft'] == 1 || $_REQUEST['draft'] == 2) {
             $p->deactivate();
             if ($_REQUEST['draft'] == 2) {
                 Loader::helper('blog_actions')->send_publish_request($p);
             }
         }
         ProblogPost::saveData($p);
         print Loader::helper('json')->encode(array('success'));
     } else {
         $errors = $error->getList();
         print Loader::helper('json')->encode($errors);
     }
 }