/** * takes the defaultArray and limits it with "only show" and "do not show" value, relevant for the current order. * @return Array (Code, Title) **/ public static function list_of_allowed_entries_for_dropdown() { if (!self::$list_of_allowed_entries_for_dropdown_array) { $defaultArray = self::get_default_array(); $onlyShow = self::$for_current_order_only_show_countries; $doNotShow = self::$for_current_order_do_not_show_countries; if (is_array($onlyShow) && count($onlyShow)) { foreach ($defaultArray as $key => $value) { if (!in_array($key, $onlyShow)) { unset($defaultArray[$key]); } } } if (is_array($doNotShow) && count($doNotShow)) { foreach ($doNotShow as $code) { if (isset($defaultArray[$code])) { unset($defaultArray[$code]); } } } self::$list_of_allowed_entries_for_dropdown_array = $defaultArray; } return self::$list_of_allowed_entries_for_dropdown_array; }