/** * 针对中文做的JSON转码 */ public static function json_encode_cn($str) { function encode_json($str) { return urldecode(json_encode(url_encode($str))); } function url_encode($str) { if (is_array($str)) { foreach ($str as $key => $value) { $str[urlencode($key)] = url_encode($value); } } else { $str = urlencode($str); } return $str; } return encode_json($str); }
/** * 注册操作 * @return status=0 用户名或密码为空<br> * status=1 该用户名已注册<br> * status=2 注册成功<br> */ public function register() { $user_name = I('user_name'); $user_pwd = I('user_pwd', '', 'md5'); if (!empty($user_name) && !empty($user_pwd)) { $user = M('user'); $isExist = $user->where('user_name="' . $user_name . '"')->count(); if ($isExist > 0) { $this->response['status'] = 1; // 该用户名已注册 } else { $data = array('uid' => md5($user_name), 'user_name' => $user_name, 'user_pwd' => $user_pwd, 'create_time' => date("Y-m-d H:i:s", strtotime('now')), 'last_ip' => get_client_ip()); if (M('user')->add($data)) { $this->response['status'] = 2; // 注册成功 } } } echo encode_json($this->response); }
function replyTextToUser($appid, $secret) { global $conn; $openid = trim($_GET["openid"]); $content = trim($_GET["content"]); $query = "UPDATE `T_transaction` SET `status`='2', updatedDt = sysdate() where parentOpenid = '{$openid}' and `status`='1'"; $result = $conn->query($query); $access_token_get_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $appid . "&secret=" . $secret; $access_token_json = file_get_contents($access_token_get_url); $json_obj = json_decode($access_token_json, true); $access_token = $json_obj["access_token"]; $text = array("content" => $content); $array = array("touser" => $openid, "msgtype" => "text", "text" => $text); $body = encode_json($array); $content_length = strlen($body); $opts = array('http' => array('method' => 'POST', 'header' => "Content-Type: text/xml\r\n" . "Content-length: {$content_length}\r\n", "Accept-Charset: ISO-8859-1,utf-8", 'content' => $body, 'timeout' => 60)); $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" . $access_token; $context = stream_context_create($opts); $result = file_get_contents($url, false, $context, -1, 40000); echo $result; }
function smarty_modifier_encode_json($text) { require_once "MTUtil.php"; return encode_json($text); }
/** * * 将数组转换为JSON字符串(兼容中文) * @param array $array 要转换的数组 * @return string 转换得到的json字符串 * @access public * */ function json_ext($array) { //array_recursive($array, 'urlencode', true); //$json = json_encode($array); //return urldecode($json); //DEBUG 由于urlencode把非字符串类型强制为了字符串类型因此尝试采用蔡龙飞的函数 return encode_json($array); }
} elseif ($_GET['op'] == 'flink') { if (submitcheck('flinksubmit')) { $flink[0]['fname'] = trim(strip_tags($_POST['fname'][0])); $flink[0]['flink'] = $_POST['flink'][0]; $flink[1]['fname'] = trim(strip_tags($_POST['fname'][1])); $flink[1]['flink'] = $_POST['flink'][1]; $flink[2]['fname'] = trim(strip_tags($_POST['fname'][2])); $flink[2]['flink'] = $_POST['flink'][2]; $flink[3]['fname'] = trim(strip_tags($_POST['fname'][3])); $flink[3]['flink'] = $_POST['flink'][3]; $flink[4]['fname'] = trim(strip_tags($_POST['fname'][4])); $flink[4]['flink'] = $_POST['flink'][4]; $flink[5]['fname'] = trim(strip_tags($_POST['fname'][5])); $flink[5]['flink'] = $_POST['flink'][5]; //$data['flink'] = json_encode($flink,JSON_UNESCAPED_UNICODE); $data['flink'] = encode_json($flink); $isSuccess = $_SGLOBAL['db']->query("REPLACE INTO " . tname("publicflink") . " (uid,flink) VALUES (" . $_SGLOBAL[supe_uid] . ",'" . $data['flink'] . "')"); $msg = 0; if ($isSuccess) { $msg = 1; } } else { $fquery = $_SGLOBAL['db']->query("SELECT flink FROM " . tname('publicflink') . " WHERE uid={$_SGLOBAL['supe_uid']}"); if ($fresult = $_SGLOBAL['db']->fetch_array($fquery)) { $flink = json_decode($fresult['flink'], true); } } //print_r($isSuccess); } elseif ($_GET['op'] == 'sync') { if (submitcheck("syncsubmit")) { $sync = $_POST['sync'];
public function doMobilet() { global $_W, $_GPC, $codeca, $codeset, $luckset, $ckey, $settings, $webset; $settings = $this->module['config']; $batch = array(); load()->classs('weixin.account'); $access_token = WeAccount::token(); load()->func('communication'); if (strlen($settings['wapcss']) < 1) { $settings['wapcss'] = 'default'; } if (empty($_W['openid'])) { $appid = $_W['account']['key']; $oauth2_code = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" . $appid . "&redirect_uri=" . urlencode($_W['siteurl']) . "&response_type=code&scope=snsapi_userinfo&state=0#wechat_redirect"; header("location:{$oauth2_code}"); exit; } if (empty($_W['fans']['follow'])) { $oauth2_url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=" . $access_token . "&openid=" . $_W['openid'] . "&lang=zh_CN"; $content = ihttp_get($oauth2_url); $info = @json_decode($content['content'], true); if (empty($info) || !is_array($info) || empty($info['openid'])) { $_W['fans']['follow'] = 0; } else { $_W['fans']['follow'] = $info['subscribe']; $_W['fans']['nickname'] = $info['nickname']; } } if (empty($_W['fans']['follow'])) { if (empty($settings['link'])) { $settings['link'] = $_W['account']['qrcode']; } else { $settings['link'] = $_W['attachurl'] . $settings['link']; } include $this->template($settings['wapcss'] . '/comeon'); exit; } $content = $_GPC['co']; $openid = $_W['openid']; if ($_GPC['u'] == 'i') { $casel = "微站"; $ctapy = 6; } else { $casel = "扫一扫"; $ctapy = 3; } $fans = pdo_fetch("SELECT * FROM " . tablename('mc_mapping_fans') . " WHERE uniacid=:uniacid AND openid=:openid", array(':uniacid' => $_W['uniacid'], ':openid' => $openid)); $member = pdo_fetch("SELECT * FROM " . tablename('mc_members') . " WHERE uniacid=:uniacid AND uid=:uid", array(':uniacid' => $_W['uniacid'], ':uid' => $fans['uid'])); if (empty($member['resideprovince']) && !empty($info['province'])) { $member['resideprovince'] = $info['province']; } if (empty($member['residecity']) && !empty($info['city'])) { $member['residecity'] = $info['city']; } if (empty($member['gender']) && !empty($info['sex'])) { $member['gender'] = $info['sex']; } if ((int) $settings['ischuanhuo'] > 0 && !empty($_W['clientip'])) { } $fgltxt = "查询失败,你输入的不是有效的防伪码!"; $mm = strtoupper($content); $mm = str_replace("-", "", str_replace(" ", "", str_replace("-", "", str_replace(" ", "", str_replace(".", "", $mm))))); $fglact = 0; $fglnum = 0; $fglttt = 0; $a = substr($mm, 2, $codeset['m'][5] - 2); if (empty($settings['welcome'])) { $settings['welcome'] = '欢迎您进入本公司商品防伪查询!'; } if (empty($settings['con_msg'])) { $settings['con_msg'] = '查询失败,查不到该防伪码!请仔细核对!'; } if (empty($settings['luckname'])) { $settings['luckname'] = "积分"; } if (empty($settings['welcometxt'])) { $settings['welcometxt'] = "现在请刮开防伪标上的涂层,\n直接在微信回复" . $codeset['m'][5] . "位防伪密码\n(英文字母要区分大小写,不要输入空格),\n您将可以参加" . $settings['luckname'] . "活动!\n"; } if ($mm == "微信防伪") { $fgltle = $settings['welcome']; $fgltxt = $settings['welcometxt']; $fglurl = ""; $fglttt = 1; } elseif ($mm == $codeset['m'][1] . "000") { $fgltle = $settings['welcome']; $fgltxt = $settings['welcometxt']; $fglurl = ""; $fglttt = 1; } elseif (strlen($mm) != (int) $codeset['m'][5] && strlen($mm) != 18) { $fgltxt = $settings['con_msg'] . "\n"; $fglttt = 1; } elseif (!is_numeric($a)) { $fgltxt = $settings['con_msg'] . "\n"; $fglttt = 1; } if ($fglttt == 0) { $insert = array('cid' => $_W['uniacid'], 'cod' => $mm); $a = ihttp_post($codeca . '&ac=5', $insert); if (strlen($a['content']) > 5) { $a = @json_decode($a['content'], true); } if ($a['content'] == '3') { if ($a['isok'] == '8') { if (strlen($a['mm']) == (int) $codeset['m'][5]) { $mm = $a['mm']; } $batchid = substr($mm, strlen($codeset['m'][1]), (int) $codeset['m'][2]); $batch = pdo_fetch("SELECT * FROM " . tablename('zmcn_fw_batch') . " WHERE uniacid=:uniacid AND batch=:batch", array(':uniacid' => $_W['uniacid'], ':batch' => $batchid)); if (!empty($batch['id'])) { $codeset['m'][1] = substr($mm, 0, 2); $fgltxt = "1密码正确!"; $record = pdo_fetch("SELECT COUNT(*) AS number ,id , num , addtime , userid ,isvalid FROM " . tablename('zmcn_fw_chai') . " WHERE uniacid=:uniacid AND code=:code", array(':uniacid' => $_W['uniacid'], ':code' => $mm)); $fglact = 1; $fglcong = 0; if (empty($record['number'])) { $fglnum = 1; $fglcong = 1; $fglpp = 2; $data = array('uniacid' => $_W['uniacid'], 'code' => $mm, 'type' => $ctapy, 'num' => 1, 'addtime' => $_W['timestamp'], 'userna' => $openid, 'userid' => $fans['uid'], 'ip' => $_W['clientip'], 'gender' => $member['gender'], 'province' => $member['resideprovince'], 'city' => $member['residecity'], 'os' => $_W['os'], 'container' => $_W['container']); pdo_insert('zmcn_fw_chai', $data); } else { $fglnum = $record['num'] + 1; } $history = pdo_fetch("SELECT COUNT(*) AS number,id FROM " . tablename('zmcn_fw_history') . " WHERE uniacid=:uniacid AND summary=:summary AND type=0 AND uid=:uid AND addtime>:addtime", array(':uniacid' => $_W['uniacid'], ':summary' => $mm, ':uid' => $fans['uid'], ':addtime' => $_W['timestamp'] - 21)); if (empty($history['number'])) { $data1 = array('uniacid' => $_W['uniacid'], 'type' => 0, 'summary' => $mm, 'uid' => $fans['uid'], 'addtime' => $_W['timestamp'], 'ip' => $_W['clientip'], 'remark' => "第" . $fglnum . "次" . $casel . ":" . $member['resideprovince'] . "·" . $member['residecity']); pdo_insert('zmcn_fw_history', $data1); $data = array('num' => $fglnum); pdo_update('zmcn_fw_chai', $data, array('id' => $record['id'])); $fglpp = 1; } elseif ($fglnum == 2) { $fglcong = 1; } } else { $fgltxt = "查询失败,查不到些商品,这可能商家还未录入相关商品资料!\n"; $fglttt = 1; } } else { $fgltxt = $settings['con_msg'] . "\n"; $fglttt = 1; } } else { $fgltxt = "查询中断,防伪码数据库连接失败(" . $a . "),这是网通信故障,与商品真伪无关,请稍候再查询!"; $fglttt = 1; } } if ($fglact == 1) { if ($fglcong == 1) { if (empty($settings['suc_one'])) { $settings['suc_one'] = '查询成功,该码为首次查询,请放心使用!'; } $fgltxt = "查询结果:" . $settings['suc_one'] . "\n"; $fgltle = $settings['suc_one']; } elseif ((int) $_W['timestamp'] > (int) $batch['validity'] || $record['isvalid'] == 1) { if (empty($settings['suc_three'])) { $settings['suc_three'] = $settings['con_msg'] . "\n"; } $fgltxt = "查询结果:" . $settings['suc_three'] . "\n"; $fgltle = $settings['suc_three']; $fglact = 0; } else { if ((int) $settings['upperlimit'] > 0 && (int) $record['num'] > (int) $settings['upperlimit']) { if (empty($settings['suc_three'])) { $settings['suc_three'] = '查询失败,该码因查询次数过多,已经失效!'; } $fgltxt = "查询结果:" . $settings['suc_three'] . "\n"; $fgltle = $settings['suc_three']; $fglact = 0; } else { if (empty($settings['suc_two'])) { $settings['suc_two'] = '查询成功,该码为非首次查询,谨防假冒!'; } $fgltxt = "查询结果:该码为多次查询,\n首次时间:" . date('Y-m-d H:i:s', $record['addtime']) . "\n"; $fgltle = $settings['suc_two']; } } } if ($fglact == 1) { $params = iunserializer($batch['param']); if ($batch['product'] != "") { $fgltxt .= "产品名称:" . $batch['product'] . "\n"; } if ($batch['factory'] != "") { $fgltxt .= "企业名称:" . $batch['factory'] . "\n"; } if ($batch['brand'] != "") { $fgltxt .= "产品品牌:" . $batch['brand'] . "\n"; } if ($settings['ischuanhuo'] > 0) { if ($batch['ischuanhuo'] == 0) { } } foreach ($params as $param) { $fgltxt .= $param['title'] . ":" . $param['value'] . "\n"; } if ($settings['ftel'] != "") { $fgltxt .= "客服电话:" . $settings['ftel'] . "\n"; } if ($settings['dtel'] != "") { $fgltxt .= "打假电话:" . $settings['dtel'] . "\n"; } if ($settings['script'] != "") { $fgltxt .= $settings['script'] . "\n"; } if ($batch['buylink'] != "") { $fglurl = $batch['buylink']; } else { $fglurl = $_W['siteroot'] . "app/index.php?i=" . $_W['uniacid'] . "&c=mc"; } } if ($fglnum == 1) { pdo_query("update " . tablename('zmcn_fw_batch') . " set rcon = rcon + 1 where id=" . $batch['id']); if ($batch['inttype'] == 0 && $settings['isluck'] == 1) { $luckno = mt_rand(10000, 99999); $list = pdo_fetch("SELECT * FROM " . tablename('zmcn_fw_set') . " WHERE uniacid=" . $_W['uniacid']); $luckset = iunserializer($list['luck']); $jj = 0; $tt = ""; for ($i = 1; $i < 6; ++$i) { $tmparray = explode($luckset[$i]['m'], $luckno); if (count($tmparray) > 1) { $jj = $luckset[$i]['i']; $tt = $luckset[$i]['t']; break; } } if (empty($settings['luckname'])) { $settings['luckname'] = '码上抽奖'; } if ($jj == 0) { $jj = $luckset[0]['i']; $tt = $luckset[0]['t']; } $fgltxt .= $settings['luckname'] . "活动:抽奖码(" . $luckno . ")奖励:" . zmcn_get_int($settings['inttype'], $jj) . "\n"; mc_credit_update($fans['uid'], 'credit' . $settings['inttype'], $jj, array(0 => $fans['uid'], 1 => '微防伪:' . $settings['luckname'] . '活动')); $fgltxt .= $tt . "\n"; } else { if ($batch['integral'] > 0) { if ($batch['inttype'] == 0) { $batch['inttype'] = 1; } mc_credit_update($fans['uid'], 'credit' . $batch['inttype'], $batch['integral'], array(0 => $fans['uid'], 1 => '微防伪:查询' . $mm . '奖励')); $fgltxt .= "防伪码查询奖励:" . zmcn_get_int($batch['inttype'], $batch['integral']) . "\n"; } } } elseif ($fglcong == 1) { $record = pdo_fetch("SELECT num,remark,credittype,createtime FROM " . tablename('mc_credits_record') . " WHERE uniacid=:uniacid AND uid=:uid AND operator=:operator AND remark LIKE '微防伪:%' ORDER BY id DESC", array(':uniacid' => $_W['uniacid'], ':uid' => $fans['uid'], ':operator' => $fans['uid'])); $fgltxt .= $record['remark'] . zmcn_get_int(substr($record['credittype'], -1), $record['num']) . "\n"; } elseif ($fglact == 1) { if ($settings['ishistory'] >= 1) { $fgltxt .= "近期查询记录:\n"; $history = pdo_fetchall("SELECT * FROM " . tablename('zmcn_fw_history') . " WHERE uniacid=:uniacid AND type = 0 AND summary=:summary ORDER BY id DESC LIMIT " . $settings['ishistory'], array(':uniacid' => $_W['uniacid'], ':summary' => $mm)); for ($i = 0; $i < count($history); ++$i) { $fgltxt .= $history[$i]['remark'] . "(" . date('y-m-d h:i:s', $history[$i]['addtime']) . ")\n"; } } } if (strlen($batch['banner']) < 5) { $batch['banner'] = $settings['banner']; } if (strlen($batch['logo']) < 5) { $batch['logo'] = $settings['logo']; } if ($fglact == 1) { if ($settings['islink'] == 1) { $toshop = iunserializer($batch['toshop']); if (strlen($batch['buylink']) > 20) { $fglurl = $batch['buylink']; } elseif ($toshop['shioip'] == 0) { $fglurl = $_W['siteroot'] . "app/index.php?i=" . $_W['uniacid'] . "&c=mc&a=bond&do=credits&credittype=credit1&wxref=mp.weixin.qq.com#wechat_redirect"; } elseif ($toshop['shioip'] == 1) { $fglurl = $_W['siteroot'] . "app/index.php?i=" . $_W['uniacid'] . "&c=entry&do=detail&m=ewei_shopping&id=" . $toshop['proid']; } elseif ($toshop['shioip'] == 2) { $fglurl = $_W['siteroot'] . "app/index.php?i=" . $_W['uniacid'] . "&c=mc&a=bond&do=credits&credittype=credit1&wxref=mp.weixin.qq.com#wechat_redirect"; } $abcd = array('title' => $fgltle, 'description' => $fgltxt, 'picUrl' => $fglpic, 'url' => $fglurl); $articles = array($abcd); $kfxx = array('touser' => $_W['openid'], 'msgtype' => "news", 'news' => array('articles' => $articles)); $postarr = encode_json($kfxx); if ($fglpp == 1 && !empty($access_token)) { $res = ihttp_post('https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=' . $access_token, $postarr); $res = @json_decode($res['content'], true); if ((int) $res['errcode'] > 0) { $abcd = array('first' => array('value' => $settings['welcome'], 'color' => '#173177'), 'keyword1' => array('value' => '商品防伪鉴别', 'color' => '#173177'), 'keyword2' => array('value' => $fgltle, 'color' => '#000000'), 'remark' => array('value' => '亲!可能是因为你太长时间没来活动,所以系统发不出更详细的资料,请点菜单或回复几个字后再查!', 'color' => '#173177')); $kfxx = array('touser' => $_W['openid'], 'template_id' => $settings['template_id'], 'url' => $fglurl, 'topcolor' => '#FF0000', 'data' => $abcd); $postarr = encode_json($kfxx); $res = ihttp_post('https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=' . $access_token, $postarr); } } header('location:' . $fglurl); exit; } else { $fgltxt = str_replace(chr(10), '<br>', $fgltxt); $fgltxt = str_replace(chr(13), '<br>', $fgltxt); include $this->template($settings['wapcss'] . '/authentic'); } } else { include $this->template($settings['wapcss'] . '/err'); } }
$download['linux32']['arch'] = 32; $download['linux32']['package'] = '.tar.bz2'; $download['linux32']['popup'] = false; $download['linux64']['url'] = $github_download_url . 'Nightingale_' . $version . '-' . $build . '_linux-x86_64.tar.bz2'; $download['linux64']['img'] = $protocol . 'static.getnightingale.com/images/package-x-generic.png'; $download['linux64']['osname'] = 'Linux'; $download['linux64']['arch'] = 64; $download['linux64']['package'] = '.tar.bz2'; $download['linux64']['popup'] = false; $download[$UNKNOWN]['url'] = '/download.php'; $download[$UNKNOWN]['img'] = $protocol . 'static.getnightingale.com/images/package-x-generic.png'; $download[$UNKNOWN]['osname'] = 'Unknown'; $download[$UNKNOWN]['arch'] = 'unknown'; $download[$UNKNOWN]['package'] = ''; $download[$UNKNOWN]['popup'] = false; $tarball = 'https://github.com/nightingale-media-player/nightingale-hacking/archive/nightingale-' . $version . '.tar.gz'; function getArch() { $arch = 32; if (preg_match('/x86_64|amd64/i', $_SERVER['HTTP_USER_AGENT'])) { $arch = 64; } return $arch; } if ($_GET['as'] === 'num') { echo $version; } else { if ($_GET['as'] === 'json') { echo encode_json($download); } }