├── .github └── workflows │ └── ci.yml ├── LICENSE ├── README.md ├── composer.json ├── config ├── Migrations │ ├── 20201014000217_MigrationCurrencies.php │ ├── 20201014000218_MigrationLanguages.php │ ├── 20201014000219_MigrationContinents.php │ ├── 20201014000220_MigrationCountries.php │ ├── 20201014000221_MigrationStates.php │ ├── 20201014000222_MigrationCities.php │ ├── 20201014000224_MigrationAddresses.php │ ├── 20201014000225_MigrationPostalCodes.php │ ├── 20201014000226_MigrationMimeTypes.php │ ├── 20201014000227_MigrationTimezones.php │ └── 20201014000228_MigrationStatesName.php ├── Seeds │ └── TimezonesSeed.php ├── bootstrap.php └── sql │ ├── address.sql │ ├── currency.sql │ └── language.sql ├── docs └── README.md ├── phpcs.xml ├── phpstan.neon ├── src ├── Controller │ ├── Admin │ │ ├── AddressesController.php │ │ ├── CitiesController.php │ │ ├── ContinentsController.php │ │ ├── CountriesController.php │ │ ├── CurrenciesController.php │ │ ├── LanguagesController.php │ │ ├── MimeTypeImagesController.php │ │ ├── MimeTypesController.php │ │ ├── PostalCodesController.php │ │ ├── StatesController.php │ │ └── TimezonesController.php │ ├── Component │ │ └── CountryStateHelperComponent.php │ ├── ContinentsController.php │ ├── CountriesController.php │ ├── CurrenciesController.php │ ├── DataAppController.php │ ├── PostalCodesController.php │ ├── StatesController.php │ └── TimezonesController.php ├── Currency │ ├── CurrencyBitcoinLib.php │ └── CurrencyLib.php ├── DataPlugin.php ├── HtmlDom │ └── HtmlDom.php ├── Model │ ├── Entity │ │ ├── Address.php │ │ ├── City.php │ │ ├── Continent.php │ │ ├── Country.php │ │ ├── Currency.php │ │ ├── Language.php │ │ ├── MimeType.php │ │ ├── MimeTypeImage.php │ │ ├── PostalCode.php │ │ ├── State.php │ │ └── Timezone.php │ └── Table │ │ ├── AddressesTable.php │ │ ├── CitiesTable.php │ │ ├── ContinentsTable.php │ │ ├── CountiesTable.php │ │ ├── CountriesTable.php │ │ ├── CurrenciesTable.php │ │ ├── DistrictsTable.php │ │ ├── LanguagesTable.php │ │ ├── LocationsTable.php │ │ ├── MimeTypeImagesTable.php │ │ ├── MimeTypesTable.php │ │ ├── PostalCodesTable.php │ │ ├── StatesTable.php │ │ └── TimezonesTable.php ├── Sync │ ├── Countries.php │ └── Timezones.php ├── Utility │ └── L10n.php └── View │ └── Helper │ ├── ContinentHelper.php │ ├── DataHelper.php │ └── MimeTypeHelper.php ├── templates ├── Addresses │ ├── index.php │ └── view.php ├── Admin │ ├── Addresses │ │ ├── add.php │ │ ├── edit.php │ │ ├── index.php │ │ └── view.php │ ├── Cities │ │ ├── add.php │ │ ├── edit.php │ │ ├── index.php │ │ └── view.php │ ├── Continents │ │ ├── add.php │ │ ├── edit.php │ │ ├── index.php │ │ ├── tree.php │ │ └── view.php │ ├── Countries │ │ ├── add.php │ │ ├── edit.php │ │ ├── icons.php │ │ ├── index.php │ │ ├── sync.php │ │ └── view.php │ ├── Currencies │ │ ├── add.php │ │ ├── edit.php │ │ ├── index.php │ │ ├── table.php │ │ ├── toggle.php │ │ └── view.php │ ├── Languages │ │ ├── add.php │ │ ├── compare_iso_list_to_core.php │ │ ├── compare_to_iso_list.php │ │ ├── edit.php │ │ ├── import_from_core.php │ │ ├── index.php │ │ └── view.php │ ├── MimeTypeImages │ │ ├── add.php │ │ ├── allocate.php │ │ ├── edit.php │ │ ├── import.php │ │ ├── index.php │ │ └── view.php │ ├── MimeTypes │ │ ├── add.php │ │ ├── allocate.php │ │ ├── allocate_by_type.php │ │ ├── detect_by_extension.php │ │ ├── edit.php │ │ ├── from_core.php │ │ ├── from_file.php │ │ ├── index.php │ │ ├── manual_input.php │ │ └── view.php │ ├── PostalCodes │ │ ├── add.php │ │ ├── edit.php │ │ ├── geolocate.php │ │ ├── index.php │ │ ├── query.php │ │ └── view.php │ ├── States │ │ ├── add.php │ │ ├── edit.php │ │ ├── index.php │ │ └── update_select.php │ └── Timezones │ │ ├── add.php │ │ ├── edit.php │ │ ├── index.php │ │ ├── link.php │ │ ├── sync.php │ │ └── view.php ├── Continents │ └── index.php ├── Countries │ └── index.php ├── Currencies │ └── index.php ├── MimeTypeImages │ └── toggle_active.php ├── MimeTypes │ └── toggle_active.php ├── PostalCodes │ └── map.php ├── States │ ├── index.php │ └── update_select.php ├── Timezones │ └── index.php └── element │ └── States │ └── search.php ├── tests ├── Fixture │ ├── AddressesFixture.php │ ├── CitiesFixture.php │ ├── ContinentsFixture.php │ ├── CountiesFixture.php │ ├── CountriesFixture.php │ ├── CurrenciesFixture.php │ ├── DistrictsFixture.php │ ├── LanguagesFixture.php │ ├── LocationsFixture.php │ ├── MimeTypeImagesFixture.php │ ├── MimeTypesFixture.php │ ├── PostalCodesFixture.php │ ├── StatesFixture.php │ └── TimezonesFixture.php ├── TestCase │ ├── Controller │ │ ├── Admin │ │ │ ├── AddressesControllerTest.php │ │ │ ├── CitiesControllerTest.php │ │ │ ├── CountriesControllerTest.php │ │ │ ├── CurrenciesControllerTest.php │ │ │ ├── LanguagesControllerTest.php │ │ │ ├── MimeTypeImagesControllerTest.php │ │ │ ├── MimeTypesControllerTest.php │ │ │ ├── PostalCodesControllerTest.php │ │ │ ├── StatesControllerTest.php │ │ │ └── TimezonesControllerTest.php │ │ ├── Component │ │ │ └── CountryStateHelperComponentTest.php │ │ ├── ContinentsControllerTest.php │ │ ├── CountriesControllerTest.php │ │ ├── CurrenciesControllerTest.php │ │ ├── PostalCodesControllerTest.php │ │ ├── StatesControllerTest.php │ │ └── TimezonesControllerTest.php │ ├── Currency │ │ ├── CurrencyBitcoinLibTest.php │ │ └── CurrencyLibTest.php │ ├── HtmlDom │ │ └── HtmlDomTest.php │ ├── Model │ │ ├── Entity │ │ │ └── CountryTest.php │ │ └── Table │ │ │ ├── AddressesTableTest.php │ │ │ ├── CitiesTableTest.php │ │ │ ├── ContinentsTableTest.php │ │ │ ├── CountiesTableTest.php │ │ │ ├── CountriesTableTest.php │ │ │ ├── CurrenciesTableTest.php │ │ │ ├── DistrictsTableTest.php │ │ │ ├── LanguagesTableTest.php │ │ │ ├── LocationsTableTest.php │ │ │ ├── MimeTypeImagesTableTest.php │ │ │ ├── MimeTypesTableTest.php │ │ │ ├── PostalCodesTableTest.php │ │ │ ├── StatesTableTest.php │ │ │ └── TimezonesTableTest.php │ ├── Sync │ │ ├── CountriesTest.php │ │ └── TimezonesTest.php │ ├── Utility │ │ ├── L10nTest.php │ │ └── MimeTest.php │ └── View │ │ └── Helper │ │ ├── DataHelperTest.php │ │ └── MimeTypeHelperTest.php ├── config │ ├── bootstrap.php │ └── routes.php ├── phpstan.neon └── schema.php └── webroot └── img └── country_flags ├── a1.gif ├── a2.gif ├── ac.gif ├── ad.gif ├── ae.gif ├── aero.gif ├── af.gif ├── ag.gif ├── ai.gif ├── al.gif ├── am.gif ├── an.gif ├── ao.gif ├── aq.gif ├── ar.gif ├── arpa.gif ├── as.gif ├── at.gif ├── au.gif ├── aw.gif ├── ax.gif ├── az.gif ├── ba.gif ├── bb.gif ├── bd.gif ├── be.gif ├── bf.gif ├── bg.gif ├── bh.gif ├── bi.gif ├── biz.gif ├── bj.gif ├── bl.gif ├── bm.gif ├── bn.gif ├── bo.gif ├── bq.gif ├── br.gif ├── bs.gif ├── bt.gif ├── bv.gif ├── bw.gif ├── by.gif ├── bz.gif ├── ca.gif ├── cc.gif ├── cd.gif ├── cf.gif ├── cg.gif ├── ch.gif ├── ci.gif ├── ck.gif ├── cl.gif ├── cm.gif ├── cn.gif ├── co.gif ├── com.gif ├── coop.gif ├── cr.gif ├── cs.gif ├── cu.gif ├── cv.gif ├── cw.gif ├── cx.gif ├── cy.gif ├── cz.gif ├── de.gif ├── dj.gif ├── dk.gif ├── dm.gif ├── do.gif ├── dz.gif ├── ec.gif ├── edu.gif ├── ee.gif ├── eg.gif ├── eh.gif ├── er.gif ├── es.gif ├── et.gif ├── eu.gif ├── fi.gif ├── fj.gif ├── fk.gif ├── fm.gif ├── fo.gif ├── fr.gif ├── ga.gif ├── gb.gif ├── gd.gif ├── ge.gif ├── gf.gif ├── gg.gif ├── gh.gif ├── gi.gif ├── gl.gif ├── gm.gif ├── gn.gif ├── gov.gif ├── gp.gif ├── gq.gif ├── gr.gif ├── gs.gif ├── gt.gif ├── gu.gif ├── gw.gif ├── gy.gif ├── hk.gif ├── hm.gif ├── hn.gif ├── hr.gif ├── ht.gif ├── hu.gif ├── id.gif ├── ie.gif ├── il.gif ├── im.gif ├── in.gif ├── info.gif ├── int.gif ├── io.gif ├── iq.gif ├── ir.gif ├── is.gif ├── it.gif ├── je.gif ├── jm.gif ├── jo.gif ├── jp.gif ├── ke.gif ├── kg.gif ├── kh.gif ├── ki.gif ├── km.gif ├── kn.gif ├── kp.gif ├── kr.gif ├── kw.gif ├── ky.gif ├── kz.gif ├── la.gif ├── lb.gif ├── lc.gif ├── li.gif ├── lk.gif ├── lr.gif ├── ls.gif ├── lt.gif ├── lu.gif ├── lv.gif ├── ly.gif ├── ma.gif ├── mc.gif ├── md.gif ├── me.gif ├── mf.gif ├── mg.gif ├── mh.gif ├── mil.gif ├── mk.gif ├── ml.gif ├── mm.gif ├── mn.gif ├── mo.gif ├── mp.gif ├── mq.gif ├── mr.gif ├── ms.gif ├── mt.gif ├── mu.gif ├── mv.gif ├── mw.gif ├── mx.gif ├── my.gif ├── mz.gif ├── na.gif ├── name.gif ├── nato.gif ├── nc.gif ├── ne.gif ├── net.gif ├── nf.gif ├── ng.gif ├── ni.gif ├── nl.gif ├── no.gif ├── np.gif ├── nr.gif ├── nu.gif ├── nz.gif ├── om.gif ├── org.gif ├── pa.gif ├── pe.gif ├── pf.gif ├── pg.gif ├── ph.gif ├── pk.gif ├── pl.gif ├── pm.gif ├── pn.gif ├── pr.gif ├── pro.gif ├── ps.gif ├── pt.gif ├── pw.gif ├── py.gif ├── qa.gif ├── re.gif ├── ro.gif ├── rs.gif ├── ru.gif ├── rw.gif ├── sa.gif ├── sb.gif ├── sc.gif ├── sd.gif ├── se.gif ├── sg.gif ├── sh.gif ├── si.gif ├── sj.gif ├── sk.gif ├── sl.gif ├── sm.gif ├── sn.gif ├── so.gif ├── sr.gif ├── ss.gif ├── st.gif ├── sv.gif ├── sx.gif ├── sy.gif ├── sz.gif ├── tc.gif ├── td.gif ├── tf.gif ├── tg.gif ├── th.gif ├── tj.gif ├── tk.gif ├── tl.gif ├── tm.gif ├── tn.gif ├── to.gif ├── tp.gif ├── tr.gif ├── tt.gif ├── tv.gif ├── tw.gif ├── tz.gif ├── ua.gif ├── ug.gif ├── uk.gif ├── um.gif ├── unknown.gif ├── us.gif ├── uy.gif ├── uz.gif ├── va.gif ├── vc.gif ├── ve.gif ├── vg.gif ├── vi.gif ├── vn.gif ├── vu.gif ├── wf.gif ├── ws.gif ├── xk.gif ├── ye.gif ├── yt.gif ├── yu.gif ├── za.gif ├── zm.gif └── zw.gif /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Mark Scherer 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /config/Migrations/20201014000217_MigrationCurrencies.php: -------------------------------------------------------------------------------- 1 | table('currencies') 20 | ->addColumn('name', 'string', [ 21 | 'default' => null, 22 | 'limit' => 190, 23 | 'null' => false, 24 | ]) 25 | ->addColumn('code', 'char', [ 26 | 'default' => null, 27 | 'limit' => 3, 28 | 'null' => false, 29 | ]) 30 | ->addColumn('symbol_left', 'string', [ 31 | 'default' => null, 32 | 'limit' => 12, 33 | 'null' => true, 34 | ]) 35 | ->addColumn('symbol_right', 'string', [ 36 | 'default' => null, 37 | 'limit' => 12, 38 | 'null' => true, 39 | ]) 40 | ->addColumn('decimal_places', 'char', [ 41 | 'default' => null, 42 | 'limit' => 1, 43 | 'null' => true, 44 | ]) 45 | ->addColumn('value', 'decimal', [ 46 | 'default' => null, 47 | 'null' => true, 48 | 'precision' => 10, 49 | 'scale' => 4, 50 | ]) 51 | ->addColumn('base', 'boolean', [ 52 | 'comment' => 'is base currency', 53 | 'default' => false, 54 | 'limit' => null, 55 | 'null' => false, 56 | ]) 57 | ->addColumn('active', 'boolean', [ 58 | 'default' => false, 59 | 'limit' => null, 60 | 'null' => false, 61 | ]) 62 | ->addColumn('modified', 'datetime', [ 63 | 'default' => null, 64 | 'limit' => null, 65 | 'null' => false, 66 | ]) 67 | ->create(); 68 | } 69 | 70 | } 71 | -------------------------------------------------------------------------------- /config/Migrations/20201014000221_MigrationStates.php: -------------------------------------------------------------------------------- 1 | table('states') 20 | ->addColumn('country_id', 'integer', [ 21 | 'default' => null, 22 | 'limit' => null, 23 | 'null' => false, 24 | 'signed' => false, 25 | ]) 26 | ->addColumn('code', 'string', [ 27 | 'default' => null, 28 | 'limit' => 6, 29 | 'null' => false, 30 | ]) 31 | ->addColumn('name', 'string', [ 32 | 'default' => null, 33 | 'limit' => 60, 34 | 'null' => false, 35 | ]) 36 | ->addColumn('lat', 'float', [ 37 | 'default' => null, 38 | 'null' => true, 39 | ]) 40 | ->addColumn('lng', 'float', [ 41 | 'default' => null, 42 | 'null' => true, 43 | ]) 44 | ->addColumn('modified', 'datetime', [ 45 | 'default' => null, 46 | 'limit' => null, 47 | 'null' => false, 48 | ]) 49 | ->create(); 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /config/Migrations/20201014000225_MigrationPostalCodes.php: -------------------------------------------------------------------------------- 1 | table('addresses') 20 | ->addColumn('id', 'integer', [ 21 | 'autoIncrement' => true, 22 | 'default' => null, 23 | 'limit' => null, 24 | 'null' => false, 25 | ]) 26 | ->addPrimaryKey(['id']) 27 | ->addColumn('country_id', 'integer', [ 28 | 'default' => null, 29 | 'limit' => null, 30 | 'null' => false, 31 | ]) 32 | ->addColumn('name', 'string', [ 33 | 'default' => null, 34 | 'limit' => 10, 35 | 'null' => false, 36 | ]) 37 | ->addColumn('formatted_address', 'string', [ 38 | 'default' => null, 39 | 'limit' => 190, 40 | 'null' => true, 41 | ]) 42 | ->addColumn('lat', 'float', [ 43 | 'default' => null, 44 | 'null' => true, 45 | ]) 46 | ->addColumn('lng', 'float', [ 47 | 'default' => null, 48 | 'null' => true, 49 | ]) 50 | ->addColumn('created', 'datetime', [ 51 | 'default' => null, 52 | 'limit' => null, 53 | 'null' => false, 54 | ]) 55 | ->addColumn('modified', 'datetime', [ 56 | 'default' => null, 57 | 'limit' => null, 58 | 'null' => false, 59 | ]) 60 | ->create(); 61 | } 62 | 63 | } 64 | -------------------------------------------------------------------------------- /config/Migrations/20201014000228_MigrationStatesName.php: -------------------------------------------------------------------------------- 1 | table('states') 20 | ->addColumn('ori_name', 'string', [ 21 | 'default' => null, 22 | 'limit' => 60, 23 | 'null' => true, 24 | ]) 25 | ->update(); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /config/Seeds/TimezonesSeed.php: -------------------------------------------------------------------------------- 1 | all(); 23 | foreach ($data as $key => $row) { 24 | $data[$key]['created'] = $data[$key]['modified'] = substr((new DateTime())->toIso8601String(), 0, 19); 25 | $data[$key]['active'] = $row['type'] === 'Canonical'; 26 | unset($data[$key]['abbr']); 27 | unset($data[$key]['alias']); 28 | 29 | if ($row['country_code'] && strpos($row['country_code'], ',') !== false) { 30 | $data[$key]['country_code'] = substr($row['country_code'], 0, 2); 31 | } 32 | 33 | if ($row['notes'] && mb_strlen($row['notes']) > 190) { 34 | $data[$key]['notes'] = mb_substr($row['notes'], 0, 190); 35 | } 36 | } 37 | 38 | $table = $this->table('timezones'); 39 | $table->insert($data)->save(); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /config/bootstrap.php: -------------------------------------------------------------------------------- 1 | Continents => Countries => States => Counties => Districts => Cities 7 | 8 | The plugin contains the following ISO geo data models: 9 | 10 | - Continents 11 | - Countries 12 | - States 13 | - Counties (deprecated, unused) 14 | - Districts (deprecated, unused) 15 | - Cities 16 | - Postal Codes 17 | - Addresses / Locations 18 | 19 | It also contains: 20 | 21 | - Languages 22 | - Currencies 23 | - MimeTypes and MimeTypeImages 24 | 25 | ## Country Icons 26 | The plugin ships with default icons in `webroot/img/country_flags/`. 27 | It is recommended to copy them to APP level, though, for performance reasons. 28 | 29 | If you want to further increase performance, it is recommended to use font icons. 30 | You can use [lipis/flag-icon-css](https://github.com/lipis/flag-icon-css), for example. 31 | 32 | For this, include the CSS and enable the config with the class to be used: 33 | ```php 34 | 'Country' => [ 35 | 'iconFontClass' => 'flag-icon', 36 | ], 37 | ``` 38 | 39 | ## Language Icons 40 | Same as with country icons. Here, we sometimes also need to map certain 41 | language codes to country codes. You can use the `map` config here: 42 | ```php 43 | 'Language' => [ 44 | 'iconFontClass' => 'flag-icon', 45 | 'map' => [ 46 | 'en' => 'gb', 47 | ... 48 | ], 49 | ], 50 | ``` 51 | This only applies to font icons, as with normal ones you can just rename the files in your 52 | image folder. 53 | -------------------------------------------------------------------------------- /phpcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | config/ 7 | src/ 8 | tests/ 9 | 10 | /tests/test_files/ 11 | 12 | 13 | 14 | */config/Migrations/* 15 | 16 | 17 | */config/Migrations/* 18 | 19 | 20 | -------------------------------------------------------------------------------- /phpstan.neon: -------------------------------------------------------------------------------- 1 | parameters: 2 | level: 7 3 | paths: 4 | - src/ 5 | bootstrapFiles: 6 | - tests/bootstrap.php 7 | treatPhpDocTypesAsCertain: false 8 | ignoreErrors: 9 | - identifier: missingType.iterableValue 10 | - identifier: missingType.generics 11 | -------------------------------------------------------------------------------- /src/Controller/ContinentsController.php: -------------------------------------------------------------------------------- 1 | Continents->find('threaded'); 15 | 16 | $this->set(compact('continents')); 17 | 18 | $this->viewBuilder()->addHelper('Tools.Tree'); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/Controller/CurrenciesController.php: -------------------------------------------------------------------------------- 1 | paginate($object = null, array $settings = []) 11 | */ 12 | class CurrenciesController extends AppController { 13 | 14 | /** 15 | * @return \Cake\Http\Response|null|void Renders view 16 | */ 17 | public function index() { 18 | $currencies = $this->paginate($this->Currencies); 19 | 20 | $this->set(compact('currencies')); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/Controller/DataAppController.php: -------------------------------------------------------------------------------- 1 | NumericPaginator::class, 15 | ]; 16 | 17 | /** 18 | * @return void 19 | */ 20 | public function initialize(): void { 21 | parent::initialize(); 22 | 23 | $this->loadComponent('Tools.Common'); 24 | 25 | $this->viewBuilder()->setHelpers(['Tools.Common', 'Tools.Format', 'Tools.Time', 'Tools.Number', 'Tools.Text', 'Data.Data']); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/Controller/PostalCodesController.php: -------------------------------------------------------------------------------- 1 | Common->isPosted()) { 17 | $term = $this->request->getData('code'); 18 | 19 | } else { 20 | $term = ''; 21 | } 22 | 23 | $length = max(1, strlen($term)); 24 | 25 | $query = $this->PostalCodes->find(); 26 | $query->where(['code LIKE' => $term . '%', 'country_id' => 1]) 27 | ->select([ 28 | 'sub' => $query->newExpr('SUBSTRING(code FROM 1 FOR ' . $length . ')'), 29 | 'count' => $query->count(), 30 | 'lat_sum' => $query->newExpr('SUM(lat)'), 31 | 'lng_sum' => $query->newExpr('SUM(lng)'), 32 | ]) 33 | ->select($this->PostalCodes) 34 | ->groupBy('sub'); 35 | $postalCodes = $query->all()->toArray(); 36 | 37 | if (!empty($term)) { 38 | $overviewCode = $postalCodes[0]; 39 | $this->set(compact('overviewCode')); 40 | 41 | $query = $this->PostalCodes->find(); 42 | $query->where(['code LIKE' => $term . '%', 'country_id' => 1]) 43 | ->select([ 44 | 'sub' => $query->newExpr('SUBSTRING(code FROM 1 FOR ' . ($length + 1) . ')'), 45 | 'count' => $query->count(), 46 | 'lat_sum' => $query->newExpr('SUM(lat)'), 47 | 'lng_sum' => $query->newExpr('SUM(lng)'), 48 | ]) 49 | ->select($this->PostalCodes) 50 | ->groupBy('sub'); 51 | $postalCodes = $query->all()->toArray(); 52 | } 53 | 54 | $numbers = strlen($term); 55 | $this->set(compact('postalCodes', 'numbers')); 56 | $this->viewBuilder()->setHelpers(['Geo.GoogleMap']); 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/Controller/TimezonesController.php: -------------------------------------------------------------------------------- 1 | paginate($object = null, array $settings = []) 12 | * @property \Search\Controller\Component\SearchComponent $Search 13 | */ 14 | class TimezonesController extends AppController { 15 | 16 | /** 17 | * @return void 18 | */ 19 | public function initialize(): void { 20 | parent::initialize(); 21 | 22 | if (Plugin::isLoaded('Search')) { 23 | $this->loadComponent('Search.Search', [ 24 | 'actions' => ['index'], 25 | ]); 26 | } 27 | } 28 | 29 | /** 30 | * @return \Cake\Http\Response|null|void Renders view 31 | */ 32 | public function index() { 33 | $timezones = $this->paginate($this->Timezones); 34 | 35 | $this->set(compact('timezones')); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/DataPlugin.php: -------------------------------------------------------------------------------- 1 | prefix('Admin', function (RouteBuilder $routes): void { 26 | $routes->plugin('Data', function (RouteBuilder $routes): void { 27 | $routes->connect('/', ['action' => 'index']); 28 | 29 | $routes->fallbacks(); 30 | }); 31 | }); 32 | 33 | $routes->plugin('Data', function (RouteBuilder $routes): void { 34 | $routes->connect('/', ['action' => 'index']); 35 | 36 | $routes->fallbacks(); 37 | }); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/HtmlDom/HtmlDom.php: -------------------------------------------------------------------------------- 1 | 33 | */ 34 | protected array $_accessible = [ 35 | '*' => true, 36 | 'id' => false, 37 | ]; 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/Model/Entity/Continent.php: -------------------------------------------------------------------------------- 1 | $child_continents 19 | * @property array<\Cake\ORM\Entity> $countries 20 | */ 21 | class Continent extends Entity { 22 | 23 | /** 24 | * Fields that can be mass assigned using newEntity() or patchEntity(). 25 | * 26 | * Note that when '*' is set to true, this allows all unspecified fields to 27 | * be mass assigned. For security purposes, it is advised to set '*' to false 28 | * (or remove it), and explicitly make individual fields accessible as needed. 29 | * 30 | * @var array 31 | */ 32 | protected array $_accessible = [ 33 | '*' => true, 34 | 'id' => false, 35 | ]; 36 | 37 | /** 38 | * @param array|int|null $value 39 | * @return array|string 40 | */ 41 | public static function directions($value = null) { 42 | $options = [ 43 | static::STATUS_INACTIVE => __('Inactive'), 44 | static::STATUS_ACTIVE => __('Active'), 45 | ]; 46 | 47 | return parent::enum($value, $options); 48 | } 49 | 50 | /** 51 | * @var int 52 | */ 53 | public const STATUS_INACTIVE = 0; 54 | 55 | /** 56 | * @var int 57 | */ 58 | public const STATUS_ACTIVE = 1; 59 | 60 | } 61 | -------------------------------------------------------------------------------- /src/Model/Entity/Currency.php: -------------------------------------------------------------------------------- 1 | 29 | */ 30 | protected array $_accessible = [ 31 | '*' => true, 32 | 'id' => false, 33 | ]; 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/Model/Entity/Language.php: -------------------------------------------------------------------------------- 1 | 31 | */ 32 | protected array $_accessible = [ 33 | '*' => true, 34 | 'id' => false, 35 | ]; 36 | 37 | /** 38 | * Language::directions() 39 | * 40 | * @param mixed $value 41 | * @return mixed 42 | */ 43 | public static function directions($value = null) { 44 | $options = [ 45 | static::DIR_LTR => 'LTR', 46 | static::DIR_RTL => 'RTL', 47 | ]; 48 | 49 | return parent::enum($value, $options); 50 | } 51 | 52 | /** 53 | * @var int 54 | */ 55 | public const DIR_LTR = 0; 56 | 57 | /** 58 | * @var int 59 | */ 60 | public const DIR_RTL = 1; 61 | 62 | /** 63 | * @var int 64 | */ 65 | public const STATUS_ACTIVE = 1; 66 | 67 | /** 68 | * @var int 69 | */ 70 | public const STATUS_INACTIVE = 0; 71 | 72 | } 73 | -------------------------------------------------------------------------------- /src/Model/Entity/MimeType.php: -------------------------------------------------------------------------------- 1 | 36 | */ 37 | protected array $_accessible = [ 38 | '*' => true, 39 | 'id' => false, 40 | ]; 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/Model/Entity/MimeTypeImage.php: -------------------------------------------------------------------------------- 1 | $mime_types 20 | */ 21 | class MimeTypeImage extends Entity { 22 | 23 | /** 24 | * Fields that can be mass assigned using newEntity() or patchEntity(). 25 | * 26 | * Note that when '*' is set to true, this allows all unspecified fields to 27 | * be mass assigned. For security purposes, it is advised to set '*' to false 28 | * (or remove it), and explicitly make individual fields accessible as needed. 29 | * 30 | * @var array 31 | */ 32 | protected array $_accessible = [ 33 | '*' => true, 34 | 'id' => false, 35 | ]; 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/Model/Entity/PostalCode.php: -------------------------------------------------------------------------------- 1 | 28 | */ 29 | protected array $_accessible = [ 30 | '*' => true, 31 | 'id' => false, 32 | ]; 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/Model/Entity/State.php: -------------------------------------------------------------------------------- 1 | $counties 18 | */ 19 | class State extends Entity { 20 | 21 | /** 22 | * Fields that can be mass assigned using newEntity() or patchEntity(). 23 | * 24 | * Note that when '*' is set to true, this allows all unspecified fields to 25 | * be mass assigned. For security purposes, it is advised to set '*' to false 26 | * (or remove it), and explicitly make individual fields accessible as needed. 27 | * 28 | * @var array 29 | */ 30 | protected array $_accessible = [ 31 | '*' => true, 32 | 'id' => false, 33 | ]; 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/Model/Table/CountiesTable.php: -------------------------------------------------------------------------------- 1 | States => Cities 9 | */ 10 | class CountiesTable extends Table { 11 | 12 | /** 13 | * @var array 14 | */ 15 | public $actsAs = [ 16 | 'Tools.Slugged' => ['case' => 'low', 'mode' => 'ascii', 'unique' => false, 'overwrite' => false], 17 | ]; 18 | 19 | /** 20 | * @var array 21 | */ 22 | public $hasMany = [ 23 | 'City' => ['className' => 'Data.City'], 24 | ]; 25 | 26 | /** 27 | * @var array 28 | */ 29 | public $belongsTo = [ 30 | 'State' => ['className' => 'Data.State'], 31 | ]; 32 | 33 | /** 34 | * @param mixed $data 35 | * @return \Cake\Datasource\EntityInterface|bool 36 | */ 37 | public function initCounty($data) { 38 | $entity = $this->newEntity($data); 39 | 40 | return $this->save($entity); 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /src/View/Helper/ContinentHelper.php: -------------------------------------------------------------------------------- 1 | name); 18 | $countriesPerContinent = (array)$this->getConfig('countries'); 19 | if (!empty($countriesPerContinent[$continent->id])) { 20 | $text .= ' (' . $countriesPerContinent[$continent->id] . ')'; 21 | } 22 | 23 | if ($continent->status === $continent::STATUS_INACTIVE) { 24 | $text = '' . $text . ''; 25 | } 26 | 27 | return $text; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /templates/Admin/Addresses/add.php: -------------------------------------------------------------------------------- 1 | 10 |

