/libraries/joomla/document/html/renderer/module.php
https://gitlab.com/vitaliylukin91/alex-lavka · PHP · 108 lines · 60 code · 13 blank · 35 comment · 12 complexity · b124e394d26c4807a1aaa7f180a86be0 MD5 · raw file
- <?php
- /**
- * @package Joomla.Platform
- * @subpackage Document
- *
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
- * @license GNU General Public License version 2 or later; see LICENSE
- */
- defined('JPATH_PLATFORM') or die;
- use Joomla\Registry\Registry;
- /**
- * JDocument Module renderer
- *
- * @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 Registry;
- $params->loadString($module->params);
- // Use parameters from template
- if (isset($attribs['params']))
- {
- $template_params = new Registry;
- $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;
- }
- }