--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/web/lib/Zend/Markup.php Fri Mar 11 15:05:35 2011 +0100
@@ -0,0 +1,134 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category Zend
+ * @package Zend_Markup
+ * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ * @version $Id: Markup.php 20277 2010-01-14 14:17:12Z kokx $
+ */
+
+/**
+ * @see Zend_Loader_PluginLoader
+ */
+require_once 'Zend/Loader/PluginLoader.php';
+
+/**
+ * @category Zend
+ * @package Zend_Markup
+ * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license http://framework.zend.com/license/new-bsd New BSD License
+ */
+class Zend_Markup
+{
+ const CALLBACK = 'callback';
+ const REPLACE = 'replace';
+
+
+ /**
+ * The parser loader
+ *
+ * @var Zend_Loader_PluginLoader
+ */
+ protected static $_parserLoader;
+
+ /**
+ * The renderer loader
+ *
+ * @var Zend_Loader_PluginLoader
+ */
+ protected static $_rendererLoader;
+
+
+ /**
+ * Disable instantiation of Zend_Markup
+ */
+ private function __construct() { }
+
+ /**
+ * Get the parser loader
+ *
+ * @return Zend_Loader_PluginLoader
+ */
+ public static function getParserLoader()
+ {
+ if (!(self::$_parserLoader instanceof Zend_Loader_PluginLoader)) {
+ self::$_parserLoader = new Zend_Loader_PluginLoader(array(
+ 'Zend_Markup_Parser' => 'Zend/Markup/Parser/',
+ ));
+ }
+
+ return self::$_parserLoader;
+ }
+
+ /**
+ * Get the renderer loader
+ *
+ * @return Zend_Loader_PluginLoader
+ */
+ public static function getRendererLoader()
+ {
+ if (!(self::$_rendererLoader instanceof Zend_Loader_PluginLoader)) {
+ self::$_rendererLoader = new Zend_Loader_PluginLoader(array(
+ 'Zend_Markup_Renderer' => 'Zend/Markup/Renderer/',
+ ));
+ }
+
+ return self::$_rendererLoader;
+ }
+
+ /**
+ * Add a parser path
+ *
+ * @param string $prefix
+ * @param string $path
+ * @return Zend_Loader_PluginLoader
+ */
+ public static function addParserPath($prefix, $path)
+ {
+ return self::getParserLoader()->addPrefixPath($prefix, $path);
+ }
+
+ /**
+ * Add a renderer path
+ *
+ * @param string $prefix
+ * @param string $path
+ * @return Zend_Loader_PluginLoader
+ */
+ public static function addRendererPath($prefix, $path)
+ {
+ return self::getRendererLoader()->addPrefixPath($prefix, $path);
+ }
+
+ /**
+ * Factory pattern
+ *
+ * @param string $parser
+ * @param string $renderer
+ * @param array $options
+ * @return Zend_Markup_Renderer_RendererAbstract
+ */
+ public static function factory($parser, $renderer = 'Html', array $options = array())
+ {
+ $parserClass = self::getParserLoader()->load($parser);
+ $rendererClass = self::getRendererLoader()->load($renderer);
+
+ $parser = new $parserClass();
+ $options['parser'] = $parser;
+ $renderer = new $rendererClass($options);
+
+ return $renderer;
+ }
+}