1*84838f32Snomadjimbob<?php 2*84838f32Snomadjimbobif (!defined('DOKU_INC')) define('DOKU_INC', dirname(__FILE__) . '/../../../'); 3*84838f32Snomadjimbobrequire_once(DOKU_INC . 'inc/init.php'); 4*84838f32Snomadjimbob 5*84838f32Snomadjimbob$core = new syntax_plugin_mikioplugin_core(); 6*84838f32Snomadjimbob$renderer = new Doku_Renderer_xhtml(); 7*84838f32Snomadjimbob 8*84838f32Snomadjimbobif (isset($_GET['id'])) { 9*84838f32Snomadjimbob $content = rawWiki($_GET['id']); 10*84838f32Snomadjimbob preg_match_all('/<carousel[^-item].*?>.*?<\/carousel>/s', $content, $matches); 11*84838f32Snomadjimbob 12*84838f32Snomadjimbob $carousel_index = 0; 13*84838f32Snomadjimbob if (isset($_GET['carousel'])) { 14*84838f32Snomadjimbob $carousel_index = $_GET['carousel']; 15*84838f32Snomadjimbob if ($carousel_index > count($matches[0])) { 16*84838f32Snomadjimbob die('The page does not have ' . $carousel_index . ' carousels'); 17*84838f32Snomadjimbob } 18*84838f32Snomadjimbob 19*84838f32Snomadjimbob $carousel_index--; 20*84838f32Snomadjimbob } else { 21*84838f32Snomadjimbob if (count($matches[0]) <= 0) { 22*84838f32Snomadjimbob die('No carousels where found on the page'); 23*84838f32Snomadjimbob } 24*84838f32Snomadjimbob } 25*84838f32Snomadjimbob 26*84838f32Snomadjimbob preg_match_all('/<[^\/].*?>/s', $matches[0][$carousel_index], $tags); 27*84838f32Snomadjimbob foreach ($tags[0] as $tag) { 28*84838f32Snomadjimbob preg_match_all('/([^\r\n\t\f\v<>= \'"]+)(?:=(["\'])?((?:.(?!\2?\s+(?:\S+)=|\2))+[^>])\2?)?/', $tag, $attributes); 29*84838f32Snomadjimbob 30*84838f32Snomadjimbob if (count($attributes) > 0) { 31*84838f32Snomadjimbob $tagName = $attributes[1][0]; 32*84838f32Snomadjimbob $tagAttribs = array(); 33*84838f32Snomadjimbob 34*84838f32Snomadjimbob for ($i = 1; $i < count($attributes[1]); $i++) { 35*84838f32Snomadjimbob $value = $attributes[3][$i]; 36*84838f32Snomadjimbob if (strlen($value) == 0) { 37*84838f32Snomadjimbob $value = true; 38*84838f32Snomadjimbob } 39*84838f32Snomadjimbob 40*84838f32Snomadjimbob $tagAttribs[$attributes[1][$i]] = $value; 41*84838f32Snomadjimbob } 42*84838f32Snomadjimbob 43*84838f32Snomadjimbob if (strcasecmp($tagName, 'carousel') == 0) { 44*84838f32Snomadjimbob $core->syntaxRender($renderer, $tagName, '', $tagAttribs, MIKIO_LEXER_ENTER); 45*84838f32Snomadjimbob } else if (strcasecmp($tagName, 'carousel-item') == 0) { 46*84838f32Snomadjimbob $core->syntaxRender($renderer, $tagName, '', $tagAttribs, MIKIO_LEXER_SPECIAL); 47*84838f32Snomadjimbob } 48*84838f32Snomadjimbob } 49*84838f32Snomadjimbob } 50*84838f32Snomadjimbob 51*84838f32Snomadjimbob $core->syntaxRender($renderer, 'carousel', '', $tagAttribs, MIKIO_LEXER_EXIT); 52*84838f32Snomadjimbob 53*84838f32Snomadjimbob echo '<html lang=en><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link type="text/css" rel="stylesheet" href="assets/external.css"/><link type="text/css" rel="stylesheet" href="css.php?css=/assets/variables.less,/assets/styles.less"/></head><body id="dokuwiki__content">'; 54*84838f32Snomadjimbob echo $renderer->doc; 55*84838f32Snomadjimbob echo '<script src="../../scripts/jquery/jquery.min.js"></script><script src="script.js"></script>'; 56*84838f32Snomadjimbob echo '</body></html>'; 57*84838f32Snomadjimbob} else { 58*84838f32Snomadjimbob die('No page id was set in the url'); 59*84838f32Snomadjimbob} 60