国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

465 lines
16KB

  1. <?php
  2. /**
  3. * 附件添加
  4. *
  5. * @version $Id: mda_main.php 2 15:25 2018-6-2 tianya $
  6. * @package DedeCMS.Administrator
  7. * @copyright Copyright (c) 2007 - 2018, DesDev, Inc.
  8. * @copyright Copyright (c) 2020, DedeBIZ.COM
  9. * @license https://www.dedebiz.com/license/v6
  10. * @link https://www.dedebiz.com
  11. */
  12. require_once(dirname(__FILE__).'/config.php');
  13. require_once(DEDEINC."/oxwindow.class.php");
  14. helper('mda');
  15. $install_sqls = array(
  16. "CREATE TABLE IF NOT EXISTS `#@__plus_mda_setting` (
  17. `skey` varchar(255) NOT NULL DEFAULT '',
  18. `svalue` text NOT NULL,
  19. `stime` int(10) NOT NULL,
  20. PRIMARY KEY (`skey`)
  21. ) TYPE=MyISAM;",
  22. "INSERT INTO `#@__plus_mda_setting` (`skey`, `svalue`, `stime`) VALUES
  23. ('version', '0.0.1', 0),
  24. ('channel_uuid', '0', 0),
  25. ('channel_secret', '0', 0),
  26. ('email', '0', 0);",
  27. );
  28. $update_sqls = array(
  29. );
  30. /*--------------------------------
  31. function __install(){ }
  32. -------------------------------*/
  33. if (! $dsql->IsTable('#@__plus_mda_setting') )
  34. {
  35. $mysql_version = $dsql->GetVersion(TRUE);
  36. foreach( $install_sqls as $install_sql )
  37. {
  38. $sql = preg_replace("#ENGINE=MyISAM#i", 'TYPE=MyISAM', $install_sql);
  39. $sql41tmp = 'ENGINE=MyISAM DEFAULT CHARSET='.$cfg_db_language;
  40. if($mysql_version >= 4.1)
  41. {
  42. $sql = preg_replace("#TYPE=MyISAM#i", $sql41tmp, $sql);
  43. }
  44. $dsql->ExecuteNoneQuery($sql);
  45. }
  46. }
  47. /*--------------------------------
  48. function __update(){ }
  49. -------------------------------*/
  50. $version=mda_get_setting('version');
  51. if (empty($version)) $version = '0.0.1';
  52. if (version_compare($version, MDA_VER, '<')) {
  53. $mysql_version = $dsql->GetVersion(TRUE);
  54. foreach ($update_sqls as $ver => $sqls) {
  55. if (version_compare($ver, $version,'<')) {
  56. continue;
  57. }
  58. foreach ($sqls as $sql) {
  59. $sql = preg_replace("#ENGINE=MyISAM#i", 'TYPE=MyISAM', $sql);
  60. $sql41tmp = 'ENGINE=MyISAM DEFAULT CHARSET='.$cfg_db_language;
  61. if($mysql_version >= 4.1)
  62. {
  63. $sql = preg_replace("#TYPE=MyISAM#i", $sql41tmp, $sql);
  64. }
  65. $dsql->ExecuteNoneQuery($sql);
  66. }
  67. mda_set_setting('version', $ver);
  68. $version=mda_get_setting('version');
  69. }
  70. }
  71. if(empty($dopost)) $dopost = '';
  72. /*--------------------------------
  73. function __link(){ }
  74. -------------------------------*/
  75. if($dopost == 'place' OR $dopost == 'report' OR $dopost == 'account' OR $dopost == 'setting')
  76. {
  77. if ( !mda_islogin() )
  78. {
  79. ShowMsg("您尚未登录德得广告,请先登录后继续使用……!",'?dopost=login');
  80. exit();
  81. }
  82. mda_check_islogin();
  83. if($dopost=='place')
  84. {
  85. $channel_uuid = mda_get_setting('channel_uuid');
  86. $manage_url = MDA_APIHOST."/place?from=dedecms&uuid={$channel_uuid}";
  87. $ptitle = '广告管理';
  88. } elseif ($dopost=='report')
  89. {
  90. $manage_url = MDA_APIHOST."/report";
  91. $ptitle = '报表管理';
  92. } elseif ($dopost=='account')
  93. {
  94. $manage_url = MDA_APIHOST."/account";
  95. $ptitle = '结算中心';
  96. } elseif ($dopost=='setting')
  97. {
  98. $manage_url = MDA_APIHOST."/setting";
  99. $ptitle = '德得设置';
  100. }
  101. echo <<<EOT
  102. <html>
  103. <head>
  104. <meta http-equiv="Content-Type" content="text/html; charset={$cfg_soft_lang}">
  105. <title>{$ptitle}</title>
  106. <link rel="stylesheet" type="text/css" href="css/base.css">
  107. </head>
  108. <body background='images/allbg.gif' leftmargin="8" topmargin='8'>
  109. <table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#DFF9AA" height="100%">
  110. <tr>
  111. <td height="28" style="border:1px solid #DADADA" background='images/wbg.gif'>
  112. <div style="float:left">&nbsp;<b>◇<a href="?">德得广告</a> 》{$ptitle}</b></div>
  113. <div style="float:right;margin-right:20px;">您好:{$_SESSION['mda_email']} {$account_str}</div>
  114. </td>
  115. </tr>
  116. <tr>
  117. <td width="100%" height="100%" valign="top" bgcolor='#ffffff' style="padding-top:5px"><table width='100%' border='0' cellpadding='3' cellspacing='1' bgcolor='#DADADA' height="100%">
  118. <tr bgcolor='#DADADA'>
  119. <td colspan='2' background='images/wbg.gif' height='26'><font color='#666600'><b>{$ptitle}</b></font></td>
  120. </tr>
  121. {$addstr}
  122. <tr bgcolor='#FFFFFF'>
  123. <td colspan='2' height='100%'><iframe src="{$manage_url}" {$addstyle} width="100%" height="100%" style="border:none" onload="if(this.postMessage){this.postMessage('ok')}"></iframe></td>
  124. </tr>
  125. <tr>
  126. <td bgcolor='#F5F5F5'>&nbsp;</td>
  127. </tr>
  128. </table></td>
  129. </tr>
  130. </table>
  131. <p align="center"> <br>
  132. <br>
  133. </p>
  134. </body>
  135. </html>
  136. EOT;
  137. }
  138. /*--------------------------------
  139. function __clearcache(){ }
  140. -------------------------------*/
  141. else if($dopost == 'clearcache'){
  142. if (!is_dir(DEDEDATA . "/cache/mda/") OR RmRecurse(DEDEDATA . "/cache/mda/") )
  143. {
  144. ShowMsg("成功清除缓存信息",-1);
  145. exit();
  146. } else {
  147. ShowMsg("清除缓存失败,请尝试手工删除".DEDEDATA."/cache/mda/", 'javascript:;');
  148. exit();
  149. }
  150. }
  151. /*--------------------------------
  152. function __bind_user(){ }
  153. -------------------------------*/
  154. else if($dopost == 'bind_user')
  155. {
  156. $email = isset($email)? $email : '';
  157. $pwd = isset($pwd)? $pwd : '';
  158. $domain = isset($domain)? $domain : '';
  159. $channel_name = isset($channel_name)? $channel_name : '';
  160. if ( !$email OR !$pwd OR !$domain OR !$channel_name)
  161. {
  162. ShowMsg("填写正确的账号信息!",-1);
  163. exit();
  164. }
  165. if($cfg_soft_lang=='gb2312') $channel_name = gb2utf8($channel_name);
  166. $paramsArr=array(
  167. 'email'=>$email,
  168. 'password'=>$pwd,
  169. 'domain'=>$domain,
  170. 'channel_name'=>$channel_name,
  171. );
  172. $rs = json_decode(mda_http_send(MDA_API_BIND_USER,0,$paramsArr),TRUE);
  173. if ( !$rs )
  174. {
  175. ShowMsg("请求API错误,请重试!",-1);
  176. exit();
  177. }
  178. if ( $rs['code'] != 0 )
  179. {
  180. ShowMsg("请求失败,错误代码[code:{$rs['code']}],消息[{$rs['msg']}]",-1);
  181. exit();
  182. }
  183. $channel_uuid = $rs['data']['channel_uuid'];
  184. $channel_secret = $rs['data']['channel_secret'];
  185. mda_set_setting('email', $email);
  186. mda_set_setting('channel_uuid', $channel_uuid);
  187. mda_set_setting('channel_secret', $channel_secret);
  188. $login_url = "?dopost=login";
  189. echo <<<EOT
  190. <iframe src="{$login_url}" scrolling="no" width="0" height="0" style="border:none"></iframe>
  191. EOT;
  192. ShowMsg("绑定成功,下面自动登录德得广告平台", "?dopost=login");
  193. exit();
  194. }
  195. /*--------------------------------
  196. function __login(){ }
  197. -------------------------------*/
  198. else if($dopost == 'login')
  199. {
  200. $email = mda_get_setting('email');
  201. $channel_uuid = mda_get_setting('channel_uuid');
  202. $channel_secret = mda_get_setting('channel_secret');
  203. $ts = time();
  204. $paramsArr=array(
  205. 'channel_uuid'=>$channel_uuid,
  206. 'channel_secret'=>$channel_secret,
  207. 'email'=>$email,
  208. 'ts'=>$ts,
  209. 'crc'=>md5($channel_uuid.$channel_secret.$ts),
  210. );
  211. $jquery_file = MDA_JQUERY;
  212. $api_login = MDA_API_LOGIN;
  213. $params = json_encode($paramsArr);
  214. $rs = json_decode(mda_http_send(MDA_API_LOGIN,0,$paramsArr),TRUE);
  215. if ( isset($rs['code']) AND $rs['code'] == 0 ) {
  216. $_SESSION['mda_email']=$email;
  217. } else {
  218. unset($_SESSION['mda_email']);
  219. header('Location:?logout=1');
  220. exit();
  221. }
  222. echo <<<EOT
  223. <script type="text/javascript" src="{$jquery_file}"></script>
  224. <script type="text/javascript">
  225. (function($){
  226. $.ajax({
  227. url: "{$api_login}",
  228. dataType : 'jsonp',
  229. jsonpCallback:"callfunc",
  230. data: $params,
  231. success: function( response ) {
  232. if(response.code == 0){
  233. window.location.href='?dopost=main&nomsg=yes&forward={$dopost}';
  234. console.log(response);
  235. }
  236. }
  237. });
  238. })(jQuery);
  239. </script>
  240. EOT;
  241. exit;
  242. }
  243. /*--------------------------------
  244. function __main(){ }
  245. -------------------------------*/
  246. else if($dopost == 'main'){
  247. $mda_version = MDA_VER;
  248. $channel_uuid = mda_get_setting('channel_uuid');
  249. $channel_secret = mda_get_setting('channel_secret');
  250. $msg = <<<EOT
  251. <form name='myform' method='POST' action='?'>
  252. <input type='hidden' name='dopost' value='set_secret'>
  253. <table width="98%" border="0" cellspacing="1" cellpadding="1">
  254. <tbody>
  255. <tr>
  256. <td width="16%" height="30">登录用户:</td>
  257. <td width="84%" style="text-align:left;">{$_SESSION['email']} {$account_str} <!--<a href='?dopost=logout' style='color:blue'>[退出]</a>--></td>
  258. </tr>
  259. <tr>
  260. <td width="16%" height="30">德得模块版本:</td>
  261. <td width="84%" style="text-align:left;">v{$mda_version} </td>
  262. </tr>
  263. <tr>
  264. <td width="16%" height="30">Channel UUID:</td>
  265. <td width="84%" style="text-align:left;"><input class="input-xlarge" type="text" value="{$channel_uuid}" disabled="disabled/" style="width:260px"> </td>
  266. </tr>
  267. <tr>
  268. <td width="16%" height="30">Channel Secret:</td>
  269. <td width="84%" style="text-align:left;">
  270. <input name="channel_secret" class="input-xlarge" type="text" value="{$channel_secret}" style="width:260px">
  271. <input type="submit" value="修改">
  272. </td>
  273. </tr>
  274. <tr>
  275. <td height="30" colspan="2">您已成功登录德得广告!您可以进行以下操作:</td>
  276. </tr>
  277. <tr>
  278. <td height="30" colspan="2">
  279. <a href='?dopost=place' style='color:blue'>[广告管理]</a>
  280. <a href='?dopost=report' style='color:blue'>[查看报表]</a>
  281. <a href='?dopost=account' style='color:blue'>[结算中心]</a>
  282. <a href='?dopost=setting' style='color:blue'>[德得设置]</a>
  283. <a href='?dopost=clearcache' style='color:blue'>[清空缓存]</a>
  284. </td>
  285. </tr>
  286. <tr>
  287. <td height="30" colspan="2">
  288. <hr>
  289. 使用说明:<br>
  290. 在广告管理中创建对应广告位,获取广告位标签,置入模板相应位置即可。
  291. <hr>
  292. 功能说明:<br>
  293. <b>[广告管理]</b>管理站点相应的广告位;<br>
  294. <b>[查看报表]</b>获取广告位相应的统计情况;<br>
  295. <b>[结算中心]</b>查看收益统计;<br>
  296. <b>[德得设置]</b>德得广告平台账号信息配置;<br>
  297. <b>[清空缓存]</b>清空广告标签缓存,如果更改登录账号建议清空缓存再生成;<br>
  298. <hr>
  299. </td>
  300. </tr>
  301. <tr>
  302. <td height="30" colspan="2" style="color:#999"><strong>德得广告</strong>是一个简单友好的广告平台,深度融合织梦系统,帮助您获取更多收益。</td>
  303. </tr>
  304. </tbody>
  305. </table>
  306. </form>
  307. {$login_str}
  308. {$change_isv_id}
  309. EOT;
  310. $wintitle = '德得广告管理';
  311. $wecome_info = '德得广告模块 》';
  312. $win = new OxWindow();
  313. $win->AddTitle($wintitle);
  314. $win->AddMsgItem($msg);
  315. $winform = $win->GetWindow('hand', '&nbsp;', false);
  316. $win->Display();
  317. exit;
  318. } else if($dopost == 'set_secret') {
  319. $email = mda_get_setting('email');
  320. $channel_uuid = mda_get_setting('channel_uuid');
  321. $ts = time();
  322. $paramsArr=array(
  323. 'channel_uuid'=>$channel_uuid,
  324. 'channel_secret'=>$channel_secret,
  325. 'email'=>$email,
  326. 'ts'=>$ts,
  327. 'crc'=>md5($channel_uuid.$channel_secret.$ts),
  328. );
  329. $rs = json_decode(mda_http_send(MDA_API_LOGIN,0,$paramsArr),TRUE);
  330. if ( !$rs )
  331. {
  332. ShowMsg("请求API错误,请重试!",-1);
  333. exit();
  334. }
  335. if ( $rs['code'] != 0 )
  336. {
  337. ShowMsg("请求失败,错误代码[code:{$rs['code']}],消息[{$rs['msg']}]",'?dopost=main');
  338. exit();
  339. }
  340. if ($rs['code'] == 0){
  341. ShowMsg("Channel Secret 修改成功……!",'?dopost=main');
  342. mda_set_setting('channel_secret', $channel_secret);
  343. }
  344. }
  345. // ------------------------------------------------------------------------
  346. /*--------------------------------
  347. function __index(){ }
  348. -------------------------------*/
  349. else {
  350. if ( mda_get_setting('email') AND mda_get_setting('channel_uuid') AND mda_get_setting('channel_secret') AND empty($logout))
  351. {
  352. header('Location:?dopost=login');
  353. exit;
  354. }
  355. $mda_reg_url = MDA_REG_URL;
  356. $mda_forget_pwd_url = MDA_FORGOT_PASSWORD_URL;
  357. $domain = !empty($_SERVER['HTTP_HOST'])? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'];
  358. $mda_update_url = MDA_APIHOST."/help/dedecms_module_download";
  359. echo <<<EOT
  360. <html>
  361. <head>
  362. <meta http-equiv="Content-Type" content="text/html; charset={$cfg_soft_lang}">
  363. <title>德得广告</title>
  364. <link rel="stylesheet" type="text/css" href="{$cfg_static_dir}/img/base.css">
  365. </head>
  366. <body background='{$cfg_static_dir}/img/allbg.gif' leftmargin="8" topmargin='8'>
  367. <table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#DFF9AA">
  368. <tr>
  369. <td height="28" style="border:1px solid #DADADA" background='{$cfg_static_dir}/img/wbg.gif'>&nbsp;<b><a href="?">德得广告 </a> &gt;&gt; 配置德得广告</b></td>
  370. </tr>
  371. <tr>
  372. <td width="100%" height="80" style="padding-top:5px" bgcolor='#ffffff'>
  373. <form name='myform' method='POST' action='?'>
  374. <input type='hidden' name='dopost' value='bind_user'>
  375. <table width='100%' border='0' cellpadding='3' cellspacing='1' bgcolor='#DADADA'>
  376. <tr bgcolor='#DADADA'>
  377. <td colspan='2' background='{$cfg_static_dir}/img/wbg.gif' height='26'><font color='#666600'><b>德得广告</b></font></td>
  378. </tr>
  379. <tr bgcolor='#FFFFFF'>
  380. <td colspan='2' height='100'>
  381. <table width="98%" border="0" cellspacing="1" cellpadding="1">
  382. <tbody>
  383. <tr>
  384. <td colspan="2" id="isvsContent">
  385. <table width="98%" border="0" cellspacing="1" cellpadding="1">
  386. <tbody>
  387. <tr>
  388. <td width="16%" height="30">邮箱:</td>
  389. <td width="84%" style="text-align:left;"><input name="email" type="email" id="email" size="16" style="width:200px" value="" />
  390. <a target="_blank" href="$mda_reg_url" style="color:blue">免费注册</a> ,获取专业广告服务</td>
  391. </tr>
  392. <tr>
  393. <td height="30">密码:</td>
  394. <td style="text-align:left;"><input name="pwd" type="password" id="pwd" size="16" style="width:200px">
  395. <a target="_blank" href="$mda_forget_pwd_url" style="color:blue">忘记密码</a> &nbsp; </td>
  396. </tr>
  397. <tr>
  398. <td width="16%" height="30">站点域名:</td>
  399. <td width="84%" style="text-align:left;"><input name="domain" type="text" id="domain" size="16" style="width:200px" value="{$domain}" />
  400. </td>
  401. </tr>
  402. <tr>
  403. <td width="16%" height="30">名称:</td>
  404. <td width="84%" style="text-align:left;"><input name="channel_name" type="text" id="channel_name" size="16" style="width:200px" value="{$cfg_webname}" />
  405. </td>
  406. </tr>
  407. <tr>
  408. <td height="30">模块版本:</td>
  409. <td style="text-align:left;">{$version}
  410. <a target="_blank" href="$mda_update_url" style="color:blue">下载新版模块</a> &nbsp; </td>
  411. </tr>
  412. </tbody>
  413. </table>
  414. </td>
  415. </tr>
  416. </tbody>
  417. </table>
  418. </td>
  419. </tr>
  420. <tr>
  421. <td colspan='2' bgcolor='#F9FCEF'><table width='270' border='0' cellpadding='0' cellspacing='0'>
  422. <tr align='center' height='28'>
  423. <td width='90'><input name='imageField1' type='image' class='np' src='{$cfg_plus_dir}/img/button_ok.gif' width='60' height='22' border='0' /></td>
  424. <td width='90'></td>
  425. <td></td>
  426. </tr>
  427. </table></td>
  428. </tr>
  429. </table>
  430. </form>
  431. </td>
  432. </tr>
  433. </table>
  434. <p align="center"> <br>
  435. <br>
  436. </p>
  437. </body>
  438. </html>
  439. EOT;
  440. }