Files
@ 872091eca53c
Branch filter:
Location: hot67beta/administrator/components/com_templates/helpers/template.php
872091eca53c
3.1 KiB
text/x-php
init header with no marg
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | <?php
/**
* @version $Id: template.php 10381 2008-06-01 03:35:53Z pasamio $
* @package Joomla
* @subpackage Templates
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant to the
* GNU General Public License, and as distributed it includes or is derivative
* of works licensed under the GNU General Public License or other free or open
* source software licenses. See COPYRIGHT.php for copyright notices and
* details.
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
/**
* @package Joomla
* @subpackage Templates
*/
class TemplatesHelper
{
function isTemplateDefault($template, $clientId)
{
$db =& JFactory::getDBO();
// Get the current default template
$query = ' SELECT template '
.' FROM #__templates_menu '
.' WHERE client_id = ' . (int) $clientId
.' AND menuid = 0 ';
$db->setQuery($query);
$defaultemplate = $db->loadResult();
return $defaultemplate == $template ? 1 : 0;
}
function isTemplateAssigned($template)
{
$db =& JFactory::getDBO();
// check if template is assigned
$query = 'SELECT COUNT(*)' .
' FROM #__templates_menu' .
' WHERE client_id = 0' .
' AND template = '.$db->Quote($template) .
' AND menuid <> 0';
$db->setQuery($query);
return $db->loadResult() ? 1 : 0;
}
function parseXMLTemplateFiles($templateBaseDir)
{
// Read the template folder to find templates
jimport('joomla.filesystem.folder');
$templateDirs = JFolder::folders($templateBaseDir);
$rows = array();
// Check that the directory contains an xml file
foreach ($templateDirs as $templateDir)
{
if(!$data = TemplatesHelper::parseXMLTemplateFile($templateBaseDir, $templateDir)){
continue;
} else {
$rows[] = $data;
}
}
return $rows;
}
function parseXMLTemplateFile($templateBaseDir, $templateDir)
{
// Check of the xml file exists
if(!is_file($templateBaseDir.DS.$templateDir.DS.'templateDetails.xml')) {
return false;
}
$xml = JApplicationHelper::parseXMLInstallFile($templateBaseDir.DS.$templateDir.DS.'templateDetails.xml');
if ($xml['type'] != 'template') {
return false;
}
$data = new StdClass();
$data->directory = $templateDir;
foreach($xml as $key => $value) {
$data->$key = $value;
}
$data->checked_out = 0;
$data->mosname = JString::strtolower(str_replace(' ', '_', $data->name));
return $data;
}
function createMenuList($template)
{
$db =& JFactory::getDBO();
// get selected pages for $menulist
$query = 'SELECT menuid AS value' .
' FROM #__templates_menu' .
' WHERE client_id = 0' .
' AND template = '.$db->Quote($template);
$db->setQuery($query);
$lookup = $db->loadObjectList();
if (empty( $lookup )) {
$lookup = array( JHTML::_('select.option', '-1' ) );
}
// build the html select list
$options = JHTML::_('menu.linkoptions');
$result = JHTML::_('select.genericlist', $options, 'selections[]', 'class="inputbox" size="15" multiple="multiple"', 'value', 'text', $lookup, 'selections' );
return $result;
}
}
|