function findpwd($uname) { if (!IValidate::email($uname)) { $this->error = '邮箱格式错误'; return false; } $memberinfo = $this->mysql->select_one("select * from " . Mysite::$app->config['tablepre'] . "member where email='" . $uname . "' "); if (empty($memberinfo)) { $this->error = '获取邮箱帐号失败'; return false; } $title = '找回' . Mysite::$app->config['sitename'] . '帐号密码'; $sign = $this->mymd5($memberinfo['password'], $memberinfo['username']); $emaildata['findpwdurl'] = IUrl::creatUrl("member/resetpwd/uid/" . $memberinfo['uid'] . "/username/" . urlencode($memberinfo['username']) . "/sign/" . $sign); $default_tpl = new config('tplset.php', hopedir); $tpllist = $default_tpl->getInfo(); if (!isset($tpllist['emailfindtpl']) || empty($tpllist['emailfindtpl'])) { $this->error = '管理员未设置邮箱发送信息,请联系客服'; return false; } $emaildata['username'] = $memberinfo['username']; $emaildata['email'] = $memberinfo['email']; $emaildata['sitename'] = Mysite::$app->config['sitename']; $emaildata['siteurl'] = Mysite::$app->config['siteurl']; $smtp = new ISmtp(Mysite::$app->config['smpt'], 25, Mysite::$app->config['emailname'], Mysite::$app->config['emailpwd'], false); $content = Mysite::$app->statichtml($tpllist['emailfindtpl'], $emaildata); $info = $smtp->send($memberinfo['email'], Mysite::$app->config['emailname'], $title, $content, "", "HTML", "", ""); return true; }
function regesteremail() { $regestercode = Mysite::$app->config['regestercode']; $checkcode = ICookie::get('regemailcode'); $checkphone = ICookie::get('regemail'); $checktime = ICookie::get('regtime'); if (empty($regestercode)) { echo 'noshow(\'不需要验证CODE\')'; exit; } if (!empty($checkcode)) { $backtime = $checktime - time(); if ($backtime > 0) { echo 'showsendemail(\'' . $checkphone . '\',' . $backtime . ')'; exit; } } if (!empty($this->member['uid'])) { echo 'noshow(\'已登陆\')'; exit; } $email = IFilter::act(IReq::get('email')); if (!IValidate::email($email)) { echo ''; exit; } $userinfo = $this->mysql->select_one("select * from " . Mysite::$app->config['tablepre'] . "member where email='" . $email . "' "); if (!empty($userinfo)) { echo 'noshow(\'邮箱已注册\')'; exit; } $makecode = mt_rand(10000, 99999); $title = Mysite::$app->config['sitename'] . '注册验证码'; $smtp = new ISmtp(Mysite::$app->config['smpt'], 25, Mysite::$app->config['emailname'], Mysite::$app->config['emailpwd'], false); $content = '欢迎注册' . Mysite::$app->config['sitename'] . '会员,注册验证码为:' . $makecode; $info = $smtp->send($email, Mysite::$app->config['emailname'], $title, $content, "", "HTML", "", ""); ICookie::set('regemailcode', $makecode, 600); ICookie::set('regemail', $email, 600); $longtime = time() + 60; ICookie::set('regtime', $longtime, 60); echo 'showsendemail(\'' . $email . '\',60)'; exit; }
function starttask() { $taskid = IReq::get('taskid'); $taskinfo = $this->mysql->select_one("select * from " . Mysite::$app->config['tablepre'] . "task where id='" . $taskid . "' "); if (empty($taskinfo)) { echo '任务不存在'; exit; } if ($taskinfo['status'] > 1) { echo '任务执行完毕,请关闭窗口'; exit; } $data = array('taskmiaoshu' => ''); //执行任务 if ($taskinfo['tasktype'] == 1) { $emailids = ''; //邮箱ID集 $newdata = array(); //任务处理数据 $data['taskmiaoshu'] .= '邮件群发任务'; if ($taskinfo['taskusertype'] == 1) { // echo '根据用户表筛选查询'.$taskinfo['tasklimit'];//tasklimit //构造默认查询 $where = ' where uid > ' . $taskinfo['start_id'] . ' ' . $taskinfo['tasklimit']; //start_id;//起点UID $memberlist = $this->mysql->getarr("select * from " . Mysite::$app->config['tablepre'] . "member " . $where . " order by uid asc limit 0, 10"); $startid = $taskinfo['start_id']; if (count($memberlist) > 9) { foreach ($memberlist as $key => $value) { if (IValidate::email($value['email'])) { $emailids .= empty($emailids) ? $value['email'] : ',' . $value['email']; } $startid = $value['uid']; } } if (count($memberlist) < 10) { //更新任务执行完毕 $newdata['status'] = 2; $data['taskmiaoshu'] .= ',执行完毕'; } else { // $newdata['status'] = 1; $newdata['start_id'] = $startid; //更新下一页 $data['taskmiaoshu'] .= ',从用户表uid为' . $taskinfo['start_id'] . '执行到uid为' . $startid; } //更新任务 } else { $tasklimit = $taskinfo['tasklimit']; $checklist = explode(',', $tasklimit); foreach ($checklist as $key => $value) { if (IValidate::email($value)) { $emailids .= empty($emailids) ? $value : ',' . $value; } } $newdata['status'] = 2; //更新任务 $data['taskmiaoshu'] .= ',根据指定邮箱地址发送邮件完成'; } //更新任务 $this->mysql->update(Mysite::$app->config['tablepre'] . 'task', $newdata, "id='" . $taskid . "'"); if (!empty($emailids)) { $smtp = new ISmtp(Mysite::$app->config['smpt'], 25, Mysite::$app->config['emailname'], Mysite::$app->config['emailpwd'], false); //$content = iconv('utf-8','gb2312',$content); $info = $smtp->send($emailids, Mysite::$app->config['emailname'], $taskinfo['taskname'], $taskinfo['content'], "", "HTML", "", ""); } $data['taskdata'] = $newdata; $data['showcontent'] = $emailids; } else { $emailids = ''; //邮箱ID集 $newdata = array(); //任务处理数据 $data['taskmiaoshu'] .= '短信群发任务'; if ($taskinfo['taskusertype'] == 1) { // echo '根据用户表筛选查询'.$taskinfo['tasklimit'];//tasklimit //构造默认查询 $where = ' where uid > ' . $taskinfo['start_id'] . ' ' . $taskinfo['tasklimit']; //start_id;//起点UID $memberlist = $this->mysql->getarr("select * from " . Mysite::$app->config['tablepre'] . "member " . $where . " order by uid asc limit 0, 10"); $startid = $taskinfo['start_id']; if (count($memberlist) > 9) { foreach ($memberlist as $key => $value) { if (IValidate::suremobi($value['phone'])) { $emailids .= empty($emailids) ? $value['phone'] : ',' . $value['phone']; } $startid = $value['uid']; } } if (count($memberlist) < 10) { //更新任务执行完毕 $newdata['status'] = 2; $data['taskmiaoshu'] .= ',执行完毕'; } else { // $newdata['status'] = 1; $newdata['start_id'] = $startid; //更新下一页 $data['taskmiaoshu'] .= ',从用户表uid为' . $taskinfo['start_id'] . '执行到uid为' . $startid; } //更新任务 } else { $tasklimit = $taskinfo['tasklimit']; $checklist = explode(',', $tasklimit); foreach ($checklist as $key => $value) { if (IValidate::suremobi($value)) { $emailids .= empty($emailids) ? $value : ',' . $value; } } $newdata['status'] = 2; //更新任务 $data['taskmiaoshu'] .= ',根据指定手机号发送短信完成'; } //更新任务 $data['showcontent'] = $emailids; if (!empty($emailids)) { $sendmobile = new mobile(); /* $checklogin = $sendmobile->login(); if($checklogin == 'ok') { */ $emailids = explode(',', $emailids); $chekcinfo = $sendmobile->sendsms($emailids, $taskinfo['content']); if ($chekcinfo == 'ok') { //发送成功 //更新任务 $this->mysql->update(Mysite::$app->config['tablepre'] . 'task', $newdata, "id='" . $taskid . "'"); } else { $data['taskmiaoshu'] .= ',短信发送失败,错误代码:' . $chekcinfo; } /* $sendmobile->endsend(); }else{ $data['taskmiaoshu'] .= ',短信发送失败,错误代码:'.$checklogin; } */ } $data['taskdata'] = $newdata; } Mysite::$app->setdata($data); }
function sendmess($orderid) { $smtp = new ISmtp(Mysite::$app->config['smpt'], 25, Mysite::$app->config['emailname'], Mysite::$app->config['emailpwd'], false); $sendmobile = new mobile(); $wx_s = new wx_s(); $orderinfo = $this->mysql->select_one("select * from " . Mysite::$app->config['tablepre'] . "order where id= '" . $orderid . "' "); $orderdet = $this->mysql->getarr("select * from " . Mysite::$app->config['tablepre'] . "orderdet where order_id= '" . $orderid . "' "); $shopinfo = $this->mysql->select_one("select * from " . Mysite::$app->config['tablepre'] . "shop where id= '" . $orderinfo['shopid'] . "' "); $tempdata = array('orderinfo' => $orderinfo, 'orderdet' => $orderdet, 'sitename' => Mysite::$app->config['sitename']); $contents = ''; $checknotice = isset($shopinfo['noticetype']) ? explode(',', $shopinfo['noticetype']) : array(); $contents = ''; $appcheck = $this->mysql->select_one("select * from " . Mysite::$app->config['tablepre'] . "applogin where uid = '" . $orderinfo['shopuid'] . "' "); if (!empty($appcheck)) { /* $appCls = new appclass(); $backinfo = $appCls->sendmsg($appcheck['userid'],$appcheck['channelid'],Mysite::$app->config['sitename'].'订单提醒','您有新的订单,单号:'.$orderinfo['dno'],$messagetype=1); logwrite('APP发送:'.$backinfo);*/ } if (in_array(1, $checknotice)) { if (Mysite::$app->config['allowedsendshop'] == 1) { if (IValidate::suremobi($orderinfo['shopphone'])) { $default_tpl = new config('tplset.php', hopedir); $tpllist = $default_tpl->getInfo(); if (!isset($tpllist['shopphonetpl']) || empty($tpllist['shopphonetpl'])) { // logwrite('短信发送商家模板加载失败'); } else { $contents = Mysite::$app->statichtml($tpllist['shopphonetpl'], $tempdata); if (Mysite::$app->config['smstype'] == 2) { //139邮箱转发短信 //使用sms10086cn发送/ $APIServer = 'http://www.sms-10086.cn/Service.asmx/sendsms?'; $weblink = $APIServer . 'zh=' . trim(Mysite::$app->config['sms86ac']) . '&mm=' . trim(Mysite::$app->config['sms86pd']) . '&hm=' . $orderinfo['shopphone'] . '&nr=' . urlencode($contents) . '&dxlbid=27'; $contentcccc = file_get_contents($weblink); logwrite('短信sms10086cn发送结果:' . $contentcccc); } else { //使用sms10086cn发送/ $phoneids = array(); $phoneids[] = $orderinfo['shopphone']; $chekcinfo = $sendmobile->sendsms($phoneids, $contents); logwrite('亿美短信接口发送结果:' . $chekcinfo); } } } else { logwrite('短信发送商家' . $shopinfo['shopname'] . '联系电话错误'); } } } if (in_array(3, $checknotice)) { $wechat = $this->mysql->select_one("select * from " . Mysite::$app->config['tablepre'] . "shop_wechat where shopid=" . $orderinfo['shopid']); $wx_s = array(); if (!empty($wechat)) { $wx_s = new wx_s($wechat['token'], $wechat['appid'], $wechat['secret'], $orderinfo['shopid']); } if (!empty($orderinfo['shopuid']) && !empty($wechat)) { $wechat = $this->mysql->select_one("select * from " . Mysite::$app->config['tablepre'] . "shop_wechat where shopid=" . $orderinfo['shopid']); //if (!empty($wechat)) { //$wx_s = new wx_s($wechat['token'], $wechat['appid'], $wechat['secret'],$orderinfo['shopid']); //找到要发送的商户微信openid $openid_list = $this->mysql->getarr("select openid from " . Mysite::$app->config['tablepre'] . "shop_wxuser where shopid=" . $orderinfo['shopid'] . " and is_merchant=1"); $payarrr = array('outpay' => '到付', 'open_acout' => '余额支付'); $orderpastatus = $orderinfo['paystatus'] == 1 ? '已支付' : '未支付'; $orderpaytype = isset($payarrr[$orderinfo['paytype']]) ? $payarrr[$orderinfo['paytype']] : '在线支付'; $tempdata = array('orderinfo' => $orderinfo, 'orderdet' => $orderdet, 'sitename' => Mysite::$app->config['sitename']); $temp_content = $orderinfo['buyername'] . '在' . Mysite::$app->config['sitename'] . '下单成功' . '\\n'; $temp_content .= '下单时间:' . date('m-d H:i', $orderinfo['addtime']) . '\\n'; $temp_content .= '配送时间:' . date('m-d H:i', $orderinfo['posttime']) . '\\n'; $temp_content .= '支付方式' . $orderpaytype . ',' . $orderpastatus . ' ' . '\\n'; $temp_content .= '收货人:' . $orderinfo['buyername'] . '\\n'; $temp_content .= '地址:' . $orderinfo['buyeraddress'] . '\\n'; $temp_content .= '联系电话:' . $orderinfo['buyerphone'] . '\\n'; $temp_content .= '单号:' . $orderinfo['dno'] . '\\n'; $temp_content .= '总价:' . $orderinfo['allcost'] . '元,配送费:' . $orderinfo['shopps'] . '元\\n'; $temp_content .= '备注:' . $orderinfo['content'] . '\\n'; foreach ($orderdet as $km => $vc) { $temp_content .= $vc['goodsname'] . '(' . $vc['goodscount'] . '份)\\n'; } if (!empty($openid_list)) { if (!empty($temp_content)) { foreach ($openid_list as $key => $value) { if ($wx_s->sendmsg($temp_content, $value['openid'])) { } else { logwrite('微信客服发送错误:' . $wx_s->err()); } } } } //} //$wxshop = $this->mysql->select_one("select * from ".Mysite::$app->config['tablepre']."wxuser where uid= '".$orderinfo['shopuid']."' "); /*if(!empty($wxshop)){ $payarrr = array('outpay'=>'到付','open_acout'=>'余额支付'); $orderpastatus = $orderinfo['paystatus'] == 1?'已支付':'未支付'; $orderpaytype = isset($payarrr[$orderinfo['paytype']])?$payarrr[$orderinfo['paytype']]:'在线支付'; $tempdata = array('orderinfo'=>$orderinfo,'orderdet'=>$orderdet,'sitename'=>Mysite::$app->config['sitename']); $temp_content = $orderinfo['buyername'].'在'.Mysite::$app->config['sitename'].'下单成功'.'\n'; $temp_content .='下单时间:'.date('m-d H:i',$orderinfo['addtime']).'\n'; $temp_content .='配送时间:'.date('m-d H:i',$orderinfo['posttime']).'\n'; $temp_content .='支付方式'.$orderpaytype.','.$orderpastatus.' '.'\n'; $temp_content .='收货人:'.$orderinfo['buyername'].'\n'; $temp_content .='地址:'.$orderinfo['buyeraddress'].'\n'; $temp_content .='联系电话:'.$orderinfo['buyerphone'].'\n'; $temp_content .='单号:'.$orderinfo['dno'].'\n'; $temp_content .='总价:'.$orderinfo['allcost'].'元,配送费:'.$orderinfo['shopps'].'元\n'; $temp_content .='备注:'.$orderinfo['content'].'\n'; foreach($orderdet as $km=>$vc){ $temp_content .=$vc['goodsname'].'('.$vc['goodscount'].'份)\n'; } //增加超连接 $time = time(); $tempstr = md5(Mysite::$app->config['wxtoken'].$time); $tempstr = substr($tempstr,3,15); $dolink = Mysite::$app->config['siteurl'].'/index.php?controller=wxsite&action=shopshoworder&id='.$orderinfo['id']; $backinfo = ''; if(!empty($dolink)){ $templink = $dolink; for($i=0;$i<strlen($templink);$i++){ $backinfo .= ord($templink[$i]).','; } } $linkstr = Mysite::$app->config['siteurl'].'/index.php?controller=wxsite&action=index&openid='.$wxshop['openid'].'&actime='.$time.'&sign='.$tempstr.'&backinfo='.$backinfo; $temp_content .= '<a href=\''.trim($linkstr).'\'>查看详情</a>'; if(!empty($temp_content)){ $wx_s = new wx_s($wechat['token'], $wechat['appid'], $wechat['secret'],$orderinfo['shopid']); if($wx_s->sendmsg($temp_content,$wxshop['openid'])){ }else{ logwrite('微信客服发送错误:'.$wx_s->err()); } } }*/ } if (!empty($orderinfo['buyeruid']) && !empty($wechat)) { //2015-06-25查不到$shopid把$shopid改成$shopinfo['id'] $wxbuyer = $this->mysql->select_one("select * from " . Mysite::$app->config['tablepre'] . "shop_wxuser where shopid='" . $shopinfo['id'] . "' and uid= '" . $orderinfo['buyeruid'] . "' "); if (!empty($wxbuyer)) { if (empty($contents)) { $default_tpl = new config('tplset.php', hopedir); $tpllist = $default_tpl->getInfo(); if (!isset($tpllist['shopphonetpl']) || empty($tpllist['shopphonetpl'])) { } else { $contents = Mysite::$app->statichtml($tpllist['userbuytpl'], $tempdata); } } if (!empty($contents)) { /*$time = time(); $tempstr = md5(Mysite::$app->config['wxtoken'].$time); $tempstr = substr($tempstr,3,15); $dolink = Mysite::$app->config['siteurl'].'/index.php?controller=wxsite&action=ordershow&orderid='.$orderinfo['id']; $backinfo = ''; if(!empty($dolink)){ $templink = $dolink; for($i=0;$i<strlen($templink);$i++){ $backinfo .= ord($templink[$i]).','; } } // $backinfo = str_replace(array('"',',','&'),array('-','^','@'),json_encode($dolink)); //shopshoworder $linkstr = Mysite::$app->config['siteurl'].'/index.php?controller=wxsite&action=index&openid='.$wxbuyer['openid'].'&actime='.$time.'&sign='.$tempstr.'&backinfo='.$backinfo; $contents .= '<a href=\''.trim($linkstr).'\'>查看详情</a>';*/ if ($wx_s->sendmsg($contents, $wxbuyer['openid'])) { } else { logwrite('微信客服发送错误:' . $wx_s->err()); } } } } } if (!empty($shopinfo['machine_code']) && !empty($shopinfo['mKey'])) { $payarrr = array('outpay' => '到付', 'open_acout' => '余额支付'); $orderpastatus = $orderinfo['paystatus'] == 1 ? '已支付' : '未支付'; $orderpaytype = isset($payarrr[$orderinfo['paytype']]) ? $payarrr[$orderinfo['paytype']] : '在线支付'; $temp_content = ''; foreach ($orderdet as $km => $vc) { $temp_content .= $vc['goodsname'] . '(' . $vc['goodscount'] . '份) \\n '; } $msg = '商家:' . $shopinfo['shopname'] . ' 订餐热线:' . Mysite::$app->config['litel'] . ' 订单状态:' . $orderpaytype . ',(' . $orderpastatus . ') 姓名:' . $orderinfo['buyername'] . ' 电话:' . $orderinfo['buyerphone'] . ' 地址:' . $orderinfo['buyeraddress'] . ' 下单时间:' . date('m-d H:i', $orderinfo['addtime']) . ' 配送时间:' . date('m-d H:i', $orderinfo['posttime']) . ' ******************************* ' . $temp_content . ' ******************************* 配送费:' . $orderinfo['shopps'] . '元 合计:' . $orderinfo['allcost'] . '元 ※※※※※※※※※※※※※※ 谢谢惠顾,欢迎下次光临 订单编号' . $orderinfo['dno'] . ' 备注' . $orderinfo['content'] . ' '; $this->dosengprint($msg, $shopinfo['machine_code'], $shopinfo['mKey']); } if (in_array(2, $checknotice)) { //同时使用邮件通知 if (Mysite::$app->config['noticeshopemail'] == 1) { //同时使用邮件通知 if (IValidate::email($shopinfo['email'])) { $default_tpl = new config('tplset.php', hopedir); $tpllist = $default_tpl->getInfo(); if (!isset($tpllist['emailorder']) || empty($tpllist['emailorder'])) { logwrite('邮件发送商家模板加载失败'); } else { //surelink //算方计算 $time = time(); $tempstr = md5($orderinfo['dno'] . $time); $tempstr = substr($tempstr, 3, 15); $tempstr = md5($orderinfo['shopuid'] . $tempstr); $tempstr = substr($tempstr, 3, 15); $tempdata['surelink'] = Mysite::$app->config['siteurl'] . '/index.php?controller=site&action=makeshow&id=' . $orderinfo['id'] . '&actime=' . $time . '&sign=' . $tempstr . '&status=1'; $tempdata['closelink'] = Mysite::$app->config['siteurl'] . '/index.php?controller=site&action=makeshow&id=' . $orderinfo['id'] . '&actime=' . $time . '&sign=' . $tempstr . '&status=2'; $emailcontent = Mysite::$app->statichtml($tpllist['emailorder'], $tempdata); $title = '您有一笔' . Mysite::$app->config['sitename'] . '新订单,请尽快处理'; $info = $smtp->send($shopinfo['email'], Mysite::$app->config['emailname'], $title, $emailcontent, "", "HTML", "", ""); } } else { logwrite('商家' . $shopinfo['shopname'] . '邮箱地址' . $shopinfo['shopemail'] . '错误'); } } } $contents = ''; if (Mysite::$app->config['allowedsendbuyer'] == 1) { if (IValidate::suremobi($orderinfo['buyerphone'])) { $default_tpl = new config('tplset.php', hopedir); $tpllist = $default_tpl->getInfo(); if (!isset($tpllist['userbuytpl']) || empty($tpllist['userbuytpl'])) { logwrite('短信发送会员模版失败'); } else { $contents = Mysite::$app->statichtml($tpllist['userbuytpl'], $tempdata); if (Mysite::$app->config['smstype'] == 2) { //139邮箱转发短信 //使用sms10086cn发送 $APIServer = 'http://www.sms-10086.cn/Service.asmx/sendsms?'; $weblink = $APIServer . 'zh=' . trim(Mysite::$app->config['sms86ac']) . '&mm=' . trim(Mysite::$app->config['sms86pd']) . '&hm=' . $orderinfo['buyerphone'] . '&nr=' . urlencode($contents) . '&dxlbid=27'; $contentcccc = file_get_contents($weblink); logwrite('短信sms10086cn发送结果:' . $contentcccc); } else { //使用sms10086cn发送 $phoneids = array(); $phoneids[] = $orderinfo['buyerphone']; $chekcinfo = $sendmobile->sendsms($phoneids, $contents); logwrite('亿美短信接口发送结果:' . $chekcinfo); } logwrite($contents); } } } }