/usr/share/php/Horde/Text/Filter/Words.php is in php-horde-text-filter 2.3.3-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | <?php
/**
* Copyright 2004-2016 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
* @category Horde
* @copyright 2004-2016 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Text_Filter
*/
/**
* Filters the given text based on the words found in a word list.
*
* Parameters:
* - replacement: (string) The replacement string. Defaults to "*****".
* - words: (array) List of words to replace. (Since 2.1.0)
* - words_file: (string) Filename containing the words to replace.
*
* @author Jan Schneider <jan@horde.org>
* @category Horde
* @copyright 2004-2016 Horde LLC
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Text_Filter
*/
class Horde_Text_Filter_Words extends Horde_Text_Filter_Base
{
/**
* Filter parameters.
*
* @var array
*/
protected $_params = array(
'replacement' => '*****'
);
/**
* Returns a hash with replace patterns.
*
* @return array Patterns hash.
*/
public function getPatterns()
{
$regexp = $words = array();
if (isset($this->_params['words_file']) &&
is_readable($this->_params['words_file'])) {
/* Read the file and iterate through the lines. */
$lines = file($this->_params['words_file']);
foreach ($lines as $line) {
/* Strip whitespace and comments. */
$words[] = preg_replace('|#.*$|', '', trim($line));
}
}
if (isset($this->_params['words'])) {
$words = array_merge(
$words,
array_map('trim', $this->_params['words'])
);
}
foreach ($words as $val) {
if (strlen($val)) {
$regexp["/(\b(\w*)$val\b|\b$val(\w*)\b)/i"] = $this->_getReplacement($val);
}
}
return array('regexp' => $regexp);
}
/**
* Returns a hash with replace patterns.
*
* @return array Patterns hash.
*/
protected function _getReplacement($line)
{
return $this->_params['replacement']
? $this->_params['replacement']
:substr($line, 0, 1) . str_repeat('*', strlen($line) - 1);
}
}
|