Overview

Packages

  • None
  • WxRobot
    • Admin
    • Cmd
    • CoreFunctions
    • Exends
    • Install
    • Table
    • Uninstall
    • WxSDK

Classes

  • ErrorCode
  • PKCS7Encoder
  • Prpcrypt
  • SHA1
  • Weixin_BaseCore
  • WeiXin_SDK
  • Weixin_Template
  • WXBizMsgCrypt
  • WxRobot_Admin
  • WxRobot_Admin_Menu_Extends
  • WxRobot_Admin_Menu_Instro
  • WxRobot_Admin_Menu_Menu
  • WxRobot_Admin_Menu_Records
  • WxRobot_Admin_Menu_Reply
  • WxRobot_Admin_Menu_Setting
  • WxRobot_Admin_Menu_Statistics
  • WxRobot_Cmd
  • WxRobot_Cmd_Event
  • WxRobot_Cmd_Event_User
  • WxRobot_Cmd_Text
  • WxRobot_Extends
  • WxRobot_Install
  • WxRobot_Robot
  • WxRobot_SDK
  • WxRobot_Table_Extends
  • WxRobot_Table_Menu
  • WxRobot_Table_Records
  • WxRobot_Table_Reply
  • WxRobot_Uninstall
  • WxRobot_Wp
  • XMLParse

Functions

  • wx_admin_log
  • wx_is_xml
  • wx_notice_msg
  • wx_parse_xml
  • wx_random_big_pic
  • wx_random_small_pic
  • wx_request_array
  • wx_request_decode
  • wx_request_is_encode
  • wx_request_xml
  • wx_send_encode
  • Overview
  • Package
  • Class
  1: <?php
  2: /**
  3:  * WxRobot Table Extends 
  4:  * 
  5:  * WP微信机器人 菜单的相关功能
  6:  *
  7:  * @author      midoks
  8:  * @category    Table
  9:  * @package     WxRobot/Table
 10:  * @since       5.3.0
 11:  */
 12: 
 13: if ( ! defined( 'ABSPATH' ) ) {
 14:     exit;
 15: }
 16: 
 17: /**
 18:  *  WxRobot_Table_Menu 菜单表模型
 19:  */
 20: class WxRobot_Table_Menu{
 21: 
 22:     /**
 23:      * 表前缀
 24:      */
 25:     public $table_prefix = 'midoks_';
 26: 
 27:     /**
 28:      * Table Extends Instance
 29:      */
 30:     public static $_instance = null;
 31:     
 32: 
 33:     /**
 34:      * WxRobot 扩展表类实例化
 35:      * 
 36:      * @return WxRobot_Table_Extends - Table Extends instance
 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:      * @return string
 49:      */
 50:     private function get_table_name(){
 51:         return $this->table_prefix.'weixin_robot_menu';
 52:     }
 53: 
 54: 
 55:     /**
 56:      * 清空数据
 57:      * 
 58:      * @return bool
 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:      *  @param int $id ID
 71:      *  @param string $name 菜单名
 72:      *  @param string $type 菜单类型
 73:      *  @param string $value 菜单值
 74:      *  @param int  $sort  排序值
 75:      *  @return bool
 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:      * @param string $menu_name 菜单名
 89:      * @param string $menu_type 菜单类型
 90:      * @param string $menu_key  菜单key值
 91:      * @param string $menu_callback 菜单回复值
 92:      * @param int    $pid 菜单父ID
 93:      * @return bool
 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:      * @param int $id ID
108:      * @return bool
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:      * @param int $pid 父ID
123:      * @return bool
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:      * @return array
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:      * @return array
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:      * @param int $id ID
199:      * @return array
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:      * @return int
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:      * @param int $id ID
244:      * @return int
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: 
API documentation generated by ApiGen