You've already forked joomla_test
							
							
		
			
				
	
	
		
			111 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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;
 | |
| 	}
 | |
| }
 | 
