mirror of
https://github.com/moodle/moodle.git
synced 2025-01-19 06:18:28 +01:00
be7f6d4834
Prior to this change, all the line endings in the imported HTMLPurifier library were using CRLF (\r\n aka Windows style), but the HTMLPurifier source and also the downloadable artefacts use LF (\n aka Linux style) as line endings. This has been the case since 510d190382003985eafd6f4407190d43509016a5 when with the commit "MDL-38672 import HTML Purifier 4.5.0" all line endings were changed from LF to CRLF. There was no comment in the commit on why this change was done. As the original source uses LF, this commit partly reverts 510d190382003985eafd6f4407190d43509016a5 and goes back to LF as line endings. Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
58 lines
1.6 KiB
PHP
58 lines
1.6 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Component of HTMLPurifier_AttrContext that accumulates IDs to prevent dupes
|
|
* @note In Slashdot-speak, dupe means duplicate.
|
|
* @note The default constructor does not accept $config or $context objects:
|
|
* use must use the static build() factory method to perform initialization.
|
|
*/
|
|
class HTMLPurifier_IDAccumulator
|
|
{
|
|
|
|
/**
|
|
* Lookup table of IDs we've accumulated.
|
|
* @public
|
|
*/
|
|
public $ids = array();
|
|
|
|
/**
|
|
* Builds an IDAccumulator, also initializing the default blacklist
|
|
* @param HTMLPurifier_Config $config Instance of HTMLPurifier_Config
|
|
* @param HTMLPurifier_Context $context Instance of HTMLPurifier_Context
|
|
* @return HTMLPurifier_IDAccumulator Fully initialized HTMLPurifier_IDAccumulator
|
|
*/
|
|
public static function build($config, $context)
|
|
{
|
|
$id_accumulator = new HTMLPurifier_IDAccumulator();
|
|
$id_accumulator->load($config->get('Attr.IDBlacklist'));
|
|
return $id_accumulator;
|
|
}
|
|
|
|
/**
|
|
* Add an ID to the lookup table.
|
|
* @param string $id ID to be added.
|
|
* @return bool status, true if success, false if there's a dupe
|
|
*/
|
|
public function add($id)
|
|
{
|
|
if (isset($this->ids[$id])) {
|
|
return false;
|
|
}
|
|
return $this->ids[$id] = true;
|
|
}
|
|
|
|
/**
|
|
* Load a list of IDs into the lookup table
|
|
* @param $array_of_ids Array of IDs to load
|
|
* @note This function doesn't care about duplicates
|
|
*/
|
|
public function load($array_of_ids)
|
|
{
|
|
foreach ($array_of_ids as $id) {
|
|
$this->ids[$id] = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
// vim: et sw=4 sts=4
|