fetchHead($this->_doc);
$buffer = ob_get_contents();
ob_end_clean();
return $buffer;
}
/**
* Generates the head HTML and return the results as a string
*
* @param JDocument $document The document for which the head will be created
*
* @return string The head hTML
*
* @since 11.1
*/
public function fetchHead($document)
{
// Convert the tagids to titles
if (isset($document->_metaTags['standard']['tags']))
{
$tagsHelper = new JHelperTags;
$document->_metaTags['standard']['tags'] = implode(', ', $tagsHelper->getTagNames($document->_metaTags['standard']['tags']));
}
// Trigger the onBeforeCompileHead event
$app = JFactory::getApplication();
$app->triggerEvent('onBeforeCompileHead');
// Get line endings
$lnEnd = $document->_getLineEnd();
$tab = $document->_getTab();
$tagEnd = ' />';
$buffer = '';
// Generate charset when using HTML5 (should happen first)
if ($document->isHtml5())
{
$buffer .= $tab . '' . $lnEnd;
}
// Generate base tag (need to happen early)
$base = $document->getBase();
if (!empty($base))
{
$buffer .= $tab . '' . $lnEnd;
}
// Generate META tags (needs to happen as early as possible in the head)
foreach ($document->_metaTags as $type => $tag)
{
foreach ($tag as $name => $content)
{
if ($type == 'http-equiv' && !($document->isHtml5() && $name == 'content-type'))
{
$buffer .= $tab . '' . $lnEnd;
}
elseif ($type == 'standard' && !empty($content))
{
$buffer .= $tab . '' . $lnEnd;
}
}
}
// Don't add empty descriptions
$documentDescription = $document->getDescription();
if ($documentDescription)
{
$buffer .= $tab . '' . $lnEnd;
}
// Don't add empty generators
$generator = $document->getGenerator();
if ($generator)
{
$buffer .= $tab . '' . $lnEnd;
}
$buffer .= $tab . '
' . htmlspecialchars($document->getTitle(), ENT_COMPAT, 'UTF-8') . '' . $lnEnd;
// Generate link declarations
foreach ($document->_links as $link => $linkAtrr)
{
$buffer .= $tab . '_styleSheets as $strSrc => $strAttr)
{
$buffer .= $tab . '_style as $type => $content)
{
$buffer .= $tab . '' . $lnEnd;
}
// Generate script file links
foreach ($document->_scripts as $strSrc => $strAttr)
{
$buffer .= $tab . '' . $lnEnd;
}
// Generate script language declarations.
if (count(JText::script()))
{
$buffer .= $tab . '' . $lnEnd;
}
foreach ($document->_custom as $custom)
{
$buffer .= $tab . $custom . $lnEnd;
}
return $buffer;
}
}