__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2025 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
// No direct access
defined('_JEXEC') or die('Restricted access');
/**
* Global Colors traits
*/
trait GlobalColorsTrait
{
/**
* Get the default colors from the template style (Helix)
*
* @return mixed
* @since 5.7.0
*/
private function getDefaultThemeColors()
{
$colorPrefix = 'sppb';
$keysToExtract = [
"topbar_bg_color",
"topbar_text_color",
"header_bg_color",
"logo_text_color",
"menu_text_color",
"menu_text_hover_color",
"menu_text_active_color",
"menu_dropdown_bg_color",
"menu_dropdown_text_color",
"menu_dropdown_text_hover_color",
"menu_dropdown_text_active_color",
"offcanvas_menu_icon_color",
"offcanvas_menu_bg_color",
"offcanvas_menu_items_and_items_color",
"offcanvas_menu_active_menu_item_color",
"text_color",
"bg_color",
"link_color",
"link_hover_color",
"footer_bg_color",
"footer_text_color",
"footer_link_color",
"footer_link_hover_color",
];
$db = Factory::getDbo();
$query = $db->getQuery(true);
$query->select(['params'])
->from($db->quoteName('#__template_styles'))
->where($db->quoteName('client_id') . ' = 0')
->where($db->quoteName('home') . ' = 1');
$db->setQuery($query);
try
{
$ext = $db->loadObject();
$styleObj = !empty($ext->params) ? $ext->params : "{}";
$styleObjDecoded = \json_decode($styleObj);
$isCustomTemplateStyle = isset($styleObjDecoded->custom_style) && $styleObjDecoded->custom_style == 1;
if(!$isCustomTemplateStyle && isset($styleObjDecoded->preset) && !empty($styleObjDecoded->preset)) {
$styleObjDecoded = json_decode($styleObjDecoded->preset);
}
$newStyleObj = new \stdClass();
foreach ($keysToExtract as $key) {
if (isset($styleObjDecoded->$key)) {
$newStyleObj->$key = $styleObjDecoded->$key;
}
}
$styleObjDecoded = $newStyleObj;
if (empty($styleObjDecoded->custom_style) && !empty($styleObjDecoded->preset)) {
$styleObjDecoded = json_decode($styleObjDecoded->preset);
}
$colorValues = [];
foreach ($styleObjDecoded as $key => $value) {
if (is_string($value) && !empty($value)) {
array_push($colorValues, [
'path' => [$colorPrefix . '-' . str_replace('_', '-', strtolower
($key)), ''],
'value' => $value,
'isTemplateColor' => true,
]);
}
}
return json_encode($colorValues);
} catch (\Exception $e) {
return "{}";
}
}
public function globalColors()
{
$method = $this->getInputMethod();
$this->checkNotAllowedMethods(['POST', 'PUT', 'PATCH', 'DELETE'], $method);
if ($method === 'GET')
{
$this->getColorVariables();
}
}
/**
* Get color variables
*
* @return mixed
*
* @since 5.7.0
*/
private function getColorVariables()
{
$params = ComponentHelper::getParams('com_sppagebuilder');
$colorVariables = [];
if ($params->exists('sppb_color_variables'))
{
$colorVariables = $params->get('sppb_color_variables');
}
$themeColors = $this->getDefaultThemeColors();
$colorVariables = array_merge($colorVariables, json_decode($themeColors, true));
$this->sendResponse($colorVariables);
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| AddToMenuTrait.php | File | 2.69 KB | 0664 |
|
| AddonsTrait.php | File | 7.77 KB | 0664 |
|
| AiContentTrait.php | File | 10 KB | 0664 |
|
| AiContentUploadTrait.php | File | 8.14 KB | 0664 |
|
| AllFontsTrait.php | File | 1.32 KB | 0664 |
|
| AppConfig.php | File | 5.33 KB | 0664 |
|
| ApplicationSettingsTrait.php | File | 16.47 KB | 0664 |
|
| BulkExportTrait.php | File | 16.66 KB | 0664 |
|
| BulkImportTrait.php | File | 18.55 KB | 0664 |
|
| CommonTrait.php | File | 4.56 KB | 0664 |
|
| ExportTrait.php | File | 11.07 KB | 0664 |
|
| FontsTrait.php | File | 12.45 KB | 0664 |
|
| GlobalColorsTrait.php | File | 3.37 KB | 0664 |
|
| IconProvidersTrait.php | File | 928 B | 0664 |
|
| IconsListTrait.php | File | 1.39 KB | 0664 |
|
| IconsTrait.php | File | 14.71 KB | 0664 |
|
| ImageShapesTrait.php | File | 5.56 KB | 0664 |
|
| ImportTrait.php | File | 16.82 KB | 0664 |
|
| IntegrationTrait.php | File | 4.64 KB | 0664 |
|
| LanguageTrait.php | File | 6.6 KB | 0664 |
|
| LayoutImportTrait.php | File | 2.89 KB | 0664 |
|
| Media.php | File | 17.78 KB | 0664 |
|
| MediaFolderTrait.php | File | 9.5 KB | 0664 |
|
| MenuByPageIdTrait.php | File | 952 B | 0664 |
|
| MenuListTrait.php | File | 791 B | 0664 |
|
| PageContentById.php | File | 1.22 KB | 0664 |
|
| PageDuplicateTrait.php | File | 1.35 KB | 0664 |
|
| PageOrderTrait.php | File | 1.16 KB | 0664 |
|
| PageTemplateTrait.php | File | 3.1 KB | 0664 |
|
| PageTrait.php | File | 9.74 KB | 0664 |
|
| ParentItemsTrait.php | File | 1.01 KB | 0664 |
|
| PluginsTrait.php | File | 2.93 KB | 0664 |
|
| PopupTemplateTrait.php | File | 2.34 KB | 0664 |
|
| ProductPageContentById.php | File | 2 KB | 0664 |
|
| PurgeCssTrait.php | File | 810 B | 0664 |
|
| SaveIgTokenTrait.php | File | 2.01 KB | 0664 |
|
| SavedAddonsOrderTrait.php | File | 1.19 KB | 0664 |
|
| SavedAddonsTrait.php | File | 4.06 KB | 0664 |
|
| SavedPresetsTrait.php | File | 3.17 KB | 0664 |
|
| SavedSectionsOrderTrait.php | File | 1.21 KB | 0664 |
|
| SavedSectionsTrait.php | File | 4.12 KB | 0664 |
|
| SectionLibraryTrait.php | File | 2.84 KB | 0664 |
|
| SettingsTrait.php | File | 1.07 KB | 0664 |
|
| UploadFontTrait.php | File | 5.48 KB | 0664 |
|