* * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject * to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ 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'); class syntax_plugin_rdplink extends DokuWiki_Syntax_Plugin { function getInfo(){ return array( 'author' => 'Justin Shepard', 'email' => 'jshepard@cyberdynamic.net', 'date' => '2007-08-01', 'name' => 'RDP Link Plugin', 'desc' => 'Embed links to auto-generate and open RDP connection files.', 'url' => 'http://www.dokuwiki.org/plugin:rdplink', ); } function getType(){ return 'substition'; } function getSort(){ return 999; } function connectTo($mode) { $this->Lexer->addSpecialPattern('{rdplink:.+?}',$mode,'plugin_rdplink'); } function handle($match, $state, $pos, Doku_Handler $handler){ switch ($state) { case DOKU_LEXER_SPECIAL : $match = substr($match,9,-1); $smeta = explode('|',$match,2); if(empty($smeta[1])) $smeta[1] = $smeta[0]; return array( 'server'=>$smeta[0], 'desc'=>$smeta[1] ); break; } return array(); } function render($mode, Doku_Renderer $renderer, $data) { if($mode == 'xhtml'){ // $renderer->doc .= "" . $data['desc'] . ""; $renderer->doc .= " " . $data['desc'] . ""; return true; } return false; } }