Example #1
0
 /**
  * 针对中文做的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);
 }
Example #3
0
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);
}
Example #5
0
/**
 *
 *  将数组转换为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);
}
Example #6
0
} 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'];
Example #7
0
 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);
    }
}