Content.php 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649
  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. $data = Dever::load('main/content.news');
  270. if ($data) {
  271. return false;
  272. }
  273. return true;
  274. }
  275. # 获取资讯详情
  276. public function view()
  277. {
  278. $type = Dever::input('type', 1);
  279. $id = Dever::input('id');
  280. if (!$id) {
  281. Dever::alert('错误的数据id');
  282. }
  283. $data = Dever::load('content/lib/news')->getInfo($type, $id);
  284. return $data;
  285. }
  286. # 获取底层页封面图
  287. public function view_pic()
  288. {
  289. $data = Dever::load('main/content.view_video_1');
  290. if ($data) {
  291. return false;
  292. }
  293. return true;
  294. }
  295. # 获取底层页视频
  296. public function view_video()
  297. {
  298. $data = Dever::load('main/content.view');
  299. $result = array();
  300. if ($data['video']) {
  301. return true;
  302. }
  303. return false;
  304. }
  305. # 获取底层页头部视频
  306. public function view_video_1()
  307. {
  308. $data = Dever::load('main/content.view');
  309. $result = array();
  310. if ($data['type'] == 3 && $data['video']) {
  311. return true;
  312. }
  313. return false;
  314. }
  315. # 获取底层页尾部视频
  316. public function view_video_2()
  317. {
  318. $data = Dever::load('main/content.view');
  319. $result = array();
  320. if ($data['type'] != 3 && $data['content_video']) {
  321. return true;
  322. }
  323. return false;
  324. }
  325. # 获取标签
  326. public function view_tag()
  327. {
  328. $data = Dever::load('main/content.view');
  329. $result = array();
  330. if ($data['tag']) {
  331. $tag = '';
  332. if (strstr($data['tag'], ',')) {
  333. $tag = explode(',', $data['tag']);
  334. } elseif (strstr($data['tag'], ',')) {
  335. $tag = explode(',', $data['tag']);
  336. }
  337. if ($tag && is_array($tag)) {
  338. foreach($tag as $k => $v) {
  339. $result[$k]['name'] = $v;
  340. $result[$k]['link'] = Dever::url('search?type='.$data['type'].'&v=' . $v);
  341. }
  342. }
  343. }
  344. return $result;
  345. }
  346. # 获取单页内容
  347. public function getPage()
  348. {
  349. $key = Dever::input('key', 1);
  350. $where['key'] = $key;
  351. $data = Dever::db('main/page')->one($where);
  352. return $data;
  353. }
  354. # 获取单页内容
  355. public function getAbout()
  356. {
  357. Dever::setInput('key', 'about');
  358. return $this->getPage();
  359. }
  360. # 搜索页面
  361. public function search()
  362. {
  363. $url = Dever::url('search?v=');
  364. $html = 'location.href=\''.$url.'\'+$(\'#search\').val()';
  365. return $html;
  366. }
  367. # 手机搜索页面
  368. public function msearch()
  369. {
  370. $url = Dever::url('search?v=');
  371. $html = 'location.href=\''.$url.'\'+$(\'#msearch\').val()';
  372. return $html;
  373. }
  374. # 获取联系我们的需求分类
  375. public function contact_xuqiu()
  376. {
  377. return Dever::db('act/contact')->config['xuqiu'];
  378. }
  379. # 新增联系我们
  380. public function contact_add()
  381. {
  382. $username = Dever::input('username');
  383. $mobile = Dever::input('mobile');
  384. $email = Dever::input('email');
  385. $content = Dever::input('content');
  386. $xuqiu = Dever::input('xuqiu', 3);
  387. if (!$username) {
  388. Dever::alert('请填写姓名');
  389. }
  390. if (!$mobile) {
  391. Dever::alert('请填写联系电话');
  392. }
  393. if (!$email) {
  394. Dever::alert('请填写电子信箱');
  395. }
  396. Dever::load('act/lib/contact')->add($username, $mobile, $email, $content, $xuqiu);
  397. return 'ok';
  398. }
  399. # 新增订阅
  400. public function ding_add()
  401. {
  402. $username = Dever::input('username');
  403. $email = Dever::input('email');
  404. $qudao = Dever::input('qudao', 1);
  405. if (!$username) {
  406. Dever::alert('请填写用户名');
  407. }
  408. if (!$email) {
  409. Dever::alert('请填写电子信箱');
  410. }
  411. Dever::load('act/lib/ding')->add($username, $email, $qudao);
  412. return 'ok';
  413. }
  414. # 新增分享
  415. public function share_add()
  416. {
  417. $name = Dever::input('name');
  418. $link = Dever::input('link');
  419. $type = Dever::input('type', 1);
  420. if (!$name) {
  421. Dever::alert('请填写内容名称');
  422. }
  423. if (!$link) {
  424. Dever::alert('请填写链接');
  425. }
  426. Dever::load('act/lib/share')->add($name, $link, $type);
  427. return 'ok';
  428. }
  429. # 造物主信息
  430. public function getZwzOne()
  431. {
  432. $id = Dever::input('id');
  433. if (!$id) {
  434. Dever::alert('错误的数据id');
  435. }
  436. $data = Dever::load('content/lib/creater')->getInfo($id);
  437. return $data;
  438. }
  439. # 获取造物主下的虚拟人列表
  440. public function getXnrByZwz()
  441. {
  442. $id = Dever::input('id');
  443. if (!$id) {
  444. Dever::alert('错误的数据id');
  445. }
  446. $data = Dever::load('content/lib/xuniren')->getDataByCreater($id);
  447. return $data;
  448. }
  449. # 虚拟人信息
  450. public function getXnrOne()
  451. {
  452. $id = Dever::input('id');
  453. if (!$id) {
  454. Dever::alert('错误的数据id');
  455. }
  456. $data = Dever::load('content/lib/xuniren')->getInfo($id);
  457. return $data;
  458. }
  459. # 虚拟人信息 相关资讯
  460. public function getXnrOne_news()
  461. {
  462. $data = Dever::load('main/content.getXnrOne');
  463. if ($data && $data['news']) {
  464. foreach($data['news'] as $k => $v) {
  465. $data['news'][$k]['class'] = '';
  466. }
  467. $data['news'][] = array
  468. (
  469. 'name' => '相关资讯',
  470. 'link' => '#',
  471. 'class' => 'tag',
  472. );
  473. return $data['news'];
  474. }
  475. return array();
  476. }
  477. # 虚拟人信息 多个图片
  478. public function getXnrOne_pic()
  479. {
  480. $data = Dever::load('main/content.getXnrOne');
  481. if ($data && isset($data['pic_list']) && $data['pic_list']) {
  482. return $data['pic_list'];
  483. }
  484. return array();
  485. }
  486. # 获取虚拟人列表
  487. public function getXnr()
  488. {
  489. $data = Dever::db('content/xuniren')->getAll();
  490. $html = '';
  491. foreach ($data as $k => $v) {
  492. $k = strtoupper($k);
  493. $html .= '<dl id="'.$k.'"><dt>' . $k . '</dt><dd>';
  494. foreach ($v as $k1 => $v1) {
  495. $url = Dever::url('main/xnr-detail?id=' . $v1['id']);
  496. $html .= '<a href="'.$url.'">'.$v1['name'].'</a>';
  497. }
  498. $html .= '</dl>';
  499. }
  500. return $html;
  501. }
  502. # 获取造物主列表
  503. public function getZwz()
  504. {
  505. $data = Dever::db('content/creater')->getAll();
  506. $html = '';
  507. foreach ($data as $k => $v) {
  508. $k = strtoupper($k);
  509. $html .= '<dl id="'.$k.'"><dt>' . $k . '</dt><dd>';
  510. foreach ($v as $k1 => $v1) {
  511. $url = Dever::url('main/zwz-detail?id=' . $v1['id']);
  512. $html .= '<a href="'.$url.'">'.$v1['name'].'</a>';
  513. }
  514. $html .= '</dl>';
  515. }
  516. return $html;
  517. }
  518. # 播放视频
  519. public function video()
  520. {
  521. $id = Dever::input('id');
  522. $data = Dever::db('content/news')->one($id);
  523. $video = '';
  524. if ($data && $data['type'] == 3) {
  525. $video = $data['video'];
  526. } elseif ($data && $data['type'] != 3) {
  527. $video = $data['content_video'];
  528. }
  529. if ($data && $video) {
  530. $info['video'] = $video;
  531. if (strstr($info['video'], '.qq.com')) {
  532. $info['video'] = Dever::qqvideo($info['video']);
  533. }
  534. return $info;
  535. }
  536. return array();
  537. }
  538. }