Example #1
0
function readRemoteAkSk()
{
    global $_G;
    $siteUrl = null;
    $adminEmail = '';
    $bbsName = '';
    if (isset($_G['siteurl'])) {
        $siteUrl = $_G['siteurl'] . 'api/mobile/iyz_index.php';
        $siteUrl = str_replace('api/mobile/api/mobile/', 'api/mobile/', $siteUrl);
    }
    if (isset($_G['setting']['adminemail'])) {
        $adminEmail = $_G['setting']['adminemail'];
    }
    if (isset($_G['setting']['bbname'])) {
        $bbsName = $_G['setting']['bbname'];
    }
    if (empty($siteUrl)) {
        showmessage(lang('plugin/bigapp', 'no_site_url'), '', array(), array('alert' => 'error'));
    }
    $obj = new BkSvr(1, 2, 30);
    //fake ak/sk
    $aksk = $obj->getInfo(BigAppConf::$ucRegUrl, array('method' => 'regist', 'site_url' => $siteUrl, 'bbs_name' => $bbsName, 'admin_email' => $adminEmail));
    if (isset($aksk['app_key']) && isset($aksk['app_secret'])) {
        $ak = $aksk['app_key'];
        $sk = $aksk['app_secret'];
    }
    if (empty($ak) || empty($sk)) {
        showmessage(lang('plugin/bigapp', 'get_ak_sk_fail'));
    }
    return array($ak, $sk);
}
Example #2
0
 public static function sendMessage($params)
 {
     $paramRet = json_encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100801, 'error_msg' => 'invalid param', 'show_tips' => '参数错误'));
     $authRet = json_encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100802, 'error_msg' => 'auth failed', 'show_tips' => '必须是管理员帐号才可执行此操作'));
     $akskRet = json_encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100803, 'error_msg' => 'auth failed', 'show_tips' => '您尚未在应用设置中填写jpush的appkey或master_secret,无法发送消息'));
     $svrRet = json_encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100804, 'error_msg' => 'internal server error', 'show_tips' => '服务器内部错误'));
     $aliasRet = json_encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100805, 'error_msg' => 'invalid alias', 'show_tips' => '请在网络良好的环境下开启客户端'));
     $jpushkeyRet = json_encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100806, 'error_msg' => 'jpush key lost', 'show_tips' => '请申请您自己的JpushKey并在生成应用填写该key'));
     $reqparams = self::$default_reqpack;
     if (isset($params["alias"])) {
         $reqparams["alias"] = $params["alias"];
     }
     if (isset($params["message_type"])) {
         $reqparams["message_type"] = $params["message_type"];
     }
     if (isset($params["mask"])) {
         $reqparams["mask"] = $params["mask"];
     }
     if (isset($params["title"])) {
         $reqparams["title"] = $params["title"];
     }
     if (isset($params["content"])) {
         $reqparams["content"] = $params["content"];
     }
     if (isset($params["extra"])) {
         $reqparams["extra"] = $params["extra"];
     }
     if (isset($params["istest"])) {
         $reqparams["istest"] = $params["istest"];
     }
     $aksk = BigappEnv::getAkSk();
     $ak = $aksk["ak"];
     $sk = $aksk["sk"];
     $obj = new BkSvr($ak, $sk, 30);
     $ret = $obj->getInfo(BigAppConf::$pushUrl, $reqparams, false, false);
     if (false === $ret || 0 != $ret['error_code']) {
         if (100020 == $ret['error_code']) {
             $aliasRet['show_tips'] .= '并以' . $_G['username'] . '帐号登录,然后重试';
             $aliasRet = BIGAPPJSON::encode($aliasRet);
             return $aliasRet;
         }
         if (100021 == $ret['error_code']) {
             return $akskRet;
         }
         if (100022 == $ret['error_code']) {
             return $jpushkeyRet;
         }
         return $svrRet;
     }
     C::t("#bigapp#bigapp_push_message")->save($reqparams);
     return json_encode($ret);
 }
