Fixed broken/missing encoding of meta tag values
authorMarcel Werk <burntime@woltlab.com>
Fri, 11 Jul 2014 09:31:11 +0000 (11:31 +0200)
committerMarcel Werk <burntime@woltlab.com>
Fri, 11 Jul 2014 09:31:11 +0000 (11:31 +0200)
wcfsetup/install/files/lib/system/MetaTagHandler.class.php

index d4fc9bd039f117d75f611895ffaf6770292a1cf9..d8dc2f3d77b034a21936851a9b381c22cb979c75 100644 (file)
@@ -25,12 +25,6 @@ class MetaTagHandler extends SingletonFactory implements \Countable, \Iterator {
         */
        protected $indexToObject = null;
        
-       /**
-        * regex object
-        * @var \wcf\system\Regex;
-        */
-       protected $regex = null;
-       
        /**
         * list of meta tags
         * @var array
@@ -41,8 +35,6 @@ class MetaTagHandler extends SingletonFactory implements \Countable, \Iterator {
         * @see \wcf\system\SingletonFactory::init()
         */
        protected function init() {
-               $this->regex = new Regex('^https?://');
-               
                // set default tags
                $this->addTag('description', 'description', WCF::getLanguage()->get(META_DESCRIPTION));
                $this->addTag('keywords', 'keywords', WCF::getLanguage()->get(META_KEYWORDS));
@@ -58,10 +50,6 @@ class MetaTagHandler extends SingletonFactory implements \Countable, \Iterator {
         * @param       boolean         $isProperty
         */
        public function addTag($identifier, $name, $value, $isProperty = false) {
-               if (!$this->regex->match($value)) {
-                       $value = StringUtil::encodeHTML($value);
-               }
-               
                if (!isset($this->objects[$identifier])) {
                        $this->indexToObject[] = $identifier;
                }
@@ -104,7 +92,7 @@ class MetaTagHandler extends SingletonFactory implements \Countable, \Iterator {
        public function current() {
                $tag = $this->objects[$this->indexToObject[$this->index]];
                
-               return '<meta ' . ($tag['isProperty'] ? 'property' : 'name') . '="' . $tag['name'] . '" content="' . $tag['value'] . '" />';
+               return '<meta ' . ($tag['isProperty'] ? 'property' : 'name') . '="' . $tag['name'] . '" content="' . StringUtil::encodeHTML($tag['value']) . '" />';
        }
        
        /**
@@ -138,4 +126,3 @@ class MetaTagHandler extends SingletonFactory implements \Countable, \Iterator {
                return isset($this->indexToObject[$this->index]);
        }
 }
-