joomla_test/administrator/components/com_k2/elements/template.php

86 lines
2.6 KiB
PHP
Raw Normal View History

2020-01-02 22:20:31 +07:00
<?php
/**
* @version $Id: template.php 1812 2013-01-14 18:45:06Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die ;
require_once (JPATH_ADMINISTRATOR.'/components/com_k2/elements/base.php');
class K2ElementTemplate extends K2Element
{
public function fetchElement($name, $value, &$node, $control_name)
{
jimport('joomla.filesystem.folder');
$mainframe = JFactory::getApplication();
$fieldName = (K2_JVERSION != '15') ? $name : $control_name.'['.$name.']';
$componentPath = JPATH_SITE.DS.'components'.DS.'com_k2'.DS.'templates';
$componentFolders = JFolder::folders($componentPath);
$db = JFactory::getDBO();
if (K2_JVERSION != '15')
{
$query = "SELECT template FROM #__template_styles WHERE client_id = 0 AND home = 1";
}
else
{
$query = "SELECT template FROM #__templates_menu WHERE client_id = 0 AND menuid = 0";
}
$db->setQuery($query);
$defaultemplate = $db->loadResult();
if (JFolder::exists(JPATH_SITE.DS.'templates'.DS.$defaultemplate.DS.'html'.DS.'com_k2'.DS.'templates'))
{
$templatePath = JPATH_SITE.DS.'templates'.DS.$defaultemplate.DS.'html'.DS.'com_k2'.DS.'templates';
}
else
{
$templatePath = JPATH_SITE.DS.'templates'.DS.$defaultemplate.DS.'html'.DS.'com_k2';
}
if (JFolder::exists($templatePath))
{
$templateFolders = JFolder::folders($templatePath);
$folders = @array_merge($templateFolders, $componentFolders);
$folders = @array_unique($folders);
}
else
{
$folders = $componentFolders;
}
$exclude = 'default';
$options = array();
foreach ($folders as $folder)
{
if (preg_match(chr(1).$exclude.chr(1), $folder))
{
continue;
}
$options[] = JHTML::_('select.option', $folder, $folder);
}
array_unshift($options, JHTML::_('select.option', '', '-- '.JText::_('K2_USE_DEFAULT').' --'));
return JHTML::_('select.genericlist', $options, $fieldName, 'class="inputbox"', 'value', 'text', $value, $control_name.$name);
}
}
class JFormFieldTemplate extends K2ElementTemplate
{
var $type = 'template';
}
class JElementTemplate extends K2ElementTemplate
{
var $_name = 'template';
}