/**
  * Carries out the specified action
  */
 function _deletePosts()
 {
     // delete the post (it is not physically deleted but rather, we set
     // the status field to 'DELETED'
     $articles = new Articles();
     $errorMessage = "";
     $successMessage = "";
     $totalOk = 0;
     foreach ($this->_postIds as $postId) {
         // get the post
         $post = $articles->getBlogArticle($postId, $this->_blogInfo->getId());
         if ($post) {
             // fire the event
             $this->notifyEvent(EVENT_PRE_POST_DELETE, array("article" => &$post));
             //
             // the next if-else branch allows a site administrator or the blog owner to remove
             // anybody's articles. If not, then users can only remove their own articles
             //
             if ($this->_userInfo->isSiteAdmin() || $this->_blogInfo->getOwner() == $this->_userInfo->getId()) {
                 $result = $articles->deleteArticle($postId, $post->getUser(), $this->_blogInfo->getId(), false);
             } else {
                 $result = $articles->deleteArticle($postId, $this->_userInfo->getId(), $this->_blogInfo->getId(), false);
             }
             if (!$result) {
                 $errorMessage .= $this->_locale->pr("error_deleting_article", $post->getTopic()) . "<br/>";
             } else {
                 $totalOk++;
                 if ($totalOk < 2) {
                     $successMessage .= $this->_locale->pr("article_deleted_ok", $post->getTopic()) . "<br/>";
                 } else {
                     $successMessage = $this->_locale->pr("articles_deleted_ok", $totalOk);
                 }
                 // fire the post event
                 $this->notifyEvent(EVENT_POST_POST_DELETE, array("article" => &$post));
             }
         } else {
             $errorMessage .= $this->_locale->pr("error_deleting_article2", $postId) . "<br/>";
         }
     }
     // clean up the cache
     CacheControl::resetBlogCache($this->_blogInfo->getId());
     $this->_view = new AdminPostsListView($this->_blogInfo);
     if ($errorMessage != "") {
         $this->_view->setErrorMessage($errorMessage);
     }
     if ($successMessage != "") {
         $this->_view->setSuccessMessage($successMessage);
     }
     $this->setCommonData();
     return true;
 }
示例#2
0
 /**
  * funkce smaze clanek
  * @param int $article_id
  * @return bool
  */
 public function deleteArticle($article_id)
 {
     try {
         return Articles::deleteArticle($article_id);
     } catch (Exception $e) {
         throw new RPCFault($e->getMessage(), $e->getCode(), $e->getCode());
     }
 }