Core.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. namespace Tag\Lib;
  3. use Dever;
  4. class Core
  5. {
  6. # 更新数据
  7. public function data($id, $name, $data)
  8. {
  9. $source_table = Dever::input('source_table');
  10. $tag = Dever::param('tag', $data);
  11. if ($tag && $id > 0 && $source_table) {
  12. $tag = explode(',', $tag);
  13. foreach ($tag as $k => $v) {
  14. if (!$v || $v == 'null') {
  15. unset($tag[$k]);
  16. continue;
  17. }
  18. $info = Dever::db('tag/info')->one($v);
  19. if (!$info) {
  20. if ($v) {
  21. $insert['name'] = $v;
  22. $tag_id = Dever::db('tag/info')->insert($insert);
  23. $tag[$k] = $tag_id;
  24. } else {
  25. unset($tag[$k]);
  26. continue;
  27. }
  28. } else {
  29. $tag_id = $v;
  30. }
  31. if ($tag_id > 0) {
  32. $tag_data = array
  33. (
  34. 'tag_id' => $tag_id,
  35. 'source_table' => $source_table,
  36. 'source_id' => $id,
  37. );
  38. $data_info = Dever::db('tag/data')->one($tag_data);
  39. if (!$data_info) {
  40. Dever::db('tag/data')->insert($tag_data);
  41. }
  42. }
  43. }
  44. $tag = implode(',', $tag);
  45. Dever::db($source_table)->update(array('where_id' => $id, 'tag' => $tag));
  46. }
  47. Dever::load('content/lib/author')->data($id, $name, $data);
  48. }
  49. # 搜索
  50. public function search_api()
  51. {
  52. $keyword = Dever::input('keyword');
  53. $yes = Dever::input('yes');
  54. $where = array();
  55. if ($yes) {
  56. $yes = Dever::db('tag/info')->getAll(array('ids' => $yes));
  57. }
  58. if (!$keyword) {
  59. $where['limit'] = '0,50';
  60. $data = Dever::db('tag/info')->getAll($where);
  61. } else {
  62. $where['name'] = $keyword;
  63. $data = Dever::db('tag/info')->getAll($where);
  64. }
  65. $insert = array();
  66. if (!$data && $keyword) {
  67. $insert[0]['name'] = $keyword . '[新增]';
  68. $insert[0]['value'] = $keyword;
  69. }
  70. $result = array();
  71. if ($yes) {
  72. foreach ($yes as $k => $v) {
  73. if (isset($data[$k])) {
  74. unset($data[$k]);
  75. }
  76. $yes[$k]['selected'] = 'selected';
  77. }
  78. $data = $insert + $yes + $data;
  79. $data = array_merge($data, array());
  80. } else {
  81. $data = $insert + $data;
  82. $data = array_merge($data, array());
  83. }
  84. if (!$data) {
  85. Dever::alert('暂无数据');
  86. }
  87. return $data;
  88. }
  89. }