Source for file head.php
Documentation is available at head.php
* @package Joomla.Platform
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
* JDocument head renderer
* @package Joomla.Platform
* Renders the document head and returns the results as a string
* @param string $head (unused)
* @param array $params Associative array of values
* @param string $content The script
* @return string The output of the script
* @note Unused arguments are retained to preserve backward compatibility.
public function render($head, $params =
array(), $content =
null)
* 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
// Convert the tagids to titles
if (isset
($document->_metaTags['standard']['tags']))
$document->_metaTags['standard']['tags'] =
implode(', ', $tagsHelper->getTagNames($document->_metaTags['standard']['tags']));
// Trigger the onBeforeCompileHead event
$app->triggerEvent('onBeforeCompileHead');
$lnEnd =
$document->_getLineEnd();
$tab =
$document->_getTab();
// Generate charset when using HTML5 (should happen first)
if ($document->isHtml5())
$buffer .=
$tab .
'<meta charset="' .
$document->getCharset() .
'" />' .
$lnEnd;
// Generate base tag (need to happen early)
$base =
$document->getBase();
$buffer .=
$tab .
'<base href="' .
$document->getBase() .
'" />' .
$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 .
'<meta http-equiv="' .
$name .
'" content="' .
htmlspecialchars($content) .
'" />' .
$lnEnd;
elseif ($type ==
'standard' &&
!empty($content))
$buffer .=
$tab .
'<meta name="' .
$name .
'" content="' .
htmlspecialchars($content) .
'" />' .
$lnEnd;
// Don't add empty descriptions
$documentDescription =
$document->getDescription();
if ($documentDescription)
$buffer .=
$tab .
'<meta name="description" content="' .
htmlspecialchars($documentDescription) .
'" />' .
$lnEnd;
// Don't add empty generators
$generator =
$document->getGenerator();
$buffer .=
$tab .
'<meta name="generator" content="' .
htmlspecialchars($generator) .
'" />' .
$lnEnd;
$buffer .=
$tab .
'<title>' .
htmlspecialchars($document->getTitle(), ENT_COMPAT, 'UTF-8') .
'</title>' .
$lnEnd;
// Generate link declarations
foreach ($document->_links as $link =>
$linkAtrr)
$buffer .=
$tab .
'<link href="' .
$link .
'" ' .
$linkAtrr['relType'] .
'="' .
$linkAtrr['relation'] .
'"';
$buffer .=
' />' .
$lnEnd;
// Generate stylesheet links
foreach ($document->_styleSheets as $strSrc =>
$strAttr)
$buffer .=
$tab .
'<link rel="stylesheet" href="' .
$strSrc .
'" type="' .
$strAttr['mime'] .
'"';
$buffer .=
' media="' .
$strAttr['media'] .
'" ';
$buffer .=
$tagEnd .
$lnEnd;
// Generate stylesheet declarations
foreach ($document->_style as $type =>
$content)
$buffer .=
$tab .
'<style type="' .
$type .
'">' .
$lnEnd;
// This is for full XHTML support.
if ($document->_mime !=
'text/html')
$buffer .=
$tab .
$tab .
'<![CDATA[' .
$lnEnd;
$buffer .=
$content .
$lnEnd;
if ($document->_mime !=
'text/html')
$buffer .=
$tab .
$tab .
']]>' .
$lnEnd;
$buffer .=
$tab .
'</style>' .
$lnEnd;
// Generate script file links
foreach ($document->_scripts as $strSrc =>
$strAttr)
$buffer .=
$tab .
'<script src="' .
$strSrc .
'"';
$buffer .=
' type="' .
$strAttr['mime'] .
'"';
$buffer .=
' defer="defer"';
$buffer .=
' async="async"';
$buffer .=
'></script>' .
$lnEnd;
// Generate script declarations
foreach ($document->_script as $type =>
$content)
$buffer .=
$tab .
'<script type="' .
$type .
'">' .
$lnEnd;
// This is for full XHTML support.
if ($document->_mime !=
'text/html')
$buffer .=
$tab .
$tab .
'<![CDATA[' .
$lnEnd;
$buffer .=
$content .
$lnEnd;
if ($document->_mime !=
'text/html')
$buffer .=
$tab .
$tab .
']]>' .
$lnEnd;
$buffer .=
$tab .
'</script>' .
$lnEnd;
// Generate script language declarations.
$buffer .=
$tab .
'<script type="text/javascript">' .
$lnEnd;
$buffer .=
$tab .
$tab .
'(function() {' .
$lnEnd;
$buffer .=
$tab .
$tab .
$tab .
'if (typeof Joomla == \'undefined\') {' .
$lnEnd;
$buffer .=
$tab .
$tab .
$tab .
$tab .
'Joomla = {};' .
$lnEnd;
$buffer .=
$tab .
$tab .
$tab .
$tab .
'Joomla.JText = strings;' .
$lnEnd;
$buffer .=
$tab .
$tab .
$tab .
'}' .
$lnEnd;
$buffer .=
$tab .
$tab .
$tab .
'else {' .
$lnEnd;
$buffer .=
$tab .
$tab .
$tab .
$tab .
'Joomla.JText.load(strings);' .
$lnEnd;
$buffer .=
$tab .
$tab .
$tab .
'}' .
$lnEnd;
$buffer .=
$tab .
$tab .
'})();' .
$lnEnd;
$buffer .=
$tab .
'</script>' .
$lnEnd;
foreach ($document->_custom as $custom)
$buffer .=
$tab .
$custom .
$lnEnd;
Documentation generated on Tue, 19 Nov 2013 15:04:12 +0100 by phpDocumentor 1.4.3