$xoopsLogger->renderingEnabled = false; error_reporting(0); $xoopsLogger->activated = false; $id = rmc_server_var($_REQUEST, 'trackback', 0); if ($id <= 0) { die; } $post = new MWPost($id); if ($post->isNew()) { die; } $editor = new MWEditor($post->getVar('author')); if ($editor->isNew()) { $user = new XoopsUser($post->getVar('author')); } $track = new MWTrackback($xoopsConfig['sitename'], $editor->getVar('name')); $id = $track->post_id; // 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);
$post->add_categories($categories, true); // Add tags $post->add_tags($tags); $post->clear_metas(); foreach ($meta as $data) { $post->add_meta($data['key'], $data['value']); } // before to save post RMEvents::get()->run_event('mywords.saving.post', $post); // Add trackbacks uris $toping = array(); $pinged = $edit ? $post->getVar('pinged') : array(); if ($trackbacks != '' && $post->getVar('pingstatus')) { $trackbacks = explode(" ", $trackbacks); } elseif ($trackbacks == '' && $post->getVar('pingstatus')) { $tb = new MWTrackback('', ''); $trackbacks = $tb->auto_discovery($content); } if (!empty($trackbacks)) { foreach ($trackbacks as $t) { if (!empty($pinged) && in_array($t, $pinged)) { continue; } $toping[] = $t; } } $post->setVar('toping', !empty($toping) ? $toping : ''); $return = $edit ? $post->update() : $post->save(); if ($return) { if (!$edit) { $xoopsUser->incrementPost();
} $xoopsTpl->assign('comments', $comms); // Comments form RMFunctions::comments_form('mywords', 'post=' . $post->id(), 'module', MW_PATH . '/class/mywordscontroller.php'); } // Load trackbacks $trackbacks = $post->trackbacks(); foreach ($trackbacks as $tb) { $xoopsTpl->append('trackbacks', array('id' => $tb->id(), 'title' => $tb->getVar('title'), 'blog' => $tb->getVar('blog_name'), 'url' => $tb->getVar('url'), 'text' => $tb->getVar('excerpt'), 'date' => formatTimestamp($tb->getVar('date'), 'c'))); } // Language $xoopsTpl->assign('lang_publish', __('Published in', 'mywords')); $xoopsTpl->assign('lang_tagged', __('Tagged as', 'mywords')); $xoopsTpl->assign('lang_numcoms', sprintf(__('%u Comments', 'mywords'), $post->getVar('comments'))); $xoopsTpl->assign('lang_numtracks', sprintf(__('%u trackbacks', 'mywords'), count($trackbacks))); $xoopsTpl->assign('lang_trackback', __('Trackback', 'mywords')); $xoopsTpl->assign('lang_homemw', __('Main Page', 'mywords')); $xoopsTpl->assign('enable_images', $xoopsModuleConfig['post_imgs']); //Trackback if ($post->getVar('pingstatus')) { $tb = new MWTrackback($xoopsConfig['sitename'], $editor->getVar('name')); RMTemplate::get()->add_head($tb->rdf_autodiscover(date('r', $post->getVar('pubdate')), $post->getVar('title'), TextCleaner::getInstance()->truncate($post->content(true), 255), $post->permalink(), MWFunctions::get_url(true) . $post->id(), $editor->getVar('name'))); } $rmf = RMFunctions::get(); $description = $post->get_meta('description', false); $keywords = $post->get_meta('keywords', false); $rmf->add_keywords_description($description != '' ? $description : $post->content(true), $keywords != '' ? $keywords : ''); // Send pings? $pings = $post->getVar('toping'); $xoopsTpl->assign('pingnow', empty($pings)); include 'footer.php';
$post = new MWPost($id); if ($post->isNew()) { die; } $editor = new MWEditor($post->getVar('author')); if ($editor->isNew()) { $user = new XoopsUser($post->getVar('author')); } $tracks = $post->getVar('toping'); if (empty($tracks)) { die; } $pinged = $post->getVar('pinged'); $toping = $post->getVar('toping'); $tp = array(); $tback = new MWTrackback($xoopsModuleConfig['blogname'], $editor->isNew() ? $user->getVar('uname') : $editor->getVar('name')); foreach ($tracks as $t) { if (!empty($pinged) && in_array($t, $pinged)) { continue; } $ret = $tback->ping($t, $post->permalink(), $post->getVar('title'), TextCleaner::getInstance()->truncate($post->content(true), 240)); if ($ret) { $pinged[] = $t; } else { $tp[] = $t; } } $post->setVar('toping', empty($tp) ? '' : $tp); $post->setVar('pinged', $pinged); $post->update(); die;