| Current Path : /proc/1908984/root/proc/1908984/root/home/digilove/www/41423/ |
| Current File : //proc/1908984/root/proc/1908984/root/home/digilove/www/41423/components.php.tar |
home/digilove/public_html/plugins/system/nnframework/fields/components.php 0000644 00000006320 15235557434 0023320 0 ustar 00 <?php
/**
* Element: Components
* Displays a list of components with check boxes
*
* @package NoNumber Framework
* @version 14.11.6
*
* @author Peter van Westen <peter@nonumber.nl>
* @link http://www.nonumber.nl
* @copyright Copyright © 2014 NoNumber All Rights Reserved
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
*/
defined('_JEXEC') or die;
class JFormFieldNN_Components extends JFormField
{
public $type = 'Components';
private $params = null;
private $db = null;
protected function getInput()
{
$this->params = $this->element->attributes();
$this->db = JFactory::getDBO();
$frontend = $this->get('frontend', 1);
$admin = $this->get('admin', 1);
$size = (int) $this->get('size');
if (!$frontend && !$admin)
{
return '';
}
$components = $this->getComponents($frontend, $admin);
$options = array();
foreach ($components as $component)
{
$options[] = JHtml::_('select.option', $component->element, $component->name);
}
require_once JPATH_PLUGINS . '/system/nnframework/helpers/html.php';
return nnHtml::selectlistsimple($options, $this->name, $this->value, $this->id, $size, 1);
}
function getComponents($frontend = 1, $admin = 1)
{
jimport('joomla.filesystem.folder');
jimport('joomla.filesystem.file');
$query = $this->db->getQuery(true)
->select('e.name, e.element')
->from('#__extensions AS e')
->where('e.type = ' . $this->db->quote('component'))
->where('e.name != ""')
->where('e.element != ""')
->group('e.element')
->order('e.element, e.name');
$this->db->setQuery($query);
$components = $this->db->loadObjectList();
$comps = array();
$lang = JFactory::getLanguage();
foreach ($components as $i => $component)
{
// return if there is no main component folder
if (!($frontend && JFolder::exists(JPATH_SITE . '/components/' . $component->element))
&& !($admin && JFolder::exists(JPATH_ADMINISTRATOR . '/components/' . $component->element))
)
{
continue;
}
// return if there is no views folder
if (!($frontend && JFolder::exists(JPATH_SITE . '/components/' . $component->element . '/views'))
&& !($admin && JFolder::exists(JPATH_ADMINISTRATOR . '/components/' . $component->element . '/views'))
)
{
continue;
}
if (!empty($component->element))
{
// Load the core file then
// Load extension-local file.
$lang->load($component->element . '.sys', JPATH_BASE, null, false, false)
|| $lang->load($component->element . '.sys', JPATH_ADMINISTRATOR . '/components/' . $component->element, null, false, false)
|| $lang->load($component->element . '.sys', JPATH_BASE, $lang->getDefault(), false, false)
|| $lang->load($component->element . '.sys', JPATH_ADMINISTRATOR . '/components/' . $component->element, $lang->getDefault(), false, false);
}
$component->name = JText::_(strtoupper($component->name));
$comps[preg_replace('#[^a-z0-9_]#i', '', $component->name . '_' . $component->element)] = $component;
}
ksort($comps);
return $comps;
}
private function get($val, $default = '')
{
return (isset($this->params[$val]) && (string) $this->params[$val] != '') ? (string) $this->params[$val] : $default;
}
}
home/digilove/public_html/110/plugins/system/nnframework/fields/components.php 0000644 00000006320 15235662115 0023612 0 ustar 00 <?php
/**
* Element: Components
* Displays a list of components with check boxes
*
* @package NoNumber Framework
* @version 14.11.6
*
* @author Peter van Westen <peter@nonumber.nl>
* @link http://www.nonumber.nl
* @copyright Copyright © 2014 NoNumber All Rights Reserved
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
*/
defined('_JEXEC') or die;
class JFormFieldNN_Components extends JFormField
{
public $type = 'Components';
private $params = null;
private $db = null;
protected function getInput()
{
$this->params = $this->element->attributes();
$this->db = JFactory::getDBO();
$frontend = $this->get('frontend', 1);
$admin = $this->get('admin', 1);
$size = (int) $this->get('size');
if (!$frontend && !$admin)
{
return '';
}
$components = $this->getComponents($frontend, $admin);
$options = array();
foreach ($components as $component)
{
$options[] = JHtml::_('select.option', $component->element, $component->name);
}
require_once JPATH_PLUGINS . '/system/nnframework/helpers/html.php';
return nnHtml::selectlistsimple($options, $this->name, $this->value, $this->id, $size, 1);
}
function getComponents($frontend = 1, $admin = 1)
{
jimport('joomla.filesystem.folder');
jimport('joomla.filesystem.file');
$query = $this->db->getQuery(true)
->select('e.name, e.element')
->from('#__extensions AS e')
->where('e.type = ' . $this->db->quote('component'))
->where('e.name != ""')
->where('e.element != ""')
->group('e.element')
->order('e.element, e.name');
$this->db->setQuery($query);
$components = $this->db->loadObjectList();
$comps = array();
$lang = JFactory::getLanguage();
foreach ($components as $i => $component)
{
// return if there is no main component folder
if (!($frontend && JFolder::exists(JPATH_SITE . '/components/' . $component->element))
&& !($admin && JFolder::exists(JPATH_ADMINISTRATOR . '/components/' . $component->element))
)
{
continue;
}
// return if there is no views folder
if (!($frontend && JFolder::exists(JPATH_SITE . '/components/' . $component->element . '/views'))
&& !($admin && JFolder::exists(JPATH_ADMINISTRATOR . '/components/' . $component->element . '/views'))
)
{
continue;
}
if (!empty($component->element))
{
// Load the core file then
// Load extension-local file.
$lang->load($component->element . '.sys', JPATH_BASE, null, false, false)
|| $lang->load($component->element . '.sys', JPATH_ADMINISTRATOR . '/components/' . $component->element, null, false, false)
|| $lang->load($component->element . '.sys', JPATH_BASE, $lang->getDefault(), false, false)
|| $lang->load($component->element . '.sys', JPATH_ADMINISTRATOR . '/components/' . $component->element, $lang->getDefault(), false, false);
}
$component->name = JText::_(strtoupper($component->name));
$comps[preg_replace('#[^a-z0-9_]#i', '', $component->name . '_' . $component->element)] = $component;
}
ksort($comps);
return $comps;
}
private function get($val, $default = '')
{
return (isset($this->params[$val]) && (string) $this->params[$val] != '') ? (string) $this->params[$val] : $default;
}
}
home/digilove/public_html/110/libraries/fof/form/field/components.php 0000644 00000013665 15242572375 0021602 0 ustar 00 <?php
/**
* @package FrameworkOnFramework
* @subpackage form
* @copyright Copyright (C) 2010-2016 Nicholas K. Dionysopoulos / Akeeba Ltd. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
* @note This file has been modified by the Joomla! Project and no longer reflects the original work of its author.
*/
// Protect from unauthorized access
defined('FOF_INCLUDED') or die;
JFormHelper::loadFieldClass('list');
/**
* Form Field class for FOF
* Components installed on the site
*
* @package FrameworkOnFramework
* @since 2.1
*/
class FOFFormFieldComponents extends JFormFieldList implements FOFFormField
{
protected $static;
protected $repeatable;
public $client_ids = null;
/** @var FOFTable The item being rendered in a repeatable form field */
public $item;
/** @var int A monotonically increasing number, denoting the row number in a repeatable view */
public $rowid;
/**
* Method to get certain otherwise inaccessible properties from the form field object.
*
* @param string $name The property name for which to the the value.
*
* @return mixed The property value or null.
*
* @since 2.1
*/
public function __get($name)
{
switch ($name)
{
case 'static':
if (empty($this->static))
{
$this->static = $this->getStatic();
}
return $this->static;
break;
case 'repeatable':
if (empty($this->repeatable))
{
$this->repeatable = $this->getRepeatable();
}
return $this->repeatable;
break;
default:
return parent::__get($name);
}
}
/**
* Get the rendering of this field type for static display, e.g. in a single
* item view (typically a "read" task).
*
* @since 2.1
*
* @return string The field HTML
*/
public function getStatic()
{
$class = $this->element['class'] ? ' class="' . (string) $this->element['class'] . '"' : '';
return '<span id="' . $this->id . '" ' . $class . '>' .
htmlspecialchars(FOFFormFieldList::getOptionName($this->getOptions(), $this->value), ENT_COMPAT, 'UTF-8') .
'</span>';
}
/**
* Get the rendering of this field type for a repeatable (grid) display,
* e.g. in a view listing many item (typically a "browse" task)
*
* @since 2.1
*
* @return string The field HTML
*/
public function getRepeatable()
{
$class = $this->element['class'] ? (string) $this->element['class'] : '';
return '<span class="' . $this->id . ' ' . $class . '">' .
htmlspecialchars(FOFFormFieldList::getOptionName($this->getOptions(), $this->value), ENT_COMPAT, 'UTF-8') .
'</span>';
}
/**
* Get a list of all installed components and also translates them.
*
* The manifest_cache is used to get the extension names, since JInstaller is also
* translating those names in stead of the name column. Else some of the translations
* fails.
*
* @since 2.1
*
* @return array An array of JHtml options.
*/
protected function getOptions()
{
$db = FOFPlatform::getInstance()->getDbo();
// Check for client_ids override
if ($this->client_ids !== null)
{
$client_ids = $this->client_ids;
}
else
{
$client_ids = $this->element['client_ids'];
}
$client_ids = explode(',', $client_ids);
// Calculate client_ids where clause
foreach ($client_ids as &$client_id)
{
$client_id = (int) trim($client_id);
$client_id = $db->q($client_id);
}
$query = $db->getQuery(true)
->select(
array(
$db->qn('name'),
$db->qn('element'),
$db->qn('client_id'),
$db->qn('manifest_cache'),
)
)
->from($db->qn('#__extensions'))
->where($db->qn('type') . ' = ' . $db->q('component'))
->where($db->qn('client_id') . ' IN (' . implode(',', $client_ids) . ')');
$db->setQuery($query);
$components = $db->loadObjectList('element');
// Convert to array of objects, so we can use sortObjects()
// Also translate component names with JText::_()
$aComponents = array();
$user = JFactory::getUser();
foreach ($components as $component)
{
// Don't show components in the list where the user doesn't have access for
// TODO: perhaps add an option for this
if (!$user->authorise('core.manage', $component->element))
{
continue;
}
$oData = (object) array(
'value' => $component->element,
'text' => $this->translate($component, 'component')
);
$aComponents[$component->element] = $oData;
}
// Reorder the components array, because the alphabetical
// ordering changed due to the JText::_() translation
uasort(
$aComponents,
function ($a, $b) {
return strcasecmp($a->text, $b->text);
}
);
return $aComponents;
}
/**
* Translate a list of objects with JText::_().
*
* @param array $item The array of objects
* @param string $type The extension type (e.g. component)
*
* @since 2.1
*
* @return string $text The translated name of the extension
*
* @see administrator/com_installer/models/extension.php
*/
public function translate($item, $type)
{
$platform = FOFPlatform::getInstance();
// Map the manifest cache to $item. This is needed to get the name from the
// manifest_cache and NOT from the name column, else some JText::_() translations fails.
$mData = json_decode($item->manifest_cache);
if ($mData)
{
foreach ($mData as $key => $value)
{
if ($key == 'type')
{
// Ignore the type field
continue;
}
$item->$key = $value;
}
}
$lang = $platform->getLanguage();
switch ($type)
{
case 'component':
$source = JPATH_ADMINISTRATOR . '/components/' . $item->element;
$lang->load("$item->element.sys", JPATH_ADMINISTRATOR, null, false, false)
|| $lang->load("$item->element.sys", $source, null, false, false)
|| $lang->load("$item->element.sys", JPATH_ADMINISTRATOR, $lang->getDefault(), false, false)
|| $lang->load("$item->element.sys", $source, $lang->getDefault(), false, false);
break;
}
$text = JText::_($item->name);
return $text;
}
}