%PDF- %PDF-
Direktori : /home/lightco1/luminero.com.au/libraries/compojoom/component/ |
Current File : /home/lightco1/luminero.com.au/libraries/compojoom/component/helper.php |
<?php /** * @package Lib_Compojoom * @author DanielDimitrov <daniel@compojoom.com> * @date 21.11.2014 * * @copyright Copyright (C) 2008 - 2013 compojoom.com . All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ defined('_JEXEC') or die('Restricted access'); /** * Class CompojoomComponentHelper * * @since 4.0.21 */ class CompojoomComponentHelper { /** * Checks if the component folder is existing and assumes that the component is installed * The JComponentHelper::isEnabled function generates warnings and that's why we use this * simplified approach to determine if the user has specific component * * @param string $component - the component name (including com_) * * @return bool */ public static function isInstalled($component) { jimport('joomla.filesystem.folder'); $folderPath = JPATH_ADMINISTRATOR . '/components/' . $component; return JFolder::exists($folderPath); } /** * Gets the item id for the provided component & view * * @param string $component - the component string * @param string $view - the view name * * @return mixed <int> */ public static function getItemid($component = '', $view = '') { $appl = JFactory::getApplication(); $menu = $appl->getMenu(); $itemId = ''; $items = $menu->getItems('component', $component); if ($view) { foreach ($items as $value) { if (strstr($value->link, 'view=' . $view)) { $itemId = $value->id; break; } } } else { $itemId = isset($items[0]) ? $items[0]->id : ''; } return $itemId; } /** * Gets allowed actions * * @param int $messageId - message id * @param string $unit - the unit * @param string $assetName - asset name * * @return JObject */ public static function getActions($messageId = 0, $unit = 'component', $assetName = '') { jimport('joomla.access.access'); $user = JFactory::getUser(); $result = new JObject; if (empty($messageId)) { $asset = $assetName; } else { $asset = $assetName . '.' . $unit . '.' . (int) $messageId; } $actions = JAccess::getActions($assetName, $unit); foreach ($actions as $action) { $result->set($action->name, $user->authorise($action->name, $asset)); } return $result; } /** * Update the configuration of a component * * @param string $component - the component * @param object $config - the config object * * @return boolean * * @since 5.0.0 */ public static function updateConfiguration($component, $config) { // Now let's update the Database $db = JFactory::getDbo(); $query = $db->getQuery(true) ->update($db->qn('#__extensions')) ->set($db->qn('params') . '=' . $db->q($config)) ->where($db->qn('element') . '=' . $db->q($component)) ->where($db->qn('type') . '=' . $db->q('component')); $db->setQuery($query); return $db->execute(); } /** * Get the custom_data field from the #__extensions table and return it as JRegistry * * @param string $component - the component name * * @return JRegistry */ public static function getComponentCustomData($component) { $db = JFactory::getDbo(); $query = $db->getQuery(true); $customData = new JRegistry; $query->select('custom_data')->from('#__extensions') ->where($db->qn('element') . '=' . $db->q($component)) ->where($db->qn('type') . '=' . $db->q('component')); $db->setQuery($query); $data = $db->loadObject(); if ($data) { $customData->loadString($data->custom_data); } return $customData; } /** * Update the custom_data field in the #__extensions table with our object * * @param string $component - the component name * @param JReqistry $data - the custom data to store * * @return void */ public static function updateComponentCustomData($component, $data) { // Now let's update the custom data $db = JFactory::getDbo(); $query = $db->getQuery(true) ->update($db->qn('#__extensions')) ->set($db->qn('custom_data') . '=' . $db->q($data)) ->where($db->qn('element') . '=' . $db->q($component)) ->where($db->qn('type') . '=' . $db->q('component')); $db->setQuery($query); $db->execute(); } /** * Get the manifest for an extension * * @param string $component - the component name * * @return JRegistry */ public static function getManifest($component) { $db = JFactory::getDbo(); $query = $db->getQuery(true); $customData = new JRegistry; $query->select('manifest_cache')->from('#__extensions') ->where($db->qn('element') . '=' . $db->q($component)) ->where($db->qn('type') . '=' . $db->q('component')); $db->setQuery($query); $data = $db->loadObject(); if ($data) { $customData->loadString($data->manifest_cache); } return $customData; } }