[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/var/www/se3/includes/library/HTMLPurifier/AttrTransform/ -> NameSync.php (source)

   1  <?php
   2  
   3  /**
   4   * Post-transform that performs validation to the name attribute; if
   5   * it is present with an equivalent id attribute, it is passed through;
   6   * otherwise validation is performed.
   7   */
   8  class HTMLPurifier_AttrTransform_NameSync extends HTMLPurifier_AttrTransform
   9  {
  10  
  11      public function __construct()
  12      {
  13          $this->idDef = new HTMLPurifier_AttrDef_HTML_ID();
  14      }
  15  
  16      /**
  17       * @param array $attr
  18       * @param HTMLPurifier_Config $config
  19       * @param HTMLPurifier_Context $context
  20       * @return array
  21       */
  22      public function transform($attr, $config, $context)
  23      {
  24          if (!isset($attr['name'])) {
  25              return $attr;
  26          }
  27          $name = $attr['name'];
  28          if (isset($attr['id']) && $attr['id'] === $name) {
  29              return $attr;
  30          }
  31          $result = $this->idDef->validate($name, $config, $context);
  32          if ($result === false) {
  33              unset($attr['name']);
  34          } else {
  35              $attr['name'] = $result;
  36          }
  37          return $attr;
  38      }
  39  }
  40  
  41  // vim: et sw=4 sts=4


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1