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 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2014 Nav Menu Roles
2
+ # This file is distributed under the same license as the Nav Menu Roles package.
3
+ # Translators:
4
+ # Hassan, 2014
5
+ msgid ""
6
+ msgstr ""
7
+ "Project-Id-Version: Nav Menu Roles\n"
8
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/nav-menu-roles\n"
9
+ "POT-Creation-Date: 2014-06-26 15:17:58+00:00\n"
10
+ "PO-Revision-Date: 2014-06-30 06:51+0000\n"
11
+ "Last-Translator: Hassan\n"
12
+ "Language-Team: Arabic (http://www.transifex.com/projects/p/nav-menu-roles/language/ar/)\n"
13
+ "MIME-Version: 1.0\n"
14
+ "Content-Type: text/plain; charset=UTF-8\n"
15
+ "Content-Transfer-Encoding: 8bit\n"
16
+ "Language: ar\n"
17
+ "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
18
+
19
+ #: inc/class.Nav_Menu_Roles_Import.php:100
20
+ #: inc/class.Nav_Menu_Roles_Import.php:109
21
+ #: inc/class.Nav_Menu_Roles_Import.php:155
22
+ #: inc/class.Nav_Menu_Roles_Import.php:159
23
+ #: inc/class.Nav_Menu_Roles_Import.php:168
24
+ msgid "Sorry, there has been an error."
25
+ msgstr "عفواً، حدث خطأ ما."
26
+
27
+ #: inc/class.Nav_Menu_Roles_Import.php:101
28
+ msgid "The file does not exist, please try again."
29
+ msgstr "الملف غير موجود، الرجاء إعادة المحاولة."
30
+
31
+ #: inc/class.Nav_Menu_Roles_Import.php:140
32
+ msgid "All done."
33
+ msgstr "انتهى كل شيْ."
34
+
35
+ #: inc/class.Nav_Menu_Roles_Import.php:140
36
+ msgid "Have fun!"
37
+ msgstr "استمتع!"
38
+
39
+ #: inc/class.Nav_Menu_Roles_Import.php:160
40
+ msgid ""
41
+ "The export file could not be found at <code>%s</code>. It is likely that "
42
+ "this was caused by a permissions problem."
43
+ msgstr "لم يتم إيجاد ملف التصدير في <code>%s</code>. على الأرجح أن هذا بسبب مشكلة في التصريحات."
44
+
45
+ #: inc/class.Nav_Menu_Roles_Import.php:176
46
+ msgid ""
47
+ "This WXR file (version %s) may not be supported by this version of the "
48
+ "importer. Please consider updating."
49
+ msgstr "ملف WXR هذا (نسخة %s) ربما لا يكون مدعوماً بواسطة هذه النسخة من المستورد. يرجى النظر في التحديث."
50
+
51
+ #: inc/class.Nav_Menu_Roles_Import.php:244
52
+ msgid "Import Nav Menu Roles"
53
+ msgstr "استيراد Nav Menu Roles"
54
+
55
+ #: inc/class.Nav_Menu_Roles_Import.php:251
56
+ msgid ""
57
+ "A new version of this importer is available. Please update to version %s to "
58
+ "ensure compatibility with newer export files."
59
+ msgstr "هناك نسخة جديدة من هذا المستورد متوفرة. الرجاء التحديث إلى النسخة %s لضمان التوافق مع ملفات التصدير الجديدة."
60
+
61
+ #: inc/class.Nav_Menu_Roles_Import.php:266
62
+ msgid ""
63
+ "Re-Upload your normal WordPress eXtended RSS (WXR) file and we&#8217;ll "
64
+ "import the Nav Menu Roles and any other missing post meta for the Nav Menu "
65
+ "items."
66
+ msgstr "قم بإعادة رفع ملف eXtended RSS (WXR) العادي الخاص بالووردبريس وسوف نقوم باستيراد Nav Menu Roles وأي بيانات تدوينات وصفية أخرى مفقود لعناصر القوائم."
67
+
68
+ #: inc/class.Nav_Menu_Roles_Import.php:267
69
+ msgid "Choose a WXR (.xml) file to upload, then click Upload file and import."
70
+ msgstr "اختر ملف WXR (.xml) لرفعه، ثم اضغط على رفع الملف والاستيراد."
71
+
72
+ #. translators: %s: title of menu item which is invalid
73
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:87
74
+ msgid "%s (Invalid)"
75
+ msgstr "%s (غير صحيح)"
76
+
77
+ #. translators: %s: title of menu item in draft status
78
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:91
79
+ msgid "%s (Pending)"
80
+ msgstr "%s (بالانتظار)"
81
+
82
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:104
83
+ msgid "sub item"
84
+ msgstr "عنصر فرعي"
85
+
86
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:119
87
+ msgid "Move up"
88
+ msgstr "تحريك للأعلى"
89
+
90
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:132
91
+ msgid "Move down"
92
+ msgstr "تحريك للأسفل"
93
+
94
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:134
95
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:136
96
+ msgid "Edit Menu Item"
97
+ msgstr "تعديل عنصر القائمة"
98
+
99
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:145
100
+ msgid "URL"
101
+ msgstr "الرابط"
102
+
103
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:152
104
+ msgid "Navigation Label"
105
+ msgstr "وسم التنقل"
106
+
107
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:158
108
+ msgid "Title Attribute"
109
+ msgstr "خاصية العنوان"
110
+
111
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:165
112
+ msgid "Open link in a new window/tab"
113
+ msgstr "فتح الوصلة في نافذة/تبويب جديد"
114
+
115
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:170
116
+ msgid "CSS Classes (optional)"
117
+ msgstr "CSS Classes (إختياري)"
118
+
119
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:176
120
+ msgid "Link Relationship (XFN)"
121
+ msgstr "علاقة الوصلات (XFN)"
122
+
123
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:182
124
+ msgid "Description"
125
+ msgstr "الوصف"
126
+
127
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:184
128
+ msgid ""
129
+ "The description will be displayed in the menu if the current theme supports "
130
+ "it."
131
+ msgstr "سيتم عرض الوصف في القائمة إذا كان القالب الحالي يدعم ذلك."
132
+
133
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:196
134
+ msgid "Move"
135
+ msgstr "تحريك"
136
+
137
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:197
138
+ msgid "Up one"
139
+ msgstr "واحدة للأعلي"
140
+
141
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:198
142
+ msgid "Down one"
143
+ msgstr "واحدة للأسفل"
144
+
145
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:201
146
+ msgid "To the top"
147
+ msgstr "للأعلى"
148
+
149
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:208
150
+ msgid "Original: %s"
151
+ msgstr "الأصل: %s"
152
+
153
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:221
154
+ msgid "Remove"
155
+ msgstr "حذف"
156
+
157
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:222
158
+ msgid "Cancel"
159
+ msgstr "إلغاء"
160
+
161
+ #: nav-menu-roles.php:76 nav-menu-roles.php:85
162
+ msgid "Cheatin&#8217; huh?"
163
+ msgstr "تغش، أليس كذلك؟"
164
+
165
+ #. Plugin Name of the plugin/theme
166
+ msgid "Nav Menu Roles"
167
+ msgstr "Nav Menu Roles"
168
+
169
+ #: nav-menu-roles.php:163
170
+ msgid ""
171
+ "Import %snav menu roles%s and other menu item meta skipped by the default "
172
+ "importer"
173
+ msgstr "استيراد %snav menu roles%s والبيانات الوصفية الأخرى الخاصة بعناصر القوائم التي يتم تخطيها بواسطة المستورد الإفتراضي"
174
+
175
+ #: nav-menu-roles.php:219
176
+ msgid ""
177
+ "Nav Menu Roles has detected a possible conflict with the following functions"
178
+ " or classes: %1$s. Please see the %2$sFAQ%3$s for more information and "
179
+ "possible resolution. | %4$sHide Notice%3$s"
180
+ msgstr "Nav Menu Roles قامت باكتشاف مشكلة محتملة مع الدوال أو التصنيفات التالية: %1$s. رجاء أنظر %2$sFAQ%3$s للمزيد من المعلومات والحلول الممكنة. | %4$sإخفاء التنبيه%3$s"
181
+
182
+ #: nav-menu-roles.php:289
183
+ msgid "Display Mode"
184
+ msgstr "وضع العرض"
185
+
186
+ #: nav-menu-roles.php:297
187
+ msgid "Logged Out Users"
188
+ msgstr "المستخدمين غير المسجلين"
189
+
190
+ #: nav-menu-roles.php:304
191
+ msgid "Logged In Users"
192
+ msgstr "المستخدمين المسجلين"
193
+
194
+ #: nav-menu-roles.php:311
195
+ msgid "By Role"
196
+ msgstr "حسب الدور"
197
+
198
+ #: nav-menu-roles.php:318
199
+ msgid "Access Role"
200
+ msgstr "دور الولوج"
201
+
202
+ #. Plugin URI of the plugin/theme
203
+ msgid "http://www.kathyisawesome.com/449/nav-menu-roles/"
204
+ msgstr "http://www.kathyisawesome.com/449/nav-menu-roles/"
205
+
206
+ #. Description of the plugin/theme
207
+ msgid "Hide custom menu items based on user roles"
208
+ msgstr "إخفاء عناصر القوائم المخصوصة بناء على دور المستخدم"
209
+
210
+ #. Author of the plugin/theme
211
+ msgid "Kathy Darling"
212
+ msgstr "Kathy Darling"
213
+
214
+ #. Author URI of the plugin/theme
215
+ msgid "http://www.kathyisawesome.com"
216
+ msgstr "http://www.kathyisawesome.com"
languages/nav-menu-roles-en.mo ADDED
Binary file
languages/nav-menu-roles-en.po ADDED
@@ -0,0 +1,215 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2014 Nav Menu Roles
2
+ # This file is distributed under the same license as the Nav Menu Roles package.
3
+ # Translators:
4
+ msgid ""
5
+ msgstr ""
6
+ "Project-Id-Version: Nav Menu Roles\n"
7
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/nav-menu-roles\n"
8
+ "POT-Creation-Date: 2014-06-26 15:17:58+00:00\n"
9
+ "PO-Revision-Date: 2014-06-27 09:35+0000\n"
10
+ "Last-Translator: Kathy Darling <helgatheviking@gmail.com>\n"
11
+ "Language-Team: English (http://www.transifex.com/projects/p/nav-menu-roles/language/en/)\n"
12
+ "MIME-Version: 1.0\n"
13
+ "Content-Type: text/plain; charset=UTF-8\n"
14
+ "Content-Transfer-Encoding: 8bit\n"
15
+ "Language: en\n"
16
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17
+
18
+ #: inc/class.Nav_Menu_Roles_Import.php:100
19
+ #: inc/class.Nav_Menu_Roles_Import.php:109
20
+ #: inc/class.Nav_Menu_Roles_Import.php:155
21
+ #: inc/class.Nav_Menu_Roles_Import.php:159
22
+ #: inc/class.Nav_Menu_Roles_Import.php:168
23
+ msgid "Sorry, there has been an error."
24
+ msgstr "Sorry, there has been an error."
25
+
26
+ #: inc/class.Nav_Menu_Roles_Import.php:101
27
+ msgid "The file does not exist, please try again."
28
+ msgstr "The file does not exist, please try again."
29
+
30
+ #: inc/class.Nav_Menu_Roles_Import.php:140
31
+ msgid "All done."
32
+ msgstr "All done."
33
+
34
+ #: inc/class.Nav_Menu_Roles_Import.php:140
35
+ msgid "Have fun!"
36
+ msgstr "Have fun!"
37
+
38
+ #: inc/class.Nav_Menu_Roles_Import.php:160
39
+ msgid ""
40
+ "The export file could not be found at <code>%s</code>. It is likely that "
41
+ "this was caused by a permissions problem."
42
+ msgstr "The export file could not be found at <code>%s</code>. It is likely that this was caused by a permissions problem."
43
+
44
+ #: inc/class.Nav_Menu_Roles_Import.php:176
45
+ msgid ""
46
+ "This WXR file (version %s) may not be supported by this version of the "
47
+ "importer. Please consider updating."
48
+ msgstr "This WXR file (version %s) may not be supported by this version of the importer. Please consider updating."
49
+
50
+ #: inc/class.Nav_Menu_Roles_Import.php:244
51
+ msgid "Import Nav Menu Roles"
52
+ msgstr "Import Nav Menu Roles"
53
+
54
+ #: inc/class.Nav_Menu_Roles_Import.php:251
55
+ msgid ""
56
+ "A new version of this importer is available. Please update to version %s to "
57
+ "ensure compatibility with newer export files."
58
+ msgstr "A new version of this importer is available. Please update to version %s to ensure compatibility with newer export files."
59
+
60
+ #: inc/class.Nav_Menu_Roles_Import.php:266
61
+ msgid ""
62
+ "Re-Upload your normal WordPress eXtended RSS (WXR) file and we&#8217;ll "
63
+ "import the Nav Menu Roles and any other missing post meta for the Nav Menu "
64
+ "items."
65
+ msgstr "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."
66
+
67
+ #: inc/class.Nav_Menu_Roles_Import.php:267
68
+ msgid "Choose a WXR (.xml) file to upload, then click Upload file and import."
69
+ msgstr "Choose a WXR (.xml) file to upload, then click Upload file and import."
70
+
71
+ #. translators: %s: title of menu item which is invalid
72
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:87
73
+ msgid "%s (Invalid)"
74
+ msgstr "%s (Invalid)"
75
+
76
+ #. translators: %s: title of menu item in draft status
77
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:91
78
+ msgid "%s (Pending)"
79
+ msgstr "%s (Pending)"
80
+
81
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:104
82
+ msgid "sub item"
83
+ msgstr "sub item"
84
+
85
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:119
86
+ msgid "Move up"
87
+ msgstr "Move up"
88
+
89
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:132
90
+ msgid "Move down"
91
+ msgstr "Move down"
92
+
93
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:134
94
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:136
95
+ msgid "Edit Menu Item"
96
+ msgstr "Edit Menu Item"
97
+
98
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:145
99
+ msgid "URL"
100
+ msgstr "URL"
101
+
102
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:152
103
+ msgid "Navigation Label"
104
+ msgstr "Navigation Label"
105
+
106
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:158
107
+ msgid "Title Attribute"
108
+ msgstr "Title Attribute"
109
+
110
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:165
111
+ msgid "Open link in a new window/tab"
112
+ msgstr "Open link in a new window/tab"
113
+
114
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:170
115
+ msgid "CSS Classes (optional)"
116
+ msgstr "CSS Classes (optional)"
117
+
118
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:176
119
+ msgid "Link Relationship (XFN)"
120
+ msgstr "Link Relationship (XFN)"
121
+
122
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:182
123
+ msgid "Description"
124
+ msgstr "Description"
125
+
126
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:184
127
+ msgid ""
128
+ "The description will be displayed in the menu if the current theme supports "
129
+ "it."
130
+ msgstr "The description will be displayed in the menu if the current theme supports it."
131
+
132
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:196
133
+ msgid "Move"
134
+ msgstr "Move"
135
+
136
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:197
137
+ msgid "Up one"
138
+ msgstr "Up one"
139
+
140
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:198
141
+ msgid "Down one"
142
+ msgstr "Down one"
143
+
144
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:201
145
+ msgid "To the top"
146
+ msgstr "To the top"
147
+
148
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:208
149
+ msgid "Original: %s"
150
+ msgstr "Original: %s"
151
+
152
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:221
153
+ msgid "Remove"
154
+ msgstr "Remove"
155
+
156
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:222
157
+ msgid "Cancel"
158
+ msgstr "Cancel"
159
+
160
+ #: nav-menu-roles.php:76 nav-menu-roles.php:85
161
+ msgid "Cheatin&#8217; huh?"
162
+ msgstr "Cheatin&#8217; huh?"
163
+
164
+ #. Plugin Name of the plugin/theme
165
+ msgid "Nav Menu Roles"
166
+ msgstr "Nav Menu Roles"
167
+
168
+ #: nav-menu-roles.php:163
169
+ msgid ""
170
+ "Import %snav menu roles%s and other menu item meta skipped by the default "
171
+ "importer"
172
+ msgstr "Import %snav menu roles%s and other menu item meta skipped by the default importer"
173
+
174
+ #: nav-menu-roles.php:219
175
+ msgid ""
176
+ "Nav Menu Roles has detected a possible conflict with the following functions"
177
+ " or classes: %1$s. Please see the %2$sFAQ%3$s for more information and "
178
+ "possible resolution. | %4$sHide Notice%3$s"
179
+ msgstr "Nav Menu Roles has detected a possible conflict with the following functions or classes: %1$s. Please see the %2$sFAQ%3$s for more information and possible resolution. | %4$sHide Notice%3$s"
180
+
181
+ #: nav-menu-roles.php:289
182
+ msgid "Display Mode"
183
+ msgstr "Display Mode"
184
+
185
+ #: nav-menu-roles.php:297
186
+ msgid "Logged Out Users"
187
+ msgstr "Logged Out Users"
188
+
189
+ #: nav-menu-roles.php:304
190
+ msgid "Logged In Users"
191
+ msgstr "Logged In Users"
192
+
193
+ #: nav-menu-roles.php:311
194
+ msgid "By Role"
195
+ msgstr "By Role"
196
+
197
+ #: nav-menu-roles.php:318
198
+ msgid "Access Role"
199
+ msgstr "Access Role"
200
+
201
+ #. Plugin URI of the plugin/theme
202
+ msgid "http://www.kathyisawesome.com/449/nav-menu-roles/"
203
+ msgstr "http://www.kathyisawesome.com/449/nav-menu-roles/"
204
+
205
+ #. Description of the plugin/theme
206
+ msgid "Hide custom menu items based on user roles"
207
+ msgstr "Hide custom menu items based on user roles"
208
+
209
+ #. Author of the plugin/theme
210
+ msgid "Kathy Darling"
211
+ msgstr "Kathy Darling"
212
+
213
+ #. Author URI of the plugin/theme
214
+ msgid "http://www.kathyisawesome.com"
215
+ msgstr "http://www.kathyisawesome.com"
languages/nav-menu-roles-es.mo ADDED
Binary file
languages/nav-menu-roles-es.po ADDED
@@ -0,0 +1,217 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2014 Nav Menu Roles
2
+ # This file is distributed under the same license as the Nav Menu Roles package.
3
+ # Translators:
4
+ # Enrique Errando <contacto@enriqueerrando.com>, 2014
5
+ # Enrique Errando <contacto@enriqueerrando.com>, 2014
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: Nav Menu Roles\n"
9
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/nav-menu-roles\n"
10
+ "POT-Creation-Date: 2014-06-26 15:17:58+00:00\n"
11
+ "PO-Revision-Date: 2014-08-04 10:01+0000\n"
12
+ "Last-Translator: Enrique Errando <contacto@enriqueerrando.com>\n"
13
+ "Language-Team: Spanish (http://www.transifex.com/projects/p/nav-menu-roles/language/es/)\n"
14
+ "MIME-Version: 1.0\n"
15
+ "Content-Type: text/plain; charset=UTF-8\n"
16
+ "Content-Transfer-Encoding: 8bit\n"
17
+ "Language: es\n"
18
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
19
+
20
+ #: inc/class.Nav_Menu_Roles_Import.php:100
21
+ #: inc/class.Nav_Menu_Roles_Import.php:109
22
+ #: inc/class.Nav_Menu_Roles_Import.php:155
23
+ #: inc/class.Nav_Menu_Roles_Import.php:159
24
+ #: inc/class.Nav_Menu_Roles_Import.php:168
25
+ msgid "Sorry, there has been an error."
26
+ msgstr "Lo sentimos, ha ocurrido un error."
27
+
28
+ #: inc/class.Nav_Menu_Roles_Import.php:101
29
+ msgid "The file does not exist, please try again."
30
+ msgstr "El archivo no existe, por favor, vuélvelo a intentar."
31
+
32
+ #: inc/class.Nav_Menu_Roles_Import.php:140
33
+ msgid "All done."
34
+ msgstr "Terminado."
35
+
36
+ #: inc/class.Nav_Menu_Roles_Import.php:140
37
+ msgid "Have fun!"
38
+ msgstr "¡Diviértete!"
39
+
40
+ #: inc/class.Nav_Menu_Roles_Import.php:160
41
+ msgid ""
42
+ "The export file could not be found at <code>%s</code>. It is likely that "
43
+ "this was caused by a permissions problem."
44
+ msgstr "El archivo no se ha encontrado en <code>%s</code>. Es probable que se deba a un problema de permisos."
45
+
46
+ #: inc/class.Nav_Menu_Roles_Import.php:176
47
+ msgid ""
48
+ "This WXR file (version %s) may not be supported by this version of the "
49
+ "importer. Please consider updating."
50
+ msgstr "Puede que el archivo WXR (versión %s) no esté soportado por esta versión del importador. Por favor, toma en consideración la posibilidad de actualizarlo."
51
+
52
+ #: inc/class.Nav_Menu_Roles_Import.php:244
53
+ msgid "Import Nav Menu Roles"
54
+ msgstr "Importar Nav Menu Roles"
55
+
56
+ #: inc/class.Nav_Menu_Roles_Import.php:251
57
+ msgid ""
58
+ "A new version of this importer is available. Please update to version %s to "
59
+ "ensure compatibility with newer export files."
60
+ msgstr "Está disponible una nueva versión del importador. Por favor, actualiza a la versión %s para garantizar la compatibilidad con nuevos archivos de exportación."
61
+
62
+ #: inc/class.Nav_Menu_Roles_Import.php:266
63
+ msgid ""
64
+ "Re-Upload your normal WordPress eXtended RSS (WXR) file and we&#8217;ll "
65
+ "import the Nav Menu Roles and any other missing post meta for the Nav Menu "
66
+ "items."
67
+ msgstr "Vuelve a subir tu archivo WordPress eXtended RSS (WXR) y nosotros importaremos el Nav Menu Roles y cualquier otro post meta para los ítems del Nav Menu."
68
+
69
+ #: inc/class.Nav_Menu_Roles_Import.php:267
70
+ msgid "Choose a WXR (.xml) file to upload, then click Upload file and import."
71
+ msgstr "Escoge un archivo WXR (.xml) a subir y luego clic en \"Subir archivo e importar\"."
72
+
73
+ #. translators: %s: title of menu item which is invalid
74
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:87
75
+ msgid "%s (Invalid)"
76
+ msgstr "%s (Inválido)"
77
+
78
+ #. translators: %s: title of menu item in draft status
79
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:91
80
+ msgid "%s (Pending)"
81
+ msgstr "%s (Pendiente)"
82
+
83
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:104
84
+ msgid "sub item"
85
+ msgstr "sub ítem"
86
+
87
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:119
88
+ msgid "Move up"
89
+ msgstr "Mover hacia arriba"
90
+
91
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:132
92
+ msgid "Move down"
93
+ msgstr "Mover hacia abajo"
94
+
95
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:134
96
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:136
97
+ msgid "Edit Menu Item"
98
+ msgstr "Editar ítem del menú"
99
+
100
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:145
101
+ msgid "URL"
102
+ msgstr "URL"
103
+
104
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:152
105
+ msgid "Navigation Label"
106
+ msgstr "Etiqueta de navegación"
107
+
108
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:158
109
+ msgid "Title Attribute"
110
+ msgstr "Atributo de título"
111
+
112
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:165
113
+ msgid "Open link in a new window/tab"
114
+ msgstr "Abrir enlace en una nueva ventana/pestaña"
115
+
116
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:170
117
+ msgid "CSS Classes (optional)"
118
+ msgstr "Clases CSS (opcional)"
119
+
120
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:176
121
+ msgid "Link Relationship (XFN)"
122
+ msgstr "Relación de enlace (XFN)"
123
+
124
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:182
125
+ msgid "Description"
126
+ msgstr "Descripción"
127
+
128
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:184
129
+ msgid ""
130
+ "The description will be displayed in the menu if the current theme supports "
131
+ "it."
132
+ msgstr "La descripción se mostrará en el menú si el tema actual lo soporta."
133
+
134
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:196
135
+ msgid "Move"
136
+ msgstr "Mover"
137
+
138
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:197
139
+ msgid "Up one"
140
+ msgstr "Subir uno"
141
+
142
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:198
143
+ msgid "Down one"
144
+ msgstr "Bajar uno"
145
+
146
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:201
147
+ msgid "To the top"
148
+ msgstr "A arriba del todo"
149
+
150
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:208
151
+ msgid "Original: %s"
152
+ msgstr "Original: %s"
153
+
154
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:221
155
+ msgid "Remove"
156
+ msgstr "Eliminar"
157
+
158
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:222
159
+ msgid "Cancel"
160
+ msgstr "Cancelar"
161
+
162
+ #: nav-menu-roles.php:76 nav-menu-roles.php:85
163
+ msgid "Cheatin&#8217; huh?"
164
+ msgstr "Con que haciendo trampas, ¿eh?"
165
+
166
+ #. Plugin Name of the plugin/theme
167
+ msgid "Nav Menu Roles"
168
+ msgstr "Nav Menu Roles"
169
+
170
+ #: nav-menu-roles.php:163
171
+ msgid ""
172
+ "Import %snav menu roles%s and other menu item meta skipped by the default "
173
+ "importer"
174
+ msgstr "Importar %snav menu roles%s y otros meta de ítems de menú ignorados por el importador por defecto."
175
+
176
+ #: nav-menu-roles.php:219
177
+ msgid ""
178
+ "Nav Menu Roles has detected a possible conflict with the following functions"
179
+ " or classes: %1$s. Please see the %2$sFAQ%3$s for more information and "
180
+ "possible resolution. | %4$sHide Notice%3$s"
181
+ msgstr "Nav Menu Roles ha detectado un conflicto con las siguientes funciones o clases: %1$s. Por favor, para más información y posible solución leer las %2$sPreguntas frecuentes%3$s. %4$sOcultar Alerta%3$s"
182
+
183
+ #: nav-menu-roles.php:289
184
+ msgid "Display Mode"
185
+ msgstr "Modo de visualización"
186
+
187
+ #: nav-menu-roles.php:297
188
+ msgid "Logged Out Users"
189
+ msgstr "Usuarios no identificados"
190
+
191
+ #: nav-menu-roles.php:304
192
+ msgid "Logged In Users"
193
+ msgstr "Usuarios identificados"
194
+
195
+ #: nav-menu-roles.php:311
196
+ msgid "By Role"
197
+ msgstr "Por rol"
198
+
199
+ #: nav-menu-roles.php:318
200
+ msgid "Access Role"
201
+ msgstr "Rol de acceso"
202
+
203
+ #. Plugin URI of the plugin/theme
204
+ msgid "http://www.kathyisawesome.com/449/nav-menu-roles/"
205
+ msgstr "http://www.kathyisawesome.com/449/nav-menu-roles/"
206
+
207
+ #. Description of the plugin/theme
208
+ msgid "Hide custom menu items based on user roles"
209
+ msgstr "Ocultar ítems personalizados de menú basados en roles de usuarios"
210
+
211
+ #. Author of the plugin/theme
212
+ msgid "Kathy Darling"
213
+ msgstr "Kathy Darling"
214
+
215
+ #. Author URI of the plugin/theme
216
+ msgid "http://www.kathyisawesome.com"
217
+ msgstr "http://www.kathyisawesome.com"
languages/nav-menu-roles-fi.mo ADDED
Binary file
languages/nav-menu-roles-fi.po ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2014 Nav Menu Roles
2
+ # This file is distributed under the same license as the Nav Menu Roles package.
3
+ # Translators:
4
+ # timoleinio <tjlein@gmail.com>, 2014
5
+ msgid ""
6
+ msgstr ""
7
+ "Project-Id-Version: Nav Menu Roles\n"
8
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/nav-menu-roles\n"
9
+ "POT-Creation-Date: 2014-06-26 15:17:58+00:00\n"
10
+ "PO-Revision-Date: 2014-06-27 09:35+0000\n"
11
+ "Last-Translator: Kathy Darling <helgatheviking@gmail.com>\n"
12
+ "Language-Team: Finnish (http://www.transifex.com/projects/p/nav-menu-roles/language/fi/)\n"
13
+ "MIME-Version: 1.0\n"
14
+ "Content-Type: text/plain; charset=UTF-8\n"
15
+ "Content-Transfer-Encoding: 8bit\n"
16
+ "Language: fi\n"
17
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
+
19
+ #: inc/class.Nav_Menu_Roles_Import.php:100
20
+ #: inc/class.Nav_Menu_Roles_Import.php:109
21
+ #: inc/class.Nav_Menu_Roles_Import.php:155
22
+ #: inc/class.Nav_Menu_Roles_Import.php:159
23
+ #: inc/class.Nav_Menu_Roles_Import.php:168
24
+ msgid "Sorry, there has been an error."
25
+ msgstr "Virhe tapahtui."
26
+
27
+ #: inc/class.Nav_Menu_Roles_Import.php:101
28
+ msgid "The file does not exist, please try again."
29
+ msgstr "Tiedostoa ei ole olemassa, yritä uudelleen."
30
+
31
+ #: inc/class.Nav_Menu_Roles_Import.php:140
32
+ msgid "All done."
33
+ msgstr "Valmista."
34
+
35
+ #: inc/class.Nav_Menu_Roles_Import.php:140
36
+ msgid "Have fun!"
37
+ msgstr "Pidä hauskaa!"
38
+
39
+ #: inc/class.Nav_Menu_Roles_Import.php:160
40
+ msgid ""
41
+ "The export file could not be found at <code>%s</code>. It is likely that "
42
+ "this was caused by a permissions problem."
43
+ msgstr "Vientitiedosta ei löytynyt <code>%s</code>. On todennäköistä, että kyseessä on käyttöoikeusongelma."
44
+
45
+ #: inc/class.Nav_Menu_Roles_Import.php:176
46
+ msgid ""
47
+ "This WXR file (version %s) may not be supported by this version of the "
48
+ "importer. Please consider updating."
49
+ msgstr "Tuontityökalun tämä versio ei välttämättä tue WXR-tiedostoa (versio %s). Harkitse työkalun päivitystä."
50
+
51
+ #: inc/class.Nav_Menu_Roles_Import.php:244
52
+ msgid "Import Nav Menu Roles"
53
+ msgstr "Tuo valikkorooleja"
54
+
55
+ #: inc/class.Nav_Menu_Roles_Import.php:251
56
+ msgid ""
57
+ "A new version of this importer is available. Please update to version %s to "
58
+ "ensure compatibility with newer export files."
59
+ msgstr "Tuontityökalusta on uusi versio. Ole hyvä ja päivitä versioon %s varmistaaksesi yhteensopivuus uusien vientitiedostojen kanssa."
60
+
61
+ #: inc/class.Nav_Menu_Roles_Import.php:266
62
+ msgid ""
63
+ "Re-Upload your normal WordPress eXtended RSS (WXR) file and we&#8217;ll "
64
+ "import the Nav Menu Roles and any other missing post meta for the Nav Menu "
65
+ "items."
66
+ msgstr "Lataa WordPressin eXtended RSS (WXR) -tiedosto ja tuomme valikkoroolit."
67
+
68
+ #: inc/class.Nav_Menu_Roles_Import.php:267
69
+ msgid "Choose a WXR (.xml) file to upload, then click Upload file and import."
70
+ msgstr "Valitse ladattava WXR (.xml) -tiedosto ja klikkaa Tuo tiedosto -nappia."
71
+
72
+ #. translators: %s: title of menu item which is invalid
73
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:87
74
+ msgid "%s (Invalid)"
75
+ msgstr "%s (virheellinen)"
76
+
77
+ #. translators: %s: title of menu item in draft status
78
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:91
79
+ msgid "%s (Pending)"
80
+ msgstr "%s (Odottaa)"
81
+
82
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:104
83
+ msgid "sub item"
84
+ msgstr "alavalinta"
85
+
86
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:119
87
+ msgid "Move up"
88
+ msgstr "Siirrä ylöspäin"
89
+
90
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:132
91
+ msgid "Move down"
92
+ msgstr "Siirrä alaspäin"
93
+
94
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:134
95
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:136
96
+ msgid "Edit Menu Item"
97
+ msgstr "Muokkaa valikon kohtaa"
98
+
99
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:145
100
+ msgid "URL"
101
+ msgstr "URL"
102
+
103
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:152
104
+ msgid "Navigation Label"
105
+ msgstr "Valikkoteksti"
106
+
107
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:158
108
+ msgid "Title Attribute"
109
+ msgstr "Title-attribuutti"
110
+
111
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:165
112
+ msgid "Open link in a new window/tab"
113
+ msgstr "Avaa linkki uuteen ikkunaan tai välilehteen"
114
+
115
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:170
116
+ msgid "CSS Classes (optional)"
117
+ msgstr "CSS-luokat (vapaaehtoinen)"
118
+
119
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:176
120
+ msgid "Link Relationship (XFN)"
121
+ msgstr "Linkkisuhde (XFN)"
122
+
123
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:182
124
+ msgid "Description"
125
+ msgstr "Kuvaus"
126
+
127
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:184
128
+ msgid ""
129
+ "The description will be displayed in the menu if the current theme supports "
130
+ "it."
131
+ msgstr "Kuvaus näytetään nykyisen teeman valikossa, jos nykyinen teema tukee sitä."
132
+
133
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:196
134
+ msgid "Move"
135
+ msgstr "Siirrä"
136
+
137
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:197
138
+ msgid "Up one"
139
+ msgstr "Yksi ylöspäin"
140
+
141
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:198
142
+ msgid "Down one"
143
+ msgstr "Yksi alaspäin"
144
+
145
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:201
146
+ msgid "To the top"
147
+ msgstr "Ylimmäksi"
148
+
149
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:208
150
+ msgid "Original: %s"
151
+ msgstr "Alkuperäinen: %s"
152
+
153
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:221
154
+ msgid "Remove"
155
+ msgstr "Poista"
156
+
157
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:222
158
+ msgid "Cancel"
159
+ msgstr "Peruuta"
160
+
161
+ #: nav-menu-roles.php:76 nav-menu-roles.php:85
162
+ msgid "Cheatin&#8217; huh?"
163
+ msgstr "Yritätkö huijata?"
164
+
165
+ #. Plugin Name of the plugin/theme
166
+ msgid "Nav Menu Roles"
167
+ msgstr "Valikkoroolit"
168
+
169
+ #: nav-menu-roles.php:163
170
+ msgid ""
171
+ "Import %snav menu roles%s and other menu item meta skipped by the default "
172
+ "importer"
173
+ msgstr "Tuo %svalikkorooleja%s ja niiden muita metatietoja"
174
+
175
+ #: nav-menu-roles.php:219
176
+ msgid ""
177
+ "Nav Menu Roles has detected a possible conflict with the following functions"
178
+ " or classes: %1$s. Please see the %2$sFAQ%3$s for more information and "
179
+ "possible resolution. | %4$sHide Notice%3$s"
180
+ msgstr ""
181
+
182
+ #: nav-menu-roles.php:289
183
+ msgid "Display Mode"
184
+ msgstr "Näytä"
185
+
186
+ #: nav-menu-roles.php:297
187
+ msgid "Logged Out Users"
188
+ msgstr "Kirjautumaton käyttäjä"
189
+
190
+ #: nav-menu-roles.php:304
191
+ msgid "Logged In Users"
192
+ msgstr "Kirjautunut käyttäjä"
193
+
194
+ #: nav-menu-roles.php:311
195
+ msgid "By Role"
196
+ msgstr "Roolin mukaan"
197
+
198
+ #: nav-menu-roles.php:318
199
+ msgid "Access Role"
200
+ msgstr "Käyttäjärooli"
201
+
202
+ #. Plugin URI of the plugin/theme
203
+ msgid "http://www.kathyisawesome.com/449/nav-menu-roles/"
204
+ msgstr "http://www.kathyisawesome.com/449/nav-menu-roles/"
205
+
206
+ #. Description of the plugin/theme
207
+ msgid "Hide custom menu items based on user roles"
208
+ msgstr "Piilota valikkolinkkejä käyttäjäroolien perusteella"
209
+
210
+ #. Author of the plugin/theme
211
+ msgid "Kathy Darling"
212
+ msgstr "Kathy Darling"
213
+
214
+ #. Author URI of the plugin/theme
215
+ msgid "http://www.kathyisawesome.com"
216
+ msgstr "http://www.kathyisawesome.com"
languages/nav-menu-roles-fr.mo ADDED
Binary file
languages/nav-menu-roles-fr.po ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2014 Nav Menu Roles
2
+ # This file is distributed under the same license as the Nav Menu Roles package.
3
+ # Translators:
4
+ # Philippe GILLES <petilabo@gmail.com>, 2014
5
+ msgid ""
6
+ msgstr ""
7
+ "Project-Id-Version: Nav Menu Roles\n"
8
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/nav-menu-roles\n"
9
+ "POT-Creation-Date: 2014-06-26 15:17:58+00:00\n"
10
+ "PO-Revision-Date: 2014-08-03 20:59+0000\n"
11
+ "Last-Translator: Philippe GILLES <petilabo@gmail.com>\n"
12
+ "Language-Team: French (http://www.transifex.com/projects/p/nav-menu-roles/language/fr/)\n"
13
+ "MIME-Version: 1.0\n"
14
+ "Content-Type: text/plain; charset=UTF-8\n"
15
+ "Content-Transfer-Encoding: 8bit\n"
16
+ "Language: fr\n"
17
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
18
+
19
+ #: inc/class.Nav_Menu_Roles_Import.php:100
20
+ #: inc/class.Nav_Menu_Roles_Import.php:109
21
+ #: inc/class.Nav_Menu_Roles_Import.php:155
22
+ #: inc/class.Nav_Menu_Roles_Import.php:159
23
+ #: inc/class.Nav_Menu_Roles_Import.php:168
24
+ msgid "Sorry, there has been an error."
25
+ msgstr "Désolé, une erreur est survenue."
26
+
27
+ #: inc/class.Nav_Menu_Roles_Import.php:101
28
+ msgid "The file does not exist, please try again."
29
+ msgstr "Ce fichier n'existe pas, veuillez essayer à nouveau."
30
+
31
+ #: inc/class.Nav_Menu_Roles_Import.php:140
32
+ msgid "All done."
33
+ msgstr "C'est fait."
34
+
35
+ #: inc/class.Nav_Menu_Roles_Import.php:140
36
+ msgid "Have fun!"
37
+ msgstr "Amusez-vous bien !"
38
+
39
+ #: inc/class.Nav_Menu_Roles_Import.php:160
40
+ msgid ""
41
+ "The export file could not be found at <code>%s</code>. It is likely that "
42
+ "this was caused by a permissions problem."
43
+ msgstr "Impossible d'accéder au fichier d'export dans <code>%s</code>. Il s'agit probablement d'un problème de permissions."
44
+
45
+ #: inc/class.Nav_Menu_Roles_Import.php:176
46
+ msgid ""
47
+ "This WXR file (version %s) may not be supported by this version of the "
48
+ "importer. Please consider updating."
49
+ msgstr "Ce fichier WXR (version %s) pourrait ne pas être supporté par cette version de l'importateur. Il est recommandé de procéder à une mise à jour."
50
+
51
+ #: inc/class.Nav_Menu_Roles_Import.php:244
52
+ msgid "Import Nav Menu Roles"
53
+ msgstr "Importer les Nav Menu Roles"
54
+
55
+ #: inc/class.Nav_Menu_Roles_Import.php:251
56
+ msgid ""
57
+ "A new version of this importer is available. Please update to version %s to "
58
+ "ensure compatibility with newer export files."
59
+ msgstr "Une nouvelle version de cet importateur est disponible. Veuillez installer la version %s pour garantir la compatibilité avec les fichiers d'export plus récents."
60
+
61
+ #: inc/class.Nav_Menu_Roles_Import.php:266
62
+ msgid ""
63
+ "Re-Upload your normal WordPress eXtended RSS (WXR) file and we&#8217;ll "
64
+ "import the Nav Menu Roles and any other missing post meta for the Nav Menu "
65
+ "items."
66
+ msgstr "Veuillez charger une nouvelle fois le fichier WordPress eXtended RSS (WXR), afin d'importer les Nav Menu Roles ainsi que toutes les données meta manquantes dans les éléments de menu."
67
+
68
+ #: inc/class.Nav_Menu_Roles_Import.php:267
69
+ msgid "Choose a WXR (.xml) file to upload, then click Upload file and import."
70
+ msgstr "Sélectionnez le fichier WXR (.xml) à charger, cliquez sur le bouton \"Choisir un fichier\", puis procédez à l'importation."
71
+
72
+ #. translators: %s: title of menu item which is invalid
73
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:87
74
+ msgid "%s (Invalid)"
75
+ msgstr "%s (Invalide)"
76
+
77
+ #. translators: %s: title of menu item in draft status
78
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:91
79
+ msgid "%s (Pending)"
80
+ msgstr "%s (En attente)"
81
+
82
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:104
83
+ msgid "sub item"
84
+ msgstr "sous-élément"
85
+
86
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:119
87
+ msgid "Move up"
88
+ msgstr "Remonter"
89
+
90
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:132
91
+ msgid "Move down"
92
+ msgstr "Descendre"
93
+
94
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:134
95
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:136
96
+ msgid "Edit Menu Item"
97
+ msgstr "Modifier l'élément du menu"
98
+
99
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:145
100
+ msgid "URL"
101
+ msgstr "URL"
102
+
103
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:152
104
+ msgid "Navigation Label"
105
+ msgstr "Titre de la navigation"
106
+
107
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:158
108
+ msgid "Title Attribute"
109
+ msgstr "Attribut de titre"
110
+
111
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:165
112
+ msgid "Open link in a new window/tab"
113
+ msgstr "Ouvrir le lien dans une nouvelle fenêtre/un nouvel onglet"
114
+
115
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:170
116
+ msgid "CSS Classes (optional)"
117
+ msgstr "Classes CSS (facultatives)"
118
+
119
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:176
120
+ msgid "Link Relationship (XFN)"
121
+ msgstr "Relation avec le propriétaire du site lié (XFN)"
122
+
123
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:182
124
+ msgid "Description"
125
+ msgstr "Description"
126
+
127
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:184
128
+ msgid ""
129
+ "The description will be displayed in the menu if the current theme supports "
130
+ "it."
131
+ msgstr "La description sera affichée dans le menu si le thème actuel l’accepte."
132
+
133
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:196
134
+ msgid "Move"
135
+ msgstr "Déplacer"
136
+
137
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:197
138
+ msgid "Up one"
139
+ msgstr "Un cran vers le haut"
140
+
141
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:198
142
+ msgid "Down one"
143
+ msgstr "Un cran vers le bas"
144
+
145
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:201
146
+ msgid "To the top"
147
+ msgstr "Tout en haut"
148
+
149
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:208
150
+ msgid "Original: %s"
151
+ msgstr "Original : %s"
152
+
153
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:221
154
+ msgid "Remove"
155
+ msgstr "Supprimer"
156
+
157
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:222
158
+ msgid "Cancel"
159
+ msgstr "Annuler"
160
+
161
+ #: nav-menu-roles.php:76 nav-menu-roles.php:85
162
+ msgid "Cheatin&#8217; huh?"
163
+ msgstr "Un peu triché, non ?"
164
+
165
+ #. Plugin Name of the plugin/theme
166
+ msgid "Nav Menu Roles"
167
+ msgstr "Nav Menu Roles"
168
+
169
+ #: nav-menu-roles.php:163
170
+ msgid ""
171
+ "Import %snav menu roles%s and other menu item meta skipped by the default "
172
+ "importer"
173
+ msgstr "Importer les %snav menu roles%s, ainsi que toutes les données meta associées aux éléments de menus, que l'importateur par défaut ne prend pas en charge."
174
+
175
+ #: nav-menu-roles.php:219
176
+ msgid ""
177
+ "Nav Menu Roles has detected a possible conflict with the following functions"
178
+ " or classes: %1$s. Please see the %2$sFAQ%3$s for more information and "
179
+ "possible resolution. | %4$sHide Notice%3$s"
180
+ msgstr "Nav Menu Roles a détecté un possible conflit avec les fonctions ou classes suivantes : %1$s. Veuillez consulter la %2$sFAQ%3$s pour plus d'informations et des solutions possibles. | %4$sMasquer cet avertissement%3$s"
181
+
182
+ #: nav-menu-roles.php:289
183
+ msgid "Display Mode"
184
+ msgstr "Mode d'affichage"
185
+
186
+ #: nav-menu-roles.php:297
187
+ msgid "Logged Out Users"
188
+ msgstr "Utilisateurs déconnectés"
189
+
190
+ #: nav-menu-roles.php:304
191
+ msgid "Logged In Users"
192
+ msgstr "Utilisateurs connectés"
193
+
194
+ #: nav-menu-roles.php:311
195
+ msgid "By Role"
196
+ msgstr "Par rôle"
197
+
198
+ #: nav-menu-roles.php:318
199
+ msgid "Access Role"
200
+ msgstr "Rôles autorisés"
201
+
202
+ #. Plugin URI of the plugin/theme
203
+ msgid "http://www.kathyisawesome.com/449/nav-menu-roles/"
204
+ msgstr "http://www.kathyisawesome.com/449/nav-menu-roles/"
205
+
206
+ #. Description of the plugin/theme
207
+ msgid "Hide custom menu items based on user roles"
208
+ msgstr "Masque les éléments de menu personnalisés à base de rôles"
209
+
210
+ #. Author of the plugin/theme
211
+ msgid "Kathy Darling"
212
+ msgstr "Kathy Darling"
213
+
214
+ #. Author URI of the plugin/theme
215
+ msgid "http://www.kathyisawesome.com"
216
+ msgstr "http://www.kathyisawesome.com"
languages/nav-menu-roles-it.mo ADDED
Binary file
languages/nav-menu-roles-it.po ADDED
@@ -0,0 +1,215 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2014 Nav Menu Roles
2
+ # This file is distributed under the same license as the Nav Menu Roles package.
3
+ # Translators:
4
+ msgid ""
5
+ msgstr ""
6
+ "Project-Id-Version: Nav Menu Roles\n"
7
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/nav-menu-roles\n"
8
+ "POT-Creation-Date: 2014-06-26 15:17:58+00:00\n"
9
+ "PO-Revision-Date: 2014-06-27 09:35+0000\n"
10
+ "Last-Translator: Kathy Darling <helgatheviking@gmail.com>\n"
11
+ "Language-Team: Italian (http://www.transifex.com/projects/p/nav-menu-roles/language/it/)\n"
12
+ "MIME-Version: 1.0\n"
13
+ "Content-Type: text/plain; charset=UTF-8\n"
14
+ "Content-Transfer-Encoding: 8bit\n"
15
+ "Language: it\n"
16
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17
+
18
+ #: inc/class.Nav_Menu_Roles_Import.php:100
19
+ #: inc/class.Nav_Menu_Roles_Import.php:109
20
+ #: inc/class.Nav_Menu_Roles_Import.php:155
21
+ #: inc/class.Nav_Menu_Roles_Import.php:159
22
+ #: inc/class.Nav_Menu_Roles_Import.php:168
23
+ msgid "Sorry, there has been an error."
24
+ msgstr ""
25
+
26
+ #: inc/class.Nav_Menu_Roles_Import.php:101
27
+ msgid "The file does not exist, please try again."
28
+ msgstr ""
29
+
30
+ #: inc/class.Nav_Menu_Roles_Import.php:140
31
+ msgid "All done."
32
+ msgstr ""
33
+
34
+ #: inc/class.Nav_Menu_Roles_Import.php:140
35
+ msgid "Have fun!"
36
+ msgstr ""
37
+
38
+ #: inc/class.Nav_Menu_Roles_Import.php:160
39
+ msgid ""
40
+ "The export file could not be found at <code>%s</code>. It is likely that "
41
+ "this was caused by a permissions problem."
42
+ msgstr ""
43
+
44
+ #: inc/class.Nav_Menu_Roles_Import.php:176
45
+ msgid ""
46
+ "This WXR file (version %s) may not be supported by this version of the "
47
+ "importer. Please consider updating."
48
+ msgstr ""
49
+
50
+ #: inc/class.Nav_Menu_Roles_Import.php:244
51
+ msgid "Import Nav Menu Roles"
52
+ msgstr ""
53
+
54
+ #: inc/class.Nav_Menu_Roles_Import.php:251
55
+ msgid ""
56
+ "A new version of this importer is available. Please update to version %s to "
57
+ "ensure compatibility with newer export files."
58
+ msgstr ""
59
+
60
+ #: inc/class.Nav_Menu_Roles_Import.php:266
61
+ msgid ""
62
+ "Re-Upload your normal WordPress eXtended RSS (WXR) file and we&#8217;ll "
63
+ "import the Nav Menu Roles and any other missing post meta for the Nav Menu "
64
+ "items."
65
+ msgstr ""
66
+
67
+ #: inc/class.Nav_Menu_Roles_Import.php:267
68
+ msgid "Choose a WXR (.xml) file to upload, then click Upload file and import."
69
+ msgstr ""
70
+
71
+ #. translators: %s: title of menu item which is invalid
72
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:87
73
+ msgid "%s (Invalid)"
74
+ msgstr ""
75
+
76
+ #. translators: %s: title of menu item in draft status
77
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:91
78
+ msgid "%s (Pending)"
79
+ msgstr ""
80
+
81
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:104
82
+ msgid "sub item"
83
+ msgstr ""
84
+
85
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:119
86
+ msgid "Move up"
87
+ msgstr ""
88
+
89
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:132
90
+ msgid "Move down"
91
+ msgstr ""
92
+
93
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:134
94
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:136
95
+ msgid "Edit Menu Item"
96
+ msgstr ""
97
+
98
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:145
99
+ msgid "URL"
100
+ msgstr ""
101
+
102
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:152
103
+ msgid "Navigation Label"
104
+ msgstr ""
105
+
106
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:158
107
+ msgid "Title Attribute"
108
+ msgstr ""
109
+
110
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:165
111
+ msgid "Open link in a new window/tab"
112
+ msgstr ""
113
+
114
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:170
115
+ msgid "CSS Classes (optional)"
116
+ msgstr ""
117
+
118
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:176
119
+ msgid "Link Relationship (XFN)"
120
+ msgstr ""
121
+
122
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:182
123
+ msgid "Description"
124
+ msgstr ""
125
+
126
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:184
127
+ msgid ""
128
+ "The description will be displayed in the menu if the current theme supports "
129
+ "it."
130
+ msgstr ""
131
+
132
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:196
133
+ msgid "Move"
134
+ msgstr ""
135
+
136
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:197
137
+ msgid "Up one"
138
+ msgstr ""
139
+
140
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:198
141
+ msgid "Down one"
142
+ msgstr ""
143
+
144
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:201
145
+ msgid "To the top"
146
+ msgstr ""
147
+
148
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:208
149
+ msgid "Original: %s"
150
+ msgstr ""
151
+
152
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:221
153
+ msgid "Remove"
154
+ msgstr ""
155
+
156
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:222
157
+ msgid "Cancel"
158
+ msgstr ""
159
+
160
+ #: nav-menu-roles.php:76 nav-menu-roles.php:85
161
+ msgid "Cheatin&#8217; huh?"
162
+ msgstr ""
163
+
164
+ #. Plugin Name of the plugin/theme
165
+ msgid "Nav Menu Roles"
166
+ msgstr ""
167
+
168
+ #: nav-menu-roles.php:163
169
+ msgid ""
170
+ "Import %snav menu roles%s and other menu item meta skipped by the default "
171
+ "importer"
172
+ msgstr ""
173
+
174
+ #: nav-menu-roles.php:219
175
+ msgid ""
176
+ "Nav Menu Roles has detected a possible conflict with the following functions"
177
+ " or classes: %1$s. Please see the %2$sFAQ%3$s for more information and "
178
+ "possible resolution. | %4$sHide Notice%3$s"
179
+ msgstr ""
180
+
181
+ #: nav-menu-roles.php:289
182
+ msgid "Display Mode"
183
+ msgstr ""
184
+
185
+ #: nav-menu-roles.php:297
186
+ msgid "Logged Out Users"
187
+ msgstr ""
188
+
189
+ #: nav-menu-roles.php:304
190
+ msgid "Logged In Users"
191
+ msgstr ""
192
+
193
+ #: nav-menu-roles.php:311
194
+ msgid "By Role"
195
+ msgstr ""
196
+
197
+ #: nav-menu-roles.php:318
198
+ msgid "Access Role"
199
+ msgstr ""
200
+
201
+ #. Plugin URI of the plugin/theme
202
+ msgid "http://www.kathyisawesome.com/449/nav-menu-roles/"
203
+ msgstr ""
204
+
205
+ #. Description of the plugin/theme
206
+ msgid "Hide custom menu items based on user roles"
207
+ msgstr ""
208
+
209
+ #. Author of the plugin/theme
210
+ msgid "Kathy Darling"
211
+ msgstr ""
212
+
213
+ #. Author URI of the plugin/theme
214
+ msgid "http://www.kathyisawesome.com"
215
+ msgstr ""
languages/nav-menu-roles-sv_SE.mo ADDED
Binary file
languages/nav-menu-roles-sv_SE.po ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2014 Nav Menu Roles
2
+ # This file is distributed under the same license as the Nav Menu Roles package.
3
+ # Translators:
4
+ # Björn Sennbrink <konsult@sennbrink.se>, 2014
5
+ msgid ""
6
+ msgstr ""
7
+ "Project-Id-Version: Nav Menu Roles\n"
8
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/nav-menu-roles\n"
9
+ "POT-Creation-Date: 2014-06-26 15:17:58+00:00\n"
10
+ "PO-Revision-Date: 2014-08-04 07:46+0000\n"
11
+ "Last-Translator: Björn Sennbrink <konsult@sennbrink.se>\n"
12
+ "Language-Team: Swedish (Sweden) (http://www.transifex.com/projects/p/nav-menu-roles/language/sv_SE/)\n"
13
+ "MIME-Version: 1.0\n"
14
+ "Content-Type: text/plain; charset=UTF-8\n"
15
+ "Content-Transfer-Encoding: 8bit\n"
16
+ "Language: sv_SE\n"
17
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
+
19
+ #: inc/class.Nav_Menu_Roles_Import.php:100
20
+ #: inc/class.Nav_Menu_Roles_Import.php:109
21
+ #: inc/class.Nav_Menu_Roles_Import.php:155
22
+ #: inc/class.Nav_Menu_Roles_Import.php:159
23
+ #: inc/class.Nav_Menu_Roles_Import.php:168
24
+ msgid "Sorry, there has been an error."
25
+ msgstr "Tyvärr, något gick fel."
26
+
27
+ #: inc/class.Nav_Menu_Roles_Import.php:101
28
+ msgid "The file does not exist, please try again."
29
+ msgstr "Filen finns inte, vänligen försök igen."
30
+
31
+ #: inc/class.Nav_Menu_Roles_Import.php:140
32
+ msgid "All done."
33
+ msgstr "Allt klart."
34
+
35
+ #: inc/class.Nav_Menu_Roles_Import.php:140
36
+ msgid "Have fun!"
37
+ msgstr "Ha det så trevligt!"
38
+
39
+ #: inc/class.Nav_Menu_Roles_Import.php:160
40
+ msgid ""
41
+ "The export file could not be found at <code>%s</code>. It is likely that "
42
+ "this was caused by a permissions problem."
43
+ msgstr "Exportfilen kunde inte hittas vid <code>%s</code>. Troligen beror detta på ett behörighetsproblem."
44
+
45
+ #: inc/class.Nav_Menu_Roles_Import.php:176
46
+ msgid ""
47
+ "This WXR file (version %s) may not be supported by this version of the "
48
+ "importer. Please consider updating."
49
+ msgstr "Den här WXR-filen (version %s) saknas det kanske stöd för i den här versionen av importfunktionen. Vänligen överväg att uppdatera."
50
+
51
+ #: inc/class.Nav_Menu_Roles_Import.php:244
52
+ msgid "Import Nav Menu Roles"
53
+ msgstr "Importera Nav Meny-roller"
54
+
55
+ #: inc/class.Nav_Menu_Roles_Import.php:251
56
+ msgid ""
57
+ "A new version of this importer is available. Please update to version %s to "
58
+ "ensure compatibility with newer export files."
59
+ msgstr "En ny version av den här importversionen finns tillgänglig. Vänligen uppdatera till version %s för att säkra kompatibilitet med nyare exportfiler. "
60
+
61
+ #: inc/class.Nav_Menu_Roles_Import.php:266
62
+ msgid ""
63
+ "Re-Upload your normal WordPress eXtended RSS (WXR) file and we&#8217;ll "
64
+ "import the Nav Menu Roles and any other missing post meta for the Nav Menu "
65
+ "items."
66
+ msgstr "Återuppladda din normala WordPress eXtended RSS-fil (WXR) och vi kommer att importera Nav Menu-rollerna och all annan saknad postmeta för menyvalen i Nav Menu."
67
+
68
+ #: inc/class.Nav_Menu_Roles_Import.php:267
69
+ msgid "Choose a WXR (.xml) file to upload, then click Upload file and import."
70
+ msgstr "Välj en WXR-fil (.xml) att ladda upp, klicka på Ladda upp och importera."
71
+
72
+ #. translators: %s: title of menu item which is invalid
73
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:87
74
+ msgid "%s (Invalid)"
75
+ msgstr "%s (Ogiltig)"
76
+
77
+ #. translators: %s: title of menu item in draft status
78
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:91
79
+ msgid "%s (Pending)"
80
+ msgstr "%s (Väntande)"
81
+
82
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:104
83
+ msgid "sub item"
84
+ msgstr "under-val"
85
+
86
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:119
87
+ msgid "Move up"
88
+ msgstr "Flytta upp"
89
+
90
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:132
91
+ msgid "Move down"
92
+ msgstr "Flytta ner"
93
+
94
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:134
95
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:136
96
+ msgid "Edit Menu Item"
97
+ msgstr "Redigera menyval"
98
+
99
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:145
100
+ msgid "URL"
101
+ msgstr "URL"
102
+
103
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:152
104
+ msgid "Navigation Label"
105
+ msgstr "Menyvalsnamn"
106
+
107
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:158
108
+ msgid "Title Attribute"
109
+ msgstr "Titelattribut"
110
+
111
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:165
112
+ msgid "Open link in a new window/tab"
113
+ msgstr "Öpnna länk i nytt fönster/ny tabb"
114
+
115
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:170
116
+ msgid "CSS Classes (optional)"
117
+ msgstr "CSS-klasser (valfritt)"
118
+
119
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:176
120
+ msgid "Link Relationship (XFN)"
121
+ msgstr "Relationslänk (XFN)"
122
+
123
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:182
124
+ msgid "Description"
125
+ msgstr "Beskrivning"
126
+
127
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:184
128
+ msgid ""
129
+ "The description will be displayed in the menu if the current theme supports "
130
+ "it."
131
+ msgstr "Beskrivningen visas i menyn om nuvarande tema har stöd för det."
132
+
133
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:196
134
+ msgid "Move"
135
+ msgstr "Flytta"
136
+
137
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:197
138
+ msgid "Up one"
139
+ msgstr "Upp en"
140
+
141
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:198
142
+ msgid "Down one"
143
+ msgstr "Ner en"
144
+
145
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:201
146
+ msgid "To the top"
147
+ msgstr "Till toppen"
148
+
149
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:208
150
+ msgid "Original: %s"
151
+ msgstr "Original: %s"
152
+
153
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:221
154
+ msgid "Remove"
155
+ msgstr "Ta bort"
156
+
157
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:222
158
+ msgid "Cancel"
159
+ msgstr "Avbryt"
160
+
161
+ #: nav-menu-roles.php:76 nav-menu-roles.php:85
162
+ msgid "Cheatin&#8217; huh?"
163
+ msgstr "Fuskar du&#8217; ?"
164
+
165
+ #. Plugin Name of the plugin/theme
166
+ msgid "Nav Menu Roles"
167
+ msgstr "Nav Menu Roles"
168
+
169
+ #: nav-menu-roles.php:163
170
+ msgid ""
171
+ "Import %snav menu roles%s and other menu item meta skipped by the default "
172
+ "importer"
173
+ msgstr "Importera %nav menu-roller%s och annan menyvalsmeta som hoppades över av standardimporten"
174
+
175
+ #: nav-menu-roles.php:219
176
+ msgid ""
177
+ "Nav Menu Roles has detected a possible conflict with the following functions"
178
+ " or classes: %1$s. Please see the %2$sFAQ%3$s for more information and "
179
+ "possible resolution. | %4$sHide Notice%3$s"
180
+ msgstr "Nav Menu Roles har upptäckt en möjlig konflikt med följande funktioner eller klasser: %s1$s. Var god se %2$sFAQ%3$s för mer information och en möjlig lösning. | %4$sDölj notis%3$s"
181
+
182
+ #: nav-menu-roles.php:289
183
+ msgid "Display Mode"
184
+ msgstr "Synlighet"
185
+
186
+ #: nav-menu-roles.php:297
187
+ msgid "Logged Out Users"
188
+ msgstr "Ej inloggade användare"
189
+
190
+ #: nav-menu-roles.php:304
191
+ msgid "Logged In Users"
192
+ msgstr "Inloggade användare"
193
+
194
+ #: nav-menu-roles.php:311
195
+ msgid "By Role"
196
+ msgstr "via Roll"
197
+
198
+ #: nav-menu-roles.php:318
199
+ msgid "Access Role"
200
+ msgstr "Behörighetsroll"
201
+
202
+ #. Plugin URI of the plugin/theme
203
+ msgid "http://www.kathyisawesome.com/449/nav-menu-roles/"
204
+ msgstr "http://www.kathyisawesome.com/449/nav-menu-roles/"
205
+
206
+ #. Description of the plugin/theme
207
+ msgid "Hide custom menu items based on user roles"
208
+ msgstr "Dölj anpassade menyval baserat på användarroller"
209
+
210
+ #. Author of the plugin/theme
211
+ msgid "Kathy Darling"
212
+ msgstr "Kathy Darling"
213
+
214
+ #. Author URI of the plugin/theme
215
+ msgid "http://www.kathyisawesome.com"
216
+ msgstr "http://www.kathyisawesome.com"
languages/nav-menu-roles.pot ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2014 Nav Menu Roles
2
+ # This file is distributed under the same license as the Nav Menu Roles package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: Nav Menu Roles 1.6.0\n"
6
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/nav-menu-roles\n"
7
+ "POT-Creation-Date: 2014-06-26 15:17:58+00:00\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=utf-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+
15
+ #: inc/class.Nav_Menu_Roles_Import.php:100
16
+ #: inc/class.Nav_Menu_Roles_Import.php:109
17
+ #: inc/class.Nav_Menu_Roles_Import.php:155
18
+ #: inc/class.Nav_Menu_Roles_Import.php:159
19
+ #: inc/class.Nav_Menu_Roles_Import.php:168
20
+ msgid "Sorry, there has been an error."
21
+ msgstr ""
22
+
23
+ #: inc/class.Nav_Menu_Roles_Import.php:101
24
+ msgid "The file does not exist, please try again."
25
+ msgstr ""
26
+
27
+ #: inc/class.Nav_Menu_Roles_Import.php:140
28
+ msgid "All done."
29
+ msgstr ""
30
+
31
+ #: inc/class.Nav_Menu_Roles_Import.php:140
32
+ msgid "Have fun!"
33
+ msgstr ""
34
+
35
+ #: inc/class.Nav_Menu_Roles_Import.php:160
36
+ msgid ""
37
+ "The export file could not be found at <code>%s</code>. It is likely that "
38
+ "this was caused by a permissions problem."
39
+ msgstr ""
40
+
41
+ #: inc/class.Nav_Menu_Roles_Import.php:176
42
+ msgid ""
43
+ "This WXR file (version %s) may not be supported by this version of the "
44
+ "importer. Please consider updating."
45
+ msgstr ""
46
+
47
+ #: inc/class.Nav_Menu_Roles_Import.php:244
48
+ msgid "Import Nav Menu Roles"
49
+ msgstr ""
50
+
51
+ #: inc/class.Nav_Menu_Roles_Import.php:251
52
+ msgid ""
53
+ "A new version of this importer is available. Please update to version %s to "
54
+ "ensure compatibility with newer export files."
55
+ msgstr ""
56
+
57
+ #: inc/class.Nav_Menu_Roles_Import.php:266
58
+ msgid ""
59
+ "Re-Upload your normal WordPress eXtended RSS (WXR) file and we&#8217;ll "
60
+ "import the Nav Menu Roles and any other missing post meta for the Nav Menu "
61
+ "items."
62
+ msgstr ""
63
+
64
+ #: inc/class.Nav_Menu_Roles_Import.php:267
65
+ msgid "Choose a WXR (.xml) file to upload, then click Upload file and import."
66
+ msgstr ""
67
+
68
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:87
69
+ #. translators: %s: title of menu item which is invalid
70
+ msgid "%s (Invalid)"
71
+ msgstr ""
72
+
73
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:91
74
+ #. translators: %s: title of menu item in draft status
75
+ msgid "%s (Pending)"
76
+ msgstr ""
77
+
78
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:104
79
+ msgid "sub item"
80
+ msgstr ""
81
+
82
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:119
83
+ msgid "Move up"
84
+ msgstr ""
85
+
86
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:132
87
+ msgid "Move down"
88
+ msgstr ""
89
+
90
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:134
91
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:136
92
+ msgid "Edit Menu Item"
93
+ msgstr ""
94
+
95
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:145
96
+ msgid "URL"
97
+ msgstr ""
98
+
99
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:152
100
+ msgid "Navigation Label"
101
+ msgstr ""
102
+
103
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:158
104
+ msgid "Title Attribute"
105
+ msgstr ""
106
+
107
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:165
108
+ msgid "Open link in a new window/tab"
109
+ msgstr ""
110
+
111
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:170
112
+ msgid "CSS Classes (optional)"
113
+ msgstr ""
114
+
115
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:176
116
+ msgid "Link Relationship (XFN)"
117
+ msgstr ""
118
+
119
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:182
120
+ msgid "Description"
121
+ msgstr ""
122
+
123
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:184
124
+ msgid ""
125
+ "The description will be displayed in the menu if the current theme supports "
126
+ "it."
127
+ msgstr ""
128
+
129
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:196
130
+ msgid "Move"
131
+ msgstr ""
132
+
133
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:197
134
+ msgid "Up one"
135
+ msgstr ""
136
+
137
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:198
138
+ msgid "Down one"
139
+ msgstr ""
140
+
141
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:201
142
+ msgid "To the top"
143
+ msgstr ""
144
+
145
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:208
146
+ msgid "Original: %s"
147
+ msgstr ""
148
+
149
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:221
150
+ msgid "Remove"
151
+ msgstr ""
152
+
153
+ #: inc/class.Walker_Nav_Menu_Edit_Roles.php:222
154
+ msgid "Cancel"
155
+ msgstr ""
156
+
157
+ #: nav-menu-roles.php:76 nav-menu-roles.php:85
158
+ msgid "Cheatin&#8217; huh?"
159
+ msgstr ""
160
+
161
+ #. Plugin Name of the plugin/theme
162
+ msgid "Nav Menu Roles"
163
+ msgstr ""
164
+
165
+ #: nav-menu-roles.php:163
166
+ msgid ""
167
+ "Import %snav menu roles%s and other menu item meta skipped by the default "
168
+ "importer"
169
+ msgstr ""
170
+
171
+ #: nav-menu-roles.php:219
172
+ msgid ""
173
+ "Nav Menu Roles has detected a possible conflict with the following "
174
+ "functions or classes: %1$s. Please see the %2$sFAQ%3$s for more information "
175
+ "and possible resolution. | %4$sHide Notice%3$s"
176
+ msgstr ""
177
+
178
+ #: nav-menu-roles.php:289
179
+ msgid "Display Mode"
180
+ msgstr ""
181
+
182
+ #: nav-menu-roles.php:297
183
+ msgid "Logged Out Users"
184
+ msgstr ""
185
+
186
+ #: nav-menu-roles.php:304
187
+ msgid "Logged In Users"
188
+ msgstr ""
189
+
190
+ #: nav-menu-roles.php:311
191
+ msgid "By Role"
192
+ msgstr ""
193
+
194
+ #: nav-menu-roles.php:318
195
+ msgid "Access Role"
196
+ msgstr ""
197
+
198
+ #. Plugin URI of the plugin/theme
199
+ msgid "http://www.kathyisawesome.com/449/nav-menu-roles/"
200
+ msgstr ""
201
+
202
+ #. Description of the plugin/theme
203
+ msgid "Hide custom menu items based on user roles"
204
+ msgstr ""
205
+
206
+ #. Author of the plugin/theme
207
+ msgid "Kathy Darling"
208
+ msgstr ""
209
+
210
+ #. Author URI of the plugin/theme
211
+ msgid "http://www.kathyisawesome.com"
212
+ msgstr ""
nav-menu-roles.php ADDED
@@ -0,0 +1,503 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: Nav Menu Roles
4
+ Plugin URI: http://www.kathyisawesome.com/449/nav-menu-roles/
5
+ Description: Hide custom menu items based on user roles
6
+ Version: 1.6.3
7
+ Author: Kathy Darling
8
+ Author URI: http://www.kathyisawesome.com
9
+ License: GPL2
10
+
11
+ Copyright 2014 Kathy Darling(email: kathy.darling@gmail.com)
12
+
13
+ This program is free software; you can redistribute it and/or modify
14
+ it under the terms of the GNU General Public License, version 2, as
15
+ published by the Free Software Foundation.
16
+
17
+ This program is distributed in the hope that it will be useful,
18
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
20
+ GNU General Public License for more details.
21
+
22
+ You should have received a copy of the GNU General Public License
23
+ along with this program; if not, write to the Free Software
24
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA02110-1301USA
25
+
26
+ */
27
+
28
+
29
+ // don't load directly
30
+ if ( ! function_exists( 'is_admin' ) ) {
31
+ header( 'Status: 403 Forbidden' );
32
+ header( 'HTTP/1.1 403 Forbidden' );
33
+ exit();
34
+ }
35
+
36
+
37
+ if ( ! class_exists( "Nav_Menu_Roles" ) ) :
38
+
39
+ class Nav_Menu_Roles {
40
+
41
+ /**
42
+ * @var Nav_Menu_Roles The single instance of the class
43
+ * @since 1.5
44
+ */
45
+ protected static $_instance = null;
46
+
47
+ /**
48
+ * @var string donate url
49
+ * @since 1.5
50
+ */
51
+ public static $donate_url = "https://inspirepay.com/pay/helgatheviking";
52
+
53
+ /**
54
+ * Main Nav Menu Roles Instance
55
+ *
56
+ * Ensures only one instance of Nav Menu Roles is loaded or can be loaded.
57
+ *
58
+ * @since 1.5
59
+ * @static
60
+ * @see Nav_Menu_Roles()
61
+ * @return Nav_Menu_Roles - Main instance
62
+ */
63
+ public static function instance() {
64
+ if ( is_null( self::$_instance ) ) {
65
+ self::$_instance = new self();
66
+ }
67
+ return self::$_instance;
68
+ }
69
+
70
+ /**
71
+ * Cloning is forbidden.
72
+ *
73
+ * @since 1.5
74
+ */
75
+ public function __clone() {
76
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?' , 'nav-menu-roles'), '1.5' );
77
+ }
78
+
79
+ /**
80
+ * Unserializing instances of this class is forbidden.
81
+ *
82
+ * @since 1.5
83
+ */
84
+ public function __wakeup() {
85
+ _doing_it_wrong( __FUNCTION__, __( 'Cheatin&#8217; huh?' , 'nav-menu-roles'), '1.5' );
86
+ }
87
+
88
+ /**
89
+ * Nav_Menu_Roles Constructor.
90
+ * @access public
91
+ * @return Nav_Menu_Roles
92
+ * @since 1.0
93
+ */
94
+ function __construct(){
95
+
96
+ // Admin functions
97
+ add_action( 'admin_init', array( $this, 'admin_init' ) );
98
+
99
+ // load the textdomain
100
+ add_action( 'plugins_loaded', array( $this, 'load_text_domain' ) );
101
+
102
+ // add a notice that NMR is conflicting with another plugin
103
+ add_action( 'admin_notices', array( $this, 'admin_notice' ) );
104
+ add_action( 'activated_plugin', array( $this, 'delete_transient' ) );
105
+ add_action( 'deactivated_plugin', array( $this, 'delete_transient' ) );
106
+
107
+ // switch the admin walker
108
+ add_filter( 'wp_edit_nav_menu_walker', array( $this, 'edit_nav_menu_walker' ) );
109
+
110
+ // add new fields via hook
111
+ add_action( 'wp_nav_menu_item_custom_fields', array( $this, 'custom_fields' ), 10, 4 );
112
+
113
+ // add some JS
114
+ add_action( 'admin_enqueue_scripts' , array( $this, 'enqueue_scripts' ) );
115
+
116
+ // save the menu item meta
117
+ add_action( 'wp_update_nav_menu_item', array( $this, 'nav_update'), 10, 2 );
118
+
119
+ // add meta to menu item
120
+ add_filter( 'wp_setup_nav_menu_item', array( $this, 'setup_nav_item' ) );
121
+
122
+ // exclude items via filter instead of via custom Walker
123
+ if ( ! is_admin() ) {
124
+ add_filter( 'wp_get_nav_menu_items', array( $this, 'exclude_menu_items' ) );
125
+ }
126
+
127
+ }
128
+
129
+ /**
130
+ * Include the custom admin walker
131
+ *
132
+ * @access public
133
+ * @return void
134
+ */
135
+ function admin_init() {
136
+ include_once( plugin_dir_path( __FILE__ ) . 'inc/class.Walker_Nav_Menu_Edit_Roles.php');
137
+
138
+ // Register Importer
139
+ $this->register_importer();
140
+
141
+ // save user notice
142
+ $this->nag_ignore();
143
+ }
144
+
145
+
146
+ /**
147
+ * Register the Importer
148
+ * the regular Importer skips post meta for the menu items
149
+ *
150
+ * @access private
151
+ * @return void
152
+ */
153
+ function register_importer(){
154
+
155
+ include_once( plugin_dir_path( __FILE__ ) . 'inc/class.Nav_Menu_Roles_Import.php');
156
+
157
+ // Register the new importer
158
+ if ( defined( 'WP_LOAD_IMPORTERS' ) ) {
159
+
160
+ // Register the custom importer we've created.
161
+ $roles_import = new Nav_Menu_Roles_Import();
162
+
163
+ register_importer('nav_menu_roles', __('Nav Menu Roles', 'nav-menu-roles'), sprintf( __('Import %snav menu roles%s and other menu item meta skipped by the default importer', 'nav-menu-roles'), '<strong>', '</strong>'), array( $roles_import, 'dispatch' ) );
164
+
165
+ }
166
+
167
+ }
168
+
169
+ /**
170
+ * Make Plugin Translation-ready
171
+ * CALLBACK FUNCTION FOR: add_action( 'plugins_loaded', array( $this,'load_text_domain'));
172
+ * @since 1.0
173
+ */
174
+
175
+ function load_text_domain() {
176
+ load_plugin_textdomain( 'nav-menu-roles', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
177
+ }
178
+
179
+
180
+ /**
181
+ * Display a Notice if plugin conflicts with another
182
+ * @since 1.5
183
+ */
184
+ function admin_notice() {
185
+ global $pagenow, $wp_filter;
186
+
187
+ // quit early if not on the menus page
188
+ if( ! in_array( $pagenow, array( 'nav-menus.php', 'plugins.php' ) ) ){
189
+ return;
190
+ }
191
+
192
+ // Get any existing copy of our transient data
193
+ if ( false === ( $conflicts = get_transient( 'nav_menu_roles_conflicts' ) ) ) {
194
+
195
+ // It wasn't there, so regenerate the data and save the transient
196
+ global $wp_filter;
197
+
198
+ $filters = is_array( $wp_filter['wp_edit_nav_menu_walker'] ) ? array_shift( $wp_filter['wp_edit_nav_menu_walker'] ) : array();
199
+
200
+ foreach( $filters as $filter ){
201
+ // we expect to see NVR so collect everything else
202
+ if( ! is_a( $filter['function'][0], 'Nav_Menu_Roles') ) {
203
+ $conflicts[] = is_object( $filter['function'][0] ) ? get_class( $filter['function'][0] ) : $filter['function'][0];
204
+ }
205
+
206
+ }
207
+ }
208
+
209
+
210
+ // Check Transient for conflicts and show error
211
+ if ( ! empty ( $conflicts ) ) {
212
+ global $current_user ;
213
+ $user_id = $current_user->ID;
214
+
215
+ if ( ! get_user_meta( $user_id, 'nmr_ignore_notice' ) ) {
216
+
217
+ echo '<div class="updated">
218
+ <p>';
219
+ printf ( __( 'Nav Menu Roles has detected a possible conflict with the following functions or classes: %1$s. Please see the %2$sFAQ%3$s for more information and possible resolution. | %4$sHide Notice%3$s', 'nav-menu-roles' ),
220
+ '<code>' . implode( $conflicts, ', ' ) . '</code>',
221
+ '<a href="http://wordpress.org/plugins/nav-menu-roles/faq#conflict" target="_blank">',
222
+ '</a>',
223
+ '<a href="?nmr_nag_ignore=0">' );
224
+ echo '</p>
225
+ </div>';
226
+
227
+ }
228
+
229
+ }
230
+
231
+ }
232
+
233
+
234
+ /**
235
+ * Allow the notice to be dismissable
236
+ * @since 1.6
237
+ */
238
+ function nag_ignore() {
239
+ global $current_user;
240
+ $user_id = $current_user->ID;
241
+ /* If user clicks to ignore the notice, add that to their user meta */
242
+ if ( isset($_GET['nmr_nag_ignore']) && '0' == $_GET['nmr_nag_ignore'] ) {
243
+ add_user_meta( $user_id, 'nmr_ignore_notice', 'true', true );
244
+ }
245
+ }
246
+
247
+ /**
248
+ * Delete the transient when a plugin is activated or deactivated
249
+ * @since 1.5
250
+ */
251
+ function delete_transient() {
252
+ delete_transient( 'nav_menu_roles_conflicts' );
253
+ }
254
+
255
+
256
+ /**
257
+ * Override the Admin Menu Walker
258
+ * @since 1.0
259
+ */
260
+ function edit_nav_menu_walker( $walker ) {
261
+ return 'Walker_Nav_Menu_Edit_Roles';
262
+ }
263
+
264
+
265
+ /**
266
+ * Add fields to hook added in Walker
267
+ * This will allow us to play nicely with any other plugin that is adding the same hook
268
+ * @params obj $item - the menu item
269
+ * @params array $args
270
+ * @since 1.6.0
271
+ */
272
+ function custom_fields( $item_id, $item, $depth, $args ) {
273
+ global $wp_roles;
274
+
275
+ /**
276
+ * Pass the menu item to the filter function.
277
+ * This change is suggested as it allows the use of information from the menu item (and
278
+ * by extension the target object) to further customize what filters appear during menu
279
+ * construction.
280
+ */
281
+ $display_roles = apply_filters( 'nav_menu_roles', $wp_roles->role_names, $item );
282
+
283
+
284
+ /**
285
+ * If no roles are being used, don't display the role selection radio buttons at all.
286
+ * Unless something deliberately removes the WordPress roles from this list, nothing will
287
+ * be functionally altered to the end user.
288
+ * This change is suggested for the benefit of users constructing granular admin permissions
289
+ * using extensive custom roles as it is an effective means of stopping admins with partial
290
+ * permissions to the menu from accidentally removing all restrictions from a menu item to
291
+ * which they do not have access.
292
+ */
293
+ if( ! $display_roles ) return;
294
+
295
+ /* Get the roles saved for the post. */
296
+ $roles = get_post_meta( $item->ID, '_nav_menu_role', true );
297
+
298
+ $checked_roles = is_array( $roles ) ? $roles : false;
299
+
300
+ $logged_in_out = ! is_array( $roles ) ? $roles : false;
301
+
302
+ ?>
303
+
304
+ <input type="hidden" name="nav-menu-role-nonce" value="<?php echo wp_create_nonce( 'nav-menu-nonce-name' ); ?>" />
305
+
306
+ <div class="field-nav_menu_role nav_menu_logged_in_out_field description-wide" style="margin: 5px 0;">
307
+ <span class="description"><?php _e( "Display Mode", 'nav-menu-roles' ); ?></span>
308
+ <br />
309
+
310
+ <input type="hidden" class="nav-menu-id" value="<?php echo $item->ID ;?>" />
311
+
312
+ <div class="logged-input-holder" style="float: left; width: 35%;">
313
+ <input type="radio" class="nav-menu-logged-in-out" name="nav-menu-logged-in-out[<?php echo $item->ID ;?>]" id="nav_menu_logged_out-for-<?php echo $item->ID ;?>" <?php checked( 'out', $logged_in_out ); ?> value="out" />
314
+ <label for="nav_menu_logged_out-for-<?php echo $item->ID ;?>">
315
+ <?php _e( 'Logged Out Users', 'nav-menu-roles'); ?>
316
+ </label>
317
+ </div>
318
+
319
+ <div class="logged-input-holder" style="float: left; width: 35%;">
320
+ <input type="radio" class="nav-menu-logged-in-out" name="nav-menu-logged-in-out[<?php echo $item->ID ;?>]" id="nav_menu_logged_in-for-<?php echo $item->ID ;?>" <?php checked( 'in', $logged_in_out ); ?> value="in" />
321
+ <label for="nav_menu_logged_in-for-<?php echo $item->ID ;?>">
322
+ <?php _e( 'Logged In Users', 'nav-menu-roles'); ?>
323
+ </label>
324
+ </div>
325
+
326
+ <div class="logged-input-holder" style="float: left; width: 30%;">
327
+ <input type="radio" class="nav-menu-logged-in-out" name="nav-menu-logged-in-out[<?php echo $item->ID ;?>]" id="nav_menu_by_role-for-<?php echo $item->ID ;?>" <?php checked( '', $logged_in_out ); ?> value="" />
328
+ <label for="nav_menu_by_role-for-<?php echo $item->ID ;?>">
329
+ <?php _e( 'By Role', 'nav-menu-roles'); ?>
330
+ </label>
331
+ </div>
332
+
333
+ </div>
334
+
335
+ <div class="field-nav_menu_role nav_menu_role_field description-wide" style="margin: 5px 0;">
336
+ <span class="description"><?php _e( "Access Role", 'nav-menu-roles' ); ?></span>
337
+ <br />
338
+
339
+ <?php
340
+
341
+ /* Loop through each of the available roles. */
342
+ foreach ( $display_roles as $role => $name ) {
343
+
344
+ /* If the role has been selected, make sure it's checked. */
345
+ $checked = checked( true, ( is_array( $checked_roles ) && in_array( $role, $checked_roles ) ), false );
346
+
347
+ ?>
348
+
349
+ <div class="role-input-holder" style="float: left; width: 33.3%; margin: 2px 0;">
350
+ <input type="checkbox" name="nav-menu-role[<?php echo $item->ID ;?>][<?php echo $role; ?>]" id="nav_menu_role-<?php echo $role; ?>-for-<?php echo $item->ID ;?>" <?php echo $checked; ?> value="<?php echo $role; ?>" />
351
+ <label for="nav_menu_role-<?php echo $role; ?>-for-<?php echo $item->ID ;?>">
352
+ <?php echo esc_html( $name ); ?>
353
+ </label>
354
+ </div>
355
+
356
+ <?php } ?>
357
+
358
+ </div>
359
+
360
+ <?php
361
+ }
362
+
363
+
364
+ /**
365
+ * Save the roles as menu item meta
366
+ * @return null
367
+ * @since 1.4
368
+ *
369
+ */
370
+ function enqueue_scripts( $hook ){
371
+ if ( $hook == 'nav-menus.php' ){
372
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
373
+ wp_enqueue_script( 'nav-menu-roles', plugins_url( 'js/nav-menu-roles' . $suffix . '.js' , __FILE__ ), array( 'jquery' ), '1.5', true );
374
+ }
375
+ }
376
+
377
+ /**
378
+ * Save the roles as menu item meta
379
+ * @return string
380
+ * @since 1.0
381
+ */
382
+ function nav_update( $menu_id, $menu_item_db_id ) {
383
+ global $wp_roles;
384
+
385
+ $allowed_roles = apply_filters( 'nav_menu_roles', $wp_roles->role_names );
386
+
387
+ // verify this came from our screen and with proper authorization.
388
+ if ( ! isset( $_POST['nav-menu-role-nonce'] ) || ! wp_verify_nonce( $_POST['nav-menu-role-nonce'], 'nav-menu-nonce-name' ) )
389
+ return;
390
+
391
+ $saved_data = false;
392
+
393
+ if ( isset( $_POST['nav-menu-logged-in-out'][$menu_item_db_id] ) && in_array( $_POST['nav-menu-logged-in-out'][$menu_item_db_id], array( 'in', 'out' ) ) ) {
394
+ $saved_data = $_POST['nav-menu-logged-in-out'][$menu_item_db_id];
395
+ } elseif ( isset( $_POST['nav-menu-role'][$menu_item_db_id] ) ) {
396
+ $custom_roles = array();
397
+ // only save allowed roles
398
+ foreach( $_POST['nav-menu-role'][$menu_item_db_id] as $role ) {
399
+ if ( array_key_exists ( $role, $allowed_roles ) ) $custom_roles[] = $role;
400
+ }
401
+ if ( ! empty ( $custom_roles ) ) $saved_data = $custom_roles;
402
+ }
403
+
404
+ if ( $saved_data ) {
405
+ update_post_meta( $menu_item_db_id, '_nav_menu_role', $saved_data );
406
+ } else {
407
+ delete_post_meta( $menu_item_db_id, '_nav_menu_role' );
408
+ }
409
+ }
410
+
411
+ /**
412
+ * Adds value of new field to $item object
413
+ * is be passed to Walker_Nav_Menu_Edit_Custom
414
+ * @since 1.0
415
+ */
416
+ function setup_nav_item( $menu_item ) {
417
+
418
+ $roles = get_post_meta( $menu_item->ID, '_nav_menu_role', true );
419
+
420
+ if ( ! empty( $roles ) ) {
421
+ $menu_item->roles = $roles;
422
+ }
423
+ return $menu_item;
424
+ }
425
+
426
+ /**
427
+ * Exclude menu items via wp_get_nav_menu_items filter
428
+ * this fixes plugin's incompatibility with theme's that use their own custom Walker
429
+ * Thanks to Evan Stein @vanpop http://vanpop.com/
430
+ * @since 1.2
431
+ */
432
+ function exclude_menu_items( $items ) {
433
+
434
+ $hide_children_of = array();
435
+
436
+ // Iterate over the items to search and destroy
437
+ foreach ( $items as $key => $item ) {
438
+
439
+ $visible = true;
440
+
441
+ // hide any item that is the child of a hidden item
442
+ if( in_array( $item->menu_item_parent, $hide_children_of ) ){
443
+ $visible = false;
444
+ $hide_children_of[] = $item->ID; // for nested menus
445
+ }
446
+
447
+ // check any item that has NMR roles set
448
+ if( $visible && isset( $item->roles ) ) {
449
+
450
+ // check all logged in, all logged out, or role
451
+ switch( $item->roles ) {
452
+ case 'in' :
453
+ $visible = is_user_logged_in() ? true : false;
454
+ break;
455
+ case 'out' :
456
+ $visible = ! is_user_logged_in() ? true : false;
457
+ break;
458
+ default:
459
+ $visible = false;
460
+ if ( is_array( $item->roles ) && ! empty( $item->roles ) ) {
461
+ foreach ( $item->roles as $role ) {
462
+ if ( current_user_can( $role ) )
463
+ $visible = true;
464
+ }
465
+ }
466
+
467
+ break;
468
+ }
469
+
470
+ }
471
+
472
+ // add filter to work with plugins that don't use traditional roles
473
+ $visible = apply_filters( 'nav_menu_roles_item_visibility', $visible, $item );
474
+
475
+ // unset non-visible item
476
+ if ( ! $visible ) {
477
+ $hide_children_of[] = $item->ID; // store ID of item
478
+ unset( $items[$key] ) ;
479
+ }
480
+
481
+ }
482
+
483
+ return $items;
484
+ }
485
+
486
+ } // end class
487
+
488
+ endif; // class_exists check
489
+
490
+
491
+ /**
492
+ * Launch the whole plugin
493
+ * Returns the main instance of Nav Menu Roles to prevent the need to use globals.
494
+ *
495
+ * @since 1.5
496
+ * @return Nav_Menu_Roles
497
+ */
498
+ function Nav_Menu_Roles() {
499
+ return Nav_Menu_Roles::instance();
500
+ }
501
+
502
+ // Global for backwards compatibility.
503
+ $GLOBALS['Nav_Menu_Roles'] = Nav_Menu_Roles();
readme.txt ADDED
@@ -0,0 +1,217 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Nav Menu Roles ===
2
+
3
+ Contributors: helgatheviking
4
+ Donate link: https://inspirepay.com/pay/helgatheviking
5
+ Tags: menu, menus, nav menu, nav menus
6
+ Requires at least: 3.8
7
+ Tested up to: 4.0
8
+ Stable tag: 1.6.3
9
+ License: GPLv3
10
+
11
+ Hide custom menu items based on user roles
12
+
13
+ == Description ==
14
+
15
+ This plugin lets you hide custom menu items based on user roles. So if you have a link in the menu that you only want to show to logged in users, certain types of users, or even only to logged out users, this plugin is for you.
16
+
17
+ Nav Menu Roles is very flexible. In addition to standard user roles, you can customize the functionality by adding your own check boxes with custom labels using the `nav_menu_roles` filter and then using the `nav_menu_roles_item_visibility` filter to check against whatever criteria you need. You can check against any user meta values (like capabilities) and any custom attributes added by other plugins. See the [FAQ](http://wordpress.org/plugins/nav-menu-roles/faq/#new-role).
18
+
19
+ = IMPORTANT NOTE =
20
+
21
+ In WordPress menu items and pages are completely separate entities. Nav Menu Roles does not restrict access to content. Nav Menu Roles is *only* for showing/hiding *nav menu* items. If you wish to restrict content then you need to also be using a membership plugin.
22
+
23
+ = Usage =
24
+
25
+ 1. Go to Appearance > Menus
26
+ 1. Edit the menu items accordingly. First select whether you'd like to display the item to all logged in users, all logged out users or to customize by role.
27
+ 1. If you chose customize by role, then you you can check the boxes next to the roles you'd like to restrict visibility to.
28
+ 1. If you choose 'By Role' and don't check any boxes, the item will be visible to everyone like normal.
29
+
30
+ = Support =
31
+
32
+ Support is handled in the [WordPress forums](http://wordpress.org/support/plugin/radio-button-for-taxonomies). Please note that support is limited and does not cover any custom implementation of the plugin. Before posting, please read the [FAQ](http://wordpress.org/plugins/nav-menu-roles/faq/). Also, please verify the problem with other plugins disabled and while using a default theme.
33
+
34
+ Please report any bugs, errors, warnings, code problems to [Github](https://github.com/helgatheviking/Radio-Buttons-for-Taxonomies/issues)
35
+
36
+ == Installation ==
37
+
38
+ 1. Upload the `plugin` folder to the `/wp-content/plugins/` directory
39
+ 1. Activate the plugin through the 'Plugins' menu in WordPress
40
+ 1. Go to Appearance > Menus
41
+ 1. Edit the menu items accordingly. First select whether you'd like to display the item to all logged in users, all logged out users or to customize by role.
42
+ 1. If you chose customize by role, then you you can check the boxes next to the roles you'd like to restrict visibility to.
43
+ 1. If you choose 'By Role' and don't check any boxes, the item will be visible to everyone like normal.
44
+
45
+ == Screenshots ==
46
+
47
+ 1. Show the new options for the menu items in the admin menu customizer
48
+
49
+ == Frequently Asked Questions ==
50
+
51
+ = <a name="conflict"></a>I don't see the Nav Menu Roles options in the admin menu items? =
52
+
53
+ This is because you have another plugin (or theme) that is also trying to alter the same code that creates the Menu section in the admin.
54
+
55
+ WordPress does not have sufficient hooks in this area of the admin and until they do plugins are forced to replace everything via custom admin menu Walker, of which there can be only one. There's a [trac ticket](http://core.trac.wordpress.org/ticket/18584) for this, but it has been around a while.
56
+
57
+ **A non-exhaustive list of known conflicts:**
58
+
59
+ 1. UberMenu 2.x Mega Menus plugin
60
+ 2. Add Descendants As Submenu Items plugin
61
+ 3. Navception plugin
62
+ 4. Suffusion theme
63
+ 5. BeTheme
64
+ 6. Yith Menu
65
+ 7. Kleo Theme
66
+ 8. Jupiter Theme
67
+
68
+
69
+ = <a name="compatibility"></a>Workaround #1 =
70
+ Shazdeh, the author of Menu Item Visibility Control plugin had the [genius idea](http://shazdeh.me/2014/06/25/custom-fields-nav-menu-items/) to not wait for a core hook and simply add the hook ourselves. If all plugin and theme authors use the same hook, we can make our plugins play together.
71
+
72
+ Therefore, as of version 1.6 I am modifying my admin walker to *only* adding the following line (right after the description input):
73
+
74
+ `
75
+ <?php
76
+ // This is the added section
77
+ do_action( 'wp_nav_menu_item_custom_fields', $item_id, $item, $depth, $args );
78
+ // end added section
79
+ ?>
80
+ `
81
+
82
+ I am then adding my fields to this hook. Ask your conflicting plugin/theme's author to do the same and our plugins should become compatible.
83
+
84
+ = Workaround #2 =
85
+
86
+ As a workaround, you can switch to a default theme (or disable the conflicting plugin), edit the Nav Menu Roles, for each menu item, then revert to your original theme/ reenable the conflicting plugin. The front-end functionality of Nav Menu Roles will still work.
87
+
88
+ = I'm using XYZ Membership plugin and I don't see its "levels"? =
89
+
90
+ There are apparently a few membership plugins out there that *don't* use traditional WordPress roles/capabilities. My plugin will list any role registered in the traditional WordPress way. If your membership plugin is using some other system, then Nav Menu Roles won't work with it out of the box. Since 1.3.5 I've added a filter called `nav_menu_roles_item_visibility` just before my code decides whether to show/hide a menu item. There's also always been the `nav_menu_roles` filter which lets you modify the roles listed in the admin. Between these two, I believe you have enough to integrate Nav Menu Roles with any membership plugin.
91
+
92
+ Here's an example where I've added a new pseudo role, creatively called "new-role". The first function adds it to the menu item admin screen. The second function is pretty generic and won't actually do anything because you need to supply your own logic based on the plugin you are using. Nav Menu Roles will save the new "role" info and add it to the item in an array to the `$item->roles` variable.
93
+
94
+ = <a name="new-role"></a>Adding a new "role" =
95
+
96
+ `
97
+ /*
98
+ * Add custom roles to Nav Menu Roles menu list
99
+ * param: $roles an array of all available roles, by default is global $wp_roles
100
+ * return: array
101
+ */
102
+ function kia_new_roles( $roles ){
103
+ $roles['new-role-key'] = 'new-role';
104
+ return $roles;
105
+ }
106
+ add_filter( 'nav_menu_roles', 'kia_new_roles' );
107
+ `
108
+
109
+ Note, if you want to add a WordPress capability the above is literally all you need. Because Nav Menu Roles checks whether a role has permission to view the menu item using `current_user_can($role) you do not need to right a custom callback for the `nav_menu_roles_item_visibility` filter.
110
+
111
+ In case you *do* need to check your visibility status against something very custom, here is how you'd go about it:
112
+
113
+ `
114
+ /*
115
+ * Change visibilty of each menu item
116
+ * param: $visible boolean
117
+ * param: $item object, the complete menu object. Nav Menu Roles adds its info to $item->roles
118
+ * $item->roles can be "in" (all logged in), "out" (all logged out) or an array of specific roles
119
+ * return boolean
120
+ */
121
+ function kia_item_visibility( $visible, $item ){
122
+ if( isset( $item->roles ) && is_array( $item->roles ) && in_array( 'new-role-key', $item->roles ) ){
123
+ /* if ( // your own custom check on the current user versus 'new-role' status ){
124
+ $visible = true;
125
+ } else {
126
+ $visible = false;
127
+ }
128
+ */ }
129
+ return $visible;
130
+ }
131
+ add_filter( 'nav_menu_roles_item_visibility', 'kia_item_visibility', 10, 2 );
132
+ `
133
+
134
+ Note that you have to generate your own if/then logic. I can't provide free support for custom integration with another plugin. You may [contact me](http://kathyisawesome.com/contact) to discuss hiring me, or I would suggest using a plugin that supports WordPress' roles, such as Justin Tadlock's [Members](http://wordpress.org/plugins/members).
135
+
136
+ = What happened to my menu roles on import/export? =
137
+
138
+ The Nav Menu Roles plugin stores 1 piece of post *meta* to every menu item/post. This is exported just fine by the default Export tool.
139
+
140
+ However, the Import plugin only imports certain post meta for menu items. As of version 1.3, I've added a custom Importer to Nav Menu Roles as a work around.
141
+
142
+ = How Do I Use the Custom Importer? =
143
+
144
+ 1. Go to Tools>Export, choose to export All Content and download the Export file
145
+ 1. Go to Tools>Import on your new site and perform your normal WordPress import
146
+ 1. Return to Tools>Import and this time select the Nav Menu Roles importer.
147
+ 1. Use the same .xml file and perform a second import
148
+ 1. No duplicate posts will be created but all menu post meta (including your Nav Menu Roles info) will be imported
149
+
150
+ == Changelog ==
151
+
152
+ = 1.6.3 =
153
+ * Try again to add languages. Where'd they all go?
154
+
155
+ = 1.6.2 =
156
+ * Add French translation. Props @Philippe Gilles
157
+
158
+ = 1.6.1 =
159
+ * Update list of conflits
160
+ * Don't display radio buttons if no roles - allows for granular permissions control
161
+
162
+ = 1.6.0 =
163
+ * Feature: Hiding a parent menu item will automatically hide all its children
164
+ * Feature: Add compatibility with Menu Item Visibility Control plugin and any plugin/theme that is willing to add its inputs via the `wp_nav_menu_item_custom_fields` hook. See the [FAQ](http://wordpress.org/plugins/nav-menu-roles/faq/#compatibility) to make our plugins compatible.
165
+
166
+ = 1.5.1 =
167
+ * Hopefully fix missing nav-menu-roles.min.js SVN issue
168
+
169
+ = 1.5.0 =
170
+ * Switch to instance of plugin
171
+ * Add notice when conflicting plugins are detected
172
+ * Remove some extraneous parameters
173
+ * Add Spanish translation thanks to @deskarrada
174
+
175
+ = 1.4.1 =
176
+ * update to WP 3.8 version of Walker_Nav_Menu_Edit (prolly not any different from 3.7.1)
177
+ * minor CSS adjustment to admin menu items
178
+ * checked against WP 3.8
179
+
180
+ = 1.4 =
181
+ * Add to FAQ
182
+ * add JS flair to admin menu items
183
+ * update to WP 3.7.1 version of Walker_Nav_Menu_Edit
184
+
185
+ = 1.3.5 =
186
+ * Add nav_menu_roles_item_visibility filter to work with plugins that don't use traditional roles
187
+
188
+ = 1.3.4 =
189
+ * Update admin language thanks to @hassanhamm
190
+ * Add Arabic translation thanks to @hassanhamm
191
+
192
+ = 1.3.3 =
193
+ * Fix Nav_Menu_Roles_Import not found error
194
+
195
+ = 1.3.2 =
196
+ * Stupid comment error causing save issues
197
+
198
+ = 1.3.1 =
199
+ * SVN failure to include importer files!
200
+
201
+ = 1.3 =
202
+ * Added custom importer
203
+
204
+ = 1.2 =
205
+ * Major fix for theme's that use their own custom Walkers, thanks to Evan Stein @vanpop http://vanpop.com/
206
+ * Instead of a custom nav Walker, menu items are controlled through the wp_get_nav_menu_items filter
207
+ * Remove the custom nav Walker code
208
+
209
+ = 1.1.1 =
210
+ * Fix link to plugin site
211
+ * Fix labels in admin Walker
212
+
213
+ = 1.1 =
214
+ * Clean up debug messages
215
+
216
+ = 1.0 =
217
+ * Initial release