11 | 12 |
13 | Form->create($address);?> 14 |
15 | 16 | Form->control('country_id', ['empty' => [0 => ' - [ ' . __('noSelection') . ' ] - ']]); 18 | if (Configure::read('Data.Address.State')) { 19 | echo $this->Form->control('country_province_id', ['empty' => [0 => ' - [ ' . __('noSelection') . ' ] - ']]); 20 | } 21 | echo $this->Form->control('first_name'); 22 | echo $this->Form->control('last_name'); 23 | echo $this->Form->control('street'); 24 | echo $this->Form->control('postal_code'); 25 | echo $this->Form->control('city'); 26 | ?> 27 |
28 |
29 | 30 | Form->control('model'); 32 | echo $this->Form->control('foreign_id', ['type' => 'text', 'empty' => [0 => ' - [ ' . __('noSelection') . ' ] - ']]); 33 | ?> 34 |
35 | Form->submit(__('Submit')); echo $this->Form->end();?> 36 |
37 | 38 |

39 | 40 |
41 |
    42 |
  • Html->link(__('List {0}', __('Addresses')), ['action' => 'index']);?>
  • 43 |
44 |
45 | -------------------------------------------------------------------------------- /templates/Admin/Addresses/edit.php: -------------------------------------------------------------------------------- 1 | 10 |