Example #3
0
 public static function sendMessage($uid, $title, $content, $msgType, $extra = null, $mask = 3, $jpushAk = null, $jpushSk = null)
 {
     global $_G;
     $tmp = Utils::readLocalAkSk2();
     if (!isset($tmp['app_key']) || !isset($tmp['app_secret'])) {
         return false;
     }
     $ak = $tmp['app_key'];
     $sk = $tmp['app_secret'];
     $appInfo = self::getAppInfo($ak, $sk);
     if (!isset($appInfo['app_id'])) {
         return false;
     }
     $appId = $appInfo['app_id'];
     $alias = sprintf('%020lu%020lu', $appId, $uid);
     $params = array('alias' => $alias, 'mask' => $mask, 'message_type' => $msgType, 'title' => $title, 'content' => $content);
     if (is_array($extra)) {
         $params['extra'] = BIGAPPJSON::encode($extra);
     }
     if (!is_null($jpushAk) && !is_null($jpushSk)) {
         $params['jpush_app_key'] = $jpushAk;
         $params['jpush_master_secret'] = $jpushSk;
     }
     $url = BigAppConf::$pushUrl;
     $obj = new BkSvr($ak, $sk, 30);
     $ret = $obj->getInfo($url, $params, false, false);
     if (!is_array($ret)) {
         runlog('bigapp', 'send message failed, invalid return [ ret: ' . $ret . ' ]');
         return false;
     }
     if (0 != $ret['error_code']) {
         runlog('bigapp', 'send message failed, error code is not 0 [ ret: ' . BIGAPPJSON::encode($ret) . ' ]');
         return $ret;
     }
     return true;
 }
