/** * Parses head contents * * @param DOMNode $node * @return void */ private function parseHead(DOMNode $node) { if ($node->hasChildNodes()) { $nList = $node->childNodes; foreach ($nList as $n) { if ($n->nodeName == self::REMOVE) { if ($key = $n->getAttribute('key')) { if (array_key_exists($key, $this->headData)) { unset($this->headData[$key]); } else { } } } else { if ($n->nodeName == self::TITLE) { if ($n->getAttribute('type') == 'append') { Fox::getHelper('core/head')->addTitle($n->nodeValue, TRUE); } else { if ($n->getAttribute('type') == 'prepend') { Fox::getHelper('core/head')->addTitle($n->nodeValue, FALSE); } else { Fox::getHelper('core/head')->setTitle($n->nodeValue); } } } else { if ($n->nodeName == self::META_DESCRIPTION) { if ($n->getAttribute('type') == 'append') { Fox::getHelper('core/head')->addMetaDescription($n->nodeValue, TRUE); } else { if ($n->getAttribute('type') == 'prepend') { Fox::getHelper('core/head')->addMetaDescription($n->nodeValue, FALSE); } else { Fox::getHelper('core/head')->setMetaDescription($n->nodeValue); } } } else { if ($n->nodeName == self::META_KEYWORD) { if ($n->getAttribute('type') == 'append') { Fox::getHelper('core/head')->addMetaKeywords($n->nodeValue, TRUE); } else { if ($n->getAttribute('type') == 'prepend') { Fox::getHelper('core/head')->addMetaKeywords($n->nodeValue, FALSE); } else { Fox::getHelper('core/head')->setMetaKeywords($n->nodeValue); } } } else { if ($n->hasAttributes()) { if ($n->nodeName == self::SCRIPT) { $n->appendChild($n->ownerDocument->createTextNode('')); $kSrc = 'src'; } else { $kSrc = 'href'; } $nSrc = $n->getAttribute($kSrc); if ($n->hasAttribute(self::_GLOBAL)) { $n->setAttribute($kSrc, Fox::getSiteUrl() . $nSrc); $n->removeAttribute(self::_GLOBAL); } else { $n->setAttribute($kSrc, Fox::getThemeUrl($nSrc)); } if ($nSrc) { $this->headData[$nSrc] = array('type' => $kSrc, 'node' => $n); } else { $this->headData[] = array('type' => $kSrc, 'node' => $n); } } } } } } } } }