DiscuzTips.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. /**
  3. * [Discuz!] (C)2001-2099 Comsenz Inc.
  4. * This is NOT a freeware, use is subject to license terms
  5. *
  6. * $Id: DiscuzTips.php 36311 2016-12-19 01:47:34Z nemohou $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. class Cloud_Service_DiscuzTips {
  12. protected static $_instance;
  13. public static function getInstance() {
  14. global $_G;
  15. if (!(self::$_instance instanceof self)) {
  16. self::$_instance = new self();
  17. }
  18. return self::$_instance;
  19. }
  20. public function show() {
  21. global $_G;
  22. if($_G['inajax']) {
  23. return '';
  24. }
  25. if($_G['isHTTPS']) {
  26. return '';
  27. }
  28. $clientVersion = '2';
  29. $util = Cloud::loadclass('Service_Util');
  30. include_once DISCUZ_ROOT . '/source/discuz_version.php';
  31. $release = DISCUZ_RELEASE;
  32. $fix = DISCUZ_FIXBUG;
  33. $cloudApi = $util->getApiVersion();
  34. $isfounder = $util->isfounder($_G['member']);
  35. $sId = $_G['setting']['my_siteid'];
  36. $version = $_G['setting']['version'];
  37. $ts = TIMESTAMP;
  38. $sig = '';
  39. $adminId = $_G['adminid'];
  40. $openId = $_G['member']['conopenid'];
  41. $uid = $_G['uid'];
  42. $groupId = $_G['groupid'];
  43. if ($sId) {
  44. $params = array(
  45. 's_id' => $sId,
  46. 'product_version' => $version,
  47. 'product_release' => '',
  48. 'fix_bug' => '',
  49. 'is_founder' => $isfounder,
  50. 's_url' => $_G['siteurl'],
  51. 'admin_id' => $adminId,
  52. 'open_id' => $openId,
  53. 'uid' => $uid,
  54. 'group_id' => $groupId,
  55. 'last_send_time' => $_COOKIE['dctips'],
  56. );
  57. ksort($params);
  58. $str = $util->httpBuildQuery($params, '', '&');
  59. $sig = md5(sprintf('%s|%s|%s', $str, $_G['setting']['my_sitekey'], $ts));
  60. }
  61. $jsCode = <<<EOF
  62. <div id="discuz_tips" style="display:none;"></div>
  63. <script type="text/javascript">
  64. var tipsinfo = '$sId|$version|$cloudApi|$isfounder|$adminId|$openId|$uid|$groupId|$ts|$sig|$clientVersion';
  65. </script>
  66. <script src="http://discuz.gtimg.cn/cloud/scripts/discuz_tips.js?v=1" type="text/javascript" charset="UTF-8"></script>
  67. EOF;
  68. echo $jsCode;
  69. }
  70. }