Links.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <?php
  2. /**
  3. * 友情链接管理控制器
  4. */
  5. namespace app\admin\controller;
  6. use app\common\library\MakeReport;
  7. use app\common\model\Links as LinksModel;
  8. use Overtrue\Pinyin\Pinyin;
  9. use think\Db;
  10. use think\Exception;
  11. class Links extends Admin
  12. {
  13. /**
  14. * 不进行父类的登录验证,所以增加构造方法重写了父类的初始化方法
  15. */
  16. protected function _initialize()
  17. {
  18. parent::_initialize();
  19. }
  20. /**
  21. * 友情链接列表
  22. */
  23. public function index()
  24. {
  25. $order = trim(input('request.order'));
  26. if(!$order) $order = 'create_time';
  27. $where = [];
  28. //游戏名称
  29. if (input('request.name') != '') {
  30. $where['name'] = ['like', '%' .trim(input('request.name')).'%'];
  31. }
  32. //标题
  33. if (input('request.url') != '') {
  34. $where['url'] = ['like', '%' .trim(input('request.url')).'%'];
  35. }
  36. if($order=='create_time'){
  37. $orderby = 'create_time desc,id asc';
  38. }
  39. else{
  40. $orderby = 'sort asc,id asc';
  41. }
  42. //查询参数
  43. $param = input('get.');
  44. $links = model('Links')->field('id,name,url,sort,create_time')
  45. ->where($where)->order($orderby)
  46. ->paginate(10, false, array('query' => $param));
  47. // echo model('Links')->getLastSql()."----getLastSql------<Br>";
  48. $this->assign('links', $links);
  49. $this->assign('page', $links->render());
  50. $this->assign('order', $order);
  51. return $this->fetch('index');
  52. }
  53. /**
  54. * 删除友情链接
  55. *
  56. */
  57. public function delete()
  58. {
  59. $id = input('id', 0, 'intval');
  60. if (empty($id)) $this->error('删除记录的ID不能为空');
  61. if (model('Links')->where(['id' => $id])->delete()) {
  62. $this->success('删除成功');
  63. } else {
  64. $this->error('删除失败');
  65. }
  66. }
  67. /**
  68. * 新增友情链接
  69. */
  70. public function add()
  71. {
  72. if (request()->isPost()) {
  73. $data = [
  74. 'name' => input('post.name', '', 'trim'),
  75. 'url' => input('post.url','','trim'),
  76. 'sort' => input('post.sort','','trim'),
  77. ];
  78. $result = $this->validate($data, [
  79. ['name', 'require', '请输入链接名'],
  80. ['url', 'require', '请输入链接地址'],
  81. ['sort', 'require|integer', '请选择排序号|排序号必须为整型'],
  82. ]);
  83. if (true !== $result) {
  84. $this->error($result);
  85. }
  86. //检查是否已存在记录
  87. $condis = array();
  88. $condis['name'] = $data['name'];
  89. $condis['url'] = $data['url'];
  90. $linkInfo = model('Links')->whereOr($condis)->find();
  91. // echo model('Links')->getLastSql()."---lastsql-----<br>";
  92. if(!empty($linkInfo)){
  93. $this->error('已存在该链接名或链接地址');
  94. }
  95. $data['create_time'] = time();
  96. if (model('Links')->insert($data)) $this->success('新增成功', 'links/index');
  97. else $this->error('新增失败');
  98. }
  99. return $this->fetch('add');
  100. }
  101. /**
  102. * 编辑友情链接
  103. */
  104. public function edit()
  105. {
  106. $id = input('id', 0, 'intval');
  107. if (empty($id)) $this->error('友情链接的ID不能为空');
  108. $linkInfo = model('Links')->where(['id' => $id])->find();
  109. if (empty($linkInfo)) $this->error('记录不存在');
  110. if (request()->isPost()) {
  111. $data = [
  112. 'name' => input('post.name', '', 'trim'),
  113. 'url' => input('post.url','','trim'),
  114. 'sort' => input('post.sort','','trim'),
  115. ];
  116. $result = $this->validate($data, [
  117. ['name', 'require', '请输入链接名'],
  118. ['url', 'require', '请输入链接地址'],
  119. ['sort', 'require|integer', '请输入排序号|排序号必须为整型'],
  120. ]);
  121. if (true !== $result) {
  122. $this->error($result);
  123. }
  124. //检查是否已存在记录
  125. $condis = array();
  126. $condis['name'] = $data['name'];
  127. $condis['id'] = array('neq',$id);
  128. $linkInfo = model('Links')->where($condis)->find();
  129. if(!empty($linkInfo)){
  130. $this->error('已存在该链接名或链接地址');
  131. }
  132. $condis = array();
  133. $condis['url'] = $data['url'];
  134. $condis['id'] = array('neq',$id);
  135. $linkInfo = model('Links')->where($condis)->find();
  136. if(!empty($linkInfo)){
  137. $this->error('已存在该链接名或链接地址');
  138. }
  139. if (model('Links')->update($data, ['id' => $id])) {
  140. $this->success('编辑成功', 'links/index');
  141. } else
  142. $this->error('编辑失败');
  143. }
  144. $this->assign('data', $linkInfo);
  145. return $this->fetch('edit');
  146. }
  147. }