/** * @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/>"); } }