You've already forked joomla_test
first commit
This commit is contained in:
132
modules/mod_roktabs/fields/roktabsicons.php
Normal file
132
modules/mod_roktabs/fields/roktabsicons.php
Normal file
@ -0,0 +1,132 @@
|
||||
<?php
|
||||
/**
|
||||
* @version $Id: roktabsicons.php 6824 2013-01-28 06:14:09Z btowles $
|
||||
* @author RocketTheme http://www.rockettheme.com
|
||||
* @copyright Copyright (C) 2007 - 2013 RocketTheme, LLC
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
|
||||
*/
|
||||
|
||||
|
||||
// no direct access
|
||||
defined('_JEXEC') or die();
|
||||
|
||||
/**
|
||||
* @package RocketTheme
|
||||
* @subpackage roktabs.elements
|
||||
*/
|
||||
class JFormFieldRoktabsicons extends JFormField
|
||||
{
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $type = 'RokTabsIcons';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
var $_name = 'roktabsicons';
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getInput()
|
||||
{
|
||||
$document = JFactory::getDocument();
|
||||
$app = JFactory::getApplication();
|
||||
|
||||
if (!defined('ROKTABS_ICONS')) {
|
||||
define('ROKTABS_ICONS', 1);
|
||||
|
||||
$db = JFactory::getDBO();
|
||||
// Get the current default template
|
||||
$query = ' SELECT template ' . ' FROM #__template_styles ' . ' WHERE client_id = 0 ' . ' AND home = 1 ';
|
||||
$db->setQuery($query);
|
||||
$template = $db->loadResult();
|
||||
|
||||
$path = JURI::Root(true) . "/modules/mod_roktabs/";
|
||||
$document->addStyleSheet($path . 'admin/icons.css');
|
||||
$version = new JVersion();
|
||||
if (version_compare($version->getShortVersion(), '3.0', '<')) {
|
||||
$document->addScript($path . 'admin/icons_25.js');
|
||||
} else {
|
||||
$document->addScript($path . 'admin/icons.js');
|
||||
}
|
||||
$document->addScriptDeclaration("
|
||||
var SitePath = '" . JURI::Root(true) . "', TemplatePath = 'templates/" . $template . "', ModulePath = 'modules/mod_roktabs';
|
||||
window.addEvent('domready', function() {new RokTabsIcons();});
|
||||
");
|
||||
|
||||
}
|
||||
|
||||
$html = "";
|
||||
|
||||
$value = str_replace(" ", "", $this->value);
|
||||
$list = explode(",", $value);
|
||||
|
||||
$i = 0;
|
||||
foreach ($list as $img) {
|
||||
$i++;
|
||||
$html .= "<div class='icons'>";
|
||||
$html .= " <span class='tab_label'>Tab " . $i . ":</span> ";
|
||||
$html .= " <div class='preview_" . $this->id . $i . " icons_previews'></div>";
|
||||
$html .= " <select class='inputbox'>";
|
||||
$html .= $this->loadIcons($this->name, $img, $template);
|
||||
$html .= " </select>";
|
||||
$html .= " <div class='controls'>";
|
||||
$html .= " <span class='add' title='Add new tab icon'></span>";
|
||||
$html .= " <span class='remove' title='Remove current tab icon'></span>";
|
||||
$html .= " </div>";
|
||||
$html .= " <div style='clear: both;'></div>";
|
||||
$html .= "</div>";
|
||||
}
|
||||
|
||||
$html .= "<input id='" . $this->id . "' name='" . $this->name . "' type='hidden' value='" . $value . "' />";
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $name
|
||||
* @param $value
|
||||
* @param $template
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function loadIcons($name, $value, $template)
|
||||
{
|
||||
$path = JPATH_SITE . "/modules/mod_roktabs/images/";
|
||||
$urlPath = JURI::Root(true) . "/modules/mod_roktabs/images/";
|
||||
|
||||
if ($this->form->getValue('tabs_iconpath', 'params') != '') {
|
||||
$path = JPATH_SITE . '/' . $this->form->getValue('tabs_iconpath', 'params');
|
||||
$urlPath = JURI::Root(true) . "/" . $this->form->getValue('tabs_iconpath', 'params');
|
||||
}
|
||||
|
||||
$path = str_replace('__template__', 'templates' . '/' . $template, $path);
|
||||
$urlPath = str_replace('__template__', 'templates/' . $template, $urlPath);
|
||||
$path = str_replace('__module__', 'modules/mod_roktabs', $path);
|
||||
$urlPath = str_replace('__module__', 'modules/mod_roktabs', $urlPath);
|
||||
|
||||
$icons = array('__none__');
|
||||
$html = "";
|
||||
|
||||
if ($handle = @opendir($path)) {
|
||||
while (false !== ($file = readdir($handle))) {
|
||||
if ($file != "." && $file != "..") {
|
||||
$ext = strtolower(substr($file, strrpos($file, '.') + 1));
|
||||
if ($ext == 'gif' || $ext == 'bmp' || $ext == 'jpg' || $ext == 'png') {
|
||||
array_push($icons, $file);
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir($handle);
|
||||
}
|
||||
|
||||
foreach ($icons as $icon) {
|
||||
if ($icon == $value) $selected = "selected='selected'"; else $selected = "";
|
||||
$html .= "<option alt='" . $urlPath . $icon . "' $selected>" . $icon . "</option>";
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user