Content.php 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651
  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' => '<span>首</span><span>页</span>',
  91. 'active' => $uri == 'search' ? true : false,
  92. ),
  93. 'news' => array
  94. (
  95. 'name' => '<span>资</span><span>讯</span>',
  96. 'active' => $type == 1 ? true : false,
  97. ),
  98. 'xnr' => array
  99. (
  100. 'name' => '<span>虚</span><span>拟</span><span>人</span>',
  101. 'active' => false,
  102. 'uri' => array('xnr-detail', 'zwz-detail'),
  103. ),
  104. 'feature' => array
  105. (
  106. 'name' => '<span>专</span><span>题</span>',
  107. 'active' => $type == 2 ? true : false,
  108. ),
  109. 'video' => array
  110. (
  111. 'name' => '<span>视</span><span>频</span>',
  112. 'active' => $type == 3 ? true : false,
  113. ),
  114. 'activity' => array
  115. (
  116. 'name' => '<span>活</span><span>动</span>',
  117. 'active' => $type == 4 ? true : false,
  118. ),
  119. 'contact' => array
  120. (
  121. 'name' => '<span>关</span><span>于</span><span>我</span><span>们</span>',
  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. $data[0]['info'] = Dever::cut($data[0]['info'], 100);
  214. return $data[0];
  215. }
  216. return false;
  217. }
  218. public function home_video_other()
  219. {
  220. //$data = Dever::load('push/lib/data')->get('home_video', '首页视频', 5, '1,2,3,4,5,6,7');
  221. $data = false;
  222. if (!$data) {
  223. $data = Dever::load('content/lib/news')->getHome(3, 3);
  224. }
  225. if ($data) {
  226. unset($data[0]);
  227. }
  228. return $data;
  229. }
  230. # 获取首页活动
  231. public function home_act()
  232. {
  233. //$data = Dever::load('push/lib/data')->get('home_act', '首页活动', 4, '1,2,3,4,5,6,7');
  234. $data = false;
  235. if (!$data) {
  236. $data = Dever::load('content/lib/news')->getHome(4, 4);
  237. }
  238. return $data;
  239. }
  240. # 获取首页虚拟人
  241. public function home_xnr()
  242. {
  243. //$data = Dever::load('push/lib/data')->get('home_xnr', '首页虚拟人', 10, '1,2,3,4,5');
  244. $data = false;
  245. if (!$data) {
  246. $data = Dever::load('content/lib/xuniren')->getHome(10);
  247. }
  248. return $data;
  249. }
  250. # 获取资讯
  251. public function news()
  252. {
  253. $type = Dever::input('type', 1);
  254. $name = Dever::input('v');
  255. $data = Dever::load('content/lib/news')->getAll($type, $name);
  256. return $data;
  257. }
  258. # 获取资讯
  259. public function getNews()
  260. {
  261. $data = Dever::load('main/content.news');
  262. if ($data) {
  263. return true;
  264. }
  265. return false;
  266. }
  267. # 获取资讯
  268. public function getNoNews()
  269. {
  270. $pg = Dever::input('pg');
  271. $data = Dever::load('main/content.news');
  272. if ($data || $pg > 1) {
  273. return false;
  274. }
  275. return true;
  276. }
  277. # 获取资讯详情
  278. public function view()
  279. {
  280. $type = Dever::input('type', 1);
  281. $id = Dever::input('id');
  282. if (!$id) {
  283. Dever::alert('错误的数据id');
  284. }
  285. $data = Dever::load('content/lib/news')->getInfo($type, $id);
  286. return $data;
  287. }
  288. # 获取底层页封面图
  289. public function view_pic()
  290. {
  291. $data = Dever::load('main/content.view_video_1');
  292. if ($data) {
  293. return false;
  294. }
  295. return true;
  296. }
  297. # 获取底层页视频
  298. public function view_video()
  299. {
  300. $data = Dever::load('main/content.view');
  301. $result = array();
  302. if ($data['video']) {
  303. return true;
  304. }
  305. return false;
  306. }
  307. # 获取底层页头部视频
  308. public function view_video_1()
  309. {
  310. $data = Dever::load('main/content.view');
  311. $result = array();
  312. if ($data['type'] == 3 && $data['video']) {
  313. return true;
  314. }
  315. return false;
  316. }
  317. # 获取底层页尾部视频
  318. public function view_video_2()
  319. {
  320. $data = Dever::load('main/content.view');
  321. $result = array();
  322. if ($data['type'] != 3 && $data['content_video']) {
  323. return true;
  324. }
  325. return false;
  326. }
  327. # 获取标签
  328. public function view_tag()
  329. {
  330. $data = Dever::load('main/content.view');
  331. $result = array();
  332. if ($data['tag']) {
  333. $tag = '';
  334. if (strstr($data['tag'], ',')) {
  335. $tag = explode(',', $data['tag']);
  336. } elseif (strstr($data['tag'], ',')) {
  337. $tag = explode(',', $data['tag']);
  338. }
  339. if ($tag && is_array($tag)) {
  340. foreach($tag as $k => $v) {
  341. $result[$k]['name'] = $v;
  342. $result[$k]['link'] = Dever::url('search?type='.$data['type'].'&v=' . $v);
  343. }
  344. }
  345. }
  346. return $result;
  347. }
  348. # 获取单页内容
  349. public function getPage()
  350. {
  351. $key = Dever::input('key', 1);
  352. $where['key'] = $key;
  353. $data = Dever::db('main/page')->one($where);
  354. return $data;
  355. }
  356. # 获取单页内容
  357. public function getAbout()
  358. {
  359. Dever::setInput('key', 'about');
  360. return $this->getPage();
  361. }
  362. # 搜索页面
  363. public function search()
  364. {
  365. $url = Dever::url('search?v=');
  366. $html = 'location.href=\''.$url.'\'+$(\'#search\').val()';
  367. return $html;
  368. }
  369. # 手机搜索页面
  370. public function msearch()
  371. {
  372. $url = Dever::url('search?v=');
  373. $html = 'location.href=\''.$url.'\'+$(\'#msearch\').val()';
  374. return $html;
  375. }
  376. # 获取联系我们的需求分类
  377. public function contact_xuqiu()
  378. {
  379. return Dever::db('act/contact')->config['xuqiu'];
  380. }
  381. # 新增联系我们
  382. public function contact_add()
  383. {
  384. $username = Dever::input('username');
  385. $mobile = Dever::input('mobile');
  386. $email = Dever::input('email');
  387. $content = Dever::input('content');
  388. $xuqiu = Dever::input('xuqiu', 3);
  389. if (!$username) {
  390. Dever::alert('请填写姓名');
  391. }
  392. if (!$mobile) {
  393. Dever::alert('请填写联系电话');
  394. }
  395. if (!$email) {
  396. Dever::alert('请填写电子信箱');
  397. }
  398. Dever::load('act/lib/contact')->add($username, $mobile, $email, $content, $xuqiu);
  399. return 'ok';
  400. }
  401. # 新增订阅
  402. public function ding_add()
  403. {
  404. $username = Dever::input('username');
  405. $email = Dever::input('email');
  406. $qudao = Dever::input('qudao', 1);
  407. if (!$username) {
  408. Dever::alert('请填写用户名');
  409. }
  410. if (!$email) {
  411. Dever::alert('请填写电子信箱');
  412. }
  413. Dever::load('act/lib/ding')->add($username, $email, $qudao);
  414. return 'ok';
  415. }
  416. # 新增分享
  417. public function share_add()
  418. {
  419. $name = Dever::input('name');
  420. $link = Dever::input('link');
  421. $type = Dever::input('type', 1);
  422. if (!$name) {
  423. Dever::alert('请填写内容名称');
  424. }
  425. if (!$link) {
  426. Dever::alert('请填写链接');
  427. }
  428. Dever::load('act/lib/share')->add($name, $link, $type);
  429. return 'ok';
  430. }
  431. # 造物主信息
  432. public function getZwzOne()
  433. {
  434. $id = Dever::input('id');
  435. if (!$id) {
  436. Dever::alert('错误的数据id');
  437. }
  438. $data = Dever::load('content/lib/creater')->getInfo($id);
  439. return $data;
  440. }
  441. # 获取造物主下的虚拟人列表
  442. public function getXnrByZwz()
  443. {
  444. $id = Dever::input('id');
  445. if (!$id) {
  446. Dever::alert('错误的数据id');
  447. }
  448. $data = Dever::load('content/lib/xuniren')->getDataByCreater($id);
  449. return $data;
  450. }
  451. # 虚拟人信息
  452. public function getXnrOne()
  453. {
  454. $id = Dever::input('id');
  455. if (!$id) {
  456. Dever::alert('错误的数据id');
  457. }
  458. $data = Dever::load('content/lib/xuniren')->getInfo($id);
  459. return $data;
  460. }
  461. # 虚拟人信息 相关资讯
  462. public function getXnrOne_news()
  463. {
  464. $data = Dever::load('main/content.getXnrOne');
  465. if ($data && $data['news']) {
  466. foreach($data['news'] as $k => $v) {
  467. $data['news'][$k]['class'] = '';
  468. }
  469. $data['news'][] = array
  470. (
  471. 'name' => '相关资讯',
  472. 'link' => '#',
  473. 'class' => 'tag',
  474. );
  475. return $data['news'];
  476. }
  477. return array();
  478. }
  479. # 虚拟人信息 多个图片
  480. public function getXnrOne_pic()
  481. {
  482. $data = Dever::load('main/content.getXnrOne');
  483. if ($data && isset($data['pic_list']) && $data['pic_list']) {
  484. return $data['pic_list'];
  485. }
  486. return array();
  487. }
  488. # 获取虚拟人列表
  489. public function getXnr()
  490. {
  491. $data = Dever::db('content/xuniren')->getAll();
  492. $html = '';
  493. foreach ($data as $k => $v) {
  494. $k = strtoupper($k);
  495. $html .= '<dl id="'.$k.'"><dt>' . $k . '</dt><dd>';
  496. foreach ($v as $k1 => $v1) {
  497. $url = Dever::url('main/xnr-detail?id=' . $v1['id']);
  498. $html .= '<a href="'.$url.'">'.$v1['name'].'</a>';
  499. }
  500. $html .= '</dl>';
  501. }
  502. return $html;
  503. }
  504. # 获取造物主列表
  505. public function getZwz()
  506. {
  507. $data = Dever::db('content/creater')->getAll();
  508. $html = '';
  509. foreach ($data as $k => $v) {
  510. $k = strtoupper($k);
  511. $html .= '<dl id="'.$k.'"><dt>' . $k . '</dt><dd>';
  512. foreach ($v as $k1 => $v1) {
  513. $url = Dever::url('main/zwz-detail?id=' . $v1['id']);
  514. $html .= '<a href="'.$url.'">'.$v1['name'].'</a>';
  515. }
  516. $html .= '</dl>';
  517. }
  518. return $html;
  519. }
  520. # 播放视频
  521. public function video()
  522. {
  523. $id = Dever::input('id');
  524. $data = Dever::db('content/news')->one($id);
  525. $video = '';
  526. if ($data && $data['type'] == 3) {
  527. $video = $data['video'];
  528. } elseif ($data && $data['type'] != 3) {
  529. $video = $data['content_video'];
  530. }
  531. if ($data && $video) {
  532. $info['video'] = $video;
  533. if (strstr($info['video'], '.qq.com')) {
  534. $info['video'] = Dever::qqvideo($info['video']);
  535. }
  536. return $info;
  537. }
  538. return array();
  539. }
  540. }