keylink.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. defined('IN_PHPCMS') or exit('No permission resources.');
  3. pc_base::load_app_class('admin','admin',0);
  4. class keylink extends admin {
  5. function __construct() {
  6. $this->db = pc_base::load_model('keylink_model');
  7. parent::__construct();
  8. }
  9. function init () {
  10. $page = $_GET['page'] ? intval($_GET['page']) : '1';
  11. $infos = $this->db->listinfo('','keylinkid DESC',$page ,'20');
  12. $pages = $this->db->pages;
  13. $big_menu = array('javascript:window.top.art.dialog({id:\'add\',iframe:\'?m=admin&c=keylink&a=add\', title:\''.L('add_keylink').'\', width:\'450\', height:\'130\'}, function(){var d = window.top.art.dialog({id:\'add\'}).data.iframe;var form = d.document.getElementById(\'dosubmit\');form.click();return false;}, function(){window.top.art.dialog({id:\'add\'}).close()});void(0);', L('add_keylink'));
  14. include $this->admin_tpl('keylink_list');
  15. }
  16. /**
  17. * 验证数据有效性
  18. */
  19. public function public_name() {
  20. $word = isset($_GET['word']) && trim($_GET['word']) ? (CHARSET == 'gbk' ? iconv('utf-8', 'gbk', trim($_GET['word'])) : trim($_GET['word'])) : exit('0');
  21. //修改检测
  22. $keylinkid = isset($_GET['keylinkid']) && intval($_GET['keylinkid']) ? intval($_GET['keylinkid']) : '';
  23. $data = array();
  24. if ($keylinkid) {
  25. $data = $this->db->get_one(array('keylinkid'=>$keylinkid), 'word');
  26. if (!empty($data) && $data['word'] == $word) {
  27. exit('1');
  28. }
  29. }
  30. //添加检测
  31. if ($this->db->get_one(array('word'=>$word), 'keylinkid')) {
  32. exit('0');
  33. } else {
  34. exit('1');
  35. }
  36. }
  37. /**
  38. * 关联词添加
  39. */
  40. function add() {
  41. if(isset($_POST['dosubmit'])){
  42. if(empty($_POST['info']['word']) || empty($_POST['info']['url']))return false;
  43. $this->db->insert($_POST['info']);
  44. $this->public_cache_file();//更新缓存
  45. showmessage(L('operation_success'),'?m=admin&c=keylink&a=add','', 'add');
  46. }else{
  47. $show_validator = $show_scroll = $show_header = true;
  48. include $this->admin_tpl('keylink_add');
  49. }
  50. }
  51. /**
  52. * 关联词修改
  53. */
  54. function edit() {
  55. if(isset($_POST['dosubmit'])){
  56. $keylinkid = intval($_GET['keylinkid']);
  57. if(empty($_POST['info']['word']) || empty($_POST['info']['url']))return false;
  58. $this->db->update($_POST['info'],array('keylinkid'=>$keylinkid));
  59. $this->public_cache_file();//更新缓存
  60. showmessage(L('operation_success'),'?m=admin&c=keylink&a=edit','', 'edit');
  61. }else{
  62. $show_validator = $show_scroll = $show_header = true;
  63. $info = $this->db->get_one(array('keylinkid'=>$_GET['keylinkid']));
  64. if(!$info) showmessage(L('specified_word_not_exist'));
  65. extract($info);
  66. include $this->admin_tpl('keylink_edit');
  67. }
  68. }
  69. /**
  70. * 关联词删除
  71. */
  72. function delete() {
  73. if(is_array($_POST['keylinkid'])){
  74. foreach($_POST['keylinkid'] as $keylinkid_arr) {
  75. $this->db->delete(array('keylinkid'=>$keylinkid_arr));
  76. }
  77. $this->public_cache_file();//更新缓存
  78. showmessage(L('operation_success'),'?m=admin&c=keylink');
  79. } else {
  80. $keylinkid = intval($_GET['keylinkid']);
  81. if($keylinkid < 1) return false;
  82. $result = $this->db->delete(array('keylinkid'=>$keylinkid));
  83. $this->public_cache_file();//更新缓存
  84. if($result){
  85. showmessage(L('operation_success'),'?m=admin&c=keylink');
  86. }else {
  87. showmessage(L("operation_failure"),'?m=admin&c=keylink');
  88. }
  89. }
  90. }
  91. /**
  92. * 生成缓存
  93. */
  94. public function public_cache_file() {
  95. $infos = $this->db->select('','word,url','','keylinkid ASC');
  96. $datas = $rs = array();
  97. foreach($infos as $r) {
  98. $rs[0] = $r['word'];
  99. $rs[1] = $r['url'];
  100. $datas[] = $rs;
  101. }
  102. setcache('keylink', $datas, 'commons');
  103. return true;
  104. }
  105. }
  106. ?>