/** * @title 发送手机验证码 * * @param int $mobile 手机号 * @method get */ public function verifyCode($mobile = '') { $model = new \Common\Model\UserModel(); $code = $model->verifyCode($mobile) or ajax_error($model->getError()); sms($mobile, '验证码' . $code . ',请及时输入,玩转你的大学生活!'); ajax_success(APP_STATUS == 'product' ? null : ['verifyCode' => $code]); }
public function assign($order_id, $uid) { $field = 'u.uid,u.mobile,u.uname,u.realname,u.status,s.status salesman_status'; $user = M()->table('zj_loan_salesman s')->where(['s.uid' => $uid])->join('zj_user u on u.uid=s.uid')->field($field)->find(); if (!$user) { return $this->_error('找不到此业务员信息!'); } if ($user['status'] != 1) { return $this->_error('此账号已被禁用!'); } $order = M('loan_order')->field('id,title')->find($order_id); if (!$user) { return $this->_error('找不到此订单信息!'); } // 解除订单的指派人 $history = $this->where(['order_id' => $order_id])->find(); if ($history) { if ($history['uid'] == $uid) { return $this->_error('禁止重复指派!'); } if ($history['is_lend'] > 0) { return $this->_error('已放款,禁止指派!'); } $this->where(['order_id' => $order_id])->delete(); } $this->add(['created' => time(), 'order_id' => $order_id, 'uid' => $user['uid']]); $message = '有新待审订单,请及时处理:' . $order['id'] . ',' . $order['title']; sms($user['mobile'], $message, '指尖分期'); app_push($user['uid'], ['order_id' => $order_id, 'title' => '有新待审订单,请及时处理!', 'content' => $order['id'] . ',' . $order['title']], 'zjsd'); $login_user = get_user(); M('loan_order_remark')->add(['order_id' => $order_id, 'created' => time(), 'uid' => $login_user ? $login_user['uid'] : 0, 'uname' => $login_user ? $login_user['uname'] : '', 'content' => '指派业务员:' . $user['realname'] ?: $user['uname']]); return true; }
protected function _sms($uid, $money) { $user = M('loan_user_contract')->field('mobile,realname')->find($uid); if (!$user) { system_warn('找不到此用户信息:' . $uid); return; } $message = '亲爱的' . $user['realname'] . '童鞋,指尖分期已确认收到您的还款' . number_format($money, 2, '.', '') . '元,感谢您对我们的支持。'; sms($user['mobile'], $message, '指尖分期'); }
public function getCode() { $account = trim(I('post.account')); if ($account == '') { $this->error('请输入手机号码/邮箱!'); } $code = rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9); //如果是手机号码 if (preg_match('/^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|18[0-9]{9}$/', $account)) { $content = C('SITE_TITLE') . "验证码:" . $code . ",如非本人操作,无需理会"; $status = sms($account, $content); if ($status < 0) { $this->error('验证短信发送失败,请联系客服'); } else { session('account_type', 'phone'); session('get_code', $code); session('get_account', $account); $this->success('验证短信已发送,请注意查收'); } } else { if (preg_match('/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i', $account)) { //如果是邮箱 $subject = C('SITE_TITLE') . "验证码邮件"; $body = "尊敬的" . C('SITE_TITLE') . "用户,您好:<br />您的验证码为:" . $code . ",如非本人操作,无需理会"; $status = think_send_mail($account, $account, $subject, $body); if ($status == 1) { session('account_type', 'email'); session('get_code', $code); session('get_account', $account); $this->success('验证邮件已发送,请登录查看'); } else { $this->error('验证邮件发送失败,请联系客服'); } } else { session('get_account', null); session('get_code', null); $this->error('请输入正确的手机号码/邮箱!'); } } }
function alert($id) { $ts = time(); echo "<h3>Time now: " . date("c") . "</h3>"; if (!file_exists("../m/arm/{$id}")) { echo "<p>Your alert was un-armed. No guards were alerted. <a href=mailto:" . getenv("M_EMAIL") . ">Email admin to ask to be ARMED, which sends SMSes out to all responders/guards on duty.</a></p>"; } else { echo "<p>Raising alert to all responders on duty:</p>"; } $alog = "r/{$id}/alert/" . $ts . ".json"; @mkdir(dirname($alog), 0777, true); $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); echo "<ul>"; $guards = array(); foreach (glob("../g/r/*.json") as $gj) { $g = json_decode(file_get_contents($gj), true); // We need both home owner and guard to be armed to get the SMS if (file_exists("../m/arm/{$id}") && file_exists("../m/arm/" . $g["ic"])) { echo "<li>Alerting " . $g["name"] . " on <a href=\"tel:" . $g["tel"] . "\">" . $g["tel"] . "</a></li>"; $result = sms(my_number($g["tel"]), "⚠" . $_SESSION["address"] . " tel:" . $_SESSION["tel"] . " " . $_SESSION["name"] . " at " . date("c", $ts)); } else { echo "<li><s>UNARMED: Not alerting " . $g["name"] . " on <a href=\"tel:" . $g["tel"] . "\">" . $g["tel"] . "</a></s></li>"; unset($result); } array_push($guards, array("result" => $result, "name" => $g["name"], "ic" => $g["ic"])); } echo "</ul>"; curl_close($ch); file_put_contents($alog, je(array("ts" => $ts, "guards" => $guards, "raiser" => $_SESSION))); if (empty($result)) { sesmail($_SESSION["email"], "UNARMED Alert triggered for " . $_SESSION["name"], "Telephone number: " . $_SESSION["tel"] . "\nAlert details: https://h." . getenv('HOST') . "/adisplay/?j=/{$alog}"); } else { sesmail($_SESSION["email"], "ARMED Alert triggered for " . $_SESSION["name"], "Telephone number: " . $_SESSION["tel"] . "\nAlert details: https://h." . getenv('HOST') . "/adisplay/?j=/{$alog}"); } // Now mute until management lift it @unlink("../m/arm/{$id}"); }
public function cancelOrder() { $order_id = gg('order_id:i'); $where = "(state in (1,2,6)) and order_id={$order_id} and buy_id={$this->my['uid']}"; if (M('order')->where($where)->save(array('state' => '5'))) { $p = getPre(); $order = M()->table("{$p}order o")->join("{$p}store s on o.store_id=s.sid")->where("o.order_id={$order_id}")->field('o.order_sn,s.mobile,o.buy_name')->find(); sms($order['mobile'], "买家[{$order['buy_name']}]已取消还没配送订单号为:{$order['order_sn']}的订单。", $this->setting); $jifen = M("jf_log")->where("order_id={$order_id}")->find(); if ($jifen) { $uid['uid'] = $jifen['uid']; M("member")->where($uid)->setInc("jifen", $jifen['jf_goods_jf']); $jifen['jf_goods_jf'] = 0 - $jifen['jf_goods_jf']; unset($jifen['jf_log_id']); $jifen['beizhu'] = "退款返还积分"; $jifen['ctime'] = TIME; M("jf_log")->add($jifen); } //取消订单返还积分 $this->mySuccess('msg_common_update_success'); } $this->myError('error_common_error'); }
<?php // SMS Train Times // By Robert Wiggins // For use with smspi // Donate something via paypal txt3rob@gmail.com // functions Include include 'functions.php'; include 'config.php'; // Post Data $sender2 = $_REQUEST["from"]; $content2 = $_REQUEST["message"]; if (time() - filemtime('/tmp/trains.csv') > 1 * 3600) { emptytable(); downloaddue(); importdue(); oldtrains(); nexttrain(); } else { oldtrains(); nexttrain(); sms($sender2, $message); } ?>
public function forgetCode() { //接收传入的参数 $apptype = (!empty(I('post.apptype')) and I('post.apptype') == C('APP_KEY')) ? true : false; //手机app接口密钥 $account = trim(I('post.account')); //手机号码/邮箱 //手机返回json数据 if ($apptype) { $ajax = true; } else { $ajax = false; } $code = rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9); //验证码 // session('register_code',$code); //如果是手机号码 if (preg_match('/^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|18[0-9]{9}$/', $account)) { $info = get_info('member', array('telephone' => $account, 'status' => 1, 'type' => array('GT', -2))); if (!info) { $this->error("您的手机还未注册", '', $ajax); } $content = "您在N邦翻译上注册验证码为:" . $code . ",如非本人操作,无需理会【N邦翻译】"; //判断手机号码是否注册了如果注册了就返回一个用户手机号码已经注册 $status = sms($account, $content); if ($status < 0) { $this->error('验证短信发送失败,请联系客服', '', $ajax); } else { $_POST['code'] = $code; $_POST['id'] = $info['id']; update_data($this->table); session('registerId', $info['id']); //原有的id $data["registerId"] = $info['id']; //手机 if ($apptype) { $data["status"] = 1; $data["info"] = "验证短信已发送,请查看"; $data["code"] = $code; $this->ajaxReturn($data); } else { $this->success('验证短信已发送,请查看'); } } } else { session('register_code', null); $this->error('请输入正确的手机号码!', '', $ajax); } }
public function updateCompany($order_id, $company_id) { $companyModel = new \Loan\Model\CompanyModel(); // 将商铺的打款信息同步到待审核订单中 if (!$companyModel->update_order_finance($company_id, $order_id)) { return $this->_error($companyModel->getError()); } // 更新此订单的所属商铺 $this->where(['id' => $order_id])->setField('company_id', $company_id); $companyModel->where(['id' => $company_id])->save(['total_order' => ['exp', '(select count(1) from zj_loan_order where company_id=zj_loan_company.id)']]); // 给商家发送短信(临时) $order = $this->find($order_id); if ($order && $order['status'] != self::STATUS_CLOSED && $order['check_status'] == 1) { $company = M()->table('zj_loan_order o')->join('zj_loan_company c on c.id=o.company_id')->where(['o.id' => $order_id])->field('c.telephone')->find(); if ($company && strlen($company['telephone']) == 11) { $msg = '订单已被金融处理为通过签约:' . $order['title'] . ',' . $order_id . ',' . $order['realname']; sms($company['telephone'], $msg, '指尖分期'); } } return true; }
<?php if (isset($_POST['phone']) and isset($_POST['message'])) { // Отправка сообщения; sms($_POST['phone'], $_POST['message']); /* // Добавление сообщения в очереди; $sql = "CALL message_add(NULL, '".$_POST['phone']."', '".$_POST['message']."', 3)"; if ($sms = $db->one($sql)) { // Вывод данных; echo $sms; } */ // Остановка скрипта; die; }
$u = $first_name . ' ' . $last_name; } $p = explode('0', $p, 2); sms("+254" . $p[1], "Dear {$u}, Your appointment will be changed to " . date('d M, Y h:i A', strtotime($appointments->startdate))); echo json_encode(array('status' => 'success')); } else { echo json_encode(array('status' => 'failed')); } exit; break; case 'remove': $appointments->id = $_POST['eventid']; $user->id = $_POST['user_id']; if ($appointments->remove()) { $data = $user->readOne(); while ($row = $data->fetch(PDO::FETCH_ASSOC)) { $e = array(); extract($row); $p = $phone; $u = $first_name . ' ' . $last_name; } $p = explode('0', $p, 2); sms("+254" . $p[1], "Dear {$u}, Your appointment has be Cancelled"); echo json_encode(array('status' => 'success')); } else { echo json_encode(array('status' => 'failed')); } exit; break; } echo json_encode(array('valid' => $isAvailable));
function setTotal() { $p = $_REQUEST["sid"]; $t = $_REQUEST["total"]; include "trans.php"; $obj = new trans(); if (!$obj->setTotal($p, $t)) { echo '{"result":0}'; } // $obj->setTotal($p, $t); $discount = random_password(8); if (!$obj->checkTotal($p)) { //return error echo '{"result":0,"message": "did not work."}'; return; } $row = $obj->fetch(); $msg = "Your Discount Code is: " . $discount; $pnum = $row['pnumber']; sms($msg, $pnum); echo '{"result":1}'; }
<?php /** * Main object. * @author Kikapp * @version 1.0 */ $win = new SDPanel(); $win->setCaption("Interop"); $actionBar = new ActionBar(); $actionBar->setClass("applicationBars"); $mainTable = new Table(); $input_message = new InputText(); $input_message->setLabelCaption("Write the message"); $input_phone = new InputPhone(); $input_phone->setLabelCaption("Write the phone number"); $button_sms = new Button(); $button_sms->setCaption("Send SMS!"); $button_sms->onTap(sms()); $mainTable->addControl($input_message, 1, 1); $mainTable->addControl($input_phone, 2, 1); $mainTable->addControl($button_sms, 3, 1); $win->addControl($mainTable); function sms() { Interop::SendSMS($input_phone, $input_message); }
function cron() { global $a, $s, $i, $t; $weer = unserialize(cget('weer')); $buienradar = $weer['buien']; $buiten_temp = $weer['buiten_temp']; $wind = $weer['wind']; $windrichting = $weer['windrichting']; $wolken = $weer['wolken']; if ($s['weg'] == 'On') { if ($s['heating'] != 'Off' && strtotime($t['heating']) < eenuur) { sw($i['heating'], 'Off', 'heating'); $s['heating'] = 'Off'; } } //else {if($s['heating']!='On'){sw($i['heating'],'On','heating');$s['heating']='On';}} $Setkamer = 8.0; $setpointkamer = cget('setpointkamer'); if ($setpointkamer != 0 && strtotime($t['kamer_set']) < eenuur) { cset('setpointkamer', 0); $setpointkamer = 0; } if ($setpointkamer != 2) { if ($buiten_temp < 15 && $s['raamkamer'] == 'Closed' && $s['heating'] == 'On' && (strtotime($t['raamkamer']) < tweeuur || time > achtavond)) { $Setkamer = 12.0; if (time < zevenochtend || time > achtavond) { $Setkamer = 16.0; } } if ($s['kamer_set'] != $Setkamer) { ud($i['kamer_set'], 0, $Setkamer, 'Rkamer_set'); $s['kamer_set'] = $Setkamer; } } $Settobi = 8.0; $setpointtobi = cget('setpointtobi'); if ($setpointtobi != 0 && strtotime($t['tobi_set']) < eenuur) { cset('setpointtobi', 0); $setpointtobi = 0; } if ($setpointtobi != 2) { if ($buiten_temp < 15 && $s['raamtobi'] == 'Closed' && $s['heating'] == 'On' && (strtotime($t['raamtobi']) < tweeuur || time > achtavond)) { $Settobi = 12.0; if (date('W') % 2 == 1) { if (date('N') == 3) { if (time > achtavond) { $Settobi = 16.0; } elseif (date('N') == 4) { if (time < zevenochtend || time > achtavond) { $Settobi = 16.0; } elseif (date('N') == 5) { if (time < zevenochtend) { $Settobi = 16.0; } } } } } else { if (date('N') == 3) { if (time > achtavond) { $Settobi = 16.0; } elseif (in_array(date('N'), array(4, 5, 6))) { if (time < zevenochtend || time > achtavond) { $Settobi = 16.0; } elseif (date('N') == 7) { if (time < zevenochtend) { $Settobi = 16.0; } } } } } } if ($s['tobi_set'] != $Settobi) { ud($i['tobi_set'], 0, $Settobi, 'Rtobi_set'); $s['tobi_set'] = $Settobi; } } $Setalex = 8.0; $setpointalex = cget('setpointalex'); if ($setpointalex != 0 && strtotime($t['alex_set']) < achtuur) { cset('setpointalex', 0); $setpointalex = 0; } if ($setpointalex != 2) { if ($buiten_temp < 17 && $s['raamalex'] == 'Closed' && $s['heating'] == 'On' && (strtotime($t['raamalex']) < tweeuur || time > achtavond)) { $Setalex = 12.0; if (time < strtotime('8:00') || time > achtavond) { $Setalex = 18.5; } } if ($s['alex_set'] != $Setalex) { ud($i['alex_set'], 0, $Setalex, 'Ralex_set'); $s['alex_set'] = $Setalex; } } $Setliving = 14.0; $setpointliving = cget('setpointliving'); if ($setpointliving != 0 && strtotime($t['living_set']) < drieuur) { cset('setpointliving', 0); $setpointliving = 0; } if ($setpointliving != 2) { if ($buiten_temp < 20 && $s['heating'] == 'On' && $s['raamliving'] == 'Closed') { $Setliving = 17.0; if (time >= strtotime('3:00') && time < zevenochtend) { $s['slapen'] == 'Off' ? $Setliving = 20.5 : ($Setliving = 17.0); } elseif (time >= zevenochtend && time < strtotime('22:30')) { $s['slapen'] == 'Off' ? $Setliving = 20.5 : ($Setliving = 17.0); } } if ($s['living_set'] != $Setliving) { ud($i['living_set'], 0, $Setliving, 'Rliving_set'); $s['living_set'] = $Setliving; } } if ($s['deurbadkamer'] == "Open") { if ($s['badkamer_set'] != 10.0 && (strtotime($t['deurbadkamer']) < eenmin || $s['lichtbadkamer'] == 'Off')) { ud($i['badkamer_set'], 0, 10, 'badkamer_set 10 deur open'); $s['badkamer_set'] = 10.0; } } elseif ($s['deurbadkamer'] == "Closed") { if ($s['lichtbadkamer'] == 'On' && $s['badkamer_set'] != 22.0) { ud($i['badkamer_set'], 0, 22.0, 'badkamer_set 22 deur dicht en licht aan'); $s['badkamer_set'] = 22.0; } elseif ($s['lichtbadkamer'] == 'Off' && $s['badkamer_set'] != 15.0) { ud($i['badkamer_set'], 0, 15.0, 'badkamer_set 15 deur dicht en licht uit'); $s['badkamer_set'] = 15.0; } } $kamers = array('living', 'badkamer', 'tobi', 'alex', 'kamer'); $kamersgas = array('living', 'alex'); $bigdif = 100; $brander = $s['brander']; $Tbrander = strtotime($t['brander']); $Ibrander = $i['brander']; foreach ($kamers as $kamer) { ${'dif' . $kamer} = number_format($s[$kamer . '_temp'] - $s[$kamer . '_set'], 1); if (in_array($kamer, $kamersgas)) { if (${'dif' . $kamer} < $bigdif) { $bigdif = ${'dif' . $kamer}; } } ${'Set' . $kamer} = number_format($s[$kamer . '_set'], 1); } foreach ($kamers as $kamer) { if (${'dif' . $kamer} <= number_format($bigdif + 0.2, 1) && ${'dif' . $kamer} < 1) { ${'RSet' . $kamer} = setradiator($kamer, ${'dif' . $kamer}, true, $s[$kamer . '_set']); } else { ${'RSet' . $kamer} = setradiator($kamer, ${'dif' . $kamer}, false, $s[$kamer . '_set']); } } if ($s['kamerZ'] != $RSetkamer) { ud($i['kamerZ'], 0, $RSetkamer, 'RkamerZ'); } if ($s['tobiZ'] != $RSettobi) { ud($i['tobiZ'], 0, $RSettobi, 'RtobiZ'); } if ($s['alexZ'] != $RSetalex) { ud($i['alexZ'], 0, $RSetalex, 'RalexZ'); } //if($s['badkamerZ']!=$RSetbadkamer)ud($i['badkamerZ'],0,$RSetbadkamer,'RbadkamerZ'); if ($s['livingZ'] != $RSetliving) { ud($i['livingZ'], 0, $RSetliving, 'RlivingZ'); } if ($s['livingZZ'] != $RSetliving) { ud($i['livingZZ'], 0, $RSetliving, 'RlivingZZ'); } if ($s['livingZE'] != $RSetliving) { ud($i['livingZE'], 0, $RSetliving, 'RlivingZE'); } if ($bigdif <= -0.3 && $brander == "Off" && $Tbrander < time - 60) { sw($Ibrander, 'On', 'brander dif = ' . $bigdif); } elseif ($bigdif <= -0.2 && $brander == "Off" && $Tbrander < time - 120) { sw($Ibrander, 'On', 'brander dif = ' . $bigdif); } elseif ($bigdif <= -0.1 && $brander == "Off" && $Tbrander < time - 180) { sw($Ibrander, 'On', 'brander dif = ' . $bigdif); } elseif ($bigdif <= 0 && $brander == "Off" && $Tbrander < time - 240) { sw($Ibrander, 'On', 'brander dif = ' . $bigdif); } elseif ($bigdif >= 0.1 && $brander == "On" && $Tbrander < time) { sw($Ibrander, 'Off', 'brander dif = ' . $bigdif); } elseif ($bigdif >= 0 && $brander == "On" && $Tbrander < time - 60) { sw($Ibrander, 'Off', 'brander dif = ' . $bigdif); } elseif ($bigdif >= -0.1 && $brander == "On" && $Tbrander < time - 120) { sw($Ibrander, 'Off', 'brander dif = ' . $bigdif); } elseif ($bigdif >= -0.2 && $brander == "On" && $Tbrander < time - 180) { sw($Ibrander, 'Off', 'brander dif = ' . $bigdif); } elseif ($bigdif >= -0.3 && $brander == "On" && $Tbrander < time - 240) { sw($Ibrander, 'Off', 'brander dif = ' . $bigdif); } $badkvuur = $s['badkamervuur']; $Tbadkvuur = strtotime($t['badkamervuur']); $Ibadkvuur = $i['badkamervuur']; if ($difbadkamer <= -0.2 && $badkvuur == "Off" && $Tbadkvuur < time - 180) { sw($Ibadkvuur, 'On', 'badkamervuur dif = ' . $difbadkamer); } elseif ($difbadkamer <= -0.1 && $badkvuur == "Off" && $Tbadkvuur < time - 240) { sw($Ibadkvuur, 'On', 'badkamervuur dif = ' . $difbadkamer); } elseif ($difbadkamer <= 0 && $badkvuur == "Off" && $Tbadkvuur < time - 360) { sw($Ibadkvuur, 'On', 'badkamervuur dif = ' . $difbadkamer); } elseif ($difbadkamer >= 0.1 && $badkvuur == "On" && $Tbadkvuur < time) { sw($Ibadkvuur, 'Off', 'badkamervuur dif = ' . $difbadkamer); } elseif ($difbadkamer >= 0 && $badkvuur == "On" && $Tbadkvuur < time - 45) { sw($Ibadkvuur, 'Off', 'badkamervuur dif = ' . $difbadkamer); } elseif ($difbadkamer >= -0.1 && $badkvuur == "On" && $Tbadkvuur < time - 90) { sw($Ibadkvuur, 'Off', 'badkamervuur dif = ' . $difbadkamer); } elseif ($difbadkamer >= -0.3 && $badkvuur == "On" && $Tbadkvuur < time - 150) { sw($Ibadkvuur, 'Off', 'badkamervuur dif = ' . $difbadkamer); } /* ==== Zonneluifel ==== */ $maxbuien = 20; $maxwolken = 80; $zonopen = 1500; $zontoe = 200; if ($windrichting > 240 && $windrichting < 300) { $maxwind = 6; } else { $maxwind = 8; } /*if($s['luifel']!='Open'&&($wind>=$maxwind||$buienradar>=$maxbuien||$wolken>=$maxwolken||$s['zon']<$zontoe)){ print stamp.' --- Luifel: Wind='.$wind.'|Buien='.round($buienradar,0).'|Zon='.$s['zon'].'|Luifel='.$s['luifel'].'|Last='.$t['luifel'].PHP_EOL; if($wind>=$maxwind){ $msg='Luifel dicht, wind '.$wind .'m/s @ '.$windrichting.'°'; sw($i['luifel'],'Off',$msg); telegram($msg,true,'channel'); if(strtotime($t['luifel'])<eenuur)sw($i['luifel'],'Off',$msg.' repeat'); }elseif($buienradar>=$maxbuien){ $msg='Luifel dicht, '.round($buienradar,0) .'% regen voorspeld'; sw($i['luifel'],'Off',$msg); telegram($msg,true,'channel'); if(strtotime($t['luifel'])<eenuur)sw($i['luifel'],'Off',$msg.' repeat'); }elseif($wolken>=$maxwolken){ $msg='Luifel dicht, '.round($wolken,0) .'% wolken'; sw($i['luifel'],'Off',$msg); telegram($msg,true,'channel'); if(strtotime($t['luifel'])<eenuur)sw($i['luifel'],'Off',$msg.' repeat'); }elseif($s['zon']<$zontoe){ $msg='Luifel dicht, geen zon meer'; sw($i['luifel'],'Off',$msg); telegram($msg,true,'channel'); if(strtotime($t['luifel'])<eenuur)sw($i['luifel'],'Off',$msg.' repeat'); } }elseif($s['luifel']!='Closed'&&time>strtotime('10:25')&&$wind<$maxwind-1&&$buienradar<$maxbuien-1&&$wolken<$maxwolken-5&&$s['living_temp']>20&&$s['zon']>$zonopen&&strtotime($t['luifel'])<tienmin){ print stamp.' --- Luifel: Wind='.$wind.'|Buien='.round($buienradar,0).'|Zon='.$s['zon'].'|Luifel='.$s['luifel'].'|Last='.$t['luifel'].PHP_EOL; $msg='Luifel open '.stamp; sw($i['luifel'],'On',$msg); telegram($msg,true,'channel'); $s['luifel']=='Open'; } if(strtotime($t['luifel'])<eenuur){$msg='Repeat luifel '.$s['luifel'];sw($i['luifel'],$s['luifel'],$msg.' repeat');telegram($msg,true,'Guy');} */ if (cget('time-cron') < eenmin) { cset('time-cron', time); $items = array('eettafel', 'zithoek', 'tobi', 'kamer', 'alex'); foreach ($items as $item) { if ($s[$item] != 'Off') { if (strtotime($t[$item]) < dertigsec) { $action = cget('dimmer' . $item); if ($action == 1) { $level = filter_var($s[$item], FILTER_SANITIZE_NUMBER_INT); $level = floor($level * 0.95); if ($level < 2) { $level = 0; } if ($level == 20) { $level = 19; } sl($i[$item], $level, $item); if ($level == 0) { cset('dimmer' . $item, 0); } } elseif ($action == 2) { $level = filter_var($s[$item], FILTER_SANITIZE_NUMBER_INT); $level = $level + 2; if ($level == 20) { $level = 21; } if ($level > 30) { $level = 30; } sl($i[$item], $level, $item); if ($level == 30) { cset('dimmer' . $item, 0); } } } } } //Water duiven //if(time>strtotime('5:00')&&time<strtotime('6:30')&&strtotime($t['water'])<(time-rand(300,900)))sw($i['water'],'On','duiven wegjagen'); //if(time>strtotime('6:30')&&time<strtotime('21:30')&&strtotime($t['water'])<(time-rand(900,3600)))sw($i['water'],'On','duiven wegjagen'); //if(time>strtotime('21:30')&&time<strtotime('22:50')&&strtotime($t['water'])<(time-rand(300,900)))sw($i['water'],'On','duiven wegjagen'); /*if(time>strtotime('22:00')&&time<strtotime('22:30')){ if($s['water']=='Off'&&$buienradar<2)sw($i['water'],'On','planten'); }elseif(time>strtotime('22:30')&&$s['water']=='On')sw($i['water'],'Off','planten'); */ if ($s['pirlivingR'] != 'Off' && strtotime($t['pirlivingR']) < eenmin) { sw($i['pirlivingR'], 'Off', 'Reset pirlivingR'); } if ($s['pirgarage'] == 'Off' && $s['poort'] == 'Closed' && strtotime($t['pirgarage']) < driemin && strtotime($t['poort']) < driemin && strtotime($t['garage']) < eenmin && $s['garage'] == 'On' && $s['lichten_auto'] == 'On') { sw($i['garage'], 'Off', 'licht garage'); } if (strtotime($t['pirinkom']) < tweemin && strtotime($t['pirhall']) < tweemin && strtotime($t['inkom']) < tweemin && strtotime($t['hall']) < tweemin && $s['lichten_auto'] == 'On') { if ($s['inkom'] == 'On') { sw($i['inkom'], 'Off', 'licht inkom'); } if ($s['hall'] == 'On') { sw($i['hall'], 'Off', 'licht hall'); } } if (strtotime($t['pirkeuken']) < tweemin && strtotime($t['wasbak']) < tweemin && $s['pirkeuken'] == 'Off' && $s['wasbak'] == 'On' && $s['werkblad'] == 'Off' && $s['keuken'] == 'Off' && $s['kookplaat'] == 'Off') { sw($i['wasbak'], 'Off', 'wasbak pir keuken'); } if ($s['weg'] == 'Off' && $s['slapen'] == 'Off') { $items = array('GroheRed', 'poortrf', 'denonpower'); foreach ($items as $item) { if ($s[$item] == 'Off') { sw($i[$item], 'On', $item); } } } if (time >= strtotime('7:00') && time <= strtotime('23:45')) { $fc = json_decode(curl('https://api.forecast.io/forecast/2e43c1ed64ff79afc81f329285103310/50.1925552,3.8140885?units=si'), true); } if (isset($fc['currently'])) { if ($fc['currently']['temperature'] != 0) { $newtemp = round($fc['currently']['temperature'] + 2.1, 1); } else { $newtemp = round($buiten_temp, 1); } $newbuien = $fc['currently']['precipProbability'] * 100; $newwolken = round($fc['currently']['cloudCover'] * 100, 0); $newwind = round($fc['currently']['windSpeed'], 0); $newwindrichting = round($fc['currently']['windBearing'], 0); } else { $openweathermap = json_decode(curl('http://api.openweathermap.org/data/2.5/weather?id=2790729&APPID=ac3425b0bf0a02a80d2525db6215021d&units=metric'), true); } if (isset($openweathermap['main'])) { if ($openweathermap['main']['temp'] != 0) { $newtemp = round($openweathermap['main']['temp'] + 1.3, 1); } else { $newtemp = round($buiten_temp, 1); } $newwind = round($openweathermap['wind']['speed'], 0); $newwindrichting = round($openweathermap['wind']['deg'], 0); $newwolken = round(($wolken + $openweathermap['clouds']['all']) / 2, 0); } $rains = curl('http://gps.buienradar.nl/getrr.php?lat=50.1925552&lon=3.8140885'); $rains = str_split($rains, 11); $totalrain = 0; $aantal = 0; foreach ($rains as $rain) { $aantal = $aantal + 1; $totalrain = $totalrain + substr($rain, 0, 3); $buien = $totalrain / $aantal; if ($aantal == 7) { break; } } if (isset($newbuien)) { $newbuienradar = round(max($newbuien, $buien), 0); if ($newbuienradar > 100) { $newbuienradar = 100; } } else { $newbuienradar = round($buien); } if (isset($newtemp)) { $weer['buiten_temp'] = $newtemp; } if (isset($newbuienradar)) { $weer['buien'] = $newbuienradar; } if (isset($newwind)) { $weer['wind'] = $newwind; } if (isset($newwindrichting)) { $weer['windrichting'] = $newwindrichting; } if (isset($newwolken)) { $weer['wolken'] = $newwolken; } $uweer = serialize($weer); cset('weer', $uweer); curl('http://127.0.0.1/secure/logwrite.php?device=temp&buiten=' . $buiten_temp . '&living=' . $s['living_temp'] . '&badkamer=' . $s['badkamer_temp'] . '&kamer=' . $s['kamer_temp'] . '&tobi=' . $s['tobi_temp'] . '&alex=' . $s['alex_temp'] . '&zolder=' . $s['zolder_temp']); $regenpomp = $s['regenpomp']; $Tregenpomp = strtotime($t['regenpomp']); if ($buienradar > 0) { $pomppauze = 14400 / $buienradar; } else { $pomppauze = 14400; } if ($regenpomp == 'On' && $Tregenpomp < eenmin) { sw($i['regenpomp'], 'Off', 'regenpomp'); } elseif ($regenpomp == 'Off' && $Tregenpomp < time - $pomppauze) { sw($i['regenpomp'], 'On', 'regenpomp'); } $items = array(3 => 'media', 7 => 'hallzolder', 8 => 'lichtbadkamer', 9 => 'badkamervuur', 12 => 'inkomvoordeur', 13 => 'brander', 15 => 'bureeltobi', 22 => 'werkbladtuin', 23 => 'water', 24 => 'garageterras', 49 => 'keukenzolderg', 56 => 'grohered', 57 => 'fanvestiaire', 58 => 'tuinpomp', 59 => 'zwembad', 61 => 'wasbakkookplaat', 65 => 'media'); foreach ($items as $item => $name) { if (cget('timerefresh-' . $name) < time - rand(1800, 2700)) { RefreshZwave($item, 'time', $name); break; } } if (date('i', time) % 5 == 0) { if ($s['voordeur'] == 'On' && strtotime($t['voordeur']) < tienmin) { sw($i['voordeur'], 'Off', 'Voordeur uit'); } if ($s['lichten_auto'] == 'Off') { if (strtotime($t['lichten_auto']) < drieuur) { sw($i['lichten_auto'], 'Off', 'lichten_auto aan'); } } if ($s['weg'] == 'On' || $s['slapen'] == 'On') { $lastoff = cget('timelastoff'); if ($lastoff < tienmin) { if (strtotime($t['weg']) > eenmin || strtotime($t['slapen']) > eenmin) { $uit = 60; } else { $uit = 600; } if ($s['weg'] == 'On') { alles('Off', $uit); } if ($s['slapen'] == 'On') { alles('Slapen', $uit); } $items = array('living', 'badkamer', 'kamer', 'tobi', 'alex'); foreach ($items as $item) { ${'setpoint' . $item} = cget('setpoint' . $item); if (${'setpoint' . $item} != 0 && strtotime($t[$item]) < eenuur) { cset('setpoint' . $item, 0); } } cset('timelastoff', time); } if (strtotime($t['weg']) < eenmin) { if ($s['poortrf'] == 'On') { sw($i['poortrf'], 'Off', 'Poort uit'); } } } if ($s['kodi'] == 'On' && strtotime($t['kodi']) < vijfmin) { $devcheck = 'Kodi'; if (pingDomain('192.168.0.7', 1597) == 1) { $prevcheck = cget('check' . $devcheck); if ($prevcheck > 0) { cset('check' . $devcheck, 0); } } else { $check = cget('check' . $devcheck) + 1; if ($check > 0) { cset('check' . $devcheck, $check); } if ($check == 3) { sw($i['kodi'], 'Off', 'kodi'); } } } $devcheck = 'PiCam1-Voordeur'; if (pingDomain('192.168.0.11', 80) == 1) { $prevcheck = cget('check' . $devcheck); if ($prevcheck >= 3) { telegram($devcheck . ' online', true, 'channel'); } if ($prevcheck > 0) { cset('check' . $devcheck, 0); } } else { $check = cget('check' . $devcheck) + 1; if ($check > 0) { cset('check' . $devcheck, $check); } if ($check == 3) { telegram($devcheck . ' Offline', true, 'channel'); } if ($check % 100 == 0) { telegram($devcheck . ' nog steeds Offline', true, 'channel'); } } $devcheck = 'PiCam2-Alex'; if (pingDomain('192.168.0.12', 80) == 1) { $prevcheck = cget('check' . $devcheck); if ($prevcheck >= 3) { telegram($devcheck . ' online', true, 'channel'); } if ($prevcheck > 0) { cset('check' . $devcheck, 0); } } else { $check = cget('check' . $devcheck) + 1; if ($check > 0) { cset('check' . $devcheck, $check); } if ($check == 3) { telegram($devcheck . ' Offline', true, 'channel'); } if ($check % 100 == 0) { telegram($devcheck . ' nog steeds Offline', true, 'channel'); } } $devcheck = 'PiCam3-Oprit'; if (pingDomain('192.168.0.13', 80) == 1) { $prevcheck = cget('check' . $devcheck); if ($prevcheck >= 3) { telegram($devcheck . ' online', true, 'channel'); } if ($prevcheck > 0) { cset('check' . $devcheck, 0); } } else { $check = cget('check' . $devcheck) + 1; if ($check > 0) { cset('check' . $devcheck, $check); } if ($check == 3) { telegram($devcheck . ' Offline', true, 'channel'); } if ($check % 100 == 0) { telegram($devcheck . ' nog steeds Offline', true, 'channel'); } } $devcheck = 'PiHole-DNS'; if (pingDomain('192.168.0.2', 53) == 1) { $prevcheck = cget('check' . $devcheck); if ($prevcheck >= 3) { telegram($devcheck . ' online', true, 'channel'); } if ($prevcheck > 0) { cset('check' . $devcheck, 0); } } else { $check = cget('check' . $devcheck) + 1; if ($check > 0) { cset('check' . $devcheck, $check); } if ($check == 3) { telegram($devcheck . ' Offline', true, 'channel'); } if ($check % 100 == 0) { telegram($devcheck . ' nog steeds Offline', true, 'channel'); } } $devcheck = 'PiHole-WWW'; if (pingDomain('192.168.0.2', 80) == 1) { $prevcheck = cget('check' . $devcheck); if ($prevcheck >= 3) { telegram($devcheck . ' online', true, 'channel'); } if ($prevcheck > 0) { cset('check' . $devcheck, 0); } } else { $check = cget('check' . $devcheck) + 1; if ($check > 0) { cset('check' . $devcheck, $check); } if ($check == 3) { telegram($devcheck . ' Offline', true, 'channel'); } if ($check % 100 == 0) { telegram($devcheck . ' nog steeds Offline', true, 'channel'); } } if (($s['weg'] == 'On' || $s['slapen'] == 'On') && $s['meldingen'] == 'On' && strtotime($t['weg']) < driemin && strtotime($t['slapen']) < driemin) { $devices = array('raamliving', 'pirliving', 'pirlivingR', 'pirkeuken', 'pirgarage', 'pirinkom'); foreach ($devices as $device) { if (!in_array($s[$device], array('Closed', 'Off'))) { if (cget('timealert' . $device) < eenmin) { sw($i['sirene'], 'On', 'SIRENE'); cset('timealert' . $device, time); $msg = $device . ' ' . $s[$device] . ' om ' . $t[$device]; telegram($msg, true, 'channel'); ios($msg); if (sms === true) { sms($msg); } } } } } if (strtotime($t['tobi_set']) < eendag) { ud($i['tobi_set'], 0, $s['tobi_set'], 'Update tobi'); } if (strtotime($t['living_set']) < eendag) { ud($i['living_set'], 0, $s['living_set'], 'Update living'); } if (strtotime($t['kamer_set']) < eendag) { ud($i['kamer_set'], 0, $s['kamer_set'], 'Update kamer'); } if (strtotime($t['alex_set']) < eendag) { ud($i['alex_set'], 0, $s['alex_set'], 'Update alex'); } if (cget('timenetworkheal') < twaalfuur && time > strtotime('15:00')) { curl(api . 'json.htm?type=command¶m=zwavenetworkheal&idx=4'); cset('timenetworkheal', time); } $items = array('brander', 'badkamervuur'); foreach ($items as $item) { if ($s[$item] != 'Off' && strtotime($t[$item]) < eenuur) { sw($i[$item], $s[$item], $item); } } if ($s['meldingen'] == 'Off' && strtotime($t['meldingen']) < drieuur) { sw($i['meldingen'], 'On', 'meldingen'); } if (strtotime($t['pirliving']) < vieruur && strtotime($t['pirlivingR']) < vieruur && strtotime($t['pirgarage']) < vieruur && strtotime($t['pirinkom']) < vieruur && strtotime($t['pirhall']) < vieruur && strtotime($t['slapen']) < vieruur && strtotime($t['weg']) < vieruur && $s['weg'] == 'Off' && $s['slapen'] == "Off") { sw($i['slapen'], 'On', 'wakker1'); if ($s['slapen'] == 'Off') { telegram('slapen ingeschakeld na 4 uur geen beweging', false, 'channel'); } else { telegram('slapen ingeschakeld na 4 uur geen beweging', true, 'channel'); } } if (strtotime($t['pirliving']) < twaalfuur && strtotime($t['pirlivingR']) < twaalfuur && strtotime($t['pirgarage']) < twaalfuur && strtotime($t['pirinkom']) < twaalfuur && strtotime($t['pirhall']) < twaalfuur && strtotime($t['slapen']) < twaalfuur && strtotime($t['weg']) < twaalfuur && $s['weg'] == 'Off' && $s['slapen'] == "On") { sw($i['slapen'], 'Off', 'wakker2'); sw($i['weg'], 'On', 'weg'); if ($s['slapen'] == 'Off') { telegram('weg ingeschakeld na 12 uur geen beweging', false, 'channel'); } else { telegram('weg ingeschakeld na 12 uur geen beweging', true, 'channel'); } } if ($buienradar < 2 && $s['regenpomp'] == 'On') { sw($i['regenpomp'], 'Off', 'regenpomp'); } if ($s['zwembadfilter'] == 'On') { if (strtotime($t['zwembadfilter']) < vieruur && time > strtotime("18:00") && $s['zwembadwarmte'] == 'Off') { sw($i['zwembadfilter'], 'Off', 'zwembadfilter'); } } else { if (strtotime($t['zwembadfilter']) < vieruur && time > strtotime("12:00") && time < strtotime("16:00")) { sw($i['zwembadfilter'], 'On', 'zwembadfilter'); } } if ($s['zwembadwarmte'] == 'On') { if (strtotime($t['zwembadwarmte']) < eendag) { sw($i['zwembadwarmte'], 'Off', 'warmtepomp zwembad'); } if ($s['zwembadfilter'] == 'Off') { sw($i['zwembadfilter'], 'On', 'zwembadfilter'); } } if ($s['meldingen'] == 'On') { $items = array('living_temp', 'badkamer_temp', 'kamer_temp', 'tobi_temp', 'alex_temp', 'zolder_temp'); $avg = 0; foreach ($items as $item) { $avg = $avg + $s[$item]; } $avg = $avg / 6; foreach ($items as $item) { $temp = $s[$item]; if ($temp > $avg + 5 && $temp > 25) { $msg = 'T ' . $item . '=' . $temp . '°C. AVG=' . round($avg, 1) . '°C'; if (cget('timealerttemp' . $item) < eenuur) { telegram($msg, false, 'channel'); ios($msg); if (sms === true) { sms($msg); } cset('timealerttemp' . $item, time); } } if (strtotime($t[$item]) < vieruur) { if (cget('timealerttempupd' . $item) < twaalfuur) { telegram($item . ' not updated'); cset('timealerttempupd' . $item, time); } } } } $devices = array('tobiZ', 'alexZ', 'livingZ', 'livingZZ', 'livingZE', 'kamerZ'); foreach ($devices as $device) { if (strtotime($t[$device]) < vieruur) { if (cget('timealert' . $device) < twaalfuur) { telegram($device . ' geen communicatie'); cset('timealert' . $device, time); } } } if ($s['weg'] == 'Off' && $s['slapen'] == 'Off') { if ($buiten_temp > $s['kamer_temp'] && $buiten_temp > $s['tobi_temp'] && $buiten_temp > $s['alex_temp'] && $buiten_temp > 22 && ($s['kamer_temp'] > 20 || $s['tobi_temp'] > 20 || $s['alex_temp'] > 20) && ($s['raamkamer'] == 'Open' || $s['raamtobi'] == 'Open' || $s['raamalex'] == 'Open')) { if ((int) cget('timeramen') < twaalfuur) { telegram('Ramen boven dicht doen, te warm buiten. Buiten = ' . $buiten_temp . ',kamer = ' . $s['kamer_temp'] . ', Tobi = ' . $s['tobi_temp'] . ', Alex = ' . $s['alex_temp'], false, 'channel'); cset('timeramen', time); } elseif (($buiten_temp <= $s['kamer_temp'] || $buiten_temp <= $s['tobi_temp'] || $buiten_temp <= $s['alex_temp']) && ($s['kamer_temp'] > 20 || $s['tobi_temp'] > 20 || $s['alex_temp'] > 20) && ($s['raamkamer'] == 'Closed' || $s['raamkamer'] == 'Closed' || $s['raamkamer'] == 'Closed')) { if ((int) cget('timeramen') < twaalfuur) { telegram('Ramen boven open doen, te warm binnen. Buiten = ' . $buiten_temp . ',kamer = ' . $s['kamer_temp'] . ', Tobi = ' . $s['tobi_temp'] . ', Alex = ' . $s['alex_temp'], false, 'channel'); cset('timeramen', time); } } } } include 'gcal/gcal.php'; } } }
function registerCode() { $apptype = (!empty(I('post.apptype')) and I('post.apptype') == C('APP_KEY')) ? true : false; //手机app接口密钥 if ($apptype) { $app_key = trim(I("post.key")); //md5加密的登录时间 $member_id = I("post.home_member_id"); $this->isLoginExpire($app_key, $member_id); //判断登录过期 } $account = trim(I('post.account')); $code = rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9); session('update_code', $code); session('update_phone', $account); //如果是手机号码 if (preg_match('/^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|18[0-9]{9}$/', $account)) { //$content="您在N邦翻译上修改手机验证码为:".$code.",如非本人操作,无需理会【N邦翻译】"; $content = $code; $status = sms($account, $content); if ($status < 0) { $this->ajaxReturn(array('status' => 0, 'info' => '短信发送失败,请联系客服人员!')); } else { if ($apptype) { $this->ajaxReturn(array('status' => 1, 'info' => '验证短信已发送,请查看', 'update_code' => $code, 'update_phone' => $account)); } else { $this->ajaxReturn(array('status' => 1, 'info' => '验证短信已发送,请查看')); } } } else { $this->ajaxReturn(array('status' => 0, 'info' => '请输入正确的手机号码!')); } }
function order_edit($core, $id, $info, $order = null) { // Loading order info for processing of changes if (!$order) { $order = $core->db->row("SELECT * FROM " . DB_ORDER . " WHERE order_id = '{$id}' LIMIT 1"); } $comp = $core->wmsale->get('comp', $order['comp_id']); $changes = array(); // Check order permissions if (!defined('INTHEWORK')) { if (!($core->user->level || $core->user->call)) { if ($order['comp_id'] != $core->user->comp) { return false; } } } // Basic info if ($info['status'] && $info['status'] != $order['order_status']) { $changes['order_status'] = $info['status']; } if ($info['reason'] && $info['reason'] != $order['order_reason']) { $changes['order_reason'] = $info['reason']; } if ($info['user'] && $info['user'] != $order['user_id']) { $changes['user_id'] = $info['user']; } if ($info['comp'] && $info['comp'] != $order['comp_id']) { $changes['comp_id'] = $info['comp']; } if ($info['name'] && $info['name'] != $order['order_name']) { $changes['order_name'] = $info['name']; } if ($info['addr'] && $info['addr'] != $order['order_addr']) { $changes['order_addr'] = $info['addr']; } if ($info['area'] && $info['area'] != $order['order_area']) { $changes['order_area'] = $info['area']; } if ($info['city'] && $info['city'] != $order['order_city']) { $changes['order_city'] = $info['city']; } if ($info['street'] && $info['street'] != $order['order_street']) { $changes['order_street'] = $info['street']; } if ($info['index'] && $info['index'] != $order['order_index']) { $changes['order_index'] = $info['index']; } if ($info['phone'] && $info['phone'] != $order['order_phone']) { $changes['order_phone'] = $info['phone']; } if ($info['track'] && $info['track'] != $order['track_code']) { $changes['track_code'] = $info['track']; } if ($info['rec'] && $info['rec'] != $order['order_recall']) { $changes['order_recall'] = $info['rec']; } if ($info['comment'] && $info['comment'] != $order['order_comment']) { $changes['order_comment'] = $info['comment']; } if ($info['exto'] && $info['exto'] != $order['ext_oid']) { $changes['ext_oid'] = $info['exto']; } if (isset($info['check']) && $info['check'] != $order['order_check']) { $changes['order_check'] = $info['check']; } // Order Metadata if (isset($info['meta'])) { ksort($info['meta']); $mm = serialize($info['meta']); if ($mm != $order['order_meta']) { $changes['order_meta'] = $mm; } } // SPSR track info if (isset($info['spsr'])) { $spsr = $info['spsr']; $sd = serialize($spsr); if ($sd != $order['track_spsr']) { $changes['track_spsr'] = $sd; } } else { $spsr = false; } // Order Accepting if ($info['accept']) { $changes['order_status'] = $comp['autoaccept'] ? 10 : 6; if (!$info['shave']) { $sh = (int) $core->wmsale->get('ofp', $order['offer_id'], 'shave' . $order['comp_id']); if (!$sh) { $sh = (int) $core->wmsale->get('ofp', $order['offer_id'], 'shave'); } if ($sh) { $info['shave'] = rand(0, 100) <= $sh ? 2 : 0; } } } elseif ($order['order_status'] > 4 && $changes['order_status'] < 6) { unset($changes['order_status']); } // WebStatus and OrderStatus can be different if ($changes['order_status']) { $shave = $info['shave'] ? (int) $info['shave'] : 0; if ($changes['order_status'] > 4) { if ($shave) { $changes['order_webstat'] = 5; $changes['order_reason'] = rand(0, 7) ? 3 : 2; $changes['order_shave'] = $shave; } elseif ($order['order_status'] == $order['order_webstat']) { $changes['order_webstat'] = $changes['order_status']; } } else { $changes['order_webstat'] = $changes['order_status']; } } // Calls are incremental if ($info['calls']) { $changes['order_calls'] = (int) $order['order_calls'] + $info['calls']; } // Check the phone to be russian mobile +79etc if ($changes['order_phone']) { $changes['order_phone_ok'] = substr($changes['order_phone'], 0, 2) == '79' ? 1 : 0; } // Track code changes will null tracking status if ($changes['track_code']) { $changes['track_on'] = $info['track_on'] ? $info['track_on'] : 0; $changes['track_check'] = $info['track_check'] ? $info['track_check'] : 0; $changes['track_date'] = ''; $changes['track_status'] = ''; } // Checking items and delivery if (isset($info['counts']) || isset($info['delivery']) || isset($info['discount']) || isset($info['more'])) { // Load offer and it's variants info $offer = $core->wmsale->get('offer', $order['offer_id']); $vars = $offer['offer_vars'] ? $core->wmsale->get('vars', $offer['offer_id']) : false; $order['items'] = $order['order_items'] ? unserialize($order['order_items']) : array(); // Process variants or a single offer if ($vars) { $items = isset($info['counts']) ? $info['counts'] : $order['items']; $counts = $price = 0; foreach ($vars as &$v) { if ($items[$v['var_id']]) { $counts += $items[$v['var_id']]; $price += $items[$v['var_id']] * $v['var_price']; } } unset($v, $vars); $changes['order_items'] = serialize($items); } else { $counts = isset($info['counts']) ? $info['counts'][$offer['offer_id']] : $order['order_count']; $price = $offer['offer_price'] * $counts; } // Process discounts and presents $changes['order_discount'] = $discount = isset($info['discount']) ? $info['discount'] : $order['order_discount']; $changes['order_more'] = $more = isset($info['more']) ? $info['more'] : $order['order_more']; if ($discount > 0 && $discount < 100) { $price = ceil($price * ((100 - $discount) / 100)); } if ($more > 0) { $price += $more; } // Process delivery if ($offer['offer_delivery']) { $changes['order_delivery'] = $delivery = isset($info['delivery']) ? $info['delivery'] : $order['order_delivery']; $price += $core->lang['deliverp'][$delivery]; } // Finally set order changes $changes['order_count'] = $counts; $changes['order_price'] = $price; } // UnReCall and UnTrack if (($changes['order_status'] > 4 || $order['order_status'] > 4) && $order['order_recall']) { $changes['order_recall'] = 0; } if (($changes['order_status'] > 9 || $order['order_status'] > 9) && $order['track_on']) { $changes['track_on'] = $changes['track_check'] = $changes['track_call'] = $changes['track_result'] = $changes['track_notify'] = 0; $changes['track_date'] = $changes['track_status'] = ''; } // Order completion if ($changes['order_status'] == 5 || $changes['order_status'] > 9) { $changes['order_check'] = 0; } if ($order['order_check'] && $changes['order_status'] > 10) { if (!($order['ext_id'] || $order['order_shave'])) { require_once PATH_LIB . 'finance.php'; $f = new Finance($core); $fins = $core->db->col("SELECT cash_id FROM " . DB_CASH . " WHERE order_id = '{$id}'"); foreach ($fins as $fn) { $f->del($fn); } unset($f); } $changes['order_status'] = 12; if ($order['order_status'] == $order['order_webstat']) { $changes['order_webstat'] = 12; } } // Update order in database if (count($changes)) { $sqls = array(); foreach ($changes as $k => &$v) { $sqls[] = " {$k} = '{$v}' "; } $sql = "UPDATE " . DB_ORDER . " SET " . implode(',', $sqls) . " WHERE order_id = '{$id}' LIMIT 1"; $result = $core->db->query($sql); unset($sql, $k, $v); } else { return false; } // Post processing if ($result) { $st = $changes['order_status']; // Order confirmation if ($info['accept']) { // Process payments if ($shave != 1) { // Finance Operations if (!$offer) { $offer = $core->wmsale->get('offer', $order['offer_id']); } $comment = sprintf("%s - %s", $offer['offer_name'], $id); require_once PATH_LIB . 'finance.php'; $f = new Finance($core); // Pricing $ut = $order['wm_id']; $uc = $comp['user_id']; if ($ut && $uc) { extract($core->wmsale->price($offer['offer_id'], array($ut, $uc))); } elseif ($ut) { extract($core->wmsale->price($offer['offer_id'], $ut)); } elseif ($uc) { extract($core->wmsale->price($offer['offer_id'], $uc)); } else { $ext = $wmp = $wmu = $ref = $rep = $pay = $pyu = $sub = $sup = $ext = 0; } // UpSale if ($order['order_count'] > 1) { if ($wmu) { $wmp += $wmu * ($order['order_count'] - 1); } if ($pyu) { $pay += $pyu * ($order['order_count'] - 1); } } // Process payments if ($uc && $pay) { $f->add($comp['user_id'], $id, -$pay, 2, $comment); } if ($shave < 1 && $ut && $wmp) { $f->add($ut, $id, $wmp, 3, $comment); $core->db->query("UPDATE " . DB_FLOW . " SET flow_total = flow_total + " . $wmp . " WHERE flow_id = '" . $order['flow_id'] . "' LIMIT 1"); if ($ref && $rep) { $f->add($ref, $id, $rep, 7, $comment); $sup = $sup > $rep ? $sup - $rep : 0; if ($sub && $sup) { $core->db->query("UPDATE " . DB_USER . " SET user_got = user_got + '{$rep}', user_sup = user_sup + '{$sup}' WHERE user_id = '{$ut}' LIMIT 1"); $f->add($sub, $id, $sup, 7, $comment); } else { $core->db->query("UPDATE " . DB_USER . " SET user_got = user_got + '{$rep}' WHERE user_id = '{$ut}' LIMIT 1"); } } } } // Store processing $items = $changes['order_items'] ? unserialize($changes['order_items']) : ($order['order_items'] ? unserialize($order['order_items']) : false); if (!$items) { $counts = $changes['order_count'] ? $changes['order_count'] : $order['order_count']; $core->db->query("UPDATE " . DB_STORE . " SET store_count = store_count - {$counts} WHERE offer_id = '" . $order['offer_id'] . "' AND comp_id = '" . $order['comp_id'] . "' AND var_id = '0' LIMIT 1"); } else { foreach ($items as $i => $c) { $core->db->query("UPDATE " . DB_STORE . " SET store_count = store_count - {$c} WHERE offer_id = '" . $order['offer_id'] . "' AND comp_id = '" . $order['comp_id'] . "' AND var_id = '{$i}' LIMIT 1"); } } } // Sending SMS $pok = isset($changes['order_phone_ok']) ? $changes['order_phone_ok'] : $order['order_phone_ok']; if ($pok) { $phone = isset($changes['order_phone']) ? $changes['order_phone'] : $order['order_phone']; if ($comp['sms_post'] && $changes['track_code']) { sms(SMS_SIGN, $phone, sprintf($core->lang['sms_send'], $id, $changes['track_code'])); } if ($st >= $order['order_status']) { if ($comp['sms_accept'] && $st == 6) { sms(SMS_SIGN, $phone, sprintf($core->lang['sms_accept'], $id)); } if ($comp['sms_spsr'] && $order['order_delivery'] == 2 && $st == 9) { sms(SMS_SIGN, $phone, sprintf($core->lang['sms_spsr'], $id, $order['track_code'])); } if ($comp['sms_rupo'] && $order['order_delivery'] == 1 && $st == 9) { sms(SMS_SIGN, $phone, sprintf($core->lang['sms_rupo'], $id, $order['track_code'])); } } } // External processing if ($order['ext_id'] && $changes['order_webstat'] && $order['order_webstat'] < 5) { $ext = $core->wmsale->get('ext', $order['ext_id']); switch ($changes['order_webstat']) { case 3: $url = $ext['url_rc'] ? $ext['url_rc'] : false; break; case 4: $url = $ext['url_nc'] ? $ext['url_nc'] : false; break; case 5: $url = $ext['url_dec'] ? $ext['url_dec'] : false; break; case 6: $url = $ext['url_acc'] ? $ext['url_acc'] : false; break; case 10: $url = $ext['url_pay'] ? $ext['url_pay'] : false; break; case 11: $url = $ext['url_ret'] ? $ext['url_ret'] : false; break; case 12: $url = $ext['url_del'] ? $ext['url_del'] : false; break; default: $url = false; } if ($url) { if (!$offer) { $offer = $core->wmsale->get('offer', $order['offer_id']); } $odata = $offer['offer_pars'] ? unserialize($offer['offer_pars']) : false; if (preg_match_all('#\\{eval:\\[(.*?)\\]\\}#si', $url, $ems)) { foreach ($ems[0] as $k => $v) { $url = str_replace($v, eval($ems[1][$k]), $url); } } $url = str_replace('{id}', $order['order_id'], $url); $url = str_replace('{uid}', $order['ext_uid'], $url); $url = str_replace('{src}', $order['ext_src'], $url); $url = str_replace('{time}', time(), $url); $url = str_replace('{now}', date('d.m.Y H:i'), $url); $url = str_replace('{reason}', rawurlencode($core->lang['reasono'][$changes['order_reason'] ? $changes['order_reason'] : $order['order_reason']]), $url); $url = str_replace('{rcode}', $changes['order_reason'] ? $changes['order_reason'] : $order['order_reason'], $url); $url = str_replace('{price}', $changes['order_price'] ? $changes['order_price'] : $order['order_price'], $url); $url = str_replace('{count}', $changes['order_count'] ? $changes['order_count'] : $order['order_count'], $url); foreach ($offer as $k => $v) { $url = str_replace("{offer:{$k}}", $v, $url); } if ($odata) { foreach ($odata as $k => $v) { $url = str_replace("{data:{$k}}", $v, $url); } } file_get_contents($url); } } // PostBack processing if ($order['flow_id'] && $changes['order_webstat'] && $order['order_webstat'] < 5) { if ($pbu = $core->wmsale->get('flow', $order['flow_id'], 'flow_pbu')) { $pbd = array('id' => $order['order_id'], 'offer' => $order['offer_id'], 'flow' => $order['flow_id'], 'target' => $order['target_id'], 'site' => $order['site_id'], 'space' => $order['space_id'], 'count' => $changes['order_count'] ? $changes['order_count'] : $order['order_count'], 'price' => $changes['order_price'] ? $changes['order_price'] : $order['order_price'], 'status' => $changes['order_webstat'], 'reason' => $changes['order_reason'] ? $changes['order_reason'] : $order['order_reason'], 'utmi' => $order['utm_id'], 'utms' => $order['utm_src'], 'utmc' => $order['utm_cn']); foreach ($pbd as $pbk => $pbv) { $pbu = str_replace('{' . $pbk . '}', $pbv, $pbu); } curl($pbu, $pbd); } } return true; } else { return false; } }
public function _sms($mobile, $realname, $club_name, $message) { $content = <<<EOF 亲爱的{$realname}童鞋,您有一条来自“{$club_name}”社团的通知,内容如下: {$message} EOF; return sms($mobile, $content, '指尖社团'); }
<?php //uncomment sms code before running require_once '../db.inc.php'; require 'function.php'; $uuid = $_REQUEST['uuid']; $details = userDetails($uuid); $userData = explode("_%_", $details); //$userData[0] status //$userData[1] name //$userData[2] number $number = '91' . $userData[2]; if ($userData[0] == 'a') { $message = "Hello " . $userData[1] . " ,pick your bag "; $a = updateStatus($userData[0], $uuid); echo json_encode($message); } elseif ($userData[0] == 'b') { $message = "Hello " . $userData[1] . ", skip "; updateStatus($userData[0], $uuid); } $data = array('user' => "patakadeals", 'password' => "patakadeals", 'msisdn' => $number, 'sid' => "WEBSMS", 'msg' => $message, 'fl' => "0"); // echo json_encode($data); list($header, $content) = sms("http://www.smslane.com//vendorsms/pushsms.aspx", "http://www.facebook.com", $data);
$new_client_password = md5('%' . $client_temp_password . '%'); $sql = "INSERT INTO `users` (`city_id`, `extremefitness`, `name`, `birthday`, `s`, `phone`, `email`, `password`, `money`, `registration`, `confirm`, `status`) VALUES ('1001','" . $client_id . "','" . $client_data_old_base['name1'] . " " . $client_data_old_base['name2'] . " " . $client_data_old_base['name3'] . "','" . $client_data_old_base['birthday'] . "','" . $client_data_old_base['s'] . "','" . $client_data_old_base['phone'] . "','" . $client_data_old_base['email'] . "','" . $new_client_password . "','0',NOW(),'0','1')"; file_put_contents($log_filename, date('H:i:s') . ';TRY;Регистрируем клиента в ES: ' . $sql . "\r\n", FILE_APPEND); $db_shop->query($sql); file_put_contents($log_filename, date('H:i:s') . ';OK;Регистрируем клиента в ES: ' . $sql . "\r\n", FILE_APPEND); // Отправляем клиенту информацию о регистрации; file_put_contents($log_filename, date('H:i:s') . ';Отправляем клиенту смс с информацией' . "\r\n", FILE_APPEND); sms($client_phone, urldecode('Вы зарегистрированы в нашем магазине www.extremeshop.ru Ваше пароль для входа в магазин: ') . $client_temp_password); $new_base_client_id = mysqli_insert_id($db_shop->link_id); echo 'Регистрируем сотрурдника на extremeshop.ru<br>'; } // Так как у нас теперь есть ID клиента, мы можем сделать ему зачисление на счёт; file_put_contents($log_filename, date('H:i:s') . ';Создаем транзакцию' . "\r\n", FILE_APPEND); // Создаем транзакцию; $sql = "INSERT INTO `users_pays` (`user_id`, `type`, `money`, `comments`, `date`, `status`) VALUES('" . $new_base_client_id . "', '0', 1000, 'Подарочное зачисление от компании', NOW(), 1)"; $db_shop->query($sql); // Пересчитываем баланс; file_put_contents($log_filename, date('H:i:s') . ';Пересчитываем баланс' . "\r\n", FILE_APPEND); $sql = "UPDATE `users` SET `money` = `money` + 1000 WHERE `id` = " . $new_base_client_id . ";"; $db_shop->query($sql); // Получаем новый баланс; $sql = "SELECT `money` FROM `users` WHERE `id` = '" . $new_base_client_id . "';"; $new_balance = $db_shop->one($sql); // Уведомляем сотрудника; file_put_contents($log_filename, date('H:i:s') . ';Отправляем СМС о зачислении' . "\r\n", FILE_APPEND); sms($client_phone, urldecode('На ваш счет зачислены подарочные средства 1000 рублей. Ваш баланс: ' . $new_balance . ' руб. Встречайте новый www.extremeshop.ru')); file_put_contents($log_filename, date('H:i:s') . ';----------------------------------------------------------------------' . "\r\n", FILE_APPEND); echo 'Отправляем СМС о бонусном зачислении<br>'; echo '-------------------------<br>'; echo 'Скрипт успешно выполнен';
public function registerCode() { $verify = new \Think\Verify(); $res = $verify->check($code, 1); if (!$res) { $this->error('验证码错误!!'); } //判断是手机还是pc进行数据的接收 if (C('IS_MOBILE') == 1) { //表示是手机端在访问 $gets = inputJson(); //获取处理后的提交数据 返回一个数组 $telephone = trim($gets['telephone']); //修改的手机号码 } else { if (C('IS_MOBILE') == 0) { //表示是pc端在访问 $telephone = trim(I('telephone')); } } $code = rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9); session('changeTelephoneCode', $code); session('telephone', $telephone); //验证是否是手机号码 $checkStatus = 1; if (preg_match('/^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|18[0-9]{9}$/', $telephone)) { $content = "您在N邦翻译上注册验证码为:" . $code . ",如非本人操作,无需理会【N邦翻译】"; $status = sms($telephone, $content); if ($status < 0) { $checkStatus = 0; $masage = '验证短信发送失败,请联系客服'; } else { $massage = '发送成功!'; } } else { $checkStatus = 0; $massage = '请输入正确的手机号码!!'; } //判断是手机还是pc端在访问 if (C('IS_MOBILE') == 1) { //手机访问 $this->ajaxReturn(array('checkStatus' => $checkStatus, 'massage' => $massage)); } else { if (C('IS_MOBILE') == 0) { if ($checkStatus == 1) { $this->success($massage, U('Home/Index/index')); } else { $this->error($massage, U('Home/Index/index')); } } } }
sms($number, $message2); exit; } if ($percent >= 61 && $percent <= 70) { $message2 = "" . $name1 . " is " . $percent . "% compatible with " . $name2 . ". Both of you are suited for each other enjoy your time together"; echo $message2; sms($number, $message2); exit; } if ($percent >= 71 && $percent <= 80) { $message2 = "" . $name1 . " is " . $percent . "% compatible with " . $name2 . ". You have a great chance of of happiness enjoy each other!"; echo $message2; sms($number, $message2); exit; } if ($percent >= 81 && $percent <= 90) { echo $message2; $message2 = "" . $name1 . " is " . $percent . "% compatible with " . $name2 . ". " . $name1 . " & " . $name2 . " are very much made for each other"; sms($number, $message2); exit; } if ($percent >= 91 && $percent <= 100) { echo $message2; $message2 = "" . $name1 . " is " . $percent . "% compatible with " . $name2 . " so it has to be love!!"; sms($number, $message2); exit; } else { $message2 = "Error: " . $percent . ""; echo $message2; sms($number, $message2); }
$res = mysql_fetch_array($result); $users_list[$i] = $res; } mysql_free_result($result); return $users_list; } global $LINK; $LINK = mysql_pconnect($CONF_MYSQL_HOST, $CONF_MYSQL_USERNAME, $CONF_MYSQL_PASSWORD); if (!$LINK) { do_log($stdlog, "Cant connect to DB " . $CONF_MYSQL_HOST); exit; } mysql_select_db($CONF_MYSQL_DBNAME, $LINK) or die('Could not select database.'); $users_birth = get_users_birth($LINK, $stdlog); $ts = time(); #var_dump($users_birth); #die(); foreach ($users_birth as $key => $value) { $TEXT = $TEXT_base; $pattern = "|[^\\d\\(\\)-+]|"; $replacement = ""; $SMS_TEL = preg_replace($pattern, $replacement, $value['sms_tel']); if (strlen($SMS_TEL) == 10) { sms("7" . $SMS_TEL, $TEXT, $COMPANY); } if (strlen($SMS_TEL) < 9 or strlen($SMS_TEL) > 12) { } if (strlen($SMS_TEL) == 11) { sms($SMS_TEL, $TEXT, $COMPANY); } }
function send_code($content, $account) { if (preg_match('/^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|18[0-9]{9}$/', $account)) { $status = sms($account, $content); } else { $status = -1; } return $status; }
<?php if (isset($_POST['card_id'])) { // Загрузка карты; $sql = "SELECT `cards`.`id`, `cards`.`code`, `cards`.`money`, `cards`.`date_begin`, `cards`.`date_end`, `clients`.`phone`, `cards`.`type_id`, `cards`.`club_id` FROM `cards` LEFT JOIN `clients` ON `clients`.`id` = `cards`.`client_id` LEFT JOIN `types` ON `types`.`id` = `cards`.`type_id` WHERE `cards`.`id` = '" . $_POST['card_id'] . "' LIMIT 1"; if ($card = $db->row($sql)) { if ($_POST['type_id']) { // Загрузка карты; $sql = "SELECT `id`, `name` FROM `types` ORDER BY `id` ASC"; $types = $db->assoc($sql); // Изменение карты; $sql = "CALL card_change('" . $card['id'] . "', '" . $card['code'] . "', NULL, '" . $_POST['type_id'] . "', " . ($card['club_id'] ? "'" . $card['club_id'] . "'" : "NULL") . ", NULL)"; $db->query($sql); // Отправка сообщения; sms($card['phone'], 'Смена типа карты: ' . $types[$_POST['type_id']]); } else { // Загрузка привязок к типам карты (смена типа); $sql = "SELECT `types_changes`.`to` AS `id`, `types`.`image_id`, `types`.`name`, `types`.`price`, `types`.`payment`, '" . $card['date_end'] . "' AS `date_end`, `types_groups`.`name` AS `group_name`, `types_groups`.`services` FROM `types_changes` LEFT JOIN `types` ON `types`.`id` = `types_changes`.`to` LEFT JOIN `types_groups` ON `types_groups`.`id` = `types`.`group_id` WHERE `types_changes`.`from` = '" . $card['type_id'] . "' AND `types_changes`.`show` = '1' AND `types_changes`.`status` = '1' AND `types_groups`.`status` = '1' AND `types`.`status` = '1' ORDER BY `types`.`position` ASC"; if ($_types = $db->all($sql)) { $types = array(); foreach ($_types as $key => $value) { // Обработка ключей списка; if ($_POST['key']) { $key = $value['id']; } // Добавление записей в список; $types[$key] = $value; // Цена смены типа карты; $sql = "CALL card_up('" . $card['id'] . "', '" . $value['id'] . "')"; $money = $db->row($sql); // Рассчет стоимости;
function registerCode() { //接收传入的参数 $apptype = !empty(I('post.apptype')) and I('post.apptype') == C('APP_KEY') ? true : false; //手机app接口密钥 $account = trim(I('post.account')); //手机返回json数据 if ($apptype) { $ajax = true; } else { $ajax = false; } //$account_email = trim(I('post.account_email')); $code = rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9) . rand(0, 9); //session('register_code',$code); $info = get_info('member', array('telephone' => $account, 'status' => array('gt', -1), 'type' => array('GT', -2))); if ($info) { $this->error('验证短信发送失败,手机号码已经被注册!!', '', $ajax); } //如果是手机号码 if (preg_match('/^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|18[0-9]{9}$/', $account)) { //$content="您在N邦翻译上注册验证码为:".$code.",如非本人操作,无需理会【N邦翻译】"; //判断手机号码是否注册了如果注册了就返回一个用户手机号码已经注册 $content = $code; $status = sms($account, $content); if ($status < 0) { $this->error('验证短信发送失败,请联系客服', '', $ajax); } else { session("user_registercode", $code); //判断用户是否注册过,如果注册过就将将验证码写入到其中如果没有注册过就生成一个新的注册用户 $info = get_info($this->table, array('telephone' => $account, 'type' => -2)); if (!$info) { //生成一个注册用户 $_POST['telephone'] = $account; $_POST['code'] = $code; $_POST['type'] = -2; //表示注册用户 $result = update_data($this->table); session('registerId', $result); //生成的用户的id $data["registerId"] = $result; //手机 } else { $_POST['code'] = $code; $_POST['id'] = $info['id']; update_data($this->table); session('registerId', $info['id']); //原有的id $data["registerId"] = $info['id']; //手机 } if ($apptype) { $data["status"] = 1; $data["info"] = "验证短信已发送,请查看"; $data["code"] = $code; $this->ajaxReturn($data); } else { $this->success('验证短信已发送,请查看'); } } } else { session('register_code', null); $this->error('请输入正确的手机号码!', '', $ajax); } }
$msg = 'T ' . $item . '=' . ${'T' . $item} . '°C. AVG=' . round($avg, 1) . '°C'; if ($mc->get('alerttemp' . $item) < $tienmin) { telegram($msg); ios($msg); if ($sms == true) { sms($msg); } $mc->set('alerttemp' . $item, $time); } } if (${'SSD' . $item} != 'Off') { $msg = 'Rook gedecteerd in ' . $item . '!'; telegram($msg); ios($msg); if ($sms == true) { sms($msg); } if (${'STSD' . $item} < $tweemin) { resetsecurity(${'SISD' . $item}, $item); } } } //if($Pbureeltobi>500) {if($mc->get('alertpowerbureeltobi')<$eenuur) {$msg='Verbruik bureel tobi='.$Pbureeltobi;telegram($msg);$mc->set('alertpowerbureeltobi', $time);}} } //Sleep dimmers $items = array('eettafel', 'zithoek', 'tobi', 'kamer'); foreach ($items as $item) { if (${'D' . $item} != 'Off') { $action = $mc->get('dimmer' . $item); if ($action == 1) { $level = floor(${'Dlevel' . $item} * 0.95);
/** * 给即将预期及已经逾期的人发送短信,每天执行一次,数据库若有记录则不重复发送 */ public function sms_alert() { $days = [-16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 3, 5, 7]; $model = M()->table('zj_loan_order o')->join('zj_loan_bill b on b.order_id=o.id and b.issue=o.last_bill_issue'); $users = $model->field('o.realname,o.title,o.mobile,b.order_id,b.return_limit_time,b.money_total,b.money_delay')->where(['o.status' => OrderModel::STATUS_REPAY, 'b.status' => ['in', '0,1'], 'b.return_limit_time' => [['egt', strtotime(date('Y-m-d 00:00:00', strtotime(min($days) . 'day')))], ['elt', strtotime(date('Y-m-d 23:59:59', strtotime(max($days) . 'day')))]]])->order('b.return_limit_time asc')->select(); $exitst_order = []; $time_today = strtotime(date('Y-m-d')); foreach ($users as $key => $user) { // 同一个订单,仅发送一次 $id = $user['order_id']; if (in_array($id, $exitst_order)) { unset($users[$key]); continue; } $exitst_order[] = $id; $diff_day = (strtotime(date('Y-m-d', $user['return_limit_time'])) - $time_today) / 86400; if (in_array($diff_day, $days)) { $users[$key]['diff_day'] = $diff_day; } else { unset($users[$key]); } } $log_model = M('loan_system_sms'); $log_count = $log_model->where(['created' => [['egt', strtotime(date('Y-m-d 00:00:00'))], ['elt', strtotime(date('Y-m-d 23:59:59'))]]])->count(); if (!$log_count) { $log_model->add(['created' => time(), 'content' => json_encode($users)]); $current_month = date('m'); foreach ($users as $user) { if ($user['diff_day'] > 0) { $month = date('m', $user['return_limit_time']) == $current_month ? '本' : '下'; $day = date('j', $user['return_limit_time']); $message = "亲爱的{$user['realname']}童鞋,您有一笔分期账单,还款日为{$month}月{$day}日,距到期还有{$user['diff_day']}天,请及时登录指尖分期网站或指尖大学App还款(共{$user['money_total']}元)。温馨提示:如已还款请忽略此短信,若有其他疑问请联系客服:400-611-8602"; } elseif ($user['diff_day'] > -10) { $message = "亲爱的{$user['realname']}童鞋,您有一笔分期账单已逾期" . -$user['diff_day'] . "天,为保持您的良好信用记录及避免产生不必要的滞纳费,请您及时登录指尖分期网站或指尖大学 App 还款(月供{$user['money_total']}元,其中滞纳费{$user['money_delay']}元),若有其他疑问,请联系客服:400-611-8602"; } elseif ($user['diff_day'] >= -15) { $message = "亲爱的{$user['realname']}童鞋,您有一笔分期账单已逾期" . -$user['diff_day'] . "天,依据合同约定云尚公司将每日收取您合同分期总金额的1%作为滞纳费,请及时将月供{$user['money_total']}元(含滞纳费{$user['money_delay']}元)汇至云尚公司支付宝账号:zfb@yunzsp.com,如果逾期超过15日,我司将把与您签订的分期协议转给南宁马尚清资产清算有限公司,届时将由马尚清公司与您产生原有协议所约定的债权债务关系,若有其他疑问,请联系客服:400-611-8602"; } else { $message = "亲爱的{$user['realname']}童鞋,因为您有一笔分期账单已逾期" . -$user['diff_day'] . "天,云尚公司已将您的分期协议转给南宁马尚清资产清算公司,我司与您的债权债务关系已经解除,将不接受您的还款,如有疑问,请联系马尚清资产清算公司客服:0771-3862400,0771-3909400,13393649527"; } sms($user['mobile'], $message); } } var_dump(date('Y-m-d H:i:s ')); var_dump($users); die('true'); }
$apb1 = new ActionBar(); $acg1 = new ActionGroup(); $acg1->setCaption(""); $acg1->setImage("img/ic_share.png"); $btn_facebook = new ButtonBar(); $btn_facebook->setCaption("Facebook"); $btn_facebook->setImage("img/ic_facebook.png"); $btn_facebook->onTap(facebook()); $btn_tw = new ButtonBar(); $btn_tw->setCaption("Twitter"); $btn_tw->setImage("img/ic_tw.png"); $btn_tw->onTap(twitter()); $btn_sms = new ButtonBar(); $btn_sms->setCaption("SMS"); $btn_sms->setImage("img/ic_sms.png"); $btn_sms->onTap(sms()); $btn_email = new ButtonBar(); $btn_email->setCaption("EMail"); $btn_email->setImage("img/ic_email.png"); $btn_email->onTap(email()); $acg1->addControl($btn_facebook); $acg1->addControl($btn_tw); $acg1->addControl($btn_sms); $acg1->addControl($btn_email); $apb1->addControl($acg1); //Add action bar to a SDPanel. $win->addControl($apb1); $tableItemDetail = new Table(); $tableItemDetail->setClass("table.TableDetailMain"); $title = new InputText(150); $title->setClass("inputtitleblack");
exit("Invalid phone number {$num}"); } logtxt("encode_number.php has passed verifications, " . print_r($_GET, true)); require "Private/sql.php"; echo "[WARNING injection [!]]"; if (!($reponse = $bdd->query("INSERT INTO requests (phonenumber, do_geoloc, do_picture, timestamp, visited) VALUES ('{$num}', {$do_geoloc}, {$do_picture}, now(), {$visited})"))) { echo "<pre>"; print_r($bdd->errorInfo()); echo "</pre>"; exit("Failed to insert data into DB"); } $last_id = $bdd->lastInsertId(); $url_to_send = "http://bilow.tk/bilow/112/client.php?id=" . $last_id; //echo "Ok<br>".$url_to_send; echo "Ok, prepared for SMS dispatch\n"; //$url1 = "Insert the API URL of the SMS sender here"; //$url2 = urlencode($url_to_send); //$fullurl = $url1.$url2; //echo "<br>".$fullurl; // This request sends a message with the API we had //$ret = file_get_contents($fullurl); $text = "Localisation 112 : {$url_to_send}"; $ret = sms($num, $text); logtxt("Sms sending has returned :\n" . $ret); //---------------- sms($num, $text); if ($ret === false) { echo "request seem to have failed ...\n"; } else { echo "Received non-false ACK\n"; } echo "Done.";