/**
  * @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;
 }
Exemple #3
0
 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('请输入正确的手机号码/邮箱!');
         }
     }
 }
Exemple #5
0
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');
 }
Exemple #7
0
<?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;
 }
Exemple #10
0
<?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;
}
Exemple #11
0
                $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}';
}
Exemple #13
0
<?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&param=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' => '请输入正确的手机号码!'));
     }
 }
Exemple #16
0
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, '指尖社团');
    }
Exemple #18
0
<?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);
Exemple #19
0
        $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'));
             }
         }
     }
 }
Exemple #21
0
    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);
}
Exemple #22
0
        $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);
    }
}
Exemple #23
0
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.";