select_smstm_list($where); //查询所有的用户分组 $where2 = "where uid='$uid' "; $group_list = $admin->select_sms_user_group($where2); /*if(!empty($_POST['group_name']) && $_POST['group_name']!='all'){ $where3.=" and group_name='{$_POST['group_name']}'"; } $customer_list = $admin->selesctCustomer($where3);*/ /*if(!empty($_POST['group_name']) && $_POST['group_name']!='all'){ $where3.=" and group_name='{$_POST['group_name']}'"; $customer_list = $admin->selesctCustomer($where3); }elseif(!empty($_POST['group_name']) && $_POST['group_name']=='all'){ $customer_list = $admin->selesctCustomer($where2); } $count = count($customer_list); //假设一次只能给100个人发,看需要发几次 $c = 100; $p = ceil($count/100);//需要发总次数*/ $where3 = "where uid='$uid' and is_block=0 and is_send=1 "; if (!empty($_POST['group_name'])) { if ($_POST['group_name'] != 'all') { $where3 .= " and group_name='{$_POST['group_name']}'"; $customer_list = $admin->selesctSmsCustomer($where3); } elseif ($_POST['group_name'] == 'all') { $customer_list = $admin->selesctSmsCustomer($where2); } $count = count($customer_list); $c = 100; $p = ceil($count/100); } if ($_POST['template_id']) { $id = $_POST['template_id']; $one_info = $admin->select_onesms_template($id); $content = str_replace("'", '', $one_info['msg_content']); for($i=1;$i<=$p;$i++){ $min = $c*($i-1); $data = array(); $x_smtpapi=array(); $customer_list_now = array_slice($customer_list, $min, $c); foreach($customer_list_now as $key=>$list){ $countryMobile = $this->getCountryMobile($list['country']); if($countryMobile==1){ $data[$key]['from_name'] =$fromDm; }else{ $data[$key]['from_name'] =$from; } $data[$key]['mobile'] =$countryMobile.$list['tel']; if($uid==7){//--牛信云 $x_smtpapi[] = $countryMobile.$list['tel']; $from=18332604755; } if($uid==1){//--牛信云 $x_smtpapi[] = $countryMobile.$list['tel']; $from=18447116894; } if($uid==6){//--牛信云 $x_smtpapi[] = $countryMobile.$list['tel']; $from=18447117128; } } $params = array( 'to' => $data, 'template_id' => $id, 'uid' => $uid, 'template_body' => $content ); if($uid==7||$uid==1||$uid==6){//--牛信云 $params = array( 'appkey' => 'FH1W2L97', 'secretkey' =>'OCio2JBh', 'phone' => $x_smtpapi, 'content' => $content, 'source_address' => $from, 'uid' => $uid ); } $params_arr[] = $params; } if($uid==7||$uid==1||$uid==6){ $result = $admin->add_sms_data_queue_new($params_arr,$showtime,$datetime); }else{ $result = $admin->add_sms_data_queue($params_arr,$showtime,$datetime); } if ($result) { $info = '短信已进入待发送队列'; } else { $info = '短信发送失败'; } header("Location:/?a=send_sms_admin&m=index&info=$info"); exit(); } $email = $admin->selectSmsTmpData(); $this->assign('email_counts', $email[0]['ct']); $this->assign('group_list', $group_list); $this->assign('info', $info); $this->assign('template_list', $template_list); $this->display("index.html"); } //过滤已加入分组美加用户州区号 public function jinList(){ $admin = new AdvertAdminAction(); $where =" where is_send=0"; $page=1; $pageSize=50; $city_code =$admin->selectCityCode(); $new=array(); foreach ($city_code as $v){ $new[]=$v['code']; } $is_send=1; do { try { $n = ($page-1)*$pageSize; $limit = " $n,$pageSize"; $customer_list = $admin->selesctSmsCustomer($where,$limit); foreach ($customer_list as $vs){ $countryMobile = $this->getCountryMobile($vs['country']); if($countryMobile==1){ $code = substr($vs['tel'] , 0 , 3); if (in_array($code, $new)) { $is_send=1; }else{ $is_send=2; } } $admin->upCodeSmsCustomer($is_send,$vs['id']); } $page=$page+1; } catch (\Exception $e) { exit(1); } } while (is_array($customer_list) && !empty($customer_list)); echo ' over~~'; } public function getCountryMobile($countryCode){ $country = $countryCode; $countrys_en = [ "China", "Afghanistan", "Albania", "Algera", "Andorra", "Angola", "Anguilla", "Ascension", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botwana", "Brazill", "Brunei", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "Colombia", "Comoros", "Republic of the Congo", "Democratic Republic of the Congo", "Cook Islands", "Costa Rica", "Cote divoire", "Croatia", "Cuba", "Cyprus", "+Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "Egypt", "EISalvador", "Estonia", "Ethiopia", "Faroe Islands", "Fiji", "Finland", "France", "French Guiana", "French Polynesia", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guernsey", "Guinea", "Guyana", "Haiti", "Honduras", "Hong Kong", "Myanmar", "Hungary", "Iceland", "Indea", "Indonesia", "Iran", "Iraq", "Ireland", "Isle of Man", "Israel", "Italy", "Jamaica", "Japan", "Jersey", "Jordan", "Kazeakhstan", "Kenya", "Kosovo", "Kuwait", "Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", "Macao", "Macedonia", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Moldova", "Monaco", "Mongolia", "Montenegro", "Montserrat", "Morocco", "Mozambique", "Namibia", "Nepal", "Netherlands", "Netherlands Antillse", "New Caledonia", "NewZealand", "Nicaragua", "Niger", "Nigeria", "Norway", "Oman", "Pakistan", "Palestinian", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Poland", "Portugal", "PuertoRico", "Qotar", "Reunion", "Romania", "Russia", "Rwanda", "Samoa Eastern", "Samoa Western", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "South Africa", "Korea", "Spain", "SriLanka", "St Kitts and Nevis", "St.Lucia", "St.Vincent", "Sudan", "Suriname", "Swaziland", "Sweden", "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "Timor Leste", "Togo", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "USA", "Uruguay", "Uzbekistan", "Vanuatu", "Venezuela", "Vietnam", "Virgin Islands", "Yemen", "Zambia", "Zimbabwe" ]; $countrys = array_keys($countrys_en,$country,true); if($countrys[0]){ $countryMobile =$this->getCountryCode($countrys[0]); }else{ $countryMobile ='+1'; } $countryMobile = str_replace('+','',$countryMobile); return (int)$countryMobile; } //获取国家手机编号 public function getCountryCode($countryCode){ $codes = [ "+86", "+93", "+355", "+213", "+376", "+244", "+1264", "+247", "+1268", "+54", "+374", "+297", "+61", "+43", "+994", "+1242", "+973", "+880", "+1246", "+375", "+32", "+501", "+229", "+1441", "+975", "+591", "+387", "+267", "+55", "+673", "+359", "+226", "+257", "+855", "+237", "+1", "+238", "+1345", "+236", "+235", "+56", "+57", "+269", "+242", "+243", "+682", "+506", "+225", "+385", "+53", "+357", "+420", "+45", "+253", "+1767", "+1809", "+593", "+20", "+503", "+372", "+251", "+298", "+679", "+358", "+33", "+594", "+689", "+241", "+220", "+995", "+94", "+233", "+350", "+30", "+299", "+1473", "+590", "+1671", "+502", "+240", "+44", "+224", "+592", "+509", "+504", "+852", "+95", "+36", "+354", "+91", "+62", "+98", "+964", "+353", "+44", "+972", "+93", "+1876", "+81", "+44", "+962", "+7", "+254", "+383", "+965", "+996", "+856", "+371", "+961", "+266", "+231", "+218", "+423", "+370", "+352", "+853", "+389", "+261", "+265", "+60", "+960", "+223", "+356", "+596", "+222", "+230", "+262", "+52", "+373", "+377", "+976", "+382", "+1664", "+212", "+258", "+264", "+977", "+31", "+599", "+687", "+64", "+505", "+227", "+234", "+47", "+968", "+92", "+970", "+507", "+675", "+595", "+51", "+63", "+48", "+351", "+1", "+974", "+262", "+40", "+7", "+250", "+684", "+685", "+378", "+239", "+966", "+221", "+381", "+248", "+232", "+65", "+421", "+386", "+27", "+82", "+34", "+94", "+1869", "+1758", "+1784", "+249", "+597", "+268", "+46", "+41", "+963", "+886", "+992", "+255", "+66", "+670", "+228", "+676", "+1868", "+216", "+90", "+993", "+1649", "+256", "+380", "+971", "+44", "+1", "+598", "+998", "+678", "+58", "+84", "+1340", "+967", "+260", "+263" ]; return $codes[$countryCode]; } }