Example #1
0
 public function add_subscribers_by_info($datas, $sub_name)
 {
     $ship_code_arrs = $this->shipping_code_model->fetch_all_shipping_codes();
     $check_url = array();
     foreach ($ship_code_arrs as $ship_code_arr) {
         $ship_code[$ship_code_arr->code] = $ship_code_arr->name_en;
         $check_url[$ship_code_arr->code] = $ship_code_arr->check_url;
     }
     $types_obj = $this->shipping_type_model->fetch_all_type();
     $type = array();
     foreach ($types_obj as $type_obj) {
         $type[$type_obj->code] = $type_obj->arrival_time;
     }
     $user_infos = $this->email_search_model->fetch_users();
     $user = array();
     foreach ($user_infos as $user_info) {
         $user[$user_info->login_name]['name_en'] = $user_info->name_en;
         $user[$user_info->login_name]['phone'] = $user_info->phone;
         $user[$user_info->login_name]['platform1'] = $user_info->platform1;
         $user[$user_info->login_name]['email'] = $user_info->email;
     }
     foreach ($datas as $data) {
         $subscriber = new subscriber();
         $subscriber->email = $data['buyer_email'];
         $subscriber->firstName = $data['buyer_name'];
         $subscriber->address1 = $data['address_line_1'] . $data['address_line_2'];
         $subscriber->city = $data['town_city'];
         $subscriber->state = $data['state_province'];
         $subscriber->country = $data['country'];
         $subscriber->date1 = date('Y-m-d');
         $subscriber->date2 = date('Y-m-d');
         $subscriber->postalCode = $data['zip_code'];
         $subscriber->customField1 = $data['item_no'];
         $subscriber->customField2 = $data['ship_confirm_date'];
         $subscriber->customField3 = isset($type[$data['shipping_code']]) ? $type[$data['shipping_code']] : NULL;
         $subscriber->customField4 = implode("<br/>", $data['skus']);
         $subscriber->customField5 = implode("<br/>", $data['item_titles']);
         $subscriber->customField6 = implode("<br/>", $data['qties']);
         $subscriber->customField7 = isset($ship_code[$data['shipping_code']]) ? $ship_code[$data['shipping_code']] : NULL;
         $subscriber->customField8 = empty($data['track_number']) ? 'None' : $data['track_number'];
         $subscriber->customField9 = isset($check_url[$data['shipping_code']]) ? $check_url[$data['shipping_code']] : NULL;
         $subscriber->customField10 = isset($user[$data['input_user']]['name_en']) ? $user[$data['input_user']]['name_en'] : 'MALLERP Online Shop';
         $subscriber->customField11 = isset($user[$data['input_user']]['email']) ? $user[$data['input_user']]['email'] : NULL;
         $subscriber->customField12 = isset($user[$data['input_user']]['phone']) ? $user[$data['input_user']]['phone'] : NULL;
         $subscriber->customField13 = isset($user[$data['input_user']]['platform1']) ? $user[$data['input_user']]['platform1'] : 'http://www.mallerp.com';
         $subscriber->customField14 = $data['company_email'];
         $subscribers[] = $subscriber;
     }
     $add_subscribers_by_info = new addSubscribersByInfo();
     $add_subscribers_by_info->loginEmail = $this->config->item('shiqi_username');
     $add_subscribers_by_info->password = $this->config->item('shiqi_password');
     $add_subscribers_by_info->subscriberArgs = $subscribers;
     $add_subscribers_by_info->subscription = $sub_name;
     $add_subscribers_by_info->optInType = 'Off';
     try {
         $client = new SoapClient($this->url);
         $response = $client->addSubscribersByInfo($add_subscribers_by_info);
         $result = $response->addSubscribersByInfoResult;
         if ($result) {
             return true;
         } else {
             var_dump($response);
             return false;
         }
     } catch (SOAPFault $exception) {
         var_dump($exception->getMessage());
         return false;
     }
 }