11 | 12 |
13 | Form->create($address);?> 14 |
15 | 16 | Form->control('id'); 18 | echo $this->Form->control('country_id', ['empty' => ' - [ ' . __('noSelection') . ' ] - ']); 19 | if (Configure::read('Data.Address.State')) { 20 | echo $this->Form->control('state_id', ['id' => 'country-states', 'empty' => ' - [ ' . __('noSelection') . ' ] - ']); 21 | } 22 | echo $this->Form->control('first_name'); 23 | echo $this->Form->control('last_name'); 24 | echo $this->Form->control('street'); 25 | echo $this->Form->control('postal_code'); 26 | echo $this->Form->control('city'); 27 | ?> 28 |
29 |
30 | 31 | Form->control('model'); 33 | echo $this->Form->control('foreign_id', ['type' => 'text', 'empty' => [0 => ' - [ ' . __('noSelection') . ' ] - ']]); 34 | ?> 35 |
36 | Form->submit(__('Submit')); echo $this->Form->end();?> 37 |
38 | 39 |

40 | 41 |
42 |
    43 |
  • Form->postLink(__('Delete'), ['action' => 'delete', $this->Form->getSourceValue('Address.id')], null, __('Are you sure you want to delete # {0}?', $this->Form->getSourceValue('Address.id'))); ?>
  • 44 |
  • Html->link(__('List {0}', __('Addresses')), ['action' => 'index']);?>
  • 45 |
46 |
47 | -------------------------------------------------------------------------------- /templates/Admin/Cities/add.php: -------------------------------------------------------------------------------- 1 | 10 |
11 |

12 | 13 | Form->create($city);?> 14 |
15 | 16 | Form->control('country_id'); 18 | echo $this->Form->control('official_key', ['type' => 'text']); 19 | 20 | if (Configure::read('Data.City.County') !== false) { 21 | echo $this->Form->control('county_id'); 22 | } 23 | 24 | echo $this->Form->control('name'); 25 | 26 | echo $this->Form->control('postal_code'); 27 | echo $this->Form->control('postal_code_unique'); 28 | 29 | echo $this->Form->control('citizens'); 30 | echo $this->Form->control('description'); 31 | ?> 32 |
33 | Form->submit(__('Submit')); echo $this->Form->end();?> 34 |
35 | 36 |
37 |
    38 | 39 |
  • Html->link(__('List {0}', __('Cities')), ['action' => 'index']);?>
  • 40 |
41 |
42 | -------------------------------------------------------------------------------- /templates/Admin/Cities/edit.php: -------------------------------------------------------------------------------- 1 | 10 |
11 |

12 | 13 | Form->create($city);?> 14 |
15 | 16 | Form->control('id'); 18 | echo $this->Form->control('country_id'); 19 | echo $this->Form->control('official_key', ['type' => 'text']); 20 | 21 | if (Configure::read('Data.City.County') !== false) { 22 | echo $this->Form->control('county_id'); 23 | } 24 | 25 | echo $this->Form->control('name'); 26 | 27 | echo $this->Form->control('postal_code'); 28 | echo $this->Form->control('postal_code_unique'); 29 | 30 | echo $this->Form->control('citizens'); 31 | echo $this->Form->control('description'); 32 | 33 | ?> 34 |
35 | Form->submit(__('Submit')); echo $this->Form->end();?> 36 |
37 | 38 |
39 |
    40 | 41 |
  • Form->postLink(__('Delete'), ['action' => 'delete', $this->Form->getSourceValue('City.id')], null, __('Are you sure you want to delete # {0}?', $this->Form->getSourceValue('City.id'))); ?>
  • 42 |
  • Html->link(__('List {0}', __('Cities')), ['action' => 'index']);?>
  • 43 |
44 |
45 | -------------------------------------------------------------------------------- /templates/Admin/Continents/add.php: -------------------------------------------------------------------------------- 1 | 7 |

8 | 9 |
10 | Form->create($continent);?> 11 |
12 | 13 | Form->control('name'); 15 | //echo $this->Form->control('ori_name'); 16 | 17 | echo $this->Form->control('code'); 18 | 19 | echo $this->Form->control('parent_id', []); 20 | //echo $this->Form->control('status'); 21 | ?> 22 |
23 | Form->submit(__('Submit')); echo $this->Form->end();?> 24 |
25 | 26 |

27 | 28 |
29 |
    30 |
  • Html->link(__('List {0}', __('Continents')), ['action' => 'index']);?>
  • 31 |
32 |
33 | -------------------------------------------------------------------------------- /templates/Admin/Continents/edit.php: -------------------------------------------------------------------------------- 1 | 7 |

8 | 9 |
10 | Form->create($continent);?> 11 |
12 | 13 | Form->control('name'); 15 | //echo $this->Form->control('ori_name'); 16 | echo $this->Form->control('code'); 17 | 18 | echo $this->Form->control('parent_id', []); 19 | //echo $this->Form->control('status'); 20 | ?> 21 |
22 | Form->submit(__('Submit')); echo $this->Form->end();?> 23 |
24 | 25 |

26 | 27 |
28 |
    29 |
  • Form->postLink(__('Delete'), ['action' => 'delete', $this->Form->getSourceValue('Continent.id')], ['confirm' => __('Are you sure you want to delete # {0}?', $this->Form->getSourceValue('Continent.id'))]); ?>
  • 30 |
  • Html->link(__('List {0}', __('Continents')), ['action' => 'index']);?>
  • 31 |
32 |
33 | -------------------------------------------------------------------------------- /templates/Admin/Continents/tree.php: -------------------------------------------------------------------------------- 1 | 8 | 13 |
14 | 15 |

16 | 17 |
18 | Continent->setConfig('countries', $countries); 20 | ?> 21 | Tree->generate($continents, ['callback' => [$this->Continent, 'format']]); ?> 22 |
23 | 24 |
25 | -------------------------------------------------------------------------------- /templates/Admin/Continents/view.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |

9 | 10 |

11 |
12 | 13 |
14 |
15 | 16 |   17 |
18 | 19 |
20 |
21 | code); ?> 22 |
23 | 24 |
25 |
26 | parent_continent ? $this->Html->link($continent->parent_continent->name, ['controller' => 'Continents', 'action' => 'view', $continent->parent_continent['id']]) : ''; ?> 27 |   28 |
29 |
30 |
31 | 32 |   33 |
34 |
35 |
36 | Time->niceDate($continent['modified']); ?> 37 |   38 |
39 |
40 |
41 | 42 |

43 | 44 |
45 |
    46 |
  • Html->link(__('Edit {0}', __('Continent')), ['action' => 'edit', $continent['id']]); ?>
  • 47 |
  • Form->postLink(__('Delete {0}', __('Continent')), ['action' => 'delete', $continent['id']], ['confirm' => __('Are you sure you want to delete # {0}?', $continent['id'])]); ?>
  • 48 |
49 |
50 | -------------------------------------------------------------------------------- /templates/Admin/Countries/add.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | Form->create($country);?> 9 |
10 | 11 | Form->control('name'); 13 | echo $this->Form->control('ori_name'); 14 | echo $this->Form->control('iso2'); 15 | echo $this->Form->control('iso3'); 16 | echo $this->Form->control('special'); 17 | echo $this->Form->control('address_format', ['type' => 'textarea']); 18 | echo '
Placeholders are :name :street_address :postcode :city :country
'; 19 | echo '
'; 20 | 21 | //echo $this->Form->control('sort'); 22 | echo $this->Form->control('status', ['type' => 'checkbox', 'label' => 'Aktiv']); 23 | ?> 24 |
25 | Form->submit(__('Submit')); echo $this->Form->end();?> 26 |
27 | 28 |

29 | 30 |
31 |
    32 |
  • Html->link(__('List {0}', __('Countries')), ['action' => 'index']);?>
  • 33 |
34 |
35 | -------------------------------------------------------------------------------- /templates/Admin/Countries/edit.php: -------------------------------------------------------------------------------- 1 | 10 |
11 | Form->create($country);?> 12 |
13 | 14 | Form->control('name'); 16 | echo $this->Form->control('ori_name'); 17 | echo $this->Form->control('iso2'); 18 | echo $this->Form->control('iso3'); 19 | echo $this->Form->control('phone_code'); 20 | echo $this->Form->control('timezone'); 21 | 22 | if (Configure::read('Data.City.Continent') !== false) { 23 | echo $this->Form->control('continent_id'); 24 | } 25 | 26 | echo $this->Form->control('special'); 27 | echo $this->Form->control('address_format', ['type' => 'textarea']); 28 | echo '
Placeholders are :name :street_address :postcode :city :country
'; 29 | echo '
'; 30 | 31 | //echo $this->Form->control('sort'); 32 | echo $this->Form->control('status', ['type' => 'checkbox', 'label' => 'Aktiv']); 33 | ?> 34 |
35 | Form->submit(__('Submit')); echo $this->Form->end();?> 36 |
37 | 38 |

39 | 40 |
41 |
    42 |
  • Form->postLink(__('Delete'), ['action' => 'delete', $country->id], ['escape' => false, 'confirm' => __('Are you sure you want to delete # {0}?', $country->id)]); ?>
  • 43 |
  • Html->link(__('List {0}', __('Countries')), ['action' => 'index']);?>
  • 44 |
45 |
46 | -------------------------------------------------------------------------------- /templates/Admin/Countries/icons.php: -------------------------------------------------------------------------------- 1 | $countries 6 | * @var array $icons 7 | */ 8 | ?> 9 |

Icons

10 | Länder - Icons 11 | 12 | 13 |

Countries Without Icons:

14 |
    15 | '; 18 | echo $this->Data->countryIcon(null) . ' ' . h($country->name) . ' (' . $country['iso2'] . ', ' . $country['iso3'] . ')'; 19 | echo ''; 20 | } 21 | ?> 22 |
23 | 24 | 25 |

Countries and Icons

26 |
    27 | '; 30 | echo $this->Data->countryIcon($country->iso2) . ' ' . h($country->name) . ' (' . $country['iso2'] . ', ' . $country['iso3'] . ') ' . $this->Html->link($this->Icon->render('view'), ['action' => 'view', $country->id], ['escapeTitle' => false]); 31 | echo ''; 32 | } 33 | ?> 34 |
35 | -------------------------------------------------------------------------------- /templates/Admin/Countries/sync.php: -------------------------------------------------------------------------------- 1 | 9 |
10 |

Sync Countries

11 |

countries currently stored.