Example #4
0
require_once dirname(__FILE__) . '/conf/conf.inc.php';
require_once dirname(__FILE__) . '/libs/env.inc.php';
$paramRet = BIGAPPJSON::encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100801, 'error_msg' => 'invalid param', 'show_tips' => '__DONT_DICONV_TO_UTF8___参数错误'));
$authRet = BIGAPPJSON::encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100802, 'error_msg' => 'auth failed', 'show_tips' => '__DONT_DICONV_TO_UTF8___必须是管理员帐号才可执行此操作'));
$akskRet = BIGAPPJSON::encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100803, 'error_msg' => 'auth failed', 'show_tips' => '__DONT_DICONV_TO_UTF8___您尚未在应用设置中填写jpush的appkey或master_secret,无法发送测试消息'));
$svrRet = BIGAPPJSON::encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100804, 'error_msg' => 'internal server error', 'show_tips' => '__DONT_DICONV_TO_UTF8___服务器内部错误'));
$aliasRet = array('request_id' => rand(1000000, 10000000000), 'error_code' => 100805, 'error_msg' => 'invalid alias', 'show_tips' => '__DONT_DICONV_TO_UTF8___请在网络良好的环境下开启客户端');
header('Content-Type: text/html; charset=utf-8');
if (!isset($_G['groupid']) || 1 != $_G['groupid']) {
    echo $authRet;
    die(0);
}
$aksk = BigappEnv::getAkSk();
$ak = $aksk["ak"];
$sk = $aksk["sk"];
$obj = new BkSvr($ak, $sk, 30);
$ret = $obj->getInfo(BigAppConf::$pushUrl, $_GET, false, false);
if (false === $ret || 0 != $ret['error_code']) {
    if (100020 == $ret['error_code']) {
        $aliasRet['show_tips'] .= '并以' . $_G['username'] . '帐号登录,然后重试';
        $aliasRet = BIGAPPJSON::encode($aliasRet);
        echo $aliasRet;
        die(0);
    }
    if (100021 == $ret['error_code']) {
        echo $akskRet;
        die(0);
    }
    echo $svrRet;
    die(0);
}
Example #5
0
 /**
  * 保存推广信息
  * 
  */
 public function mobile_api()
 {
     $params = array("title" => $_POST["title"], "iosurl" => $_POST["ios_url"], "appdesc" => $_POST["appdesc"], "mobile_app_image" => $_POST["mobile_app_image"]);
     $webroot = explode("/", BIGAPP_ROOT);
     $plugin_name = $webroot[sizeof($webroot) - 1];
     $plugin_path = get_bloginfo('siteurl') . '/wp-content/plugins/' . $plugin_name . '/admin';
     $auth_info = BigAppAdminModel::get_bigapp_ak_info();
     $obj = new BkSvr($auth_info['ak'], $auth_info['sk'], 30);
     $appInfo = $obj->getInfo(BigAppConf::$appInfoUrl, array('method' => 'get_basic'));
     $app_id = isset($appInfo['app_id']) ? $appInfo['app_id'] : 0;
     $ret = $obj->getInfo(BigAppConf::$taskInfoUrl, array('app_id' => $app_id, 'method' => 'get_latest'), false);
     if (false !== $ret && isset($ret["data"])) {
         $params["icon_img"] = $ret["data"]["task_info"]["icon_image"];
         $params["appname"] = $ret["data"]["task_info"]["app_name"];
     }
     if ($params["icon_img"] == "") {
         $params["icon_img"] = $plugin_path . "/img/logo.png";
     }
     if ($params["appname"] == "") {
         $params["appname"] = "bigapp";
     }
     $params["pagetitle"] = $params["appname"] . $params["title"];
     //!< 每10分钟拉一次最新打包的配置
     $params["dateline"] = time() + 600;
     // 二维码链接生成短地址
     $bigapp_page_alias = BigAppConf::$page_alias;
     $downurl = get_bloginfo('siteurl') . '/?yz_app=1&api_route=admin_api&action=mobile_page&method=down';
     $params["downurl"] = bigapp_admin_api::createShortUrl($downurl);
     $pstr = json_encode($params);
     $svalue = str_replace("\\u", "#u", $pstr);
     update_option("bigapp_extend_setting", $svalue);
 }
