Manage.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. <?php
  2. namespace Journal\Lib;
  3. use Dever;
  4. class Manage
  5. {
  6. private function search($table = 'content/article')
  7. {
  8. $keyword = Dever::input('keyword');
  9. $yes = Dever::input('yes');
  10. $where = array();
  11. if ($yes) {
  12. $yes = Dever::db($table)->search(array('ids' => $yes));
  13. }
  14. if (!$keyword) {
  15. $where['limit'] = '0,50';
  16. $data = Dever::db($table)->search($where);
  17. } else {
  18. $where['name'] = $keyword;
  19. $data = Dever::db($table)->search($where);
  20. }
  21. $result = array();
  22. if ($yes) {
  23. foreach ($yes as $k => $v) {
  24. if (isset($data[$k])) {
  25. unset($data[$k]);
  26. }
  27. $yes[$k]['selected'] = 'selected';
  28. }
  29. $data = $yes + $data;
  30. $data = array_merge($data, array());
  31. } else {
  32. $data = array_merge($data, array());
  33. }
  34. if (!$data) {
  35. Dever::alert('暂无数据');
  36. }
  37. return $data;
  38. }
  39. # 搜索文章
  40. public function search_article_api()
  41. {
  42. return $this->search('content/article');
  43. }
  44. # 搜索视频
  45. public function search_vod_api()
  46. {
  47. return $this->search('video/vod');
  48. }
  49. # 搜索直播
  50. public function search_live_api()
  51. {
  52. return $this->search('video/live');
  53. }
  54. # 搜索小刊
  55. public function search_journal_api()
  56. {
  57. return $this->search('journal/info');
  58. }
  59. # 显示杂志内页
  60. public function journalContent()
  61. {
  62. $where['info_id'] = Dever::input('search_option_info_id');
  63. $where['state'] = Dever::input('search_option_state');
  64. $data = Dever::db('journal/content')->all($where);
  65. $database = Dever::load('manage/database');
  66. $type = Dever::db('journal/content')->config['gettype'];
  67. if ($data) {
  68. foreach ($data as $k => $v) {
  69. $data[$k]['height'] = 'height: 154px;';
  70. $data[$k]['info_height'] = 'height: auto;';
  71. if ($v['type'] > 2) {
  72. $data[$k]['height'] = 'height: 104px;';
  73. $data[$k]['info_height'] = 'height: 47px;';
  74. }
  75. if ($v['type'] <= 2) {
  76. $data[$k]['name'] = '';
  77. } elseif ($v['type'] == 3) {
  78. $data[$k]['pic'] = $v['focus'];
  79. }
  80. if ($v['type'] == 11) {
  81. # 图文
  82. $info = Dever::load('content/lib/article')->get($v['article_id']);
  83. if ($info) {
  84. $data[$k]['pic'] = $info['pic_cover'];
  85. $data[$k]['name'] = $info['name'];
  86. }
  87. } elseif ($v['type'] == 12) {
  88. # 视频
  89. $info = Dever::load('video/lib/vod')->get($v['vod_id']);
  90. if ($info) {
  91. $data[$k]['pic'] = $info['pic_cover'];
  92. $data[$k]['name'] = $info['name'];
  93. }
  94. } elseif ($v['type'] == 13) {
  95. # 直播
  96. $info = Dever::load('video/lib/live')->get($v['live_id']);
  97. if ($info) {
  98. $data[$k]['pic'] = $info['pic_cover'];
  99. $data[$k]['name'] = $info['name'];
  100. }
  101. }
  102. $data[$k]['typename'] = $type[$v['type']];
  103. /*
  104. if ($v['type'] == 1) {
  105. $data[$k]['text'] = $this->text($database, $v['id'], $where['info_id']);
  106. } else {
  107. $data[$k]['text'] = '';
  108. }
  109. */
  110. $data[$k]['text'] = '';
  111. $link = $database->url('edit', $v['id']) . '&search_option_info_id=' . $where['info_id'];
  112. $data[$k]['edit'] = "fastEdit($(this), '".$link."', '编辑内页', '', 1)";
  113. $data[$k]['editurl'] = $link;
  114. $data[$k]['delete'] = $database->url('delete', $v['id']);
  115. }
  116. }
  117. return $data;
  118. }
  119. private function text_name($link, $content_id, $info_id, $location, $name)
  120. {
  121. $where['info_id'] = $info_id;
  122. $where['content_id'] = $content_id;
  123. $where['location'] = $location;
  124. $info = Dever::db('journal/content_text')->one($where);
  125. $link .= '&search_option_info_id=' . $info_id. '&search_option_content_id=' . $content_id.'&table=content_text&search_option_location='.$location;
  126. if ($info) {
  127. $link .= '&where_id=' . $info['id'];
  128. }
  129. $html = '<a style="cursor:pointer;" href="javascript:;" onclick="fastEdit($(this), \''.$link.'\', \'编辑'.$name.'文字\', \'\')">'.$name.'</a>';
  130. return $html;
  131. }
  132. public function text($database, $content_id, $info_id)
  133. {
  134. $link = $database->url('edit');
  135. $location = Dever::db('journal/content_text')->config['location'];
  136. $html = '<table class="layui-table"><tbody><tr>';
  137. $i = 0;
  138. foreach ($location as $k => $v) {
  139. $name = $this->text_name($link, $content_id, $info_id, $k, $v);
  140. $html .= '<td>'.$name.'</td>';
  141. if ($i == 2 || $i == 5) {
  142. $html .= '</tr><tr>';
  143. }
  144. $i++;
  145. }
  146. $html .= '</tr></tbody></table>';
  147. return $html;
  148. }
  149. public function updateJournalContent_api()
  150. {
  151. $data = Dever::input('data');
  152. if ($data) {
  153. $data = explode(',', str_replace('data-', '', $data));
  154. foreach ($data as $k => $v) {
  155. $k = $k + 1;
  156. $where['where_id'] = $v;
  157. $where['reorder'] = $k;
  158. Dever::db('journal/content')->update($where);
  159. }
  160. }
  161. return $data;
  162. }
  163. }