Content.php 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. <?php
  2. namespace Main\Src;
  3. use Dever;
  4. use Main\Lib\Core;
  5. //class Content extends Core
  6. class Content
  7. {
  8. public function test()
  9. {
  10. $test_url = 'http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json';
  11. $appkey = '32667432-5f6a-4b45-9a84-d8bad424d421';
  12. $param['RequestData'] = json_encode(array
  13. (
  14. 'OrderCode' => '',
  15. 'ShipperCode' => 'zhongtong',
  16. 'LogisticCode' => '75323014559816',
  17. ));
  18. $param['EBusinessID'] = 'test1615206';
  19. $param['RequestType'] = '1002';
  20. $param['DataType'] = '2';
  21. $param['DataSign'] = urlencode(base64_encode(md5($param['RequestData'] . $appkey)));
  22. $data = Dever::curl($test_url, $param, 'post', true);
  23. print_r($data);die;
  24. }
  25. public function user()
  26. {
  27. $user = Dever::load('passport/user')->data();
  28. if ($user) {
  29. $url = Dever::url('passport/login.quit');
  30. $html = '<li>'.$user['email'].'</li><li><a href="'.$url.'">退出</a></li>';
  31. } else {
  32. $html = '<li><a href="javascript:;" onclick="login()">登录</a></li>
  33. <li><a href="javascript:;" onclick="reg()">注册</a></li>';
  34. }
  35. $config = $this->config();
  36. $link = $config['email_link'];
  37. $html .= '<li><a href="'.$link.'" target="_blank">企业邮箱登录</a></li>';
  38. return $html;
  39. }
  40. # 基本配置
  41. public function config()
  42. {
  43. return Dever::db('main/config')->one();
  44. }
  45. # 单页信息
  46. public function page($key = false)
  47. {
  48. $key = Dever::input('key', $key);
  49. $data = Dever::db('content/page')->one(array('key' => $key));
  50. $data['link'] = Dever::url('page?key=' . $data['key'], 'main');
  51. return $data;
  52. }
  53. # pdf信息
  54. public function pdf()
  55. {
  56. $user = Dever::load('passport/user')->data();
  57. if (!$user) {
  58. Dever::alert('未登录');
  59. }
  60. $id = Dever::input('id');
  61. $data = Dever::db('content/magazine')->one($id);
  62. $data['view'] = 'var file = "'.$data['file'].'"';
  63. return $data;
  64. }
  65. # 文章信息
  66. public function view($id = false)
  67. {
  68. $data = array();
  69. $id = Dever::input('id', $id);
  70. if ($id > 0) {
  71. $data = Dever::db('content/article')->one($id);
  72. $cate = Dever::db('content/cate')->one($data['cate_id']);
  73. $data['cate_name'] = $cate['name'];
  74. $data['cate_link'] = Dever::url('list?cate=' . $data['cate_id'], 'main');
  75. $author = Dever::db('content/author')->one($data['author_id']);
  76. $data['author_name'] = '编辑:' . $author['name'];
  77. $data['date'] = date('Y-m-d', $data['cdate']);
  78. $data['share'] = 'var wbtitle = "'.$data['name'].'";var wbpic = "'.$data['pic_cover'].'";var wbappkey = "1867678939"';
  79. }
  80. return $data;
  81. }
  82. # 栏目信息
  83. public function cate($cate = false)
  84. {
  85. $data = array();
  86. $id = Dever::input('cate', $cate);
  87. if ($id > 0) {
  88. $data = Dever::db('content/cate')->one($id);
  89. $data['cate_link_1'] = Dever::url('list?cate=' . $data['id'], 'main');
  90. $data['cate_link_2'] = Dever::url('list_text?cate=' . $data['id'], 'main');
  91. }
  92. return $data;
  93. }
  94. # 菜单
  95. public function menu()
  96. {
  97. $config = $this->config();
  98. # 小程序去掉视频栏目
  99. $cate = array();
  100. //$cate['id_no'] = 2;
  101. $data = Dever::db('content/cate')->getAll($cate);
  102. if ($data) {
  103. foreach ($data as $k => $v) {
  104. $data[$k]['link'] = Dever::url('list?cate=' . $v['id'], 'main');
  105. }
  106. }
  107. $data[-2] = array
  108. (
  109. 'id' => -2,
  110. 'name' => '电子杂志',
  111. 'link' => Dever::url('magazine?cate=-2', 'main'),
  112. 'class' => '',
  113. );
  114. $data[-3] = array
  115. (
  116. 'id' => -3,
  117. 'name' => '报刊订阅',
  118. 'link' => $config['buy_link'],
  119. 'class' => '',
  120. );
  121. $index = array
  122. (
  123. 'id' => -1,
  124. 'name' => '首页',
  125. 'link' => Dever::url('home', 'main'),
  126. 'class' => '',
  127. );
  128. $cate = Dever::input('cate', -1);
  129. if ($cate == -1) {
  130. $index['class'] = 'active';
  131. } elseif ($cate == -2) {
  132. $data[-2]['class'] = 'active';
  133. } else {
  134. foreach ($data as $k => $v) {
  135. $data[$k]['class'] = '';
  136. if ($cate == $v['id']) {
  137. $data[$k]['class'] = 'active';
  138. }
  139. }
  140. }
  141. array_unshift($data, $index);
  142. return $data;
  143. }
  144. # 焦点图
  145. public function focus()
  146. {
  147. $cate = Dever::input('cate', -1);
  148. $key = 'focus_' . $cate;
  149. $name = '焦点图';
  150. if ($cate > 0) {
  151. $cate = Dever::db('content/cate')->one($cate);
  152. if ($cate) {
  153. $name = $cate['name'] . $name;
  154. }
  155. } else {
  156. $name = '首页' . $name;
  157. }
  158. $data = Dever::load('push/lib/data')->get($key, $name, 6);
  159. return $data;
  160. }
  161. # 获取推荐列表
  162. public function getPush($data)
  163. {
  164. return Dever::load('push/lib/data')->get($data['key'], $data['name'], $data['num']);
  165. }
  166. # 获取广告位数据
  167. public function getAd($name)
  168. {
  169. $info = Dever::load('push/lib/data')->getOne('ad', '广告位', 20, $name);
  170. if ($info && $info['pic']) {
  171. return '<a href="'.$info['link'].'" target="_blank"><img src="'.$info['pic'].'" alt="'.$info['name'].'"></a>';
  172. } else {
  173. return '';
  174. }
  175. }
  176. # 获取首页文章列表
  177. public function getList($data)
  178. {
  179. $where['cate_id'] = $data['cate_id'];
  180. $where['limit'] = $data['num'];
  181. $data = Dever::db('content/article')->getList($where);
  182. if ($data) {
  183. foreach ($data as $k => $v) {
  184. if (isset($v['pic_index']) && $v['pic_index']) {
  185. $data[$k]['pic'] = $v['pic_index'];
  186. } else {
  187. $data[$k]['pic'] = $v['pic_cover'];
  188. }
  189. $data[$k]['link'] = $this->link($v);
  190. }
  191. }
  192. return $data;
  193. }
  194. # 获取文章列表
  195. public function getAll()
  196. {
  197. $where['cate_id'] = Dever::input('cate');
  198. $data = Dever::db('content/article')->getAll($where);
  199. if ($data) {
  200. foreach ($data as $k => $v) {
  201. $data[$k]['pic'] = $v['pic_cover'];
  202. $data[$k]['link'] = $this->link($v);
  203. }
  204. }
  205. return $data;
  206. }
  207. # 获取杂志列表
  208. public function getMagazine()
  209. {
  210. $where['cate_id'] = Dever::input('cate_id', 1);
  211. $data = Dever::db('content/magazine')->getAll($where);
  212. $user = Dever::load('passport/user')->data();
  213. if ($data) {
  214. foreach ($data as $k => $v) {
  215. $data[$k]['pic'] = $v['pic_cover'];
  216. if ($user) {
  217. $data[$k]['link'] = Dever::url('pdf?id=' . $v['id']);
  218. } else {
  219. $data[$k]['link'] = 'javascript:login()';
  220. }
  221. }
  222. }
  223. return $data;
  224. }
  225. # 获取杂志分类列表
  226. public function getMagazineCate()
  227. {
  228. $data = Dever::db('content/magazine_cate')->getAll();
  229. if ($data) {
  230. foreach ($data as $k => $v) {
  231. $data[$k]['pic'] = $v['pic_cover'];
  232. $data[$k]['link'] = Dever::url('magazine_list?cate=-2&cate_id=' . $v['id']);
  233. }
  234. }
  235. return $data;
  236. }
  237. # 获取文章列表
  238. public function getRelation()
  239. {
  240. $id = Dever::input('id');
  241. $info = Dever::db('content/article')->one($id);
  242. $where['noid'] = $id;
  243. $where['cate_id'] = $info['cate_id'];
  244. $data = Dever::db('content/article')->getRelation($where);
  245. if ($data) {
  246. foreach ($data as $k => $v) {
  247. $data[$k]['pic'] = $v['pic_cover'];
  248. $data[$k]['link'] = $this->link($v);
  249. }
  250. }
  251. return $data;
  252. }
  253. public function link($data)
  254. {
  255. if ($data['template'] == 2) {
  256. $link = Dever::url('video?cate='.$data['cate_id'].'&id=' . $data['id'], 'main');
  257. } else {
  258. $link = Dever::url('view?cate='.$data['cate_id'].'&id=' . $data['id'], 'main');
  259. }
  260. return $link;
  261. }
  262. }