国内流行的内容管理系统(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.

439 lines
16KB

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