cvs: php-wiki-web /dokuwiki/lib/plugins/phpml syntax.php

From: Date: Sun, 29 Jun 2008 18:05:36 +0000
Subject: cvs: php-wiki-web /dokuwiki/lib/plugins/phpml syntax.php
Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-2020@lists.php.net to get a copy of this message
lsmith Sun Jun 29 18:05:36 2008 UTC Added files: /php-wiki-web/dokuwiki/lib/plugins/phpml syntax.php Log: - added short hand syntax for php mls: [[php-internals@121474728513853|foo]] http://cvs.php.net/viewvc.cgi/php-wiki-web/dokuwiki/lib/plugins/phpml/syntax.php?view=markup&rev=1.1 Index: php-wiki-web/dokuwiki/lib/plugins/phpml/syntax.php +++ php-wiki-web/dokuwiki/lib/plugins/phpml/syntax.php <?php /** * Plugin link to a php mailinglist * * @license LGPL 3 (http://www.gnu.org/licenses/lgpl.html) * @author Lukas Kahwe Smith <smith@pooteeweet.org> */ if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/'); if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); require_once(DOKU_PLUGIN.'syntax.php'); /** * All DokuWiki plugins to extend the parser/rendering mechanism * need to inherit from this class */ class syntax_plugin_phpml extends DokuWiki_Syntax_Plugin { /** * return some info */ function getInfo(){ return array( 'author' => 'Lukas Kahwe Smith', 'email' => 'smith@pooteeweet.org', 'date' => '2008-06-20', 'name' => 'PHP ML', 'desc' => 'Add a short syntax to link to php mailinglists', 'url' => 'http://cvs.php.net/viewvc.cgi/php-wiki-web/dokuwiki/lib/plugins/phpml/syntax.php?view=markup', ); } /** * What kind of syntax are we? */ function getType(){ return 'substition'; } // Just before build in links function getSort(){ return 299; } function connectTo($mode) { $this->Lexer->addSpecialPattern('\[\[[-a-z]+\@\d+[^\]]*\]\]',$mode,'plugin_phpml'); } /** * Handle the match */ function handle($match, $state, $pos, &$handler){ if (preg_match('/\[\[([-a-z]+)\@(\d+)\|?([^\]]*)\]\]/', $match, $matches)) { array_shift($matches); if (count($matches) < 2) { $matches[1] = null; } if (count($matches) < 3) { $matches[2] = null; } } else { $matches - array(null, null, null); } return $matches; } /** * Create output */ function render($mode, &$renderer, $data) { if($mode == 'xhtml'){ $text=$this->_mllink($renderer, $data[0], $data[1], $data[2]); $renderer->doc .= $text; return true; } return false; } function _mllink(&$renderer, $ml, $msgid, $name = NULL) { global $conf; if (!isset($name) || $name === '') { $name = 'ml#'.$msgid; } $url = 'http://marc.info/?l='.$ml.'&m='.$msgid; // $name = $renderer->_xmlEntities($renderer->_getLinkTitle($name, $url, $isImage)); $name = $renderer->_getLinkTitle($name, $url, $isImage); $class='urlextern'; $link['target'] = $conf['target']['wiki']; $link['style'] = ''; $link['pre'] = ''; $link['suf'] = ''; $link['more'] = ''; $link['class'] = $class; $link['url'] = $url; $link['name'] = $name; $link['title'] = $renderer->_xmlEntities($name); //output formatted return $renderer->_formatLink($link); } } ?>

« previous php.webmaster (#2020) next »