File "unitecreator_settings.class.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/unlimited-elements-for-elementor/inc_php/unitecreator_settings.class.php
File
size: 27.9 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
defined('UNLIMITED_ELEMENTS_INC') or die('Restricted access');
class UniteCreatorSettingsWork extends UniteSettingsAdvancedUC
{
const TYPE_FONT_PANEL = "fonts_panel";
const TYPE_ITEMS = "items";
const INSTAGRAM_DEFAULT_VALUE = "@gianlucavacchi";
protected $arrAddAttributes = array("simple_mode", "all_cats_mode", "add_current_posts");
private $currentAddon;
private function a___________GETTERS_________()
{
}
public function getSettingsCreatorFormat()
{
$arrParams = array();
foreach ($this->arrSettings as $setting) {
$settingName = UniteFunctionsUC::getVal($setting, "name");
$param = array();
$origType = UniteFunctionsUC::getVal($setting, "origtype");
$function = UniteFunctionsUC::getVal($setting, "function");
UniteFunctionsUC::validateNotEmpty($origType, "settings original type for: {$settingName}");
$param["type"] = $origType;
$param["title"] = UniteFunctionsUC::getVal($setting, "text");
$param["name"] = UniteFunctionsUC::getVal($setting, "name");
$param["description"] = UniteFunctionsUC::getVal($setting, "description");
$param["default_value"] = UniteFunctionsUC::getVal($setting, "default_value");
$param["placeholder"] = UniteFunctionsUC::getVal($setting, "placeholder");
if (!empty($function)) {
$param["function"] = $function;
}
$classAdd = UniteFunctionsUC::getVal($setting, UniteSettingsUC::PARAM_CLASSADD);
if (!empty($classAdd)) {
$param[UniteSettingsUC::PARAM_CLASSADD] = $classAdd;
}
$addParams = UniteFunctionsUC::getVal($setting, UniteSettingsUC::PARAM_ADDPARAMS);
if (!empty($addParams)) {
$param[UniteSettingsUC::PARAM_ADDPARAMS] = $addParams;
}
$isMultiple = UniteFunctionsUC::getVal($setting, "is_multiple");
if (!empty($isMultiple)) {
$param["is_multiple"] = true;
}
$elementorCondition = UniteFunctionsUC::getVal($setting, "elementor_condition");
if (!empty($elementorCondition)) {
$param["elementor_condition"] = $elementorCondition;
}
$addDynamic = UniteFunctionsUC::getVal($setting, "add_dynamic");
$addDynamic = UniteFunctionsUC::strToBool($addDynamic);
if ($addDynamic) {
$param["add_dynamic"] = true;
}
$labelBlock = UniteFunctionsUC::getVal($setting, "label_block");
if (!empty($labelBlock)) {
$param["label_block"] = $labelBlock;
}
$disabled = UniteFunctionsUC::getVal($setting, "disabled");
if (!empty($disabled)) {
$param["disabled"] = $disabled;
}
$items = UniteFunctionsUC::getVal($setting, "items");
if (!empty($items)) {
$param["options"] = $items;
}
$arrParams[] = $param;
}
return $arrParams;
}
public function getSettingsAsCreatorParams()
{
$arrParams = array();
foreach ($this->arrSettings as $setting) {
$param = array();
$param["type"] = "uc_textfield";
$param["name"] = UniteFunctionsUC::getVal($setting, "name");
$param["title"] = UniteFunctionsUC::getVal($setting, "text");
$param["description"] = UniteFunctionsUC::getVal($setting, "description");
$param["uc_setting"] = $setting;
$arrParams[] = $param;
}
return $arrParams;
}
public function getMultipleCreatorParams($param)
{
if (!empty($this->arrSettings)) {
UniteFunctionsUC::throwError("the settings should be empty for this operation");
}
$this->addByCreatorParam($param);
$arrParams = $this->getSettingsCreatorFormat();
return $arrParams;
}
public function getArrUCSettingTypes()
{
$arrTypes = array("uc_textfield", UniteCreatorDialogParam::PARAM_NUMBER, "uc_textarea", "uc_editor", "uc_radioboolean", "uc_checkbox", "uc_dropdown", "uc_colorpicker", "uc_image", "uc_mp3", "uc_icon", UniteCreatorDialogParam::PARAM_ICON_LIBRARY, UniteCreatorDialogParam::PARAM_SHAPE, "uc_hr", "uc_font_override", UniteCreatorDialogParam::PARAM_POST, UniteCreatorDialogParam::PARAM_POSTS_LIST, "uc_statictext", UniteCreatorDialogParam::PARAM_MENU, UniteCreatorDialogParam::PARAM_FORM);
return $arrTypes;
}
private function a________SETTINGS_TYPES_________()
{
}
public function addImage($name, $defaultValue = "", $text = "", $arrParams = array())
{
parent::addImage($name, $defaultValue, $text, $arrParams);
$lastIndex = count($this->arrSettings) - 1;
$this->arrSettings[$lastIndex] = $this->checkParamsSource($this->arrSettings[$lastIndex]);
}
public function addMp3($name, $defaultValue = "", $text = "", $arrParams = array())
{
parent::addMp3($name, $defaultValue, $text, $arrParams);
$lastIndex = count($this->arrSettings) - 1;
$this->arrSettings[$lastIndex] = $this->checkParamsSource($this->arrSettings[$lastIndex]);
}
protected function addSettingsProvider($type, $name, $value, $title, $extra)
{
dmp("function for override: addSettingsProvider ");
exit;
}
protected function addPostTermsPicker($name, $value, $title, $extra)
{
dmp("addPostsListPicker - function for override");
exit;
}
protected function addListingPicker($name, $value, $title, $extra)
{
dmp("addListingPicker - function for override");
exit;
}
protected function addWooCatsPicker($name, $value, $title, $extra)
{
dmp("addWooCatsPicker - function for override");
exit;
}
protected function addUsersPicker($name, $value, $title, $extra)
{
dmp("addUsersPicker - function for override");
exit;
}
protected function addTemplatePicker($name, $value, $title, $extra)
{
dmp("addTemplatePicker - function for override");
exit;
}
protected function addPostsListPicker($name, $value, $title, $extra)
{
dmp("addPostsListPicker - function for override");
exit;
}
protected function addBackgroundSettings($name, $value, $title, $param)
{
dmp("addBackgroundSettings - function for override");
exit;
}
protected function addMenuPicker($name, $value, $title, $extra)
{
dmp("addMenuPicker - function for override");
exit;
}
protected function addFormSettings($name, $value, $title, $extra)
{
$objForm = new UniteCreatorForm();
$objForm->addFormSettings($this, $name, $value, $title, $extra);
}
protected function addInstagramSelector($name, $value, $title, $extra)
{
$defaultMaxItems = UniteFunctionsUC::getVal($extra, "max_items");
if (is_numeric($defaultMaxItems) == false || $defaultMaxItems < 1) {
$defaultMaxItems = "";
}
$objServies = new UniteServicesUC();
$objServies->includeInstagramAPI();
$accessData = HelperInstaUC::getInstagramSavedAccessData();
$accessToken = UniteFunctionsUC::getVal($accessData, "access_token");
$username = UniteFunctionsUC::getVal($accessData, "username");
if (!empty($accessToken)) {
$params = array();
$params["origtype"] = UniteCreatorDialogParam::PARAM_STATIC_TEXT;
$text = __("Get data from instagram user: ", "unlimited-elements-for-elementor");
$this->addStaticText($text . $username, $name, $params);
} else {
$params = array();
$params["origtype"] = UniteCreatorDialogParam::PARAM_STATIC_TEXT;
$linkSettings = HelperUC::getViewUrl(GlobalsUnlimitedElements::VIEW_SETTINGS_ELEMENTOR);
$htmlLink = HelperHtmlUC::getHtmlLink($linkSettings, __("General Settings", "unlimited-elements-for-elementor"), "", "", true);
$description = esc_html__("Type instagram user (@username). This method is deprecated. Please connect with your instagram user from general settings", "unlimited-elements-for-elementor");
$params = array("description" => $description);
if (empty($value)) {
$value = self::INSTAGRAM_DEFAULT_VALUE;
}
$params["origtype"] = UniteCreatorDialogParam::PARAM_TEXTFIELD;
$this->addTextBox($name, $value, esc_html__("Instagram User", "unlimited-elements-for-elementor"), $params);
}
$params = array();
$params["origtype"] = UniteCreatorDialogParam::PARAM_TEXTFIELD;
$desciption = __("Number of instagram items. Leave empty for default number ( %d ) set by the widget", "unlimited-elements-for-elementor");
$desciption = sprintf($desciption, $defaultMaxItems);
$params["description"] = $desciption;
$this->addTextBox($name . "_num_items", $defaultMaxItems, esc_html__("Number Of Items", "unlimited-elements-for-elementor"), $params);
$params = array();
$params["origtype"] = UniteCreatorDialogParam::PARAM_HR;
$this->addHr("hr_after_insta", $params);
}
public function addFontPanel($arrParamNames, $arrFontsData, $name = null, $options = array())
{
$value = "";
$arrParams = array();
$arrParams["font_param_names"] = $arrParamNames;
if (!empty($options)) {
$arrParams = array_merge($arrParams, $options);
}
if (empty($name)) {
$name = "uc_fonts_panel";
}
$this->add($name, $arrFontsData, self::PARAM_NOTEXT, self::TYPE_FONT_PANEL, $arrParams);
}
public function addItemsPanelRepeater($addon, $source)
{
$itemsType = $addon->getItemsType();
if ($itemsType == UniteCreatorAddon::ITEMS_TYPE_IMAGE) {
$this->addItemsPanel($addon, $source);
return false;
}
$arrDefaults = $addon->getArrItemsForConfig();
$objSettings = $addon->getSettingsItemsObject();
$text = self::PARAM_NOTEXT;
$this->addRepeater("uc_items_editor", $objSettings, $arrDefaults, $text);
}
public function addItemsPanel($addon, $source = null)
{
$value = "";
$arrParams = array();
if (!empty($source)) {
$arrParams["source"] = $source;
}
$objManager = new UniteCreatorManagerInline();
$objManager->setStartAddon($addon);
$arrParams["items_manager"] = $objManager;
$this->add("uc_items_editor", "", self::PARAM_NOTEXT, self::TYPE_ITEMS, $arrParams);
}
public function addTypographySetting($name, $value, $title, $extra)
{
$this->add($name, $value, $title, self::TYPE_TYPOGRAPHY, $extra);
}
public function addDimentionsSetting($name, $value, $title, $extra)
{
$this->add($name, $value, $title, self::TYPE_DIMENTIONS, $extra);
}
private function a__________SETTERS_________()
{
}
public function setCurrentAddon(UniteCreatorAddon $addon)
{
$this->currentAddon = $addon;
}
private function checkParamsSource($arrParams)
{
$source = UniteFunctionsUC::getVal($arrParams, "source");
if ($source == "addon") {
if (empty($this->currentAddon)) {
UniteFunctionsUC::throwError("You must set current addon before init settings for addon related image select option");
}
$urlAssets = $this->currentAddon->getUrlAssets();
$arrParams["url_base"] = $urlAssets;
}
return $arrParams;
}
public static function isMultipleUCSettingType($type)
{
switch ($type) {
case UniteCreatorDialogParam::PARAM_POSTS_LIST:
case UniteCreatorDialogParam::PARAM_CONTENT:
case UniteCreatorDialogParam::PARAM_INSTAGRAM:
case UniteCreatorDialogParam::PARAM_POST_TERMS:
case UniteCreatorDialogParam::PARAM_WOO_CATS:
case UniteCreatorDialogParam::PARAM_USERS:
case UniteCreatorDialogParam::PARAM_TEMPLATE:
case "uc_filters_repeater_params":
case UniteCreatorDialogParam::PARAM_LISTING:
return true;
break;
}
return false;
}
public function addImageBaseSettings()
{
$extra = array("origtype" => "uc_image");
$this->addImage("image", "", "Image", $extra);
$extra = array("origtype" => "uc_textarea");
$this->addTextArea("description", "", esc_html__("Description", "unlimited-elements-for-elementor"), $extra);
}
private function addVisibleInElementorOnlySetting($settingName)
{
$this->addStaticText("{$settingName} setting will be visible in elementor");
}
protected function addFiltersItemSelector($param)
{
dmp("addFiltersItemSelector - function for override");
exit;
}
public function addByCreatorParam($param, $inputValue = null)
{
$arrReadySetting = UniteFunctionsUC::getVal($param, "uc_setting");
if (!empty($arrReadySetting)) {
$classAdd = UniteFunctionsUC::getVal($arrReadySetting, UniteSettingsUC::PARAM_CLASSADD);
$arrReadySetting[UniteSettingsUC::PARAM_CLASSADD] = $classAdd;
if (!empty($inputValue)) {
$arrReadySetting["value"] = $inputValue;
}
$this->addSettingByArray($arrReadySetting);
return false;
}
$type = UniteFunctionsUC::getVal($param, "type");
$title = UniteFunctionsUC::getVal($param, "title");
$name = UniteFunctionsUC::getVal($param, "name");
$description = UniteFunctionsUC::getVal($param, "description");
$defaultValue = UniteFunctionsUC::getVal($param, "default_value");
$value = UniteFunctionsUC::getVal($param, "value", $defaultValue);
$unit = UniteFunctionsUC::getVal($param, "unit");
if ($unit == "other") {
$unit = UniteFunctionsUC::getVal($param, "unit_custom");
}
$extra = array();
if (!empty($description)) {
$extra["description"] = $description;
}
if (!empty($unit)) {
$extra["unit"] = $unit;
}
$extra["origtype"] = $type;
foreach ($this->arrAddAttributes as $attributeName) {
$attributeValue = UniteFunctionsUC::getVal($param, $attributeName);
if (!empty($attributeValue)) {
$extra[$attributeName] = $attributeValue;
}
}
$isMultipleSettingType = self::isMultipleUCSettingType($type);
$isUpdateValue = true;
if ($isMultipleSettingType && !empty($inputValue)) {
$value = $inputValue;
$isUpdateValue = false;
}
switch ($type) {
case "uc_filters_repeater_params":
$this->addFiltersItemSelector($param);
break;
case "uc_editor":
$this->addEditor($name, $value, $title, $extra);
break;
case "uc_textfield":
$this->addTextBox($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_LINK:
$this->addTextBox($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_NUMBER:
$extra["class"] = UniteCreatorSettingsOutput::INPUT_CLASS_NUMBER;
$this->addTextBox($name, $value, $title, $extra);
$isResponsive = UniteFunctionsUC::getVal($param, "is_responsive");
$isResponsive = UniteFunctionsUC::strToBool($isResponsive);
if ($isResponsive == true) {
$valueTablet = UniteFunctionsUC::getVal($param, "default_value_tablet");
$valueMobile = UniteFunctionsUC::getVal($param, "default_value_mobile");
$this->addTextBox($name . "_tablet", $valueTablet, $title . " - Tablet", $extra);
$this->addTextBox($name . "_mobile", $valueMobile, $title . " - Mobile", $extra);
}
break;
case "uc_radioboolean":
$arrItems = array();
$arrItems[$param["true_name"]] = $param["true_value"];
$arrItems[$param["false_name"]] = $param["false_value"];
$extra["special_design"] = true;
$this->addRadio($name, $arrItems, $title, $value, $extra);
break;
case "uc_textarea":
$this->addTextArea($name, $value, $title, $extra);
break;
case "uc_checkbox":
$textNear = UniteFunctionsUC::getVal($param, "text_near");
$isChecked = UniteFunctionsUC::getVal($param, "is_checked");
$isChecked = UniteFunctionsUC::strToBool($isChecked);
$this->addCheckbox($name, $isChecked, $title, $textNear, $extra);
break;
case "uc_dropdown":
$options = UniteFunctionsUC::getVal($param, "options");
$this->addSelect($name, $options, $title, $value, $extra);
break;
case UniteCreatorDialogParam::PARAM_MULTIPLE_SELECT:
$options = UniteFunctionsUC::getVal($param, "options");
$this->addMultiSelect($name, $options, $title, $value, $extra);
break;
case "uc_colorpicker":
$this->addColorPicker($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_ADDONPICKER:
$extra["addontype"] = UniteFunctionsUC::getVal($param, "addon_type");
$this->addAddonPicker($name, $value, $title, $extra);
break;
case "uc_image":
$this->addImage($name, $value, $title, $extra);
break;
case "uc_mp3":
$this->addMp3($name, $value, $title, $extra);
break;
case "uc_imagebase":
$this->addImageBaseSettings();
break;
case "uc_statictext":
$this->addStaticText($title, $name, $extra);
$isUpdateValue = false;
break;
case UniteCreatorDialogParam::PARAM_ICON:
$this->addIconPicker($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_ICON_LIBRARY:
$this->addIconPicker($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_SHAPE:
$this->addShapePicker($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_MAP:
$this->addGoogleMap($name, $value, $title, $extra);
break;
case "uc_hr":
$this->addHr($name);
$isUpdateValue = false;
break;
case "uc_font_override":
break;
case UniteCreatorDialogParam::PARAM_INSTAGRAM:
$extra["max_items"] = UniteFunctionsUC::getVal($param, "max_items");
$this->addInstagramSelector($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_POST:
$this->addPostPicker($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_POSTS_LIST:
$extra["for_woocommerce_products"] = UniteFunctionsUC::getVal($param, "for_woocommerce_products");
$extra["default_max_posts"] = UniteFunctionsUC::getVal($param, "default_max_posts");
$this->addPostsListPicker($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_POST_TERMS:
$extra["for_woocommerce"] = UniteFunctionsUC::getVal($param, "for_woocommerce");
$this->addPostTermsPicker($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_WOO_CATS:
$this->addWooCatsPicker($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_LISTING:
$this->addListingPicker($name, $value, $title, $param);
break;
case UniteCreatorDialogParam::PARAM_WOO_CATS:
$this->addWooCatsPicker($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_USERS:
$this->addUsersPicker($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_TEMPLATE:
$this->addTemplatePicker($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_DATASET:
break;
case UniteCreatorDialogParam::PARAM_CONTENT:
$this->addContentSelector($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_MENU:
$this->addMenuPicker($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_FORM:
$this->addFormSettings($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_TYPOGRAPHY:
$this->addTypographySetting($name, $value, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_PADDING:
case UniteCreatorDialogParam::PARAM_MARGINS:
case UniteCreatorDialogParam::PARAM_BORDER_DIMENTIONS:
$prefix = "desktop_";
$addValue = array();
$addValue["top"] = UniteFunctionsUC::getVal($param, "{$prefix}top");
$addValue["bottom"] = UniteFunctionsUC::getVal($param, "{$prefix}bottom");
$addValue["left"] = UniteFunctionsUC::getVal($param, "{$prefix}left");
$addValue["right"] = UniteFunctionsUC::getVal($param, "{$prefix}right");
$addValue["units"] = UniteFunctionsUC::getVal($param, "units");
$isResponsive = UniteFunctionsUC::getVal($param, "is_responsive");
$isResponsive = UniteFunctionsUC::strToBool($isResponsive);
if ($isResponsive == true) {
$addValue["is_responsive"] = true;
$prefix = "tablet_";
$addValue[$prefix . "top"] = UniteFunctionsUC::getVal($param, "{$prefix}top");
$addValue[$prefix . "bottom"] = UniteFunctionsUC::getVal($param, "{$prefix}bottom");
$addValue[$prefix . "left"] = UniteFunctionsUC::getVal($param, "{$prefix}left");
$addValue[$prefix . "right"] = UniteFunctionsUC::getVal($param, "{$prefix}right");
$addValue[$prefix . "units"] = UniteFunctionsUC::getVal($param, "units");
$prefix = "mobile_";
$addValue[$prefix . "top"] = UniteFunctionsUC::getVal($param, "{$prefix}top");
$addValue[$prefix . "bottom"] = UniteFunctionsUC::getVal($param, "{$prefix}bottom");
$addValue[$prefix . "left"] = UniteFunctionsUC::getVal($param, "{$prefix}left");
$addValue[$prefix . "right"] = UniteFunctionsUC::getVal($param, "{$prefix}right");
$addValue[$prefix . "units"] = UniteFunctionsUC::getVal($param, "units");
}
$this->addDimentionsSetting($name, $addValue, $title, $extra);
break;
case UniteCreatorDialogParam::PARAM_SLIDER:
$extra["min"] = UniteFunctionsUC::getVal($param, "min");
$extra["max"] = UniteFunctionsUC::getVal($param, "max");
$extra["step"] = UniteFunctionsUC::getVal($param, "step");
$extra["unit"] = UniteFunctionsUC::getVal($param, "units");
$this->addRangeSlider($name, $value, $title, $extra);
$isResponsive = UniteFunctionsUC::getVal($param, "is_responsive");
$isResponsive = UniteFunctionsUC::strToBool($isResponsive);
if ($isResponsive == true) {
$valueTablet = UniteFunctionsUC::getVal($param, "default_value_tablet");
$valueMobile = UniteFunctionsUC::getVal($param, "default_value_mobile");
$this->addRangeSlider($name . "_tablet", $valueTablet, $title . " - Tablet", $extra);
$this->addRangeSlider($name . "_mobile", $valueMobile, $title . " - Mobile", $extra);
}
break;
case UniteCreatorDialogParam::PARAM_BACKGROUND:
$this->addBackgroundSettings($name, $value, $title, $param);
break;
case UniteCreatorDialogParam::PARAM_BORDER:
$this->addVisibleInElementorOnlySetting("Border");
break;
case UniteCreatorDialogParam::PARAM_TEXTSHADOW:
$this->addVisibleInElementorOnlySetting("Text Shadow");
break;
case UniteCreatorDialogParam::PARAM_BOXSHADOW:
$this->addVisibleInElementorOnlySetting("Box Shadow");
break;
case UniteCreatorDialogParam::PARAM_CSS_FILTERS:
$this->addVisibleInElementorOnlySetting("Css Filters");
break;
case UniteCreatorDialogParam::PARAM_HOVER_ANIMATIONS:
$this->addVisibleInElementorOnlySetting("Hover Animations");
break;
case UniteCreatorDialogParam::PARAM_DATETIME:
$extra["placeholder"] = "YYYY-mm-dd HH:ii";
$this->addTextBox($name, $value, $title, $extra);
break;
default:
$isAdded = $this->addSettingsProvider($type, $name, $value, $title, $extra);
if ($isAdded == false) {
UniteFunctionsUC::throwError("initByCreatorParams error: Wrong setting type: {$type}");
}
break;
}
if ($inputValue !== null && $isUpdateValue == true) {
$this->updateSettingValue($name, $inputValue);
}
}
public function modifyLoadedSettings($loadParam)
{
if ($loadParam != "layout_row") {
parent::modifyLoadedSettings($loadParam);
return false;
}
$arrChange = array("padding_top" => "row_padding_top", "padding_bottom" => "row_padding_bottom", "padding_left" => "row_padding_left", "padding_right" => "row_padding_right", "margin_top" => "row_margin_top", "margin_bottom" => "row_margin_bottom", "margin_left" => "row_margin_left", "margin_right" => "row_margin_right");
foreach ($arrChange as $oldName => $newName) {
$this->changeSettingName($oldName, $newName);
}
}
protected function modifyBeforeAdd_categories($setting, $addonType, $addNew = false)
{
$objCategories = new UniteCreatorCategories();
$arrCats = $objCategories->getCatsShort("", $addonType);
if ($addNew == true) {
$arrCats["new"] = "[" . esc_html__("New Category", "unlimited-elements-for-elementor") . "]";
}
$fistValue = UniteFunctionsUC::getFirstNotEmptyKey($arrCats);
$arrCats = array_flip($arrCats);
$setting["items"] = $arrCats;
$setting["value"] = $fistValue;
$setting["default_value"] = $fistValue;
return $setting;
}
protected function modifyBeforeAdd($setting, $modifyType)
{
switch ($modifyType) {
case "choose_background":
if ($this->settingsType != "row_bg") {
unset($setting["items"]["More"]);
}
break;
case "library_sections_categories":
$setting = $this->modifyBeforeAdd_categories($setting, GlobalsUC::ADDON_TYPE_LAYOUT_SECTION, true);
break;
}
return $setting;
}
public function initByCreatorParams($arrParams)
{
foreach ($arrParams as $param) {
$this->addByCreatorParam($param);
}
}
}