/**
  * @private
  */
 function _deleteTrackbacks()
 {
     $trackbacks = new Trackbacks();
     $errorMessage = "";
     $successMessage = "";
     $totalOk = 0;
     // check if we can really load the article or not...
     $articles = new Articles();
     $article = $articles->getBlogArticle($this->_articleId, $this->_blogInfo->getId());
     if (!$article) {
         $this->_view = new AdminPostsListView($this->_blogInfo);
         $this->_view->setErrorMessage($this->_locale->tr("error_fetching_post"));
         $this->setCommonData();
         return false;
     }
     foreach ($this->_trackbackIds as $trackbackId) {
         // fetch the trackback
         $trackback = $trackbacks->getArticleTrackback($trackbackId, $this->_articleId);
         if (!$trackback) {
             $errorMessage .= $this->_locale->pr("error_deleting_trackback2", $trackbackId) . "<br/>";
         } else {
             // fire the pre-event
             $this->notifyEvent(EVENT_PRE_TRACKBACK_DELETE, array("trackback" => &$trackback));
             if (!$trackbacks->deletePostTrackback($trackbackId, $this->_articleId)) {
                 $errorMessage .= $this->_locale->pr("error_deleting_trackback", $trackback->getExcerpt()) . "<br/>";
             } else {
                 $totalOk++;
                 if ($totalOk < 2) {
                     $successMessage .= $this->_locale->pr("trackback_deleted_ok", $trackback->getExcerpt());
                 } else {
                     $successMessage = $this->_locale->pr("trackbacks_deleted_ok", $totalOk);
                 }
                 // fire the post-event
                 $this->notifyEvent(EVENT_POST_TRACKBACK_DELETE, array("trackback" => &$trackback));
             }
         }
     }
     $this->_view = new AdminArticleTrackbacksListView($this->_blogInfo, array("article" => $article));
     if ($successMessage != "") {
         $this->_view->setSuccessMessage($successMessage);
         // clear the cache
         CacheControl::resetBlogCache($this->_blogInfo->getId());
     }
     if ($errorMessage != "") {
         $this->_view->setErrorMessage($errorMessage);
     }
     $this->setCommonData();
     // better to return true if everything fine
     return true;
 }
 function Validate($trackback)
 {
     // Get the page
     $url = TextFilter::htmlDecode($trackback->_url);
     $page = $this->fetchPage($url);
     // Get the trackback client
     $tbClient = new TrackbackClient();
     // get the trackback url
     $tbLinks = $tbClient->getTrackbackLinks($page, $url);
     if (empty($tbLinks)) {
         // there were no trackback links in the page
         //               error_log( "Found no trackback urls" );
         // Delete this trackback
         $trackbacks = new Trackbacks();
         $trackbacks->deletePostTrackback($trackback->_id, $trackback->_articleId);
         //print("Error: trackback unavailable<br/>");
     }
 }