12 | 13 | Form->create(); ?> 14 |
15 | 16 | 17 | $rows) { 19 | echo '
'; 20 | echo '' . h($action) . ''; 21 | 22 | foreach ($rows as $key => $row) { 23 | if (!empty($row['fields'])) { 24 | echo json_encode($row['fields']); 25 | } 26 | 27 | $label = $row['label']; 28 | if (!empty($row['entity'])) { 29 | $label .= ' (' . $row['entity']->iso3 . ')'; 30 | } elseif (!empty($row['data']['iso3'])) { 31 | $label .= ' (' . $row['data']['iso3'] . ')'; 32 | } 33 | echo $this->Form->control('Form.' . $action . '.' . $key . '.execute', ['default' => true, 'type' => 'checkbox', 'label' => $label]); 34 | } 35 | 36 | echo '
'; 37 | } 38 | ?> 39 |
40 | Form->submit(__('Submit')); echo $this->Form->end();?> 41 | 42 |
43 | -------------------------------------------------------------------------------- /templates/Admin/Currencies/add.php: -------------------------------------------------------------------------------- 1 | 8 | 9 |
10 | Form->create($currency);?> 11 |
12 | 13 | 14 | Form->control('name'); 16 | echo $this->Form->control('code', ['datalist' => $currencies]); 17 | echo $this->Form->control('symbol_left'); 18 | echo $this->Form->control('symbol_right'); 19 | echo $this->Form->control('decimal_places'); 20 | echo $this->Form->control('value'); 21 | ?> 22 |
23 | Form->submit(__('Submit')); echo $this->Form->end();?> 24 |
25 | 26 |
27 | 28 | Wird nur der Code angegeben, wird versucht, den Name automatisch dazu zu finden. 29 | Das selbe gilt für den aktuellen Wechselkurs. 30 | 31 |
32 |
    33 |
  • Html->link(__('List {0}', __('Currencies')), ['action' => 'index']);?>
  • 34 |
35 |
36 | -------------------------------------------------------------------------------- /templates/Admin/Currencies/edit.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | Form->create($currency);?> 9 |
10 | 11 | Form->control('id'); 13 | echo $this->Form->control('name'); 14 | echo $this->Form->control('code'); 15 | echo $this->Form->control('symbol_left'); 16 | echo $this->Form->control('symbol_right'); 17 | echo $this->Form->control('decimal_places'); 18 | echo $this->Form->control('value'); 19 | ?> 20 |
21 | Form->submit(__('Submit')); echo $this->Form->end();?> 22 |
23 |
24 |
    25 |
  • Form->postLink(__('Delete'), ['action' => 'delete', $currency->id], ['escape' => false, 'confirm' => __('Are you sure you want to delete # {0}?', $currency->id)]); ?>
  • 26 |
  • Html->link(__('List {0}', __('Currencies')), ['action' => 'index']);?>
  • 27 |
28 |
29 | -------------------------------------------------------------------------------- /templates/Admin/Currencies/table.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |

9 | 10 | 13 | 14 | 15 |
16 | 17 |

18 | 19 |
20 |
    21 |
  • Html->link(__('Add {0}', __('Currency')), ['action' => 'add']); ?>
  • 22 |
23 |
24 | -------------------------------------------------------------------------------- /templates/Admin/Currencies/toggle.php: -------------------------------------------------------------------------------- 1 | 9 | Html->link($this->Format->yesNo($ajaxToggle[$model][$field]), ['action' => 'toggle', $field, $ajaxToggle[$model]['id']], ['escape' => false]); 13 | -------------------------------------------------------------------------------- /templates/Admin/Currencies/view.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |

9 |
10 |
11 |
12 | 13 |   14 |
15 |
16 |
17 | 18 |   19 |
20 |
21 |
22 | 23 |   24 |
25 |
26 |
27 | 28 |   29 |
30 |
31 |
32 | 33 |   34 |
35 |
36 |
37 | 38 |   39 |
40 |
41 |
42 | Time->niceDate($currency['modified']); ?> 43 |   44 |
45 |
46 |
47 |
48 |
    49 |
  • Html->link(__('Edit {0}', __('Currency')), ['action' => 'edit', $currency['id']]); ?>
  • 50 |
  • Form->postLink(__('Delete Currency'), ['action' => 'delete', $currency['id']], ['escape' => false, 'confirm' => __('Are you sure you want to delete # {0}?', $currency['id'])]); ?>
  • 51 |
  • Html->link(__('List {0}', __('Currencies')), ['action' => 'index']); ?>
  • 52 |
  • Html->link(__('Add {0}', __('Currency')), ['action' => 'add']); ?>
  • 53 |
54 |
55 | -------------------------------------------------------------------------------- /templates/Admin/Languages/add.php: -------------------------------------------------------------------------------- 1 | 7 |

8 | 9 |
10 | Form->create($language);?> 11 |
12 | 13 | Form->control('name'); 15 | echo $this->Form->control('ori_name'); 16 | echo $this->Form->control('code'); 17 | echo $this->Form->control('locale'); 18 | echo $this->Form->control('locale_fallback'); 19 | echo $this->Form->control('direction', ['options' => $language::directions()]); 20 | //echo $this->Form->control('status'); 21 | ?> 22 |
23 | Form->submit(__('Submit')); echo $this->Form->end();?> 24 |
25 | 26 |

27 | 28 |
29 |
    30 |
  • Html->link(__('List {0}', __('Languages')), ['action' => 'index']);?>
  • 31 |
32 |
33 | -------------------------------------------------------------------------------- /templates/Admin/Languages/edit.php: -------------------------------------------------------------------------------- 1 | 7 |

8 | 9 |
10 | Form->create($language);?> 11 |
12 | 13 | Form->control('id'); 15 | echo $this->Form->control('name'); 16 | echo $this->Form->control('ori_name'); 17 | echo $this->Form->control('code'); 18 | echo $this->Form->control('locale'); 19 | echo $this->Form->control('locale_fallback'); 20 | echo $this->Form->control('direction', ['options' => $language::directions()]); 21 | echo $this->Form->control('status'); 22 | ?> 23 |
24 | Form->submit(__('Submit')); echo $this->Form->end();?> 25 |
26 | 27 |

28 | 29 |
30 |
    31 |
  • Form->postLink(__('Delete'), ['action' => 'delete', $language->id], ['confirm' => __('Are you sure you want to delete # {0}?', $language->id)]); ?>
  • 32 |
  • Html->link(__('List {0}', __('Languages')), ['action' => 'index']);?>
  • 33 |
34 |
35 | -------------------------------------------------------------------------------- /templates/Admin/Languages/import_from_core.php: -------------------------------------------------------------------------------- 1 | 7 |

8 | 9 |
10 | Form->create($language);?> 11 |
12 | 13 | Form->control('name'); 15 | //echo $this->Form->control('ori_name'); 16 | //echo $this->Form->control('code'); 17 | 18 | //echo $this->Form->control('status'); 19 | ?> 20 |
21 | Form->submit(__('Submit')); echo $this->Form->end();?> 22 |
23 | 24 |

25 | 26 |
27 |
    28 |
  • Html->link(__('List {0}', __('Languages')), ['action' => 'index']);?>
  • 29 |
30 |
31 | -------------------------------------------------------------------------------- /templates/Admin/Languages/view.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |

9 |
10 |
11 |
12 | 13 |   14 |
15 |
16 |
17 | 18 |   19 |
20 |
21 |
22 | 23 |   24 |
25 |
26 |
27 | 28 |   29 |
30 |
31 |
32 | 33 |   34 |
35 |
36 |
37 | 38 |   39 |
40 |
41 |
42 | Time->niceDate($language['modified']); ?> 43 |   44 |
45 |
46 |
47 | 48 |

49 | 50 |
51 |
    52 |
  • Html->link(__('Edit {0}', __('Language')), ['action' => 'edit', $language['id']]); ?>
  • 53 |
  • Form->postLink(__('Delete {0}', __('Language')), ['action' => 'delete', $language['id']], ['confirm' => __('Are you sure you want to delete # {0}?', $language['id'])]); ?>
  • 54 |
  • Html->link(__('List {0}', __('Languages')), ['action' => 'index']); ?>
  • 55 |
56 |
57 | -------------------------------------------------------------------------------- /templates/Admin/MimeTypeImages/add.php: -------------------------------------------------------------------------------- 1 | 8 |
9 | Form->create($mimeTypeImage, ['type' => 'file']);?> 10 |
11 | 12 | Form->control('name'); 14 | echo '
'; 15 | 16 | echo $this->Form->control('file', ['type' => 'file', 'after' => ' Wird automatisch auf 16px Höhe verkleinert']); 17 | echo $this->Form->control('image', ['type' => 'select', 'options' => $availableImages, 'empty' => '- [ n/a ] -']); 18 | echo $this->Form->control('ext', ['options' => \Data\Model\Table\MimeTypeImagesTable::extensions(), 'empty' => '- [ n/a ] -']); 19 | 20 | echo '
'; 21 | echo $this->Form->control('active'); 22 | echo $this->Form->control('details', ['type' => 'textarea']); 23 | ?> 24 |
25 | Form->submit(__('Submit')); echo $this->Form->end();?> 26 |
27 |
28 |
    29 |
  • Html->link(__('List Mime Type Images'), ['action' => 'index']);?>
  • 30 |
31 |
32 | -------------------------------------------------------------------------------- /templates/Admin/MimeTypeImages/allocate.php: -------------------------------------------------------------------------------- 1 | 8 |
9 | Form->create($mimeTypeImage);?> 10 |
11 | 12 | Form->control('images', array('type'=>'select','multiple'=>'checkbox','options'=>$images,'label'=>false)); 15 | foreach ($images as $id => $image) { 16 | echo $this->Form->control('MimeTypeImages.imgs.' . $id, ['type' => 'checkbox', 'label' => false, 'div' => false]); 17 | 18 | echo ' '; 19 | $imageName = pathinfo($image, PATHINFO_FILENAME); 20 | $imageName = mb_strtolower($imageName); 21 | 22 | echo $this->Form->control('MimeTypeImages.names.' . $id, ['value' => $imageName, 'after' => '', 'div' => false, 'label' => false]); 23 | echo $this->Form->control('MimeTypeImages.filenames.' . $id, ['value' => $image, 'type' => 'hidden']); 24 | echo ' '; 25 | echo $this->Html->image(IMG_MIMETYPES . 'import/' . $image, ['title' => $image]); 26 | echo ' ' . $image; 27 | 28 | 29 | 30 | echo '
'; 31 | } 32 | 33 | } else { 34 | echo '- [ keine Dateien zum Importieren gefunden ] -'; 35 | } 36 | ?> 37 | 38 |
39 | Form->submit(__('Submit')); ?> 40 | Form->end();?> 41 |
42 |
43 |
    44 |
  • Html->link(__('List Mime Type Images'), ['action' => 'index']);?>
  • 45 |
46 |
47 | -------------------------------------------------------------------------------- /templates/Admin/MimeTypeImages/edit.php: -------------------------------------------------------------------------------- 1 | 8 |
9 | Form->create($mimeTypeImage, ['type' => 'file']);?> 10 |
11 | 12 | Form->control('id'); 14 | echo $this->Form->control('name'); 15 | echo '
'; 16 | 17 | echo $this->Form->control('file', ['type' => 'file', 'after' => ' Wird automatisch auf 16px Höhe verkleinert']); 18 | echo $this->Form->control('image', ['type' => 'select', 'options' => $availableImages, 'empty' => '- [ n/a ] -']); 19 | echo $this->Form->control('ext', ['options' => \Data\Model\Table\MimeTypeImagesTable::extensions(), 'empty' => '- [ nicht konvertieren ] -', 'label' => 'Konvertieren zu']); 20 | 21 | echo '
'; 22 | echo $this->Form->control('active'); 23 | echo $this->Form->control('details', ['type' => 'textarea']); 24 | ?> 25 |
26 | Form->submit(__('Submit')); echo $this->Form->end();?> 27 |
28 |
29 |
    30 |
  • Form->postLink(__('Delete'), ['action' => 'delete', $this->Form->getSourceValue('MimeTypeImages.id')], ['confirm' => __('Are you sure you want to delete # {0}?', $this->Form->getSourceValue('MimeTypeImage.id'))]); ?>
  • 31 |
  • Html->link(__('List Mime Type Images'), ['action' => 'index']);?>
  • 32 |
33 |
34 | -------------------------------------------------------------------------------- /templates/Admin/MimeTypeImages/import.php: -------------------------------------------------------------------------------- 1 | 9 |
10 | Form->create($mimeTypeImage);?> 11 | 12 | 13 |
14 | 15 | bereits vorhanden:
    16 | 17 | - - - 18 |
19 |
20 | 21 | neue: 22 | Form->control('extensions', ['type' => 'select', 'multiple' => 'checkbox', 'options' => $fileExtensions, 'label' => false]); 25 | } else { 26 | echo '- - -'; 27 | } 28 | ?> 29 | 30 |
31 | 32 |
33 | 34 | 35 | 36 |
37 | 38 | Form->control('import', ['type' => 'textarea']); 40 | ?> 41 | Eine mit Komma, Leerzeichen, NewLine, etc. separierte Liste, die nur Endungen (exe, jpg, ...) oder Dateien (1.jpg, 2.gif) enthält, deren Endungen dann importiert werden. 42 |
43 | Form->submit(__('Submit')); echo $this->Form->end();?> 44 |
45 |
46 |
    47 |
  • Html->link(__('List Mime Type Images'), ['action' => 'index']);?>
  • 48 |
49 |
50 | -------------------------------------------------------------------------------- /templates/Admin/MimeTypeImages/view.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |

9 |
10 |
11 |
12 | 13 |   14 |
15 |
16 |
17 | 18 |   19 |
20 |
21 |
22 | 23 |   24 |
25 |
26 |
27 | Time->niceDate($mimeTypeImage['created']); ?> 28 |   29 |
30 |
31 |
32 | Time->niceDate($mimeTypeImage['modified']); ?> 33 |   34 |
35 |
36 |
37 |
38 |
    39 |
  • Html->link(__('Edit Mime Type Image'), ['action' => 'edit', $mimeTypeImage['id']]); ?>
  • 40 |
  • Form->postLink(__('Delete Mime Type Image'), ['action' => 'delete', $mimeTypeImage['id']], ['escape' => false, 'confirm' => __('Are you sure you want to delete # {0}?', $mimeTypeImage['id'])]); ?>
  • 41 |
  • Html->link(__('List Mime Type Images'), ['action' => 'index']); ?>
  • 42 |
  • Html->link(__('Add Mime Type Image'), ['action' => 'add']); ?>
  • 43 |
44 |
45 | -------------------------------------------------------------------------------- /templates/Admin/MimeTypes/add.php: -------------------------------------------------------------------------------- 1 | 8 | Html->script('jquery/plugins/jquery.dd.js');?> 12 | 15 | Html->script('specific/mime_types_images.js');?> 16 | 17 |
18 | Form->create($mimeType);?> 19 |
20 | 21 | $image) { 23 | //$mimeTypeImages[$key] = 's'.$this->Html->image(IMG_MIMETYPES.$image).' '.$image; 24 | } 25 | 26 | echo $this->Form->control('ext', ['after' => ' Z.B. \'exe\' für *.exe Dateien']); 27 | echo $this->Form->control('name', ['label' => 'Programm/Name', 'after' => ' Bezeichnung']); 28 | 29 | echo $this->Form->control('type', ['label' => 'Mime-Type']); 30 | echo $this->Form->control('alt_type', ['label' => 'Alternative']); 31 | 32 | echo $this->Form->control('mime_type_image_id', ['empty' => ' - [ n/a ] - ', 'class' => 'customselect', 'style' => 'width:300px']); 33 | 34 | echo $this->Form->control('active'); 35 | ?> 36 |
37 | Form->submit(__('Submit')); echo $this->Form->end();?> 38 |
39 |
40 |
    41 |
  • Html->link(__('List Mime Types'), ['action' => 'index']);?>
  • 42 |
43 |
44 | -------------------------------------------------------------------------------- /templates/Admin/MimeTypes/allocate.php: -------------------------------------------------------------------------------- 1 | 6 | 7 |

Auto-Allocate Images to Extensions

8 | 9 | 10 |

11 | 12 |
13 |
    14 |
  • Html->link(__('List Mime Types'), ['action' => 'index']);?>
  • 15 |
16 |
-------------------------------------------------------------------------------- /templates/Admin/MimeTypes/allocate_by_type.php: -------------------------------------------------------------------------------- 1 | 7 | 8 |

Allocate Images By Shared Types

9 | 10 | ' . count($unused) . ' unused images'; 13 | echo '
    '; 14 | foreach ($unused as $u) { 15 | echo '
  • '; 16 | echo $this->Html->image(IMG_MIMETYPES . $u['name'] . '.' . $u['ext']) . ' ' . $u['name']; 17 | echo '
  • '; 18 | } 19 | echo '
'; 20 | } 21 | ?> 22 | 23 | 24 |

25 | 26 |
27 |
    28 |
  • Html->link(__('List Mime Types'), ['action' => 'index']);?>
  • 29 |
30 |
31 | -------------------------------------------------------------------------------- /templates/Admin/MimeTypes/detect_by_extension.php: -------------------------------------------------------------------------------- 1 | 8 |
9 |

10 | 15 | 16 |

17 | 18 |
19 | Form->create($mimeType, ['type' => 'file']);?> 20 | 21 |
22 | 23 | Form->control('file', ['type' => 'file']); 25 | ?> 26 |
27 | Form->end('Submit');?> 28 |
29 | 30 |
31 | -------------------------------------------------------------------------------- /templates/Admin/MimeTypes/edit.php: -------------------------------------------------------------------------------- 1 | 7 | Html->script('jquery/plugins/jquery.dd.js');?> 11 | 14 | Html->script('specific/mime_types_images.js');?> 15 | 16 | 17 |
18 | Form->create($mimeType);?> 19 |
20 | 21 | Form->control('id'); 23 | 24 | echo $this->Form->control('ext', ['after' => ' Z.B. \'exe\' für *.exe Dateien']); 25 | echo $this->Form->control('name', ['label' => 'Programm/Name', 'after' => ' Bezeichnung']); 26 | 27 | echo $this->Form->control('type', ['label' => 'Mime-Type']); 28 | echo $this->Form->control('alt_type', ['label' => 'Alternative']); 29 | 30 | echo $this->Form->control('mime_type_image_id', ['empty' => ' - [ n/a ] - ', 'class' => 'customselect', 'style' => 'width:300px']); 31 | 32 | echo $this->Form->control('active'); 33 | ?> 34 |
35 | Form->submit(__('Submit')); echo $this->Form->end();?> 36 |
37 |
38 |
    39 |
  • Form->postLink(__('Delete'), ['action' => 'delete', $this->Form->getSourceValue('MimeType.id')], ['confirm' => __('Are you sure you want to delete # {0}?', $this->Form->getSourceValue('MimeType.id'))]); ?>
  • 40 |
  • Html->link(__('List Mime Types'), ['action' => 'index']);?>
  • 41 |
42 |
43 | -------------------------------------------------------------------------------- /templates/Admin/MimeTypes/from_core.php: -------------------------------------------------------------------------------- 1 | 16 | 17 |

Import MimeTypes from Core Media etc

18 | Currently Media View has MimeTypes listed

19 | 20 | wurden neu hingefügt, sind schon enthalten ( davon bedürfen einer manuellen Klärung) sowie Fehler. 21 | 22 |
23 | Form->create($mimeType);?> 24 |
25 | 26 | Zur manuellen Klärung: 27 | 30 | 31 | Fehler: 32 | 35 |
36 | Form->submit(__('Submit')); echo $this->Form->end();?> 37 |
38 |
39 |
    40 |
  • Html->link(__('List Mime Types'), ['action' => 'index']);?>
  • 41 |
42 |
43 | -------------------------------------------------------------------------------- /templates/Admin/MimeTypes/from_file.php: -------------------------------------------------------------------------------- 1 | 10 |

Import MimeTypes from File etc

11 | 12 | 13 | 14 | The imported data has MimeTypes listed

15 | 16 | wurden neu hingefügt, sind schon enthalten ( davon bedürfen einer manuellen Klärung) sowie Fehler. 17 | 18 |
19 | Form->create($mimeType);?> 20 |
21 | 22 | 25 |
26 | Form->submit(__('Submit')); echo $this->Form->end();?> 27 |
28 | 29 | 30 | 31 | 32 |

33 | 34 |
35 |
    36 |
  • Html->link(__('List Mime Types'), ['action' => 'index']);?>
  • 37 |
38 |
39 | -------------------------------------------------------------------------------- /templates/Admin/MimeTypes/manual_input.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |

9 | 10 | 11 | 12 | 13 | 14 |

Export

15 | $value) { 20 | $out .= '   \'' . h($key) . '\' => array(' . BR; 21 | foreach ($value as $subkey => $subvalue) { 22 | $out .= '     \'' . h($subkey) . '\' => \'' . h($subvalue) . '\',' . BR; 23 | } 24 | $out .= '   ),' . BR; 25 | } 26 | $out .= ');'; 27 | 28 | echo $this->Html->pre($out); 29 | 30 | } else { 31 | echo '- - -'; 32 | } 33 | ?> 34 |
35 | -------------------------------------------------------------------------------- /templates/Admin/MimeTypes/view.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |

