Example #1
0
    public static function updateCities()
    {
        $data = array();
        $DPD = new DPD_service();
        try {
            $arCityList = $DPD->getCityList();
            $i = 0;
            $errors;
            foreach ($arCityList as $item) {
                $item['cityName'] = iconv('windows-1251', 'utf-8', $item['cityName']);
                $item['regionName'] = iconv('windows-1251', 'utf-8', $item['regionName']);
                $sql = 'SELECT * FROM one_regions WHERE name LIKE \'%' . $item['regionName'] . '%\'';
                $res = mysql_query($sql);
                $row = mysql_fetch_assoc($res);
                print $row['id'] . ' ' . $row['name'] . ' ' . $item['regionName'] . '<br>';
                print $item['cityName'] . '<br><hr>';
                $sql = 'SELECT * FROM one_regions WHERE name LIKE \'%' . $item['cityName'] . '%\'';
                $res = mysql_query($sql);
                $city = mysql_fetch_assoc($res);
                if (!$city) {
                    $sql = '
						INSERT INTO one_regions 
						SET 
							parent=\'' . $row['id'] . '\',
							name=\'' . $item['cityName'] . '\',
							cityId=\'' . $item['cityId'] . '\',
							visible=1
					';
                    mysql_query($sql);
                }
                /*$sql='
                			UPDATE one_regions 
                			SET regionCode=\''.$item['regionCode'].'\'
                			WHERE id='.$row['id'].'
                		';
                		mysql_query($sql);*/
                if (!$row) {
                    $i++;
                    $errors[] = $item['regionName'];
                }
            }
            print 'Ошибок :' . $i;
            print '<pre>';
            print_r($errors);
        } catch (Exception $e) {
            print '<pre>';
            print_r($e);
        }
    }
Example #2
0
 /**
  * Парсер объекта в массив (рекурсия)
  *
  * @access private
  * @param object $obj Объект
  * @param integer $isUTF Флаг необходимости конвертирования строк из UTF в WIN (0|1), по-дефолту "1" - конвертить
  * @param array $arr Внутренний cлужебный массив для обеспечения рекурсии
  * @return array
  */
 private function _parceObj2Arr($obj, $isUTF = 1, $arr = array())
 {
     $isUTF = $isUTF ? 1 : 0;
     if (is_object($obj) || is_array($obj)) {
         $arr = array();
         for (reset($obj); list($k, $v) = each($obj);) {
             if ($k === "GLOBALS") {
                 continue;
             }
             $arr[$k] = DPD_service::_parceObj2Arr($v, $isUTF, $arr);
         }
         return $arr;
     } elseif (gettype($obj) == 'boolean') {
         return $obj ? 'true' : 'false';
     } else {
         // конверт строк: utf-8 --> windows-1251
         if ($isUTF && gettype($obj) == 'string') {
             $obj = iconv('utf-8', 'windows-1251', $obj);
         }
         return $obj;
     }
 }