Content.php 17 KB

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