active = vartrue($pref); } /** * Extend Admin-ui Parameters * @param $ui admin-ui object * @return array */ public function config($ui) { $action = $ui->getAction(); // current mode: create, edit, list $type = $ui->getEventName(); // 'wmessage', 'news' etc. $config = array(); switch($type) { case "news": if($this->active == true) { $config['fields']['urls'] = array ( 'title' =>LAN_NEWS_35, 'type' => 'textarea', 'tab'=>1, 'writeParms'=> array('size'=>'xxlarge', 'placeholder'=>''), 'width' => 'auto', 'help' => '', 'readParms' => '', 'class' => 'left', 'thclass' => 'left', ); } break; } //Note: 'urls' will be returned as $_POST['x_trackback_urls']. ie. x_{PLUGIN_FOLDER}_{YOURKEY} return $config; } /** * Process Posted Data. * @param $ui admin-ui object */ public function process($ui) { $data = $ui->getPosted(); e107::getMessage()->addDebug(print_a($data,true)); if($data['news_id'] && $this->active) { $excerpt = e107::getParser()->text_truncate(strip_tags(e107::getParser()->post_toHTML($data['news_body'])), 100, '...'); // $id=mysql_insert_id(); $permLink = e107::getInstance()->base_path."comment.php?comment.news.".intval($data['news_id']); require_once(e_PLUGIN."trackback/trackbackClass.php"); $trackback = new trackbackClass(); if($data['x_trackback_urls']) { $urlArray = explode("\n", $data['x_trackback_urls']); foreach($urlArray as $pingurl) { if(!$terror = $trackback->sendTrackback($permLink, $pingurl, $data['news_title'], $excerpt)) { e107::getMessage()->add("Successfully pinged {$pingurl}.", E_MESSAGE_SUCCESS); } else { e107::getMessage()->add("was unable to ping {$pingurl}
[ Error message returned was : '{$terror}'. ]", E_MESSAGE_ERROR); } } } /* if(isset($_POST['pingback_urls'])) { if ($urlArray = $trackback->getPingUrls($data['news_body'])) //FIXME - missing method!!! { foreach($urlArray as $pingurl) { if ($trackback->sendTrackback($permLink, $pingurl, $data['news_title'], $excerpt)) { e107::getMessage()->add("Successfully pinged {$pingurl}.", E_MESSAGE_SUCCESS); } else { e107::getMessage()->add("Pingback to {$pingurl} failed ...", E_MESSAGE_ERROR); } } } else { e107::getMessage()->add("No pingback addresses were discovered", E_MESSAGE_INFO, $smessages); } } */ } /* end trackback */ } } ?>