/** * Get country list * * @return array */ public function getList($lang = null) { if (!$lang) { $lang = CURR_LANG; } $settings = $this->_settings; $countries = Application_Model_CountryMapper::getInstance()->getAllCountries($lang); if (isset($settings['selected_only']) && $settings['selected_only']) { $result = array(); foreach ($countries as $country) { if (in_array($country->get_code2(), $settings['selected_countries'])) { $result[] = $country; } } return $result; } else { if (isset($settings['selected_countries']) && count($settings['selected_countries'])) { $rest_countries = array(); $selected_countries = array(); foreach ($countries as $country) { if (!in_array($country->get_code2(), $settings['selected_countries'])) { $rest_countries[$country->get_code2()] = $country; } if (in_array($country->get_code2(), $settings['selected_countries'])) { $selected_countries[$country->get_code2()] = $country; } } $selected_countries = $this->sortSelected($selected_countries, $settings['selected_countries']); $spacer = new Application_Model_Country(); $spacer->set_code2('')->set_name("--------------------"); $selected_countries[] = $spacer; return array_merge($selected_countries, $rest_countries); } else { return $countries; } } }