%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home1/lightco1/www/ilfanale.com.au/administrator/components/com_mobilize/helpers/
Upload File :
Create Path :
Current File : //home1/lightco1/www/ilfanale.com.au/administrator/components/com_mobilize/helpers/modules.php

<?php

/**
 * @version     $Id$
 * @package     JSN_Mobilize
 * @subpackage  AdminComponent
 * @author      JoomlaShine Team <support@joomlashine.com>
 * @copyright   Copyright (C) 2012 JoomlaShine.com. All Rights Reserved.
 * @license     GNU/GPL v2 or later http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Websites: http://www.joomlashine.com
 * Technical Support:  Feedback - http://www.joomlashine.com/contact-us/get-support.html
 */
// No direct access to this file
defined('_JEXEC') or die('Restricted access');

/**
 * Helper class for rendering modules.
 *
 * @package     JSN_Mobilize
 * @subpackage  AdminComponent
 * @since       1.0.0
 */
abstract class ModulesHelper
{

	/**
	 * Configure the Linkbar.
	 *
	 * @param   string  $vName  The name of the active view.
	 *
	 * @return  void
	 */
	public static function addSubmenu($vName)
	{
		// Not used in this component.
	}

	/**
	 * Gets a list of the actions that can be performed.
	 *
	 * @return  JObject
	 */
	public static function getActions()
	{
		$user = JFactory::getUser();
		$result = new JObject;

		$actions = JAccess::getActionsFromFile('com_modules');

		foreach ($actions as $action)
		{
			$result->set($action->name, $user->authorise($action->name, 'com_modules'));
		}

		return $result;
	}

	/**
	 * Get a list of filter options for the state of a module.
	 *
	 * @return	array	An array of JHtmlOption elements.
	 */
	public static function getStateOptions()
	{
		// Build the filter options.
		$options = array();
		$options[] = JHtml::_('select.option', '1', JText::_('JPUBLISHED'));
		$options[] = JHtml::_('select.option', '0', JText::_('JUNPUBLISHED'));
		$options[] = JHtml::_('select.option', '-2', JText::_('JTRASHED'));
		return $options;
	}

	/**
	 * Get a list of filter options for the application clients.
	 *
	 * @return	array	An array of JHtmlOption elements.
	 */
	public static function getClientOptions()
	{
		// Build the filter options.
		$options = array();
		$options[] = JHtml::_('select.option', '0', JText::_('JSITE'));
		$options[] = JHtml::_('select.option', '1', JText::_('JADMINISTRATOR'));
		return $options;
	}

	/**
	 * Get list of module position.
	 *
	 * @param   integer  $clientId  Client ID.
	 *
	 * @return  array
	 */
	static function getPositions($clientId)
	{
		jimport('joomla.filesystem.folder');

		$db = JFactory::getDbo();
		$query = $db->getQuery(true);

		$query->select('DISTINCT(position)');
		$query->from('#__modules');
		$query->where($db->quoteName('client_id') . ' = ' . (int) $clientId);
		$query->order('position');

		$db->setQuery($query);
		$positions = $db->loadColumn();
		$positions = (is_array($positions)) ? $positions : array();

		if ($error = $db->getErrorMsg())
		{
			JError::raiseWarning(500, $error);
			return;
		}

		// Build the list
		$options = array();
		foreach ($positions as $position)
		{
			if (!$position)
			{
				$options[] = JHtml::_('select.option', 'none', ':: ' . JText::_('JNONE') . ' ::');
			}
			else
			{
				$options[] = JHtml::_('select.option', $position, $position);
			}
		}
		return $options;
	}

	/**
	 * Get list of template.
	 *
	 * @param   integer  $clientId  Client ID.
	 * @param   integer  $state     Publishing state.
	 * @param   string   $template  Template name.
	 *
	 * @return  array
	 */
	public static function getTemplates($clientId = 0, $state = '', $template = '')
	{
		// Get database and query object
		$db = JFactory::getDbo();
		$query = $db->getQuery(true);

		// Build the query
		$query->select('element, name, enabled');
		$query->from('#__extensions');
		$query->where('client_id = ' . (int) $clientId);
		$query->where('type = ' . $db->quote('template'));
		if ($state != '')
		{
			$query->where('enabled = ' . $db->quote($state));
		}
		if ($template != '')
		{
			$query->where('element = ' . $db->quote($template));
		}

		// Set the query and load the templates.
		$db->setQuery($query);
		$templates = $db->loadObjectList('element');
		return $templates;
	}

	/**
	 * Get a list of the unique modules installed in the client application.
	 *
	 * @param   integer  $clientId  Client ID.
	 *
	 * @return  array
	 */
	public static function getModules($clientId)
	{
		$db = JFactory::getDbo();
		$query = $db->getQuery(true);

		$query->select('element AS value, name AS text');
		$query->from('#__extensions as e');
		$query->where('e.client_id = ' . (int) $clientId);
		$query->where('type = ' . $db->quote('module'));
		$query->leftJoin('#__modules as m ON m.module=e.element AND m.client_id=e.client_id');
		$query->where('m.module IS NOT NULL');
		$query->group('element,name');

		$db->setQuery($query);
		$modules = $db->loadObjectList();
		$lang = JFactory::getLanguage();

		foreach ($modules as $i => $module)
		{
			$extension = $module->value;
			$path = $clientId ? JPATH_ADMINISTRATOR : JPATH_SITE;
			$source = $path . "/modules/$extension";
			$lang->load("$extension.sys", $path, null, false, false) || $lang->load("$extension.sys", $source, null, false, false) || $lang->load("$extension.sys", $path, $lang->getDefault(), false, false) || $lang->load("$extension.sys", $source, $lang->getDefault(), false, false);
			$modules[$i]->text = JText::_($module->text);
		}

		JArrayHelper::sortObjects($modules, 'text', 1, true, $lang->getLocale());

		return $modules;
	}

	/**
	 * Get a list of the assignment options for modules to menus.
	 *
	 * @param   integer  $clientId  Client ID.
	 *
	 * @return	array
	 */
	public static function getAssignmentOptions($clientId)
	{
		$options = array();
		$options[] = JHtml::_('select.option', '0', 'COM_MODULES_OPTION_MENU_ALL');
		$options[] = JHtml::_('select.option', '-', 'COM_MODULES_OPTION_MENU_NONE');

		if ($clientId == 0)
		{
			$options[] = JHtml::_('select.option', '1', 'COM_MODULES_OPTION_MENU_INCLUDE');
			$options[] = JHtml::_('select.option', '-1', 'COM_MODULES_OPTION_MENU_EXCLUDE');
		}

		return $options;
	}

}

Zerion Mini Shell 1.0