Example #6
0
    $sk = $aksk["sk"];
    $appInfo = BigappEnv::getAppInfoFromBigstation();
}
$paramRet = BIGAPPJSON::encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100802, 'error_msg' => 'invalid param'));
$authRet = BIGAPPJSON::encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100803, 'error_msg' => 'auth failed'));
$svrRet = BIGAPPJSON::encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100800, 'error_msg' => 'internal server error'));
if (!isset($_G['groupid']) || 1 != $_G['groupid']) {
    echo $authRet;
    die(0);
}
if (!isset($_GET['method']) || !isset(BigAppConf::$statApis[$_GET['method']])) {
    echo $paramRet;
    die(0);
}
$url = BigAppConf::$statApis[$_GET['method']];
if ('days_trend' == $_GET['method'] && (!isset($_GET['from_day']) || !isset($_GET['end_day']) || !isset($_GET['item']))) {
    echo $paramRet;
    die(0);
}
$params = array();
if ('days_trend' == $_GET['method']) {
    $params = array('from_day' => $_GET['from_day'], 'end_day' => $_GET['end_day'], 'item' => $_GET['item']);
}
$obj = new BkSvr($ak, $sk, 30);
$ret = $obj->getInfo($url, $params, false);
if (false === $ret) {
    echo $svrRet;
    die(0);
}
echo BIGAPPJSON::encode($ret);
die(0);
Example #7
0
if (!defined('IN_DISCUZ')) {
    exit('Access Denied');
}
require_once dirname(__FILE__) . '/libs/env.inc.php';
$paramRet = BIGAPPJSON::encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100802, 'error_msg' => 'invalid param'));
$authRet = BIGAPPJSON::encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100803, 'error_msg' => 'auth failed'));
$svrRet = BIGAPPJSON::encode(array('request_id' => rand(1000000, 10000000000), 'error_code' => 100800, 'error_msg' => 'internal server error'));
if (!isset($_G['groupid']) || 1 != $_G['groupid']) {
    echo $authRet;
    die(0);
}
$params = array("title" => $_POST["title"], "iosurl" => $_POST["ios_url"], "appdesc" => $_POST["appdesc"], "mobile_app_image" => $_POST["mobile_app_image"]);
// 从taskinfo拉取app_icon和app_name
$plugin_path = rtrim($_G['siteurl'], '/') . '/source/plugin/bigapp';
$obj = new BkSvr($ak, $sk, 30);
$url = BigAppConf::$taskInfoUrl;
$app_id = isset($appInfo['app_id']) ? $appInfo['app_id'] : 0;
$ret = $obj->getInfo($url, array('app_id' => $app_id, 'method' => 'get_latest'), false);
if (false !== $ret && isset($ret["data"])) {
    $params["icon_img"] = $ret["data"]["task_info"]["icon_image"];
    $params["appname"] = $ret["data"]["task_info"]["app_name"];
}
if ($params["icon_img"] == "") {
    $params["icon_img"] = $plugin_path . "/static/logo.png";
}
if ($params["appname"] == "") {
    $params["appname"] = "bigapp";
}
$params["title"] = $params["appname"] . $params["title"];
$params["dateline"] = time() + 600;
Example #8
0
 public static function remoteVerifyAfterSaveAksk()
 {
     /*{{{*/
     $aksk = self::getAkSk();
     $params = array("api_url" => self::getApiUrl(), "site_type" => "discuz");
     $obj = new BkSvr($aksk["ak"], $aksk["sk"], 30);
     $url = BigAppConf::$mcapis["autoverify"];
     $ret = $obj->getInfo($url, $params, false);
     if (false !== $ret && isset($ret["data"])) {
         return $ret["data"]["check_status"];
     }
     return 0;
 }
