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