This seems to have broken content folding on the website.
I can't see anything obvious going wrong - perhaps someone can look at this
as it's all the TOC and other documentation areas.

Andy

On Sun, 15 Oct 2017 at 05:06 Bertrand Jacquin <[email protected]> wrote:

> beber pushed a commit to branch master.
>
>
> http://git.enlightenment.org/website/www.git/commit/?id=ff7e25de215d795ef618b2ab15cf91775f8a661d
>
> commit ff7e25de215d795ef618b2ab15cf91775f8a661d
> Author: Bertrand Jacquin <[email protected]>
> Date:   Sun Oct 15 04:52:26 2017 +0100
>
>     MEDIUM: Update plugin folded to v2017-05-30
> ---
>  public_html/lib/plugins/folded/action.php          |  27 ++++++++++
>  public_html/lib/plugins/folded/conf/default.php    |   4 +-
>  public_html/lib/plugins/folded/conf/metadata.php   |   2 +
>  public_html/lib/plugins/folded/lang/cs/lang.php    |  19 +++----
>  .../lib/plugins/folded/lang/cs/settings.php        |   9 ++++
>  public_html/lib/plugins/folded/lang/de/lang.php    |   4 +-
>  .../lib/plugins/folded/lang/de/settings.php        |   2 +
>  public_html/lib/plugins/folded/lang/en/lang.php    |   4 +-
>  .../lib/plugins/folded/lang/en/settings.php        |   2 +
>  public_html/lib/plugins/folded/lang/fa/lang.php    |  11 ++++
>  .../lib/plugins/folded/lang/fa/settings.php        |   9 ++++
>  public_html/lib/plugins/folded/lang/fr/lang.php    |   4 +-
>  .../lib/plugins/folded/lang/fr/settings.php        |   5 +-
>  public_html/lib/plugins/folded/lang/no/lang.php    |  19 +++----
>  .../lib/plugins/folded/lang/no/settings.php        |   9 ++++
>  public_html/lib/plugins/folded/lang/tr/lang.php    |  21 ++++----
>  .../lib/plugins/folded/lang/tr/settings.php        |  10 ++++
>  .../plugins/folded/pagetools-close-open-sprite.png | Bin 0 -> 369 bytes
>  public_html/lib/plugins/folded/plugin.info.txt     |   2 +-
>  public_html/lib/plugins/folded/script.js           |  43 ++++++++++++++-
>  public_html/lib/plugins/folded/style.css           |  22 ++++++++
>  public_html/lib/plugins/folded/syntax/div.php      |  17 ++++--
>  public_html/lib/plugins/folded/syntax/header.php   |  60
> +++++++++++++++++++++
>  public_html/lib/plugins/folded/syntax/span.php     |  17 ++++--
>  24 files changed, 269 insertions(+), 53 deletions(-)
>
> diff --git a/public_html/lib/plugins/folded/action.php
> b/public_html/lib/plugins/folded/action.php
> index 3c3b097a..5333f375 100644
> --- a/public_html/lib/plugins/folded/action.php
> +++ b/public_html/lib/plugins/folded/action.php
> @@ -18,6 +18,7 @@ class action_plugin_folded extends
> DokuWiki_Action_Plugin {
>       */
>      function register(Doku_Event_Handler $controller) {
>          $controller->register_hook('DOKUWIKI_STARTED', 'AFTER', $this,
> 'addhidereveal');
> +        $controller->register_hook('TEMPLATE_PAGETOOLS_DISPLAY',
> 'BEFORE', $this, 'add_button', array());
>      }
>
>      /**
> @@ -37,4 +38,30 @@ class action_plugin_folded extends
> DokuWiki_Action_Plugin {
>              'reveal' => $reveal
>          );
>      }
> +
> +    /**
> +     * Add 'fold/unfold all'-button to pagetools
> +     *
> +     * @param Doku_Event $event
> +     * @param mixed      $param not defined
> +     */
> +    public function add_button(&$event, $param) {
> +        global $ID, $REV;
> +
> +        if($this->getConf('show_fold_unfold_all_button') &&
> $event->data['view'] == 'main') {
> +            $params = array('do' => 'fold_unfold_all');
> +            if($REV) $params['rev'] = $REV;
> +
> +            // insert button at position before last (up to top)
> +            $event->data['items'] = array_slice($event->data['items'], 0,
> -1, true) +
> +                                    array('fold_unfold_all' =>
> +                                          '<li>'
> +                                          .'<a href="javascript:void(0);"
> class="fold_unfold_all" onclick="fold_unfold_all();" rel="nofollow"
> title="'.$this->getLang('fold_unfold_all_button').'">'
> +
> .'<span>'.$this->getLang('fold_unfold_all_button').'</span>'
> +                                          .'</a>'
> +                                          .'</li>'
> +                                    ) +
> +                                    array_slice($event->data['items'], -1
> , 1, true);
> +        }
> +    }
>  }
> diff --git a/public_html/lib/plugins/folded/conf/default.php
> b/public_html/lib/plugins/folded/conf/default.php
> index d129325f..4dd5801d 100644
> --- a/public_html/lib/plugins/folded/conf/default.php
> +++ b/public_html/lib/plugins/folded/conf/default.php
> @@ -5,4 +5,6 @@
>   * @author    Christopher Smith <[email protected]>
>   */
>  $conf['hide'] = '';            // hide tooltip, if empty will use
> localised string
> -$conf['reveal'] = '';          // reveal tooltip, if empty will use
> localised string
> \ No newline at end of file
> +$conf['reveal'] = '';          // reveal tooltip, if empty will use
> localised string
> +$conf['unfold_default'] = 0;   // unfold all text per default
> +$conf['show_fold_unfold_all_button'] = 1;   // show a button in the
> pagetool-area that folds/unfolds all texts of the current page
> diff --git a/public_html/lib/plugins/folded/conf/metadata.php
> b/public_html/lib/plugins/folded/conf/metadata.php
> index 797bea31..758ce243 100644
> --- a/public_html/lib/plugins/folded/conf/metadata.php
> +++ b/public_html/lib/plugins/folded/conf/metadata.php
> @@ -6,3 +6,5 @@
>   */
>  $meta['hide']  = array('string');
>  $meta['reveal'] = array('string');
> +$meta['unfold_default'] = array('onoff');
> +$meta['show_fold_unfold_all_button'] = array('onoff');
> diff --git a/public_html/lib/plugins/folded/lang/cs/lang.php
> b/public_html/lib/plugins/folded/lang/cs/lang.php
> index 01bea12d..1e351374 100644
> --- a/public_html/lib/plugins/folded/lang/cs/lang.php
> +++ b/public_html/lib/plugins/folded/lang/cs/lang.php
> @@ -1,16 +1,11 @@
>  <?php
> +
>  /**
> - * Czech language file
> - *
>   * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
> - * @author     Esther Brunner <[email protected]>
> + *
> + * @author Esther Brunner <[email protected]>
>   */
> -
> -// custom language strings for the plugin
> -$lang['reveal']     = 'zobrazit';
> -$lang['reveallong'] = 'zobrazit skrytý obsah';
> -
> -$lang['hide']       = 'skrýt';
> -$lang['hidelong']   = 'skrýt obsah';
> -
> -//Setup VIM: ex: et ts=2 enc=utf-8 :
> \ No newline at end of file
> +$lang['reveal']                = 'zobrazit';
> +$lang['reveallong']            = 'zobrazit skrytý obsah';
> +$lang['hide']                  = 'skrýt';
> +$lang['hidelong']              = 'skrýt obsah';
> diff --git a/public_html/lib/plugins/folded/lang/cs/settings.php
> b/public_html/lib/plugins/folded/lang/cs/settings.php
> new file mode 100644
> index 00000000..4aa36083
> --- /dev/null
> +++ b/public_html/lib/plugins/folded/lang/cs/settings.php
> @@ -0,0 +1,9 @@
> +<?php
> +
> +/**
> + * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
> + *
> + * @author Jaroslav Lichtblau <[email protected]>
> + */
> +$lang['hide']                  = 'Zasunout skrývací nabídku<br />(nechat
> prázdné pro použití přeložených textů)';
> +$lang['reveal']                = 'Vysunout skrývací nabídku<br />(nechat
> prázdné pro použití přeložených textů)';
> diff --git a/public_html/lib/plugins/folded/lang/de/lang.php
> b/public_html/lib/plugins/folded/lang/de/lang.php
> index a0dbe0cf..28006287 100644
> --- a/public_html/lib/plugins/folded/lang/de/lang.php
> +++ b/public_html/lib/plugins/folded/lang/de/lang.php
> @@ -13,4 +13,6 @@ $lang['reveallong'] = 'zeige den eingeklappten Inhalt';
>  $lang['hide']       = 'zuklappen';
>  $lang['hidelong']   = 'verberge den Inhalt';
>
> -//Setup VIM: ex: et ts=2 enc=utf-8 :
> \ No newline at end of file
> +$lang['fold_unfold_all_button'] = 'Alles aus-/einklappen';
> +
> +//Setup VIM: ex: et ts=2 enc=utf-8 :
> diff --git a/public_html/lib/plugins/folded/lang/de/settings.php
> b/public_html/lib/plugins/folded/lang/de/settings.php
> index 21601fcd..ac39b5a2 100644
> --- a/public_html/lib/plugins/folded/lang/de/settings.php
> +++ b/public_html/lib/plugins/folded/lang/de/settings.php
> @@ -9,3 +9,5 @@
>  // for the configuration manager
>  $lang['hide']  = 'Tooltip zum Zuklappen<br />(Feld leer lassen um den
> Standardwert zu nutzen)';
>  $lang['reveal']  = 'Tooltip zum Aufklappen<br />(Feld leer lassen um den
> Standardwert zu nutzen)';
> +$lang['unfold_default']  = 'Standardmäßig alles aufklappen';
> +$lang['show_fold_unfold_all_button']  = 'Button zum Zuklappen/Aufklappen
> aller Text der aktuellen Seite anzeigen';
> diff --git a/public_html/lib/plugins/folded/lang/en/lang.php
> b/public_html/lib/plugins/folded/lang/en/lang.php
> index 68f230b6..c87a86a7 100644
> --- a/public_html/lib/plugins/folded/lang/en/lang.php
> +++ b/public_html/lib/plugins/folded/lang/en/lang.php
> @@ -13,4 +13,6 @@ $lang['reveallong'] = 'reveal hidden content';
>  $lang['hide']       = 'hide';
>  $lang['hidelong']   = 'hide content';
>
> -//Setup VIM: ex: et ts=2 enc=utf-8 :
> \ No newline at end of file
> +$lang['fold_unfold_all_button'] = 'Fold/unfold all';
> +
> +//Setup VIM: ex: et ts=2 enc=utf-8 :
> diff --git a/public_html/lib/plugins/folded/lang/en/settings.php
> b/public_html/lib/plugins/folded/lang/en/settings.php
> index c537eced..25f64cb4 100644
> --- a/public_html/lib/plugins/folded/lang/en/settings.php
> +++ b/public_html/lib/plugins/folded/lang/en/settings.php
> @@ -9,3 +9,5 @@
>  // for the configuration manager
>  $lang['hide']  = 'Folding tooltip to hide<br />(leave empty to use
> localised string)';
>  $lang['reveal']  = 'Folding tooltip to reveal<br />(leave empty to use
> localised string)';
> +$lang['unfold_default']  = 'Unfold everything by default';
> +$lang['show_fold_unfold_all_button']  = 'Show a button in the
> pagetool-area that folds/unfolds all texts of the current page';
> diff --git a/public_html/lib/plugins/folded/lang/fa/lang.php
> b/public_html/lib/plugins/folded/lang/fa/lang.php
> new file mode 100644
> index 00000000..267fd019
> --- /dev/null
> +++ b/public_html/lib/plugins/folded/lang/fa/lang.php
> @@ -0,0 +1,11 @@
> +<?php
> +
> +/**
> + * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
> + *
> + * @author Sam01 <[email protected]>
> + */
> +$lang['reveal']                = 'آشکارسازی';
> +$lang['reveallong']            = 'آشکارسازی محتوای پنهان';
> +$lang['hide']                  = 'مخفی‌سازی';
> +$lang['hidelong']              = 'مخفی‌سازی محتوا';
> diff --git a/public_html/lib/plugins/folded/lang/fa/settings.php
> b/public_html/lib/plugins/folded/lang/fa/settings.php
> new file mode 100644
> index 00000000..c2e86e49
> --- /dev/null
> +++ b/public_html/lib/plugins/folded/lang/fa/settings.php
> @@ -0,0 +1,9 @@
> +<?php
> +
> +/**
> + * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
> + *
> + * @author Sam01 <[email protected]>
> + */
> +$lang['hide']                  = 'جاسازی راهنمای ابزار برای مخفی کردن<br
> />(خالی گذاشتن برای استفاده از رشته محلی)';
> +$lang['reveal']                = 'جاسازی راهنمای ابزار برای آشکار کردن<br
> />(خالی گذاشتن برای استفاده از رشته محلی)';
> diff --git a/public_html/lib/plugins/folded/lang/fr/lang.php
> b/public_html/lib/plugins/folded/lang/fr/lang.php
> index c9bd8c6a..1ebd3659 100644
> --- a/public_html/lib/plugins/folded/lang/fr/lang.php
> +++ b/public_html/lib/plugins/folded/lang/fr/lang.php
> @@ -2,11 +2,13 @@
>
>  /**
>   * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
> - *
> + *
>   * @author Esther Brunner <[email protected]>
>   * @author Fabrice Dejaigher <[email protected]>
> + * @author Schplurtz le Déboulonné <[email protected]>
>   */
>  $lang['reveal']                = 'révéler';
>  $lang['reveallong']            = 'révéler le contenu masqué';
>  $lang['hide']                  = 'masquer';
>  $lang['hidelong']              = 'masquer le contenu';
> +$lang['fold_unfold_all_button'] = 'Tout plier/déplier';
> diff --git a/public_html/lib/plugins/folded/lang/fr/settings.php
> b/public_html/lib/plugins/folded/lang/fr/settings.php
> index f9e9011f..e1a4be7f 100644
> --- a/public_html/lib/plugins/folded/lang/fr/settings.php
> +++ b/public_html/lib/plugins/folded/lang/fr/settings.php
> @@ -2,8 +2,11 @@
>
>  /**
>   * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
> - *
> + *
>   * @author Fabrice Dejaigher <[email protected]>
> + * @author Schplurtz le Déboulonné <[email protected]>
>   */
>  $lang['hide']                  = 'Contenu de l\'infobulle de l\'élément à
> masquer.<br/>(laissez vide pour utiliser la chaîne localisée)';
>  $lang['reveal']                = 'Contenu de l\'infobulle de l\'élément à
> révéler.<br/>(laissez vide pour utiliser la chaîne localisée)';
> +$lang['unfold_default']        = 'Tout déplier par défaut';
> +$lang['show_fold_unfold_all_button'] = 'Ajouter un bouton dans la zone
> des outils de page pour plier et déplier tous les textes de la page
> courante';
> diff --git a/public_html/lib/plugins/folded/lang/no/lang.php
> b/public_html/lib/plugins/folded/lang/no/lang.php
> index 0101f689..f1871b56 100644
> --- a/public_html/lib/plugins/folded/lang/no/lang.php
> +++ b/public_html/lib/plugins/folded/lang/no/lang.php
> @@ -1,16 +1,11 @@
>  <?php
> +
>  /**
> - * norwegian language file
> - *
>   * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
> - * @author     Matthias Schulte <[email protected]>
> + *
> + * @author Matthias Schulte <[email protected]>
>   */
> -
> -// custom language strings for the plugin
> -$lang['reveal']     = 'vis';
> -$lang['reveallong'] = 'vis skjult innhold ';
> -
> -$lang['hide']       = 'skjul';
> -$lang['hidelong']   = 'skjul innhold';
> -
> -//Setup VIM: ex: et ts=2 :
> \ No newline at end of file
> +$lang['reveal']                = 'vis';
> +$lang['reveallong']            = 'vis skjult innhold ';
> +$lang['hide']                  = 'skjul';
> +$lang['hidelong']              = 'skjul innhold';
> diff --git a/public_html/lib/plugins/folded/lang/no/settings.php
> b/public_html/lib/plugins/folded/lang/no/settings.php
> new file mode 100644
> index 00000000..f51fb679
> --- /dev/null
> +++ b/public_html/lib/plugins/folded/lang/no/settings.php
> @@ -0,0 +1,9 @@
> +<?php
> +
> +/**
> + * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
> + *
> + * @author Arne Hanssen <[email protected]>
> + */
> +$lang['hide']                  = 'Infoboble for å skjule<br />(la stå tom
> for å bruke oversatt tekst)';
> +$lang['reveal']                = 'Infoboble for å vise<br />(la stå tom
> for å bruke oversatt tekst)';
> diff --git a/public_html/lib/plugins/folded/lang/tr/lang.php
> b/public_html/lib/plugins/folded/lang/tr/lang.php
> index 6605f55c..1974263f 100644
> --- a/public_html/lib/plugins/folded/lang/tr/lang.php
> +++ b/public_html/lib/plugins/folded/lang/tr/lang.php
> @@ -1,16 +1,13 @@
>  <?php
> +
>  /**
> - * turkish language file
> - *
>   * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
> - * @author     Chris Smith <[email protected]>
> + *
> + * @author Chris Smith <[email protected]>
> + * @author Mustafa Icer <[email protected]>
>   */
> -
> -// custom language strings for the plugin
> -$lang['reveal']     = 'göster';
> -$lang['reveallong'] = 'gizlenen içeri?i göster';
> -
> -$lang['hide']       = 'gizle';
> -$lang['hidelong']   = 'içeri?i gizle';
> -
> -//Setup VIM: ex: et ts=2 enc=utf-8 :
> \ No newline at end of file
> +$lang['reveal']                = 'göster';
> +$lang['reveallong']            = 'gizlenen içeriği göster';
> +$lang['hide']                  = 'gizle';
> +$lang['hidelong']              = 'içeriği gizle';
> +$lang['fold_unfold_all_button'] = 'katla/tüm katlamalari aç';
> diff --git a/public_html/lib/plugins/folded/lang/tr/settings.php
> b/public_html/lib/plugins/folded/lang/tr/settings.php
> new file mode 100644
> index 00000000..1b199157
> --- /dev/null
> +++ b/public_html/lib/plugins/folded/lang/tr/settings.php
> @@ -0,0 +1,10 @@
> +<?php
> +
> +/**
> + * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
> + *
> + * @author Mustafa Icer <[email protected]>
> + */
> +$lang['unfold_default']        = 'standart olarak tüm katlamalari aç';
> +$lang['show_fold_unfold_all_button'] = 'tüm sayfanin yazılarını
> katlamak/katlamalari açmak icin,
> +pagetool sayfasında buton göster';
> diff --git
> a/public_html/lib/plugins/folded/pagetools-close-open-sprite.png
> b/public_html/lib/plugins/folded/pagetools-close-open-sprite.png
> new file mode 100644
> index 00000000..ceb85b4f
> Binary files /dev/null and
> b/public_html/lib/plugins/folded/pagetools-close-open-sprite.png differ
> diff --git a/public_html/lib/plugins/folded/plugin.info.txt
> b/public_html/lib/plugins/folded/plugin.info.txt
> index 1527cd9e..1f5238a7 100644
> --- a/public_html/lib/plugins/folded/plugin.info.txt
> +++ b/public_html/lib/plugins/folded/plugin.info.txt
> @@ -1,7 +1,7 @@
>  base   folded
>  author Michael Hamann, Fabian van-de-l_Isle, Christopher Smith, Esther
> Brunner
>  email  [email protected]
> -date   2014-07-21
> +date   2017-05-30
>  name   folded plugin
>  desc   Foldable page sections
>  url    http://dokuwiki.org/plugin:folded
> diff --git a/public_html/lib/plugins/folded/script.js
> b/public_html/lib/plugins/folded/script.js
> index 39303631..c17bd724 100644
> --- a/public_html/lib/plugins/folded/script.js
> +++ b/public_html/lib/plugins/folded/script.js
> @@ -14,6 +14,7 @@
>  jQuery(function() {
>      // containers for localised reveal/hide strings,
>      // populated from the content set by the action plugin
> +    if(!JSINFO || !JSINFO['plugin_folded']) return;
>      var folded_reveal = JSINFO['plugin_folded']['reveal'];
>      var folded_hide = JSINFO['plugin_folded']['hide'];
>
> @@ -23,7 +24,7 @@ jQuery(function() {
>       * toggle the folded element via className change also adjust the
> classname and
>       * title tooltip on the folding link
>       */
> -    jQuery('.folder').click(function folded_toggle(evt) {
> +    jQuery('.dokuwiki .folder').click(function folded_toggle(evt) {
>          var id = this.href.match(/(#.*)$/)[1];
>          var $id = jQuery(id);
>
> @@ -44,6 +45,46 @@ jQuery(function() {
>      });
>  });
>
> +function fold_unfold_all() {
> +    var hide = -1;
> +    var cpt = 1;
> +
> +    var folders = document.getElementsByClassName("folder");
> +    var i;
> +    for (i = 0; i < folders.length; i++) {
> +        // initially, find out whether we want to hide or unhide
> +        if (hide == -1) {
> +            if (folders[i].className.search("open") == -1) {
> +                hide = 0;
> +            } else {
> +                hide = 1;
> +            }
> +        }
> +
> +        if (hide == 1) {
> +            folders[i].className = folders[i].className.replace(/open/g,
> "");
> +        } else {
> +            folders[i].className = folders[i].className + " open";
> +        }
> +
> +    }
> +
> +    // get first folded_ object
> +    var obj = document.getElementById("folded_" + cpt++);
> +    while ( obj != null ) {
> +        if (hide == 1) {
> +            obj.className = obj.className.replace(/open/g, "");
> +            obj.className = obj.className + " hidden";
> +        } else {
> +            obj.className = obj.className.replace(/hidden/g, "");
> +            obj.className = obj.className + " open";
> +        }
> +
> +        // get next folded_ object
> +        obj = document.getElementById("folded_" + cpt++);
> +    }
> +}
> +
>  // support graceful js degradation, this hides the folded blocks from view
>  // before they are shown,
>  // whilst still allowing non-js user to see any folded content.
> diff --git a/public_html/lib/plugins/folded/style.css
> b/public_html/lib/plugins/folded/style.css
> index e9533473..9c153134 100644
> --- a/public_html/lib/plugins/folded/style.css
> +++ b/public_html/lib/plugins/folded/style.css
> @@ -21,6 +21,28 @@ span.indicator {
>      visibility: hidden;
>  }
>
> +/* fold/unfold all button in pagetools area */
> +#dokuwiki__pagetools ul li a.fold_unfold_all {
> +    background-position: right 0;
> +}
> +
> +#dokuwiki__pagetools ul li a.fold_unfold_all:before {
> +    content: url(pagetools-close-open-sprite.png);
> +    margin-top: 0;
> +}
> +
> +#dokuwiki__pagetools:hover ul li a.fold_unfold_all,
> +#dokuwiki__pagetools ul li a.fold_unfold_all:focus,
> +#dokuwiki__pagetools ul li a.fold_unfold_all:active {
> +    background-image: url(pagetools-close-open-sprite.png);
> +}
> +
> +#dokuwiki__pagetools ul li a.fold_unfold_all:hover,
> +#dokuwiki__pagetools ul li a.fold_unfold_all:active,
> +#dokuwiki__pagetools ul li a.fold_unfold_all:focus {
> +    background-position: right -45px;
> +}
> +
>  /* below style rules are created by javascript
>  .folded.hidden { display: none; }
>  .folder span.indicator { visibility: visible; }
> diff --git a/public_html/lib/plugins/folded/syntax/div.php
> b/public_html/lib/plugins/folded/syntax/div.php
> index ae783227..b33b1f92 100644
> --- a/public_html/lib/plugins/folded/syntax/div.php
> +++ b/public_html/lib/plugins/folded/syntax/div.php
> @@ -8,9 +8,8 @@
>   * @author     Esther Brunner <[email protected]>
>   */
>
> -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');
> +// must be run within DokuWiki
> +if(!defined('DOKU_INC')) die();
>
>  // maintain a global count of the number of folded elements in the page,
>  // this allows each to be uniquely identified
> @@ -61,12 +60,20 @@ class syntax_plugin_folded_div extends
> DokuWiki_Syntax_Plugin {
>              switch ($state){
>                case DOKU_LEXER_ENTER:
>                  $plugin_folded_count++;
> -                $renderer->doc .= '<p><a class="folder"
> href="#folded_'.$plugin_folded_count.'">';
> +                if ($this->getConf('unfold_default')) {
> +                    $renderer->doc .= '<p><a class="folder open"
> href="#folded_'.$plugin_folded_count.'">';
> +                } else {
> +                    $renderer->doc .= '<p><a class="folder"
> href="#folded_'.$plugin_folded_count.'">';
> +                }
>
>                  if ($cdata)
>                      $renderer->doc .= ' '.$renderer->cdata($cdata);
>
> -                $renderer->doc .= '</a></p><div class="folded hidden"
> id="folded_'.$plugin_folded_count.'">';
> +                if ($this->getConf('unfold_default')) {
> +                    $renderer->doc .= '</a></p><div class="folded"
> id="folded_'.$plugin_folded_count.'">';
> +                } else {
> +                    $renderer->doc .= '</a></p><div class="folded hidden"
> id="folded_'.$plugin_folded_count.'">';
> +                }
>                  break;
>
>                case DOKU_LEXER_UNMATCHED:                            //
> defensive, shouldn't occur
> diff --git a/public_html/lib/plugins/folded/syntax/header.php
> b/public_html/lib/plugins/folded/syntax/header.php
> new file mode 100644
> index 00000000..3007bd46
> --- /dev/null
> +++ b/public_html/lib/plugins/folded/syntax/header.php
> @@ -0,0 +1,60 @@
> +<?php
> +/**
> + * Folded text Plugin, header component:
> + * Render headers included in folded blocks.
> + *
> + * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
> + * @author     LarsDW223
> + */
> +// must be run within Dokuwiki
> +if(!defined('DOKU_INC')) die();
> +
> +/**
> + * This class handles header syntax inside folded blocks.
> + * A found header syntax will be rendered as an html header element but
> + * is not a DokuWiki header (no section edit, do not appear in toc).
> + */
> +class syntax_plugin_folded_header extends DokuWiki_Syntax_Plugin {
> +
> +    function getType(){ return 'formatting'; }
> +    function getPType() { return 'block'; }
> +    function getSort(){ return 50; }
> +    function connectTo($mode) {
> +        if ($mode != 'plugin_folded_div') return;
> +
> +        // Copied from parser: we're not picky about the closing ones,
> two are enough
> +        $this->Lexer->addSpecialPattern(
> +                            '[ \t]*={2,}[^\n]+={2,}[ \t]*(?=\n)',
> +                            $mode,
> +                            'plugin_folded_header'
> +                        );
> +    }
> +
> +    /**
> +     * Handle the match
> +     */
> +    function handle($match, $state, $pos, Doku_Handler $handler){
> +        // Copied from parser: get level and title
> +        $title = trim($match);
> +        $level = 7 - strspn($title,'=');
> +        if($level < 1) $level = 1;
> +        $title = trim($title,'=');
> +        $title = trim($title);
> +        return array($title,$level,$pos);
> +    }
> +
> +    /**
> +     * Create output
> +     */
> +    function render($mode, Doku_Renderer $renderer, $data) {
> +        if($mode != 'xhtml') return;
> +
> +        list($text,$level,$pos) = $data;
> +
> +        // Write the header
> +        $renderer->doc .= DOKU_LF.'<h'.$level.'>';
> +        $renderer->cdata($text);
> +        $renderer->doc .= "</h$level>".DOKU_LF;
> +        return true;
> +    }
> +}
> diff --git a/public_html/lib/plugins/folded/syntax/span.php
> b/public_html/lib/plugins/folded/syntax/span.php
> index 8854d893..4f151560 100644
> --- a/public_html/lib/plugins/folded/syntax/span.php
> +++ b/public_html/lib/plugins/folded/syntax/span.php
> @@ -8,9 +8,8 @@
>   * @author     Esther Brunner <[email protected]>
>   */
>
> -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');
> +// must be run within DokuWiki
> +if(!defined('DOKU_INC')) die();
>
>  // maintain a global count of the number of folded elements in the page,
>  // this allows each to be uniquely identified
> @@ -60,12 +59,20 @@ class syntax_plugin_folded_span extends
> DokuWiki_Syntax_Plugin {
>              switch ($state){
>                 case DOKU_LEXER_ENTER:
>                  $plugin_folded_count++;
> -                $renderer->doc .= '<a class="folder"
> href="#folded_'.$plugin_folded_count.'">';
> +                if ($this->getConf('unfold_default')) {
> +                    $renderer->doc .= '<a class="folder open"
> href="#folded_'.$plugin_folded_count.'">';
> +                } else {
> +                    $renderer->doc .= '<a class="folder"
> href="#folded_'.$plugin_folded_count.'">';
> +                }
>
>                  if ($cdata)
>                      $renderer->doc .= ' '.$renderer->cdata($cdata);
>
> -                $renderer->doc .= '</a><span class="folded hidden"
> id="folded_'.$plugin_folded_count.'">';
> +                if ($this->getConf('unfold_default')) {
> +                    $renderer->doc .= '</a><span class="folded"
> id="folded_'.$plugin_folded_count.'">';
> +                } else {
> +                    $renderer->doc .= '</a><span class="folded hidden"
> id="folded_'.$plugin_folded_count.'">';
> +                }
>                  break;
>
>                case DOKU_LEXER_UNMATCHED:
>
> --
>
>
> --
http://andywilliams.me
http://ajwillia.ms
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to