function delete_mw_trackbacks() { global $xoopsSecurity; $tbs = rmc_server_var($_POST, 'tbs', array()); if (empty($tbs) || !is_array($tbs)) { redirectMsg('trackbacks.php', __('Select one trackback at least!', 'mw_categories'), 1); die; } if (!$xoopsSecurity->check()) { redirectMsg('trackbacks.php', __('Session token expired!', 'mywords'), 1); die; } // Event RMEvents::get()->run_event('mywords.before.delete.trackback', $tbs); foreach ($tbs as $id) { $trac = new MWTrackbackObject($id); if ($trac->isNew()) { continue; } $trac->delete(); } redirectMsg('trackbacks.php', __('Trackbacks deleted successfully', 'mywords'), 0); }
// The id of the item being trackbacked $url = $track->url; // The URL from which we got the trackback $title = $track->title; // Subject/title send by trackback $excerpt = $track->excerpt; // Short text send by trackback $blog_name = rmc_server_var($_POST, 'blog_name', ''); if ($url == '' || $title == '' || $excerpt == '') { echo $track->recieve(false, __('Sorry, your trackback seems to be invalid!', 'mywords')); die; } $params = array('blogurl' => MWFunctions::get_url(), 'name' => 'Trackback', 'email' => '', 'url' => $url, 'text' => $excerpt, 'permalink' => $post->permalink()); $ret = RMEvents::get()->run_event('rmcommon.check.post.spam', $params); if (!$ret) { echo $track->recieve(false, __('Sorry, your trackback seems to be SPAM', 'mywords')); } else { $to = new MWTrackbackObject(); $to->setVar('date', time()); $to->setVar('title', $title); $to->setVar('blog_name', $blog_name); $to->setVar('excerpt', $excerpt); $to->setVar('url', $url); $to->setVar('post', $post->id()); if ($to->save()) { echo $track->recieve(true); } else { echo $track->recieve(false, __('We are unable to store your trackback. Please try again later!', 'mywords')); } } die;
/** * Trackbacks * @return array */ public function trackbacks() { if (!empty($this->trackbacks)) { return $this->trackbacks; } $db = XoopsDatabaseFactory::getDatabaseConnection(); $sql = "SELECT * FROM " . $db->prefix("mw_trackbacks") . " WHERE post='" . $this->id() . "'"; $result = $db->query($sql); $rtn = array(); while ($row = $db->fetchArray($result)) { $tb = new MWTrackbackObject(); $tb->assignVars($row); $this->trackbacks[] = $tb; } return $this->trackbacks; }