| 12345678910111213141516171819202122232425262728293031323334353637383940 | 
							- <?php
 
- /**
 
-  * A "safe" script module. No inline JS is allowed, and pointed to JS
 
-  * files must match whitelist.
 
-  */
 
- class HTMLPurifier_HTMLModule_SafeScripting extends HTMLPurifier_HTMLModule
 
- {
 
-     /**
 
-      * @type string
 
-      */
 
-     public $name = 'SafeScripting';
 
-     /**
 
-      * @param HTMLPurifier_Config $config
 
-      */
 
-     public function setup($config)
 
-     {
 
-         // These definitions are not intrinsically safe: the attribute transforms
 
-         // are a vital part of ensuring safety.
 
-         $allowed = $config->get('HTML.SafeScripting');
 
-         $script = $this->addElement(
 
-             'script',
 
-             'Inline',
 
-             'Optional:', // Not `Empty` to not allow to autoclose the <script /> tag @see https://www.w3.org/TR/html4/interact/scripts.html
 
-             null,
 
-             array(
 
-                 // While technically not required by the spec, we're forcing
 
-                 // it to this value.
 
-                 'type' => 'Enum#text/javascript',
 
-                 'src*' => new HTMLPurifier_AttrDef_Enum(array_keys($allowed), /*case sensitive*/ true)
 
-             )
 
-         );
 
-         $script->attr_transform_pre[] =
 
-         $script->attr_transform_post[] = new HTMLPurifier_AttrTransform_ScriptRequired();
 
-     }
 
- }
 
- // vim: et sw=4 sts=4
 
 
  |