initParamTypes(); } /** * modify param text, function for override */ protected function modifyParamText($paramType, $paramText){ return($paramText); } /** * add param to the list */ protected function addParam($paramType, $paramText){ $paramText = $this->modifyParamText($paramType, $paramText); $this->arrParamsTypes[$paramType] = $paramText; } /** * set the param types */ protected function initParamTypes(){ $this->addParam("uc_textfield", __("Text Field", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam("uc_number", __("Number", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam("uc_radioboolean", __("Radio Boolean", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam("uc_textarea", __("Text Area", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam(self::PARAM_EDITOR, __("Editor", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam("uc_checkbox", __("Checkbox", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam("uc_dropdown", __("Dropdown", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam("uc_colorpicker", __("Color Picker", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam(self::PARAM_IMAGE, __("Image", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam(self::PARAM_HR, __("HR Line", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam(self::PARAM_FONT_OVERRIDE, __("Font Override", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam("uc_mp3", __("Audio", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam(self::PARAM_ICON, __("Icon", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam(self::PARAM_CONTENT, __("Content", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam(self::PARAM_POST, __("Post", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam(self::PARAM_POSTS_LIST, __("Posts List", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam(self::PARAM_INSTAGRAM, __("Instagram", ADDONLIBRARY_TEXTDOMAIN)); //variables $this->addParam("uc_varitem_simple", __("Simple Variable", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam("uc_var_paramrelated", __("Attribute Related", ADDONLIBRARY_TEXTDOMAIN)); $this->addParam("uc_var_paramitemrelated", __("Item Attribute Related", ADDONLIBRARY_TEXTDOMAIN)); } /** * validate that the dialog inited */ private function validateInited(){ if(empty($this->type)) UniteFunctionsUC::throwError("Empty params dialog"); } private function a___________________MAIN_PARAMS________________(){} /** * put instagram param */ private function putInstagramParam(){ ?>
*

putStyleCheckbox(); } /** * put no default value text */ protected function putNoDefaultValueText($text = "", $addStyleCheckbox = false){ if(empty($text)) _e("No default value for this attribute", ADDONLIBRARY_TEXTDOMAIN); else echo $text; if($addStyleCheckbox == true) $this->putStyleCheckbox(); } /** * put style checkbox */ private function putStyleCheckbox(){ ?>
:
value="">

* |raw

    : {{myfield|raw}} putStyleCheckbox(); endif?> * :
:
type."_".$name; $idYes = $idPrefix."_yes"; $idNo = $idPrefix."_no"; ?>
: > >
">
">
type."_"; $checkID = $IDprefix.$thumbName; $inputID = $IDprefix.$thumbName."_input"; ?>
:
setCurrentAddon($this->addon); switch($type){ case "image": $objSettings->addImage($name, "", $text, array("source"=>"addon")); break; case "mp3": $objSettings->addMp3($name, "", $text, array("source"=>"addon")); break; default: UniteFunctionsUC::throwError("Wrong seting type: $type"); break; } $objOutput = new UniteCreatorSettingsOutput(); $objOutput->init($objSettings); $objOutput->drawSingleSetting($name); } /** * put image select input */ private function putImageSelectInput($name, $text){ $this->putSingleSettingInput($name, $text, "image"); } /** * put mp3 select input */ private function putMp3SelectInput($name, $text){ $this->putSingleSettingInput($name, $text, "mp3"); } /** * put image param settings */ private function putImageParam(){ ?>
putImageParam_addThumbSection("add_thumb", "Add Thumbnail", "thumb") ?>
putImageParam_addThumbSection("add_thumb_large", "Add Thumbnail - Large","thumb_large") ?>
putImageSelectInput("default_value",__("Default Image",ADDONLIBRARY_TEXTDOMAIN)); ?> putMp3SelectInput("default_value",__("Default Audio File Url",ADDONLIBRARY_TEXTDOMAIN)); } private function a___________________DROPDOWN_PARAM________________(){} /** * put dropdown items table */ private function putDropdownItems(){ ?>
">
">
">
type; $checkboxLastID = "uc_check_last_varitem_".$this->type; ?>
:
*
:
putDropdownSelectRelated(".uc_select_param_name");?>
type."_"; $contentID = $tabPrefix.$paramType; //check for duplicates if(isset($this->arrContentIDs[$paramType])) UniteFunctionsUC::throwError("dialog param error: duplicate tab type: $paramType"); //save content id $this->arrContentIDs[$paramType] = $contentID; $title = UniteFunctionsUC::getVal($this->arrParamsTypes, $paramType); if(empty($title)) UniteFunctionsUC::throwError("Attribute: {$paramType} is not found in param list."); //put tab content $class = "uc-tab"; $selectHtml = ""; if($isSelected == true){ $class = "uc-tab uc-tab-selected"; $selectHtml = "selected='selected' "; } if($isSelect == true): ?> putDefaultValueParam(false, "", true); break; case "uc_number": $this->putDefaultValueParam(false, "input-small"); $this->putNumberUnitSelect(); break; case "uc_radioboolean": $this->putRadioBooleanParam(); break; case "uc_textarea": $this->putDefaultValueParam(true,"",true); break; case self::PARAM_EDITOR: $this->putDefaultValueParam(true); break; case "uc_checkbox": $this->putRadioYesNo("is_checked", __("Checked By Default", ADDONLIBRARY_TEXTDOMAIN), false, "Yes", "No", true); break; case "uc_dropdown": $this->putDropDownItems(); break; case "uc_colorpicker": $this->putColorPickerDefault(); break; case self::PARAM_IMAGE: $this->putImageParam(); break; case "uc_mp3": $this->putMp3Param(); break; case self::PARAM_ICON: $this->putDefaultValueParam(); break; case self::PARAM_CONTENT: $this->putDefaultValueParam(true,""); break; case self::PARAM_POSTS_LIST: $this->putNoDefaultValueText(null, true); break; case self::PARAM_INSTAGRAM: $this->putInstagramParam(); break; case self::PARAM_HR: $this->putNoDefaultValueText(); break; case self::PARAM_FONT_OVERRIDE: $text = __("Use this font override in css tab using special function", ADDONLIBRARY_TEXTDOMAIN); $this->putNoDefaultValueText($text); break; //variable params case "uc_varitem_simple": $this->putVarItemSimpleFields(); break; case "uc_var_paramrelated": $this->putParamsRelatedFields("main"); break; case "uc_var_paramitemrelated": $this->putParamsRelatedFields("item"); break; default: UniteFunctionsUC::throwError("Wrong param type, fields not found: $paramType"); break; } } /** * get texts array */ private function getArrTexts(){ $arrTexts = array(); $arrTexts["add_title"] = __("Add Attribute",ADDONLIBRARY_TEXTDOMAIN); $arrTexts["add_button"] = __("Add Attribute",ADDONLIBRARY_TEXTDOMAIN); $arrTexts["edit_title"] = __("Edit Attribute",ADDONLIBRARY_TEXTDOMAIN); $arrTexts["update_button"] = __("Update Attribute",ADDONLIBRARY_TEXTDOMAIN); $arrTexts = array_merge($arrTexts, $this->option_arrTexts); return($arrTexts); } /** * put dialog tabs */ private function putTabs(){ ?>
arrParams as $paramType){ $this->putTab($paramType, $firstParam); $firstParam = false; } ?>
validateInited(); $type = $this->type; $dialogID = "uc_dialog_param_".$type; //fill texts $arrTexts = $this->getArrTexts(); $dataTexts = UniteFunctionsUC::jsonEncodeForHtmlData($arrTexts); ?> arrParams = array( "uc_textfield", "uc_number", "uc_radioboolean", "uc_textarea", "uc_checkbox", "uc_dropdown", "uc_colorpicker", self::PARAM_EDITOR, self::PARAM_HR, self::PARAM_IMAGE, "uc_mp3", self::PARAM_ICON, self::PARAM_FONT_OVERRIDE, self::PARAM_INSTAGRAM ); } /** * init common variable dialogs */ private function initVariableCommon(){ $this->option_putAdminLabel = false; $this->option_putTitle = false; $this->option_arrTexts["add_title"] = __("Add Item Variable",ADDONLIBRARY_TEXTDOMAIN); $this->option_arrTexts["add_button"] = __("Add Variable",ADDONLIBRARY_TEXTDOMAIN); $this->option_arrTexts["update_button"] = __("Update Variable",ADDONLIBRARY_TEXTDOMAIN); $this->option_arrTexts["edit_title"] = __("Edit Variable",ADDONLIBRARY_TEXTDOMAIN); } /** * init variable params */ private function initVariableMainParams(){ $this->initVariableCommon(); $this->arrParams = array( "uc_var_paramrelated" ); } /** * init variable item params */ private function initVariableItemParams(){ $this->initVariableCommon(); $this->arrParams = array( "uc_varitem_simple", "uc_var_paramrelated", "uc_var_paramitemrelated" ); } /** * init the params dialog */ public function init($type, $addon){ $this->type = $type; if(empty($addon)) UniteFunctionsUC::throwError("you must pass addon"); $this->addon = $addon; switch($this->type){ case self::TYPE_MAIN: $this->initMainParams(); break; case self::TYPE_ITEM_VARIABLE: $this->initVariableItemParams(); break; case self::TYPE_MAIN_VARIABLE: $this->initVariableMainParams(); break; default: UniteFunctionsUC::throwError("Wrong param dialog type: $type"); break; } } }