12bdaee90SJames Collins<?php 22bdaee90SJames Collins/** 32bdaee90SJames Collins * Mikio Syntax Plugin:Pagination 42bdaee90SJames Collins * 52bdaee90SJames Collins * @link http://github.com/nomadjimbob/mikioplugin 62bdaee90SJames Collins * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) 72bdaee90SJames Collins * @author James Collins <james.collins@outlook.com.au> 82bdaee90SJames Collins */ 9*2560abddSJames Collinsif (!defined('DOKU_INC')) { die(); 10*2560abddSJames Collins} 11*2560abddSJames Collinsif (!defined('DOKU_PLUGIN')) { define('DOKU_PLUGIN', DOKU_INC.'lib/plugins/'); 12*2560abddSJames Collins} 13*2560abddSJames Collinsrequire_once dirname(__FILE__).'/core.php'; 142bdaee90SJames Collins 15*2560abddSJames Collinsclass syntax_plugin_mikioplugin_pagination extends syntax_plugin_mikioplugin_core 16*2560abddSJames Collins{ 172bdaee90SJames Collins public $tag = 'pagination'; 182bdaee90SJames Collins public $hasEndTag = true; 192bdaee90SJames Collins 20*2560abddSJames Collins public function __construct() 21*2560abddSJames Collins { 222bdaee90SJames Collins $this->addCommonOptions('shadow'); 232bdaee90SJames Collins } 242bdaee90SJames Collins 25*2560abddSJames Collins public function getAllowedTypes() 26*2560abddSJames Collins { 27*2560abddSJames Collins return array(); 28*2560abddSJames Collins } 29*2560abddSJames Collins public function getPType() 30*2560abddSJames Collins { 31*2560abddSJames Collins return 'normal'; 32*2560abddSJames Collins } 332bdaee90SJames Collins 34*2560abddSJames Collins public function render_lexer_enter(Doku_Renderer $renderer, $data) 35*2560abddSJames Collins { 36*2560abddSJames Collins global $conf; 37*2560abddSJames Collins 382bdaee90SJames Collins $classes = $this->buildClass($data); 392bdaee90SJames Collins 40*2560abddSJames Collins $renderer->doc .= '<div class="' . $this->elemClass . ' ' . $this->classPrefix . 'pagination" data-start="' . $conf['start'] . '">'; 412bdaee90SJames Collins $renderer->doc .= '<ul class="' . $this->elemClass . ' ' . $this->classPrefix . 'pagination-inner'. $classes . '">'; 422bdaee90SJames Collins $renderer->doc .= '<li class="' . $this->elemClass . ' ' . $this->classPrefix . 'pagination-item ' . $this->classPrefix . 'pagination-prev"><a href="#">Prev</a></li>'; 432bdaee90SJames Collins } 442bdaee90SJames Collins 452bdaee90SJames Collins 46*2560abddSJames Collins public function render_lexer_exit(Doku_Renderer $renderer, $data) 47*2560abddSJames Collins { 482bdaee90SJames Collins $renderer->doc .= '<li class="' . $this->elemClass . ' ' . $this->classPrefix . 'pagination-item ' . $this->classPrefix . 'pagination-next"><a href="#">Next</a></li>'; 492bdaee90SJames Collins $renderer->doc .= '</ul></div>'; 502bdaee90SJames Collins } 512bdaee90SJames Collins 52*2560abddSJames Collins public function render_lexer_unmatched(Doku_Renderer $renderer, $data) 53*2560abddSJames Collins { 542bdaee90SJames Collins $i = 1; 552bdaee90SJames Collins 562bdaee90SJames Collins $itemOptions = array( 572bdaee90SJames Collins 'url' => array('type' => 'url', 'default' => ''), 582bdaee90SJames Collins 'active' => array('type' => 'boolean', 'default'=> 'false', 'class' => true), 592bdaee90SJames Collins 'disabled' => array('type' => 'boolean', 'default'=> 'false', 'class' => true), 602bdaee90SJames Collins ); 612bdaee90SJames Collins 622bdaee90SJames Collins $items = array_merge( 632bdaee90SJames Collins $this->findTags($this->tagPrefix . 'pagination-item', $data, $itemOptions, false), 642bdaee90SJames Collins $this->findTags($this->tagPrefix . 'pagenation-item', $data, $itemOptions, false) 652bdaee90SJames Collins ); 662bdaee90SJames Collins 672bdaee90SJames Collins foreach($items as $item) { 682bdaee90SJames Collins $classes = $this->buildClass($item['options'], null, false, $itemOptions); 692bdaee90SJames Collins 702bdaee90SJames Collins $renderer->doc .= '<li class="' . $this->elemClass . ' ' . $this->classPrefix . 'pagination-item' . $classes . '"><a href="' . $item['options']['url'] . '">' . $i++ . '</a></li>'; 712bdaee90SJames Collins } 722bdaee90SJames Collins } 732bdaee90SJames Collins} 742bdaee90SJames Collins?> 75