Пример #1
0
 /**
  * синхронизация бронирований с сайта на локальный сервер
  */
 public static function synchronizeToLocalBase(&$db, &$db_local)
 {
     $rows = self::getUnsyncedBookings($db);
     $objects = self::getObjectsIds($db, 'product_id');
     //echo'<pre>';print_r($objects);echo'</pre>';die;
     //echo'<pre>';print_r($rows);echo'</pre>';//die;
     /*
     foreach($rows as $key=>$row) {
     	if($key < 12 || $key > 12) unset($rows[$key]);
     }
     */
     //echo'<pre>';print_r($rows);echo'</pre>';die;
     //$answer = "rooms not available";
     foreach ($rows as $key => $row) {
         //echo'<pre>';print_r($row);echo'</pre>';//die;
         $id = (int) $row->id;
         $product_id_local = isset($objects[$row->product_id]) ? $objects[$row->product_id]->product_ean : 0;
         //если ИД локального объекта найден то работаем дальше
         if ($product_id_local > 0) {
             $date_from = date('d-m-Y', $row->dfrom);
             $date_to = date('d-m-Y', $row->dto);
             $order = new stdClass();
             $order->f_name = $row->fname;
             $order->l_name = $row->lname;
             $order->order_add_info = $row->notes;
             /*
             if($row->order_id == 2) {
             	$mystring = 'abc';
             	$findme   = self::ON_BOOKING_FROM_WUBOOK_PRIM_PREFIX;
             	$pos = strpos($order->order_add_info, $findme);
             	if ($pos === false) {
             		$order->order_add_info = self::ON_BOOKING_FROM_WUBOOK_PRIM_PREFIX . $order->order_add_info;
             	}
             }	elseif($row->order_id == 1) {
             	$findme   = self::ON_BOOKING_FROM_LOCAL_PRIM_PREFIX;
             	$pos = strpos($order->order_add_info, $findme);
             	if ($pos === false) {
             		$order->order_add_info = self::ON_BOOKING_FROM_LOCAL_PRIM_PREFIX . $order->order_add_info;
             	}
             }
             */
             if ($row->country == '' || $row->country == '--') {
                 $row->country = 'BY';
             }
             $order->country = self::getCountryIdFromCode2($db, $row->country);
             $order->phone = $row->phone;
             $order->email = $row->email;
             if (self::isObjectFreeOnThisDates($db_local, $product_id_local, $date_from, $date_to)) {
                 $k_zajav = VipLocalApi::addBookingOnLocalServer($db_local, $product_id_local, $date_from, $date_to, $order);
                 if ($k_zajav > 0) {
                     self::setKZajav($db, $k_zajav, $row->id);
                 }
             } else {
                 MainApi::saveWuBookAnswer($db, $id, self::LOCAL_SERVER_ROOM_NOT_AVAILABLE);
             }
         } else {
             MainApi::saveWuBookAnswer($db, $id, self::OBJECT_NOT_FOUND_IN_SITE);
         }
     }
     echo 'synchronizeToLocalBase finished';
     return true;
 }