From 1843bbd051a3e72e7180cf0851f53d4cebb4853f Mon Sep 17 00:00:00 2001
From: Andreas Gohr <gohr@cosmocode.de>
Date: Wed, 22 Jan 2014 10:07:21 +0100
Subject: [PATCH] rename render() to render_text() in Doku_Plugin. #496

---
 inc/plugin.php | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/inc/plugin.php b/inc/plugin.php
index dccd37bd9..95bdaee2b 100644
--- a/inc/plugin.php
+++ b/inc/plugin.php
@@ -238,11 +238,36 @@ class DokuWiki_Plugin {
         return "<a href='$link'$class$target$more>$title</a>";
     }
 
+    /**
+     * A fallback to provide access to the old render() method
+     *
+     * Since syntax plugins provide their own render method with a different signature and they now
+     * inherit from Doku_Plugin we can no longer have a render() method here (Strict Standards Violation).
+     * Instead use render_text()
+     *
+     * @deprecated 2014-01-22
+     * @param $name
+     * @param $arguments
+     * @return null|string
+     */
+    function __call($name, $arguments) {
+        if($name == 'render'){
+            if(!isset($arguments[1])) $arguments[1] = 'xhtml';
+            return $this->render_text($arguments[0], $arguments[1]);
+        }
+        trigger_error("no such method $name", E_ERROR);
+        return null;
+    }
+
     /**
      * output text string through the parser, allows dokuwiki markup to be used
      * very ineffecient for small pieces of data - try not to use
+     *
+     * @param string $text wiki markup to parse
+     * @param string $format output format
+     * @return null|string
      */
-    function render($text, $format='xhtml') {
+    function render_text($text, $format='xhtml') {
         return p_render($format, p_get_instructions($text),$info);
     }
 
-- 
GitLab