module.table.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. /**
  3. * [WeEngine System] Copyright (c) 2014 WE7.CC
  4. * WeEngine is NOT a free software, it under the license terms, visited http://www.we7.cc/ for more details.
  5. */
  6. defined('IN_IA') or exit('Access Denied');
  7. class ModuleTable extends We7Table {
  8. protected $tableName = 'modules';
  9. protected $primaryKey = 'mid';
  10. public function bindings() {
  11. return $this->hasMany('modulebinding', 'module', 'name');
  12. }
  13. public function moduleBindingsInfo($module, $do = '', $entry = '') {
  14. $condition = array(
  15. 'module' => $module,
  16. 'do' => $do,
  17. );
  18. if (!empty($do)) {
  19. $condition['do'] = $do;
  20. }
  21. if (!empty($entry)) {
  22. $condition['entry'] = $entry;
  23. }
  24. return $this->query->from('modules_bindings')->where($condition)->get();
  25. }
  26. public function moduleLists($package_group_module) {
  27. return $this->query->from('modules')->where('issystem', 1)->whereor('name', $package_group_module)->orderby('mid', 'desc')->getall('name');
  28. }
  29. public function moduleRank($module_name = '') {
  30. global $_W;
  31. $this->query->from('modules_rank')->where('uid', $_W['uid']);
  32. if (!empty($module_name)) {
  33. $this->query->where('module_name', $module_name);
  34. }
  35. return $this->query->getall('module_name');
  36. }
  37. public function moduleMaxRank() {
  38. global $_W;
  39. $rank_info = $this->query->from('modules_rank')->select('max(rank)')->where('uid', $_W['uid'])->get();
  40. return $rank_info['0'];
  41. }
  42. public function moduleSetRankTop($module_name) {
  43. global $_W;
  44. if (empty($module_name)) {
  45. return false;
  46. }
  47. $max_rank = $this->moduleMaxRank();
  48. $exist = $this->moduleRank($module_name);
  49. if (!empty($exist)) {
  50. pdo_update('modules_rank', array('rank' => ($max_rank + 1)), array('module_name' => $module_name));
  51. } else {
  52. pdo_insert('modules_rank', array('uid' => $_W['uid'], 'module_name' => $module_name, 'rank' => ($max_rank + 1)));
  53. }
  54. return true;
  55. }
  56. public function modulesWxappList() {
  57. return $this->query->from('modules')->where('wxapp_support', MODULE_SUPPORT_WXAPP)->getall('mid');
  58. }
  59. public function moduleLinkUniacidInfo($module_name) {
  60. if (empty($module_name)) {
  61. return array();
  62. }
  63. $result = $this->query->from('uni_account_modules')->where('module', $module_name)->getall();
  64. if (!empty($result)) {
  65. foreach ($result as $key => $value) {
  66. $result[$key]['settings'] = iunserializer($value['settings']);
  67. if (empty($result[$key]['settings']) || empty($result[$key]['settings']['link_uniacid'])) {
  68. unset($result[$key]);
  69. }
  70. }
  71. return $result;
  72. }
  73. return array();
  74. }
  75. public function uniAccountModuleInfo($module_name) {
  76. global $_W;
  77. if (empty($module_name)) {
  78. return array();
  79. }
  80. $result = $this->query->from('uni_account_modules')->where('module', $module_name)->where('uniacid', $_W['uniacid'])->get();
  81. if (!empty($result)) {
  82. $result['settings'] = iunserializer($result['settings']);
  83. return $result;
  84. }
  85. return array();
  86. }
  87. }