_itemPos)) { return $this->_itemPos[$ID]++; } else { $this->_itemPos[$ID] = 1; return 0; } } function getItemPos(){ global $ID; if(array_key_exists($ID,$this->_itemPos)) { $this->_itemPos[$ID]; } else { return 0; } } /* * What kind of syntax are we? */ function getType() { return 'substition'; } /* * Where to sort in? */ function getSort() { return 155; } /* * Paragraph Type */ function getPType() { return 'normal'; } /* * Connect pattern to lexer */ function connectTo($mode) { $this->Lexer->addSpecialPattern("]*>",$mode,'plugin_likeit'); } /* * Handle the matches */ function handle($match, $state, $pos, Doku_Handler $handler){ global $ID; $opts = array( $this->incItemPos(), $ID, trim(substr($match,8,strlen($match)-8-1)) ); return ($opts); } /* * Create output */ function render($mode, Doku_Renderer $renderer, $opts) { if($mode == 'metadata') return false; global $INFO; $H = $this->loadHelper('likeit'); list($index,$pageid,$users) = $opts; $H->setUser($users); if($mode == 'xhtml') { $Hajax = $this->loadHelper('ajaxedit'); $doAction = $Hajax && $pageid == $INFO['id']; $htmlid = hsc($pageid).'_'.$index; $renderer->doc .= ""; $renderer->doc .= ""; $renderer->doc .= ""; $renderer->doc .= ""; $renderer->doc .= "".hsc($this->getLang('likeit')); $renderer->doc .= ""; $renderer->doc .= ""; $renderer->doc .= $H->getUserCount(); $renderer->doc .= ""; $renderer->doc .= ""; $renderer->doc .= ""; $renderer->doc .= $H->renderUserList(); $renderer->doc .= ""; $renderer->doc .= ""; } else { $renderer->doc .= hsc($this->getLang('likeit')) ." (". $H->getUserCount() .")" ; } return true; } }