Content.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517
  1. <?php
  2. namespace Main\Src;
  3. use Dever;
  4. use Main\Lib\Core;
  5. use Dever\Routing\Uri;
  6. class Content
  7. {
  8. # 基本配置
  9. public function config()
  10. {
  11. $data = Dever::db('main/config')->one();
  12. $data['contact'] = Dever::url('contact');
  13. return $data;
  14. }
  15. # 获取菜单
  16. public function menu()
  17. {
  18. $uri = Uri::$value;
  19. $type = Dever::input('type');
  20. $menu = array
  21. (
  22. 'home' => array
  23. (
  24. 'name' => '首&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;页',
  25. 'active' => $uri == 'search' ? true : false,
  26. ),
  27. 'news' => array
  28. (
  29. 'name' => '资&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;讯',
  30. 'active' => $type == 1 ? true : false,
  31. ),
  32. 'xnr' => array
  33. (
  34. 'name' => '虚&nbsp;拟&nbsp;人',
  35. 'active' => false,
  36. 'uri' => array('xnr-detail', 'zwz-detail'),
  37. ),
  38. 'feature' => array
  39. (
  40. 'name' => '专&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;题',
  41. 'active' => $type == 2 ? true : false,
  42. ),
  43. 'video' => array
  44. (
  45. 'name' => '视&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;频',
  46. 'active' => $type == 3 ? true : false,
  47. ),
  48. 'activity' => array
  49. (
  50. 'name' => '活&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;动',
  51. 'active' => $type == 4 ? true : false,
  52. ),
  53. 'contact' => array
  54. (
  55. 'name' => '关于我们',
  56. 'active' => false,
  57. ),
  58. );
  59. foreach ($menu as $k => $v) {
  60. $menu[$k]['link'] = Dever::url($k);
  61. if ($v['active'] || $uri == $k || (isset($v['uri']) && in_array($uri, $v['uri']))) {
  62. $menu[$k]['class'] = 'active';
  63. } else {
  64. $menu[$k]['class'] = '';
  65. }
  66. }
  67. return $menu;
  68. }
  69. # 首页广告
  70. public function ad()
  71. {
  72. $key = Dever::input('key', 'home_ad');
  73. $name = Dever::input('name', '首页广告');
  74. return Dever::load('push/lib/data')->get($key, $name, 3, '1,5');
  75. }
  76. # 焦点图
  77. public function focus()
  78. {
  79. $key = Dever::input('key', 'home_focus');
  80. $name = Dever::input('name', '首页焦点图');
  81. return Dever::load('push/lib/data')->get($key, $name, 5, '1,2,5');
  82. }
  83. # 获取热门推荐
  84. public function hot()
  85. {
  86. $type = Dever::input('type');
  87. if ($type == 1) {
  88. $key = 'news';
  89. $name = '资讯';
  90. } elseif ($type == 2) {
  91. $key = 'feature';
  92. $name = '专题';
  93. } elseif ($type == 3) {
  94. $key = 'video';
  95. $name = '视频';
  96. } elseif ($type == 4) {
  97. $key = 'act';
  98. $name = '活动';
  99. }
  100. $data = Dever::load('push/lib/data')->get($key . '_hot', $name . '详情页热门推荐', 4, '1,3,5', ($type + 2). ',10');
  101. if (!$data) {
  102. $data = Dever::load('content/lib/news')->getHome($type, 4);
  103. }
  104. return $data;
  105. }
  106. # 获取首页资讯
  107. public function home_news()
  108. {
  109. //$data = Dever::load('push/lib/data')->get('home_news', '首页资讯', 3, '1,2,3,4,5,6,7');
  110. $data = false;
  111. if (!$data) {
  112. $data = Dever::load('content/lib/news')->getHome(1, 3);
  113. }
  114. return $data;
  115. }
  116. # 获取首页专题
  117. public function home_feature()
  118. {
  119. $data = Dever::load('push/lib/data')->get('home_feature', '首页专题', 5, '1,2,3,4,5,6,7');
  120. //$data = false;
  121. if (!$data) {
  122. $data = Dever::load('content/lib/news')->getHome(2, 5);
  123. }
  124. return $data;
  125. }
  126. # 获取首页视频
  127. public function home_video_first()
  128. {
  129. //$data = Dever::load('push/lib/data')->get('home_video', '首页视频', 5, '1,2,3,4,5,6,7');
  130. $data = false;
  131. if (!$data) {
  132. $data = Dever::load('content/lib/news')->getHome(3, 5);
  133. }
  134. if ($data) {
  135. $data[0]['sname'] = '<a href="'.$data[0]['link'].'">'.$data[0]['sname'].'</a>';
  136. return $data[0];
  137. }
  138. return false;
  139. }
  140. public function home_video_other()
  141. {
  142. //$data = Dever::load('push/lib/data')->get('home_video', '首页视频', 5, '1,2,3,4,5,6,7');
  143. $data = false;
  144. if (!$data) {
  145. $data = Dever::load('content/lib/news')->getHome(3, 5);
  146. }
  147. if ($data) {
  148. unset($data[0]);
  149. }
  150. return $data;
  151. }
  152. # 获取首页活动
  153. public function home_act()
  154. {
  155. //$data = Dever::load('push/lib/data')->get('home_act', '首页活动', 4, '1,2,3,4,5,6,7');
  156. $data = false;
  157. if (!$data) {
  158. $data = Dever::load('content/lib/news')->getHome(4, 4);
  159. }
  160. return $data;
  161. }
  162. # 获取首页虚拟人
  163. public function home_xnr()
  164. {
  165. //$data = Dever::load('push/lib/data')->get('home_xnr', '首页虚拟人', 10, '1,2,3,4,5');
  166. $data = false;
  167. if (!$data) {
  168. $data = Dever::load('content/lib/xuniren')->getHome(10);
  169. }
  170. return $data;
  171. }
  172. # 获取资讯
  173. public function news()
  174. {
  175. $type = Dever::input('type', 1);
  176. $name = Dever::input('v');
  177. $data = Dever::load('content/lib/news')->getAll($type, $name);
  178. return $data;
  179. }
  180. # 获取资讯详情
  181. public function view()
  182. {
  183. $type = Dever::input('type', 1);
  184. $id = Dever::input('id');
  185. if (!$id) {
  186. Dever::alert('错误的数据id');
  187. }
  188. $data = Dever::load('content/lib/news')->getInfo($type, $id);
  189. return $data;
  190. }
  191. # 获取底层页视频
  192. public function view_video()
  193. {
  194. $data = Dever::load('main/content.view');
  195. $result = array();
  196. if ($data['video']) {
  197. return true;
  198. }
  199. return false;
  200. }
  201. # 获取底层页头部视频
  202. public function view_video_1()
  203. {
  204. $data = Dever::load('main/content.view');
  205. $result = array();
  206. if ($data['type'] == 3 && $data['video']) {
  207. return true;
  208. }
  209. return false;
  210. }
  211. # 获取底层页尾部视频
  212. public function view_video_2()
  213. {
  214. $data = Dever::load('main/content.view');
  215. $result = array();
  216. if ($data['type'] != 3 && $data['video']) {
  217. return true;
  218. }
  219. return false;
  220. }
  221. # 获取标签
  222. public function view_tag()
  223. {
  224. $data = Dever::load('main/content.view');
  225. $result = array();
  226. if ($data['tag']) {
  227. $tag = '';
  228. if (strstr($data['tag'], ',')) {
  229. $tag = explode(',', $data['tag']);
  230. } elseif (strstr($data['tag'], ',')) {
  231. $tag = explode(',', $data['tag']);
  232. }
  233. if ($tag && is_array($tag)) {
  234. foreach($tag as $k => $v) {
  235. $result[$k]['name'] = $v;
  236. $result[$k]['link'] = Dever::url('search?type='.$data['type'].'&v=' . $v);
  237. }
  238. }
  239. }
  240. return $result;
  241. }
  242. # 获取单页内容
  243. public function getPage()
  244. {
  245. $key = Dever::input('key', 1);
  246. $where['key'] = $key;
  247. $data = Dever::db('main/page')->one($where);
  248. return $data;
  249. }
  250. # 获取单页内容
  251. public function getAbout()
  252. {
  253. Dever::setInput('key', 'about');
  254. return $this->getPage();
  255. }
  256. # 搜索页面
  257. public function search()
  258. {
  259. $url = Dever::url('search?v=');
  260. $html = 'location.href=\''.$url.'\'+$(\'#search\').val()';
  261. return $html;
  262. }
  263. # 手机搜索页面
  264. public function msearch()
  265. {
  266. $url = Dever::url('search?v=');
  267. $html = 'location.href=\''.$url.'\'+$(\'#msearch\').val()';
  268. return $html;
  269. }
  270. # 获取联系我们的需求分类
  271. public function contact_xuqiu()
  272. {
  273. return Dever::db('act/contact')->config['xuqiu'];
  274. }
  275. # 新增联系我们
  276. public function contact_add()
  277. {
  278. $username = Dever::input('username');
  279. $mobile = Dever::input('mobile');
  280. $email = Dever::input('email');
  281. $content = Dever::input('content');
  282. $xuqiu = Dever::input('xuqiu', 3);
  283. if (!$username) {
  284. Dever::alert('请填写姓名');
  285. }
  286. if (!$mobile) {
  287. Dever::alert('请填写联系电话');
  288. }
  289. if (!$email) {
  290. Dever::alert('请填写电子信箱');
  291. }
  292. Dever::load('act/lib/contact')->add($username, $mobile, $email, $content, $xuqiu);
  293. return 'ok';
  294. }
  295. # 新增订阅
  296. public function ding_add()
  297. {
  298. $username = Dever::input('username');
  299. $email = Dever::input('email');
  300. $qudao = Dever::input('qudao', 1);
  301. if (!$username) {
  302. Dever::alert('请填写用户名');
  303. }
  304. if (!$email) {
  305. Dever::alert('请填写电子信箱');
  306. }
  307. Dever::load('act/lib/ding')->add($username, $email, $qudao);
  308. return 'ok';
  309. }
  310. # 新增分享
  311. public function share_add()
  312. {
  313. $name = Dever::input('name');
  314. $link = Dever::input('link');
  315. $type = Dever::input('type', 1);
  316. if (!$name) {
  317. Dever::alert('请填写内容名称');
  318. }
  319. if (!$link) {
  320. Dever::alert('请填写链接');
  321. }
  322. Dever::load('act/lib/share')->add($name, $link, $type);
  323. return 'ok';
  324. }
  325. # 造物主信息
  326. public function getZwzOne()
  327. {
  328. $id = Dever::input('id');
  329. if (!$id) {
  330. Dever::alert('错误的数据id');
  331. }
  332. $data = Dever::load('content/lib/creater')->getInfo($id);
  333. return $data;
  334. }
  335. # 获取造物主下的虚拟人列表
  336. public function getXnrByZwz()
  337. {
  338. $id = Dever::input('id');
  339. if (!$id) {
  340. Dever::alert('错误的数据id');
  341. }
  342. $data = Dever::load('content/lib/xuniren')->getDataByCreater($id);
  343. return $data;
  344. }
  345. # 虚拟人信息
  346. public function getXnrOne()
  347. {
  348. $id = Dever::input('id');
  349. if (!$id) {
  350. Dever::alert('错误的数据id');
  351. }
  352. $data = Dever::load('content/lib/xuniren')->getInfo($id);
  353. return $data;
  354. }
  355. # 虚拟人信息 相关资讯
  356. public function getXnrOne_news()
  357. {
  358. $data = Dever::load('main/content.getXnrOne');
  359. if ($data && $data['news']) {
  360. foreach($data['news'] as $k => $v) {
  361. $data['news'][$k]['class'] = '';
  362. }
  363. $data['news'][] = array
  364. (
  365. 'name' => '相关资讯',
  366. 'link' => '#',
  367. 'class' => 'tag',
  368. );
  369. return $data['news'];
  370. }
  371. return array();
  372. }
  373. # 虚拟人信息 多个图片
  374. public function getXnrOne_pic()
  375. {
  376. $data = Dever::load('main/content.getXnrOne');
  377. if ($data && isset($data['pic_list']) && $data['pic_list']) {
  378. return $data['pic_list'];
  379. }
  380. return array();
  381. }
  382. # 获取虚拟人列表
  383. public function getXnr()
  384. {
  385. $data = Dever::db('content/xuniren')->getAll();
  386. $html = '';
  387. foreach ($data as $k => $v) {
  388. $k = strtoupper($k);
  389. $html .= '<dl id="'.$k.'"><dt>' . $k . '</dt><dd>';
  390. foreach ($v as $k1 => $v1) {
  391. $url = Dever::url('main/xnr-detail?id=' . $v1['id']);
  392. $html .= '<a href="'.$url.'">'.$v1['name'].' / '.$v1['ename'].'</a>';
  393. }
  394. $html .= '</dl>';
  395. }
  396. return $html;
  397. }
  398. # 获取造物主列表
  399. public function getZwz()
  400. {
  401. $data = Dever::db('content/creater')->getAll();
  402. $html = '';
  403. foreach ($data as $k => $v) {
  404. $k = strtoupper($k);
  405. $html .= '<dl id="'.$k.'"><dt>' . $k . '</dt><dd>';
  406. foreach ($v as $k1 => $v1) {
  407. $url = Dever::url('main/zwz-detail?id=' . $v1['id']);
  408. $html .= '<a href="'.$url.'">'.$v1['name'].' / '.$v1['desc'].'</a>';
  409. }
  410. $html .= '</dl>';
  411. }
  412. return $html;
  413. }
  414. # 播放视频
  415. public function video()
  416. {
  417. $id = Dever::input('id');
  418. $data = Dever::db('content/news')->one($id);
  419. if ($data && isset($data['video']) && $data['video']) {
  420. $info['video'] = $data['video'];
  421. if (strstr($data['video'], '.qq.com')) {
  422. $video_info = Dever::qqvideo($data['video']);
  423. $info['video'] = isset($video_info[0]) ? $video_info[0] : '';
  424. }
  425. return $info;
  426. }
  427. return array();
  428. }
  429. }