9 |
10 |
11 |
12 | 13 |   14 |
15 |
16 |
17 | 18 |   19 |
20 |
21 |
22 | 23 |   24 |
25 |
26 |
27 | Time->niceDate($mimeType['created']); ?> 28 |   29 |
30 |
31 |
32 | Time->niceDate($mimeType['modified']); ?> 33 |   34 |
35 |
36 |
37 |
38 |
    39 |
  • Html->link(__('Edit Mime Type'), ['action' => 'edit', $mimeType['id']]); ?>
  • 40 |
  • Form->postLink(__('Delete Mime Type'), ['action' => 'delete', $mimeType['id']], ['escape' => false, 'confirm' => __('Are you sure you want to delete # {0}?', $mimeType['id'])]); ?>
  • 41 |
  • Html->link(__('List Mime Types'), ['action' => 'index']); ?>
  • 42 |
  • Html->link(__('Add Mime Type'), ['action' => 'add']); ?>
  • 43 |
44 |
45 | -------------------------------------------------------------------------------- /templates/Admin/PostalCodes/add.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |

9 | 10 | Form->create($postalCode);?> 11 |
12 | 13 | Form->control('code'); 15 | echo $this->Form->control('country_id'); 16 | echo $this->Form->control('lat'); 17 | echo $this->Form->control('lng'); 18 | echo $this->Form->control('official_address'); 19 | ?> 20 |
21 | Form->submit(__('Submit')); echo $this->Form->end();?> 22 |
23 | 24 |
25 |
    26 | 27 |
  • Html->link(__('List {0}', __('Postal Codes')), ['action' => 'index']);?>
  • 28 |
29 |
30 | -------------------------------------------------------------------------------- /templates/Admin/PostalCodes/edit.php: -------------------------------------------------------------------------------- 1 | 7 |
8 |

9 | 10 | Form->create($postalCode);?> 11 |
12 | 13 | Form->control('id'); 15 | echo $this->Form->control('code'); 16 | echo $this->Form->control('country_id'); 17 | echo $this->Form->control('lat'); 18 | echo $this->Form->control('lng'); 19 | echo $this->Form->control('official_address'); 20 | ?> 21 |
22 | Form->submit(__('Submit')); echo $this->Form->end();?> 23 |
24 | 25 |
26 |
    27 | 28 |
  • Form->postLink(__('Delete'), ['action' => 'delete', $this->Form->getSourceValue('PostalCode.id')], ['confirm' => __('Are you sure you want to delete # {0}?', $this->Form->getSourceValue('PostalCode.id'))]); ?>
  • 29 |
  • Html->link(__('List {0}', __('Postal Codes')), ['action' => 'index']);?>
  • 30 |
31 |
32 | -------------------------------------------------------------------------------- /templates/Admin/PostalCodes/query.php: -------------------------------------------------------------------------------- 1 | 8 |
9 |

10 | 11 | Form->create($postalCode);?> 12 |
13 | 14 | Form->control('address'); 16 | echo $this->Form->control('allow_inconclusive', ['type' => 'checkbox']); 17 | echo $this->Form->control('min_accuracy', []); 18 | ?> 19 |
20 | Form->submit(__('Submit')); echo $this->Form->end();?> 21 |
22 | 23 |
24 | 25 | 28 | 29 |
30 | 31 | 32 |
33 |
    34 | 35 |
  • Html->link(__('List {0}', __('Postal Codes')), ['action' => 'index']);?>
  • 36 |
37 |
38 | -------------------------------------------------------------------------------- /templates/Admin/States/add.php: -------------------------------------------------------------------------------- 1 | 6 |
7 | Form->create();?> 8 |
9 | 10 | Form->control('country_id', ['empty' => ' - [ ' . __('pleaseSelect') . ' ] - ', 'required' => 1]); 12 | echo $this->Form->control('name', ['required' => 1]); 13 | echo $this->Form->control('ori_name'); 14 | echo $this->Form->control('code'); 15 | ?> 16 |
17 | Form->submit(__('Submit')); echo $this->Form->end();?> 18 |
19 |
20 |
    21 |
  • Html->link(__('List {0}', __('States')), ['action' => 'index']);?>
  • 22 |
  • Html->link(__('List {0}', __('Countries')), ['controller' => 'Countries', 'action' => 'index']); ?>
  • 23 |
24 |
25 | -------------------------------------------------------------------------------- /templates/Admin/States/edit.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | Form->create($state);?> 9 |
10 | 11 | Form->control('id'); 13 | echo $this->Form->control('country_id', ['empty' => ' - [ ' . __('pleaseSelect') . ' ]- ', 'required' => 1]); 14 | echo $this->Form->control('name', ['required' => 1]); 15 | echo $this->Form->control('ori_name'); 16 | echo $this->Form->control('code'); 17 | 18 | ?> 19 |
20 | Form->submit(__('Submit')); ?> 21 | Form->end();?> 22 |
23 | 24 |
25 |
    26 |
  • Form->postLink(__('Delete'), ['action' => 'delete', $state->id], ['escape' => false, 'confirm' => __('Are you sure you want to delete # {0}?', $state->id)]); ?>
  • 27 |
  • Html->link(__('List {0}', __('States')), ['action' => 'index']);?>
  • 28 |
  • Html->link(__('List {0}', __('Countries')), ['controller' => 'countries', 'action' => 'index']); ?>
  • 29 |
30 |
31 | -------------------------------------------------------------------------------- /templates/Admin/States/update_select.php: -------------------------------------------------------------------------------- 1 | ' . Configure::read('Select.default_before') . __($defaultFieldLabel) . Configure::read('Select.default_after') . ''; 12 | foreach ($states as $k => $v) { 13 | echo ''; 14 | } 15 | } else { 16 | $default = 0; 17 | if (isset($defaultValue)) { 18 | $default = $defaultValue; 19 | } 20 | echo ''; 21 | } 22 | -------------------------------------------------------------------------------- /templates/Admin/Timezones/add.php: -------------------------------------------------------------------------------- 1 | 7 |
8 | 14 |
15 |
16 |

17 | 18 | Form->create($timezone) ?> 19 |
20 | 21 | Form->control('name'); 23 | echo $this->Form->control('country_code'); 24 | echo $this->Form->control('offset'); 25 | echo $this->Form->control('offset_dst'); 26 | echo $this->Form->control('type'); 27 | echo $this->Form->control('active'); 28 | echo $this->Form->control('lat'); 29 | echo $this->Form->control('lng'); 30 | echo $this->Form->control('covered', ['type' => 'textarea']); 31 | echo $this->Form->control('notes', ['type' => 'textarea']); 32 | ?> 33 |
34 | Form->button(__('Submit')) ?> 35 | Form->end() ?> 36 |
37 |
38 |
39 | -------------------------------------------------------------------------------- /templates/Admin/Timezones/link.php: -------------------------------------------------------------------------------- 1 | 9 |
10 |

Link Timezones

11 |

timezones currently stored.

12 | 13 | Form->create(); ?> 14 |
15 | 16 | 17 | $timezone) { 19 | echo '
'; 20 | echo '' . h($timezone->name) . ''; 21 | 22 | $label = 'Link to ' . h($timezone->canonical_timezone->name); 23 | echo $this->Form->control('Form.link.' . $key . '.execute', ['default' => true, 'type' => 'checkbox', 'label' => $label]); 24 | 25 | echo '
'; 26 | } 27 | ?> 28 |
29 | Form->submit(__('Submit')); echo $this->Form->end();?> 30 | 31 |
32 | -------------------------------------------------------------------------------- /templates/Admin/Timezones/sync.php: -------------------------------------------------------------------------------- 1 | 9 |
10 |

Sync Timezones

11 |

timezones currently stored.

12 | 13 | Form->create(); ?> 14 |
15 | 16 | 17 | $rows) { 19 | echo '
'; 20 | echo '' . h($action) . ''; 21 | 22 | foreach ($rows as $key => $row) { 23 | if (!empty($row['fields'])) { 24 | echo json_encode($row['fields']); 25 | } 26 | echo $this->Form->control('Form.' . $action . '.' . $key . '.execute', ['default' => true, 'type' => 'checkbox', 'label' => $row['label']]); 27 | } 28 | 29 | echo '
'; 30 | } 31 | ?> 32 |
33 | Form->submit(__('Submit')); echo $this->Form->end();?> 34 | 35 |
36 | -------------------------------------------------------------------------------- /templates/Continents/index.php: -------------------------------------------------------------------------------- 1 | 7 | 12 |
13 | 14 |

15 | 16 |
17 | Tree->generate($continents); ?> 18 |
19 | 20 |
21 | -------------------------------------------------------------------------------- /templates/Countries/index.php: -------------------------------------------------------------------------------- 1 | $countries 5 | */ 6 | ?> 7 |
8 |

9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 26 | 29 | 32 | 35 | 38 | 41 | 42 | 43 |
Paginator->sort('sort', $this->Icon->render('filter'), ['escape' => false]);?>Paginator->sort('name');?>Paginator->sort('ori_name');?>Paginator->sort('iso2');?>Paginator->sort('iso3');?>Paginator->sort('phone_code');?>
24 | Data->countryIcon($country->iso2); ?> 25 | 27 | name); ?> 28 | 30 | ori_name); ?> 31 | 33 | iso2); ?> 34 | 36 | iso3); ?> 37 | 39 | 40 |
44 | 45 | element('Tools.pagination'); ?> 46 |
47 | 48 | 49 |
50 | : 51 |
    52 |
  • 53 |
54 | 55 | 56 |
57 | 58 |
    59 |
  • Data->countryIcon(null); ?> = Default Icon
  • 60 |
