bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/website/www.git/commit/?id=c8cab04139f93b35525ce4f8ffd00069ac473a26

commit c8cab04139f93b35525ce4f8ffd00069ac473a26
Author: Marcel Hollerbach <[email protected]>
Date:   Thu Oct 3 17:47:29 2019 +0200

    pagetitle: remove action.php
    
    this file has some logic in it that causes caches to be invalidated and
    purged. With this commit things are quite fast.
---
 public_html/lib/plugins/pagetitle/action.php | 142 ---------------------------
 1 file changed, 142 deletions(-)

diff --git a/public_html/lib/plugins/pagetitle/action.php 
b/public_html/lib/plugins/pagetitle/action.php
deleted file mode 100644
index 9c00b388..00000000
--- a/public_html/lib/plugins/pagetitle/action.php
+++ /dev/null
@@ -1,142 +0,0 @@
-<?php
-/**
- * DokuWiki Plugin PageTitle; Action component
- *
- * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
- * @author     Satoshi Sahara <[email protected]>
- */
-
-if(!defined('DOKU_INC')) die();
-
-class action_plugin_pagetitle extends DokuWiki_Action_Plugin {
-
-    /**
-     * register the event handlers
-     */
-    function register(Doku_Event_Handler $controller) {
-      //$controller->register_hook('DOKUWIKI_STARTED', 'BEFORE', $this, 
'deleteObsoletedSingleClass');
-        $controller->register_hook('INDEXER_VERSION_GET', 'BEFORE', $this, 
'_indexer_version');
-        $controller->register_hook('INDEXER_PAGE_ADD', 'BEFORE', $this, 
'_indexer_pagetitle');
-        $controller->register_hook('PARSER_METADATA_RENDER', 'AFTER', $this, 
'_parser_render');
-        $controller->register_hook('PARSER_CACHE_USE', 'BEFORE', $this, 
'_prepare_cache');
-    }
-
-    /**
-     * Delete syntax.php which is obsoleted since multi-components syntax 
structure
-     */
-    function deleteObsoletedSingleClass(Doku_Event $event) {
-        $legacyFile = dirname(__FILE__).'/syntax.php';
-        if (file_exists($legacyFile)) { unlink($legacyFile); }
-    }
-
-
-    /**
-     * INDEXER_VERSION_GET
-     * Set a version string to the metadata index so that
-     * the index will be re-created when the version increased
-     */
-    function _indexer_version(Doku_Event $event, $param) {
-        $event->data['plgin_pagetitle'] = '1.'.$this->getConf('usePersistent');
-    }
-
-    /**
-     * INDEXER_PAGE_ADD
-     * Add id of the page to metadata index, relevant pages should be found
-     * in data/index/plugin_pagetitle_w.idx file
-     */
-    function _indexer_pagetitle(Doku_Event $event, $param) {
-        $id = p_get_metadata($event->data['page'], 'plugin pagetitle');
-        if ($id) {
-            $event->data['metadata']['plugin_pagetitle'] = $id;
-        }
-    }
-
-
-    /**
-     * PAESER_METADATA_RENDER
-     * Use this event to update/reflesh metadata they may have set elseware.
-     * The page metadata is passed including both the current and persistent 
arrays.
-     */
-    function _parser_render(Doku_Event $event, $param) {
-        global $ID;
-
-        /*
-         * The PageTitle plugin will overwrite "title" metadata of the page
-         * with "pagetitle" specified in page source. The page must be rendered
-         * first in xhtml mode to get pagetitle and to stote it on metadata
-         * storage.
-         
-         * Each metadata storage (.meta file) may be expired or refleshed by
-         * DokuWiki or any plugins at elsewhere in any stage. For example,
-         * metadata will be expired when main config modified. DokuWiki will 
set
-         * again title metadata through calls p_get_first_heading() depending 
on
-         * $conf['useheading"] setting.
-         *
-         * Since page text is not changed, instruction and xhtml cache files 
are
-         * used to set title metadata, there is no chance to handle/render page
-         * source to get pagetitle and to overwite title metadata.
-         * Therfore, the value of "title" metadata will remain wrong with that
-         * pagetitle plugin intended.
-         *
-         * For the purpose to trigger PageTitle plugin's renderer, we 
tentatively
-         * set $ID as "title" to tell DokuWiki caching mechanism so that old
-         * cache need to be purged and metadata must be rebuild again.
-         */
-
-        $meta       =& $event->data['current'];
-        $persistent =& $event->data['persistent'];
-
-        // check metadata index whether pagetitle had used in the wiki page
-        $pages = idx_get_indexer()->getPages('plugin_pagetitle');
-        $pageTitled = in_array($ID, $pages);
-
-        if (!$pageTitled) return;
-
-        // check whether page has rendered by pagetitle plugin
-        if (!isset($meta['plugin']['pagetitle'])) {
-            // tentatively assign full id as page title, just to distinguish
-            // with normal setting noNS($ID) and to purge .meta file later
-            $meta['title'] = $ID;
-        }
-
-        // unnecessary persistent metadata should be removed in syntax 
component,
-        // however it may be possible to remove it here
-        if (!$this->getConf('usePersistent')) {
-            unset($persistent['title']);
-        }
-    }
-
-    /**
-     * PARSER_CACHE_USE
-     * prepare the cache object for default _useCache action
-     */
-    function _prepare_cache(Doku_Event $event, $param) {
-        $cache =& $event->data;
-
-        // we're only interested in wiki pages
-        if (!isset($cache->page)) return;
-
-        // check metadata index whether pagetitle had used in the wiki page
-        $pages = idx_get_indexer()->getPages('plugin_pagetitle');
-        $pageTitled = in_array($cache->page, $pages);
-
-        if (!$pageTitled) return;
-
-        // check title metadata whether cache files should be purged
-        $title = p_get_metadata($cache->page, 'title', METADATA_DONT_RENDER);
-        switch ($cache->mode) {
-            case 'metadata': // metadata cache?
-                $request = ($title == $cache->page) ? true : false;
-                break;
-            case 'i': // instruction cache
-                $request = ($title == $cache->page) ? true : false;
-                break;
-            case 'xhtml': // xhtml cache
-                $request = ($title == $cache->page) ? true : false;
-                break;
-        }
-        // request purge if necessary
-        $cache->depends['purge'] = $request;
-    }
-
-}

-- 


Reply via email to