Menu Icons by ThemeIsle - Version 0.1.5

Version Description

  • Invisible, but important fixes and improvements
Download this release

Release Info

Developer kucrut
Plugin Icon 128x128 Menu Icons by ThemeIsle
Version 0.1.5
Comparing to
See all releases

Code changes from version 0.1.4 to 0.1.5

includes/admin.php CHANGED
@@ -1,6 +1,7 @@
1
  <?php
2
  /**
3
  * Menu editor handler
 
4
  * @package Menu_Icons
5
  * @version 0.1.2
6
  * @author Dzikri Aziz <kvcrvt@gmail.com>
@@ -10,33 +11,17 @@
10
  /**
11
  * Menu item metadata
12
  *
13
- * @version 0.1.1
14
  */
15
  class Menu_Icons_Admin_Nav_Menus {
16
 
17
- /**
18
- * Holds status
19
- *
20
- * @since 0.1.1
21
- * @var bool
22
- */
23
- private static $loaded = false;
24
-
25
-
26
  /**
27
  * Initialize class
28
  */
29
  public static function init() {
30
- if ( true === self::$loaded ) {
31
- return;
32
- }
33
-
34
  add_action( 'admin_enqueue_scripts', array( __CLASS__, '_scripts_styles' ) );
35
- add_action( 'menu_item_custom_fields', array( __CLASS__, '_fields' ), 10, 3 );
36
  add_filter( 'manage_nav-menus_columns', array( __CLASS__, '_columns' ), 99 );
37
  add_action( 'wp_update_nav_menu_item', array( __CLASS__, '_save' ), 10, 3 );
38
-
39
- self:$loaded = true;
40
  }
41
 
42
 
1
  <?php
2
  /**
3
  * Menu editor handler
4
+ *
5
  * @package Menu_Icons
6
  * @version 0.1.2
7
  * @author Dzikri Aziz <kvcrvt@gmail.com>
11
  /**
12
  * Menu item metadata
13
  *
14
+ * @version 0.1.2
15
  */
16
  class Menu_Icons_Admin_Nav_Menus {
17
 
 
 
 
 
 
 
 
 
 
18
  /**
19
  * Initialize class
20
  */
21
  public static function init() {
 
 
 
 
22
  add_action( 'admin_enqueue_scripts', array( __CLASS__, '_scripts_styles' ) );
 
23
  add_filter( 'manage_nav-menus_columns', array( __CLASS__, '_columns' ), 99 );
24
  add_action( 'wp_update_nav_menu_item', array( __CLASS__, '_save' ), 10, 3 );
 
 
25
  }
26
 
27
 
includes/menu-item-custom-fields/LICENSE DELETED
@@ -1,339 +0,0 @@
1
- GNU GENERAL PUBLIC LICENSE
2
- Version 2, June 1991
3
-
4
- Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
5
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
- Everyone is permitted to copy and distribute verbatim copies
7
- of this license document, but changing it is not allowed.
8
-
9
- Preamble
10
-
11
- The licenses for most software are designed to take away your
12
- freedom to share and change it. By contrast, the GNU General Public
13
- License is intended to guarantee your freedom to share and change free
14
- software--to make sure the software is free for all its users. This
15
- General Public License applies to most of the Free Software
16
- Foundation's software and to any other program whose authors commit to
17
- using it. (Some other Free Software Foundation software is covered by
18
- the GNU Lesser General Public License instead.) You can apply it to
19
- your programs, too.
20
-
21
- When we speak of free software, we are referring to freedom, not
22
- price. Our General Public Licenses are designed to make sure that you
23
- have the freedom to distribute copies of free software (and charge for
24
- this service if you wish), that you receive source code or can get it
25
- if you want it, that you can change the software or use pieces of it
26
- in new free programs; and that you know you can do these things.
27
-
28
- To protect your rights, we need to make restrictions that forbid
29
- anyone to deny you these rights or to ask you to surrender the rights.
30
- These restrictions translate to certain responsibilities for you if you
31
- distribute copies of the software, or if you modify it.
32
-
33
- For example, if you distribute copies of such a program, whether
34
- gratis or for a fee, you must give the recipients all the rights that
35
- you have. You must make sure that they, too, receive or can get the
36
- source code. And you must show them these terms so they know their
37
- rights.
38
-
39
- We protect your rights with two steps: (1) copyright the software, and
40
- (2) offer you this license which gives you legal permission to copy,
41
- distribute and/or modify the software.
42
-
43
- Also, for each author's protection and ours, we want to make certain
44
- that everyone understands that there is no warranty for this free
45
- software. If the software is modified by someone else and passed on, we
46
- want its recipients to know that what they have is not the original, so
47
- that any problems introduced by others will not reflect on the original
48
- authors' reputations.
49
-
50
- Finally, any free program is threatened constantly by software
51
- patents. We wish to avoid the danger that redistributors of a free
52
- program will individually obtain patent licenses, in effect making the
53
- program proprietary. To prevent this, we have made it clear that any
54
- patent must be licensed for everyone's free use or not licensed at all.
55
-
56
- The precise terms and conditions for copying, distribution and
57
- modification follow.
58
-
59
- GNU GENERAL PUBLIC LICENSE
60
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
-
62
- 0. This License applies to any program or other work which contains
63
- a notice placed by the copyright holder saying it may be distributed
64
- under the terms of this General Public License. The "Program", below,
65
- refers to any such program or work, and a "work based on the Program"
66
- means either the Program or any derivative work under copyright law:
67
- that is to say, a work containing the Program or a portion of it,
68
- either verbatim or with modifications and/or translated into another
69
- language. (Hereinafter, translation is included without limitation in
70
- the term "modification".) Each licensee is addressed as "you".
71
-
72
- Activities other than copying, distribution and modification are not
73
- covered by this License; they are outside its scope. The act of
74
- running the Program is not restricted, and the output from the Program
75
- is covered only if its contents constitute a work based on the
76
- Program (independent of having been made by running the Program).
77
- Whether that is true depends on what the Program does.
78
-
79
- 1. You may copy and distribute verbatim copies of the Program's
80
- source code as you receive it, in any medium, provided that you
81
- conspicuously and appropriately publish on each copy an appropriate
82
- copyright notice and disclaimer of warranty; keep intact all the
83
- notices that refer to this License and to the absence of any warranty;
84
- and give any other recipients of the Program a copy of this License
85
- along with the Program.
86
-
87
- You may charge a fee for the physical act of transferring a copy, and
88
- you may at your option offer warranty protection in exchange for a fee.
89
-
90
- 2. You may modify your copy or copies of the Program or any portion
91
- of it, thus forming a work based on the Program, and copy and
92
- distribute such modifications or work under the terms of Section 1
93
- above, provided that you also meet all of these conditions:
94
-
95
- a) You must cause the modified files to carry prominent notices
96
- stating that you changed the files and the date of any change.
97
-
98
- b) You must cause any work that you distribute or publish, that in
99
- whole or in part contains or is derived from the Program or any
100
- part thereof, to be licensed as a whole at no charge to all third
101
- parties under the terms of this License.
102
-
103
- c) If the modified program normally reads commands interactively
104
- when run, you must cause it, when started running for such
105
- interactive use in the most ordinary way, to print or display an
106
- announcement including an appropriate copyright notice and a
107
- notice that there is no warranty (or else, saying that you provide
108
- a warranty) and that users may redistribute the program under
109
- these conditions, and telling the user how to view a copy of this
110
- License. (Exception: if the Program itself is interactive but
111
- does not normally print such an announcement, your work based on
112
- the Program is not required to print an announcement.)
113
-
114
- These requirements apply to the modified work as a whole. If
115
- identifiable sections of that work are not derived from the Program,
116
- and can be reasonably considered independent and separate works in
117
- themselves, then this License, and its terms, do not apply to those
118
- sections when you distribute them as separate works. But when you
119
- distribute the same sections as part of a whole which is a work based
120
- on the Program, the distribution of the whole must be on the terms of
121
- this License, whose permissions for other licensees extend to the
122
- entire whole, and thus to each and every part regardless of who wrote it.
123
-
124
- Thus, it is not the intent of this section to claim rights or contest
125
- your rights to work written entirely by you; rather, the intent is to
126
- exercise the right to control the distribution of derivative or
127
- collective works based on the Program.
128
-
129
- In addition, mere aggregation of another work not based on the Program
130
- with the Program (or with a work based on the Program) on a volume of
131
- a storage or distribution medium does not bring the other work under
132
- the scope of this License.
133
-
134
- 3. You may copy and distribute the Program (or a work based on it,
135
- under Section 2) in object code or executable form under the terms of
136
- Sections 1 and 2 above provided that you also do one of the following:
137
-
138
- a) Accompany it with the complete corresponding machine-readable
139
- source code, which must be distributed under the terms of Sections
140
- 1 and 2 above on a medium customarily used for software interchange; or,
141
-
142
- b) Accompany it with a written offer, valid for at least three
143
- years, to give any third party, for a charge no more than your
144
- cost of physically performing source distribution, a complete
145
- machine-readable copy of the corresponding source code, to be
146
- distributed under the terms of Sections 1 and 2 above on a medium
147
- customarily used for software interchange; or,
148
-
149
- c) Accompany it with the information you received as to the offer
150
- to distribute corresponding source code. (This alternative is
151
- allowed only for noncommercial distribution and only if you
152
- received the program in object code or executable form with such
153
- an offer, in accord with Subsection b above.)
154
-
155
- The source code for a work means the preferred form of the work for
156
- making modifications to it. For an executable work, complete source
157
- code means all the source code for all modules it contains, plus any
158
- associated interface definition files, plus the scripts used to
159
- control compilation and installation of the executable. However, as a
160
- special exception, the source code distributed need not include
161
- anything that is normally distributed (in either source or binary
162
- form) with the major components (compiler, kernel, and so on) of the
163
- operating system on which the executable runs, unless that component
164
- itself accompanies the executable.
165
-
166
- If distribution of executable or object code is made by offering
167
- access to copy from a designated place, then offering equivalent
168
- access to copy the source code from the same place counts as
169
- distribution of the source code, even though third parties are not
170
- compelled to copy the source along with the object code.
171
-
172
- 4. You may not copy, modify, sublicense, or distribute the Program
173
- except as expressly provided under this License. Any attempt
174
- otherwise to copy, modify, sublicense or distribute the Program is
175
- void, and will automatically terminate your rights under this License.
176
- However, parties who have received copies, or rights, from you under
177
- this License will not have their licenses terminated so long as such
178
- parties remain in full compliance.
179
-
180
- 5. You are not required to accept this License, since you have not
181
- signed it. However, nothing else grants you permission to modify or
182
- distribute the Program or its derivative works. These actions are
183
- prohibited by law if you do not accept this License. Therefore, by
184
- modifying or distributing the Program (or any work based on the
185
- Program), you indicate your acceptance of this License to do so, and
186
- all its terms and conditions for copying, distributing or modifying
187
- the Program or works based on it.
188
-
189
- 6. Each time you redistribute the Program (or any work based on the
190
- Program), the recipient automatically receives a license from the
191
- original licensor to copy, distribute or modify the Program subject to
192
- these terms and conditions. You may not impose any further
193
- restrictions on the recipients' exercise of the rights granted herein.
194
- You are not responsible for enforcing compliance by third parties to
195
- this License.
196
-
197
- 7. If, as a consequence of a court judgment or allegation of patent
198
- infringement or for any other reason (not limited to patent issues),
199
- conditions are imposed on you (whether by court order, agreement or
200
- otherwise) that contradict the conditions of this License, they do not
201
- excuse you from the conditions of this License. If you cannot
202
- distribute so as to satisfy simultaneously your obligations under this
203
- License and any other pertinent obligations, then as a consequence you
204
- may not distribute the Program at all. For example, if a patent
205
- license would not permit royalty-free redistribution of the Program by
206
- all those who receive copies directly or indirectly through you, then
207
- the only way you could satisfy both it and this License would be to
208
- refrain entirely from distribution of the Program.
209
-
210
- If any portion of this section is held invalid or unenforceable under
211
- any particular circumstance, the balance of the section is intended to
212
- apply and the section as a whole is intended to apply in other
213
- circumstances.
214
-
215
- It is not the purpose of this section to induce you to infringe any
216
- patents or other property right claims or to contest validity of any
217
- such claims; this section has the sole purpose of protecting the
218
- integrity of the free software distribution system, which is
219
- implemented by public license practices. Many people have made
220
- generous contributions to the wide range of software distributed
221
- through that system in reliance on consistent application of that
222
- system; it is up to the author/donor to decide if he or she is willing
223
- to distribute software through any other system and a licensee cannot
224
- impose that choice.
225
-
226
- This section is intended to make thoroughly clear what is believed to
227
- be a consequence of the rest of this License.
228
-
229
- 8. If the distribution and/or use of the Program is restricted in
230
- certain countries either by patents or by copyrighted interfaces, the
231
- original copyright holder who places the Program under this License
232
- may add an explicit geographical distribution limitation excluding
233
- those countries, so that distribution is permitted only in or among
234
- countries not thus excluded. In such case, this License incorporates
235
- the limitation as if written in the body of this License.
236
-
237
- 9. The Free Software Foundation may publish revised and/or new versions
238
- of the General Public License from time to time. Such new versions will
239
- be similar in spirit to the present version, but may differ in detail to
240
- address new problems or concerns.
241
-
242
- Each version is given a distinguishing version number. If the Program
243
- specifies a version number of this License which applies to it and "any
244
- later version", you have the option of following the terms and conditions
245
- either of that version or of any later version published by the Free
246
- Software Foundation. If the Program does not specify a version number of
247
- this License, you may choose any version ever published by the Free Software
248
- Foundation.
249
-
250
- 10. If you wish to incorporate parts of the Program into other free
251
- programs whose distribution conditions are different, write to the author
252
- to ask for permission. For software which is copyrighted by the Free
253
- Software Foundation, write to the Free Software Foundation; we sometimes
254
- make exceptions for this. Our decision will be guided by the two goals
255
- of preserving the free status of all derivatives of our free software and
256
- of promoting the sharing and reuse of software generally.
257
-
258
- NO WARRANTY
259
-
260
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262
- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
- PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
- OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266
- TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267
- PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
- REPAIR OR CORRECTION.
269
-
270
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
- REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
- INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
- OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
- TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
- YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
- PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
- POSSIBILITY OF SUCH DAMAGES.
279
-
280
- END OF TERMS AND CONDITIONS
281
-
282
- How to Apply These Terms to Your New Programs
283
-
284
- If you develop a new program, and you want it to be of the greatest
285
- possible use to the public, the best way to achieve this is to make it
286
- free software which everyone can redistribute and change under these terms.
287
-
288
- To do so, attach the following notices to the program. It is safest
289
- to attach them to the start of each source file to most effectively
290
- convey the exclusion of warranty; and each file should have at least
291
- the "copyright" line and a pointer to where the full notice is found.
292
-
293
- {description}
294
- Copyright (C) {year} {fullname}
295
-
296
- This program is free software; you can redistribute it and/or modify
297
- it under the terms of the GNU General Public License as published by
298
- the Free Software Foundation; either version 2 of the License, or
299
- (at your option) any later version.
300
-
301
- This program is distributed in the hope that it will be useful,
302
- but WITHOUT ANY WARRANTY; without even the implied warranty of
303
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304
- GNU General Public License for more details.
305
-
306
- You should have received a copy of the GNU General Public License along
307
- with this program; if not, write to the Free Software Foundation, Inc.,
308
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309
-
310
- Also add information on how to contact you by electronic and paper mail.
311
-
312
- If the program is interactive, make it output a short notice like this
313
- when it starts in an interactive mode:
314
-
315
- Gnomovision version 69, Copyright (C) year name of author
316
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317
- This is free software, and you are welcome to redistribute it
318
- under certain conditions; type `show c' for details.
319
-
320
- The hypothetical commands `show w' and `show c' should show the appropriate
321
- parts of the General Public License. Of course, the commands you use may
322
- be called something other than `show w' and `show c'; they could even be
323
- mouse-clicks or menu items--whatever suits your program.
324
-
325
- You should also get your employer (if you work as a programmer) or your
326
- school, if any, to sign a "copyright disclaimer" for the program, if
327
- necessary. Here is a sample; alter the names:
328
-
329
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
331
-
332
- {signature of Ty Coon}, 1 April 1989
333
- Ty Coon, President of Vice
334
-
335
- This General Public License does not permit incorporating your program into
336
- proprietary programs. If your program is a subroutine library, you may
337
- consider it more useful to permit linking proprietary applications with the
338
- library. If this is what you want to do, use the GNU Lesser General
339
- Public License instead of this License.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/menu-item-custom-fields/doc/menu-item-custom-fields-example.php DELETED
@@ -1,112 +0,0 @@
1
- <?php
2
- /**
3
- * Menu item custom fields example
4
- *
5
- * Copy this file into your wp-content/mu-plugins directory.
6
- *
7
- * @package Menu_Item_Custom_Fields
8
- * @version 0.1.0
9
- * @author Dzikri Aziz <kvcrvt@gmail.com>
10
- *
11
- *
12
- * Plugin name: Menu Item Custom Fields Example
13
- * Plugin URI: https://github.com/kucrut/wp-menu-item-custom-fields
14
- * Description: Example usage of Menu Item Custom Fields in plugins/themes
15
- * Version: 0.1.0
16
- * Author: Dzikri Aziz
17
- * Author URI: http://kucrut.org/
18
- * License: GPL v2
19
- * Text Domain: my-plugin
20
- */
21
-
22
-
23
- /**
24
- * Sample menu item metadata
25
- *
26
- * This class demonstrate the usage of Menu Item Custom Fields in plugins/themes.
27
- *
28
- * @since 0.1.0
29
- */
30
- class Menu_Item_Custom_Fields_Example {
31
-
32
- /**
33
- * Initialize plugin
34
- */
35
- public static function init() {
36
- add_action( 'menu_item_custom_fields', array( __CLASS__, '_fields' ), 10, 3 );
37
- add_action( 'wp_update_nav_menu_item', array( __CLASS__, '_save' ), 10, 3 );
38
- add_filter( 'manage_nav-menus_columns', array( __CLASS__, '_columns' ), 99 );
39
- }
40
-
41
-
42
- /**
43
- * Save custom field value
44
- *
45
- * @wp_hook action wp_update_nav_menu_item
46
- *
47
- * @param int $menu_id Nav menu ID
48
- * @param int $menu_item_db_id Menu item ID
49
- * @param array $menu_item_args Menu item data
50
- */
51
- public static function _save( $menu_id, $menu_item_db_id, $menu_item_args ) {
52
- check_admin_referer( 'update-nav_menu', 'update-nav-menu-nonce' );
53
-
54
- // Sanitize
55
- if ( ! empty( $_POST['menu-item-custom-field'][ $menu_item_db_id ] ) ) {
56
- // Do some checks here...
57
- $value = $_POST['menu-item-custom-field'][ $menu_item_db_id ];
58
- }
59
- else {
60
- $value = '';
61
- }
62
-
63
- // Update
64
- if ( ! empty( $value ) ) {
65
- update_post_meta( $menu_item_db_id, 'menu-item-custom-field', $value );
66
- }
67
- else {
68
- delete_post_meta( $menu_item_db_id, 'menu-item-custom-field' );
69
- }
70
- }
71
-
72
-
73
- /**
74
- * Print field
75
- *
76
- * @param object $item Menu item data object.
77
- * @param int $depth Depth of menu item. Used for padding.
78
- * @param array $args Menu item args.
79
- * @param int $id Nav menu ID.
80
- *
81
- * @return string Form fields
82
- */
83
- public static function _fields( $item, $depth, $args = array(), $id = 0 ) {
84
- ?>
85
- <p class="field-custom description description-wide">
86
- <label for="edit-menu-item-custom-field-<?php echo esc_attr( $item->ID ) ?>"><?php _e( 'Custom Field', 'my-plugin' ) ?><br />
87
- <?php printf(
88
- '<input type="text" value="%1$s" name="menu-item-custom-field[%2$d]" class="widefat code edit-menu-item-custom-field" id="edit-menu-item-custom-field-%2$d">',
89
- esc_attr( get_post_meta( $item->ID, 'menu-item-custom-field', true ) ),
90
- $item->ID
91
- ) ?>
92
- </label>
93
- </p>
94
- <?php
95
- }
96
-
97
-
98
- /**
99
- * Add our field to the screen options toggle
100
- *
101
- * To make this work, the field wrapper must have the class 'field-custom'
102
- *
103
- * @param array $columns Menu item columns
104
- * @return array
105
- */
106
- public static function _columns( $columns ) {
107
- $columns['custom'] = __( 'Custom Field', 'my-plugin' );
108
-
109
- return $columns;
110
- }
111
- }
112
- Menu_Item_Custom_Fields_Example::init();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/menu-item-custom-fields/menu-item-custom-fields.php DELETED
@@ -1,45 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Menu Item Custom Fields
5
- *
6
- * @package Menu_Item_Custom_Fields
7
- * @version 0.1.1
8
- * @author Dzikri Aziz <kvcrvt@gmail.com>
9
- *
10
- * Plugin name: Menu Item Custom Fields
11
- * Plugin URI: https://github.com/kucrut/wp-menu-item-custom-fields
12
- * Description: Easily add custom fields to nav menu items
13
- * Version: 0.1.1
14
- * Author: Dzikri Aziz
15
- * Author URI: http://kucrut.org/
16
- * License: GPLv2
17
- * Text Domain: menu-item-custom-fields
18
- */
19
-
20
- /* Nothing to do on the front-end */
21
- if ( ! is_admin() ) {
22
- return;
23
- }
24
-
25
- if ( ! function_exists( '_menu_item_custom_fields_walker' ) ) {
26
-
27
- /**
28
- * Replace default menu editor walker with ours
29
- *
30
- * We don't actually replace the default walker. We're still using it and
31
- * only injecting some HTMLs.
32
- *
33
- * @since 0.1.0
34
- * @access private
35
- * @wp_hook filter wp_edit_nav_menu_walker
36
- * @param string $walker Walker class name
37
- * @return string Walker class name
38
- */
39
- function _menu_item_custom_fields_walker( $walker ) {
40
- require_once dirname( __FILE__ ) . '/walker-nav-menu-edit.php';
41
- return 'Menu_Item_Custom_Fields_Walker';
42
- }
43
-
44
- add_filter( 'wp_edit_nav_menu_walker', '_menu_item_custom_fields_walker' );
45
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/menu-item-custom-fields/readme.md DELETED
@@ -1,45 +0,0 @@
1
- <!-- DO NOT EDIT THIS FILE; it is auto-generated from readme.txt -->
2
- # Menu Item Custom Fields
3
-
4
- Easily add custom fields to nav menu items.
5
-
6
- **Contributors:** [kucrut](http://profiles.wordpress.org/kucrut)
7
- **Tags:** [menu](http://wordpress.org/plugins/tags/menu), [nav-menu](http://wordpress.org/plugins/tags/nav-menu), [custom-fields](http://wordpress.org/plugins/tags/custom-fields), [metadata](http://wordpress.org/plugins/tags/metadata)
8
- **Requires at least:** 3.8
9
- **Tested up to:** 3.8.1
10
- **Stable tag:** 0.1.0
11
- **License:** [GPLv2](http://www.gnu.org/licenses/gpl-2.0.html)
12
- **Donate Link:** http://kucrut.org/#coffee
13
-
14
- ## Description ##
15
-
16
- This is a *library* plugin. It doesn't do anything visible on its own. It was written to allow other plugins/themes to add custom fields to menu items *easily*. See **Installation**.
17
-
18
- Development of this plugin is done on [GitHub](https://github.com/kucrut/wp-menu-item-custom-fields). **Pull requests welcome**. Please see [issues reported](https://github.com/kucrut/wp-menu-item-custom-fields/issues) there before going to the plugin forum.
19
-
20
- ## Installation ##
21
-
22
- ### As regular plugin ###
23
- 1. Upload `menu-item-custom-fields` to the `/wp-content/plugins/` directory
24
- 1. Activate the plugin through the 'Plugins' menu in WordPress
25
-
26
- ### As library in your plugin/theme ###
27
- 1. Copy `menu-item-custom-fields` to your plugin directory
28
- 1. From your plugin file, add this code:
29
- ```php
30
- function myplugin_load_menu_item_custom_fields() {
31
- require_once dirname( __FILE__ ) . '/menu-item-custom-fields/menu-item-custom-fields.php';
32
- }
33
- add_action( 'load-nav-menus.php', 'myplugin_load_menu_item_custom_fields' ) );
34
- ```
35
-
36
- ### Usage ###
37
- Copy (and customize) and include the `menu-item-custom-fields-example.php` file found in the `doc/` directory into your plugin/theme.
38
-
39
-
40
- ## Changelog ##
41
-
42
- ### 0.1.0 ###
43
- * Initial public release
44
-
45
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/menu-item-custom-fields/readme.txt DELETED
@@ -1,45 +0,0 @@
1
- === Menu Item Custom Fields ===
2
- Contributors: kucrut
3
- Donate Link: http://kucrut.org/#coffee
4
- Tags: menu, nav-menu, custom-fields, metadata
5
- Requires at least: 3.8
6
- Tested up to: 3.8.1
7
- Stable tag: 0.1.1
8
- License: GPLv2
9
- License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
-
11
- Easily add custom fields to nav menu items.
12
-
13
-
14
- == Description ==
15
- This is a *library* plugin. It doesn't do anything visible on its own. It was written to allow other plugins/themes to add custom fields to menu items *easily*. See **Installation**.
16
-
17
- Development of this plugin is done on [GitHub](https://github.com/kucrut/wp-menu-item-custom-fields). **Pull requests welcome**. Please see [issues reported](https://github.com/kucrut/wp-menu-item-custom-fields/issues) there before going to the plugin forum.
18
-
19
-
20
- == Installation ==
21
-
22
- = As regular plugin =
23
- 1. Upload `menu-item-custom-fields` to the `/wp-content/plugins/` directory
24
- 1. Activate the plugin through the 'Plugins' menu in WordPress
25
-
26
- = As library in your plugin/theme =
27
- 1. Copy `menu-item-custom-fields` to your plugin directory
28
- 1. From your plugin file, add this code:
29
- `
30
- function myplugin_load_menu_item_custom_fields() {
31
- require_once dirname( __FILE__ ) . '/menu-item-custom-fields/menu-item-custom-fields.php';
32
- }
33
- add_action( 'load-nav-menus.php', 'myplugin_load_menu_item_custom_fields' ) );
34
- `
35
-
36
- = Usage =
37
- Copy (and customize) and include the `menu-item-custom-fields-example.php` file found in the `doc/` directory of this plugin into your plugin/theme.
38
-
39
-
40
- == Changelog ==
41
- = 0.1.1 =
42
- * Move custom fields up (before `<p.field-move />`)
43
-
44
- = 0.1.0 =
45
- * Initial public release
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/type-dashicons.php CHANGED
@@ -8,12 +8,14 @@
8
  */
9
 
10
 
 
 
11
  /**
12
  * Icon type: Dashicons
13
  *
14
  * @since 0.1.0
15
  */
16
- class Menu_Icons_Dashicons extends Menu_Icons_Fonts {
17
 
18
  /**
19
  * Holds icon type
@@ -289,18 +291,3 @@ class Menu_Icons_Dashicons extends Menu_Icons_Fonts {
289
  );
290
  }
291
  }
292
-
293
-
294
- /**
295
- * Register Dashicons
296
- *
297
- * @since 0.1.0
298
- * @wp_hook filter menu_icons_types/9/1
299
- * @param array $types Icon Types
300
- * @return array
301
- */
302
- function _menu_icons_dashicons( $types ) {
303
- $dashicons = new Menu_Icons_Dashicons();
304
- return $dashicons->register( $types );
305
- }
306
- add_filter( 'menu_icons_types', '_menu_icons_dashicons', 9 );
8
  */
9
 
10
 
11
+ require_once dirname( __FILE__ ) . '/type-fonts.php';
12
+
13
  /**
14
  * Icon type: Dashicons
15
  *
16
  * @since 0.1.0
17
  */
18
+ class Menu_Icons_Type_Dashicons extends Menu_Icons_Type_Fonts {
19
 
20
  /**
21
  * Holds icon type
291
  );
292
  }
293
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/type-fonts.php CHANGED
@@ -3,63 +3,18 @@
3
  * Icon fonts handler
4
  *
5
  * @package Menu_Icons
6
- * @version 0.1.1
7
  * @author Dzikri Aziz <kvcrvt@gmail.com>
8
  */
9
 
 
10
 
11
  /**
12
- * Generic handler for icons fonts
13
  *
14
- * @since 0.1.0
15
  */
16
- abstract class Menu_Icons_Fonts {
17
-
18
- /**
19
- * Holds icon type
20
- *
21
- * @since 0.1.0
22
- * @access protected
23
- * @var string
24
- */
25
- protected $type;
26
-
27
- /**
28
- * Holds icon label
29
- *
30
- * @since 0.1.0
31
- * @access protected
32
- * @var string
33
- */
34
- protected $label;
35
-
36
- /**
37
- * Holds icon stylesheet URL
38
- *
39
- * @since 0.1.0
40
- * @access protected
41
- * @var string
42
- */
43
- protected $stylesheet;
44
-
45
- /**
46
- * Holds icon version
47
- *
48
- * @since 0.1.0
49
- * @access protected
50
- * @var string
51
- */
52
- protected $version;
53
-
54
- /**
55
- * Holds array key for icon value
56
- *
57
- * @since 0.1.0
58
- * @access private
59
- * @var string
60
- */
61
- private $_key;
62
-
63
 
64
  /**
65
  * Get icon names
@@ -70,44 +25,6 @@ abstract class Menu_Icons_Fonts {
70
  abstract function get_names();
71
 
72
 
73
- /**
74
- * Class constructor
75
- *
76
- * This simply sets $key
77
- *
78
- * @since 0.1.0
79
- */
80
- function __construct() {
81
- $this->_key = $this->type . '-icon';
82
-
83
- if ( is_null( $this->version ) ) {
84
- $this->version = get_bloginfo( 'version' );
85
- }
86
- }
87
-
88
-
89
- /**
90
- * Register our type
91
- *
92
- * @since 0.1.0
93
- * @param array $types Icon Types
94
- * @return array
95
- */
96
- public function register( $types ) {
97
- $props = array(
98
- 'label' => $this->label,
99
- 'field_cb' => array( $this, 'the_field' ),
100
- 'front_cb' => array( $this, 'front' ),
101
- 'stylesheet' => $this->stylesheet,
102
- 'version' => $this->version,
103
- );
104
-
105
- $types[ $this->type ] = $props;
106
-
107
- return $types;
108
- }
109
-
110
-
111
  /**
112
  * Print field for icons selection
113
  *
@@ -116,9 +33,9 @@ abstract class Menu_Icons_Fonts {
116
  * @param array $meta_value Current value of 'menu-icons' metadata
117
  */
118
  public function the_field( $id, $meta_value ) {
119
- $current = isset( $meta_value[ $this->_key ] ) ? $meta_value[ $this->_key ] : '';
120
- $input_id = sprintf( 'menu-icons-%d-%s', $id, $this->_key );
121
- $input_name = sprintf( 'menu-icons[%d][%s]', $id, $this->_key );
122
  ?>
123
  <?php printf(
124
  '<p class="field-icon-child description menu-icon-type-%1$s" data-dep-on="%1$s">',
@@ -137,7 +54,7 @@ abstract class Menu_Icons_Fonts {
137
  <?php printf(
138
  '<option value="%s"%s>%s</option>',
139
  esc_attr( $value ),
140
- selected( $meta_value[ $this->_key ], $value, false ),
141
  esc_html( $label )
142
  ) ?>
143
  <?php endforeach; ?>
@@ -149,87 +66,6 @@ abstract class Menu_Icons_Fonts {
149
  }
150
 
151
 
152
- /**
153
- * Front-end tasks
154
- *
155
- * @since 0.1.0
156
- * @param string $type Icon type
157
- */
158
- public function front() {
159
- add_filter( 'wp_nav_menu_args', array( $this, '_add_menu_item_title_filter' ) );
160
- add_filter( 'wp_nav_menu', array( $this, '_remove_menu_item_title_filter' ) );
161
- }
162
-
163
-
164
- /**
165
- * Add filter to 'the_title' hook
166
- *
167
- * We need to filter the menu item title but **not** regular post titles.
168
- * Thus, we're adding the filter when `wp_nav_menu()` is called.
169
- *
170
- * @since 0.1.0
171
- * @link http://codex.wordpress.org/Plugin_API/Action_Reference/wp_nav_menu_args Filter: wp_nav_menu_args/999/2
172
- * @param array $args Not used
173
- *
174
- * @return array
175
- */
176
- public function _add_menu_item_title_filter( $args ) {
177
- add_filter( 'the_title', array( $this, '_filter_menu_item_title' ), 999, 2 );
178
-
179
- return $args;
180
- }
181
-
182
-
183
- /**
184
- * Remove filter from 'the_title' hook
185
- *
186
- * Because we don't want to filter post titles, we need to remove our
187
- * filter when `wp_nav_menu()` exits.
188
- *
189
- * @since 0.1.0
190
- * @link http://codex.wordpress.org/Plugin_API/Action_Reference/wp_nav_menu Filter: wp_nav_menu/999/2
191
- * @param array $nav_menu Not used
192
- * @return array
193
- */
194
- public function _remove_menu_item_title_filter( $nav_menu ) {
195
- remove_filter( 'the_title', array( $this, '_filter_menu_item_title' ), 999, 2 );
196
-
197
- return $nav_menu;
198
- }
199
-
200
-
201
- /**
202
- * Filter menu item titles
203
- *
204
- * @since 0.1.0
205
- * @link http://codex.wordpress.org/Plugin_API/Action_Reference/the_title Filter: the_title/999/2
206
- *
207
- * @param string $title Menu item title
208
- * @param int $id Menu item ID
209
- *
210
- * @return string
211
- */
212
- public function _filter_menu_item_title( $title, $id ) {
213
- $values = array_filter( (array) get_post_meta( $id, 'menu-icons', true ) );
214
-
215
- if ( empty( $values['type'] ) ) {
216
- return $title;
217
- }
218
-
219
- if ( $values['type'] !== $this->type ) {
220
- return $title;
221
- }
222
-
223
- if ( empty( $values[ $this->_key ] ) ) {
224
- return $title;
225
- }
226
-
227
- $title = $this->add_icon( $title, $values );
228
-
229
- return $title;
230
- }
231
-
232
-
233
  /**
234
  * Add icon to menu title
235
  *
@@ -242,7 +78,7 @@ abstract class Menu_Icons_Fonts {
242
  * @return string
243
  */
244
  protected function add_icon( $title, $values ) {
245
- $title = sprintf( '<i class="%s %s"></i>%s', $values['type'], $values[ $this->_key ], $title );
246
 
247
  return $title;
248
  }
3
  * Icon fonts handler
4
  *
5
  * @package Menu_Icons
6
+ * @version 0.1.2
7
  * @author Dzikri Aziz <kvcrvt@gmail.com>
8
  */
9
 
10
+ require_once dirname( __FILE__ ) . '/type.php';
11
 
12
  /**
13
+ * Generic handler for icon fonts
14
  *
15
+ * @version 0.1.2
16
  */
17
+ abstract class Menu_Icons_Type_Fonts extends Menu_Icons_Type {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
 
19
  /**
20
  * Get icon names
25
  abstract function get_names();
26
 
27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  /**
29
  * Print field for icons selection
30
  *
33
  * @param array $meta_value Current value of 'menu-icons' metadata
34
  */
35
  public function the_field( $id, $meta_value ) {
36
+ $current = isset( $meta_value[ $this->key ] ) ? $meta_value[ $this->key ] : '';
37
+ $input_id = sprintf( 'menu-icons-%d-%s', $id, $this->key );
38
+ $input_name = sprintf( 'menu-icons[%d][%s]', $id, $this->key );
39
  ?>
40
  <?php printf(
41
  '<p class="field-icon-child description menu-icon-type-%1$s" data-dep-on="%1$s">',
54
  <?php printf(
55
  '<option value="%s"%s>%s</option>',
56
  esc_attr( $value ),
57
+ selected( $meta_value[ $this->key ], $value, false ),
58
  esc_html( $label )
59
  ) ?>
60
  <?php endforeach; ?>
66
  }
67
 
68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  /**
70
  * Add icon to menu title
71
  *
78
  * @return string
79
  */
80
  protected function add_icon( $title, $values ) {
81
+ $title = sprintf( '<i class="%s %s"></i>%s', $values['type'], $values[ $this->key ], $title );
82
 
83
  return $title;
84
  }
includes/type-genericons.php CHANGED
@@ -7,12 +7,15 @@
7
  * @author Dzikri Aziz <kvcrvt@gmail.com>
8
  */
9
 
 
 
 
10
  /**
11
  * Icon type: Genericons
12
  *
13
  * @since 0.1.0
14
  */
15
- class Menu_Icons_Genericons extends Menu_Icons_Fonts {
16
 
17
  /**
18
  * Holds icon type
@@ -212,18 +215,3 @@ class Menu_Icons_Genericons extends Menu_Icons_Fonts {
212
  );
213
  }
214
  }
215
-
216
-
217
- /**
218
- * Register Genericons
219
- *
220
- * @since 0.1.0
221
- * @wp_hook filter menu_icons_types/9/1
222
- * @param array $types Icon Types
223
- * @return array
224
- */
225
- function _menu_icons_genericons( $types ) {
226
- $dashicons = new Menu_Icons_Genericons();
227
- return $dashicons->register( $types );
228
- }
229
- add_filter( 'menu_icons_types', '_menu_icons_genericons', 9 );
7
  * @author Dzikri Aziz <kvcrvt@gmail.com>
8
  */
9
 
10
+
11
+ require_once dirname( __FILE__ ) . '/type-fonts.php';
12
+
13
  /**
14
  * Icon type: Genericons
15
  *
16
  * @since 0.1.0
17
  */
18
+ class Menu_Icons_Type_Genericons extends Menu_Icons_Type_Fonts {
19
 
20
  /**
21
  * Holds icon type
215
  );
216
  }
217
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/type.php ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Icon type handler
4
+ *
5
+ * @package Menu_Icons
6
+ * @version 0.1.0
7
+ * @author Dzikri Aziz <kvcrvt@gmail.com>
8
+ */
9
+
10
+
11
+ /**
12
+ * Generic handler for icon type
13
+ *
14
+ * @since 0.1.0
15
+ */
16
+ abstract class Menu_Icons_Type {
17
+
18
+ /**
19
+ * Holds icon type
20
+ *
21
+ * @since 0.1.0
22
+ * @access protected
23
+ * @var string
24
+ */
25
+ protected $type;
26
+
27
+ /**
28
+ * Holds icon label
29
+ *
30
+ * @since 0.1.0
31
+ * @access protected
32
+ * @var string
33
+ */
34
+ protected $label;
35
+
36
+ /**
37
+ * Holds icon stylesheet URL
38
+ *
39
+ * @since 0.1.0
40
+ * @access protected
41
+ * @var string
42
+ */
43
+ protected $stylesheet;
44
+
45
+ /**
46
+ * Holds icon version
47
+ *
48
+ * @since 0.1.0
49
+ * @access protected
50
+ * @var string
51
+ */
52
+ protected $version;
53
+
54
+ /**
55
+ * Holds array key for icon value
56
+ *
57
+ * @since 0.1.0
58
+ * @access protected
59
+ * @var string
60
+ */
61
+ protected $key;
62
+
63
+
64
+ /**
65
+ * Class constructor
66
+ *
67
+ * This simply sets $key
68
+ *
69
+ * @since 0.1.0
70
+ */
71
+ function __construct() {
72
+ $this->key = $this->type . '-icon';
73
+
74
+ if ( is_null( $this->version ) ) {
75
+ $this->version = get_bloginfo( 'version' );
76
+ }
77
+ }
78
+
79
+
80
+ /**
81
+ * Register our type
82
+ *
83
+ * @since 0.1.0
84
+ * @param array $types Icon Types
85
+ * @return array
86
+ */
87
+ public function register( $types ) {
88
+ $props = array(
89
+ 'label' => $this->label,
90
+ 'field_cb' => array( $this, 'the_field' ),
91
+ 'front_cb' => array( $this, 'front' ),
92
+ 'stylesheet' => $this->stylesheet,
93
+ 'version' => $this->version,
94
+ );
95
+
96
+ $types[ $this->type ] = $props;
97
+
98
+ return $types;
99
+ }
100
+
101
+
102
+ /**
103
+ * Print field for icons selection
104
+ *
105
+ * @since 0.1.0
106
+ * @param int $id Menu item ID
107
+ * @param array $meta_value Current value of 'menu-icons' metadata
108
+ */
109
+ abstract public function the_field( $id, $meta_value );
110
+
111
+
112
+ /**
113
+ * Front-end tasks
114
+ *
115
+ * @since 0.1.0
116
+ * @param string $type Icon type
117
+ */
118
+ public function front() {
119
+ add_filter( 'wp_nav_menu_args', array( $this, '_add_menu_item_title_filter' ) );
120
+ add_filter( 'wp_nav_menu', array( $this, '_remove_menu_item_title_filter' ) );
121
+ }
122
+
123
+
124
+ /**
125
+ * Add filter to 'the_title' hook
126
+ *
127
+ * We need to filter the menu item title but **not** regular post titles.
128
+ * Thus, we're adding the filter when `wp_nav_menu()` is called.
129
+ *
130
+ * @since 0.1.0
131
+ * @link http://codex.wordpress.org/Plugin_API/Action_Reference/wp_nav_menu_args Filter: wp_nav_menu_args/999/2
132
+ * @param array $args Not used
133
+ *
134
+ * @return array
135
+ */
136
+ public function _add_menu_item_title_filter( $args ) {
137
+ add_filter( 'the_title', array( $this, '_filter_menu_item_title' ), 999, 2 );
138
+
139
+ return $args;
140
+ }
141
+
142
+
143
+ /**
144
+ * Remove filter from 'the_title' hook
145
+ *
146
+ * Because we don't want to filter post titles, we need to remove our
147
+ * filter when `wp_nav_menu()` exits.
148
+ *
149
+ * @since 0.1.0
150
+ * @link http://codex.wordpress.org/Plugin_API/Action_Reference/wp_nav_menu Filter: wp_nav_menu/999/2
151
+ * @param array $nav_menu Not used
152
+ * @return array
153
+ */
154
+ public function _remove_menu_item_title_filter( $nav_menu ) {
155
+ remove_filter( 'the_title', array( $this, '_filter_menu_item_title' ), 999, 2 );
156
+
157
+ return $nav_menu;
158
+ }
159
+
160
+
161
+ /**
162
+ * Filter menu item titles
163
+ *
164
+ * @since 0.1.0
165
+ * @link http://codex.wordpress.org/Plugin_API/Action_Reference/the_title Filter: the_title/999/2
166
+ *
167
+ * @param string $title Menu item title
168
+ * @param int $id Menu item ID
169
+ *
170
+ * @return string
171
+ */
172
+ public function _filter_menu_item_title( $title, $id ) {
173
+ $values = array_filter( (array) get_post_meta( $id, 'menu-icons', true ) );
174
+
175
+ if ( empty( $values['type'] ) ) {
176
+ return $title;
177
+ }
178
+
179
+ if ( $values['type'] !== $this->type ) {
180
+ return $title;
181
+ }
182
+
183
+ if ( empty( $values[ $this->key ] ) ) {
184
+ return $title;
185
+ }
186
+
187
+ $title = $this->add_icon( $title, $values );
188
+
189
+ return $title;
190
+ }
191
+
192
+
193
+ /**
194
+ * Add icon to menu title
195
+ *
196
+ * Icon types should override this method if they want to provide different markup.
197
+ *
198
+ * @since 0.1.0
199
+ * @param string $title Menu item title
200
+ * @param array $values Menu item metadata value
201
+ *
202
+ * @return string
203
+ */
204
+ abstract protected function add_icon( $title, $values );
205
+ }
includes/{menu-item-custom-fields/walker-nav-menu-edit.php → walker-nav-menu-edit.php} RENAMED
File without changes
js/input-dependencies.js CHANGED
@@ -117,8 +117,6 @@
117
 
118
  instances[ options.selector ] = options;
119
 
120
- console.log( instances );
121
-
122
  // Delegate event
123
  $(document)
124
  .on('change', options.selector, options, onChange)
117
 
118
  instances[ options.selector ] = options;
119
 
 
 
120
  // Delegate event
121
  $(document)
122
  .on('change', options.selector, options, onChange)
languages/menu-icons.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Menu Icons package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Menu Icons 0.1.0\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/menu-icons\n"
7
- "POT-Creation-Date: 2014-02-18 18:23:34+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -12,980 +12,975 @@ msgstr ""
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
- #: includes/admin.php:41 includes/type-fonts.php:128
16
  msgid "&mdash; Select &mdash;"
17
  msgstr ""
18
 
19
- #: includes/admin.php:88
20
  msgid "Icon type"
21
  msgstr ""
22
 
23
- #: includes/admin.php:134
24
  msgid "Icon"
25
  msgstr ""
26
 
27
- #: includes/menu-item-custom-fields/doc/menu-item-custom-fields-example.php:86
28
- #: includes/menu-item-custom-fields/doc/menu-item-custom-fields-example.php:107
29
- msgid "Custom Field"
30
- msgstr ""
31
-
32
- #: includes/type-dashicons.php:55
33
  msgid "Admin"
34
  msgstr ""
35
 
36
- #: includes/type-dashicons.php:57
37
  msgid "Appearance"
38
  msgstr ""
39
 
40
- #: includes/type-dashicons.php:58 includes/type-genericons.php:144
41
  msgid "Collapse"
42
  msgstr ""
43
 
44
- #: includes/type-dashicons.php:59 includes/type-dashicons.php:93
45
  msgid "Comments"
46
  msgstr ""
47
 
48
- #: includes/type-dashicons.php:60
49
  msgid "Dashboard"
50
  msgstr ""
51
 
52
- #: includes/type-dashicons.php:61
53
  msgid "Generic"
54
  msgstr ""
55
 
56
- #: includes/type-dashicons.php:62 includes/type-genericons.php:161
57
  msgid "Home"
58
  msgstr ""
59
 
60
- #: includes/type-dashicons.php:63
61
  msgid "Media"
62
  msgstr ""
63
 
64
- #: includes/type-dashicons.php:64 includes/type-genericons.php:170
65
  msgid "Menu"
66
  msgstr ""
67
 
68
- #: includes/type-dashicons.php:65
69
  msgid "Network"
70
  msgstr ""
71
 
72
- #: includes/type-dashicons.php:66
73
  msgid "Page"
74
  msgstr ""
75
 
76
- #: includes/type-dashicons.php:67
77
  msgid "Plugins"
78
  msgstr ""
79
 
80
- #: includes/type-dashicons.php:68
81
  msgid "Settings"
82
  msgstr ""
83
 
84
- #: includes/type-dashicons.php:69
85
  msgid "Site"
86
  msgstr ""
87
 
88
- #: includes/type-dashicons.php:70
89
  msgid "Tools"
90
  msgstr ""
91
 
92
- #: includes/type-dashicons.php:71
93
  msgid "Users"
94
  msgstr ""
95
 
96
- #: includes/type-dashicons.php:75 includes/type-genericons.php:69
97
  msgid "Post Formats"
98
  msgstr ""
99
 
100
- #: includes/type-dashicons.php:77 includes/type-genericons.php:71
101
  msgid "Standard"
102
  msgstr ""
103
 
104
- #: includes/type-dashicons.php:78 includes/type-genericons.php:72
105
  msgid "Aside"
106
  msgstr ""
107
 
108
- #: includes/type-dashicons.php:79 includes/type-genericons.php:73
109
  msgid "Image"
110
  msgstr ""
111
 
112
- #: includes/type-dashicons.php:80 includes/type-dashicons.php:134
113
- #: includes/type-dashicons.php:253 includes/type-genericons.php:75
114
  msgid "Video"
115
  msgstr ""
116
 
117
- #: includes/type-dashicons.php:81 includes/type-genericons.php:80
118
  msgid "Audio"
119
  msgstr ""
120
 
121
- #: includes/type-dashicons.php:82 includes/type-dashicons.php:120
122
- #: includes/type-genericons.php:77
123
  msgid "Quote"
124
  msgstr ""
125
 
126
- #: includes/type-dashicons.php:83 includes/type-genericons.php:74
127
  msgid "Gallery"
128
  msgstr ""
129
 
130
- #: includes/type-dashicons.php:84
131
  msgid "Links"
132
  msgstr ""
133
 
134
- #: includes/type-dashicons.php:85 includes/type-genericons.php:76
135
  msgid "Status"
136
  msgstr ""
137
 
138
- #: includes/type-dashicons.php:86 includes/type-genericons.php:79
139
  msgid "Chat"
140
  msgstr ""
141
 
142
- #: includes/type-dashicons.php:90
143
  msgid "Welcome Screen"
144
  msgstr ""
145
 
146
- #: includes/type-dashicons.php:92
147
  msgid "Add page"
148
  msgstr ""
149
 
150
- #: includes/type-dashicons.php:94
151
  msgid "Edit page"
152
  msgstr ""
153
 
154
- #: includes/type-dashicons.php:95
155
  msgid "Learn More"
156
  msgstr ""
157
 
158
- #: includes/type-dashicons.php:96
159
  msgid "View Site"
160
  msgstr ""
161
 
162
- #: includes/type-dashicons.php:97
163
  msgid "Widgets"
164
  msgstr ""
165
 
166
- #: includes/type-dashicons.php:98
167
  msgid "Write Blog"
168
  msgstr ""
169
 
170
- #: includes/type-dashicons.php:102 includes/type-dashicons.php:156
171
- #: includes/type-genericons.php:151
172
  msgid "Edit"
173
  msgstr ""
174
 
175
- #: includes/type-dashicons.php:104
176
  msgid "Crop"
177
  msgstr ""
178
 
179
- #: includes/type-dashicons.php:105
180
  msgid "Rotate Left"
181
  msgstr ""
182
 
183
- #: includes/type-dashicons.php:106
184
  msgid "Rotate Right"
185
  msgstr ""
186
 
187
- #: includes/type-dashicons.php:107
188
  msgid "Flip Vertical"
189
  msgstr ""
190
 
191
- #: includes/type-dashicons.php:108
192
  msgid "Flip Horizontal"
193
  msgstr ""
194
 
195
- #: includes/type-dashicons.php:109
196
  msgid "Undo"
197
  msgstr ""
198
 
199
- #: includes/type-dashicons.php:110
200
  msgid "Redo"
201
  msgstr ""
202
 
203
- #: includes/type-dashicons.php:114
204
  msgid "Editor"
205
  msgstr ""
206
 
207
- #: includes/type-dashicons.php:116 includes/type-genericons.php:133
208
  msgid "Bold"
209
  msgstr ""
210
 
211
- #: includes/type-dashicons.php:117 includes/type-genericons.php:163
212
  msgid "Italic"
213
  msgstr ""
214
 
215
- #: includes/type-dashicons.php:118
216
  msgid "Unordered List"
217
  msgstr ""
218
 
219
- #: includes/type-dashicons.php:119
220
  msgid "Ordered List"
221
  msgstr ""
222
 
223
- #: includes/type-dashicons.php:121 includes/type-dashicons.php:147
224
  msgid "Align Left"
225
  msgstr ""
226
 
227
- #: includes/type-dashicons.php:122 includes/type-dashicons.php:149
228
  msgid "Align Center"
229
  msgstr ""
230
 
231
- #: includes/type-dashicons.php:123 includes/type-dashicons.php:148
232
  msgid "Align Right"
233
  msgstr ""
234
 
235
- #: includes/type-dashicons.php:124
236
  msgid "Insert More"
237
  msgstr ""
238
 
239
- #: includes/type-dashicons.php:125
240
  msgid "Spell Check"
241
  msgstr ""
242
 
243
- #: includes/type-dashicons.php:126
244
  msgid "Distraction-free"
245
  msgstr ""
246
 
247
- #: includes/type-dashicons.php:127
248
  msgid "Kitchensink"
249
  msgstr ""
250
 
251
- #: includes/type-dashicons.php:128
252
  msgid "Underline"
253
  msgstr ""
254
 
255
- #: includes/type-dashicons.php:129
256
  msgid "Justify"
257
  msgstr ""
258
 
259
- #: includes/type-dashicons.php:130
260
  msgid "Text Color"
261
  msgstr ""
262
 
263
- #: includes/type-dashicons.php:131
264
  msgid "Paste Word"
265
  msgstr ""
266
 
267
- #: includes/type-dashicons.php:132
268
  msgid "Paste Text"
269
  msgstr ""
270
 
271
- #: includes/type-dashicons.php:133
272
  msgid "Clear Formatting"
273
  msgstr ""
274
 
275
- #: includes/type-dashicons.php:135
276
  msgid "Custom Characters"
277
  msgstr ""
278
 
279
- #: includes/type-dashicons.php:136
280
  msgid "Indent"
281
  msgstr ""
282
 
283
- #: includes/type-dashicons.php:137
284
  msgid "Outdent"
285
  msgstr ""
286
 
287
- #: includes/type-dashicons.php:138 includes/type-genericons.php:159
288
  msgid "Help"
289
  msgstr ""
290
 
291
- #: includes/type-dashicons.php:139
292
  msgid "Strikethrough"
293
  msgstr ""
294
 
295
- #: includes/type-dashicons.php:140
296
  msgid "Unlink"
297
  msgstr ""
298
 
299
- #: includes/type-dashicons.php:141
300
  msgid "RTL"
301
  msgstr ""
302
 
303
- #: includes/type-dashicons.php:145
304
  msgid "Post"
305
  msgstr ""
306
 
307
- #: includes/type-dashicons.php:150
308
  msgid "Align None"
309
  msgstr ""
310
 
311
- #: includes/type-dashicons.php:151 includes/type-genericons.php:167
312
  msgid "Lock"
313
  msgstr ""
314
 
315
- #: includes/type-dashicons.php:152
316
  msgid "Calendar"
317
  msgstr ""
318
 
319
- #: includes/type-dashicons.php:153
320
  msgid "Visibility"
321
  msgstr ""
322
 
323
- #: includes/type-dashicons.php:154
324
  msgid "Post Status"
325
  msgstr ""
326
 
327
- #: includes/type-dashicons.php:155
328
  msgid "Post Trash"
329
  msgstr ""
330
 
331
- #: includes/type-dashicons.php:157 includes/type-genericons.php:203
332
  msgid "Trash"
333
  msgstr ""
334
 
335
- #: includes/type-dashicons.php:161
336
  msgid "Sorting"
337
  msgstr ""
338
 
339
- #: includes/type-dashicons.php:163
340
  msgid "Arrow: Up"
341
  msgstr ""
342
 
343
- #: includes/type-dashicons.php:164
344
  msgid "Arrow: Down"
345
  msgstr ""
346
 
347
- #: includes/type-dashicons.php:165
348
  msgid "Arrow: Left"
349
  msgstr ""
350
 
351
- #: includes/type-dashicons.php:166
352
  msgid "Arrow: Right"
353
  msgstr ""
354
 
355
- #: includes/type-dashicons.php:167
356
  msgid "Arrow: Up #2"
357
  msgstr ""
358
 
359
- #: includes/type-dashicons.php:168
360
  msgid "Arrow: Down #2"
361
  msgstr ""
362
 
363
- #: includes/type-dashicons.php:169
364
  msgid "Arrow: Left #2"
365
  msgstr ""
366
 
367
- #: includes/type-dashicons.php:170
368
  msgid "Arrow: Right #2"
369
  msgstr ""
370
 
371
- #: includes/type-dashicons.php:171
372
  msgid "Arrow: Up #3"
373
  msgstr ""
374
 
375
- #: includes/type-dashicons.php:172
376
  msgid "Arrow: Down #3"
377
  msgstr ""
378
 
379
- #: includes/type-dashicons.php:173
380
  msgid "Arrow: Left #3"
381
  msgstr ""
382
 
383
- #: includes/type-dashicons.php:174
384
  msgid "Arrow: Right #3"
385
  msgstr ""
386
 
387
- #: includes/type-dashicons.php:175
388
  msgid "Left-Right"
389
  msgstr ""
390
 
391
- #: includes/type-dashicons.php:176
392
  msgid "Sort"
393
  msgstr ""
394
 
395
- #: includes/type-dashicons.php:177
396
  msgid "List View"
397
  msgstr ""
398
 
399
- #: includes/type-dashicons.php:178
400
  msgid "Excerpt View"
401
  msgstr ""
402
 
403
- #: includes/type-dashicons.php:182 includes/type-genericons.php:98
404
  msgid "Social"
405
  msgstr ""
406
 
407
- #: includes/type-dashicons.php:184 includes/type-genericons.php:191
408
  msgid "Share"
409
  msgstr ""
410
 
411
- #: includes/type-dashicons.php:185
412
  msgid "Share #2"
413
  msgstr ""
414
 
415
- #: includes/type-dashicons.php:186
416
  msgid "Share #3"
417
  msgstr ""
418
 
419
- #: includes/type-dashicons.php:187
420
  msgid "Share #4"
421
  msgstr ""
422
 
423
- #: includes/type-dashicons.php:189
424
  msgid "RSS"
425
  msgstr ""
426
 
427
- #: includes/type-dashicons.php:190
428
  msgid "Email"
429
  msgstr ""
430
 
431
- #: includes/type-dashicons.php:191
432
  msgid "Email #2"
433
  msgstr ""
434
 
435
- #: includes/type-dashicons.php:193 includes/type-dashicons.php:211
436
  msgid "%s #2"
437
  msgstr ""
438
 
439
- #: includes/type-dashicons.php:194
440
  msgid "Networking"
441
  msgstr ""
442
 
443
- #: includes/type-dashicons.php:199
444
  msgid "Jobs"
445
  msgstr ""
446
 
447
- #: includes/type-dashicons.php:201
448
  msgid "Art"
449
  msgstr ""
450
 
451
- #: includes/type-dashicons.php:202
452
  msgid "Hammer"
453
  msgstr ""
454
 
455
- #: includes/type-dashicons.php:203
456
  msgid "Migrate"
457
  msgstr ""
458
 
459
- #: includes/type-dashicons.php:204
460
  msgid "Performance"
461
  msgstr ""
462
 
463
- #: includes/type-dashicons.php:208
464
  msgid "Internal/Products"
465
  msgstr ""
466
 
467
- #: includes/type-dashicons.php:213
468
  msgid "Update"
469
  msgstr ""
470
 
471
- #: includes/type-dashicons.php:214
472
  msgid "Screen Options"
473
  msgstr ""
474
 
475
- #: includes/type-dashicons.php:215 includes/type-genericons.php:162
476
  msgid "Info"
477
  msgstr ""
478
 
479
- #: includes/type-dashicons.php:216 includes/type-genericons.php:135
480
  msgid "Cart"
481
  msgstr ""
482
 
483
- #: includes/type-dashicons.php:217
484
  msgid "Feedback"
485
  msgstr ""
486
 
487
- #: includes/type-dashicons.php:218 includes/type-genericons.php:139
488
  msgid "Cloud"
489
  msgstr ""
490
 
491
- #: includes/type-dashicons.php:219
492
  msgid "Translation"
493
  msgstr ""
494
 
495
- #: includes/type-dashicons.php:223
496
  msgid "Taxonomies"
497
  msgstr ""
498
 
499
- #: includes/type-dashicons.php:225 includes/type-genericons.php:88
500
  msgid "Tag"
501
  msgstr ""
502
 
503
- #: includes/type-dashicons.php:226 includes/type-genericons.php:87
504
  msgid "Category"
505
  msgstr ""
506
 
507
- #: includes/type-dashicons.php:230
508
  msgid "Alerts/Notifications"
509
  msgstr ""
510
 
511
- #: includes/type-dashicons.php:232
512
  msgid "Yes"
513
  msgstr ""
514
 
515
- #: includes/type-dashicons.php:233
516
  msgid "No"
517
  msgstr ""
518
 
519
- #: includes/type-dashicons.php:234
520
  msgid "No #2"
521
  msgstr ""
522
 
523
- #: includes/type-dashicons.php:235
524
  msgid "Plus"
525
  msgstr ""
526
 
527
- #: includes/type-dashicons.php:236
528
  msgid "Minus"
529
  msgstr ""
530
 
531
- #: includes/type-dashicons.php:237
532
  msgid "Dismiss"
533
  msgstr ""
534
 
535
- #: includes/type-dashicons.php:238
536
  msgid "Marker"
537
  msgstr ""
538
 
539
- #: includes/type-dashicons.php:239
540
  msgid "Star: Filled"
541
  msgstr ""
542
 
543
- #: includes/type-dashicons.php:240
544
  msgid "Star: Half"
545
  msgstr ""
546
 
547
- #: includes/type-dashicons.php:241
548
  msgid "Star: Empty"
549
  msgstr ""
550
 
551
- #: includes/type-dashicons.php:242 includes/type-genericons.php:156
552
  msgid "Flag"
553
  msgstr ""
554
 
555
- #: includes/type-dashicons.php:246
556
  msgid "Misc./Post Types"
557
  msgstr ""
558
 
559
- #: includes/type-dashicons.php:248 includes/type-genericons.php:166
560
  msgid "Location"
561
  msgstr ""
562
 
563
- #: includes/type-dashicons.php:249
564
  msgid "Location #2"
565
  msgstr ""
566
 
567
- #: includes/type-dashicons.php:250
568
  msgid "Camera"
569
  msgstr ""
570
 
571
- #: includes/type-dashicons.php:251
572
  msgid "Images"
573
  msgstr ""
574
 
575
- #: includes/type-dashicons.php:252
576
  msgid "Images #2"
577
  msgstr ""
578
 
579
- #: includes/type-dashicons.php:254
580
  msgid "Video #2"
581
  msgstr ""
582
 
583
- #: includes/type-dashicons.php:255
584
  msgid "Video #3"
585
  msgstr ""
586
 
587
- #: includes/type-dashicons.php:256
588
  msgid "Vault"
589
  msgstr ""
590
 
591
- #: includes/type-dashicons.php:257
592
  msgid "Shield"
593
  msgstr ""
594
 
595
- #: includes/type-dashicons.php:258
596
  msgid "Shield #2"
597
  msgstr ""
598
 
599
- #: includes/type-dashicons.php:259
600
  msgid "S.O.S."
601
  msgstr ""
602
 
603
- #: includes/type-dashicons.php:260 includes/type-genericons.php:188
604
  msgid "Search"
605
  msgstr ""
606
 
607
- #: includes/type-dashicons.php:261
608
  msgid "Slides"
609
  msgstr ""
610
 
611
- #: includes/type-dashicons.php:262
612
  msgid "Analytics"
613
  msgstr ""
614
 
615
- #: includes/type-dashicons.php:263
616
  msgid "Chart: Pie"
617
  msgstr ""
618
 
619
- #: includes/type-dashicons.php:264
620
  msgid "Chart: Bar"
621
  msgstr ""
622
 
623
- #: includes/type-dashicons.php:265
624
  msgid "Chart: Line"
625
  msgstr ""
626
 
627
- #: includes/type-dashicons.php:266
628
  msgid "Chart: Area"
629
  msgstr ""
630
 
631
- #: includes/type-dashicons.php:267
632
  msgid "Groups"
633
  msgstr ""
634
 
635
- #: includes/type-dashicons.php:268
636
  msgid "Businessman"
637
  msgstr ""
638
 
639
- #: includes/type-dashicons.php:269
640
  msgid "ID"
641
  msgstr ""
642
 
643
- #: includes/type-dashicons.php:270
644
  msgid "ID #2"
645
  msgstr ""
646
 
647
- #: includes/type-dashicons.php:271
648
  msgid "Products"
649
  msgstr ""
650
 
651
- #: includes/type-dashicons.php:272
652
  msgid "Awards"
653
  msgstr ""
654
 
655
- #: includes/type-dashicons.php:273
656
  msgid "Forms"
657
  msgstr ""
658
 
659
- #: includes/type-dashicons.php:274
660
  msgid "Testimonial"
661
  msgstr ""
662
 
663
- #: includes/type-dashicons.php:275 includes/type-genericons.php:179
664
  msgid "Portfolio"
665
  msgstr ""
666
 
667
- #: includes/type-dashicons.php:276 includes/type-genericons.php:134
668
  msgid "Book"
669
  msgstr ""
670
 
671
- #: includes/type-dashicons.php:277
672
  msgid "Book #2"
673
  msgstr ""
674
 
675
- #: includes/type-dashicons.php:278
676
  msgid "Download"
677
  msgstr ""
678
 
679
- #: includes/type-dashicons.php:279
680
  msgid "Upload"
681
  msgstr ""
682
 
683
- #: includes/type-dashicons.php:280
684
  msgid "Backup"
685
  msgstr ""
686
 
687
- #: includes/type-dashicons.php:281
688
  msgid "Clock"
689
  msgstr ""
690
 
691
- #: includes/type-dashicons.php:282
692
  msgid "Lightbulb"
693
  msgstr ""
694
 
695
- #: includes/type-dashicons.php:283
696
  msgid "Desktop"
697
  msgstr ""
698
 
699
- #: includes/type-dashicons.php:284 includes/type-genericons.php:201
700
  msgid "Tablet"
701
  msgstr ""
702
 
703
- #: includes/type-dashicons.php:285
704
  msgid "Smartphone"
705
  msgstr ""
706
 
707
- #: includes/type-dashicons.php:286
708
  msgid "Smiley"
709
  msgstr ""
710
 
711
- #: includes/type-genericons.php:78
712
  msgid "Link"
713
  msgstr ""
714
 
715
- #: includes/type-genericons.php:84
716
  msgid "Meta"
717
  msgstr ""
718
 
719
- #: includes/type-genericons.php:86
720
  msgid "Comment"
721
  msgstr ""
722
 
723
- #: includes/type-genericons.php:89
724
  msgid "Time"
725
  msgstr ""
726
 
727
- #: includes/type-genericons.php:90
728
  msgid "User"
729
  msgstr ""
730
 
731
- #: includes/type-genericons.php:91
732
  msgid "Day"
733
  msgstr ""
734
 
735
- #: includes/type-genericons.php:92
736
  msgid "Week"
737
  msgstr ""
738
 
739
- #: includes/type-genericons.php:93
740
  msgid "Month"
741
  msgstr ""
742
 
743
- #: includes/type-genericons.php:94
744
  msgid "Pinned"
745
  msgstr ""
746
 
747
- #: includes/type-genericons.php:105 includes/type-genericons.php:109
748
- #: includes/type-genericons.php:112 includes/type-genericons.php:115
749
  msgid "%s (alt.)"
750
  msgstr ""
751
 
752
- #: includes/type-genericons.php:129
753
  msgid "Misc."
754
  msgstr ""
755
 
756
- #: includes/type-genericons.php:131
757
  msgid "404"
758
  msgstr ""
759
 
760
- #: includes/type-genericons.php:132
761
  msgid "Attachment"
762
  msgstr ""
763
 
764
- #: includes/type-genericons.php:136
765
  msgid "Checkmark"
766
  msgstr ""
767
 
768
- #: includes/type-genericons.php:137
769
  msgid "Close"
770
  msgstr ""
771
 
772
- #: includes/type-genericons.php:138
773
  msgid "Close alt"
774
  msgstr ""
775
 
776
- #: includes/type-genericons.php:140
777
  msgid "Cloud download"
778
  msgstr ""
779
 
780
- #: includes/type-genericons.php:141
781
  msgid "Cloud upload"
782
  msgstr ""
783
 
784
- #: includes/type-genericons.php:142
785
  msgid "Code"
786
  msgstr ""
787
 
788
- #: includes/type-genericons.php:143
789
  msgid "Cog"
790
  msgstr ""
791
 
792
- #: includes/type-genericons.php:145
793
  msgid "Document"
794
  msgstr ""
795
 
796
- #: includes/type-genericons.php:146
797
  msgid "Dot"
798
  msgstr ""
799
 
800
- #: includes/type-genericons.php:147
801
  msgid "Downarrow"
802
  msgstr ""
803
 
804
- #: includes/type-genericons.php:148
805
  msgid "Draggable"
806
  msgstr ""
807
 
808
- #: includes/type-genericons.php:149
809
  msgid "Dropdown"
810
  msgstr ""
811
 
812
- #: includes/type-genericons.php:150
813
  msgid "Dropdown left"
814
  msgstr ""
815
 
816
- #: includes/type-genericons.php:152
817
  msgid "Expand"
818
  msgstr ""
819
 
820
- #: includes/type-genericons.php:153
821
  msgid "External"
822
  msgstr ""
823
 
824
- #: includes/type-genericons.php:154
825
  msgid "Fastforward"
826
  msgstr ""
827
 
828
- #: includes/type-genericons.php:155
829
  msgid "Feed"
830
  msgstr ""
831
 
832
- #: includes/type-genericons.php:157
833
  msgid "Fullscreen"
834
  msgstr ""
835
 
836
- #: includes/type-genericons.php:158
837
  msgid "Heart"
838
  msgstr ""
839
 
840
- #: includes/type-genericons.php:160
841
  msgid "Hide"
842
  msgstr ""
843
 
844
- #: includes/type-genericons.php:164
845
  msgid "Key"
846
  msgstr ""
847
 
848
- #: includes/type-genericons.php:165
849
  msgid "Leftarrow"
850
  msgstr ""
851
 
852
- #: includes/type-genericons.php:168
853
  msgid "Mail"
854
  msgstr ""
855
 
856
- #: includes/type-genericons.php:169
857
  msgid "Maximize"
858
  msgstr ""
859
 
860
- #: includes/type-genericons.php:171
861
  msgid "Minimize"
862
  msgstr ""
863
 
864
- #: includes/type-genericons.php:172
865
  msgid "Next"
866
  msgstr ""
867
 
868
- #: includes/type-genericons.php:173
869
  msgid "Notice"
870
  msgstr ""
871
 
872
- #: includes/type-genericons.php:174
873
  msgid "Pause"
874
  msgstr ""
875
 
876
- #: includes/type-genericons.php:175
877
  msgid "Phone"
878
  msgstr ""
879
 
880
- #: includes/type-genericons.php:176
881
  msgid "Picture"
882
  msgstr ""
883
 
884
- #: includes/type-genericons.php:177
885
  msgid "Play"
886
  msgstr ""
887
 
888
- #: includes/type-genericons.php:178
889
  msgid "Plugin"
890
  msgstr ""
891
 
892
- #: includes/type-genericons.php:180
893
  msgid "Previous"
894
  msgstr ""
895
 
896
- #: includes/type-genericons.php:181
897
  msgid "Print"
898
  msgstr ""
899
 
900
- #: includes/type-genericons.php:182
901
  msgid "Refresh"
902
  msgstr ""
903
 
904
- #: includes/type-genericons.php:183
905
  msgid "Reply"
906
  msgstr ""
907
 
908
- #: includes/type-genericons.php:184
909
  msgid "Reply alt"
910
  msgstr ""
911
 
912
- #: includes/type-genericons.php:185
913
  msgid "Reply single"
914
  msgstr ""
915
 
916
- #: includes/type-genericons.php:186
917
  msgid "Rewind"
918
  msgstr ""
919
 
920
- #: includes/type-genericons.php:187
921
  msgid "Rightarrow"
922
  msgstr ""
923
 
924
- #: includes/type-genericons.php:189 includes/type-genericons.php:190
925
  msgid "Send to"
926
  msgstr ""
927
 
928
- #: includes/type-genericons.php:192
929
  msgid "Show"
930
  msgstr ""
931
 
932
- #: includes/type-genericons.php:193
933
  msgid "Skip ahead"
934
  msgstr ""
935
 
936
- #: includes/type-genericons.php:194
937
  msgid "Skip back"
938
  msgstr ""
939
 
940
- #: includes/type-genericons.php:195
941
  msgid "Spam"
942
  msgstr ""
943
 
944
- #: includes/type-genericons.php:196
945
  msgid "Star"
946
  msgstr ""
947
 
948
- #: includes/type-genericons.php:197
949
  msgid "Stop"
950
  msgstr ""
951
 
952
- #: includes/type-genericons.php:198
953
  msgid "Subscribe"
954
  msgstr ""
955
 
956
- #: includes/type-genericons.php:199
957
  msgid "Subscribed"
958
  msgstr ""
959
 
960
- #: includes/type-genericons.php:200
961
  msgid "Summary"
962
  msgstr ""
963
 
964
- #: includes/type-genericons.php:202
965
  msgid "Top"
966
  msgstr ""
967
 
968
- #: includes/type-genericons.php:204
969
  msgid "Unapprove"
970
  msgstr ""
971
 
972
- #: includes/type-genericons.php:205
973
  msgid "Unsubscribe"
974
  msgstr ""
975
 
976
- #: includes/type-genericons.php:206
977
  msgid "Unzoom"
978
  msgstr ""
979
 
980
- #: includes/type-genericons.php:207
981
  msgid "Uparrow"
982
  msgstr ""
983
 
984
- #: includes/type-genericons.php:208
985
  msgid "Warning"
986
  msgstr ""
987
 
988
- #: includes/type-genericons.php:209
989
  msgid "Zoom"
990
  msgstr ""
991
 
@@ -993,9 +988,9 @@ msgstr ""
993
  msgid "Menu Icons"
994
  msgstr ""
995
 
996
- #. #-#-#-#-# menu-icons.pot (Menu Icons 0.1.0) #-#-#-#-#
997
  #. Plugin URI of the plugin/theme
998
- #. #-#-#-#-# menu-icons.pot (Menu Icons 0.1.0) #-#-#-#-#
999
  #. Author URI of the plugin/theme
1000
  msgid "http://kucrut.org/"
1001
  msgstr ""
2
  # This file is distributed under the same license as the Menu Icons package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Menu Icons 0.1.5\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/menu-icons\n"
7
+ "POT-Creation-Date: 2014-02-25 17:31:34+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
+ #: includes/admin.php:42 includes/type-fonts.php:49
16
  msgid "&mdash; Select &mdash;"
17
  msgstr ""
18
 
19
+ #: includes/admin.php:121
20
  msgid "Icon type"
21
  msgstr ""
22
 
23
+ #: includes/admin.php:171
24
  msgid "Icon"
25
  msgstr ""
26
 
27
+ #: includes/type-dashicons.php:57
 
 
 
 
 
28
  msgid "Admin"
29
  msgstr ""
30
 
31
+ #: includes/type-dashicons.php:59
32
  msgid "Appearance"
33
  msgstr ""
34
 
35
+ #: includes/type-dashicons.php:60 includes/type-genericons.php:147
36
  msgid "Collapse"
37
  msgstr ""
38
 
39
+ #: includes/type-dashicons.php:61 includes/type-dashicons.php:95
40
  msgid "Comments"
41
  msgstr ""
42
 
43
+ #: includes/type-dashicons.php:62
44
  msgid "Dashboard"
45
  msgstr ""
46
 
47
+ #: includes/type-dashicons.php:63
48
  msgid "Generic"
49
  msgstr ""
50
 
51
+ #: includes/type-dashicons.php:64 includes/type-genericons.php:164
52
  msgid "Home"
53
  msgstr ""
54
 
55
+ #: includes/type-dashicons.php:65
56
  msgid "Media"
57
  msgstr ""
58
 
59
+ #: includes/type-dashicons.php:66 includes/type-genericons.php:173
60
  msgid "Menu"
61
  msgstr ""
62
 
63
+ #: includes/type-dashicons.php:67
64
  msgid "Network"
65
  msgstr ""
66
 
67
+ #: includes/type-dashicons.php:68
68
  msgid "Page"
69
  msgstr ""
70
 
71
+ #: includes/type-dashicons.php:69
72
  msgid "Plugins"
73
  msgstr ""
74
 
75
+ #: includes/type-dashicons.php:70
76
  msgid "Settings"
77
  msgstr ""
78
 
79
+ #: includes/type-dashicons.php:71
80
  msgid "Site"
81
  msgstr ""
82
 
83
+ #: includes/type-dashicons.php:72
84
  msgid "Tools"
85
  msgstr ""
86
 
87
+ #: includes/type-dashicons.php:73
88
  msgid "Users"
89
  msgstr ""
90
 
91
+ #: includes/type-dashicons.php:77 includes/type-genericons.php:72
92
  msgid "Post Formats"
93
  msgstr ""
94
 
95
+ #: includes/type-dashicons.php:79 includes/type-genericons.php:74
96
  msgid "Standard"
97
  msgstr ""
98
 
99
+ #: includes/type-dashicons.php:80 includes/type-genericons.php:75
100
  msgid "Aside"
101
  msgstr ""
102
 
103
+ #: includes/type-dashicons.php:81 includes/type-genericons.php:76
104
  msgid "Image"
105
  msgstr ""
106
 
107
+ #: includes/type-dashicons.php:82 includes/type-dashicons.php:136
108
+ #: includes/type-dashicons.php:255 includes/type-genericons.php:78
109
  msgid "Video"
110
  msgstr ""
111
 
112
+ #: includes/type-dashicons.php:83 includes/type-genericons.php:83
113
  msgid "Audio"
114
  msgstr ""
115
 
116
+ #: includes/type-dashicons.php:84 includes/type-dashicons.php:122
117
+ #: includes/type-genericons.php:80
118
  msgid "Quote"
119
  msgstr ""
120
 
121
+ #: includes/type-dashicons.php:85 includes/type-genericons.php:77
122
  msgid "Gallery"
123
  msgstr ""
124
 
125
+ #: includes/type-dashicons.php:86
126
  msgid "Links"
127
  msgstr ""
128
 
129
+ #: includes/type-dashicons.php:87 includes/type-genericons.php:79
130
  msgid "Status"
131
  msgstr ""
132
 
133
+ #: includes/type-dashicons.php:88 includes/type-genericons.php:82
134
  msgid "Chat"
135
  msgstr ""
136
 
137
+ #: includes/type-dashicons.php:92
138
  msgid "Welcome Screen"
139
  msgstr ""
140
 
141
+ #: includes/type-dashicons.php:94
142
  msgid "Add page"
143
  msgstr ""
144
 
145
+ #: includes/type-dashicons.php:96
146
  msgid "Edit page"
147
  msgstr ""
148
 
149
+ #: includes/type-dashicons.php:97
150
  msgid "Learn More"
151
  msgstr ""
152
 
153
+ #: includes/type-dashicons.php:98
154
  msgid "View Site"
155
  msgstr ""
156
 
157
+ #: includes/type-dashicons.php:99
158
  msgid "Widgets"
159
  msgstr ""
160
 
161
+ #: includes/type-dashicons.php:100
162
  msgid "Write Blog"
163
  msgstr ""
164
 
165
+ #: includes/type-dashicons.php:104 includes/type-dashicons.php:158
166
+ #: includes/type-genericons.php:154
167
  msgid "Edit"
168
  msgstr ""
169
 
170
+ #: includes/type-dashicons.php:106
171
  msgid "Crop"
172
  msgstr ""
173
 
174
+ #: includes/type-dashicons.php:107
175
  msgid "Rotate Left"
176
  msgstr ""
177
 
178
+ #: includes/type-dashicons.php:108
179
  msgid "Rotate Right"
180
  msgstr ""
181
 
182
+ #: includes/type-dashicons.php:109
183
  msgid "Flip Vertical"
184
  msgstr ""
185
 
186
+ #: includes/type-dashicons.php:110
187
  msgid "Flip Horizontal"
188
  msgstr ""
189
 
190
+ #: includes/type-dashicons.php:111
191
  msgid "Undo"
192
  msgstr ""
193
 
194
+ #: includes/type-dashicons.php:112
195
  msgid "Redo"
196
  msgstr ""
197
 
198
+ #: includes/type-dashicons.php:116
199
  msgid "Editor"
200
  msgstr ""
201
 
202
+ #: includes/type-dashicons.php:118 includes/type-genericons.php:136
203
  msgid "Bold"
204
  msgstr ""
205
 
206
+ #: includes/type-dashicons.php:119 includes/type-genericons.php:166
207
  msgid "Italic"
208
  msgstr ""
209
 
210
+ #: includes/type-dashicons.php:120
211
  msgid "Unordered List"
212
  msgstr ""
213
 
214
+ #: includes/type-dashicons.php:121
215
  msgid "Ordered List"
216
  msgstr ""
217
 
218
+ #: includes/type-dashicons.php:123 includes/type-dashicons.php:149
219
  msgid "Align Left"
220
  msgstr ""
221
 
222
+ #: includes/type-dashicons.php:124 includes/type-dashicons.php:151
223
  msgid "Align Center"
224
  msgstr ""
225
 
226
+ #: includes/type-dashicons.php:125 includes/type-dashicons.php:150
227
  msgid "Align Right"
228
  msgstr ""
229
 
230
+ #: includes/type-dashicons.php:126
231
  msgid "Insert More"
232
  msgstr ""
233
 
234
+ #: includes/type-dashicons.php:127
235
  msgid "Spell Check"
236
  msgstr ""
237
 
238
+ #: includes/type-dashicons.php:128
239
  msgid "Distraction-free"
240
  msgstr ""
241
 
242
+ #: includes/type-dashicons.php:129
243
  msgid "Kitchensink"
244
  msgstr ""
245
 
246
+ #: includes/type-dashicons.php:130
247
  msgid "Underline"
248
  msgstr ""
249
 
250
+ #: includes/type-dashicons.php:131
251
  msgid "Justify"
252
  msgstr ""
253
 
254
+ #: includes/type-dashicons.php:132
255
  msgid "Text Color"
256
  msgstr ""
257
 
258
+ #: includes/type-dashicons.php:133
259
  msgid "Paste Word"
260
  msgstr ""
261
 
262
+ #: includes/type-dashicons.php:134
263
  msgid "Paste Text"
264
  msgstr ""
265
 
266
+ #: includes/type-dashicons.php:135
267
  msgid "Clear Formatting"
268
  msgstr ""
269
 
270
+ #: includes/type-dashicons.php:137
271
  msgid "Custom Characters"
272
  msgstr ""
273
 
274
+ #: includes/type-dashicons.php:138
275
  msgid "Indent"
276
  msgstr ""
277
 
278
+ #: includes/type-dashicons.php:139
279
  msgid "Outdent"
280
  msgstr ""
281
 
282
+ #: includes/type-dashicons.php:140 includes/type-genericons.php:162
283
  msgid "Help"
284
  msgstr ""
285
 
286
+ #: includes/type-dashicons.php:141
287
  msgid "Strikethrough"
288
  msgstr ""
289
 
290
+ #: includes/type-dashicons.php:142
291
  msgid "Unlink"
292
  msgstr ""
293
 
294
+ #: includes/type-dashicons.php:143
295
  msgid "RTL"
296
  msgstr ""
297
 
298
+ #: includes/type-dashicons.php:147
299
  msgid "Post"
300
  msgstr ""
301
 
302
+ #: includes/type-dashicons.php:152
303
  msgid "Align None"
304
  msgstr ""
305
 
306
+ #: includes/type-dashicons.php:153 includes/type-genericons.php:170
307
  msgid "Lock"
308
  msgstr ""
309
 
310
+ #: includes/type-dashicons.php:154
311
  msgid "Calendar"
312
  msgstr ""
313
 
314
+ #: includes/type-dashicons.php:155
315
  msgid "Visibility"
316
  msgstr ""
317
 
318
+ #: includes/type-dashicons.php:156
319
  msgid "Post Status"
320
  msgstr ""
321
 
322
+ #: includes/type-dashicons.php:157
323
  msgid "Post Trash"
324
  msgstr ""
325
 
326
+ #: includes/type-dashicons.php:159 includes/type-genericons.php:206
327
  msgid "Trash"
328
  msgstr ""
329
 
330
+ #: includes/type-dashicons.php:163
331
  msgid "Sorting"
332
  msgstr ""
333
 
334
+ #: includes/type-dashicons.php:165
335
  msgid "Arrow: Up"
336
  msgstr ""
337
 
338
+ #: includes/type-dashicons.php:166
339
  msgid "Arrow: Down"
340
  msgstr ""
341
 
342
+ #: includes/type-dashicons.php:167
343
  msgid "Arrow: Left"
344
  msgstr ""
345
 
346
+ #: includes/type-dashicons.php:168
347
  msgid "Arrow: Right"
348
  msgstr ""
349
 
350
+ #: includes/type-dashicons.php:169
351
  msgid "Arrow: Up #2"
352
  msgstr ""
353
 
354
+ #: includes/type-dashicons.php:170
355
  msgid "Arrow: Down #2"
356
  msgstr ""
357
 
358
+ #: includes/type-dashicons.php:171
359
  msgid "Arrow: Left #2"
360
  msgstr ""
361
 
362
+ #: includes/type-dashicons.php:172
363
  msgid "Arrow: Right #2"
364
  msgstr ""
365
 
366
+ #: includes/type-dashicons.php:173
367
  msgid "Arrow: Up #3"
368
  msgstr ""
369
 
370
+ #: includes/type-dashicons.php:174
371
  msgid "Arrow: Down #3"
372
  msgstr ""
373
 
374
+ #: includes/type-dashicons.php:175
375
  msgid "Arrow: Left #3"
376
  msgstr ""
377
 
378
+ #: includes/type-dashicons.php:176
379
  msgid "Arrow: Right #3"
380
  msgstr ""
381
 
382
+ #: includes/type-dashicons.php:177
383
  msgid "Left-Right"
384
  msgstr ""
385
 
386
+ #: includes/type-dashicons.php:178
387
  msgid "Sort"
388
  msgstr ""
389
 
390
+ #: includes/type-dashicons.php:179
391
  msgid "List View"
392
  msgstr ""
393
 
394
+ #: includes/type-dashicons.php:180
395
  msgid "Excerpt View"
396
  msgstr ""
397
 
398
+ #: includes/type-dashicons.php:184 includes/type-genericons.php:101
399
  msgid "Social"
400
  msgstr ""
401
 
402
+ #: includes/type-dashicons.php:186 includes/type-genericons.php:194
403
  msgid "Share"
404
  msgstr ""
405
 
406
+ #: includes/type-dashicons.php:187
407
  msgid "Share #2"
408
  msgstr ""
409
 
410
+ #: includes/type-dashicons.php:188
411
  msgid "Share #3"
412
  msgstr ""
413
 
414
+ #: includes/type-dashicons.php:189
415
  msgid "Share #4"
416
  msgstr ""
417
 
418
+ #: includes/type-dashicons.php:191
419
  msgid "RSS"
420
  msgstr ""
421
 
422
+ #: includes/type-dashicons.php:192
423
  msgid "Email"
424
  msgstr ""
425
 
426
+ #: includes/type-dashicons.php:193
427
  msgid "Email #2"
428
  msgstr ""
429
 
430
+ #: includes/type-dashicons.php:195 includes/type-dashicons.php:213
431
  msgid "%s #2"
432
  msgstr ""
433
 
434
+ #: includes/type-dashicons.php:196
435
  msgid "Networking"
436
  msgstr ""
437
 
438
+ #: includes/type-dashicons.php:201
439
  msgid "Jobs"
440
  msgstr ""
441
 
442
+ #: includes/type-dashicons.php:203
443
  msgid "Art"
444
  msgstr ""
445
 
446
+ #: includes/type-dashicons.php:204
447
  msgid "Hammer"
448
  msgstr ""
449
 
450
+ #: includes/type-dashicons.php:205
451
  msgid "Migrate"
452
  msgstr ""
453
 
454
+ #: includes/type-dashicons.php:206
455
  msgid "Performance"
456
  msgstr ""
457
 
458
+ #: includes/type-dashicons.php:210
459
  msgid "Internal/Products"
460
  msgstr ""
461
 
462
+ #: includes/type-dashicons.php:215
463
  msgid "Update"
464
  msgstr ""
465
 
466
+ #: includes/type-dashicons.php:216
467
  msgid "Screen Options"
468
  msgstr ""
469
 
470
+ #: includes/type-dashicons.php:217 includes/type-genericons.php:165
471
  msgid "Info"
472
  msgstr ""
473
 
474
+ #: includes/type-dashicons.php:218 includes/type-genericons.php:138
475
  msgid "Cart"
476
  msgstr ""
477
 
478
+ #: includes/type-dashicons.php:219
479
  msgid "Feedback"
480
  msgstr ""
481
 
482
+ #: includes/type-dashicons.php:220 includes/type-genericons.php:142
483
  msgid "Cloud"
484
  msgstr ""
485
 
486
+ #: includes/type-dashicons.php:221
487
  msgid "Translation"
488
  msgstr ""
489
 
490
+ #: includes/type-dashicons.php:225
491
  msgid "Taxonomies"
492
  msgstr ""
493
 
494
+ #: includes/type-dashicons.php:227 includes/type-genericons.php:91
495
  msgid "Tag"
496
  msgstr ""
497
 
498
+ #: includes/type-dashicons.php:228 includes/type-genericons.php:90
499
  msgid "Category"
500
  msgstr ""
501
 
502
+ #: includes/type-dashicons.php:232
503
  msgid "Alerts/Notifications"
504
  msgstr ""
505
 
506
+ #: includes/type-dashicons.php:234
507
  msgid "Yes"
508
  msgstr ""
509
 
510
+ #: includes/type-dashicons.php:235
511
  msgid "No"
512
  msgstr ""
513
 
514
+ #: includes/type-dashicons.php:236
515
  msgid "No #2"
516
  msgstr ""
517
 
518
+ #: includes/type-dashicons.php:237
519
  msgid "Plus"
520
  msgstr ""
521
 
522
+ #: includes/type-dashicons.php:238
523
  msgid "Minus"
524
  msgstr ""
525
 
526
+ #: includes/type-dashicons.php:239
527
  msgid "Dismiss"
528
  msgstr ""
529
 
530
+ #: includes/type-dashicons.php:240
531
  msgid "Marker"
532
  msgstr ""
533
 
534
+ #: includes/type-dashicons.php:241
535
  msgid "Star: Filled"
536
  msgstr ""
537
 
538
+ #: includes/type-dashicons.php:242
539
  msgid "Star: Half"
540
  msgstr ""
541
 
542
+ #: includes/type-dashicons.php:243
543
  msgid "Star: Empty"
544
  msgstr ""
545
 
546
+ #: includes/type-dashicons.php:244 includes/type-genericons.php:159
547
  msgid "Flag"
548
  msgstr ""
549
 
550
+ #: includes/type-dashicons.php:248
551
  msgid "Misc./Post Types"
552
  msgstr ""
553
 
554
+ #: includes/type-dashicons.php:250 includes/type-genericons.php:169
555
  msgid "Location"
556
  msgstr ""
557
 
558
+ #: includes/type-dashicons.php:251
559
  msgid "Location #2"
560
  msgstr ""
561
 
562
+ #: includes/type-dashicons.php:252
563
  msgid "Camera"
564
  msgstr ""
565
 
566
+ #: includes/type-dashicons.php:253
567
  msgid "Images"
568
  msgstr ""
569
 
570
+ #: includes/type-dashicons.php:254
571
  msgid "Images #2"
572
  msgstr ""
573
 
574
+ #: includes/type-dashicons.php:256
575
  msgid "Video #2"
576
  msgstr ""
577
 
578
+ #: includes/type-dashicons.php:257
579
  msgid "Video #3"
580
  msgstr ""
581
 
582
+ #: includes/type-dashicons.php:258
583
  msgid "Vault"
584
  msgstr ""
585
 
586
+ #: includes/type-dashicons.php:259
587
  msgid "Shield"
588
  msgstr ""
589
 
590
+ #: includes/type-dashicons.php:260
591
  msgid "Shield #2"
592
  msgstr ""
593
 
594
+ #: includes/type-dashicons.php:261
595
  msgid "S.O.S."
596
  msgstr ""
597
 
598
+ #: includes/type-dashicons.php:262 includes/type-genericons.php:191
599
  msgid "Search"
600
  msgstr ""
601
 
602
+ #: includes/type-dashicons.php:263
603
  msgid "Slides"
604
  msgstr ""
605
 
606
+ #: includes/type-dashicons.php:264
607
  msgid "Analytics"
608
  msgstr ""
609
 
610
+ #: includes/type-dashicons.php:265
611
  msgid "Chart: Pie"
612
  msgstr ""
613
 
614
+ #: includes/type-dashicons.php:266
615
  msgid "Chart: Bar"
616
  msgstr ""
617
 
618
+ #: includes/type-dashicons.php:267
619
  msgid "Chart: Line"
620
  msgstr ""
621
 
622
+ #: includes/type-dashicons.php:268
623
  msgid "Chart: Area"
624
  msgstr ""
625
 
626
+ #: includes/type-dashicons.php:269
627
  msgid "Groups"
628
  msgstr ""
629
 
630
+ #: includes/type-dashicons.php:270
631
  msgid "Businessman"
632
  msgstr ""
633
 
634
+ #: includes/type-dashicons.php:271
635
  msgid "ID"
636
  msgstr ""
637
 
638
+ #: includes/type-dashicons.php:272
639
  msgid "ID #2"
640
  msgstr ""
641
 
642
+ #: includes/type-dashicons.php:273
643
  msgid "Products"
644
  msgstr ""
645
 
646
+ #: includes/type-dashicons.php:274
647
  msgid "Awards"
648
  msgstr ""
649
 
650
+ #: includes/type-dashicons.php:275
651
  msgid "Forms"
652
  msgstr ""
653
 
654
+ #: includes/type-dashicons.php:276
655
  msgid "Testimonial"
656
  msgstr ""
657
 
658
+ #: includes/type-dashicons.php:277 includes/type-genericons.php:182
659
  msgid "Portfolio"
660
  msgstr ""
661
 
662
+ #: includes/type-dashicons.php:278 includes/type-genericons.php:137
663
  msgid "Book"
664
  msgstr ""
665
 
666
+ #: includes/type-dashicons.php:279
667
  msgid "Book #2"
668
  msgstr ""
669
 
670
+ #: includes/type-dashicons.php:280
671
  msgid "Download"
672
  msgstr ""
673
 
674
+ #: includes/type-dashicons.php:281
675
  msgid "Upload"
676
  msgstr ""
677
 
678
+ #: includes/type-dashicons.php:282
679
  msgid "Backup"
680
  msgstr ""
681
 
682
+ #: includes/type-dashicons.php:283
683
  msgid "Clock"
684
  msgstr ""
685
 
686
+ #: includes/type-dashicons.php:284
687
  msgid "Lightbulb"
688
  msgstr ""
689
 
690
+ #: includes/type-dashicons.php:285
691
  msgid "Desktop"
692
  msgstr ""
693
 
694
+ #: includes/type-dashicons.php:286 includes/type-genericons.php:204
695
  msgid "Tablet"
696
  msgstr ""
697
 
698
+ #: includes/type-dashicons.php:287
699
  msgid "Smartphone"
700
  msgstr ""
701
 
702
+ #: includes/type-dashicons.php:288
703
  msgid "Smiley"
704
  msgstr ""
705
 
706
+ #: includes/type-genericons.php:81
707
  msgid "Link"
708
  msgstr ""
709
 
710
+ #: includes/type-genericons.php:87
711
  msgid "Meta"
712
  msgstr ""
713
 
714
+ #: includes/type-genericons.php:89
715
  msgid "Comment"
716
  msgstr ""
717
 
718
+ #: includes/type-genericons.php:92
719
  msgid "Time"
720
  msgstr ""
721
 
722
+ #: includes/type-genericons.php:93
723
  msgid "User"
724
  msgstr ""
725
 
726
+ #: includes/type-genericons.php:94
727
  msgid "Day"
728
  msgstr ""
729
 
730
+ #: includes/type-genericons.php:95
731
  msgid "Week"
732
  msgstr ""
733
 
734
+ #: includes/type-genericons.php:96
735
  msgid "Month"
736
  msgstr ""
737
 
738
+ #: includes/type-genericons.php:97
739
  msgid "Pinned"
740
  msgstr ""
741
 
742
+ #: includes/type-genericons.php:108 includes/type-genericons.php:112
743
+ #: includes/type-genericons.php:115 includes/type-genericons.php:118
744
  msgid "%s (alt.)"
745
  msgstr ""
746
 
747
+ #: includes/type-genericons.php:132
748
  msgid "Misc."
749
  msgstr ""
750
 
751
+ #: includes/type-genericons.php:134
752
  msgid "404"
753
  msgstr ""
754
 
755
+ #: includes/type-genericons.php:135
756
  msgid "Attachment"
757
  msgstr ""
758
 
759
+ #: includes/type-genericons.php:139
760
  msgid "Checkmark"
761
  msgstr ""
762
 
763
+ #: includes/type-genericons.php:140
764
  msgid "Close"
765
  msgstr ""
766
 
767
+ #: includes/type-genericons.php:141
768
  msgid "Close alt"
769
  msgstr ""
770
 
771
+ #: includes/type-genericons.php:143
772
  msgid "Cloud download"
773
  msgstr ""
774
 
775
+ #: includes/type-genericons.php:144
776
  msgid "Cloud upload"
777
  msgstr ""
778
 
779
+ #: includes/type-genericons.php:145
780
  msgid "Code"
781
  msgstr ""
782
 
783
+ #: includes/type-genericons.php:146
784
  msgid "Cog"
785
  msgstr ""
786
 
787
+ #: includes/type-genericons.php:148
788
  msgid "Document"
789
  msgstr ""
790
 
791
+ #: includes/type-genericons.php:149
792
  msgid "Dot"
793
  msgstr ""
794
 
795
+ #: includes/type-genericons.php:150
796
  msgid "Downarrow"
797
  msgstr ""
798
 
799
+ #: includes/type-genericons.php:151
800
  msgid "Draggable"
801
  msgstr ""
802
 
803
+ #: includes/type-genericons.php:152
804
  msgid "Dropdown"
805
  msgstr ""
806
 
807
+ #: includes/type-genericons.php:153
808
  msgid "Dropdown left"
809
  msgstr ""
810
 
811
+ #: includes/type-genericons.php:155
812
  msgid "Expand"
813
  msgstr ""
814
 
815
+ #: includes/type-genericons.php:156
816
  msgid "External"
817
  msgstr ""
818
 
819
+ #: includes/type-genericons.php:157
820
  msgid "Fastforward"
821
  msgstr ""
822
 
823
+ #: includes/type-genericons.php:158
824
  msgid "Feed"
825
  msgstr ""
826
 
827
+ #: includes/type-genericons.php:160
828
  msgid "Fullscreen"
829
  msgstr ""
830
 
831
+ #: includes/type-genericons.php:161
832
  msgid "Heart"
833
  msgstr ""
834
 
835
+ #: includes/type-genericons.php:163
836
  msgid "Hide"
837
  msgstr ""
838
 
839
+ #: includes/type-genericons.php:167
840
  msgid "Key"
841
  msgstr ""
842
 
843
+ #: includes/type-genericons.php:168
844
  msgid "Leftarrow"
845
  msgstr ""
846
 
847
+ #: includes/type-genericons.php:171
848
  msgid "Mail"
849
  msgstr ""
850
 
851
+ #: includes/type-genericons.php:172
852
  msgid "Maximize"
853
  msgstr ""
854
 
855
+ #: includes/type-genericons.php:174
856
  msgid "Minimize"
857
  msgstr ""
858
 
859
+ #: includes/type-genericons.php:175
860
  msgid "Next"
861
  msgstr ""
862
 
863
+ #: includes/type-genericons.php:176
864
  msgid "Notice"
865
  msgstr ""
866
 
867
+ #: includes/type-genericons.php:177
868
  msgid "Pause"
869
  msgstr ""
870
 
871
+ #: includes/type-genericons.php:178
872
  msgid "Phone"
873
  msgstr ""
874
 
875
+ #: includes/type-genericons.php:179
876
  msgid "Picture"
877
  msgstr ""
878
 
879
+ #: includes/type-genericons.php:180
880
  msgid "Play"
881
  msgstr ""
882
 
883
+ #: includes/type-genericons.php:181
884
  msgid "Plugin"
885
  msgstr ""
886
 
887
+ #: includes/type-genericons.php:183
888
  msgid "Previous"
889
  msgstr ""
890
 
891
+ #: includes/type-genericons.php:184
892
  msgid "Print"
893
  msgstr ""
894
 
895
+ #: includes/type-genericons.php:185
896
  msgid "Refresh"
897
  msgstr ""
898
 
899
+ #: includes/type-genericons.php:186
900
  msgid "Reply"
901
  msgstr ""
902
 
903
+ #: includes/type-genericons.php:187
904
  msgid "Reply alt"
905
  msgstr ""
906
 
907
+ #: includes/type-genericons.php:188
908
  msgid "Reply single"
909
  msgstr ""
910
 
911
+ #: includes/type-genericons.php:189
912
  msgid "Rewind"
913
  msgstr ""
914
 
915
+ #: includes/type-genericons.php:190
916
  msgid "Rightarrow"
917
  msgstr ""
918
 
919
+ #: includes/type-genericons.php:192 includes/type-genericons.php:193
920
  msgid "Send to"
921
  msgstr ""
922
 
923
+ #: includes/type-genericons.php:195
924
  msgid "Show"
925
  msgstr ""
926
 
927
+ #: includes/type-genericons.php:196
928
  msgid "Skip ahead"
929
  msgstr ""
930
 
931
+ #: includes/type-genericons.php:197
932
  msgid "Skip back"
933
  msgstr ""
934
 
935
+ #: includes/type-genericons.php:198
936
  msgid "Spam"
937
  msgstr ""
938
 
939
+ #: includes/type-genericons.php:199
940
  msgid "Star"
941
  msgstr ""
942
 
943
+ #: includes/type-genericons.php:200
944
  msgid "Stop"
945
  msgstr ""
946
 
947
+ #: includes/type-genericons.php:201
948
  msgid "Subscribe"
949
  msgstr ""
950
 
951
+ #: includes/type-genericons.php:202
952
  msgid "Subscribed"
953
  msgstr ""
954
 
955
+ #: includes/type-genericons.php:203
956
  msgid "Summary"
957
  msgstr ""
958
 
959
+ #: includes/type-genericons.php:205
960
  msgid "Top"
961
  msgstr ""
962
 
963
+ #: includes/type-genericons.php:207
964
  msgid "Unapprove"
965
  msgstr ""
966
 
967
+ #: includes/type-genericons.php:208
968
  msgid "Unsubscribe"
969
  msgstr ""
970
 
971
+ #: includes/type-genericons.php:209
972
  msgid "Unzoom"
973
  msgstr ""
974
 
975
+ #: includes/type-genericons.php:210
976
  msgid "Uparrow"
977
  msgstr ""
978
 
979
+ #: includes/type-genericons.php:211
980
  msgid "Warning"
981
  msgstr ""
982
 
983
+ #: includes/type-genericons.php:212
984
  msgid "Zoom"
985
  msgstr ""
986
 
988
  msgid "Menu Icons"
989
  msgstr ""
990
 
991
+ #. #-#-#-#-# menu-icons.pot (Menu Icons 0.1.5) #-#-#-#-#
992
  #. Plugin URI of the plugin/theme
993
+ #. #-#-#-#-# menu-icons.pot (Menu Icons 0.1.5) #-#-#-#-#
994
  #. Author URI of the plugin/theme
995
  msgid "http://kucrut.org/"
996
  msgstr ""
menu-icons.php CHANGED
@@ -4,14 +4,14 @@
4
  * Menu Icons
5
  *
6
  * @package Menu_Icons
7
- * @version 0.1.4
8
  * @author Dzikri Aziz <kvcrvt@gmail.com>
9
  *
10
  *
11
  * Plugin name: Menu Icons
12
  * Plugin URI: http://kucrut.org/
13
  * Description: Easily add icons to your navigation menu items
14
- * Version: 0.1.4
15
  * Author: Dzikri Aziz
16
  * Author URI: http://kucrut.org/
17
  * License: GPLv2
@@ -22,11 +22,11 @@
22
  /**
23
  * Main plugin class
24
  *
25
- * @version 0.1.4
26
  */
27
  final class Menu_Icons {
28
 
29
- const VERSION = '0.1.4';
30
 
31
  /**
32
  * Holds plugin data
@@ -64,14 +64,15 @@ final class Menu_Icons {
64
  *
65
  * 1. Load translation
66
  * 2. Set plugin data (directory and URL paths)
67
- * 3. Attach plugin initialization at wp_loaded hook
 
68
  *
69
  * @since 0.1.0
70
  * @wp_hook action plugins_loaded/10
71
  * @link http://codex.wordpress.org/Plugin_API/Action_Reference/plugins_loaded Action: plugins_loaded/10
72
  */
73
  public static function load() {
74
- load_plugin_textdomain( 'stream', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
75
 
76
  self::$data = array(
77
  'dir' => plugin_dir_path( __FILE__ ),
@@ -79,9 +80,8 @@ final class Menu_Icons {
79
  'icon_types' => array(),
80
  );
81
 
 
82
  add_action( 'wp_loaded', array( __CLASS__, 'init' ), 9 );
83
- add_filter( 'load-nav-menus.php', array( __CLASS__, '_load_nav_menus' ) );
84
- add_filter( 'wp_edit_nav_menu_walker', array( __CLASS__, '_load_nav_menus' ), 1 );
85
  }
86
 
87
 
@@ -96,11 +96,6 @@ final class Menu_Icons {
96
  * @link http://codex.wordpress.org/Plugin_API/Action_Reference/wp_loaded Action: wp_loaded/9
97
  */
98
  public static function init() {
99
- // Load icon types
100
- require_once self::$data['dir'] . '/includes/type-fonts.php';
101
- require_once self::$data['dir'] . '/includes/type-dashicons.php';
102
- require_once self::$data['dir'] . '/includes/type-genericons.php';
103
-
104
  self::_collect_icon_types();
105
 
106
  // Nothing to do if there are no icon types registered
@@ -108,11 +103,44 @@ final class Menu_Icons {
108
  return;
109
  }
110
 
 
 
 
 
 
111
  add_action( 'get_header', array( __CLASS__, '_load_front_end' ) );
112
  add_action( 'wp_enqueue_scripts', array( __CLASS__, '_enqueue_styles' ), 7 );
113
  }
114
 
115
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  /**
117
  * Collect icon types
118
  *
@@ -133,6 +161,12 @@ final class Menu_Icons {
133
  foreach ( $types as $type => $props ) {
134
  $type_props = wp_parse_args( $props, $defaults );
135
  foreach ( $type_props as $key => $value ) {
 
 
 
 
 
 
136
  if ( empty( $value ) ) {
137
  continue 2;
138
  }
@@ -154,29 +188,39 @@ final class Menu_Icons {
154
 
155
 
156
  /**
157
- * Prepare custom walker
158
- *
159
- * This is kind of dirty, because we're using a filter hook for doing an action.
160
- * It's because we want our walker to always be used whether it's editing the current
161
- * menu items, or adding new ones (via ajax).
162
- *
163
- * This method is also hooked into 'load-nav-menus.php'.
164
  *
165
  * @since 0.1.3
166
  * @access protected
167
- * @wp_hook action load-nav-menus.php/10/1
168
  * @wp_hook filter wp_edit_nav_menu_walker/10/1
169
- * @link http://codex.wordpress.org/Plugin_API/Action_Reference/load-%28page%29
170
  */
171
- public static function _load_nav_menus( $walker ) {
 
 
 
 
172
  // Load menu item custom fields plugin
173
- require_once self::$data['dir'] . 'includes/menu-item-custom-fields/menu-item-custom-fields.php';
 
 
 
 
 
 
 
174
 
 
 
 
 
 
 
 
 
 
175
  // Load custom fields
176
  require_once self::$data['dir'] . 'includes/admin.php';
177
  Menu_Icons_Admin_Nav_Menus::init();
178
-
179
- return $walker;
180
  }
181
 
182
 
@@ -210,6 +254,10 @@ final class Menu_Icons {
210
  public static function _enqueue_styles() {
211
  // Enqueue icon types' stylesheets
212
  foreach ( self::$data['icon_types'] as $id => $props ) {
 
 
 
 
213
  if ( wp_style_is( $props['stylesheet'], 'registered' ) ) {
214
  wp_enqueue_style( $id );
215
  }
4
  * Menu Icons
5
  *
6
  * @package Menu_Icons
7
+ * @version 0.1.5
8
  * @author Dzikri Aziz <kvcrvt@gmail.com>
9
  *
10
  *
11
  * Plugin name: Menu Icons
12
  * Plugin URI: http://kucrut.org/
13
  * Description: Easily add icons to your navigation menu items
14
+ * Version: 0.1.5
15
  * Author: Dzikri Aziz
16
  * Author URI: http://kucrut.org/
17
  * License: GPLv2
22
  /**
23
  * Main plugin class
24
  *
25
+ * @version 0.1.5
26
  */
27
  final class Menu_Icons {
28
 
29
+ const VERSION = '0.1.5';
30
 
31
  /**
32
  * Holds plugin data
64
  *
65
  * 1. Load translation
66
  * 2. Set plugin data (directory and URL paths)
67
+ * 3. Register built-in icon types
68
+ * 4. Attach plugin initialization at wp_loaded hook
69
  *
70
  * @since 0.1.0
71
  * @wp_hook action plugins_loaded/10
72
  * @link http://codex.wordpress.org/Plugin_API/Action_Reference/plugins_loaded Action: plugins_loaded/10
73
  */
74
  public static function load() {
75
+ load_plugin_textdomain( 'menu-icons', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
76
 
77
  self::$data = array(
78
  'dir' => plugin_dir_path( __FILE__ ),
80
  'icon_types' => array(),
81
  );
82
 
83
+ add_filter( 'menu_icons_types', array( __CLASS__, '_register_icon_types' ), 7 );
84
  add_action( 'wp_loaded', array( __CLASS__, 'init' ), 9 );
 
 
85
  }
86
 
87
 
96
  * @link http://codex.wordpress.org/Plugin_API/Action_Reference/wp_loaded Action: wp_loaded/9
97
  */
98
  public static function init() {
 
 
 
 
 
99
  self::_collect_icon_types();
100
 
101
  // Nothing to do if there are no icon types registered
103
  return;
104
  }
105
 
106
+ // Back
107
+ add_filter( 'load-nav-menus.php', array( __CLASS__, '_load_nav_menus' ) );
108
+ add_filter( 'wp_edit_nav_menu_walker', array( __CLASS__, '_filter_wp_edit_nav_menu_walker' ), 99 );
109
+
110
+ // Front
111
  add_action( 'get_header', array( __CLASS__, '_load_front_end' ) );
112
  add_action( 'wp_enqueue_scripts', array( __CLASS__, '_enqueue_styles' ), 7 );
113
  }
114
 
115
 
116
+ /**
117
+ * Register built-in icon types
118
+ *
119
+ * @since 0.1.5
120
+ * @access protected
121
+ * @wp_hook filter menu_icons_types
122
+ *
123
+ * @param array $icon_types Current icon types
124
+ * @return array
125
+ */
126
+ public static function _register_icon_types( $icon_types ) {
127
+ $builtin_types = array(
128
+ 'dashicons',
129
+ 'genericons',
130
+ );
131
+
132
+ foreach ( $builtin_types as $type ) {
133
+ require_once sprintf( '%s/includes/type-%s.php', self::$data['dir'], $type );
134
+
135
+ $class_name = sprintf( 'Menu_Icons_Type_%s', ucfirst( $type ) );
136
+ $type_instance = new $class_name;
137
+ $icon_types = $type_instance->register( $icon_types );
138
+ }
139
+
140
+ return $icon_types;
141
+ }
142
+
143
+
144
  /**
145
  * Collect icon types
146
  *
161
  foreach ( $types as $type => $props ) {
162
  $type_props = wp_parse_args( $props, $defaults );
163
  foreach ( $type_props as $key => $value ) {
164
+ // Stylesheet can be empty
165
+ if ( 'stylesheet' === $key ) {
166
+ continue;
167
+ }
168
+
169
+ // Everything else must be specified
170
  if ( empty( $value ) ) {
171
  continue 2;
172
  }
188
 
189
 
190
  /**
191
+ * Prepare custom walker and custom field
 
 
 
 
 
 
192
  *
193
  * @since 0.1.3
194
  * @access protected
 
195
  * @wp_hook filter wp_edit_nav_menu_walker/10/1
 
196
  */
197
+ public static function _filter_wp_edit_nav_menu_walker( $walker ) {
198
+ // Load custom fields
199
+ require_once self::$data['dir'] . 'includes/admin.php';
200
+ add_filter( 'menu_item_custom_fields', array( 'Menu_Icons_Admin_Nav_Menus', '_fields' ), 10, 3 );
201
+
202
  // Load menu item custom fields plugin
203
+ if ( ! class_exists( 'Menu_Item_Custom_Fields_Walker' ) ) {
204
+ require_once self::$data['dir'] . '/includes/walker-nav-menu-edit.php';
205
+ }
206
+ $walker = 'Menu_Item_Custom_Fields_Walker';
207
+
208
+ return $walker;
209
+ }
210
+
211
 
212
+ /**
213
+ * Prepare wp-admin/nav-menus.php
214
+ *
215
+ * @since 0.1.5
216
+ * @access protected
217
+ * @wp_hook action load-nav-menus.php/10
218
+ * @link http://codex.wordpress.org/Plugin_API/Action_Reference/load-%28page%29 Action: load-nav-menus.php/10
219
+ */
220
+ public static function _load_nav_menus() {
221
  // Load custom fields
222
  require_once self::$data['dir'] . 'includes/admin.php';
223
  Menu_Icons_Admin_Nav_Menus::init();
 
 
224
  }
225
 
226
 
254
  public static function _enqueue_styles() {
255
  // Enqueue icon types' stylesheets
256
  foreach ( self::$data['icon_types'] as $id => $props ) {
257
+ if ( empty( $props['stylesheet'] ) ) {
258
+ continue;
259
+ }
260
+
261
  if ( wp_style_is( $props['stylesheet'], 'registered' ) ) {
262
  wp_enqueue_style( $id );
263
  }
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate Link: http://kucrut.org/#coffee
4
  Tags: menu, nav-menu, icons, navigation
5
  Requires at least: 3.8
6
  Tested up to: 3.8.1
7
- Stable tag: 0.1.4
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -81,6 +81,9 @@ add_filter( 'menu_icons_load_extra_style', '__return_false' );
81
 
82
 
83
  == Changelog ==
 
 
 
84
  = 0.1.4 =
85
  * Fix menu saving
86
 
4
  Tags: menu, nav-menu, icons, navigation
5
  Requires at least: 3.8
6
  Tested up to: 3.8.1
7
+ Stable tag: 0.1.5
8
  License: GPLv2
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
81
 
82
 
83
  == Changelog ==
84
+ = 0.1.5 =
85
+ * Invisible, but important fixes and improvements
86
+
87
  = 0.1.4 =
88
  * Fix menu saving
89