mirror of
https://github.com/smogon/pokemon-showdown-client.git
synced 2026-03-22 10:05:46 -05:00
Closes #1567 The main reason I'm not simply merging Annika's PR is because this way makes it clearer that I'm taking responsibility for all this code, that it's mostly code I wrote, and also because it makes it easier to ensure that none of the files have been changed. (Not that I don't personally trust Annika, but I have something resembling an obligation to users not to expose them to risks based on personal trust.)
51 lines
1.3 KiB
PHP
51 lines
1.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Super-class for definition datatype objects, implements serialization
|
|
* functions for the class.
|
|
*/
|
|
abstract class HTMLPurifier_Definition
|
|
{
|
|
|
|
/**
|
|
* Has setup() been called yet?
|
|
*/
|
|
public $setup = false;
|
|
|
|
/**
|
|
* If true, write out the final definition object to the cache after
|
|
* setup. This will be true only if all invocations to get a raw
|
|
* definition object are also optimized. This does not cause file
|
|
* system thrashing because on subsequent calls the cached object
|
|
* is used and any writes to the raw definition object are short
|
|
* circuited. See enduser-customize.html for the high-level
|
|
* picture.
|
|
*/
|
|
public $optimized = null;
|
|
|
|
/**
|
|
* What type of definition is it?
|
|
*/
|
|
public $type;
|
|
|
|
/**
|
|
* Sets up the definition object into the final form, something
|
|
* not done by the constructor
|
|
* @param $config HTMLPurifier_Config instance
|
|
*/
|
|
abstract protected function doSetup($config);
|
|
|
|
/**
|
|
* Setup function that aborts if already setup
|
|
* @param $config HTMLPurifier_Config instance
|
|
*/
|
|
public function setup($config) {
|
|
if ($this->setup) return;
|
|
$this->setup = true;
|
|
$this->doSetup($config);
|
|
}
|
|
|
|
}
|
|
|
|
// vim: et sw=4 sts=4
|