class Horde_Text_Filter
{
/**
- * Filter parameters.
- *
- * @var array
- */
- protected $_params = array();
-
- /**
* Attempts to return a concrete instance based on $driver.
*
* @param mixed $driver The type of concrete subclass to return.
}
/**
- * Constructor.
- *
- * @param array $params Any parameters that the filter instance needs.
- */
- public function __construct($params = array())
- {
- $this->_params = array_merge($this->_params, $params);
- }
-
- /**
* Applies a set of patterns to a block of text.
*
* @param string $text The text to filter.
*
* @return string The transformed text.
*/
- public function filter($text, $filters = array(), $params = array())
+ static public function filter($text, $filters = array(), $params = array())
{
if (!is_array($filters)) {
$filters = array($filters);
return $text;
}
- /**
- * Executes any code necessaray before applying the filter patterns.
- *
- * @param string $text The text before the filtering.
- *
- * @return string The modified text.
- */
- public function preProcess($text)
- {
- return $text;
- }
-
- /**
- * Returns a hash with replace patterns.
- *
- * @return array Patterns hash.
- */
- public function getPatterns()
- {
- return array();
- }
-
- /**
- * Executes any code necessaray after applying the filter patterns.
- *
- * @param string $text The text after the filtering.
- *
- * @return string The modified text.
- */
- public function postProcess($text)
- {
- return $text;
- }
-
}
--- /dev/null
+<?php
+/**
+ * Horde_Text_Filter_Base:: is the parent class for defining a text filter.
+ *
+ * Copyright 1999-2010 The Horde Project (http://www.horde.org/)
+ *
+ * See the enclosed file COPYING for license information (LGPL). If you
+ * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
+ *
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ * @author Jan Schneider <jan@horde.org>
+ * @author Michael Slusarz <slusarz@horde.org>
+ * @package Horde_Text_Filter
+ */
+class Horde_Text_Filter_Base
+{
+ /**
+ * Filter parameters.
+ *
+ * @var array
+ */
+ protected $_params = array();
+
+ /**
+ * Constructor.
+ *
+ * @param array $params Any parameters that the filter instance needs.
+ */
+ public function __construct($params = array())
+ {
+ $this->_params = array_merge($this->_params, $params);
+ }
+
+ /**
+ * Executes any code necessaray before applying the filter patterns.
+ *
+ * @param string $text The text before the filtering.
+ *
+ * @return string The modified text.
+ */
+ public function preProcess($text)
+ {
+ return $text;
+ }
+
+ /**
+ * Returns a hash with replace patterns.
+ *
+ * @return array Patterns hash.
+ */
+ public function getPatterns()
+ {
+ return array();
+ }
+
+ /**
+ * Executes any code necessaray after applying the filter patterns.
+ *
+ * @param string $text The text after the filtering.
+ *
+ * @return string The modified text.
+ */
+ public function postProcess($text)
+ {
+ return $text;
+ }
+
+}
* @author Carlos Pedrinaci <cpedrinaci@yahoo.es>
* @package Horde_Text_Filter
*/
-class Horde_Text_Filter_Bbcode extends Horde_Text_Filter
+class Horde_Text_Filter_Bbcode extends Horde_Text_Filter_Base
{
/**
* Filter parameters.
* @author Jan Schneider <jan@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Cleanascii extends Horde_Text_Filter
+class Horde_Text_Filter_Cleanascii extends Horde_Text_Filter_Base
{
/**
* Executes any code necessary before applying the filter patterns.
* @author Michael Slusarz <jan@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Cleanhtml extends Horde_Text_Filter
+class Horde_Text_Filter_Cleanhtml extends Horde_Text_Filter_Base
{
/**
* Filter parameters.
* @author Jan Schneider <jan@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Dimsignature extends Horde_Text_Filter
+class Horde_Text_Filter_Dimsignature extends Horde_Text_Filter_Base
{
/**
* Executes any code necessary after applying the filter patterns.
* @author Jan Schneider <jan@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Emails extends Horde_Text_Filter
+class Horde_Text_Filter_Emails extends Horde_Text_Filter_Base
{
/**
* Filter parameters.
* @author Marko Djukic <marko@oblo.com>
* @package Horde_Text
*/
-class Horde_Text_Filter_Emoticons extends Horde_Text_Filter
+class Horde_Text_Filter_Emoticons extends Horde_Text_Filter_Base
{
/**
* Filter parameters.
* @author Jan Schneider <jan@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Environment extends Horde_Text_Filter
+class Horde_Text_Filter_Environment extends Horde_Text_Filter_Base
{
/**
* Returns a hash with replace patterns.
* @author Jan Schneider <jan@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Highlightquotes extends Horde_Text_Filter
+class Horde_Text_Filter_Highlightquotes extends Horde_Text_Filter_Base
{
/**
* Filter parameters.
* @author Michael Slusarz <slusarz@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Html2text extends Horde_Text_Filter
+class Horde_Text_Filter_Html2text extends Horde_Text_Filter_Base
{
/**
* The list of links contained in the message.
* @author Michael Slusarz <slusarz@horde.org>
* @package Horde_Text_Filter
*/
-class Horde_Text_Filter_JavascriptMinify extends Horde_Text_Filter
+class Horde_Text_Filter_JavascriptMinify extends Horde_Text_Filter_Base
{
/**
* Filter parameters.
* @author Jan Schneider <jan@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Linkurls extends Horde_Text_Filter
+class Horde_Text_Filter_Linkurls extends Horde_Text_Filter_Base
{
/**
* Filter parameters.
* @author Jan Schneider <jan@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Simplemarkup extends Horde_Text_Filter
+class Horde_Text_Filter_Simplemarkup extends Horde_Text_Filter_Base
{
/**
* Returns a hash with replace patterns.
* @author Mathieu Arnold <mat@mat.cc>
* @package Horde_Text
*/
-class Horde_Text_Filter_Space2html extends Horde_Text_Filter
+class Horde_Text_Filter_Space2html extends Horde_Text_Filter_Base
{
/**
* Filter parameters.
* @author Chuck Hagenbuch <chuck@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Tabs2spaces extends Horde_Text_Filter
+class Horde_Text_Filter_Tabs2spaces extends Horde_Text_Filter_Base
{
/**
* Filter parameters.
* @author Jan Schneider <jan@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Text2html extends Horde_Text_Filter
+class Horde_Text_Filter_Text2html extends Horde_Text_Filter_Base
{
const PASSTHRU = 0;
const SYNTAX = 1;
if ($this->_params['parselevel'] < self::MICRO_LINKURL) {
$filters['emails'] = array('encode' => true);
}
- $text = parent::filter($text, array_keys($filters), array_values($filters));
+ $text = Horde_Text_Filter::filter($text, array_keys($filters), array_values($filters));
}
/* For level MICRO or NOHTML, start with htmlspecialchars(). */
$text = Horde_Text_Filter_Emails::decode($text);
}
- $text = parent::filter($text, 'space2html');
+ $text = Horde_Text_Filter::filter($text, 'space2html');
}
/* Do the newline ---> <br /> substitution. Everybody gets this; if
* @author Jan Schneider <jan@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Words extends Horde_Text_Filter
+class Horde_Text_Filter_Words extends Horde_Text_Filter_Base
{
/**
* Filter parameters.
* @author Jan Schneider <jan@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Xss extends Horde_Text_Filter
+class Horde_Text_Filter_Xss extends Horde_Text_Filter_Base
{
/**
* Filter parameters.
<dir name="Horde">
<dir name="Text">
<dir name="Filter">
+ <file name="Base.php" role="php" />
<file name="Bbcode.php" role="php" />
<file name="Cleanascii.php" role="php" />
<file name="Cleanhtml.php" role="php" />
<min>1.5.4</min>
</pearinstaller>
<package>
+ <name>Core</name>
+ <channel>pear.horde.org</channel>
+ </package>
+ <package>
<name>Util</name>
<channel>pear.horde.org</channel>
</package>
</dependencies>
<phprelease>
<filelist>
+ <install name="lib/Horde/Text/Filter/Base.php" as="Horde/Text/Filter/Base.php" />
<install name="lib/Horde/Text/Filter/Bbcode.php" as="Horde/Text/Filter/Bbcode.php" />
<install name="lib/Horde/Text/Filter/Cleanascii.php" as="Horde/Text/Filter/Cleanascii.php" />
<install name="lib/Horde/Text/Filter/Cleanhtml.php" as="Horde/Text/Filter/Cleanhtml.php" />
* @author Michael Slusarz <slusarz@horde.org>
* @package Horde_Text
*/
-class Horde_Text_Filter_Csstidy extends Horde_Text_Filter
+class Horde_Text_Filter_Csstidy extends Horde_Text_Filter_Base
{
/**
* Filter parameters.