index.php 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | EaseTHINK 易想团购系统 mapi 插件
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2010 http://www.fanwe.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. //define('APP_ROOT','zhongc');
  8. define("FANWE_REQUIRE",true);
  9. require './lib/core/mapi_function.php';
  10. require '../public/directory_init.php';
  11. $_REQUEST['ctl'] = filter_ma_request_mapi($_REQUEST['ctl']);
  12. $_REQUEST['act'] = filter_ma_request_mapi($_REQUEST['act']);
  13. $class = strtolower(strim_mapi($_REQUEST['ctl']))?strtolower(strim_mapi($_REQUEST['ctl'])):"index";
  14. $act = strtolower(strim_mapi($_REQUEST['act']))?strtolower(strim_mapi($_REQUEST['act'])):"index";
  15. $fun_class = $class.'#'.$act;
  16. $itype = filter_ma_request_mapi($_REQUEST['itype']);
  17. if (count($GLOBALS['distribution_cfg']['REDIS_DISTRIBUTION_FUN'])>0&&in_array($fun_class,$GLOBALS['distribution_cfg']['REDIS_DISTRIBUTION_FUN'])&&($itype=='lib'||$itype=='')) {
  18. require '../system/mapi_init_distribution.php';
  19. }else{
  20. require '../system/mapi_init.php';
  21. }
  22. //数据解密
  23. $_REQUEST['i_type'] = filter_ma_request_mapi($_REQUEST['i_type']);
  24. global $encrypt;
  25. $encrypt['ctl'] = $class;
  26. $encrypt['act'] = $act;
  27. $sdk_version_name = strim($_REQUEST['sdk_version_name']);
  28. $encrypt['sdk_version_name'] = $sdk_version_name;
  29. $encrypt['i_type'] = intval(strim_mapi($_REQUEST['i_type']))?intval(strim_mapi($_REQUEST['i_type'])):0;
  30. if($encrypt['i_type']){
  31. aes_request_decode();
  32. }
  33. /*
  34. * 若 $fun_class 有在 $GLOBALS['distribution_cfg']['REDIS_DISTRIBUTION_FUN'],则调用 简单模式,只加载基本的框架,应对高并发
  35. * 设计思路
  36. * 1、随机选择一个只读redis
  37. * 2、从只读只取数据
  38. * 3、读取失败加锁,则再从只读数据库中生成一份缓存数据放在redis中
  39. *
  40. * index#index 热门
  41. * index#new_video 最新
  42. * index#search_area 热门搜索
  43. * video#viewer 房间会员列表
  44. */
  45. if (count($GLOBALS['distribution_cfg']['REDIS_DISTRIBUTION_FUN'])>0&&in_array($fun_class,$GLOBALS['distribution_cfg']['REDIS_DISTRIBUTION_FUN'])&&($itype=='lib'||$itype=='')){
  46. fanwe_require(APP_ROOT_PATH.'mapi/lib/core/common.php');
  47. fanwe_require(APP_ROOT_PATH.'mapi/lib/redis/BaseRedisService.php');
  48. fanwe_require("./lib/base.action.php");
  49. if($_GET["notify_id"]!=''&&$_GET["sign"]!=''){
  50. //支付宝认证
  51. $m_config = load_auto_cache("m_config");//初始化手机端配置
  52. require_once(APP_ROOT_PATH . 'system/AlipayloginApi/aliConnectAPI.php');
  53. $aliConnect = new aliConnectAPI($m_config['alipay_partner'],$m_config['alipay_key']);
  54. $verify_result = $aliConnect->verifyreturn();
  55. if($verify_result) {//验证成功
  56. fanwe_require(APP_ROOT_PATH.'system/utils/es_cookie.php');
  57. fanwe_require(APP_ROOT_PATH.'system/utils/es_session.php');
  58. $cookie_uid = es_cookie::get("user_id")?es_cookie::get("user_id"):'';
  59. $cookie_upwd = es_cookie::get("user_pwd")?es_cookie::get("user_pwd"):'';
  60. if($cookie_uid!=''&&$cookie_upwd!=''&&!es_session::get("user_info"))
  61. {
  62. fanwe_require(APP_ROOT_PATH."system/libs/user.php");
  63. auto_do_login_user($cookie_uid,$cookie_upwd);
  64. }
  65. global $user_info;
  66. $user_info = es_session::get('user_info');
  67. $class = "user_center";
  68. $act = "authent_alipay";
  69. }
  70. }
  71. @fanwe_require(APP_ROOT_PATH."mapi/lib/".$class.".action.php");
  72. $class=$class.'Module';
  73. if(class_exists($class)){
  74. $obj = new $class;
  75. if(method_exists($obj, $act)){
  76. $obj->$act();
  77. }
  78. else{
  79. $error["errcode "] = 10006;
  80. $error["errmsg "] = "接口方法不存在";
  81. ajax_return($error);
  82. }
  83. }
  84. else{
  85. $error["errcode "] = 10005;
  86. $error["errmsg "] = "接口不存在";
  87. ajax_return($error);
  88. }
  89. }else{
  90. $lib = $itype?$itype:'lib';
  91. fanwe_require(APP_ROOT_PATH.'mapi/lib/core/common.php');
  92. //fanwe_require(APP_ROOT_PATH.'mapi/lib/core/mapi_function.php');
  93. fanwe_require(APP_ROOT_PATH.'mapi/lib/redis/BaseRedisService.php');
  94. /*
  95. require_once "../system/cache/Rediscache/Rediscache.php";
  96. $rediscache = new Rediscache($GLOBALS['distribution_cfg']['CACHE_CLIENT'], $GLOBALS['distribution_cfg']['CACHE_PORT'],$GLOBALS['distribution_cfg']['CACHE_PASSWORD']);
  97. define("REDIS_PREFIX", $GLOBALS['distribution_cfg']['REDIS_PREFIX']);
  98. */
  99. //======
  100. //------o2o
  101. if (isset($_FANWE_SAAS_ENV['APP_ID'])&&$_FANWE_SAAS_ENV['APP_ID']!=''){
  102. define("FANWE_APP_ID",$_FANWE_SAAS_ENV['APP_ID']);
  103. define("FANWE_AES_KEY",$_FANWE_SAAS_ENV['APP_SECRET']);
  104. }else {
  105. define("FANWE_APP_ID",FANWE_APP_ID_YM);
  106. define("FANWE_AES_KEY",FANWE_AES_KEY_YM);
  107. }
  108. if ($lib=='o2osdk') {
  109. fanwe_require(APP_ROOT_PATH."system/saas/SAASAPIServer.php");
  110. $appid = FANWE_APP_ID;
  111. $appsecret = FANWE_AES_KEY;
  112. $server = new SAASAPIServer($appid, $appsecret);
  113. $ret = $server->verifyRequestParameters();
  114. if ($ret['errcode'] != 0) {
  115. die($server->toResponse($ret));
  116. }
  117. $data=unserialize($_REQUEST['data']);
  118. $_REQUEST=array_merge($_REQUEST,$data);
  119. $lib='sdk';
  120. }elseif ($lib=='h5shop') {
  121. fanwe_require(APP_ROOT_PATH."system/saas/SAASAPIServer.php");
  122. $appid = FANWE_APP_ID;
  123. $appsecret = FANWE_AES_KEY;
  124. $server = new SAASAPIServer($appid, $appsecret);
  125. $data=json_decode(base64_decode($_REQUEST['_saas_params']),1);
  126. $ret = $server->verifyRequestParameters($data);
  127. if ($ret['errcode'] != 0) {
  128. die($server->toResponse($ret));
  129. }
  130. $_REQUEST=array_merge($_REQUEST,$data);
  131. $lib='h5shop';
  132. }elseif ($lib=='wx') {
  133. //微信登陆
  134. }
  135. //临时处理 音乐歌词 有 select[\s])|(insert[\s])|(update[\s])|(delete[\s])|(from[\s])|(where[\s]) 被过滤问题
  136. if($_REQUEST['act']=='add_music' || $_REQUEST['act']=='search'){
  137. $lrc_content = $_REQUEST['lrc_content'];
  138. $audio_name = $_REQUEST['audio_name'];
  139. $keyword = $_REQUEST['keyword'];
  140. unset($_REQUEST['lrc_content']);
  141. unset($_REQUEST['audio_name']);
  142. unset($_REQUEST['keyword']);
  143. }
  144. filter_injection($_REQUEST);
  145. if($_REQUEST['act']=='add_music'|| $_REQUEST['act']=='search'){
  146. $_REQUEST['lrc_content'] = $lrc_content;
  147. $_REQUEST['audio_name'] = $audio_name;
  148. $_REQUEST['keyword'] = $keyword;
  149. }
  150. //指定sess_id打开
  151. /*
  152. global $sess_id;
  153. $sess_id = strim($_REQUEST['session_id']);
  154. if($sess_id){
  155. es_session::set_sessid($sess_id);
  156. es_session::start();
  157. }
  158. */
  159. //会员自动登录及输出
  160. $cookie_uid = es_cookie::get("user_id")?es_cookie::get("user_id"):'';
  161. $cookie_upwd = es_cookie::get("user_pwd")?es_cookie::get("user_pwd"):'';
  162. if($cookie_uid!=''&&$cookie_upwd!=''&&!es_session::get("user_info"))
  163. {
  164. fanwe_require(APP_ROOT_PATH."system/libs/user.php");
  165. auto_do_login_user($cookie_uid,$cookie_upwd);
  166. }
  167. //用户信息
  168. global $user_info;
  169. $user_info = es_session::get('user_info');
  170. if (!$user_info && isset($_REQUEST['cstype']) && defined('IS_DEBUG') && IS_DEBUG == 1 ){
  171. $cstype = $_REQUEST['cstype'];
  172. if (intval($cstype) > 0){
  173. $sql = "select * from ".DB_PREFIX."user where id=".intval($cstype);
  174. }else{
  175. $sql = "select * from ".DB_PREFIX."user where id=100324";
  176. }
  177. // es_session::set("user_info",$user_info);
  178. $user_info = $GLOBALS['db']->getRow($sql);
  179. //print_r($user_info);
  180. }else{
  181. //print_r($user_info);
  182. }
  183. //支付宝认证
  184. /*$m_config = load_auto_cache("m_config");//初始化手机端配置
  185. require_once(APP_ROOT_PATH . 'system/AlipayloginApi/aliConnectAPI.php');
  186. $aliConnect = new aliConnectAPI($m_config['alipay_partner'],$m_config['alipay_key']);
  187. $verify_result = $aliConnect->verifyreturn();
  188. if($verify_result) {//验证成功
  189. $class = "user_center";
  190. $act = "authent_alipay";
  191. }else{
  192. $_REQUEST['ctl'] = filter_ma_request($_REQUEST['ctl']);
  193. $_REQUEST['act'] = filter_ma_request($_REQUEST['act']);
  194. $class = strtolower(strim($_REQUEST['ctl']))?strtolower(strim($_REQUEST['ctl'])):"index";
  195. $act = strtolower(strim($_REQUEST['act']))?strtolower(strim($_REQUEST['act'])):"index";
  196. }*/
  197. if($lib=='lib'){
  198. fanwe_require("./lib/base.action.php");
  199. @fanwe_require("./lib/".$class.".action.php");
  200. $class=$class.'Module';
  201. }else{
  202. fanwe_require("./lib/base.action.php");
  203. //@fanwe_require("./lib/".$class.".action.php");
  204. fanwe_require("./".$lib."/base.action.php");
  205. if(file_exists(APP_ROOT_PATH."mapi/".$lib."/".$class.".action.php")){
  206. @fanwe_require("./".$lib."/".$class.".action.php");
  207. $class=$class.'CModule';
  208. }else{
  209. @fanwe_require("./lib/".$class.".action.php");
  210. $class=$class.'Module';
  211. }
  212. /*
  213. if ($lib=='sdk'&&($class=='shopCModule'||$class=='sdkCModule')) {
  214. }
  215. */
  216. }
  217. if(class_exists($class)){
  218. $obj = new $class;
  219. if(method_exists($obj, $act)){
  220. $obj->$act();
  221. }
  222. else{
  223. $error["errcode "] = 10006;
  224. $error["errmsg "] = "接口方法不存在";
  225. ajax_return($error);
  226. }
  227. }
  228. else{
  229. $error["errcode "] = 10005;
  230. $error["errmsg "] = "接口不存在";
  231. ajax_return($error);
  232. }
  233. }
  234. ?>