Lexer->addSpecialPattern("]*>",$mode,'plugin_datepicker'); $this->Lexer->addSpecialPattern("]*>",$mode,'plugin_datepicker'); } /* * Handle the matches */ function handle($match, $state, $pos, Doku_Handler $handler) { $mode=trim(substr($match,1,10)); $option = trim(substr($match,11,1)); //echo $break; $match=trim(substr($match,12,strlen($match)-12-1)); if($option === '\\' || $option === '#') $opts["option"] = $option; else $opts["option"] = false; if($mode === "datepicker"){ $opts["id"]=$this->idwcount++; } else if($mode === "weekpicker"){ $opts["id"]=$this->iddcount++; } $opts["mode"]=$mode; $opts["date"]=$match; return ($opts); } function iswriter(){ global $conf; global $INFO; return(!$conf['useacl'] || $INFO['perm'] > AUTH_READ); } /* * Create output */ function render($mode, Doku_Renderer $renderer, $opt) { global $INFO; if($mode == 'metadata') return false; if($mode == 'xhtml') { $renderer->nocache(); $Hajax = plugin_load('helper', 'ajaxedit'); if(!$Hajax){ msg('Plugin ajaxedit is missing'); } if($opt["mode"] == 'weekpicker'){ $mode ='week'; $empty = hsc($this->getConf('emptyStringWeek')); } else if ($opt["mode"] == 'datepicker'){ $mode ='date'; $empty = hsc($this->getConf('emptyStringDate')); } if($opt['date'] === ""){ $opt['date']=$empty; } //insert selector if writable if ($this->iswriter()==TRUE && $Hajax) { $id = $opt["id"]; $renderer->cdata("\n"); $image = DOKU_URL."lib/plugins/datepicker/images/".$mode.".gif"; switch($opt['option']){ case '#': $renderer->doc .=""; $renderer->doc .="Kalender"; $renderer->doc .=""; $renderer->doc .= hsc($opt['date']); $renderer->doc .= ""; break; case '\\': $renderer->doc .=""; $renderer->doc .= hsc($opt['date'])."
"; $renderer->doc .="Kalender"; break; case false: $renderer->doc .=""; $renderer->doc .= hsc($opt['date']).""; $renderer->doc .="Kalender"; break; } } else { $renderer->doc .= hsc($opt['date']); } } else { $renderer->doc .= hsc($opt['date']); } return true; } } //Setup VIM: ex: et ts=4 enc=utf-8 :