space_doing.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  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: space_doing.php 29155 2012-03-27 10:39:12Z zhengqingpeng $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. $perpage = 20;
  12. $perpage = mob_perpage($perpage);
  13. $page = empty($_GET['page'])?0:intval($_GET['page']);
  14. if($page<1) $page=1;
  15. $start = ($page-1)*$perpage;
  16. ckstart($start, $perpage);
  17. $dolist = array();
  18. $count = 0;
  19. if(empty($_GET['view'])) {
  20. $_GET['view'] = 'we';
  21. }
  22. $gets = array(
  23. 'mod' => 'space',
  24. 'uid' => $space['uid'],
  25. 'do' => 'doing',
  26. 'view' => $_GET['view'],
  27. 'searchkey' => $_GET['searchkey'],
  28. 'from' => $_GET['from']
  29. );
  30. $theurl = 'home.php?'.url_implode($gets);
  31. $f_index = '';
  32. $diymode = 0;
  33. if($_GET['view'] == 'all') {
  34. $f_index = 'dateline';
  35. } elseif($_GET['view'] == 'we') {
  36. space_merge($space, 'field_home');
  37. if($space['feedfriend']) {
  38. $uids = array_merge(explode(',', $space['feedfriend']), array($space['uid']));
  39. $f_index = 'dateline';
  40. } else {
  41. $uids = array($space['uid']);
  42. }
  43. } else {
  44. if($_GET['from'] == 'space') $diymode = 1;
  45. $uids = $_GET['highlight'] ? array() : array($space['uid']);
  46. }
  47. $actives = array($_GET['view'] =>' class="a"');
  48. $doid = empty($_GET['doid'])?0:intval($_GET['doid']);
  49. $doids = $clist = $newdoids = array();
  50. $pricount = 0;
  51. if($doid) {
  52. $count = 1;
  53. $f_index = '';
  54. $theurl .= "&doid=$doid";
  55. }
  56. if($searchkey = stripsearchkey($_GET['searchkey'])) {
  57. $searchkey = dhtmlspecialchars($searchkey);
  58. }
  59. if(empty($count)) {
  60. $count = C::t('home_doing')->fetch_all_search($start, $perpage, 3, $uids, '', $searchkey, '', '' ,'', 1, $doid, $f_index);
  61. }
  62. if($count) {
  63. $query = C::t('home_doing')->fetch_all_search($start, $perpage, 1, $uids, '', $searchkey, '', '' ,'', 1, $doid, $f_index);
  64. foreach($query as $value) {
  65. if($value['status'] == 0 || $value['uid'] == $_G['uid'] || $_G['adminid'] == 1) {
  66. $doids[] = $value['doid'];
  67. $dolist[] = $value;
  68. } else {
  69. $pricount ++;
  70. }
  71. }
  72. }
  73. if($doid) {
  74. $dovalue = empty($dolist)?array():$dolist[0];
  75. if($dovalue) {
  76. if($dovalue['uid'] == $_G['uid']) {
  77. $actives = array('me'=>' class="a"');
  78. } else {
  79. $actives = array('all'=>' class="a"');
  80. }
  81. }
  82. }
  83. if($doids) {
  84. $tree = new lib_tree();
  85. $values = array();
  86. foreach(C::t('home_docomment')->fetch_all_by_doid($doids) as $value) {
  87. $newdoids[$value['doid']] = $value['doid'];
  88. if(empty($value['upid'])) {
  89. $value['upid'] = "do$value[doid]";
  90. }
  91. $tree->setNode($value['id'], $value['upid'], $value);
  92. }
  93. }
  94. $showdoinglist = array();
  95. foreach ($newdoids as $cdoid) {
  96. $values = $tree->getChilds("do$cdoid");
  97. $show = false;
  98. foreach ($values as $key => $id) {
  99. $one = $tree->getValue($id);
  100. $one['layer'] = $tree->getLayer($id) * 2 - 2;
  101. $one['style'] = "padding-left:{$one['layer']}em;";
  102. if($_GET['highlight'] && $one['id'] == $_GET['highlight']) {
  103. $one['style'] .= 'color:#F60;';
  104. }
  105. if($one['layer'] > 0){
  106. if($one['layer']%3 == 2) {
  107. $one['class'] = ' dtls';
  108. } else {
  109. $one['class'] = ' dtll';
  110. }
  111. }
  112. if(!$show && $one['uid']) {
  113. $show = true;
  114. }
  115. $clist[$cdoid][] = $one;
  116. }
  117. $showdoinglist[$cdoid] = $show;
  118. }
  119. $multi = multi($count, $perpage, $page, $theurl);
  120. dsetcookie('home_diymode', $diymode);
  121. if($_G['uid']) {
  122. if($_GET['view'] == 'all') {
  123. $navtitle = lang('core', 'title_view_all').lang('core', 'title_doing');
  124. } elseif($_GET['view'] == 'me') {
  125. $navtitle = lang('core', 'title_doing_view_me');
  126. } else {
  127. $navtitle = lang('core', 'title_me_friend_doing');
  128. }
  129. $defaultstr = getdefaultdoing();
  130. } else {
  131. $navtitle = lang('core', 'title_newest_doing');
  132. }
  133. if($space['username']) {
  134. $navtitle = lang('space', 'sb_doing', array('who' => $space['username']));
  135. }
  136. $metakeywords = $navtitle;
  137. $metadescription = $navtitle;
  138. include_once template('diy:home/space_doing');
  139. ?>