You've already forked joomla_test
first commit
This commit is contained in:
36
libraries/joomla/document/html/renderer/component.php
Normal file
36
libraries/joomla/document/html/renderer/component.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Platform
|
||||
* @subpackage Document
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
/**
|
||||
* Component renderer
|
||||
*
|
||||
* @package Joomla.Platform
|
||||
* @subpackage Document
|
||||
* @since 11.1
|
||||
*/
|
||||
class JDocumentRendererComponent extends JDocumentRenderer
|
||||
{
|
||||
/**
|
||||
* Renders a component script and returns the results as a string
|
||||
*
|
||||
* @param string $component The name of the component to render
|
||||
* @param array $params Associative array of values
|
||||
* @param string $content Content script
|
||||
*
|
||||
* @return string The output of the script
|
||||
*
|
||||
* @since 11.1
|
||||
*/
|
||||
public function render($component = null, $params = array(), $content = null)
|
||||
{
|
||||
return $content;
|
||||
}
|
||||
}
|
228
libraries/joomla/document/html/renderer/head.php
Normal file
228
libraries/joomla/document/html/renderer/head.php
Normal file
@ -0,0 +1,228 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Platform
|
||||
* @subpackage Document
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
/**
|
||||
* JDocument head renderer
|
||||
*
|
||||
* @package Joomla.Platform
|
||||
* @subpackage Document
|
||||
* @since 11.1
|
||||
*/
|
||||
class JDocumentRendererHead extends JDocumentRenderer
|
||||
{
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
* @since 11.1
|
||||
*
|
||||
* @note Unused arguments are retained to preserve backward compatibility.
|
||||
*/
|
||||
public function render($head, $params = array(), $content = null)
|
||||
{
|
||||
ob_start();
|
||||
echo $this->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 . '<meta charset="' . $document->getCharset() . '" />' . $lnEnd;
|
||||
}
|
||||
|
||||
// Generate base tag (need to happen early)
|
||||
$base = $document->getBase();
|
||||
if (!empty($base))
|
||||
{
|
||||
$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();
|
||||
if ($generator)
|
||||
{
|
||||
$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'] . '"';
|
||||
if ($temp = JArrayHelper::toString($linkAtrr['attribs']))
|
||||
{
|
||||
$buffer .= ' ' . $temp;
|
||||
}
|
||||
$buffer .= ' />' . $lnEnd;
|
||||
}
|
||||
|
||||
// Generate stylesheet links
|
||||
foreach ($document->_styleSheets as $strSrc => $strAttr)
|
||||
{
|
||||
$buffer .= $tab . '<link rel="stylesheet" href="' . $strSrc . '" type="' . $strAttr['mime'] . '"';
|
||||
if (!is_null($strAttr['media']))
|
||||
{
|
||||
$buffer .= ' media="' . $strAttr['media'] . '" ';
|
||||
}
|
||||
if ($temp = JArrayHelper::toString($strAttr['attribs']))
|
||||
{
|
||||
$buffer .= ' ' . $temp;
|
||||
}
|
||||
$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;
|
||||
|
||||
// See above note
|
||||
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 . '"';
|
||||
if (!is_null($strAttr['mime']))
|
||||
{
|
||||
$buffer .= ' type="' . $strAttr['mime'] . '"';
|
||||
}
|
||||
if ($strAttr['defer'])
|
||||
{
|
||||
$buffer .= ' defer="defer"';
|
||||
}
|
||||
if ($strAttr['async'])
|
||||
{
|
||||
$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;
|
||||
|
||||
// See above note
|
||||
if ($document->_mime != 'text/html')
|
||||
{
|
||||
$buffer .= $tab . $tab . ']]>' . $lnEnd;
|
||||
}
|
||||
$buffer .= $tab . '</script>' . $lnEnd;
|
||||
}
|
||||
|
||||
// Generate script language declarations.
|
||||
if (count(JText::script()))
|
||||
{
|
||||
$buffer .= $tab . '<script type="text/javascript">' . $lnEnd;
|
||||
$buffer .= $tab . $tab . '(function() {' . $lnEnd;
|
||||
$buffer .= $tab . $tab . $tab . 'var strings = ' . json_encode(JText::script()) . ';' . $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;
|
||||
}
|
||||
|
||||
return $buffer;
|
||||
}
|
||||
}
|
1
libraries/joomla/document/html/renderer/index.html
Normal file
1
libraries/joomla/document/html/renderer/index.html
Normal file
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
129
libraries/joomla/document/html/renderer/message.php
Normal file
129
libraries/joomla/document/html/renderer/message.php
Normal file
@ -0,0 +1,129 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Platform
|
||||
* @subpackage Document
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
/**
|
||||
* JDocument system message renderer
|
||||
*
|
||||
* @package Joomla.Platform
|
||||
* @subpackage Document
|
||||
* @since 11.1
|
||||
*/
|
||||
class JDocumentRendererMessage extends JDocumentRenderer
|
||||
{
|
||||
/**
|
||||
* Renders the error stack and returns the results as a string
|
||||
*
|
||||
* @param string $name Not used.
|
||||
* @param array $params Associative array of values
|
||||
* @param string $content Not used.
|
||||
*
|
||||
* @return string The output of the script
|
||||
*
|
||||
* @since 11.1
|
||||
*/
|
||||
public function render($name, $params = array (), $content = null)
|
||||
{
|
||||
$msgList = $this->getData();
|
||||
$buffer = null;
|
||||
$app = JFactory::getApplication();
|
||||
$chromePath = JPATH_THEMES . '/' . $app->getTemplate() . '/html/message.php';
|
||||
$itemOverride = false;
|
||||
|
||||
if (file_exists($chromePath))
|
||||
{
|
||||
include_once $chromePath;
|
||||
if (function_exists('renderMessage'))
|
||||
{
|
||||
$itemOverride = true;
|
||||
}
|
||||
}
|
||||
|
||||
$buffer = ($itemOverride) ? renderMessage($msgList) : $this->renderDefaultMessage($msgList);
|
||||
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get and prepare system message data for output
|
||||
*
|
||||
* @return array An array contains system message
|
||||
*
|
||||
* @since 12.2
|
||||
*/
|
||||
private function getData()
|
||||
{
|
||||
// Initialise variables.
|
||||
$lists = array();
|
||||
|
||||
// Get the message queue
|
||||
$messages = JFactory::getApplication()->getMessageQueue();
|
||||
|
||||
// Build the sorted message list
|
||||
if (is_array($messages) && !empty($messages))
|
||||
{
|
||||
foreach ($messages as $msg)
|
||||
{
|
||||
if (isset($msg['type']) && isset($msg['message']))
|
||||
{
|
||||
$lists[$msg['type']][] = $msg['message'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $lists;
|
||||
}
|
||||
|
||||
/**
|
||||
* Render the system message if no message template file found
|
||||
*
|
||||
* @param array $msgList An array contains system message
|
||||
*
|
||||
* @return string System message markup
|
||||
*
|
||||
* @since 12.2
|
||||
*/
|
||||
private function renderDefaultMessage($msgList)
|
||||
{
|
||||
// Build the return string
|
||||
$buffer = '';
|
||||
$buffer .= "\n<div id=\"system-message-container\">";
|
||||
|
||||
// If messages exist render them
|
||||
if (is_array($msgList))
|
||||
{
|
||||
$buffer .= "\n<div id=\"system-message\">";
|
||||
foreach ($msgList as $type => $msgs)
|
||||
{
|
||||
$buffer .= "\n<div class=\"alert alert-" . $type . "\">";
|
||||
|
||||
// This requires JS so we should add it trough JS. Progressive enhancement and stuff.
|
||||
$buffer .= "<a class=\"close\" data-dismiss=\"alert\">×</a>";
|
||||
|
||||
if (count($msgs))
|
||||
{
|
||||
$buffer .= "\n<h4 class=\"alert-heading\">" . JText::_($type) . "</h4>";
|
||||
$buffer .= "\n<div>";
|
||||
foreach ($msgs as $msg)
|
||||
{
|
||||
$buffer .= "\n\t\t<p>" . $msg . "</p>";
|
||||
}
|
||||
$buffer .= "\n</div>";
|
||||
}
|
||||
$buffer .= "\n</div>";
|
||||
}
|
||||
$buffer .= "\n</div>";
|
||||
}
|
||||
|
||||
$buffer .= "\n</div>";
|
||||
|
||||
return $buffer;
|
||||
}
|
||||
}
|
110
libraries/joomla/document/html/renderer/module.php
Normal file
110
libraries/joomla/document/html/renderer/module.php
Normal file
@ -0,0 +1,110 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Platform
|
||||
* @subpackage Document
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
/**
|
||||
* JDocument Module renderer
|
||||
*
|
||||
* @package Joomla.Platform
|
||||
* @subpackage Document
|
||||
* @since 11.1
|
||||
*/
|
||||
class JDocumentRendererModule extends JDocumentRenderer
|
||||
{
|
||||
/**
|
||||
* Renders a module script and returns the results as a string
|
||||
*
|
||||
* @param string $module The name of the module to render
|
||||
* @param array $attribs Associative array of values
|
||||
* @param string $content If present, module information from the buffer will be used
|
||||
*
|
||||
* @return string The output of the script
|
||||
*
|
||||
* @since 11.1
|
||||
*/
|
||||
public function render($module, $attribs = array(), $content = null)
|
||||
{
|
||||
if (!is_object($module))
|
||||
{
|
||||
$title = isset($attribs['title']) ? $attribs['title'] : null;
|
||||
|
||||
$module = JModuleHelper::getModule($module, $title);
|
||||
|
||||
if (!is_object($module))
|
||||
{
|
||||
if (is_null($content))
|
||||
{
|
||||
return '';
|
||||
}
|
||||
else
|
||||
{
|
||||
/**
|
||||
* If module isn't found in the database but data has been pushed in the buffer
|
||||
* we want to render it
|
||||
*/
|
||||
$tmp = $module;
|
||||
$module = new stdClass;
|
||||
$module->params = null;
|
||||
$module->module = $tmp;
|
||||
$module->id = 0;
|
||||
$module->user = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Get the user and configuration object
|
||||
// $user = JFactory::getUser();
|
||||
$conf = JFactory::getConfig();
|
||||
|
||||
// Set the module content
|
||||
if (!is_null($content))
|
||||
{
|
||||
$module->content = $content;
|
||||
}
|
||||
|
||||
// Get module parameters
|
||||
$params = new JRegistry;
|
||||
$params->loadString($module->params);
|
||||
|
||||
// Use parameters from template
|
||||
if (isset($attribs['params']))
|
||||
{
|
||||
$template_params = new JRegistry;
|
||||
$template_params->loadString(html_entity_decode($attribs['params'], ENT_COMPAT, 'UTF-8'));
|
||||
$params->merge($template_params);
|
||||
$module = clone $module;
|
||||
$module->params = (string) $params;
|
||||
}
|
||||
|
||||
// Default for compatibility purposes. Set cachemode parameter or use JModuleHelper::moduleCache from within the
|
||||
// module instead
|
||||
$cachemode = $params->get('cachemode', 'oldstatic');
|
||||
|
||||
if ($params->get('cache', 0) == 1 && $conf->get('caching') >= 1 && $cachemode != 'id' && $cachemode != 'safeuri')
|
||||
{
|
||||
|
||||
// Default to itemid creating method and workarounds on
|
||||
$cacheparams = new stdClass;
|
||||
$cacheparams->cachemode = $cachemode;
|
||||
$cacheparams->class = 'JModuleHelper';
|
||||
$cacheparams->method = 'renderModule';
|
||||
$cacheparams->methodparams = array($module, $attribs);
|
||||
|
||||
$contents = JModuleHelper::ModuleCache($module, $params, $cacheparams);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$contents = JModuleHelper::renderModule($module, $attribs);
|
||||
}
|
||||
|
||||
return $contents;
|
||||
}
|
||||
}
|
43
libraries/joomla/document/html/renderer/modules.php
Normal file
43
libraries/joomla/document/html/renderer/modules.php
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Platform
|
||||
* @subpackage Document
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE
|
||||
*/
|
||||
|
||||
defined('JPATH_PLATFORM') or die;
|
||||
|
||||
/**
|
||||
* JDocument Modules renderer
|
||||
*
|
||||
* @package Joomla.Platform
|
||||
* @subpackage Document
|
||||
* @since 11.1
|
||||
*/
|
||||
class JDocumentRendererModules extends JDocumentRenderer
|
||||
{
|
||||
/**
|
||||
* Renders multiple modules script and returns the results as a string
|
||||
*
|
||||
* @param string $position The position of the modules to render
|
||||
* @param array $params Associative array of values
|
||||
* @param string $content Module content
|
||||
*
|
||||
* @return string The output of the script
|
||||
*
|
||||
* @since 11.1
|
||||
*/
|
||||
public function render($position, $params = array(), $content = null)
|
||||
{
|
||||
$renderer = $this->_doc->loadRenderer('module');
|
||||
$buffer = '';
|
||||
|
||||
foreach (JModuleHelper::getModules($position) as $mod)
|
||||
{
|
||||
$buffer .= $renderer->render($mod, $params, $content);
|
||||
}
|
||||
return $buffer;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user