61 | -------------------------------------------------------------------------------- /templates/MimeTypeImages/toggle_active.php: -------------------------------------------------------------------------------- 1 | 7 | Html->link($this->Format->yesNo($ajaxToggle['MimeTypeImage']['active'], ['onTitle' => 'Active', 'offTitle' => 'Inactive']), ['action' => 'toggleActive', $ajaxToggle['MimeTypeImage']['id']], ['escape' => false]);?> -------------------------------------------------------------------------------- /templates/MimeTypes/toggle_active.php: -------------------------------------------------------------------------------- 1 | 7 | Html->link($this->Format->yesNo($ajaxToggle['active'], ['onTitle' => 'Active', 'offTitle' => 'Inactive']), ['action' => 'toggleActive', $ajaxToggle['id']], ['escape' => false]);?> 11 | -------------------------------------------------------------------------------- /templates/States/update_select.php: -------------------------------------------------------------------------------- 1 | ' . Configure::read('Select.default_before') . __($defaultFieldLabel) . Configure::read('Select.default_after') . ''; 12 | foreach ($states as $k => $v) { 13 | echo ''; 14 | } 15 | } else { 16 | $default = 0; 17 | if (isset($defaultValue)) { 18 | $default = $defaultValue; 19 | } 20 | echo ''; 21 | } 22 | -------------------------------------------------------------------------------- /templates/element/States/search.php: -------------------------------------------------------------------------------- 1 | 7 | Form->create(null, ['valueSources' => 'query']); ?> 11 | :   12 | Form->control('country_id', [ 13 | 'class' => 'filter', 14 | 'label' => false, 15 | 'div' => false, 16 | 'type' => 'select', 17 | 'empty' => ['' => '- [ ' . __('noRestriction') . ' ] -'], 18 | 'options' => $countries] 19 | ); ?> 20 | Form->control('search', ['placeholder' => __('wildcardSearch {0} and {1}', '*', '?')]); ?> 21 | 22 | Form->button(__('Search'), ['div' => false]); ?> 23 | Search->isSearch()) { 24 | echo $this->Search->resetLink(null, ['class' => 'btn btn-secondary']); 25 | } ?> 26 | Form->end(); ?> 27 | -------------------------------------------------------------------------------- /tests/Fixture/ContinentsFixture.php: -------------------------------------------------------------------------------- 1 | ['type' => 'integer', 'null' => false, 'default' => null, 'length' => 10], 14 | 'name' => ['type' => 'string', 'null' => false, 'default' => null, 'length' => 64, 'charset' => 'utf8'], 15 | 'ori_name' => ['type' => 'string', 'null' => true, 'default' => null, 'length' => 64, 'charset' => 'utf8'], 16 | 'code' => ['type' => 'string', 'null' => true, 'default' => null, 'length' => 2, 'charset' => 'utf8'], 17 | 'parent_id' => ['type' => 'integer', 'null' => true, 'default' => null, 'length' => 10], 18 | 'lft' => ['type' => 'integer', 'null' => true, 'default' => null, 'length' => 10], 19 | 'rght' => ['type' => 'integer', 'null' => true, 'default' => null, 'length' => 10], 20 | 'status' => ['type' => 'integer', 'null' => false, 'default' => '0', 'length' => 2], 21 | 'modified' => ['type' => 'datetime', 'null' => false, 'default' => null], 22 | '_constraints' => ['primary' => ['type' => 'primary', 'columns' => ['id']]], 23 | '_options' => ['charset' => 'utf8', 'engine' => 'MyISAM'], 24 | ]; 25 | 26 | /** 27 | * @var array 28 | */ 29 | public array $records = [ 30 | [ 31 | 'name' => 'Lorem ipsum dolor sit amet', 32 | 'ori_name' => 'Lorem ipsum dolor sit amet', 33 | 'code' => 'XY', 34 | 'parent_id' => 1, 35 | 'lft' => 1, 36 | 'rght' => 1, 37 | 'status' => 1, 38 | 'modified' => '2011-07-15 19:47:38', 39 | ], 40 | ]; 41 | 42 | } 43 | -------------------------------------------------------------------------------- /tests/Fixture/DistrictsFixture.php: -------------------------------------------------------------------------------- 1 | ['type' => 'integer', 'null' => false, 'default' => null, 'length' => 10], 19 | 'name' => ['type' => 'string', 'null' => false, 'default' => null, 'length' => 30, 'charset' => 'utf8'], 20 | 'slug' => ['type' => 'string', 'null' => false, 'default' => null, 'length' => 40, 'charset' => 'utf8'], 21 | 'city_id' => ['type' => 'integer', 'null' => false, 'default' => null, 'length' => 10], 22 | 'lat' => ['type' => 'float', 'null' => true, 'default' => null, 'length' => '10,6'], 23 | 'lng' => ['type' => 'float', 'null' => true, 'default' => null, 'length' => '10,6'], 24 | 'status' => ['type' => 'boolean', 'null' => false, 'default' => '0', 'comment' => '0 inactive, 1 active'], 25 | 'created' => ['type' => 'datetime', 'null' => false, 'default' => null], 26 | '_constraints' => ['primary' => ['type' => 'primary', 'columns' => ['id']]], 27 | '_options' => ['charset' => 'utf8', 'engine' => 'MyISAM'], 28 | ]; 29 | 30 | /** 31 | * Records 32 | * 33 | * @var array 34 | */ 35 | public array $records = [ 36 | [ 37 | 'name' => 'Lorem ipsum dolor sit amet', 38 | 'slug' => 'Lorem ipsum dolor sit amet', 39 | 'city_id' => 1, 40 | 'lat' => 1, 41 | 'lng' => 1, 42 | 'status' => 1, 43 | 'created' => '2013-11-06 13:20:46', 44 | ], 45 | ]; 46 | 47 | } 48 | -------------------------------------------------------------------------------- /tests/Fixture/MimeTypeImagesFixture.php: -------------------------------------------------------------------------------- 1 | ['type' => 'integer', 'null' => false, 'default' => null, 'length' => 10, 'unsigned' => true], 19 | 'name' => ['type' => 'string', 'null' => false, 'default' => null, 'length' => 100, 'comment' => 'extension (e.g. jpg)', 'charset' => 'utf8'], 20 | 'ext' => ['type' => 'string', 'null' => false, 'default' => null, 'length' => 20, 'comment' => 'extension (lowercase!) of real image (exe.gif -> gif)', 'charset' => 'utf8'], 21 | 'active' => ['type' => 'boolean', 'null' => false, 'default' => '0'], 22 | 'details' => ['type' => 'string', 'null' => false, 'default' => null, 'charset' => 'utf8'], 23 | 'created' => ['type' => 'datetime', 'null' => false, 'default' => null], 24 | 'modified' => ['type' => 'datetime', 'null' => false, 'default' => null], 25 | '_constraints' => ['primary' => ['type' => 'primary', 'columns' => ['id']]], 26 | '_options' => ['charset' => 'utf8', 'engine' => 'MyISAM'], 27 | ]; 28 | 29 | /** 30 | * Records 31 | * 32 | * @var array 33 | */ 34 | public array $records = [ 35 | [ 36 | 'name' => 'Lorem ipsum dolor sit amet', 37 | 'ext' => 'Lorem ipsum dolor ', 38 | 'active' => 1, 39 | 'details' => 'Lorem ipsum dolor sit amet', 40 | 'created' => '2014-07-23 14:06:49', 41 | 'modified' => '2014-07-23 14:06:49', 42 | ], 43 | ]; 44 | 45 | } 46 | -------------------------------------------------------------------------------- /tests/Fixture/PostalCodesFixture.php: -------------------------------------------------------------------------------- 1 | ['type' => 'uuid', 'null' => false, 'default' => null, 'length' => 36], 19 | 'code' => ['type' => 'string', 'null' => false, 'default' => null, 'length' => 5], 20 | 'country_id' => ['type' => 'integer', 'null' => false, 'default' => '0', 'length' => 2, 'collate' => null], 21 | 'lat' => ['type' => 'float', 'null' => false, 'default' => '0.0000', 'length' => '9,4', 'collate' => null], 22 | 'lng' => ['type' => 'float', 'null' => false, 'default' => '0.0000', 'length' => '9,4', 'collate' => null], 23 | 'official_address' => ['type' => 'string', 'null' => false, 'default' => null], 24 | 'created' => ['type' => 'datetime', 'null' => true, 'default' => null, 'collate' => null], 25 | 'modified' => ['type' => 'datetime', 'null' => true, 'default' => null, 'collate' => null], 26 | '_constraints' => ['primary' => ['type' => 'primary', 'columns' => ['id']]], 27 | '_options' => [], 28 | ]; 29 | 30 | /** 31 | * Records 32 | * 33 | * @var array 34 | */ 35 | public array $records = [ 36 | [ 37 | 'id' => '481fc6d0-b920-43e0-a40d-111111111111', 38 | 'code' => '81234', 39 | 'country_id' => 1, 40 | 'lat' => 11, 41 | 'lng' => 12, 42 | 'official_address' => 'Foo bar', 43 | 'created' => '2011-07-15 19:47:38', 44 | 'modified' => '2011-07-15 19:47:38', 45 | ], 46 | ]; 47 | 48 | } 49 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/Admin/AddressesControllerTest.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | protected array $fixtures = [ 19 | 'plugin.Data.Addresses', 20 | ]; 21 | 22 | /** 23 | * @return void 24 | */ 25 | public function setUp(): void { 26 | parent::setUp(); 27 | 28 | $this->loadPlugins(['Data', 'Tools']); 29 | } 30 | 31 | /** 32 | * @return void 33 | */ 34 | public function testIndex() { 35 | $this->disableErrorHandlerMiddleware(); 36 | 37 | $this->get(['prefix' => 'Admin', 'plugin' => 'Data', 'controller' => 'Addresses', 'action' => 'index']); 38 | $this->assertResponseCode(200); 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/Admin/CitiesControllerTest.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | protected array $fixtures = [ 19 | 'plugin.Data.Cities', 20 | ]; 21 | 22 | /** 23 | * @return void 24 | */ 25 | public function setUp(): void { 26 | parent::setUp(); 27 | 28 | $this->loadPlugins(['Data', 'Tools']); 29 | } 30 | 31 | /** 32 | * @return void 33 | */ 34 | public function testIndex() { 35 | $this->get(['prefix' => 'Admin', 'plugin' => 'Data', 'controller' => 'Cities', 'action' => 'index']); 36 | $this->assertResponseCode(200); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/Admin/CountriesControllerTest.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | protected array $fixtures = [ 19 | 'plugin.Data.Countries', 20 | 'plugin.Data.Timezones', 21 | ]; 22 | 23 | /** 24 | * @return void 25 | */ 26 | public function setUp(): void { 27 | parent::setUp(); 28 | 29 | $this->loadPlugins(['Data', 'Tools']); 30 | } 31 | 32 | /** 33 | * @return void 34 | */ 35 | public function testIndex() { 36 | $this->disableErrorHandlerMiddleware(); 37 | 38 | $this->get(['prefix' => 'Admin', 'plugin' => 'Data', 'controller' => 'Countries', 'action' => 'index']); 39 | $this->assertResponseCode(200); 40 | } 41 | 42 | /** 43 | * @return void 44 | */ 45 | public function testSync(): void { 46 | $this->disableErrorHandlerMiddleware(); 47 | 48 | $this->get(['prefix' => 'Admin', 'plugin' => 'Data', 'controller' => 'Countries', 'action' => 'sync']); 49 | $this->assertResponseCode(200); 50 | } 51 | 52 | /** 53 | * @return void 54 | */ 55 | public function testView() { 56 | $this->disableErrorHandlerMiddleware(); 57 | 58 | $this->get(['prefix' => 'Admin', 'plugin' => 'Data', 'controller' => 'Countries', 'action' => 'view', 1]); 59 | $this->assertResponseCode(200); 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/Admin/CurrenciesControllerTest.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | protected array $fixtures = [ 19 | 'plugin.Data.Currencies', 20 | ]; 21 | 22 | /** 23 | * @return void 24 | */ 25 | public function setUp(): void { 26 | parent::setUp(); 27 | 28 | $this->loadPlugins(['Data', 'Tools']); 29 | } 30 | 31 | /** 32 | * @return void 33 | */ 34 | public function testIndex() { 35 | $this->get(['prefix' => 'Admin', 'plugin' => 'Data', 'controller' => 'Currencies', 'action' => 'index']); 36 | $this->assertResponseCode(200); 37 | } 38 | 39 | /** 40 | * @return void 41 | */ 42 | public function testView() { 43 | $this->disableErrorHandlerMiddleware(); 44 | 45 | $this->get(['prefix' => 'Admin', 'plugin' => 'Data', 'controller' => 'Currencies', 'action' => 'view', 1]); 46 | $this->assertResponseCode(200); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/Admin/LanguagesControllerTest.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | protected array $fixtures = [ 19 | 'plugin.Data.Languages', 20 | ]; 21 | 22 | /** 23 | * @return void 24 | */ 25 | public function setUp(): void { 26 | parent::setUp(); 27 | 28 | $this->loadPlugins(['Data', 'Tools']); 29 | } 30 | 31 | /** 32 | * @return void 33 | */ 34 | public function testIndex() { 35 | $this->disableErrorHandlerMiddleware(); 36 | 37 | $this->get(['prefix' => 'Admin', 'plugin' => 'Data', 'controller' => 'Languages', 'action' => 'index']); 38 | $this->assertResponseCode(200); 39 | } 40 | 41 | /** 42 | * @return void 43 | */ 44 | public function testView() { 45 | $this->disableErrorHandlerMiddleware(); 46 | 47 | $this->get(['prefix' => 'Admin', 'plugin' => 'Data', 'controller' => 'Languages', 'action' => 'view', 1]); 48 | $this->assertResponseCode(200); 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/Admin/PostalCodesControllerTest.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | protected array $fixtures = [ 19 | 'plugin.Data.PostalCodes', 20 | 'plugin.Data.Countries', 21 | ]; 22 | 23 | /** 24 | * @return void 25 | */ 26 | public function setUp(): void { 27 | parent::setUp(); 28 | 29 | $this->loadPlugins(['Data', 'Tools']); 30 | } 31 | 32 | /** 33 | * @return void 34 | */ 35 | public function testIndex() { 36 | $this->disableErrorHandlerMiddleware(); 37 | 38 | $this->get(['prefix' => 'Admin', 'plugin' => 'Data', 'controller' => 'PostalCodes', 'action' => 'index']); 39 | $this->assertResponseCode(200); 40 | } 41 | 42 | /** 43 | * @return void 44 | */ 45 | public function testAdd() { 46 | $this->disableErrorHandlerMiddleware(); 47 | 48 | $this->get(['prefix' => 'Admin', 'plugin' => 'Data', 'controller' => 'PostalCodes', 'action' => 'add']); 49 | $this->assertResponseCode(200); 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/Admin/StatesControllerTest.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | protected array $fixtures = [ 19 | 'plugin.Data.Countries', 20 | 'plugin.Data.States', 21 | ]; 22 | 23 | /** 24 | * @return void 25 | */ 26 | public function setUp(): void { 27 | parent::setUp(); 28 | 29 | $this->loadPlugins(['Data', 'Tools']); 30 | } 31 | 32 | /** 33 | * @return void 34 | */ 35 | public function testIndex() { 36 | $this->disableErrorHandlerMiddleware(); 37 | 38 | $this->get(['prefix' => 'Admin', 'plugin' => 'Data', 'controller' => 'States', 'action' => 'index']); 39 | $this->assertResponseCode(200); 40 | } 41 | 42 | /** 43 | * @return void 44 | */ 45 | public function testEdit() { 46 | $this->disableErrorHandlerMiddleware(); 47 | 48 | $this->get(['prefix' => 'Admin', 'plugin' => 'Data', 'controller' => 'States', 'action' => 'edit', 1]); 49 | $this->assertResponseCode(200); 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/Component/CountryStateHelperComponentTest.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | protected array $fixtures = [ 18 | 'plugin.Data.Countries', 19 | 'plugin.Data.States', 20 | ]; 21 | 22 | /** 23 | * @var \App\Controller\AppController 24 | */ 25 | protected $Controller; 26 | 27 | /** 28 | * @var \Data\Controller\Component\CountryStateHelperComponent 29 | */ 30 | protected $CountryStateHelperComponent; 31 | 32 | /** 33 | * @return void 34 | */ 35 | public function setUp(): void { 36 | parent::setUp(); 37 | 38 | $this->Controller = new Controller(new ServerRequest()); 39 | $this->CountryStateHelperComponent = new CountryStateHelperComponent(new ComponentRegistry($this->Controller)); 40 | } 41 | 42 | /** 43 | * @return void 44 | */ 45 | public function testProvideData() { 46 | $event = new Event('Controller.startup', $this->Controller); 47 | $this->CountryStateHelperComponent->startup($event); 48 | $this->CountryStateHelperComponent->provideData(); 49 | 50 | $viewVars = $this->Controller->viewBuilder()->getVars(); 51 | $this->assertNotEmpty($viewVars['countries']); 52 | $this->assertNotEmpty($viewVars['states']); 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/ContinentsControllerTest.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | protected array $fixtures = [ 19 | 'plugin.Data.Continents', 20 | ]; 21 | 22 | /** 23 | * @return void 24 | */ 25 | public function setUp(): void { 26 | parent::setUp(); 27 | 28 | $this->loadPlugins(['Data', 'Tools']); 29 | } 30 | 31 | /** 32 | * @return void 33 | */ 34 | public function testIndex() { 35 | $this->disableErrorHandlerMiddleware(); 36 | 37 | $this->get(['plugin' => 'Data', 'controller' => 'Continents', 'action' => 'index']); 38 | $this->assertResponseCode(200); 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/CountriesControllerTest.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | protected array $fixtures = [ 19 | 'plugin.Data.Countries', 20 | ]; 21 | 22 | /** 23 | * @return void 24 | */ 25 | public function setUp(): void { 26 | parent::setUp(); 27 | 28 | $this->loadPlugins(['Data', 'Tools']); 29 | } 30 | 31 | /** 32 | * @return void 33 | */ 34 | public function testIndex() { 35 | $this->disableErrorHandlerMiddleware(); 36 | 37 | $this->get(['plugin' => 'Data', 'controller' => 'Countries', 'action' => 'index']); 38 | $this->assertResponseCode(200); 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/CurrenciesControllerTest.php: -------------------------------------------------------------------------------- 1 | 18 | */ 19 | protected array $fixtures = [ 20 | 'plugin.Data.Currencies', 21 | ]; 22 | 23 | /** 24 | * @return void 25 | */ 26 | public function setUp(): void { 27 | parent::setUp(); 28 | 29 | $this->loadPlugins(['Data', 'Tools']); 30 | } 31 | 32 | /** 33 | * @return void 34 | */ 35 | public function testIndex(): void { 36 | $this->get(['plugin' => 'Data', 'controller' => 'Currencies', 'action' => 'index']); 37 | $this->assertResponseCode(200); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/PostalCodesControllerTest.php: -------------------------------------------------------------------------------- 1 | 19 | */ 20 | protected array $fixtures = [ 21 | 'plugin.Data.PostalCodes', 22 | ]; 23 | 24 | /** 25 | * @return void 26 | */ 27 | public function setUp(): void { 28 | parent::setUp(); 29 | 30 | $this->loadPlugins(['Data', 'Tools']); 31 | } 32 | 33 | /** 34 | * @return void 35 | */ 36 | public function testMap() { 37 | $this->disableErrorHandlerMiddleware(); 38 | 39 | $connectionConfig = TableRegistry::getTableLocator()->get('Data.PostalCodes')->getConnection()->config(); 40 | $this->skipIf($connectionConfig['driver'] !== Mysql::class, 'Only for MySQL'); 41 | 42 | $this->get(['plugin' => 'Data', 'controller' => 'PostalCodes', 'action' => 'map']); 43 | $this->assertResponseCode(200); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/StatesControllerTest.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | protected array $fixtures = [ 19 | 'plugin.Data.States', 20 | 'plugin.Data.Countries', 21 | ]; 22 | 23 | /** 24 | * @return void 25 | */ 26 | public function setUp(): void { 27 | parent::setUp(); 28 | 29 | $this->loadPlugins(['Data', 'Tools']); 30 | 31 | $this->disableErrorHandlerMiddleware(); 32 | } 33 | 34 | /** 35 | * @return void 36 | */ 37 | public function testIndex() { 38 | $this->get(['plugin' => 'Data', 'controller' => 'States', 'action' => 'index']); 39 | $this->assertResponseCode(200); 40 | } 41 | 42 | /** 43 | * @return void 44 | */ 45 | public function testUpdateSelect() { 46 | $this->configRequest([ 47 | 'headers' => [ 48 | 'HTTP_X_REQUESTED_WITH' => 'XMLHttpRequest', 49 | ], 50 | ]); 51 | $_ENV['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'; 52 | 53 | $this->post(['plugin' => 'Data', 'controller' => 'States', 'action' => 'updateSelect'], []); 54 | $this->assertResponseCode(200); 55 | 56 | //$content = $this->_response->body(); 57 | $this->assertResponseContains(''); 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /tests/TestCase/Controller/TimezonesControllerTest.php: -------------------------------------------------------------------------------- 1 | 18 | */ 19 | protected array $fixtures = [ 20 | 'plugin.Data.Timezones', 21 | ]; 22 | 23 | /** 24 | * @return void 25 | */ 26 | public function setUp(): void { 27 | parent::setUp(); 28 | 29 | $this->loadPlugins(['Data', 'Tools']); 30 | } 31 | 32 | /** 33 | * @return void 34 | */ 35 | public function testIndex(): void { 36 | $this->disableErrorHandlerMiddleware(); 37 | 38 | $this->get(['plugin' => 'Data', 'controller' => 'Timezones', 'action' => 'index']); 39 | $this->assertResponseCode(200); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /tests/TestCase/Currency/CurrencyBitcoinLibTest.php: -------------------------------------------------------------------------------- 1 | isDebug()) { 28 | $this->CurrencyBitcoin = new CurrencyBitcoinLib(); 29 | 30 | return; 31 | } 32 | 33 | $this->CurrencyBitcoin = $this->getMockBuilder('Data\Currency\CurrencyBitcoinLib')->onlyMethods(['_get'])->getMock(); 34 | $this->path = Plugin::path('Data') . 'tests' . DS . 'test_files' . DS . 'json' . DS; 35 | } 36 | 37 | /** 38 | * @return void 39 | */ 40 | public function testCoingecko() { 41 | if (!$this->isDebug()) { 42 | $this->CurrencyBitcoin->expects($this->once()) 43 | ->method('_get') 44 | ->with('https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=eur') 45 | ->willReturn(file_get_contents($this->path . 'coingecko.json')); 46 | } 47 | $result = $this->CurrencyBitcoin->coingecko(); 48 | $this->assertTrue($result !== null && $result > 999); 49 | } 50 | 51 | /** 52 | * @return void 53 | */ 54 | public function testRatio() { 55 | $is = $this->CurrencyBitcoin->ratio(95871); 56 | $this->assertTrue(is_numeric($is) && $is > 0 && $is < 1); 57 | 58 | $is = $this->CurrencyBitcoin->convert(42.32, 95871); // EUR 59 | // 0.00044142... 60 | $this->assertTrue(is_numeric($is) && $is > 0 && $is < 1); 61 | } 62 | 63 | } 64 | -------------------------------------------------------------------------------- /tests/TestCase/Currency/CurrencyLibTest.php: -------------------------------------------------------------------------------- 1 | CurrencyLib = new TestCurrencyLib(); 22 | } 23 | 24 | /** 25 | * @return void 26 | */ 27 | public function testConvert() { 28 | //$this->out('

