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; } }