%PDF- %PDF-
| Direktori : /home1/lightco1/www/ilfanale.com.au/administrator/components/com_mobilize/helpers/ |
| Current File : //home1/lightco1/www/ilfanale.com.au/administrator/components/com_mobilize/helpers/mobilize.php |
<?php
/**
* @version $Id$
* @package JSN_Mobilize
* @subpackage AdminComponent
* @author JoomlaShine Team <support@joomlashine.com>
* @copyright Copyright (C) 2012 JoomlaShine.com. All Rights Reserved.
* @license GNU/GPL v2 or later http://www.gnu.org/licenses/gpl-2.0.html
*
* Websites: http://www.joomlashine.com
* Technical Support: Feedback - http://www.joomlashine.com/contact-us/get-support.html
*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
/**
* Helper class.
*
* @package JSN_Mobilize
* @subpackage AdminComponent
* @since 1.0.0
*/
class JSNMobilizeHelper {
/**
* Configure the linkbar.
*
* @param string $vName The name of the active view
*
* @return void
*/
public static function addSubmenu($vName = 'profiles') {
if (JFactory::getApplication()->input->getCmd('tmpl', null) == null) {
// Get 5 most-recent items
$items = self::getProfiles(5);
// Declare 1st-level menu items
JSNMenuHelper::addEntry('profiles', 'JSN_MOBILIZE_SUB_MENU_MOBILIZATION_TEXT', 'index.php?option=com_mobilize', $vName == '' OR $vName == 'profiles', 'administrator/components/com_mobilize/assets/images/icons-16/icon-mobilize.png', 'sub-menu');
JSNMenuHelper::addEntry('configuration', 'JSN_MOBILIZE_SUB_MENU_CONFIGURARTION_TEXT', '', false, 'administrator/components/com_mobilize/assets/images/icons-16/icon-cog.png', 'sub-menu');
JSNMenuHelper::addEntry('about', 'JSN_MOBILIZE_SUB_MENU_ABOUT_TEXT', 'index.php?option=com_mobilize&view=about', $vName == 'about', 'administrator/components/com_mobilize/assets/images/icons-16/icon-about.png', 'sub-menu');
// Declare 2nd-level menu items for 'items' entry
JSNMenuHelper::addEntry('all-profiles', 'All Profiles', 'index.php?option=com_mobilize&view=profiles', false, '', 'sub-menu.profiles');
if ($items) {
JSNMenuHelper::addEntry('recent-profiles', 'Recent Profiles', '', false, '', 'sub-menu.profiles');
foreach ($items AS $item) {
JSNMenuHelper::addEntry('item-' . $item->profile_id, $item->profile_title, 'index.php?option=com_mobilize&view=profile&task=profile.edit&layout=edit&profile_id=' . $item->profile_id, false, '', 'sub-menu.profiles.recent-profiles');
}
}
JSNMenuHelper::addSeparator('sub-menu.profiles');
JSNMenuHelper::addEntry('item-new', 'Create New Profile', 'index.php?option=com_mobilize&view=profile&layout=edit', false, '', 'sub-menu.profiles');
// Declare 2nd-level menu items for 'configuration' entry
JSNMenuHelper::addEntry('global-params', 'Global Parameters', 'index.php?option=com_mobilize&view=configuration&s=configuration&g=configs', false, '', 'sub-menu.configuration');
JSNMenuHelper::addEntry('messages', 'Messages', 'index.php?option=com_mobilize&view=configuration&s=configuration&g=msgs', false, '', 'sub-menu.configuration');
JSNMenuHelper::addEntry('languages', 'Languages', 'index.php?option=com_mobilize&view=configuration&s=configuration&g=langs', false, '', 'sub-menu.configuration');
JSNMenuHelper::addEntry('update', 'Product Update', 'index.php?option=com_mobilize&view=configuration&s=configuration&g=update', false, '', 'sub-menu.configuration');
JSNMenuHelper::addEntry('maintenance', 'Maintenance', '', false, '', 'sub-menu.configuration');
// Declare 3rd-level menu items for 'maintenance' entry
JSNMenuHelper::addEntry('data', 'Data', 'index.php?option=com_mobilize&view=configuration&s=maintenance&g=data', false, '', 'sub-menu.configuration.maintenance');
JSNMenuHelper::addEntry('permissions', 'Permissions', 'index.php?option=com_mobilize&view=configuration&s=maintenance&g=permissions', false, '', 'sub-menu.configuration.maintenance');
// Render the sub-menu
JSNMenuHelper::render('sub-menu');
}
}
/**
* Set toolbar title and do some initialization
*
* @param string $title Title to set for toolbar.
* @param string $icon Custom icon for the title.
* @param boolean $help Whether to show help button or not?
*
* @return void
*/
public static function initToolbar($title, $icon = '', $help = true) {
// Set toolbar title
JToolBarHelper::title(JText::_($title), $icon);
// Setup custom menu button
self::addToolbarMenu();
// Show help button?
if ($help) {
$bar = JToolBar::getInstance('toolbar');
if (JSNVersion::isJoomlaCompatible('2.5')) {
JToolBarHelper::divider();
$bar->appendButton('Custom', '<a href="javascript:void(0);" id="jsn-help" class="toolbar"><span class="icon-32-help" title="' . JText::_('JSN_MOBILIZE_HELP') . '" type="Custom"></span>' . JText::_('JSN_MOBILIZE_HELP') . '</a>');
} else {
$bar->appendButton('Custom', '<button class="btn btn-small" id="jsn-help" onclick="return false;"><i class="icon-question-sign"></i>' . JText::_('JSN_MOBILIZE_HELP') . '</button>');
}
}
}
/**
* Add toolbar button.
*
* @return void
*/
public static function addToolbarMenu() {
// Get 5 most-recent items
$items = self::getProfiles(5);
// Create a toolbar button that drop-down a sub-menu when clicked
JSNMenuHelper::addEntry('toolbar-menu', 'Menu', '', false, 'jsn-icon16 jsn-icon-menu', 'toolbar');
// Declare 1st-level menu items
JSNMenuHelper::addEntry('profiles', 'JSN_MOBILIZE_SUB_MENU_MOBILIZATION_TEXT', '', false, 'administrator/components/com_mobilize/assets/images/icons-16/icon-mobilize.png', 'toolbar-menu');
JSNMenuHelper::addEntry('configuration', 'JSN_MOBILIZE_SUB_MENU_CONFIGURARTION_TEXT', 'index.php?option=com_mobilize&view=configuration', false, 'administrator/components/com_mobilize/assets/images/icons-16/icon-cog.png', 'toolbar-menu');
JSNMenuHelper::addEntry('about', 'JSN_MOBILIZE_SUB_MENU_HELP_TEXT', 'index.php?option=com_mobilize&view=about', false, 'administrator/components/com_mobilize/assets/images/icons-16/icon-about.png', 'toolbar-menu');
// Declare 2nd-level menu items for 'items' entry
JSNMenuHelper::addEntry('all-profiles', 'All Profiles', 'index.php?option=com_mobilize&view=profiles', false, '', 'toolbar-menu.profiles');
if ($items) {
JSNMenuHelper::addEntry('recent-profiles', 'Recent Profiles', '', false, '', 'toolbar-menu.profiles');
foreach ($items AS $item) {
JSNMenuHelper::addEntry('item-' . $item->profile_id, $item->profile_title, 'index.php?option=com_mobilize&view=profile&task=profile.edit&layout=edit&profile_id=' . $item->profile_id, false, '', 'toolbar-menu.profiles.recent-profiles');
}
}
JSNMenuHelper::addSeparator('toolbar-menu.profiles');
JSNMenuHelper::addEntry('item-new', 'Create New Profile', 'index.php?option=com_mobilize&view=profile&layout=edit', false, '', 'toolbar-menu.profiles');
}
/**
* Setup menu button for Joomla 3.0.
*
* @return void
*/
public static function menuToolbar() {
$subMenuItemLists = JSNMobilizeHelper::getProfiles(5);
// Build options
$options[] = array('title' => JText::_('JSN_MOBILIZE_SUBMENU_PROFILES'), 'link' => 'index.php?option=com_mobilize&view=profiles', 'class' => 'parent primary', 'sub_menu_link' => 'index.php?option=com_mobilize&view=profile&task=profile.edit&profile_id={$profile_id}', 'sub_menu_field_title' => 'profile_title', 'sub_menu_link_add_title' => 'Create new profiles', 'sub_menu_link_add' => 'index.php?option=com_mobilize&view=profile&layout=edit', 'data_sub_menu' => $subMenuItemLists, 'icon' => 'jsn-icon-finder',);
$options[] = array('class' => 'separator');
$options[] = array('title' => JText::_('JSN_MOBILIZE_SUBMENU_CONFIGURATION'), 'link' => 'index.php?option=com_mobilize&view=configuration');
$options[] = array('title' => JText::_('JSN_MOBILIZE_SUBMENU_ABOUT'), 'link' => 'index.php?option=com_mobilize&view=about');
// Generate HTML code for sub-menu
$html = JSNHtmlGenerate::menuToolbar($options);
return $html;
}
/**
* Load assets
*
* @return void
*/
public static function loadAssets($checkVersion = true) {
// Load common assets
$stylesheets[] = '//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css';
$stylesheets[] = JURI::root(true) . '/plugins/system/jsnframework/assets/3rd-party/jquery-ui/css/ui-bootstrap/jquery-ui-1.9.0.custom.css';
$stylesheets[] = JURI::root(true) . '/plugins/system/jsnframework/assets/joomlashine/css/jsn-gui.css';
$stylesheets[] = JSN_URL_ASSETS . '/3rd-party/jquery-tipsy/tipsy.css';
$stylesheets[] = JURI::base(true) . '/components/com_mobilize/assets/css/mobilize.css';
if ($checkVersion && JSNVersion::isJoomlaCompatible('3.2')) {
JSNHtmlAsset::addScript(JUri::root(true) . '/media/jui/js/jquery.min.js');
}
JSNHtmlAsset::addStyle($stylesheets);
}
/**
* Get data forms
*
* @param integer $limit Limit number
*
* @return object list
*/
public static function getProfiles($limit = "") {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__jsn_mobilize_profiles');
$query->order("profile_id DESC");
if (empty($limit)) {
$db->setQuery($query);
} else {
$db->setQuery($query, 0, $limit);
}
$forms = $db->loadObjectList();
// Check for a database error.
if ($db->getErrorNum()) {
JError::raiseWarning(500, $db->getErrorMsg());
}
return $forms;
}
/**
* Get data Os Support By Profile Id
*
* @param integer $profileId Profile Id
*
* @return object list
*/
public static function getOsSupportByProfileId($profileId) {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__jsn_mobilize_os_support AS sp');
$query->join('INNER', '#__jsn_mobilize_os AS s ON s.os_id = sp.os_id');
$query->where('sp.profile_id = ' . $db->Quote($profileId));
$db->setQuery($query);
return $db->loadObjectList();
}
/**
* Get data Design By Profile Id
*
* @param integer $profileId Profile Id
*
* @return object list
*/
public static function getDesignByProfileId($profileId) {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__jsn_mobilize_design');
$query->where('profile_id = ' . $db->Quote($profileId));
$db->setQuery($query);
return $db->loadObjectList();
}
/**
* Get data Style Design by class
*
* @param string $key class name
* @param array $valueStyle
* @param array $backGroundType
* @return style code
*/
public function getStyleDesign($key,$valueStyle,$backGroundType){
$itemMobileToolContainer = array();
$itemMobileToolSubTitle = array();
$itemMobileToolSubContent = array();
$itemMobileToolSubLink = array();
$boxShadow = array();
$border = array();
$borderModule = array();
foreach ($valueStyle as $val) {
if (isset($val->key)) {
if (strpos($val->key, $key . "_container_") !== false) {
$keyStyle = explode("_", $val->key);
$keyStyle = $keyStyle[count($keyStyle) - 1];
if ($keyStyle != "soildColor" && $keyStyle != "gradientColor") {
if ($keyStyle == "borderThickness" || $keyStyle == "borderStyle" || $keyStyle == "borderColor") {
$itemMobileToolContainer[$key][] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font, $border);
} else {
$itemMobileToolContainer[$key][] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font, $boxShadow);
}
} else {
$keyBackgroundType = str_replace($keyStyle, "", $val->key);
$keyBackgroundType = $keyBackgroundType . "backgroundType";
if (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Solid" && $keyStyle == "soildColor") {
$itemMobileToolContainer[$key][] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font, $boxShadow);
} elseif (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Gradient" && $keyStyle == "gradientColor") {
$itemMobileToolContainer[$key][] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font, $boxShadow);
}
}
}
if (strpos($val->key, $key . "_module_tabContainer_") !== false)
{
$keyStyle = explode("_", $val->key);
$keyStyle = $keyStyle[count($keyStyle) - 1];
if ($keyStyle != "soildColor" && $keyStyle != "gradientColor")
{
if ($keyStyle == "borderThickness" || $keyStyle == "borderStyle" || $keyStyle == "borderColor")
{
$css = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font, $borderModule);
}
else
{
$css = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font, $boxShadow);
}
}
else
{
$keyBackgroundType = str_replace($keyStyle, "", $val->key);
$keyBackgroundType = $keyBackgroundType . "backgroundType";
if (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Solid" && $keyStyle == "soildColor")
{
$css = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
elseif (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Gradient" && $keyStyle == "gradientColor")
{
$css = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
}
if ($css)
{
$itemModuleSubContainer[$key][] = $css;
}
}
if (strpos($val->key, $key . "_content_title_") !== false) {
$itemMobileToolSubTitle[$key][] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
if (strpos($val->key, $key . "_content_body_") !== false) {
$itemMobileToolSubContent[$key][] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
if (strpos($val->key, $key . "_content_link_") !== false) {
$itemMobileToolSubLink[$key][] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
if($val->key == $key . '_container_ba_backgroundType'){
if($val->value == 'img'){
$cmd=1;
}
}
if($val->key == $key.'_container_rtl'){
$rtl = $val->value;
}
if(isset($cmd) && !empty($cmd)){
if($val->key == $key . '_container_image'){
$pathImg = $val->value;
}
if($val->key == $key.'_container_effectColor'){
$colorEffect = $val->value;
}
if($val->key == $key.'_container_opacity'){
$colorOpacity = $val->value;
}
if($val->key == $key.'_container_imageWidth'){
$imgW = $val->value;
}
if($val->key == $key.'_container_imageHeight'){
$imgH = $val->value;
}
if($pathImg !=''){
if (strpos($pathImg,'http://') !== false) {
$pathImg = $pathImg;
}
else{
/* if($_SERVER['SERVER_PORT'] !== ''){
$pathImg = 'http://' . $_SERVER['SERVER_NAME'] .':'.$_SERVER['SERVER_PORT']. JURI::root(true) .'/'. $pathImg;
}else{
$pathImg = 'http://' . $_SERVER['SERVER_NAME'] . JURI::root(true) .'/'. $pathImg;
} */
$app = JFactory::getApplication();
$preview = $app->input->getInt( 'jsn_mobilize_preview', 0 );
if ($preview) {
$pathImg = JURI::root(true) .'/'. $pathImg;
} else {
$pathImg = '/'. $pathImg;
}
}
$cssBG = ' position:relative;background:url('.$pathImg.');background-size: '.$imgW .' '. $imgH .';';
$pathImg='';
}
}
}
}
if (!empty($boxShadow)) {
$itemMobileToolContainer[$key][] = "box-shadow:" . implode(" ", $boxShadow) . ";";
$itemMobileToolContainer[$key][] = "webkit-box-shadow:" . implode(" ", $boxShadow) . ";";
}
if (!empty($border) && !empty($border['border'])) {
$borderStyle = !empty($border['border-style']) ? $border['border-style'] : "";
$borderColor = !empty($border['border-color']) ? $border['border-color'] : "";
$itemMobileToolContainer[$key][] = "border:" . $border['border'] . " " . $borderStyle . " " . $borderColor . ";";
}
if (!empty($borderModule) && !empty($borderModule['border'])) {
$borderStyle = !empty($borderModule['border-style']) ? $borderModule['border-style'] : "";
$borderColor = !empty($borderModule['border-color']) ? $borderModule['border-color'] : "";
$itemModuleSubContainer[$key][] = "border:" . $borderModule['border'] . " " . $borderStyle . " " . $borderColor . ";";
}
if($key === 'jsn_template'){
if(isset($rtl) && !empty($rtl)){
$codeCss[] = '#jsn-master .jsn-mobile-layout{text-align:'.$rtl.'}#jsn-master .jsn-mobile-layout input[type="radio"], #jsn-master .jsn-mobile-layout input[type="checkbox"]{float:none;text-align: '.$rtl.' !important}.jsn-master .jsn-narrow .jsn-row-container label{text-align: '.$rtl.' !important}';
if($rtl === 'right'){
$app = JFactory::getApplication();
$preview = $app->input->getInt( 'jsn_mobilize_preview', 0 );
if (!$preview)
{
$codeCss[] = '#jsn-menu .mobilize-menu ul.jsn-menu-mobile ul > li{ margin-right: 15px}
#jsn-menu .mobilize-menu ul.jsn-menu-mobile ul > li > a {
padding-right: 20px;
background:url(/templates/jsn_mobilize/images/icons/icons-base.png) right -334px no-repeat;}
.jsn-mobile-layout ul.jsn-menu-mobile span.jsn-menu-toggle{left:0}
#jsn-menu #jsn-logo{text-align:left !important}';
}
else
{
$codeCss[] = '#jsn-menu .mobilize-menu ul.jsn-menu-mobile ul > li{ margin-right: 15px}
#jsn-menu .mobilize-menu ul.jsn-menu-mobile ul > li > a {
padding-right: 20px;
background: url('.JURI::root(true) .'/templates/jsn_mobilize/images/icons/icons-base.png) right -334px no-repeat;}
.jsn-mobile-layout ul.jsn-menu-mobile span.jsn-menu-toggle{left:0}
#jsn-menu #jsn-logo{text-align:left !important}';
}
}
}
if(isset($cssBG) && !empty($cssBG)){
$codeCss[] = "#jsn-master{" .$cssBG."}";
}
if (!empty($itemMobileToolContainer[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout" . "{ position:relative;" . implode("", $itemMobileToolContainer[$key]) . " }";
$codeCss[] = "#jsn-master .jsn-mobile-layout #jsn-menu .row-fluid {position: relative; width: auto !important}";
}
if (!empty($itemMobileToolSubContent[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout p" . "{ " . implode("", $itemMobileToolSubContent[$key]) . " }";
}
if (!empty($itemMobileToolSubTitle[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout h1, h2, h3, h4, h5, h6" . "{ " . implode("", $itemMobileToolSubTitle[$key]) . " }";
}
if (!empty($itemMobileToolSubLink[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout a" . "{ " . implode("", $itemMobileToolSubLink[$key]) . " }";
}
}else{
if(isset($rtl) && !empty($rtl)){
if($rtl == 'left' || $rtl == 'right'){
$codeCss[] = '#jsn-master .jsn-mobile-layout #'.str_replace("_", "-", $key).' {text-align:'.$rtl.' !important}#jsn-master .jsn-mobile-layout #'.str_replace("_", "-", $key).' input[type="radio"], #jsn-master .jsn-mobile-layout #'.str_replace("_", "-", $key).' input[type="checkbox"]{float:none;text-align: '.$rtl.' !important}#jsn-master #'.str_replace("_", "-", $key).' .jsn-narrow .jsn-row-container label{text-align: '.$rtl.' !important}';
}else{
$codeCss[] = '';
}
}
if(isset($cssBG) && !empty($cssBG)){
$codeCss[] = "#jsn-master .jsn-mobile-layout #".str_replace("_", "-", $key)."{".$cssBG ."}";
}
if (!empty($itemMobileToolContainer[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " { " . implode("", $itemMobileToolContainer[$key]) . " }";
}
if (!empty($itemMobileToolSubContent[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " { " . implode("", $itemMobileToolSubContent[$key]) . " }";
}
if (!empty($itemMobileToolSubTitle[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " h1, #jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " h2, #jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " h3, #jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " h4, #jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " h5, #jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " h6{ " . implode("", $itemMobileToolSubTitle[$key]) . "!important}";
}
if (!empty($itemMobileToolSubLink[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " a { " . implode("", $itemMobileToolSubLink[$key]) . " }";
}
if (!empty($itemModuleSubContainer[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .jsn-modulecontainer{ " . implode("", $itemModuleSubContainer[$key]) . " }";
}
}
return implode("\n", array_merge($codeCss));
}
/**
* generate Style
*
* @param String $style Object Style
*
* @return style code
*/
public static function generateStyle($style) {
if ($style) {
$codeCss = array();
$font = array();
foreach ($style as $key => $value) {
// $getValue = json_decode($value);
if($key == "jsn_typestyle"){
if ($value == 'Simple' || $value == 'Retro' || $value == 'Flat' || $value == 'Modern') {
$codeCss[] = '#jsn-menu{border-bottom:1px solid #f2f2f2 !important} #jsn-menu ul li a{border-left:1px solid #f2f2f2}';
}
if ($value == 'Metro' || $value == 'Glass' || $value == 'Solid') {
$codeCss[] = '#jsn-menu ul li.dropdown{border-left:1px solid #373737 !important}';
}
}
if ($value) {
$backGroundType = array();
$valueDecode = null;
$valueStyle = null;
if (is_string($value)) {
$valueDecode = @json_decode($value);
}
if (is_null($valueDecode)) {
$valueStyle = $value;
} else {
$valueStyle = $valueDecode;
}
if (!is_null($valueStyle)) {
foreach ($valueStyle as $val) {
if (isset($val->key)) {
$getKeyStyle = explode("_", $val->key);
$getKeyStyle = $getKeyStyle[count($getKeyStyle) - 1];
if ($getKeyStyle == "backgroundType") {
$backGroundType[$val->key] = $val->value;
}
}
}
$getStyle = new JSNMobilizeHelper();
switch ($key) {
case "jsn_logo":
$logoStyle = array();
$border = array();
foreach ($valueStyle as $val) {
if (isset($val->key)) {
if (strpos($val->key, $key . "_container_") !== false) {
$keyStyle = explode("_", $val->key);
$keyStyle = $keyStyle[count($keyStyle) - 1];
if ($keyStyle != "soildColor" && $keyStyle != "gradientColor") {
if ($keyStyle == "borderThickness" || $keyStyle == "borderStyle" || $keyStyle == "borderColor") {
$logoStyle[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font, $border[$key]);
} else {
$logoStyle[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
} else {
$keyBackgroundType = str_replace($keyStyle, "", $val->key);
$keyBackgroundType = $keyBackgroundType . "backgroundType";
if (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Solid" && $keyStyle == "soildColor") {
$logoStyle[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
} elseif (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Gradient" && $keyStyle == "gradientColor") {
$logoStyle[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
}
}
if (strpos($val->key, $key . "_content_") !== false) {
$keyStyle = explode("_", $val->key);
$keyStyle = $keyStyle[count($keyStyle) - 1];
if ($keyStyle == "alignment") {
$logoStyle[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value);
}
}
}
}
if (!empty($border[$key]) && !empty($border[$key]['border'])) {
$borderStyle = !empty($border[$key]['border-style']) ? $border[$key]['border-style'] : "";
$borderColor = !empty($border[$key]['border-color']) ? $border[$key]['border-color'] : "";
$logoStyle[] = "border:" . $border[$key]['border'] . " " . $borderStyle . " " . $borderColor;
}
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . "{ " . implode("", $logoStyle) . " }";
break;
case "jsn_switcher":
$itemMenuContainer = array();
$border = array();
foreach ($valueStyle as $val) {
if (isset($val->key)) {
if (strpos($val->key, $key . "_container_") !== false) {
$keyStyle = explode("_", $val->key);
$keyStyle = $keyStyle[count($keyStyle) - 1];
if ($keyStyle != "soildColor" && $keyStyle != "gradientColor") {
if ($keyStyle == "borderThickness" || $keyStyle == "borderStyle" || $keyStyle == "borderColor") {
$itemMenuContainer[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font, $border[$key]);
} else {
$itemMenuContainer[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
} else {
$keyBackgroundType = str_replace($keyStyle, "", $val->key);
$keyBackgroundType = $keyBackgroundType . "backgroundType";
if (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Solid" && $keyStyle == "soildColor") {
$itemMenuContainer[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
} elseif (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Gradient" && $keyStyle == "gradientColor") {
$itemMenuContainer[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
}
}
}
}
if (!empty($border[$key]) && !empty($border[$key]['border'])) {
$borderStyle = !empty($border[$key]['border-style']) ? $border[$key]['border-style'] : "";
$borderColor = !empty($border[$key]['border-color']) ? $border[$key]['border-color'] : "";
$itemMenuContainer[] = "border:" . $border[$key]['border'] . " " . $borderStyle . " " . $borderColor;
}
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . "{ " . implode("", $itemMenuContainer) . " }";
break;
case "jsn_menu":
$itemMenuContainer = array();
$itemMenuSub1 = array();
$itemLinkMenuSub1 = array();
$itemMenuSub1Active = array();
$itemMenuSub2 = array();
$itemLinkMenuSub2 = array();
$itemMenuIcon = array();
$itemMenuContainerActive = array();
$border = array();
$subMenuBorder = array();
foreach ($valueStyle as $val) {
if (isset($val->key)) {
if (strpos($val->key, $key . "_container_") !== false) {
$keyStyle = explode("_", $val->key);
$keyStyle = $keyStyle[count($keyStyle) - 1];
if ($keyStyle == "borderThickness" || $keyStyle == "borderStyle" || $keyStyle == "borderColor") {
$itemMenuContainer[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font, $border);
} elseif ($keyStyle == "activeColor") {
$itemMenuContainerActive[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
} elseif ($keyStyle == "iconColor") {
$itemMenuIcon[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
} elseif ($keyStyle != "soildColor" && $keyStyle != "gradientColor") {
$itemMenuContainer[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
} else {
$keyBackgroundType = str_replace($keyStyle, "", $val->key);
$keyBackgroundType = $keyBackgroundType . "backgroundType";
if (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Solid" && $keyStyle == "soildColor") {
$itemMenuContainer[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
} elseif (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Gradient" && $keyStyle == "gradientColor") {
$itemMenuContainer[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
}
}
if($val->key == $key.'_container_rtl'){
$rtl = $val->value;
}
if (strpos($val->key, $key . "_sublevel1_") !== false) {
$keyStyle = explode("_", $val->key);
$keyStyle = $keyStyle[count($keyStyle) - 1];
if ($keyStyle == "borderThickness" || $keyStyle == "borderStyle" || $keyStyle == "borderColor") {
$itemMenuSub1[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font, $subMenuBorder);
} elseif ($keyStyle == "activeColor") {
$itemMenuSub1Active[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
} elseif ($keyStyle == "normalColor") {
$itemMenuSub1[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
} else {
$itemLinkMenuSub1[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
}
if (strpos($val->key, $key . "_sublevel2_") !== false) {
$keyStyle = explode("_", $val->key);
$keyStyle = $keyStyle[count($keyStyle) - 1];
if ($keyStyle == "normalColor") {
$itemMenuSub2[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
} elseif ($keyStyle == "activeColor") {
$itemMenuSub2Active[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
} else {
$itemLinkMenuSub2[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
}
}
}
if (!empty($border) && !empty($border['border'])) {
$borderStyle = !empty($border['border-style']) ? $border['border-style'] : "";
$borderColor = !empty($border['border-color']) ? $border['border-color'] : "";
$itemMenuContainer[] = "border:" . $border['border'] . " " . $borderStyle . " " . $borderColor . ";";
}
if (!empty($subMenuBorder) && !empty($subMenuBorder['border'])) {
$borderStyle = !empty($subMenuBorder['border-style']) ? $subMenuBorder['border-style'] : "";
$borderColor = !empty($subMenuBorder['border-color']) ? $subMenuBorder['border-color'] : "";
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .mobilize-menu ul.jsn-menu-mobile > li { " . implode("", array("border:" . $subMenuBorder['border'] . " " . $borderStyle . " " . $borderColor . ";")) . " }";
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .mobilize-menu { " . implode("", array("border:" . $subMenuBorder['border'] . " " . $borderStyle . " " . $borderColor . ";")) . " }";
}
$app = JFactory::getApplication();
$preview = $app->input->getInt( 'jsn_mobilize_preview', 0 );
if($rtl === 'left'){
if (!$preview)
{
$codeCss[] = '#jsn-menu .mobilize-menu{text-align:left}
#jsn-menu .mobilize-menu ul.jsn-menu-mobile ul > li{margin-left: 15px !important}
#jsn-menu .mobilize-menu ul.jsn-menu-mobile ul > li > a {
padding-left: 20px !important;
background:url(/templates/jsn_mobilize/images/icons/icons-base.png) left -334px no-repeat }
.jsn-mobile-layout ul.jsn-menu-mobile span.jsn-menu-toggle{right:0; left:auto}';
}
else
{
$codeCss[] = '#jsn-menu .mobilize-menu{text-align:left}
#jsn-menu .mobilize-menu ul.jsn-menu-mobile ul > li{margin-left: 15px !important}
#jsn-menu .mobilize-menu ul.jsn-menu-mobile ul > li > a {
padding-left: 20px !important;
background: url('.JURI::root(true) .'/templates/jsn_mobilize/images/icons/icons-base.png) left -334px no-repeat }
.jsn-mobile-layout ul.jsn-menu-mobile span.jsn-menu-toggle{right:0; left:auto}';
}
}elseif($rtl === 'right'){
if (!$preview)
{
$codeCss[] = '#jsn-menu #jsn-logo{text-align:left !important}
#jsn-menu .mobilize-menu{text-align:right}
#jsn-menu .mobilize-menu ul.jsn-menu-mobile ul > li{margin-right: 15px !important}
#jsn-menu .mobilize-menu ul.jsn-menu-mobile ul > li > a {
padding-right: 20px !important;
background:url(/templates/jsn_mobilize/images/icons/icons-base.png) right -334px no-repeat }
.jsn-mobile-layout ul.jsn-menu-mobile span.jsn-menu-toggle{right:auto; left:0}';
}
else
{
$codeCss[] = '#jsn-menu #jsn-logo{text-align:left !important}
#jsn-menu .mobilize-menu{text-align:right}
#jsn-menu .mobilize-menu ul.jsn-menu-mobile ul > li{margin-right: 15px !important}
#jsn-menu .mobilize-menu ul.jsn-menu-mobile ul > li > a {
padding-right: 20px !important;
background: url('.JURI::root(true) .'/templates/jsn_mobilize/images/icons/icons-base.png) right -334px no-repeat }
.jsn-mobile-layout ul.jsn-menu-mobile span.jsn-menu-toggle{right:auto; left:0}';
}
}else{
$codeCss[] = '';
}
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . "{ " . implode("", $itemMenuContainer) . " }";
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .mobilize-menu ul.jsn-menu-mobile,#" . $key . " .mobilize-menu div.jsn-menu-mobile{ " . implode("", $itemMenuSub1) . " }";
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .mobilize-menu ul.jsn-menu-mobile > li > a{ " . implode("", $itemLinkMenuSub1) . " }";
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .mobilize-menu ul.jsn-menu-mobile ul{ " . implode("", $itemMenuSub2) . " }";
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .mobilize-menu ul.jsn-menu-mobile ul li a{ " . implode("", $itemLinkMenuSub2) . " }";
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .mobilize-menu > li > span.active{ " . implode("", $itemMenuContainerActive) . " }";
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .mobilize-menu > li > ul > li.sub-menu-active{ " . implode("", $itemMenuSub1Active) . " }";
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .mobilize-menu > li > ul > li.sub-menu-active > ul li.current{ " . implode("", $itemMenuSub2Active) . " }";
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .mobilize-menu > li > span.jsn-menu-toggle i { " . implode("", $itemMenuIcon) . " }";
break;
case "jsn_mobile_tool":
$codeCss[] = JSNMobilizeHelper :: getStyleDesign($key,$valueStyle,$backGroundType);
break;
case "jsn_content_top":
$codeCss[] = JSNMobilizeHelper :: getStyleDesign($key,$valueStyle,$backGroundType);
case "jsn_user_top":
$codeCss[] = JSNMobilizeHelper :: getStyleDesign($key,$valueStyle,$backGroundType);
break;
case "jsn_user_bottom":
$codeCss[] = JSNMobilizeHelper :: getStyleDesign($key,$valueStyle,$backGroundType);
break;
case "jsn_content_bottom":
$codeCss[] = JSNMobilizeHelper :: getStyleDesign($key,$valueStyle,$backGroundType);
break;
case "jsn_footer":
$codeCss[] = JSNMobilizeHelper :: getStyleDesign($key,$valueStyle,$backGroundType);
break;
case "jsn_mainbody":
$codeCss[] = JSNMobilizeHelper :: getStyleDesign($key,$valueStyle,$backGroundType);
break;
case "jsn_template":
$codeCss[] = JSNMobilizeHelper :: getStyleDesign($key,$valueStyle,$backGroundType);
break;
default:
$itemModuleContainer = array();
$itemModuleSubContainer = array();
$itemModuleSubTitle = array();
$itemModuleSubContent = array();
$itemModuleSubLink = array();
$boxShadow = array();
$borderContainer = array();
$borderModule = array();
foreach ($valueStyle as $val) {
if (isset($val->key)) {
if (strpos($val->key, $key . "_container_") !== false) {
$keyStyle = explode("_", $val->key);
$keyStyle = $keyStyle[count($keyStyle) - 1];
if ($keyStyle != "soildColor" && $keyStyle != "gradientColor") {
if ($keyStyle == "borderThickness" || $keyStyle == "borderStyle" || $keyStyle == "borderColor") {
$itemModuleContainer[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font, $borderContainer);
} else {
$itemModuleContainer[] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
} else {
$keyBackgroundType = str_replace($keyStyle, "", $val->key);
$keyBackgroundType = $keyBackgroundType . "backgroundType";
if (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Solid" && $keyStyle == "soildColor") {
$itemModuleContainer[$key][] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
} elseif (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Gradient" && $keyStyle == "gradientColor") {
$itemModuleContainer[$key][] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
}
}
if (strpos($val->key, $key . "_module_tabContainer_") !== false) {
$keyStyle = explode("_", $val->key);
$keyStyle = $keyStyle[count($keyStyle) - 1];
if ($keyStyle != "soildColor" && $keyStyle != "gradientColor") {
if ($keyStyle == "borderThickness" || $keyStyle == "borderStyle" || $keyStyle == "borderColor") {
$css = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font, $borderModule);
} else {
$css = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font, $boxShadow);
}
} else {
$keyBackgroundType = str_replace($keyStyle, "", $val->key);
$keyBackgroundType = $keyBackgroundType . "backgroundType";
if (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Solid" && $keyStyle == "soildColor") {
$css = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
} elseif (!empty($backGroundType[$keyBackgroundType]) && $backGroundType[$keyBackgroundType] == "Gradient" && $keyStyle == "gradientColor") {
$css = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
}
if ($css) {
$itemModuleSubContainer[$key][] = $css;
}
}
if (strpos($val->key, $key . "_module_tabContent_title_") !== false) {
$itemModuleSubTitle[$key][] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
if (strpos($val->key, $key . "_module_tabContent_body_") !== false) {
$itemModuleSubContent[$key][] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
if (strpos($val->key, $key . "_module_tabContent_link_") !== false) {
$itemModuleSubLink[$key][] = JSNMobilizeHelper::getStyleOptions($val->key, $val->value, $font);
}
}
}
if (!empty($borderContainer) && !empty($borderContainer['border'])) {
$borderStyle = !empty($borderContainer['border-style']) ? $borderContainer['border-style'] : "";
$borderColor = !empty($borderContainer['border-color']) ? $borderContainer['border-color'] : "";
$itemModuleContainer[$key][] = "border:" . $borderContainer['border'] . " " . $borderStyle . " " . $borderColor . ";";
}
if (!empty($borderModule) && !empty($borderModule['border'])) {
$borderStyle = !empty($borderModule['border-style']) ? $borderModule['border-style'] : "";
$borderColor = !empty($borderModule['border-color']) ? $borderModule['border-color'] : "";
$itemModuleSubContainer[$key][] = "border:" . $borderModule['border'] . " " . $borderStyle . " " . $borderColor . ";";
}
if (!empty($boxShadow)) {
$itemModuleSubContainer[$key][] = "box-shadow:" . implode(" ", $boxShadow) . ";";
$itemModuleSubContainer[$key][] = "webkit-box-shadow:" . implode(" ", $boxShadow) . ";";
}
if (!empty($itemModuleContainer[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . "{ " . implode("", $itemModuleContainer[$key]) . " }";
}
if (!empty($itemModuleSubTitle[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .jsn-moduletitle{ " . implode("", $itemModuleSubTitle[$key]) . " }";
}
if (!empty($itemModuleSubContainer[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .jsn-modulecontainer{ " . implode("", $itemModuleSubContainer[$key]) . " }";
}
if (!empty($itemModuleSubContent[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " .jsn-modulecontainer{ " . implode("", $itemModuleSubContent[$key]) . " }";
}
if (!empty($itemModuleSubLink[$key])) {
$codeCss[] = "#jsn-master .jsn-mobile-layout #" . str_replace("_", "-", $key) . " a{ " . implode("", $itemModuleSubLink[$key]) . " }";
}
break;
}
}
}
}
}
return implode("\n", array_merge($font, $codeCss));
}
/**
* get Style Options
*
* @param String $key Object Style
*
* @param String $value Object Style
*
* @param null &$font Object Font
*
* @param null &$option Object Style
*
* @return style code
*/
public static function getStyleOptions($key, $value, &$font = null, &$option = null) {
$keyStyle = explode("_", $key);
$css = array();
if ($keyStyle && !empty($value)) {
$keyStyle = $keyStyle[count($keyStyle) - 1];
switch ($keyStyle) {
case "normalColor":
case "soildColor":
case "gradientColor":
if (strpos($value, "(")) {
preg_match('/(.*?)\((.*?), (.*?)\s(.*?), (.*?)\s(.*?)\)/', $value, $matches, PREG_OFFSET_CAPTURE);
$value1 = !empty($matches[2][0]) ? $matches[2][0] : '';
$value2 = !empty($matches[3][0]) ? $matches[3][0] : '';
$value3 = !empty($matches[4][0]) ? $matches[4][0] : '';
$value4 = !empty($matches[5][0]) ? $matches[5][0] : '';
$value5 = !empty($matches[6][0]) ? $matches[6][0] : '';
$css[] = "background: " . $value2 . ";";
$css[] = "background:linear-gradient(135deg, " . $value2 . " " . $value3 . "," . $value4 . " " . $value5 . ");";
$css[] = "background:-moz-linear-gradient(" . $value1 . ", " . $value2 . " " . $value3 . ", " . $value4 . " " . $value5 . ");";
$css[] = "background:-webkit-gradient(linear, left top, right bottom, color-stop(" . $value3 . "," . $value2 . "), color-stop(" . $value5 . "," . $value4 . "));";
$css[] = "background:-webkit-linear-gradient(" . $value1 . ", " . $value2 . " " . $value3 . "," . $value4 . " " . $value5 . ");";
$css[] = "background:-o-linear-gradient(" . $value1 . ", " . $value2 . " " . $value3 . "," . $value4 . " " . $value5 . ");";
$css[] = "background:-ms-linear-gradient(" . $value1 . ", " . $value2 . " " . $value3 . "," . $value4 . " " . $value5 . ");";
$css[] = "filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='" . $value2 . "', endColorstr='" . $value4 . "',GradientType=1 );";
} else {
$css[] = "background:" . $value . ";";
}
break;
case "activeColor":
$css[] = "background:" . $value . ";";
break;
case "borderThickness":
$option['border'] = $value . "px";
break;
case "borderColor":
$option['border-color'] = $value;
break;
case "borderStyle":
$option['border-style'] = $value;
break;
case "fontFace":
$css[] = "font-family:" . $value . ";";
if (!in_array($value, array('Verdana', 'Georgia', 'Courier New', 'Arial', 'Tahoma', 'Trebuchet MS'))) {
$font[] = "@import url(http://fonts.googleapis.com/css?family=" . str_replace(" ", "+", $value) . ");";
}
break;
case "fontStyle":
if ($value == "bold") {
$css[] = "font-weight:" . $value . ";";
} else {
$css[] = "font-style:" . $value . ";";
}
break;
case "fontSize":
$css[] = "font-size:" . $value . "px;";
break;
case "iconColor":
$css[] = "color:" . $value . ";";
if ($value != "black") {
$app = JFactory::getApplication();
$preview = $app->input->getInt( 'jsn_mobilize_preview', 0 );
if (!$preview)
{
$css[] = "background-image:url(/media/jui/img/glyphicons-halflings-white.png);";
}
else
{
$css[] = "background-image: url('" . JURI::root(true) . "/media/jui/img/glyphicons-halflings-white.png');";
}
}
$css[] = "color:" . $value . ";";
break;
case "linkColor":
case "fontColor":
$css[] = 'color:' . $value . ';';
break;
case "roundedCornerRadius":
$css[] = "border-radius:" . $value . "px;";
break;
case "shadowSpread":
$option[] = "0 1px 2px " . $value . "px";
break;
case "shadowColor":
$option[] = "rgba(" . implode(",", JSNMobilizeHelper::hex2rgb($value)) . ",0.5)";
break;
case "marginleft":
$css[] = "margin-left:" . $value . "px;";
break;
case "marginright":
$css[] = "margin-right:" . $value . "px;";
break;
case "margintop":
$css[] = "margin-top:" . $value . "px;";
break;
case "marginbottom":
$css[] = "margin-bottom:" . $value . "px;";
break;
case "paddingleft":
$css[] = "padding-left:" . $value . "px;";
break;
case "paddingright":
$css[] = "padding-right:" . $value . "px;";
break;
case "paddingtop":
$css[] = "padding-top:" . $value . "px;";
break;
case "paddingbottom":
$css[] = "padding-bottom:" . $value . "px;";
break;
case "alignment":
$css[] = "text-align:" . $value . ";";
break;
}
}
//var_dump($css);
return implode("\n", $css);
}
/**
* @param $hex hexcode
*
* @return array
*/
public static function hex2rgb($hex) {
$hex = str_replace("#", "", $hex);
if (strlen($hex) == 3) {
$r = hexdec(substr($hex, 0, 1) . substr($hex, 0, 1));
$g = hexdec(substr($hex, 1, 1) . substr($hex, 1, 1));
$b = hexdec(substr($hex, 2, 1) . substr($hex, 2, 1));
} else {
$r = hexdec(substr($hex, 0, 2));
$g = hexdec(substr($hex, 2, 2));
$b = hexdec(substr($hex, 4, 2));
}
$rgb = array($r, $g, $b);
//return implode(",", $rgb); // returns the rgb values separated by commas
return $rgb; // returns an array with the rgb values
}
public static function checkVMVersion($comparedVersion = '2.9.8')
{
if (!class_exists( 'VmConfig' ))
{
$vmConfigPath = JPATH_ROOT . '/administrator/components/com_virtuemart/helpers/config.php';
if (file_exists($vmConfigPath))
{
require_once ($vmConfigPath);
}
else
{
return false;
}
}
$installedVersion = VmConfig::getInstalledVersion();
if (version_compare($installedVersion, $comparedVersion, '>='))
{
return true;
}
return false;
}
}