Cheetah
installer.php
Go to the documentation of this file.
1 <?php
2 
8 ch_import('ChWsbInstaller');
9 
11 {
13  {
14  parent::__construct($aConfig);
15  }
16 
17  function install($aParams)
18  {
19  $aResult = parent::install($aParams);
20 
21  $s = $this->_readFromUrl("http://ws.geonames.org/postalCodeCountryInfo?");
22  $a = $this->_getCountriesArray ($s);
23  if (count($a)) {
24  db_res ("TRUNCATE TABLE `ch_zip_countries_geonames`");
25  foreach ($a as $sCountry)
26  db_res ("INSERT INTO `ch_zip_countries_geonames` VALUES ('$sCountry')");
27  } else {
28  return array('code' => CH_WSB_INSTALLER_FAILED, 'content' => 'Network error - can not get list of countries');
29  }
30 
31  return $aResult;
32  }
33 
34  function uninstall($aParams)
35  {
36  return parent::uninstall($aParams);
37  }
38 
39  function _getCountriesArray (&$s)
40  {
41  if (!preg_match_all('/<countryCode>(.*)<\/countryCode>/', $s, $m)) {
42  return array ();
43  }
44  return array_unique($m[1]);
45  }
46 
47  function _readFromUrl ($sUrl)
48  {
49  if (function_exists('curl_init')) {
50  $curl = curl_init();
51  curl_setopt($curl, CURLOPT_URL, $sUrl);
52  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
53  curl_setopt($curl, CURLOPT_HEADER, false);
54  $s = curl_exec($curl);
55  curl_close($curl);
56  if (true === $s)
57  $s = '';
58  } else {
59  $s = @file_get_contents($sUrl);
60  }
61  return $s;
62  }
63 }
ch_import
ch_import($sClassName, $aModule=array())
Definition: utils.inc.php:1218
$aResult
$aResult
Definition: index.php:19
$sUrl
$sUrl
Definition: cart.php:15
php
ChWsbInstaller
Definition: ChWsbInstaller.php:38
CH_WSB_INSTALLER_FAILED
const CH_WSB_INSTALLER_FAILED
Definition: ChWsbInstaller.php:15
ChZIPInstaller\install
install($aParams)
Definition: installer.php:17
$aConfig
$aConfig
Definition: config.php:8
$s
$s
Definition: embed.php:13
ChZIPInstaller\_readFromUrl
_readFromUrl($sUrl)
Definition: installer.php:47
db_res
db_res($query, $bindings=[])
Definition: db.inc.php:39
$sCountry
$sCountry
Definition: browse.php:26
ChZIPInstaller\uninstall
uninstall($aParams)
Definition: installer.php:34
as
as
Definition: Filter.ExtractStyleBlocks.Escaping.txt:10
ChZIPInstaller
Definition: installer.php:11
ChZIPInstaller\__construct
__construct($aConfig)
Definition: installer.php:12
ChZIPInstaller\_getCountriesArray
_getCountriesArray(&$s)
Definition: installer.php:39