getAction(); // current mode: create, edit, list $type = $ui->getEventName(); // 'wmessage', 'news' etc. (core or plugin) $id = $ui->getId(); $config = array(); switch($type) { case 'news': // hook into the news admin area case 'page': // hook into the page admin area $config['fields']['stats'] = array ('title' => LAN_PLUGIN_LINKWORDS_NAME, 'type' => 'method', 'tab' =>1, 'noedit'=>true, 'writeParms' => array(), 'width' => 'auto', 'help' => '', 'readParms' => '', 'class' => 'left', 'thclass' => 'left', ); break; } //Note: 'urls' will be returned as $_POST['x__blank_url']. ie. x_{PLUGIN_FOLDER}_{YOURFIELDKEY} return $config; } /** * Process Posted Data. * @param object $ui admin-ui * @param int|array $id - Primary ID of the record being created/edited/deleted or array data of a batch process. */ public function process(e_admin_ui $ui, $id=null) { // no data saved. } } class linkwords_admin_form extends e_form { /** @var linkwords_parse lw */ private $lw; function __construct() { $this->lw = e107::getAddon('linkwords','e_parse'); $this->lw->init(); } /** * @param $curval * @param $mode * @param $att * @return null|string */ function x_linkwords_stats($curval, $mode, $att=null) { /** @var e_admin_controller_ui $controller */ $controller = e107::getAdminUI()->getController(); $event = $controller->getEventName(); // eg 'news' 'page' etc. if($event === 'news') { $curval = $controller->getFieldVar('news_body')."\n".$controller->getFieldVar('news_extended'); } else { $curval = $controller->getFieldVar('page_text'); } unset($att); $vals = array(); if(empty($curval)) { return null; } switch($mode) { case "read": $clsInt = ''; $clsExt = ''; $curval = str_replace(''', "'", $curval); $this->lw->toHTML($curval,'BODY'); $stats = $this->lw->getStats(); if(empty($stats['internal'])) { $clsInt = " style='opacity:0.7'"; } if(empty($stats['external'])) { $clsExt = " style='opacity:0.7'"; } $text = "