diff -r f0431eb8161e -r 98c052fc3337 includes/wikiengine/Render.php --- a/includes/wikiengine/Render.php Sun Jun 21 00:16:21 2009 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,217 +0,0 @@ - - * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1 - * @version CVS: $Id: Render.php,v 1.9 2006/02/17 05:42:55 toggg Exp $ - * @link http://pear.php.net/package/Text_Wiki - */ - -/** - * Base rendering class for parsed and tokenized text. - * - * @category Text - * @package Text_Wiki - * @author Paul M. Jones - * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1 - * @version Release: @package_version@ - * @link http://pear.php.net/package/Text_Wiki - */ -class Text_Wiki_Render { - - - /** - * - * Configuration options for this render rule. - * - * @access public - * - * @var string - * - */ - - var $conf = array(); - - - /** - * - * The name of this rule's format. - * - * @access public - * - * @var string - * - */ - - var $format = null; - - - /** - * - * The name of this rule's token array elements. - * - * @access public - * - * @var string - * - */ - - var $rule = null; - - - /** - * - * A reference to the calling Text_Wiki object. - * - * This is needed so that each rule has access to the same source - * text, token set, URLs, interwiki maps, page names, etc. - * - * @access public - * - * @var object - */ - - var $wiki = null; - - - /** - * - * Constructor for this render format or rule. - * - * @access public - * - * @param object &$obj The calling "parent" Text_Wiki object. - * - */ - - function Text_Wiki_Render(&$obj) - { - // keep a reference to the calling Text_Wiki object - $this->wiki =& $obj; - - // get the config-key-name for this object, - // strip the Text_Wiki_Render_ part - // 01234567890123456 - $tmp = get_class($this); - $tmp = substr($tmp, 17); - - // split into pieces at the _ mark. - // first part is format, second part is rule. - $part = explode('_', $tmp); - $this->format = isset($part[0]) ? ucwords(strtolower($part[0])) : null; - $this->rule = isset($part[1]) ? ucwords(strtolower($part[1])) : null; - - // is there a format but no rule? - // then this is the "main" render object, with - // pre() and post() methods. - if ($this->format && ! $this->rule && - isset($this->wiki->formatConf[$this->format]) && - is_array($this->wiki->formatConf[$this->format])) { - - // this is a format render object - $this->conf = array_merge( - $this->conf, - $this->wiki->formatConf[$this->format] - ); - - } - - // is there a format and a rule? - if ($this->format && $this->rule && - isset($this->wiki->renderConf[$this->format][$this->rule]) && - is_array($this->wiki->renderConf[$this->format][$this->rule])) { - - // this is a rule render object - $this->conf = array_merge( - $this->conf, - $this->wiki->renderConf[$this->format][$this->rule] - ); - } - } - - - /** - * - * Simple method to safely get configuration key values. - * - * @access public - * - * @param string $key The configuration key. - * - * @param mixed $default If the key does not exist, return this value - * instead. - * - * @return mixed The configuration key value (if it exists) or the - * default value (if not). - * - */ - - function getConf($key, $default = null) - { - if (isset($this->conf[$key])) { - return $this->conf[$key]; - } else { - return $default; - } - } - - - /** - * - * Simple method to wrap a configuration in an sprintf() format. - * - * @access public - * - * @param string $key The configuration key. - * - * @param string $format The sprintf() format string. - * - * @return mixed The formatted configuration key value (if it exists) - * or null (if it does not). - * - */ - - function formatConf($format, $key) - { - if (isset($this->conf[$key])) { - return sprintf($format, $this->conf[$key]); - } else { - return null; - } - } - - /** - * Default method to render url - * - * @access public - * @param string $urlChunk a part of an url to render - * @return rendered url - * - */ - - function urlEncode($urlChunk) - { - return rawurlencode($urlChunk); - } - - /** - * Default method to render text (htmlspecialchars) - * - * @access public - * @param string $text the text to render - * @return rendered text - * - */ - - function textEncode($text) - { - return htmlspecialchars($text); - } -} -?>