Ejemplo n.º 1
0
 public function postProcess()
 {
     $SmartBlogPost = new SmartBlogPost();
     $BlogPostCategory = new BlogPostCategory();
     if (Tools::isSubmit('deletesmart_blog_post') && Tools::getValue('id_smart_blog_post') != '') {
         $SmartBlogPost = new SmartBlogPost((int) Tools::getValue('id_smart_blog_post'));
         if (!$SmartBlogPost->delete()) {
             $this->errors[] = Tools::displayError('An error occurred while deleting the object.') . ' <b>' . $this->table . ' (' . Db::getInstance()->getMsgError() . ')</b>';
         } else {
             Hook::exec('actionsbdeletepost', array('SmartBlogPost' => $SmartBlogPost));
             Tools::redirectAdmin($this->context->link->getAdminLink('AdminBlogPost'));
         }
     } elseif (Tools::getValue('deleteImage')) {
         $this->processForceDeleteImage();
         if (Tools::isSubmit('forcedeleteImage')) {
             Tools::redirectAdmin(self::$currentIndex . '&token=' . Tools::getAdminTokenLite('AdminBlogPost') . '&conf=7');
         }
     } elseif (Tools::isSubmit('submitAddsmart_blog_post')) {
         parent::validateRules();
         if (count($this->errors)) {
             return false;
         }
         if (!($id_smart_blog_post = (int) Tools::getValue('id_smart_blog_post'))) {
             $SmartBlogPost = new $SmartBlogPost();
             $id_lang_default = Configuration::get('PS_LANG_DEFAULT');
             $languages = Language::getLanguages(false);
             foreach ($languages as $language) {
                 $title = Tools::link_rewrite(Tools::getValue('meta_title_' . $language['id_lang']));
                 $SmartBlogPost->meta_title[$language['id_lang']] = $title;
                 $SmartBlogPost->meta_keyword[$language['id_lang']] = (string) Tools::getValue('meta_keyword_' . $language['id_lang']);
                 $SmartBlogPost->meta_description[$language['id_lang']] = Tools::getValue('meta_description_' . $language['id_lang']);
                 $SmartBlogPost->short_description[$language['id_lang']] = (string) Tools::getValue('short_description_' . $language['id_lang']);
                 $SmartBlogPost->content[$language['id_lang']] = Tools::getValue('content_' . $language['id_lang']);
                 if (Tools::getValue('link_rewrite_' . $language['id_lang']) == '' && Tools::getValue('link_rewrite_' . $language['id_lang']) == null) {
                     $SmartBlogPost->link_rewrite[$language['id_lang']] = Tools::link_rewrite(Tools::getValue('meta_title_' . $id_lang_default));
                 } else {
                     $SmartBlogPost->link_rewrite[$language['id_lang']] = Tools::link_rewrite(Tools::getValue('link_rewrite_' . $language['id_lang']));
                 }
             }
             $SmartBlogPost->id_parent = Tools::getValue('id_parent');
             $SmartBlogPost->position = 0;
             $SmartBlogPost->active = Tools::getValue('active');
             $SmartBlogPost->id_category = Tools::getValue('id_category');
             $SmartBlogPost->comment_status = Tools::getValue('comment_status');
             $SmartBlogPost->id_author = $this->context->employee->id;
             $SmartBlogPost->created = Date('y-m-d H:i:s');
             $SmartBlogPost->modified = Date('y-m-d H:i:s');
             $SmartBlogPost->available = 1;
             $SmartBlogPost->is_featured = Tools::getValue('is_featured');
             $SmartBlogPost->viewed = 1;
             $SmartBlogPost->post_type = Tools::getValue('post_type');
             if (!$SmartBlogPost->save()) {
                 $this->errors[] = Tools::displayError('An error has occurred: Can\'t save the current object');
             } else {
                 Hook::exec('actionsbnewpost', array('SmartBlogPost' => $SmartBlogPost));
                 $this->updateTags($languages, $SmartBlogPost);
                 $this->processImage($_FILES, $SmartBlogPost->id);
                 Tools::redirectAdmin($this->context->link->getAdminLink('AdminBlogPost'));
             }
         } elseif ($id_smart_blog_post = Tools::getValue('id_smart_blog_post')) {
             $SmartBlogPost = new $SmartBlogPost($id_smart_blog_post);
             $languages = Language::getLanguages(false);
             foreach ($languages as $language) {
                 $title = Tools::link_rewrite(Tools::getValue('meta_title_' . $language['id_lang']));
                 $SmartBlogPost->meta_title[$language['id_lang']] = $title;
                 $SmartBlogPost->meta_keyword[$language['id_lang']] = Tools::getValue('meta_keyword_' . $language['id_lang']);
                 $SmartBlogPost->meta_description[$language['id_lang']] = Tools::getValue('meta_description_' . $language['id_lang']);
                 $SmartBlogPost->short_description[$language['id_lang']] = Tools::getValue('short_description_' . $language['id_lang']);
                 $SmartBlogPost->content[$language['id_lang']] = Tools::getValue('content_' . $language['id_lang']);
                 $SmartBlogPost->link_rewrite[$language['id_lang']] = Tools::link_rewrite(Tools::getValue('link_rewrite_' . $language['id_lang']));
             }
             $SmartBlogPost->is_featured = Tools::getValue('is_featured');
             $SmartBlogPost->id_parent = Tools::getValue('id_parent');
             $SmartBlogPost->active = Tools::getValue('active');
             $SmartBlogPost->id_category = Tools::getValue('id_category');
             $SmartBlogPost->comment_status = Tools::getValue('comment_status');
             $SmartBlogPost->id_author = $this->context->employee->id;
             $SmartBlogPost->modified = Date('y-m-d H:i:s');
             if (!$SmartBlogPost->update()) {
                 $this->errors[] = Tools::displayError('An error occurred while updating an object.') . ' <b>' . $this->table . ' (' . Db::getInstance()->getMsgError() . ')</b>';
             } else {
                 Hook::exec('actionsbupdatepost', array('SmartBlogPost' => $SmartBlogPost));
             }
             $this->updateTags($languages, $SmartBlogPost);
             $this->processImage($_FILES, $SmartBlogPost->id_smart_blog_post);
             Tools::redirectAdmin($this->context->link->getAdminLink('AdminBlogPost'));
         }
     } elseif (Tools::isSubmit('statussmart_blog_post') && Tools::getValue($this->identifier)) {
         if ($this->tabAccess['edit'] === '1') {
             if (Validate::isLoadedObject($object = $this->loadObject())) {
                 if ($object->toggleStatus()) {
                     Hook::exec('actionsbtogglepost', array('SmartBlogPost' => $this->object));
                     $identifier = (int) $object->id_parent ? '&id_smart_blog_post=' . (int) $object->id_parent : '';
                     Tools::redirectAdmin($this->context->link->getAdminLink('AdminBlogPost'));
                 } else {
                     $this->errors[] = Tools::displayError('An error occurred while updating the status.');
                 }
             } else {
                 $this->errors[] = Tools::displayError('An error occurred while updating the status for an object.') . ' <b>' . $this->table . '</b> ' . Tools::displayError('(cannot load object)');
             }
         } else {
             $this->errors[] = Tools::displayError('You do not have permission to edit this.');
         }
     } elseif (Tools::isSubmit('smart_blog_postOrderby') && Tools::isSubmit('smart_blog_postOrderway')) {
         $this->_defaultOrderBy = Tools::getValue('smart_blog_postOrderby');
         $this->_defaultOrderWay = Tools::getValue('smart_blog_postOrderway');
     }
 }