1: <?php
2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
12:
13: if ( ! defined( 'ABSPATH' ) ) {
14: exit;
15: }
16:
17: 18: 19:
20: class WxRobot_Table_Menu{
21:
22: 23: 24:
25: public $table_prefix = 'midoks_';
26:
27: 28: 29:
30: public static $_instance = null;
31:
32:
33: 34: 35: 36: 37:
38: public static function instance(){
39: if( is_null (self::$_instance)){
40: self::$_instance = new self();
41: }
42: return self::$_instance;
43: }
44:
45: 46: 47: 48: 49:
50: private function get_table_name(){
51: return $this->table_prefix.'weixin_robot_menu';
52: }
53:
54:
55: 56: 57: 58: 59:
60: public function clear_menu(){
61: global $wpdb;
62: $table_name = $this->get_table_name();
63: $sql = 'truncate '.$table_name;
64: return $wpdb->query($sql);
65: }
66:
67: 68: 69: 70: 71: 72: 73: 74: 75: 76:
77: public function update_menu($id, $name, $type, $value, $sort){
78: global $wpdb;
79: $table_name = $this->get_table_name();
80:
81: $sql = "update {$table_name} set menu_name='{$name}', menu_type='{$type}', menu_callback='{$value}', menu_sort='{$sort}' where id='{$id}'";
82: return $wpdb->query($sql);
83: }
84:
85: 86: 87: 88: 89: 90: 91: 92: 93: 94:
95: public function insert_menu($menu_name, $menu_type, $menu_key, $menu_callback, $pid){
96: global $wpdb;
97: $table_name = $this->get_table_name();
98:
99: $sql = "INSERT INTO `{$table_name}` (`id`, `menu_name`, `menu_type`, `menu_key`, `menu_callback`, `pid`)"
100: ." VALUES(null,'{$menu_name}','{$menu_type}','{$menu_key}', '{$menu_callback}', '{$pid}')";
101: return $wpdb->query($sql);
102: }
103:
104: 105: 106: 107: 108: 109:
110: public function delete_menu_id($id){
111: global $wpdb;
112: $table_name = $this->get_table_name();
113:
114: $sql = "delete from {$table_name} where `id`='{$id}'";
115: $this->delete_menu_g_id($id);
116: return $wpdb->query($sql);
117: }
118:
119: 120: 121: 122: 123: 124:
125: public function delete_menu_g_id($pid){
126: global $wpdb;
127: $table_name = $this->get_table_name();
128:
129: $sql = "delete from {$table_name} where `pid`='{$pid}'";
130: return $wpdb->query($sql);
131: }
132:
133:
134: 135: 136: 137: 138:
139: public function weixin_get_menu_data(){
140:
141: global $wpdb;
142: $table_name = $this->get_table_name();
143:
144: $sql = "select `id`,`menu_name`,`menu_type`,`menu_key`, `menu_callback`, `menu_sort`,`pid`"
145: ." from {$table_name} order by `menu_sort` desc";
146: $data = $wpdb->get_results($sql);
147: if(empty($data)){
148: return false;
149: }else{
150: $arrs = array();
151: foreach($data as $k=>$v){
152: $arr['id'] = $v->id;
153: $arr['menu_name'] = $v->menu_name;
154: $arr['menu_type'] = $v->menu_type;
155: $arr['menu_key'] = $v->menu_key;
156: $arr['menu_callback'] = $v->menu_callback;
157: $arr['menu_sort'] = $v->menu_sort;
158: $arr['pid'] = $v->pid;
159: $arrs[] = $arr;
160: }
161: return $arrs;
162: }
163: }
164:
165: 166: 167: 168: 169:
170: public function weixin_get_menu_p_data(){
171: global $wpdb;
172: $table_name = $this->get_table_name();
173:
174: $sql = "select `id`,`menu_name`, `menu_type`, `menu_key`, `menu_callback`, `menu_sort`, `pid`"
175: ." from `{$table_name}` where `pid`='0' order by `menu_sort` desc";
176: $data = $wpdb->get_results($sql);
177: if(empty($data)){
178: return false;
179: }else{
180: $arrs = array();
181: foreach($data as $k=>$v){
182: $arr['id'] = $v->id;
183: $arr['menu_name'] = $v->menu_name;
184: $arr['menu_type'] = $v->menu_type;
185: $arr['menu_key'] = $v->menu_key;
186: $arr['menu_callback'] = $v->menu_callback;
187: $arr['menu_sort'] = $v->menu_sort;
188: $arr['pid'] = $v->pid;
189: $arrs[] = $arr;
190: }
191: return $arrs;
192: }
193: }
194:
195: 196: 197: 198: 199: 200:
201: public function weixin_get_menu_p_data_id($id){
202: global $wpdb;
203: $table_name = $this->get_table_name();
204:
205: $sql = "select `id`,`menu_name`, `menu_type`, `menu_key`, `menu_callback`,`menu_sort`, `pid`"
206: ." from {$table_name} where `pid`='{$id}' order by menu_sort desc";
207: $data = $wpdb->get_results($sql);
208: if(empty($data)){
209: return false;
210: }else{
211: $arrs = array();
212: foreach($data as $k=>$v){
213: $arr['id'] = $v->id;
214: $arr['menu_name'] = $v->menu_name;
215: $arr['menu_type'] = $v->menu_type;
216: $arr['menu_key'] = $v->menu_key;
217: $arr['menu_callback'] = $v->menu_callback;
218: $arr['menu_sort'] = $v->menu_sort;
219: $arr['pid'] = $v->pid;
220: $arrs[] = $arr;
221: }
222: return $arrs;
223: }
224: }
225:
226: 227: 228: 229: 230:
231: public function weixin_get_menu_p_count(){
232: global $wpdb;
233: $table_name = $this->get_table_name();
234:
235: $sql = "select count(id) as count from {$table_name} where `pid`='0'";
236: $data = $wpdb->get_results($sql);
237: return $data[0]->count;
238: }
239:
240: 241: 242: 243: 244: 245:
246: public function weixin_get_menu_c_count($id){
247: global $wpdb;
248: $table_name = $this->get_table_name();
249:
250: $sql = "select count(id) as count from {$table_name} where `pid`='{$id}'";
251: $data = $wpdb->get_results($sql);
252: return $data[0]->count;
253: }
254:
255:
256: }
257: ?>
258: