/**
  * 
  * set custom values to settings
  */
 public static function setSettingsCustomValues(UniteSettingsRev $settings, $arrValues)
 {
     $arrSettings = $settings->getArrSettings();
     foreach ($arrSettings as $key => $setting) {
         $type = UniteFunctionsRev::getVal($setting, "type");
         if ($type != UniteSettingsRev::TYPE_CUSTOM) {
             continue;
         }
         $customType = UniteFunctionsRev::getVal($setting, "custom_type");
         switch ($customType) {
             case "slider_size":
                 $setting["width"] = UniteFunctionsRev::getVal($arrValues, "width", UniteFunctionsRev::getVal($setting, "width"));
                 $setting["height"] = UniteFunctionsRev::getVal($arrValues, "height", UniteFunctionsRev::getVal($setting, "height"));
                 $arrSettings[$key] = $setting;
                 break;
             case "responsitive_settings":
                 $id = $setting["id"];
                 $setting["w1"] = UniteFunctionsRev::getVal($arrValues, $id . "_w1", UniteFunctionsRev::getVal($setting, "w1"));
                 $setting["w2"] = UniteFunctionsRev::getVal($arrValues, $id . "_w2", UniteFunctionsRev::getVal($setting, "w2"));
                 $setting["w3"] = UniteFunctionsRev::getVal($arrValues, $id . "_w3", UniteFunctionsRev::getVal($setting, "w3"));
                 $setting["w4"] = UniteFunctionsRev::getVal($arrValues, $id . "_w4", UniteFunctionsRev::getVal($setting, "w4"));
                 $setting["w5"] = UniteFunctionsRev::getVal($arrValues, $id . "_w5", UniteFunctionsRev::getVal($setting, "w5"));
                 $setting["w6"] = UniteFunctionsRev::getVal($arrValues, $id . "_w6", UniteFunctionsRev::getVal($setting, "w6"));
                 $setting["sw1"] = UniteFunctionsRev::getVal($arrValues, $id . "_sw1", UniteFunctionsRev::getVal($setting, "sw1"));
                 $setting["sw2"] = UniteFunctionsRev::getVal($arrValues, $id . "_sw2", UniteFunctionsRev::getVal($setting, "sw2"));
                 $setting["sw3"] = UniteFunctionsRev::getVal($arrValues, $id . "_sw3", UniteFunctionsRev::getVal($setting, "sw3"));
                 $setting["sw4"] = UniteFunctionsRev::getVal($arrValues, $id . "_sw4", UniteFunctionsRev::getVal($setting, "sw4"));
                 $setting["sw5"] = UniteFunctionsRev::getVal($arrValues, $id . "_sw5", UniteFunctionsRev::getVal($setting, "sw5"));
                 $setting["sw6"] = UniteFunctionsRev::getVal($arrValues, $id . "_sw6", UniteFunctionsRev::getVal($setting, "sw6"));
                 $arrSettings[$key] = $setting;
                 break;
         }
     }
     $settings->setArrSettings($arrSettings);
     //disable settings by slider type:
     $sliderType = $settings->getSettingValue("slider_type");
     switch ($sliderType) {
         case "fixed":
         case "fullwidth":
             //hide responsitive
             $settingRes = $settings->getSettingByName("responsitive");
             $settingRes["disabled"] = true;
             $settings->updateArrSettingByName("responsitive", $settingRes);
             break;
     }
     //change height to max height
     if ($sliderType == "fullwidth") {
         $settingSize = $settings->getSettingByName("slider_size");
         $settingSize["fullwidth_mode"] = true;
         $settings->updateArrSettingByName("slider_size", $settingSize);
     }
     return $settings;
 }
コード例 #2
0
 /**
  * set category by post type, with specific name (can be regular or woocommerce)
  */
 public static function setCategoryByPostTypes(UniteSettingsRev $settings, $arrValues, $postTypesWithCats, $nameType, $nameCat, $defaultType)
 {
     //update the categories list by the post types
     $postTypes = UniteFunctionsRev::getVal($arrValues, $nameType, $defaultType);
     if (strpos($postTypes, ",") !== false) {
         $postTypes = explode(",", $postTypes);
     } else {
         $postTypes = array($postTypes);
     }
     $arrCats = array();
     $globalCounter = 0;
     $arrCats = array();
     $isFirst = true;
     foreach ($postTypes as $postType) {
         $cats = UniteFunctionsRev::getVal($postTypesWithCats, $postType, array());
         if ($isFirst == true) {
             $firstValue = self::getFirstCategory($cats);
             $isFirst = false;
         }
         $arrCats = array_merge($arrCats, $cats);
     }
     $settingCategory = $settings->getSettingByName($nameCat);
     $settingCategory["items"] = $arrCats;
     $settings->updateArrSettingByName($nameCat, $settingCategory);
     //update value to first category
     $value = $settings->getSettingValue($nameCat);
     if (empty($value)) {
         $settings->updateSettingValue($nameCat, $firstValue);
     }
     return $settings;
 }