30 EUR in USD

', true); 29 | $is = $this->CurrencyLib->convert(30, 'EUR', 'USD'); 30 | //$this->debug($is); 31 | $this->assertTrue($is > 30 && $is < 60); 32 | 33 | $this->assertFalse($this->CurrencyLib->cacheFileUsed()); 34 | } 35 | 36 | /** 37 | * @return void 38 | */ 39 | public function testIsAvailable() { 40 | $is = $this->CurrencyLib->isAvailable('EUR'); 41 | $this->assertTrue($is); 42 | 43 | $is = $this->CurrencyLib->isAvailable('XYZ'); 44 | $this->assertFalse($is); 45 | } 46 | 47 | /** 48 | * @return void 49 | */ 50 | public function testTable() { 51 | $is = $this->CurrencyLib->table(); 52 | $this->assertTrue(is_array($is) && !empty($is)); 53 | 54 | $is = $this->CurrencyLib->table('XYZ'); 55 | $this->assertNull($is); 56 | 57 | $this->assertTrue($this->CurrencyLib->cacheFileUsed()); 58 | } 59 | 60 | /** 61 | * @return void 62 | */ 63 | public function testHistory() { 64 | $is = $this->CurrencyLib->history(); 65 | $this->assertTrue(is_array($is) && !empty($is)); 66 | } 67 | 68 | /** 69 | * @return void 70 | */ 71 | public function testReset() { 72 | $result = $this->CurrencyLib->reset(); 73 | $this->assertTrue($result); 74 | } 75 | 76 | } 77 | -------------------------------------------------------------------------------- /tests/TestCase/HtmlDom/HtmlDomTest.php: -------------------------------------------------------------------------------- 1 | skipIf(true, 'Broken'); 22 | } 23 | 24 | /** 25 | * HtmlDom test 26 | * 27 | * @return void 28 | */ 29 | public function testBasics() { 30 | $this->HtmlDom = new HtmlDom('
Hello
World
'); 31 | $result = $this->HtmlDom->find('div', 1)->innertext; 32 | $this->assertSame('World', $result); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /tests/TestCase/Model/Entity/CountryTest.php: -------------------------------------------------------------------------------- 1 | timezone_offset = '3600,7200'; 16 | 17 | $this->assertNotEmpty($country->timezone_offsets); 18 | $this->assertSame(['3600' => 3600, '7200' => 7200], $country->timezone_offsets); 19 | 20 | $this->assertNotEmpty($country->timezone_offset_string); 21 | $this->assertSame('+01:00,+02:00', $country->timezone_offset_string); 22 | 23 | $this->assertNotEmpty($country->timezone_offset_strings); 24 | $this->assertSame(['3600' => '+01:00', '7200' => '+02:00'], $country->timezone_offset_strings); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /tests/TestCase/Model/Table/CitiesTableTest.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | protected array $fixtures = [ 14 | 'plugin.Data.Cities', 15 | ]; 16 | 17 | /** 18 | * @var \Data\Model\Table\CitiesTable 19 | */ 20 | protected $Cities; 21 | 22 | /** 23 | * @return void 24 | */ 25 | public function setUp(): void { 26 | parent::setUp(); 27 | 28 | $this->Cities = TableRegistry::getTableLocator()->get('Data.Cities'); 29 | } 30 | 31 | /** 32 | * @return void 33 | */ 34 | public function tearDown(): void { 35 | parent::tearDown(); 36 | 37 | //TableRegistry::clear(); 38 | } 39 | 40 | /** 41 | * CitiesTableTest::testBasicFind() 42 | * 43 | * @return void 44 | */ 45 | public function testBasicFind() { 46 | $result = $this->Cities->find()->first(); 47 | $this->assertNotEmpty($result); 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /tests/TestCase/Model/Table/ContinentsTableTest.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | protected array $fixtures = [ 14 | 'plugin.Data.Continents', 15 | ]; 16 | 17 | /** 18 | * @var \Data\Model\Table\ContinentsTable 19 | */ 20 | protected $Continents; 21 | 22 | /** 23 | * @return void 24 | */ 25 | public function setUp(): void { 26 | parent::setUp(); 27 | 28 | $this->Continents = TableRegistry::getTableLocator()->get('Data.Continents'); 29 | } 30 | 31 | /** 32 | * @return void 33 | */ 34 | public function tearDown(): void { 35 | parent::tearDown(); 36 | 37 | //TableRegistry::clear(); 38 | } 39 | 40 | /** 41 | * @return void 42 | */ 43 | public function testBasicFind() { 44 | $result = $this->Continents->find()->first(); 45 | $this->assertNotEmpty($result); 46 | } 47 | 48 | /** 49 | * @return void 50 | */ 51 | public function testBasicSave() { 52 | $data = [ 53 | 'name' => 'Foo', 54 | 'code' => 'XY', 55 | ]; 56 | 57 | $result = $this->Continents->newEntity($data); 58 | $this->Continents->saveOrFail($result); 59 | $this->assertSame('XY', $result->code); 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /tests/TestCase/Model/Table/CountiesTableTest.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | protected array $fixtures = [ 14 | 'plugin.Data.Counties', 15 | 'plugin.Data.States', 16 | ]; 17 | 18 | /** 19 | * @var \Data\Model\Table\CountriesTable 20 | */ 21 | protected $Counties; 22 | 23 | /** 24 | * @return void 25 | */ 26 | public function setUp(): void { 27 | parent::setUp(); 28 | 29 | $this->Counties = TableRegistry::getTableLocator()->get('Data.Counties'); 30 | } 31 | 32 | /** 33 | * @return void 34 | */ 35 | public function tearDown(): void { 36 | parent::tearDown(); 37 | 38 | //TableRegistry::clear(); 39 | } 40 | 41 | /** 42 | * CountiesTableTest::testBasicFind() 43 | * 44 | * @return void 45 | */ 46 | public function testBasicFind() { 47 | $result = $this->Counties->find()->first(); 48 | $this->assertNotEmpty($result); 49 | } 50 | 51 | /** 52 | * CountiesTableTest::testBasicSave() 53 | * 54 | * @return void 55 | */ 56 | public function testBasicSave() { 57 | $data = [ 58 | 'official_key' => 'foobar', 59 | 'rank' => 5, 60 | 'name' => 'Foo Bar', 61 | 'country_id' => 1, 62 | 'state_id' => 1, 63 | ]; 64 | $entity = $this->Counties->newEntity($data); 65 | $this->assertEmpty($entity->getErrors()); 66 | 67 | $result = $this->Counties->save($entity); 68 | //debug($result);ob_flush(); 69 | $this->assertNotEmpty($result); 70 | $this->assertSame('foo-bar', $result['slug']); 71 | } 72 | 73 | } 74 | -------------------------------------------------------------------------------- /tests/TestCase/Model/Table/CountriesTableTest.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | protected array $fixtures = [ 14 | 'plugin.Data.Countries', 15 | 'plugin.Data.States', 16 | ]; 17 | 18 | /** 19 | * @var \Data\Model\Table\CountriesTable 20 | */ 21 | protected $Countries; 22 | 23 | /** 24 | * @return void 25 | */ 26 | public function setUp(): void { 27 | parent::setUp(); 28 | 29 | $this->Countries = TableRegistry::getTableLocator()->get('Data.Countries'); 30 | } 31 | 32 | /** 33 | * @return void 34 | */ 35 | public function tearDown(): void { 36 | parent::tearDown(); 37 | 38 | //TableRegistry::clear(); 39 | } 40 | 41 | /** 42 | * @return void 43 | */ 44 | public function testBasicFind() { 45 | $result = $this->Countries->find()->contain(['States'])->first(); 46 | $this->assertNotEmpty($result); 47 | $this->assertNotEmpty($result->states); 48 | } 49 | 50 | /** 51 | * @return void 52 | */ 53 | public function testBasicSave() { 54 | $country = $this->Countries->newEntity([ 55 | 'name' => 'Foo Bar', 56 | 'ori_name' => 'Foo Bar', 57 | 'iso2' => 'FB', 58 | 'iso3' => 'fbr', 59 | ]); 60 | $result = $this->Countries->saveOrFail($country); 61 | $this->assertSame('FBR', $result->iso3); 62 | } 63 | 64 | } 65 | -------------------------------------------------------------------------------- /tests/TestCase/Model/Table/DistrictsTableTest.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | protected array $fixtures = [ 14 | 'plugin.Data.Districts', 15 | ]; 16 | 17 | /** 18 | * @var \Data\Model\Table\DistrictsTable 19 | */ 20 | protected $Districts; 21 | 22 | /** 23 | * @return void 24 | */ 25 | public function setUp(): void { 26 | parent::setUp(); 27 | 28 | $this->Districts = TableRegistry::getTableLocator()->get('Data.Districts'); 29 | } 30 | 31 | /** 32 | * @return void 33 | */ 34 | public function testBasicFind() { 35 | $result = $this->Districts->find()->first(); 36 | $this->assertNotEmpty($result); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /tests/TestCase/Model/Table/LocationsTableTest.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | protected array $fixtures = [ 14 | 'plugin.Data.Locations', 15 | ]; 16 | 17 | /** 18 | * @var \Data\Model\Table\LocationsTable 19 | */ 20 | protected $Locations; 21 | 22 | /** 23 | * @return void 24 | */ 25 | public function setUp(): void { 26 | parent::setUp(); 27 | 28 | $this->Locations = TableRegistry::getTableLocator()->get('Data.Locations'); 29 | } 30 | 31 | /** 32 | * @return void 33 | */ 34 | public function testBasicFind() { 35 | $result = $this->Locations->find()->first(); 36 | $this->assertNotEmpty($result); 37 | } 38 | 39 | /** 40 | * @return void 41 | */ 42 | public function testBasicSave() { 43 | $data = [ 44 | 'country_id' => 1, 45 | 'state_id' => 1, 46 | 'city' => 'Berlin', 47 | ]; 48 | $location = $this->Locations->newEntity($data); 49 | $result = $this->Locations->save($location); 50 | $this->assertNotEmpty($result); 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /tests/TestCase/Model/Table/MimeTypeImagesTableTest.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | protected array $fixtures = [ 14 | 'plugin.Data.MimeTypeImages', 15 | ]; 16 | 17 | /** 18 | * @var \Data\Model\Table\MimeTypeImagesTable 19 | */ 20 | protected $MimeTypeImages; 21 | 22 | /** 23 | * @return void 24 | */ 25 | public function setUp(): void { 26 | parent::setUp(); 27 | 28 | $this->MimeTypeImages = TableRegistry::getTableLocator()->get('Data.MimeTypeImages'); 29 | } 30 | 31 | /** 32 | * @return void 33 | */ 34 | public function testBasicFind() { 35 | $result = $this->MimeTypeImages->find()->first(); 36 | $this->assertNotEmpty($result); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /tests/TestCase/Model/Table/MimeTypesTableTest.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | protected array $fixtures = [ 14 | 'plugin.Data.MimeTypes', 15 | ]; 16 | 17 | /** 18 | * @var \Data\Model\Table\MimeTypesTable 19 | */ 20 | protected $MimeTypes; 21 | 22 | /** 23 | * @return void 24 | */ 25 | public function setUp(): void { 26 | parent::setUp(); 27 | 28 | $this->MimeTypes = TableRegistry::getTableLocator()->get('Data.MimeTypes'); 29 | } 30 | 31 | /** 32 | * @return void 33 | */ 34 | public function testBasicFind() { 35 | $result = $this->MimeTypes->find()->first(); 36 | $this->assertNotEmpty($result); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /tests/TestCase/Model/Table/StatesTableTest.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | protected array $fixtures = [ 14 | 'plugin.Data.States', 15 | ]; 16 | 17 | /** 18 | * @var \Data\Model\Table\StatesTable 19 | */ 20 | protected $States; 21 | 22 | /** 23 | * @return void 24 | */ 25 | public function setUp(): void { 26 | parent::setUp(); 27 | 28 | $this->States = TableRegistry::getTableLocator()->get('Data.States'); 29 | } 30 | 31 | /** 32 | * @return void 33 | */ 34 | public function testBasicFind() { 35 | $result = $this->States->find()->first(); 36 | $this->assertNotEmpty($result); 37 | } 38 | 39 | /** 40 | * @return void 41 | */ 42 | public function testGetStateId() { 43 | $state = $this->States->find()->first(); 44 | 45 | $id = $this->States->getStateId(['code' => $state->code]); 46 | $this->assertSame($state->id, $id); 47 | } 48 | 49 | /** 50 | * @return void 51 | */ 52 | public function testBasicSave() { 53 | $data = [ 54 | 'name' => 'Foo', 55 | 'code' => 'fxy', 56 | 'country_id' => 1, 57 | ]; 58 | 59 | $result = $this->States->newEntity($data); 60 | $this->States->saveOrFail($result); 61 | $this->assertSame('FXY', $result->code); 62 | } 63 | 64 | } 65 | -------------------------------------------------------------------------------- /tests/TestCase/Model/Table/TimezonesTableTest.php: -------------------------------------------------------------------------------- 1 | 20 | */ 21 | protected array $fixtures = [ 22 | 'plugin.Data.Timezones', 23 | ]; 24 | 25 | /** 26 | * @return void 27 | */ 28 | public function setUp(): void { 29 | parent::setUp(); 30 | $config = $this->getTableLocator()->exists('Timezones') ? [] : ['className' => TimezonesTable::class]; 31 | $this->Timezones = $this->getTableLocator()->get('Timezones', $config); 32 | } 33 | 34 | /** 35 | * @return void 36 | */ 37 | public function tearDown(): void { 38 | unset($this->Timezones); 39 | 40 | parent::tearDown(); 41 | } 42 | 43 | /** 44 | * @return void 45 | */ 46 | public function testValidationDefault(): void { 47 | $this->markTestIncomplete('Not implemented yet.'); 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /tests/TestCase/View/Helper/MimeTypeHelperTest.php: -------------------------------------------------------------------------------- 1 | 18 | */ 19 | protected array $fixtures = [ 20 | 'plugin.Data.MimeTypes', 21 | 'plugin.Data.MimeTypeImages', 22 | ]; 23 | 24 | /** 25 | * @return void 26 | */ 27 | public function setUp(): void { 28 | parent::setUp(); 29 | 30 | $this->MimeTypeHelper = new MimeTypeHelper(new View(null)); 31 | } 32 | 33 | /** 34 | * @return void 35 | */ 36 | public function testGetTypes() { 37 | $result = $this->MimeTypeHelper->getTypes(); 38 | $this->assertFalse($result); 39 | //$this->assertInstanceOf('MimeTypeHelper', $this->MimeTypeHelper); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /tests/config/bootstrap.php: -------------------------------------------------------------------------------- 1 | $iterator 9 | */ 10 | $iterator = new DirectoryIterator(__DIR__ . DS . 'Fixture'); 11 | foreach ($iterator as $file) { 12 | if (!preg_match('/(\w+)Fixture.php$/', (string)$file, $matches)) { 13 | continue; 14 | } 15 | 16 | $name = $matches[1]; 17 | $tableName = null; 18 | $class = 'Data\\Test\\Fixture\\' . $name . 'Fixture'; 19 | try { 20 | $fieldsObject = (new ReflectionClass($class))->getProperty('fields'); 21 | $tableObject = (new ReflectionClass($class))->getProperty('table'); 22 | $tableName = $tableObject->getDefaultValue(); 23 | 24 | } catch (ReflectionException $e) { 25 | continue; 26 | } 27 | 28 | if (!$tableName) { 29 | $tableName = Inflector::underscore($name); 30 | } 31 | 32 | $array = $fieldsObject->getDefaultValue(); 33 | $constraints = $array['_constraints'] ?? []; 34 | $indexes = $array['_indexes'] ?? []; 35 | unset($array['_constraints'], $array['_indexes'], $array['_options']); 36 | $table = [ 37 | 'table' => $tableName, 38 | 'columns' => $array, 39 | 'constraints' => $constraints, 40 | 'indexes' => $indexes, 41 | ]; 42 | $tables[$tableName] = $table; 43 | } 44 | 45 | return $tables; 46 | -------------------------------------------------------------------------------- /webroot/img/country_flags/a1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/a1.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/a2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/a2.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ac.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ac.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ad.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ad.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ae.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ae.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/aero.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/aero.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/af.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/af.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ag.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ag.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ai.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ai.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/al.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/al.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/am.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/am.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/an.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/an.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ao.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ao.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/aq.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/aq.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ar.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/arpa.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/arpa.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/as.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/as.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/at.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/at.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/au.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/au.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/aw.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/aw.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ax.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ax.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/az.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/az.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ba.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ba.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bb.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bd.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/be.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/be.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bf.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bg.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bh.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bi.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bi.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/biz.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/biz.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bj.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bj.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bl.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bm.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bn.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bo.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bq.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bq.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/br.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/br.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bs.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bt.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bv.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bv.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bw.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bw.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/by.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/by.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/bz.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/bz.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ca.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ca.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cc.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cd.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cf.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cg.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ch.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ch.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ci.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ci.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ck.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ck.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cl.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cm.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cn.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/co.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/co.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/com.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/com.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/coop.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/coop.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cr.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cs.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cu.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cv.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cv.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cw.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cw.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cx.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cx.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cy.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/cz.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/cz.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/de.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/de.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/dj.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/dj.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/dk.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/dk.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/dm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/dm.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/do.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/do.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/dz.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/dz.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ec.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ec.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/edu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/edu.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ee.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ee.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/eg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/eg.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/eh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/eh.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/er.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/er.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/es.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/es.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/et.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/et.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/eu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/eu.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/fi.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/fi.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/fj.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/fj.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/fk.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/fk.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/fm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/fm.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/fo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/fo.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/fr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/fr.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ga.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ga.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gb.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gd.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ge.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ge.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gf.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gg.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gh.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gi.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gi.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gl.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gm.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gn.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gov.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gov.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gp.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gq.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gq.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gr.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gs.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gt.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gu.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gw.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gw.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/gy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/gy.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/hk.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/hk.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/hm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/hm.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/hn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/hn.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/hr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/hr.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ht.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ht.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/hu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/hu.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/id.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/id.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ie.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ie.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/il.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/il.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/im.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/im.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/in.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/in.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/info.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/info.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/int.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/int.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/io.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/io.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/iq.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/iq.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ir.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ir.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/is.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/is.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/it.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/it.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/je.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/je.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/jm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/jm.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/jo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/jo.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/jp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/jp.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ke.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ke.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/kg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/kg.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/kh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/kh.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ki.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ki.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/km.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/km.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/kn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/kn.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/kp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/kp.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/kr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/kr.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/kw.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/kw.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ky.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ky.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/kz.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/kz.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/la.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/la.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/lb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/lb.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/lc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/lc.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/li.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/li.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/lk.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/lk.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/lr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/lr.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ls.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ls.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/lt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/lt.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/lu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/lu.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/lv.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/lv.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ly.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ly.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ma.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ma.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mc.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/md.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/md.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/me.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/me.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mf.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mg.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mh.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mil.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mil.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mk.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mk.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ml.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ml.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mm.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mn.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mo.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mp.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mq.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mq.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mr.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ms.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ms.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mt.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mu.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mv.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mv.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mw.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mw.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mx.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mx.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/my.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/my.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/mz.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/mz.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/na.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/na.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/name.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/name.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/nato.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/nato.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/nc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/nc.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ne.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ne.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/net.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/net.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/nf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/nf.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ng.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ng.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ni.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ni.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/nl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/nl.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/no.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/no.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/np.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/np.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/nr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/nr.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/nu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/nu.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/nz.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/nz.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/om.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/om.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/org.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/org.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/pa.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/pa.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/pe.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/pe.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/pf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/pf.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/pg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/pg.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ph.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ph.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/pk.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/pk.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/pl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/pl.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/pm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/pm.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/pn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/pn.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/pr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/pr.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/pro.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/pro.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ps.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ps.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/pt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/pt.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/pw.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/pw.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/py.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/py.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/qa.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/qa.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/re.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/re.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ro.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ro.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/rs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/rs.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ru.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ru.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/rw.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/rw.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sa.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sa.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sb.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sc.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sd.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/se.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/se.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sg.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sh.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/si.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/si.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sj.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sj.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sk.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sk.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sl.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sm.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sn.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/so.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/so.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sr.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ss.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ss.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/st.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/st.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sv.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sv.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sx.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sx.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sy.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/sz.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/sz.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tc.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/td.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/td.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tf.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tg.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/th.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/th.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tj.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tj.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tk.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tk.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tl.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tm.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tn.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/to.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/to.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tp.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tr.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tt.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tv.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tv.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tw.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tw.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/tz.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/tz.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ua.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ua.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ug.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ug.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/uk.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/uk.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/um.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/um.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/unknown.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/unknown.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/us.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/us.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/uy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/uy.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/uz.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/uz.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/va.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/va.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/vc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/vc.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ve.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ve.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/vg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/vg.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/vi.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/vi.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/vn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/vn.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/vu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/vu.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/wf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/wf.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ws.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ws.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/xk.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/xk.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/ye.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/ye.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/yt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/yt.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/yu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/yu.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/za.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/za.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/zm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/zm.gif -------------------------------------------------------------------------------- /webroot/img/country_flags/zw.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dereuromark/cakephp-data/720e9949d53795841fc29c6bfb25fc4e70b361fe/webroot/img/country_flags/zw.gif --------------------------------------------------------------------------------