Nav Menu Roles - Version 1.6.3

Version Description

  • Try again to add languages. Where'd they all go?
Download this release

Release Info

Developer helgatheviking
Plugin Icon 128x128 Nav Menu Roles
Version 1.6.3
Comparing to
See all releases

Version 1.6.3

inc/class.Nav_Menu_Roles_Import.php ADDED
@@ -0,0 +1,302 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Nav Menu Roles Importer - import menu item meta
4
+ *
5
+ * @author Kathy Darling
6
+ * @since 1.3
7
+ */
8
+
9
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
10
+
11
+ if ( ! defined( 'WP_LOAD_IMPORTERS' ) )
12
+ return;
13
+
14
+ /** Display verbose errors */
15
+ define( 'IMPORT_DEBUG', false );
16
+
17
+ // Load Importer API
18
+ require_once ABSPATH . 'wp-admin/includes/import.php';
19
+
20
+ if ( ! class_exists( 'WP_Importer' ) ) {
21
+ $class_wp_importer = ABSPATH . 'wp-admin/includes/class-wp-importer.php';
22
+ if ( file_exists( $class_wp_importer ) )
23
+ require $class_wp_importer;
24
+ }
25
+
26
+ if ( class_exists( 'WP_Importer' ) && ! class_exists( 'Nav_Menu_Roles_Import' ) ) {
27
+ class Nav_Menu_Roles_Import extends WP_Importer {
28
+
29
+ var $max_wxr_version = 1.2; // max. supported WXR version
30
+
31
+ var $id; // WXR attachment ID
32
+
33
+ // information to import from WXR file
34
+ var $version;
35
+ var $posts = array();
36
+ var $base_url = '';
37
+
38
+
39
+ /**
40
+ * __construct function.
41
+ *
42
+ * @access public
43
+ * @return void
44
+ */
45
+ public function __construct() {
46
+ $this->import_page = 'woocommerce_tax_rate_csv';
47
+ }
48
+
49
+ /**
50
+ * Registered callback function for the WordPress Importer
51
+ *
52
+ * Manages the three separate stages of the WXR import process
53
+ */
54
+ function dispatch() {
55
+ $this->header();
56
+
57
+ $step = empty( $_GET['step'] ) ? 0 : (int) $_GET['step'];
58
+ switch ( $step ) {
59
+ case 0:
60
+ $this->greet();
61
+ break;
62
+ case 1:
63
+ check_admin_referer( 'import-upload' );
64
+ if ( $this->handle_upload() ) {
65
+ $file = get_attached_file( $this->id );
66
+ set_time_limit(0);
67
+ $this->import( $file );
68
+ }
69
+ break;
70
+ }
71
+
72
+ $this->footer();
73
+ }
74
+
75
+ /**
76
+ * The main controller for the actual import stage.
77
+ *
78
+ * @param string $file Path to the WXR file for importing
79
+ */
80
+ function import( $file ) {
81
+ add_filter( 'import_post_meta_key', array( $this, 'is_valid_meta_key' ) );
82
+ add_filter( 'http_request_timeout', array( &$this, 'bump_request_timeout' ) );
83
+
84
+ $this->import_start( $file );
85
+
86
+ wp_suspend_cache_invalidation( true );
87
+ $this->process_nav_menu_meta();
88
+ wp_suspend_cache_invalidation( false );
89
+
90
+ $this->import_end();
91
+ }
92
+
93
+ /**
94
+ * Parses the WXR file and prepares us for the task of processing parsed data
95
+ *
96
+ * @param string $file Path to the WXR file for importing
97
+ */
98
+ function import_start( $file ) {
99
+ if ( ! is_file($file) ) {
100
+ echo '<p><strong>' . __( 'Sorry, there has been an error.', 'nav-menu-roles' ) . '</strong><br />';
101
+ echo __( 'The file does not exist, please try again.', 'nav-menu-roles' ) . '</p>';
102
+ $this->footer();
103
+ die();
104
+ }
105
+
106
+ $import_data = $this->parse( $file );
107
+
108
+ if ( is_wp_error( $import_data ) ) {
109
+ echo '<p><strong>' . __( 'Sorry, there has been an error.', 'nav-menu-roles' ) . '</strong><br />';
110
+ echo esc_html( $import_data->get_error_message() ) . '</p>';
111
+ $this->footer();
112
+ die();
113
+ }
114
+
115
+ $this->version = $import_data['version'];
116
+ $this->posts = $import_data['posts'];
117
+ $this->base_url = esc_url( $import_data['base_url'] );
118
+
119
+ wp_defer_term_counting( true );
120
+ wp_defer_comment_counting( true );
121
+
122
+ do_action( 'import_start' );
123
+ }
124
+
125
+ /**
126
+ * Performs post-import cleanup of files and the cache
127
+ */
128
+ function import_end() {
129
+ wp_import_cleanup( $this->id );
130
+
131
+ wp_cache_flush();
132
+ foreach ( get_taxonomies() as $tax ) {
133
+ delete_option( "{$tax}_children" );
134
+ _get_term_hierarchy( $tax );
135
+ }
136
+
137
+ wp_defer_term_counting( false );
138
+ wp_defer_comment_counting( false );
139
+
140
+ echo '<p>' . __( 'All done.', 'nav-menu-roles' ) . ' <a href="' . admin_url() . '">' . __( 'Have fun!', 'nav-menu-roles' ) . '</a>' . '</p>';
141
+
142
+ do_action( 'import_end' );
143
+ }
144
+
145
+ /**
146
+ * Handles the WXR upload and initial parsing of the file to prepare for
147
+ * displaying author import options
148
+ *
149
+ * @return bool False if error uploading or invalid file, true otherwise
150
+ */
151
+ function handle_upload() {
152
+ $file = wp_import_handle_upload();
153
+
154
+ if ( isset( $file['error'] ) ) {
155
+ echo '<p><strong>' . __( 'Sorry, there has been an error.', 'nav-menu-roles' ) . '</strong><br />';
156
+ echo esc_html( $file['error'] ) . '</p>';
157
+ return false;
158
+ } else if ( ! file_exists( $file['file'] ) ) {
159
+ echo '<p><strong>' . __( 'Sorry, there has been an error.', 'nav-menu-roles' ) . '</strong><br />';
160
+ printf( __( 'The export file could not be found at <code>%s</code>. It is likely that this was caused by a permissions problem.', 'nav-menu-roles' ), esc_html( $file['file'] ) );
161
+ echo '</p>';
162
+ return false;
163
+ }
164
+
165
+ $this->id = (int) $file['id'];
166
+ $import_data = $this->parse( $file['file'] );
167
+ if ( is_wp_error( $import_data ) ) {
168
+ echo '<p><strong>' . __( 'Sorry, there has been an error.', 'nav-menu-roles' ) . '</strong><br />';
169
+ echo esc_html( $import_data->get_error_message() ) . '</p>';
170
+ return false;
171
+ }
172
+
173
+ $this->version = $import_data['version'];
174
+ if ( $this->version > $this->max_wxr_version ) {
175
+ echo '<div class="error"><p><strong>';
176
+ printf( __( 'This WXR file (version %s) may not be supported by this version of the importer. Please consider updating.', 'nav-menu-roles' ), esc_html($import_data['version']) );
177
+ echo '</strong></p></div>';
178
+ }
179
+
180
+ return true;
181
+ }
182
+
183
+
184
+
185
+ /**
186
+ * Create new posts based on import information
187
+ *
188
+ * Posts marked as having a parent which doesn't exist will become top level items.
189
+ * Doesn't create a new post if: the post type doesn't exist, the given post ID
190
+ * is already noted as imported or a post with the same title and date already exists.
191
+ * Note that new/updated terms, comments and meta are imported for the last of the above.
192
+ */
193
+ function process_nav_menu_meta() {
194
+ foreach ( $this->posts as $post ) {
195
+
196
+ // we only want to deal with the nav_menu_item posts
197
+ if ( 'nav_menu_item' != $post['post_type'] || ! empty( $post['post_id'] ) )
198
+ continue;
199
+
200
+ // ok we've got a nav_menu_item
201
+ $post_id = (int) $post['post_id'];
202
+
203
+ // add/update post meta
204
+ if ( isset( $post['postmeta'] ) ) {
205
+ foreach ( $post['postmeta'] as $meta ) {
206
+ $key = apply_filters( 'import_post_meta_key', $meta['key'] );
207
+ $value = false;
208
+
209
+
210
+ if ( $key ) {
211
+ // export gets meta straight from the DB so could have a serialized string
212
+ if ( ! $value )
213
+ $value = maybe_unserialize( $meta['value'] );
214
+
215
+ update_post_meta( $post_id, $key, $value );
216
+ do_action( 'import_post_meta', $post_id, $key, $value );
217
+
218
+ }
219
+ }
220
+ }
221
+ }
222
+
223
+ unset( $this->posts );
224
+ }
225
+
226
+
227
+
228
+
229
+ /**
230
+ * Parse a WXR file
231
+ *
232
+ * @param string $file Path to WXR file for parsing
233
+ * @return array Information gathered from the WXR file
234
+ */
235
+ function parse( $file ) {
236
+ $parser = new WXR_Parser();
237
+ return $parser->parse( $file );
238
+ }
239
+
240
+ // Display import page title
241
+ function header() {
242
+ echo '<div class="wrap">';
243
+ screen_icon();
244
+ echo '<h2>' . __( 'Import Nav Menu Roles', 'nav-menu-roles' ) . '</h2>';
245
+
246
+ $updates = get_plugin_updates();
247
+ $basename = plugin_basename(__FILE__);
248
+ if ( isset( $updates[$basename] ) ) {
249
+ $update = $updates[$basename];
250
+ echo '<div class="error"><p><strong>';
251
+ printf( __( 'A new version of this importer is available. Please update to version %s to ensure compatibility with newer export files.', 'nav-menu-roles' ), $update->update->new_version );
252
+ echo '</strong></p></div>';
253
+ }
254
+ }
255
+
256
+ // Close div.wrap
257
+ function footer() {
258
+ echo '</div>';
259
+ }
260
+
261
+ /**
262
+ * Display introductory text and file upload form
263
+ */
264
+ function greet() {
265
+ echo '<div class="narrow">';
266
+ echo '<p>'.__( 'Re-Upload your normal WordPress eXtended RSS (WXR) file and we&#8217;ll import the Nav Menu Roles and any other missing post meta for the Nav Menu items.', 'nav-menu-roles' ).'</p>';
267
+ echo '<p>'.__( 'Choose a WXR (.xml) file to upload, then click Upload file and import.', 'nav-menu-roles' ).'</p>';
268
+ wp_import_upload_form( 'admin.php?import=nav_menu_roles&amp;step=1' );
269
+ echo '</div>';
270
+ }
271
+
272
+ /**
273
+ * Decide if the given meta key maps to information we will want to import
274
+ *
275
+ * @param string $key The meta key to check
276
+ * @return string|bool The key if we do want to import, false if not
277
+ */
278
+ function is_valid_meta_key( $key ) {
279
+ // skip attachment metadata since we'll regenerate it from scratch
280
+ // skip _edit_lock as not relevant for import
281
+ if ( in_array( $key, array( '_wp_attached_file', '_wp_attachment_metadata', '_edit_lock' ) ) )
282
+ return false;
283
+ return $key;
284
+ }
285
+
286
+
287
+ /**
288
+ * Added to http_request_timeout filter to force timeout at 60 seconds during import
289
+ * @return int 60
290
+ */
291
+ function bump_request_timeout() {
292
+ return 60;
293
+ }
294
+
295
+ // return the difference in length between two strings
296
+ function cmpr_strlen( $a, $b ) {
297
+ return strlen($b) - strlen($a);
298
+ }
299
+
300
+
301
+ } // end class
302
+ } // end if
inc/class.Walker_Nav_Menu_Edit_Roles.php ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Create HTML list of nav menu input items.
5
+ * Copied from Walker_Nav_Menu_Edit class in core /wp-admin/includes/nav-menu.php
6
+ *
7
+ * @package nav-menu-roles
8
+ * @since 1.0
9
+ * @uses Walker_Nav_Menu
10
+ */
11
+
12
+ class Walker_Nav_Menu_Edit_Roles extends Walker_Nav_Menu {
13
+ /**
14
+ * Starts the list before the elements are added.
15
+ *
16
+ * @see Walker_Nav_Menu::start_lvl()
17
+ *
18
+ * @since 3.0.0
19
+ *
20
+ * @param string $output Passed by reference.
21
+ * @param int $depth Depth of menu item. Used for padding.
22
+ * @param array $args Not used.
23
+ */
24
+ function start_lvl( &$output, $depth = 0, $args = array() ) {}
25
+
26
+ /**
27
+ * Ends the list of after the elements are added.
28
+ *
29
+ * @see Walker_Nav_Menu::end_lvl()
30
+ *
31
+ * @since 3.0.0
32
+ *
33
+ * @param string $output Passed by reference.
34
+ * @param int $depth Depth of menu item. Used for padding.
35
+ * @param array $args Not used.
36
+ */
37
+ function end_lvl( &$output, $depth = 0, $args = array() ) {}
38
+
39
+ /**
40
+ * Start the element output.
41
+ *
42
+ * @see Walker_Nav_Menu::start_el()
43
+ * @since 3.0.0
44
+ *
45
+ * @param string $output Passed by reference. Used to append additional content.
46
+ * @param object $item Menu item data object.
47
+ * @param int $depth Depth of menu item. Used for padding.
48
+ * @param array $args Not used.
49
+ * @param int $id Not used.
50
+ */
51
+ function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
52
+ global $_wp_nav_menu_max_depth;
53
+ $_wp_nav_menu_max_depth = $depth > $_wp_nav_menu_max_depth ? $depth : $_wp_nav_menu_max_depth;
54
+
55
+ ob_start();
56
+ $item_id = esc_attr( $item->ID );
57
+ $removed_args = array(
58
+ 'action',
59
+ 'customlink-tab',
60
+ 'edit-menu-item',
61
+ 'menu-item',
62
+ 'page-tab',
63
+ '_wpnonce',
64
+ );
65
+
66
+ $original_title = '';
67
+ if ( 'taxonomy' == $item->type ) {
68
+ $original_title = get_term_field( 'name', $item->object_id, $item->object, 'raw' );
69
+ if ( is_wp_error( $original_title ) )
70
+ $original_title = false;
71
+ } elseif ( 'post_type' == $item->type ) {
72
+ $original_object = get_post( $item->object_id );
73
+ $original_title = get_the_title( $original_object->ID );
74
+ }
75
+
76
+ $classes = array(
77
+ 'menu-item menu-item-depth-' . $depth,
78
+ 'menu-item-' . esc_attr( $item->object ),
79
+ 'menu-item-edit-' . ( ( isset( $_GET['edit-menu-item'] ) && $item_id == $_GET['edit-menu-item'] ) ? 'active' : 'inactive'),
80
+ );
81
+
82
+ $title = $item->title;
83
+
84
+ if ( ! empty( $item->_invalid ) ) {
85
+ $classes[] = 'menu-item-invalid';
86
+ /* translators: %s: title of menu item which is invalid */
87
+ $title = sprintf( __( '%s (Invalid)' ), $item->title );
88
+ } elseif ( isset( $item->post_status ) && 'draft' == $item->post_status ) {
89
+ $classes[] = 'pending';
90
+ /* translators: %s: title of menu item in draft status */
91
+ $title = sprintf( __('%s (Pending)'), $item->title );
92
+ }
93
+
94
+ $title = ( ! isset( $item->label ) || '' == $item->label ) ? $title : $item->label;
95
+
96
+ $submenu_text = '';
97
+ if ( 0 == $depth )
98
+ $submenu_text = 'style="display: none;"';
99
+
100
+ ?>
101
+ <li id="menu-item-<?php echo $item_id; ?>" class="<?php echo implode(' ', $classes ); ?>">
102
+ <dl class="menu-item-bar">
103
+ <dt class="menu-item-handle">
104
+ <span class="item-title"><span class="menu-item-title"><?php echo esc_html( $title ); ?></span> <span class="is-submenu" <?php echo $submenu_text; ?>><?php _e( 'sub item' ); ?></span></span>
105
+ <span class="item-controls">
106
+ <span class="item-type"><?php echo esc_html( $item->type_label ); ?></span>
107
+ <span class="item-order hide-if-js">
108
+ <a href="<?php
109
+ echo wp_nonce_url(
110
+ add_query_arg(
111
+ array(
112
+ 'action' => 'move-up-menu-item',
113
+ 'menu-item' => $item_id,
114
+ ),
115
+ remove_query_arg($removed_args, admin_url( 'nav-menus.php' ) )
116
+ ),
117
+ 'move-menu_item'
118
+ );
119
+ ?>" class="item-move-up"><abbr title="<?php esc_attr_e('Move up'); ?>">&#8593;</abbr></a>
120
+ |
121
+ <a href="<?php
122
+ echo wp_nonce_url(
123
+ add_query_arg(
124
+ array(
125
+ 'action' => 'move-down-menu-item',
126
+ 'menu-item' => $item_id,
127
+ ),
128
+ remove_query_arg($removed_args, admin_url( 'nav-menus.php' ) )
129
+ ),
130
+ 'move-menu_item'
131
+ );
132
+ ?>" class="item-move-down"><abbr title="<?php esc_attr_e('Move down'); ?>">&#8595;</abbr></a>
133
+ </span>
134
+ <a class="item-edit" id="edit-<?php echo $item_id; ?>" title="<?php esc_attr_e('Edit Menu Item'); ?>" href="<?php
135
+ echo ( isset( $_GET['edit-menu-item'] ) && $item_id == $_GET['edit-menu-item'] ) ? admin_url( 'nav-menus.php' ) : add_query_arg( 'edit-menu-item', $item_id, remove_query_arg( $removed_args, admin_url( 'nav-menus.php#menu-item-settings-' . $item_id ) ) );
136
+ ?>"><?php _e( 'Edit Menu Item' ); ?></a>
137
+ </span>
138
+ </dt>
139
+ </dl>
140
+
141
+ <div class="menu-item-settings" id="menu-item-settings-<?php echo $item_id; ?>">
142
+ <?php if( 'custom' == $item->type ) : ?>
143
+ <p class="field-url description description-wide">
144
+ <label for="edit-menu-item-url-<?php echo $item_id; ?>">
145
+ <?php _e( 'URL' ); ?><br />
146
+ <input type="text" id="edit-menu-item-url-<?php echo $item_id; ?>" class="widefat code edit-menu-item-url" name="menu-item-url[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->url ); ?>" />
147
+ </label>
148
+ </p>
149
+ <?php endif; ?>
150
+ <p class="description description-thin">
151
+ <label for="edit-menu-item-title-<?php echo $item_id; ?>">
152
+ <?php _e( 'Navigation Label' ); ?><br />
153
+ <input type="text" id="edit-menu-item-title-<?php echo $item_id; ?>" class="widefat edit-menu-item-title" name="menu-item-title[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->title ); ?>" />
154
+ </label>
155
+ </p>
156
+ <p class="description description-thin">
157
+ <label for="edit-menu-item-attr-title-<?php echo $item_id; ?>">
158
+ <?php _e( 'Title Attribute' ); ?><br />
159
+ <input type="text" id="edit-menu-item-attr-title-<?php echo $item_id; ?>" class="widefat edit-menu-item-attr-title" name="menu-item-attr-title[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->post_excerpt ); ?>" />
160
+ </label>
161
+ </p>
162
+ <p class="field-link-target description">
163
+ <label for="edit-menu-item-target-<?php echo $item_id; ?>">
164
+ <input type="checkbox" id="edit-menu-item-target-<?php echo $item_id; ?>" value="_blank" name="menu-item-target[<?php echo $item_id; ?>]"<?php checked( $item->target, '_blank' ); ?> />
165
+ <?php _e( 'Open link in a new window/tab' ); ?>
166
+ </label>
167
+ </p>
168
+ <p class="field-css-classes description description-thin">
169
+ <label for="edit-menu-item-classes-<?php echo $item_id; ?>">
170
+ <?php _e( 'CSS Classes (optional)' ); ?><br />
171
+ <input type="text" id="edit-menu-item-classes-<?php echo $item_id; ?>" class="widefat code edit-menu-item-classes" name="menu-item-classes[<?php echo $item_id; ?>]" value="<?php echo esc_attr( implode(' ', $item->classes ) ); ?>" />
172
+ </label>
173
+ </p>
174
+ <p class="field-xfn description description-thin">
175
+ <label for="edit-menu-item-xfn-<?php echo $item_id; ?>">
176
+ <?php _e( 'Link Relationship (XFN)' ); ?><br />
177
+ <input type="text" id="edit-menu-item-xfn-<?php echo $item_id; ?>" class="widefat code edit-menu-item-xfn" name="menu-item-xfn[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->xfn ); ?>" />
178
+ </label>
179
+ </p>
180
+ <p class="field-description description description-wide">
181
+ <label for="edit-menu-item-description-<?php echo $item_id; ?>">
182
+ <?php _e( 'Description' ); ?><br />
183
+ <textarea id="edit-menu-item-description-<?php echo $item_id; ?>" class="widefat edit-menu-item-description" rows="3" cols="20" name="menu-item-description[<?php echo $item_id; ?>]"><?php echo esc_html( $item->description ); // textarea_escaped ?></textarea>
184
+ <span class="description"><?php _e('The description will be displayed in the menu if the current theme supports it.'); ?></span>
185
+ </label>
186
+ </p>
187
+
188
+ <?php
189
+ // This is the added section
190
+ do_action( 'wp_nav_menu_item_custom_fields', $item_id, $item, $depth, $args );
191
+ // end added section
192
+ ?>
193
+
194
+ <p class="field-move hide-if-no-js description description-wide">
195
+ <label>
196
+ <span><?php _e( 'Move' ); ?></span>
197
+ <a href="#" class="menus-move-up"><?php _e( 'Up one' ); ?></a>
198
+ <a href="#" class="menus-move-down"><?php _e( 'Down one' ); ?></a>
199
+ <a href="#" class="menus-move-left"></a>
200
+ <a href="#" class="menus-move-right"></a>
201
+ <a href="#" class="menus-move-top"><?php _e( 'To the top' ); ?></a>
202
+ </label>
203
+ </p>
204
+
205
+ <div class="menu-item-actions description-wide submitbox">
206
+ <?php if( 'custom' != $item->type && $original_title !== false ) : ?>
207
+ <p class="link-to-original">
208
+ <?php printf( __('Original: %s'), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>' ); ?>
209
+ </p>
210
+ <?php endif; ?>
211
+ <a class="item-delete submitdelete deletion" id="delete-<?php echo $item_id; ?>" href="<?php
212
+ echo wp_nonce_url(
213
+ add_query_arg(
214
+ array(
215
+ 'action' => 'delete-menu-item',
216
+ 'menu-item' => $item_id,
217
+ ),
218
+ admin_url( 'nav-menus.php' )
219
+ ),
220
+ 'delete-menu_item_' . $item_id
221
+ ); ?>"><?php _e( 'Remove' ); ?></a> <span class="meta-sep hide-if-no-js"> | </span> <a class="item-cancel submitcancel hide-if-no-js" id="cancel-<?php echo $item_id; ?>" href="<?php echo esc_url( add_query_arg( array( 'edit-menu-item' => $item_id, 'cancel' => time() ), admin_url( 'nav-menus.php' ) ) );
222
+ ?>#menu-item-settings-<?php echo $item_id; ?>"><?php _e('Cancel'); ?></a>
223
+ </div>
224
+
225
+ <input class="menu-item-data-db-id" type="hidden" name="menu-item-db-id[<?php echo $item_id; ?>]" value="<?php echo $item_id; ?>" />
226
+ <input class="menu-item-data-object-id" type="hidden" name="menu-item-object-id[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->object_id ); ?>" />
227
+ <input class="menu-item-data-object" type="hidden" name="menu-item-object[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->object ); ?>" />
228
+ <input class="menu-item-data-parent-id" type="hidden" name="menu-item-parent-id[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->menu_item_parent ); ?>" />
229
+ <input class="menu-item-data-position" type="hidden" name="menu-item-position[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->menu_order ); ?>" />
230
+ <input class="menu-item-data-type" type="hidden" name="menu-item-type[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->type ); ?>" />
231
+ </div><!-- .menu-item-settings-->
232
+ <ul class="menu-item-transport"></ul>
233
+ <?php
234
+ $output .= ob_get_clean();
235
+ }
236
+
237
+ } // Walker_Nav_Menu_Edit
inc/class.Walker_Nav_Menu_Edit_Roles.sublime-workspace ADDED
@@ -0,0 +1,734 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "auto_complete":
3
+ {
4
+ "selected_items":
5
+ [
6
+ [
7
+ "ab",
8
+ "absint"
9
+ ],
10
+ [
11
+ "bundle",
12
+ "bundled_product_id"
13
+ ],
14
+ [
15
+ "quantty",
16
+ "quantity_to_add"
17
+ ],
18
+ [
19
+ "mnm_contain",
20
+ "mnm_container_data"
21
+ ],
22
+ [
23
+ "compostied_item",
24
+ "composited_item_cart_key"
25
+ ],
26
+ [
27
+ "quantity",
28
+ "quantity_in_container"
29
+ ],
30
+ [
31
+ "valid",
32
+ "valid_ids"
33
+ ],
34
+ [
35
+ "container",
36
+ "container_quantity"
37
+ ],
38
+ [
39
+ "values",
40
+ "values_key"
41
+ ],
42
+ [
43
+ "contain",
44
+ "container_qty"
45
+ ],
46
+ [
47
+ "wp_enqueu",
48
+ "wp_enqueue_scripts"
49
+ ],
50
+ [
51
+ "subscription",
52
+ "subscription_terms"
53
+ ],
54
+ [
55
+ "billing",
56
+ "billing_period"
57
+ ],
58
+ [
59
+ "plugins",
60
+ "plugins_loaded"
61
+ ],
62
+ [
63
+ "v",
64
+ "var_dump var_dump_snippet"
65
+ ],
66
+ [
67
+ "Rad",
68
+ "Radio_Buttons_for_Taxonomies"
69
+ ],
70
+ [
71
+ "descen",
72
+ "descendants_and_self"
73
+ ],
74
+ [
75
+ "tag",
76
+ "tagchecklist"
77
+ ],
78
+ [
79
+ "tax",
80
+ "taxonomy"
81
+ ],
82
+ [
83
+ "checked",
84
+ "checked_categories"
85
+ ],
86
+ [
87
+ "load",
88
+ "load_sample_tax"
89
+ ],
90
+ [
91
+ "current",
92
+ "current_term"
93
+ ]
94
+ ]
95
+ },
96
+ "buffers":
97
+ [
98
+ ],
99
+ "build_system": "",
100
+ "command_palette":
101
+ {
102
+ "height": 400.0,
103
+ "selected_items":
104
+ [
105
+ [
106
+ "package",
107
+ "Package Control: Install Package"
108
+ ],
109
+ [
110
+ "packa",
111
+ "Package Syncing: Enable Syncing"
112
+ ],
113
+ [
114
+ "install",
115
+ "Package Control: Install Package"
116
+ ],
117
+ [
118
+ "package control",
119
+ "Preferences: Package Control Settings – Default"
120
+ ],
121
+ [
122
+ "packag",
123
+ "Package Control: Remove Package"
124
+ ],
125
+ [
126
+ "instal",
127
+ "Package Control: Install Package"
128
+ ],
129
+ [
130
+ "pac",
131
+ "Package Control: Remove Package"
132
+ ],
133
+ [
134
+ "pinsta",
135
+ "Package Control: Install Package"
136
+ ],
137
+ [
138
+ "pack",
139
+ "Package Control: Install Package"
140
+ ]
141
+ ],
142
+ "width": 424.0
143
+ },
144
+ "console":
145
+ {
146
+ "height": 125.0,
147
+ "history":
148
+ [
149
+ "import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)",
150
+ "import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())"
151
+ ]
152
+ },
153
+ "distraction_free":
154
+ {
155
+ "menu_visible": true,
156
+ "show_minimap": false,
157
+ "show_open_files": false,
158
+ "show_tabs": false,
159
+ "side_bar_visible": false,
160
+ "status_bar_visible": false
161
+ },
162
+ "file_history":
163
+ [
164
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/cart/cart-item-data.php",
165
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/cart/cart.php",
166
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/checkout/thankyou.php",
167
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-order.php",
168
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/order/order-details.php",
169
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/checkout/review-order.php",
170
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/cart/cart-totals.php",
171
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-cart.php",
172
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/wc-template-functions.php",
173
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-shortcodes.php",
174
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/checkout/form-coupon.php",
175
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/loop/loop-start.php",
176
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/single-product.php",
177
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/content-single-product.php",
178
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/archive-product.php",
179
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/includes/admin/class-wc-bto-admin.php",
180
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/single-product/add-to-cart/variable.php",
181
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-product-variable.php",
182
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/includes/admin/class-mix-and-match-admin.php",
183
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/includes/class-wc-mnm-display.php",
184
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/admin/class-wc-admin-assets.php",
185
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/templates/single-product/mnm-items.php",
186
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/admin/class-wc-admin-meta-boxes.php",
187
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/includes/class-wc-bto-cart.php",
188
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/includes/admin/js/mnm-metabox.js",
189
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/includes/admin/js/mnm-metabox.min.js",
190
+ "/D/VVV/www/wordpress-default/wp-config.php",
191
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/Gruntfile.js",
192
+ "/D/VVV/www/wordpress-default/wp-content/themes/wpalchemy-grail/functions.php",
193
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-query.php",
194
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-order-item-meta.php",
195
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/templates/single-product/bto-item.php",
196
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/templates/single-product/bto-item-options.php",
197
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/templates/single-product/add-to-cart/bto-cart-button.php",
198
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-plugins-mine/woocommerce-name-your-price/assets/js/search-author.php",
199
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/includes/class-wc-product-mnm.php",
200
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/admin/wc-meta-box-functions.php",
201
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-product-variation.php",
202
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-form-handler.php",
203
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-product-factory.php",
204
+ "/D/VVV/www/wordpress-default/wp-includes/feed-rss2.php",
205
+ "/D/VVV/www/wordpress-default/wp-includes/feed.php",
206
+ "/D/VVV/www/wordpress-default/wp-content/plugins/radio-buttons-for-taxonomies/readme.txt",
207
+ "/D/VVV/www/wordpress-default/wp-content/plugins/radio-buttons-for-taxonomies/radio-buttons-for-taxonomies.php",
208
+ "/D/VVV/www/wordpress-default/wp-content/plugins/radio-buttons-for-taxonomies/readme.md",
209
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/single-product/add-to-cart/simple.php",
210
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/single-product/add-to-cart/grouped.php",
211
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/templates/single-product/summary/bto-product-summary-variable.php",
212
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/includes/class-wc-product-bto.php",
213
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/includes/class-wc-bto-display.php",
214
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-product.php",
215
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/templates/single-product/add-to-cart/mnm.php",
216
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/admin/meta-boxes/class-wc-meta-box-product-data.php",
217
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/admin/meta-boxes/views/html-variation-admin.php",
218
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-template-loader.php",
219
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/woocommerce-mix-and-match-products.php",
220
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/wc-core-functions.php",
221
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/woocommerce.php",
222
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/assets/js/admin/meta-boxes.js",
223
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/admin/reports/class-wc-report-sales-by-product.php",
224
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-ajax.php",
225
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/readme.txt",
226
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/package.json",
227
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-plugins-mine/woocommerce-free-gift-coupons/woocommerce-free-gift-coupons.php",
228
+ "/D/VVV/www/wordpress-default/wp-content/themes/twentyfourteen/sidebar-content.php",
229
+ "/D/VVV/www/wordpress-default/wp-content/themes/wpalchemy-grail/style.css",
230
+ "/D/VVV/www/wordpress-default/wp-content/themes/twentyfourteen/sidebar.php",
231
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/gateways/paypal/class-wc-gateway-paypal.php",
232
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/includes/class-wc-mnm-order.php",
233
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/includes/class-wc-mnm-cart.php",
234
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/node_modules/grunt/lib/grunt/file.js",
235
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/node_modules/grunt-contrib-uglify/node_modules/maxmin/node_modules/gzip-size/node_modules/zlib-browserify/test/zlib.test.js",
236
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/node_modules/load-grunt-tasks/load-grunt-tasks.js",
237
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/node_modules/load-grunt-tasks/node_modules/multimatch/index.js",
238
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/node_modules/load-grunt-tasks/node_modules/multimatch/package.json",
239
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/node_modules/load-grunt-tasks/node_modules/multimatch/readme.md",
240
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/apigen/libs/FSHL/FSHL/Generator.php",
241
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/apigen/libs/Nette/Nette/Http/Context.php",
242
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/wc-product-functions.php",
243
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/admin/class-wc-admin-post-types.php",
244
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-product-grouped.php",
245
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-install.php",
246
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/loop/add-to-cart.php",
247
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/woocommerce-composite-products.php",
248
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-post-types.php",
249
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/wc-order-functions.php",
250
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/wc-formatting-functions.php",
251
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/assets/css/woocommerce.less",
252
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/assets/css/mnm-styles.less",
253
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/templates/single-product/bto-item-title.php",
254
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/assets/js/add-to-cart-mnm.js",
255
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/apigen/ApiGen/Backend.php",
256
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/assets/js/add-to-cart-bto.js",
257
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-plugins-mine/woocommerce-name-your-price/assets/js/name-your-price.js",
258
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/templates/component-item.php",
259
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/cart-dump.php",
260
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-checkout.php",
261
+ "/D/Google Drive/sublime-text/Packages/User/base16-ocean.dark (SL).tmTheme",
262
+ "/C/Users/kathy/AppData/Roaming/Sublime Text 3/Packages/BracketHighlighter/bh_core.sublime-settings",
263
+ "/C/Users/kathy/AppData/Roaming/Sublime Text 3/Packages/User/bh_core.sublime-settings",
264
+ "/C/Users/kathy/AppData/Roaming/Sublime Text 3/Packages/BracketHighlighter/bh_wrapping.sublime-settings",
265
+ "/C/Users/kathy/AppData/Roaming/Sublime Text 3/Installed Packages/BracketHighlighter.sublime-package",
266
+ "/C/Users/kathy/AppData/Roaming/Sublime Text 3/Packages/User/SublimeLinter.sublime-settings",
267
+ "/C/Users/kathy/AppData/Roaming/Sublime Text 3/Packages/Package Control/Package Control.sublime-settings",
268
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/admin/meta-boxes/views/html-order-item.php",
269
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-items.php",
270
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/wc-cart-functions.php",
271
+ "/D/VVV/www/wordpress-default/wp-content/themes/hustle/includes/theme-options.php",
272
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/templates/single-product/add-to-cart/bto-cart-button.php",
273
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/assets/css/bto-frontend.css",
274
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/assets/css/bto-edit-order.css",
275
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-composite-products/includes/class-wc-bto-order.php",
276
+ "/D/VVV/www/wordpress-default/wp-content/themes/eventcamp-child-for-aobhc/wp-config.php",
277
+ "/D/VVV/www/wordpress-default/wp-content/themes/eventcamp-child-for-aobhc/testconnect.php",
278
+ "/C/Users/kathy/AppData/Local/Temp/Rar$DIa0.806/aobhc.org",
279
+ "/D/VVV/www/wordpress-default/wp-content/themes/eventcamp-child-for-aobhc/.htaccess",
280
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/cart/mini-cart.php",
281
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/apigen/libs/Nette/Nette/Database/Reflection/DiscoveredReflection.php",
282
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/assets/css/dashboard.css",
283
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/cart/cart-shipping.php",
284
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/class-wc-shipping.php",
285
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/templates/single-product/bto-item-options.php",
286
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/includes/wc-deprecated-functions.php",
287
+ "/C/Users/kathy/AppData/Roaming/Sublime Text 3/Packages/User/Preferences.sublime-settings",
288
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/templates/cart/cart-empty.php",
289
+ "/D/VVV/www/wordpress-default/wp-content/themes/twentyfourteen-child/style.css",
290
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce-mix-and-match-products/assets/css/mnm-styles.css",
291
+ "/D/VVV/www/wordpress-default/wp-content/plugins/woocommerce/apigen/templates/woodocs/resources/style.css"
292
+ ],
293
+ "find":
294
+ {
295
+ "height": 36.0
296
+ },
297
+ "find_in_files":
298
+ {
299
+ "height": 134.0,
300
+ "where_history":
301
+ [
302
+ "<open folders>, *.php",
303
+ "<open folders>, ",
304
+ "<open folders>, !*.min.js",
305
+ "<open folders>, *.php",
306
+ "<open folders>, ",
307
+ "<open folders>, *.php",
308
+ "<open folders>, *.js",
309
+ "<open folders>, *.php",
310
+ "<open folders>, ",
311
+ "<open folders>, *.php",
312
+ "<open folders>, *.js,",
313
+ "<open folders>, *.php,",
314
+ "<open folders>, *.php,D:\\VVV\\www\\wordpress-default\\wp-content\\themes\\hustle",
315
+ "<open folders>, *.php",
316
+ "<open folders>",
317
+ "<open folders>,, *.php,",
318
+ "<open folders>,, *.php, *.js",
319
+ "<open folders>,D:\\VVV\\www\\wordpress-default\\wp-content, *.php, *.js",
320
+ "<open folders>",
321
+ "<open folders>,<open files>,",
322
+ "<open folders>,<open files>,D:\\VVV\\www\\wordpress-default\\wp-content\\",
323
+ "<open folders>,<open files>,D:\\VVV\\www\\wordpress-default\\wp-content\\themes\\chicago-inter-new",
324
+ "<open folders>",
325
+ "<open folders>,*.php,",
326
+ "<open folders>,*.php,,D:\\VVV\\www\\wordpress-default\\wp-content\\plugins\\woocommerce-composite-products",
327
+ "<open folders>,*.php",
328
+ "<open folders>,*.js ",
329
+ "<open folders>,*.php, ",
330
+ "<open folders>,*.js, ",
331
+ "<open folders>,*.php, ",
332
+ "<open folders>,*.php, ,D:\\VVV\\www\\wordpress-default\\wp-content\\plugins\\woocommerce",
333
+ "<open folders>,*.js, ,D:\\VVV\\www\\wordpress-default\\wp-content\\plugins\\woocommerce",
334
+ "<open folders>,*.php, ,D:\\VVV\\www\\wordpress-default\\wp-content\\plugins\\woocommerce",
335
+ "<open folders>,*.php, ",
336
+ "<open folders>,*.php, ,D:\\www\\wordpress\\src\\wp-content\\plugins\\woocommerce",
337
+ "<open folders>,*.php, ",
338
+ "<open folders>,*.php, F:\\www\\wordpress\\wp-content\\plugins\\woocommerce",
339
+ "<open folders>,*.php, F:\\www\\wordpress\\wp-includes",
340
+ "<open folders>,*.php, F:\\www\\wordpress\\wp-admin",
341
+ "<open folders>*.php, F:\\www\\wordpress\\wp-admin",
342
+ "<open folders>*.php",
343
+ "F:\\www\\wordpress\\wp-includes, *.php",
344
+ "F:\\www\\wordpress\\wp-content\\plugins\\woocommerce, *.php, <open folders>",
345
+ "F:\\www\\wordpress\\wp-content\\plugins\\, *.php, <open folders>",
346
+ "F:\\www\\wordpress\\wp-content\\plugins\\woocommerce, *.php, <open folders>",
347
+ "F:\\www\\wordpress\\wp-content\\plugins\\woocommerce, *.php",
348
+ "F:\\www\\wordpress\\wp-includes, *.php, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po,",
349
+ "F:\\www\\wordpress\\wp-admin, *.php, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po,",
350
+ "F:\\www\\wordpress\\wp-admin, *.php, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po, ,<open files>,",
351
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-admin, *.php, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po, ,<open files>",
352
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-includes, *.php, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po, ,<open files>",
353
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-content\\plugins\\woocommerce, *.php, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po, ,<open files>",
354
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-content\\plugins\\radio-buttons-for-taxonomies, *.php, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po, ,<open files>",
355
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\, *.php, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po, ,<open files>",
356
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po, ,<open files>",
357
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-content\\, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po, ,<open files>",
358
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-content\\plugins\\types, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po, ,<open files>",
359
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-content\\plugins\\woocommerce, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po, ,<open files>",
360
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-admin, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po, ,<open files>",
361
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-admin, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po",
362
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-includes, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po",
363
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-content\\plugins\\radio-buttons-for-taxonomies, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po",
364
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-admin, -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po",
365
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-includes , -*.sublime-workspace, -*.css, -*.mo, -*.pot, -*.po",
366
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-admin , -*.sublime-workspace,-*.css, -*.mo, -*.pot, -*.po",
367
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\ , -*.sublime-workspace,-*.css, -*.mo, -*.pot, -*.po",
368
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\ -*.sublime-workspace,-*.css, -*.mo, -*.pot, -*.po",
369
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-admin, -*.sublime-workspace,-*.css, -*.mo, -*.pot, -*.po",
370
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-content\\plugins\\radio-buttons-for-taxonomies, -*.sublime-workspace,-*.css, -*.mo, -*.pot, -*.po",
371
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-includes, -*.sublime-workspace,-*.css, -*.mo, -*.pot, -*.po",
372
+ "C:\\Users\\helga\\wamp\\www\\wordpress\\wp-admin, -*.sublime-workspace,-*.css, -*.mo, -*.pot, -*.po",
373
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-admin, -*.sublime-workspace,-*.css, -*.mo, -*.pot, -*.po",
374
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-includes, -*.sublime-workspace,-*.css, -*.mo, -*.pot, -*.po",
375
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-admin, -*.sublime-workspace,-*.css, -*.mo, -*.pot, -*.po",
376
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-content\\plugins\\radio-buttons-for-taxonomies, -*.sublime-workspace,-*.css, -*.mo, -*.pot, -*.po",
377
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-content\\plugins\\radio-buttons-for-taxonomies, -*.css, -*.mo, -*.pot, -*.po",
378
+ "C:\\Users\\helga\\wamp\\www\\localhost\\",
379
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-content\\",
380
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-content\\plugins\\radio-buttons-for-taxonomies",
381
+ "C:\\Users\\helga\\wamp\\www\\localhost\\",
382
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-includes",
383
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-content\\plugins\\radio-buttons-for-taxonomies",
384
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-plugins\\radio-buttons-for-taxonomies",
385
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-includes",
386
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-admin",
387
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-plugins\\radio-buttons-for-taxonomies",
388
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-includes, C:\\Users\\helga\\wamp\\www\\localhost\\wp-admin",
389
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-includes",
390
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-admin",
391
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-content\\plugins\\radio-buttons-for-taxonomies",
392
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-admin",
393
+ "C:\\Users\\helga\\wamp\\www\\localhost\\",
394
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-includes",
395
+ "-*.pot,-*.po, -*.css, *.js, C:\\Users\\helga\\wamp\\www\\localhost\\wp-includes",
396
+ "-*.pot,-*.po, -*.css, *.js, C:\\Users\\helga\\wamp\\www\\localhost\\wp-admin",
397
+ "-*.pot,-*.po, -*.css, C:\\Users\\helga\\wamp\\www\\localhost\\wp-admin",
398
+ "-*.pot,-*.po, -*.css, -*.min.js, C:\\Users\\helga\\wamp\\www\\localhost\\wp-admin",
399
+ "-*.pot,-*.po, -*.css, C:\\Users\\helga\\wamp\\www\\localhost\\wp-admin",
400
+ "-*.pot,-*.po, -*.css, -*.js, C:\\Users\\helga\\wamp\\www\\localhost\\wp-includes",
401
+ "-*.pot,-*.po, -*.css, -*.js, C:\\Users\\helga\\wamp\\www\\localhost\\wp-content\\",
402
+ "-*.pot,-*.po, -*.css, -*.js, C:\\Users\\helga\\wamp\\www\\localhost\\wp-content\\plugins\\woocommerce",
403
+ "-*.pot,-*.po, -*.css, -*.js, C:\\Users\\helga\\wamp\\www\\localhost\\wp-content\\plugins\\woocommerce-ezprints",
404
+ "-*.pot,-*.po, -*.css, -*.js, C:\\Users\\helga\\wamp\\www\\localhost\\wp-includes",
405
+ "-*.pot,-*.po, -*.css, -*.js, C:\\Users\\helga\\wamp\\www\\localhost\\wp-admin",
406
+ "-*.pot,-*.po, -*.css, -*.js, C:\\Users\\helga\\wamp\\www\\localhost\\",
407
+ "-*.pot, -*.css, -*.js, C:\\Users\\helga\\wamp\\www\\localhost\\",
408
+ "-*.pot, -*.css, -*.js C:\\Users\\helga\\wamp\\www\\localhost\\",
409
+ "C:\\Users\\helga\\wamp\\www\\localhost\\",
410
+ "C:\\Users\\helga\\wamp\\www\\localhost\\wp-admin"
411
+ ]
412
+ },
413
+ "find_state":
414
+ {
415
+ "case_sensitive": false,
416
+ "find_history":
417
+ [
418
+ "woocommerce_get_downloadable_file_urls",
419
+ "kia",
420
+ "Order Discount:",
421
+ "shop_table order_details",
422
+ "get_coupons",
423
+ "get_item_subtotal",
424
+ "[\"",
425
+ " ",
426
+ " ",
427
+ " ",
428
+ "Joe",
429
+ "function get_coupons",
430
+ "woocommerce_product_loop_start",
431
+ "recent_products",
432
+ "shortcodes",
433
+ "woocommerce_output_content_wrapper",
434
+ "<nav",
435
+ "theme_location",
436
+ "alongside",
437
+ "theme_location",
438
+ "primary",
439
+ "eg_event",
440
+ "event",
441
+ "eg_event",
442
+ "event",
443
+ "location",
444
+ "industry",
445
+ "woocommerce_template_single_add_to_cart",
446
+ "function get_children",
447
+ "get_children",
448
+ "function get_available_variations",
449
+ "add-to-cart/",
450
+ "wc_get_template('single-product/add-to-cart",
451
+ "This product is currently out of stock and unavailable",
452
+ "order_again",
453
+ "echo",
454
+ "; ?>",
455
+ "<?php ",
456
+ "echo",
457
+ "wp_register_Script",
458
+ "script",
459
+ "enque",
460
+ "write",
461
+ "wp_register_script",
462
+ "woocommerce_admin_meta_boxes",
463
+ "woocommerce-admin-meta-boxes",
464
+ "_",
465
+ "in_array( $screen->id, array( 'product' )",
466
+ "frontend_scripts",
467
+ "wp_enqueue_script",
468
+ "wc-admin-meta-boxes",
469
+ "woocommerce_admin_meta_boxes",
470
+ "woo_bto_admin_scripts",
471
+ "wc_bto_writepanel",
472
+ "wp_register_script",
473
+ "frontend_scripts",
474
+ "wp_enqueue_script",
475
+ "wp_en",
476
+ "true",
477
+ "add_to_cart_validation",
478
+ "quantity",
479
+ "[\"",
480
+ "simple_user_listing_after_loop",
481
+ " ",
482
+ " ",
483
+ " ",
484
+ " ",
485
+ " ",
486
+ " ",
487
+ " ",
488
+ " ",
489
+ " ",
490
+ " ",
491
+ "query",
492
+ "woocommerce_quantity_input_step",
493
+ "add_to_cart_validation",
494
+ "/",
495
+ "3",
496
+ "function add_to_cart",
497
+ "add_items_to_cart",
498
+ "text",
499
+ "function woocommerce_wp_text_input",
500
+ "text_input",
501
+ "woocommerce_text_input",
502
+ "$_REQUEST['mnm-quantity'][ $mnm_id ]",
503
+ "get_formatted",
504
+ "_product",
505
+ "get_formatted",
506
+ "[\"",
507
+ "$product_id",
508
+ "class WC_Order_Item_Meta",
509
+ "selected_attributes",
510
+ "get_wp_title_rss",
511
+ "wp_title_rss",
512
+ "function get_product",
513
+ "woocommerce_add_to_cart_handler",
514
+ "add_to_cart_action",
515
+ "function wc_bto_attribute_order_by",
516
+ "bto_",
517
+ "wc_bto_attribute_label",
518
+ "function wc_bto_attribute_label",
519
+ "div class=\"variations",
520
+ "bto",
521
+ "per_product_pricing",
522
+ "woocommerce_is_purchasable",
523
+ "<td class=\"product-name\">",
524
+ "<td class=\"product-thumbnail\">",
525
+ "function is_visible",
526
+ "add_to_cart_template",
527
+ "bto-cart-button.php",
528
+ "woocommerce_composite_product_add_to_cart",
529
+ "woo_bto_addons_display_support",
530
+ "_add_to_cart",
531
+ "add_to_cart_template",
532
+ "output_variations",
533
+ "output",
534
+ "WC_Meta_Box_Product_Data",
535
+ "save_variations",
536
+ "process",
537
+ "save::",
538
+ "output_variations",
539
+ "html-variation-admin",
540
+ "variable_regular_price",
541
+ "variation",
542
+ "process_",
543
+ "is_purchasable",
544
+ "woocommerce_add_to_cart_handler",
545
+ "-"
546
+ ],
547
+ "highlight": true,
548
+ "in_selection": false,
549
+ "preserve_case": false,
550
+ "regex": false,
551
+ "replace_history":
552
+ [
553
+ "'woocommerce-mix-and-match'",
554
+ "match' )",
555
+ "",
556
+ "'woocommerce-mix-and-match'",
557
+ "'mix-and-match'",
558
+ "woocommerce_mnm_update",
559
+ "woocommerce-mnm-update",
560
+ "attempt_show_mnm",
561
+ "wc_mix_and_match",
562
+ "WC()->",
563
+ "mnm_item",
564
+ "mnm_container",
565
+ "mnm_container_data",
566
+ "mnm_contents",
567
+ "mnm_container_data",
568
+ "/n[\"",
569
+ "mnm_item_id",
570
+ "mnm_contents",
571
+ "'wc-mix-and-match'",
572
+ "",
573
+ "WC_Mix_and_Match_Order",
574
+ "mnm_content",
575
+ "WC()",
576
+ "mnm_contents",
577
+ "mnm_allowed_contents",
578
+ "mnm_allowed_ids",
579
+ "mnm_content_ids",
580
+ "mnm_container",
581
+ "mnm_content_ids",
582
+ "container_size",
583
+ "WC()",
584
+ "mnm_",
585
+ "mnm_parent",
586
+ "$_REQUEST",
587
+ "mnm_children",
588
+ "mnm_data",
589
+ "mnm_config",
590
+ "mnm_container",
591
+ "woocomerce_radio_buttons",
592
+ "anywhere_metabox_control",
593
+ "delete_image",
594
+ "upload_image",
595
+ "anywhere_metabox_control",
596
+ "Anywhere_Metabox",
597
+ "AnywhereMetaboxL10n",
598
+ "_e( '",
599
+ "anywhere-slider",
600
+ "anywhere_slider",
601
+ "anywhere_slider_options",
602
+ "anywhere-slider",
603
+ "anywhere_slider_options",
604
+ "Anywhere_Slider",
605
+ "KIA_Subtitle",
606
+ "WC()->cart",
607
+ "WC()->plugin_url()",
608
+ "$this",
609
+ "'kia-subtitle' ",
610
+ "'kia-subtitle'",
611
+ "'radio-buttons-for-taxonomies'",
612
+ "'kia-subtitle'",
613
+ "'kia_subtitle'",
614
+ "$post_type",
615
+ "$post_types",
616
+ "kia_subtitle_options",
617
+ "kia_subtitle",
618
+ "tax_input",
619
+ "taxsyncChecks",
620
+ "taxAddAfter",
621
+ "taxAddBefore",
622
+ "localhost",
623
+ "dummy",
624
+ "radio_nonce"
625
+ ],
626
+ "reverse": false,
627
+ "show_context": true,
628
+ "use_buffer2": true,
629
+ "whole_word": false,
630
+ "wrap": true
631
+ },
632
+ "groups":
633
+ [
634
+ {
635
+ "sheets":
636
+ [
637
+ ]
638
+ }
639
+ ],
640
+ "incremental_find":
641
+ {
642
+ "height": 36.0
643
+ },
644
+ "input":
645
+ {
646
+ "height": 39.0
647
+ },
648
+ "layout":
649
+ {
650
+ "cells":
651
+ [
652
+ [
653
+ 0,
654
+ 0,
655
+ 1,
656
+ 1
657
+ ]
658
+ ],
659
+ "cols":
660
+ [
661
+ 0.0,
662
+ 1.0
663
+ ],
664
+ "rows":
665
+ [
666
+ 0.0,
667
+ 1.0
668
+ ]
669
+ },
670
+ "menu_visible": true,
671
+ "output.find_results":
672
+ {
673
+ "height": 0.0
674
+ },
675
+ "output.sftp":
676
+ {
677
+ "height": 0.0
678
+ },
679
+ "project": "class.Walker_Nav_Menu_Edit_Roles.sublime-project",
680
+ "replace":
681
+ {
682
+ "height": 68.0
683
+ },
684
+ "save_all_on_build": true,
685
+ "select_file":
686
+ {
687
+ "height": 0.0,
688
+ "selected_items":
689
+ [
690
+ [
691
+ "bto-item",
692
+ "woocommerce-composite-products\\templates\\single-product\\bto-item.php"
693
+ ],
694
+ [
695
+ "bto-c",
696
+ "woocommerce-composite-products\\includes\\class-wc-bto-cart.php"
697
+ ],
698
+ [
699
+ "display",
700
+ "woocommerce-mix-and-match-products\\includes\\class-wc-mnm-display.php"
701
+ ]
702
+ ],
703
+ "width": 0.0
704
+ },
705
+ "select_project":
706
+ {
707
+ "height": 500.0,
708
+ "selected_items":
709
+ [
710
+ ],
711
+ "width": 380.0
712
+ },
713
+ "select_symbol":
714
+ {
715
+ "height": 0.0,
716
+ "selected_items":
717
+ [
718
+ ],
719
+ "width": 0.0
720
+ },
721
+ "selected_group": 0,
722
+ "settings":
723
+ {
724
+ },
725
+ "show_minimap": false,
726
+ "show_open_files": false,
727
+ "show_tabs": true,
728
+ "side_bar_visible": true,
729
+ "side_bar_width": 251.0,
730
+ "status_bar_visible": true,
731
+ "template_settings":
732
+ {
733
+ }
734
+ }
js/nav-menu-roles.js ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ;(function($) {
2
+
3
+ $('.nav_menu_logged_in_out_field').each(function(i){
4
+
5
+ var $field = $(this);
6
+
7
+ var id = $field.find('input.nav-menu-id').val();
8
+
9
+ // if set to display by role (aka is null) then show the roles list, otherwise hide
10
+ if( $field.find('input.nav-menu-logged-in-out:checked').val() === '' ){
11
+ $field.next('.nav_menu_role_field').show();
12
+ } else {
13
+ $field.next('.nav_menu_role_field').hide();
14
+ }
15
+ });
16
+
17
+ // on in/out/role change, hide/show the roles
18
+ $('#menu-to-edit').on('change', 'input.nav-menu-logged-in-out', function() {
19
+ if( $(this).val() === '' ){
20
+ $(this).parentsUntil('.nav_menu_logged_in_out').next('.nav_menu_role_field').slideDown();
21
+ } else {
22
+ $(this).parentsUntil('.nav_menu_logged_in_out').next('.nav_menu_role_field').slideUp();
23
+ }
24
+ });
25
+
26
+
27
+ })(jQuery);
js/nav-menu-roles.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /*! nav-menu-roles 1.4.1 */
2
+ !function(a){a(".nav_menu_logged_in_out_field").each(function(){{var b=a(this);b.find("input.nav-menu-id").val()}""===b.find("input.nav-menu-logged-in-out:checked").val()?b.next(".nav_menu_role_field").show():b.next(".nav_menu_role_field").hide()}),a("#menu-to-edit").on("change","input.nav-menu-logged-in-out",function(){""===a(this).val()?a(this).parentsUntil(".nav_menu_logged_in_out").next(".nav_menu_role_field").slideDown():a(this).parentsUntil(".nav_menu_logged_in_out").next(".nav_menu_role_field").slideUp()})}(jQuery);
languages/nav-menu-roles-ar.mo ADDED
Binary file
languages/nav-menu-roles-ar.po ADDED
@@ -0,0 +1,216 @@