Example #9
0
} else {
    $siteurl = substr($_G["siteurl"], 0, -11);
    $qqloginurl = $siteurl . "source/plugin/bigapp/api/qqconnect/connect.php?mod=login&op=init&referer=forum.php&statfrom=login_simple";
    $qqlogin_end_url = $siteurl . "source/plugin/bigapp/api/qqconnect/connect.php?platform=qq";
    $config['qqlogin'] = $qqloginurl;
    $config['qqlogin_end'] = $qqlogin_end_url;
}
$config["wechat_login"] = $appcfg["wechat_login"];
$config["weibo_login"] = $appcfg["weibo_login"];
$config["weibo_login"] = 0;
// add appinfo
require_once dirname(__FILE__) . '/../../conf/conf.inc.php';
require_once dirname(__FILE__) . '/../../libs/utils.inc.php';
require_once dirname(__FILE__) . '/../../libs/bksvr.inc.php';
require_once dirname(__FILE__) . '/../../libs/getaksk.inc.php';
$obj = new BkSvr($ak, $sk, 30);
$appInfo = $obj->getInfo(BigAppConf::$appInfoUrl, array('method' => 'get_basic'));
$config["appinfo"] = array("app_id" => $appInfo["app_id"]);
///////////////////////////////////////////////////////
$succRet['data'] = C::t('common_setting')->fetch("bigapp_settings_checkin", true);
$config['checkin_enabled'] = strval(isset($succRet['data']['enabled']) ? $succRet['data']['enabled'] : 0);
########################################################
function getPushStat()
{
    global $_G;
    updatecache('setting');
    if (isset($_G['setting']['bigapp_push_config'])) {
        $_G['setting']['bigapp_push_config'] = unserialize($_G['setting']['bigapp_push_config']);
    }
    if (!isset($_G['setting']['bigapp_push_config']['push_enabled'])) {
        $_G['setting']['bigapp_push_config']['push_enabled'] = 0;
Example #10
0
* @Brief account setting for admin center
* @author youzu
* @version 1.0.0
* @date 2015-07-07
*/
if (!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
    exit('Access Denied');
}
require_once dirname(__FILE__) . '/libs/menu.inc.php';
require_once dirname(__FILE__) . '/libs/verify.inc.php';
require_once dirname(__FILE__) . '/libs/appcfg.inc.php';
if (submitcheck('account')) {
    ///////////////////////////////////////////
    // 暂时保留后台接口
    if (!empty($sk) && !empty($ak)) {
        $obj = new BkSvr($ak, $sk, 30);
        $params = array('method' => 'set');
        $account['login_mod'] = $_REQUEST['account_login_mod'];
        $account['login_url'] = $_REQUEST['account_login_url'];
        $account['reg_mod'] = $_REQUEST['account_reg_mod'];
        $account['reg_url'] = $_REQUEST['account_reg_url'];
        $account['reg_switch'] = $_REQUEST['account_reg_switch'];
        $account['allow_avatar_change'] = $_REQUEST['allow_avatar_change'];
        $params['value'] = json_encode($account);
        $appInfo = $obj->getInfo(BigAppConf::$accountSetUrl, $params);
        runlog('bigapp', "post account info [ params: " . json_encode($params) . " ]");
    }
    ///////////////////////////////////////////
    saveLoginConfigure($account);
    cpmsg('plugins_edit_succeed', 'action=plugins&operation=config&do=' . $pluginid . '&identifier=bigapp&pmod=account', 'succeed');
    die(0);
Example #11
0
echo '<link rel="stylesheet" href="' . rtrim($_G['siteurl'], '/') . '/source/plugin/bigapp/css/evol.colorpicker.css"/>';
echo '<script src="' . rtrim($_G['siteurl'], '/') . '/source/plugin/bigapp/js/evol.colorpicker.js"></script>';
//add for plugin upgrading
if (isset($appInfo['remind']) && (1 == $appInfo['remind'] || 2 == $appInfo['remind'])) {
    if (function_exists('iconv')) {
        $msg = iconv('UTF-8', CHARSET . '//ignore', $appInfo['remind_message']);
    } else {
        $msg = mb_convert_encoding($appInfo['remind_message'], CHARSET, 'UTF-8');
    }
    showtips($msg, '', true, lang('plugin/bigapp', 'plugin_interface_upgrade'));
    if (2 == $appInfo['remind']) {
        die(0);
    }
}
if (!empty($sk) && !empty($ak)) {
    $obj = new BkSvr($ak, $sk, 30);
    $appInfo = $obj->getInfo(BigAppConf::$appInfoUrl, array('method' => 'get_basic'));
    $shareSettingInfo = $obj->getInfo(BigAppConf::$shareUrl, array('app_id' => $appInfo['app_id']), false);
    if (!is_array($appInfo)) {
        runlog('bigapp', "get app info failed [ ak: {$ak}, sk: {$sk} ]");
        Utils::jumpToLogin('invalid_aksk', 'buildapp');
    }
    if (submitcheck('newtask')) {
        runlog('bigapp', 'try to create a new task');
        $param = prepCreateTask();
        $param['app_id'] = $appInfo['app_id'];
        $param['task_id'] = $_REQUEST['task_id'];
        if (isset($_REQUEST['choose_release'][0]) && $_REQUEST['choose_release'][0] == 0) {
            $param['choose_release'] = '1';
        } else {
            $param['choose_release'] = '0';
Example #12
0
function get_post_info_from_api($url, $param, $checkRes = true)
{
    $ak_sk = json_decode(get_option(BigAppConf::$option_ak_sk), true);
    $bk = new BkSvr($ak_sk['ak'], $ak_sk['sk']);
    $info = $bk->getInfoByPost($url, $param, $checkRes);
    return $info;
}