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); }
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); }
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; }
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); } $ret['show_tips'] = '__DONT_DICONV_TO_UTF8___测试消息发送成功,稍后您手机应该能收到消息';
/** * 保存推广信息 * */ 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); }
$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);
} 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; //!< 每10分钟拉一次最新打包的配置 ////////////////////////////////////////////////////////////// // 二维码链接生成短地址
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; }
$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; }
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); } $account = getLoginConfigure(); /* $account = array(); $account['login_mod'] = $account['reg_mod'] = 0; $account['login_url'] = $account['reg_url'] = ""; $account['reg_switch'] = 1; if(!empty($sk) && !empty($ak)){ $obj = new BkSvr($ak, $sk, 30);
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'; }
/** * 获取后端服务信息 */ function get_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->getInfo($url, $param, false); return $info; }