Server : Apache System : Linux iZ2vcgyutqttsd1p850kl8Z 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64 User : www ( 1000) PHP Version : 5.6.40 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /www/wwwroot/saimikebio.com/mobile/ |
<?php function weixin_notice($order,$wxch_order_name){ $time = time(); $wxch_user_id = $_SESSION['user_id']; if(empty($wxch_user_id)){ $wxch_user_id=$order['user_id']; } $query_sql = "SELECT wxid FROM " . $GLOBALS['ecs']->table('users') . " WHERE user_id = '$wxch_user_id'"; $ret_w = $GLOBALS['db']->getRow($query_sql); $wxid = $ret_w['wxid']; if($wxch_user_id > 0 && $wxid) { $access_token = access_token2($db); $url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token='.$access_token; if(empty($order['order_id'])) { $order['order_id'] = $order_id; } if(empty($order_id)) { $order_id = $order['order_id']; } $sql = "SELECT * FROM " . $GLOBALS['ecs']->table('order_info') . " WHERE order_id = '$order_id'"; $orders = $GLOBALS['db']->getRow($sql); $sql = "SELECT * FROM " . $GLOBALS['ecs']->table('order_goods') . " WHERE order_id = '$order_id'"; $order_goods = $GLOBALS['db']->getAll($sql); $shopinfo = ''; if(!empty($order_goods)) { foreach($order_goods as $v) { if(empty($v['goods_attr'])) { $shopinfo .= $v['goods_name'].'('.$v['goods_number'].'),'; } else { $shopinfo .= $v['goods_name'].'('.$v['goods_attr'].')'.'('.$v['goods_number'].'),'; } } $shopinfo = substr($shopinfo, 0, strlen($shopinfo)-1); } $sql = "SELECT * FROM ". $GLOBALS['ecs']->table('weixin_order') ." WHERE order_name = '$wxch_order_name'"; $cfg_order = $GLOBALS['db']->getRow($sql); $cfg_baseurl = $GLOBALS['db']->getOne("SELECT cfg_value FROM ". $GLOBALS['ecs']->table('weixin_cfg') ." WHERE cfg_name = 'baseurl' "); $cfg_murl = $GLOBALS['db']->getOne("SELECT cfg_value FROM ". $GLOBALS['ecs']->table('weixin_cfg') ." WHERE cfg_name = 'murl' "); if($orders['pay_status'] == 0) { $pay_status = '支付状态:未付款'; } elseif($orders['pay_status'] == 1) { $pay_status = '支付状态:付款中'; } elseif($orders['pay_status'] == 2) { $pay_status = '支付状态:已付款'; } $wxch_address = "\r\n收件地址:".$orders['address']; $wxch_consignee = "\r\n收件人:".$orders['consignee']; $w_title = $cfg_order['title']; if($orders['order_amount'] == '0.00') { $orders['order_amount'] = $orders['money_paid']; } $w_description = '订单号:'.$orders['order_sn']."\r\n".'商品信息:'.$shopinfo."\r\n".$pay_status.$wxch_consignee.$wxch_address; $w_url = $cfg_baseurl.$cfg_murl.'user.php?act=order_detail&order_id='.$order['order_id'].'&wxid='.$wxid; $http_ret1 = stristr($cfg_order['image'],'http://'); $http_ret2 = stristr($cfg_order['image'], 'http:\\'); if($http_ret1 or $http_ret2) { $w_picurl = $cfg_order['image']; } else { $w_picurl = $cfg_baseurl."/mobile/".$cfg_order['image']; } $post_msg = '{ "touser":"'.$wxid.'", "msgtype":"news", "news":{ "articles": [ { "title":"'.$w_title.'", "description":"'.$w_description.'", "url":"'.$w_url.'", "picurl":"'.$w_picurl.'" } ] } }'; $ret_json = curl_grab_page($url, $post_msg); $ret = json_decode($ret_json); } } function weixin_notice_tow($order,$wxch_order_name){ $time = time(); $wxch_user_id = $_SESSION['user_id']; if(empty($wxch_user_id)){ $wxch_user_id=$order['user_id']; } if($wxch_user_id > 0) { $access_token = access_token2($db); $url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token='.$access_token; $query_sql = "SELECT wxid FROM " . $GLOBALS['ecs']->table('users') . " WHERE user_id = '$wxch_user_id'"; $ret_w = $GLOBALS['db']->getRow($query_sql); $wxid = $ret_w['wxid']; if(empty($order['order_id'])) { $order['order_id'] = $order_id; } if(empty($order_id)) { $order_id = $order['order_id']; } $sql = "SELECT * FROM " . $GLOBALS['ecs']->table('order_info') . " WHERE order_id = '$order_id'"; $orders = $GLOBALS['db']->getRow($sql); //商城新增支付成功,对应上级提醒功能 $nickname = $GLOBALS['db']->getOne("SELECT `nickname` FROM ".$GLOBALS['ecs']->table('weixin_user')." WHERE `wxid` = '$wxid'"); $affiliate = unserialize($GLOBALS['_CFG']['affiliate']); $num = count($affiliate['item']); $money=$orders['fencheng']; if($orders['pay_status'] == 0) { $pay_status = '支付状态:未付款'; } elseif($orders['pay_status'] == 1) { $pay_status = '支付状态:付款中'; } elseif($orders['pay_status'] == 2) { $pay_status = '支付状态:已付款'; } if($orders['pay_status'] == 2) { $orders['order_amount'] = $orders['money_paid']; } $sql = "SELECT * FROM ".$GLOBALS['ecs']->table('weixin_order')." WHERE order_name = '$wxch_order_name'"; $cfg_order = $GLOBALS['db']->getRow($sql); $cfg_baseurl = $GLOBALS['db']->getOne("SELECT cfg_value FROM ". $GLOBALS['ecs']->table('weixin_cfg') ." WHERE cfg_name = 'baseurl' "); $cfg_murl = $GLOBALS['db']->getOne("SELECT cfg_value FROM ". $GLOBALS['ecs']->table('weixin_cfg') ." WHERE cfg_name = 'murl' "); $http_ret1 = stristr($cfg_order['image'],'http://'); $http_ret2 = stristr($cfg_order['image'], 'http:\\'); if($http_ret1 or $http_ret2) { $w_picurl = $cfg_order['image']; } else { $w_picurl = $cfg_baseurl."mobile/".$cfg_order['image']; } for($i=0; $i<$num; $i++){ $sql = "SELECT `parent_id` FROM ".$GLOBALS['ecs']->table('users')." WHERE `wxid` = '$wxid'"; $parent_id = $GLOBALS['db']->getOne($sql); //修复如果相对平台来讲是第一二级的问题 if($parent_id == 0 || $money == 0 || $money < 0){ break; }else{ $num_gbee=$i+1; $w_title="您的".$num_gbee."级会员".$nickname."付款了"; $affiliate['item'][$i]['level_money'] = (float)$affiliate['item'][$i]['level_money']; if ($affiliate['item'][$i]['level_money']) { $affiliate['item'][$i]['level_money'] /= 100; } $yongjin_gbee= round($money*$affiliate['item'][$i]['level_money'],2); $w_description= "订单号:".$orders['order_sn']."\r\n您将获得".$yongjin_gbee."元佣金\r\n".$pay_status; $wp_url = $cfg_baseurl.$cfg_murl."distribute.php?act=myorder&user_id=".$wxch_user_id."&level=".$num_gbee; $sql_2 = "SELECT `wxid` FROM ".$GLOBALS['ecs']->table('users')." WHERE `user_id` = '$parent_id'"; $wxid = $GLOBALS['db']->getOne($sql_2); $post_msg = '{ "touser":"'.$wxid.'", "msgtype":"news", "news":{ "articles": [ { "title":"'.$w_title.'", "description":"'.$w_description.'", "url":"'.$wp_url.'", "picurl":"'.$w_picurl.'" } ] } }'; $ret_json = curl_grab_page($url, $post_msg); $ret = json_decode($ret_json); if($ret->errmsg != 'ok') { $access_token = new_access_token($db); $url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token='.$access_token; $ret_json = curl_grab_page($url, $post_msg); $ret = json_decode($ret_json); } } } //商城新增支付成功,对应上级提醒功能} } } function new_access_token($db) { $time = time(); $ret = $GLOBALS['ecs']->getRow("SELECT * FROM ". $GLOBALS['ecs']->table('weixin_config') ." WHERE `id` = 1"); $appid = $ret['appid']; $appsecret = $ret['appsecret']; $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret"; $ret_json = curl_get_contents2($url); $ret = json_decode($ret_json); if($ret->access_token) { $GLOBALS['ecs']->query("UPDATE ". $GLOBALS['ecs']->table('weixin_config') ." SET `access_token` = '$ret->access_token',`dateline` = '$time' WHERE `id` =1;"); } return $ret->access_token; } function access_token2($db) { $sql = "SELECT * FROM ". $GLOBALS['ecs']->table('weixin_config') ." WHERE id = 1"; $ret = $GLOBALS['db']->getRow($sql); $appid = $ret['appid']; $appsecret = $ret['appsecret']; $access_token = $ret['access_token']; $dateline = $ret['dateline']; $time = time(); if(($time - $dateline) >= 7200) { $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret"; $ret_json = curl_get_contents2($url); $ret = json_decode($ret_json); if($ret->access_token) { $GLOBALS['db']->query("UPDATE ". $GLOBALS['ecs']->table('weixin_config') ." SET `access_token` = '$ret->access_token',`dateline` = '$time' WHERE `id` =1;"); return $ret->access_token; } } elseif(empty($access_token)) { $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret"; $ret_json = curl_get_contents2($url); $ret = json_decode($ret_json); if($ret->access_token) { $GLOBALS['ecs']->query("UPDATE ". $GLOBALS['ecs']->table('weixin_config') ." SET `access_token` = '$ret->access_token',`dateline` = '$time' WHERE `id` =1;"); return $ret->access_token; } } else { return $access_token; } } function curl_get_contents2($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, 1); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $r = curl_exec($ch); curl_close($ch); return $r; } function curl_grab_page($url,$data,$proxy='',$proxystatus='',$ref_url='') { $ch = curl_init(); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_TIMEOUT, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); if ($proxystatus == 'true') { curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); curl_setopt($ch, CURLOPT_PROXY, $proxy); } curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_URL, $url); if(!empty($ref_url)) { curl_setopt($ch, CURLOPT_HEADER, TRUE); curl_setopt($ch, CURLOPT_REFERER, $ref_url); } curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); ob_start(); return curl_exec ($ch); ob_end_clean(); curl_close ($ch); unset($ch); } ?>