search_my.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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: search_my.php 31728 2012-09-25 09:03:42Z zhouxiaobo $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. define('NOROBOT', TRUE);
  12. if (!$_G['setting']['my_siteid'] || !$_G['setting']['my_search_status']) {
  13. dheader('Location: index.php');
  14. }
  15. $appService = Cloud::loadClass('Service_App');
  16. if ($appService->getCloudAppStatus('connect')) {
  17. $connectService = Cloud::loadClass('Cloud_Service_Connect');
  18. $connectService->connectMergeMember();
  19. }
  20. $searchHelper = Cloud::loadClass('Cloud_Service_SearchHelper');
  21. $myForums = $searchHelper->getForums();
  22. $myExtGroupIds = array();
  23. $_extGroupIds = explode("\t", $_G['member']['extgroupids']);
  24. foreach($_extGroupIds as $v) {
  25. if ($v) {
  26. $myExtGroupIds[] = $v;
  27. }
  28. }
  29. $myExtGroupIdsStr = implode(',', $myExtGroupIds);
  30. $params = array(
  31. 'cuName' => $_G['username'],
  32. 'gId' => $_G['groupid'],
  33. 'agId' => $_G['adminid'],
  34. 'egIds' => $myExtGroupIdsStr,
  35. 'fmSign' => substr($myForums['sign'], -4),
  36. );
  37. $groupIds = explode(',', $_G['groupid']);
  38. if ($_G['adminid']) {
  39. $groupIds[] = $_G['adminid'];
  40. }
  41. if ($myExtGroupIds) {
  42. $groupIds = array_merge($groupIds, $myExtGroupIds);
  43. }
  44. $groupIds = array_unique($groupIds);
  45. $userGroups = $searchHelper->getUserGroupPermissions($groupIds);
  46. foreach($groupIds as $k => $v) {
  47. $value = substr($userGroups[$v]['sign'], -4);
  48. if ($value) {
  49. $params['ugSign' . $v] = $value;
  50. }
  51. }
  52. $params['charset'] = $_G['charset'];
  53. if ($_G['member']['conopenid']) {
  54. $params['openid'] = $_G['member']['conopenid'];
  55. }
  56. $extra = array('q', 'fId', 'author', 'scope', 'source', 'module', 'isAdv');
  57. foreach($extra as $v) {
  58. if ($_GET[$v]) {
  59. $params[$v] = $_GET[$v];
  60. }
  61. }
  62. $mySearchData = $_G['setting']['my_search_data'];
  63. if ($mySearchData['domain']) {
  64. $domain = $mySearchData['domain'];
  65. } else {
  66. $domain = 'search.discuz.qq.com';
  67. }
  68. $utilService = Cloud::loadClass('Cloud_Service_Util');
  69. $url = 'http://' . $domain . '/f/discuz?' . $utilService->generateSiteSignUrl($params, true);
  70. dheader('Location: ' . $url);
  71. ?>