Adminimize - Version 1.11.7

Version Description

(2020-07-15) = * Add Im-/Export possibility only for different roles, Probs @JulietNoth, #139 * Fix problems with plugins in menus, like WooCommerce, #130 * Fix UI topics on settings page * Fix simple PHP warnings

Download this release

Release Info

Developer Bueltge
Plugin Icon wp plugin Adminimize
Version 1.11.7
Comparing to
See all releases

Code changes from version 1.11.6 to 1.11.7

Files changed (53) hide show
  1. LICENSE.txt +0 -0
  2. adminimize.php +117 -36
  3. adminimize_page.php +0 -0
  4. css/mw_cat_full.css +0 -0
  5. css/mw_cat_full.min.css +0 -0
  6. css/mw_small_user_info.css +0 -0
  7. css/mw_small_user_info.min.css +0 -0
  8. css/select2.min.css +1 -0
  9. css/style.css +53 -0
  10. css/style.min.css +1 -1
  11. inc-options/admin_bar.php +2 -3
  12. inc-options/admin_bar_frontend.php +2 -3
  13. inc-options/backend_options.php +1 -2
  14. inc-options/dashboard_options.php +1 -2
  15. inc-options/deinstall_options.php +1 -2
  16. inc-options/global_options.php +5 -20
  17. inc-options/im_export_options.php +43 -40
  18. inc-options/links_options.php +2 -3
  19. inc-options/menu_options.php +5 -9
  20. inc-options/minimenu.php +2 -4
  21. inc-options/self_settings.php +2 -3
  22. inc-options/settings_notice.php +0 -0
  23. inc-options/theme_options.php +1 -2
  24. inc-options/widget_options.php +10 -2
  25. inc-options/wp_nav_menu_options.php +1 -2
  26. inc-options/write_cp_options.php +2 -3
  27. inc-options/write_page_options.php +12 -3
  28. inc-options/write_post_options.php +11 -5
  29. inc-setup/DebugListener.php +39 -0
  30. inc-setup/admin-bar-items.php +0 -0
  31. inc-setup/admin-footer.php +0 -0
  32. inc-setup/dashboard.php +6 -1
  33. inc-setup/export.php +66 -0
  34. inc-setup/footer.php +0 -0
  35. inc-setup/helping_hands.php +8 -12
  36. inc-setup/import.php +0 -0
  37. inc-setup/messages.php +0 -0
  38. inc-setup/meta-boxes.php +0 -0
  39. inc-setup/remove-admin-bar.php +0 -0
  40. inc-setup/remove-admin-notices.php +0 -0
  41. inc-setup/widget.php +0 -0
  42. js/adminimize.js +16 -0
  43. js/adminimize.min.js +1 -1
  44. js/remove_footer.js +0 -0
  45. js/remove_footer.min.js +0 -0
  46. js/remove_header.js +0 -0
  47. js/remove_header.min.js +0 -0
  48. js/select2.min.js +2 -0
  49. js/tb_window.js +0 -0
  50. js/tb_window.min.js +0 -0
  51. js/timestamp.js +0 -0
  52. js/timestamp.min.js +0 -0
  53. readme.txt +506 -500
LICENSE.txt CHANGED
File without changes
adminimize.php CHANGED
@@ -7,7 +7,7 @@
7
  * Description: Visually compresses the administrative meta-boxes so that more admin page content can be initially seen. The plugin that lets you hide 'unnecessary' items from the WordPress administration menu, for all roles of your install. You can also hide post meta controls on the edit-area to simplify the interface. It is possible to simplify the admin in different for all roles.
8
  * Author: Frank Bültge
9
  * Author URI: http://bueltge.de/
10
- * Version: 1.11.6
11
  * License: GPLv2+
12
  *
13
  * Php Version 5.6
@@ -15,7 +15,7 @@
15
  * @package WordPress
16
  * @author Frank Bültge <frank@bueltge.de>
17
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
18
- * @version 2019-12-23
19
  */
20
 
21
  /**
@@ -108,17 +108,16 @@ function _mw_adminimize_exclude_settings_page() {
108
  $page = esc_attr( $_GET['page'] );
109
  }
110
 
111
- $screen = $page;
112
  if ( function_exists( 'get_current_screen' ) ) {
113
  $screen_tmp = get_current_screen();
114
 
115
  if ( isset( $screen_tmp->id ) && null !== $screen_tmp->id ) {
116
- $screen = $screen_tmp->id;
 
117
  }
118
- }
119
 
120
  // Don't filter on settings page
121
- return FALSE !== strpos( $screen, 'adminimize' );
122
  }
123
 
124
  /**
@@ -134,14 +133,14 @@ function _mw_adminimize_is_active_on_multisite() {
134
 
135
  /**
136
  * Allow different adminimize options per site on multisite.
137
- *
138
  * @since 1.11.6
139
- *
140
  * @param bool
141
  */
142
  $force_single_site_usage = apply_filters( 'adminimize_mu_force_options_per_site', false );
143
 
144
- if ( is_multisite()
145
  && is_plugin_active_for_network( FB_ADMINIMIZE_BASENAME )
146
  && ! $force_single_site_usage ) {
147
  return TRUE;
@@ -164,7 +163,7 @@ function _mw_adminimize_get_all_user_roles() {
164
 
165
  $user_roles = array();
166
 
167
- if ( NULL !== $wp_roles->roles && is_array( $wp_roles->roles ) ) {
168
  foreach ( $wp_roles->roles as $role => $data ) {
169
  $user_roles[] = $role;
170
  // The $data var contains caps, maybe for later use.
@@ -181,9 +180,9 @@ function _mw_adminimize_get_all_user_roles() {
181
 
182
  /**
183
  * Use this filter to add or remove a role in Adminimize options.
184
- *
185
  * @since 1.11.6
186
- *
187
  * @param array
188
  */
189
  return apply_filters( 'adminimize_user_roles_filter', $user_roles );
@@ -224,9 +223,9 @@ function _mw_adminimize_get_all_user_roles_names() {
224
 
225
  /**
226
  * Use this filter to add or remove a role-name in Adminimize options.
227
- *
228
  * @since 1.11.6
229
- *
230
  * @param array
231
  */
232
  return apply_filters( 'adminimize_user_roles_names_filter', $user_roles_names );
@@ -244,14 +243,20 @@ function _mw_adminimize_get_current_post_type() {
244
  // We have a post so we can just get the post type from that.
245
  if ( $post && $post->post_type ) {
246
  return $post->post_type;
247
- } // Check the global $typenow - set in admin.php
248
- elseif ( $typenow ) {
 
 
249
  return $typenow;
250
- } // check the global $current_screen object - set in sceen.php
251
- elseif ( $current_screen && $current_screen->post_type ) {
 
 
252
  return $current_screen->post_type;
253
- } // lastly check the post_type querystring
254
- elseif ( isset( $_REQUEST['post_type'] ) ) {
 
 
255
  return sanitize_key( $_REQUEST[ 'post_type' ] );
256
  }
257
 
@@ -284,6 +289,13 @@ function _mw_adminimize_admin_init() {
284
  $current_post_type = 'post';
285
  }
286
 
 
 
 
 
 
 
 
287
  // Get all user roles.
288
  $user_roles = _mw_adminimize_get_all_user_roles();
289
 
@@ -345,16 +357,13 @@ function _mw_adminimize_admin_init() {
345
  // Backend options
346
  // exclude super admin
347
  if ( ! _mw_adminimize_exclude_super_admin() && ! _mw_adminimize_exclude_settings_page() ) {
348
-
349
  $_mw_adminimize_header = (int) _mw_adminimize_get_option_value( '_mw_adminimize_header' );
350
- switch ( $_mw_adminimize_header ) {
351
- case 1:
352
- wp_enqueue_script(
353
- '_mw_adminimize_remove_header',
354
- WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/js/remove_header' . $suffix . '.js',
355
- array( 'jquery' )
356
- );
357
- break;
358
  }
359
 
360
  // Post-page options.
@@ -586,7 +595,7 @@ function _mw_adminimize_set_menu_option() {
586
 
587
  // exclude super admin
588
  if ( _mw_adminimize_exclude_super_admin() ) {
589
- return NULL;
590
  }
591
 
592
  // Leave the settings screen from Adminimize to see all areas on settings.
@@ -595,13 +604,26 @@ function _mw_adminimize_set_menu_option() {
595
  }
596
 
597
  global $menu, $submenu;
 
 
 
 
 
 
 
598
 
 
 
 
 
 
 
599
  if ( ! isset( $menu ) || empty( $menu ) ) {
600
  return;
601
  }
602
 
603
- _mw_adminimize_debug( $menu, 'Adminimize, WordPress Menu:' );
604
- _mw_adminimize_debug( $submenu, 'Adminimize, WordPress Sub-Menu:' );
605
 
606
  $disabled_menu_ = array();
607
  $disabled_submenu_ = array();
@@ -647,9 +669,9 @@ function _mw_adminimize_set_menu_option() {
647
  $mw_adminimize_submenu = array_unique( $mw_adminimize_submenu );
648
  }
649
  _mw_adminimize_debug( $mw_adminimize_menu, 'Adminimize, Menu Slugs to hide after Filter.' );
650
- _mw_adminimize_debug( $mw_adminimize_menu, 'Adminimize, Sub-Menu Slugs to hide after Filter.' );
651
 
652
- foreach ( $menu as $key => $item ) {
653
 
654
  _mw_adminimize_debug( $item, 'Adminimize, Each Menu Item Array to check for hiding.' );
655
 
@@ -665,8 +687,8 @@ function _mw_adminimize_set_menu_option() {
665
  }
666
 
667
  // Sub Menu Settings.
668
- if ( isset( $submenu ) && ! empty( $submenu[ $menu_slug ] ) ) {
669
- foreach ( (array) $submenu[ $menu_slug ] as $subindex => $subitem ) {
670
  // Check, if is Sub Menu item in the user role settings?
671
  if (
672
  isset( $mw_adminimize_submenu )
@@ -738,6 +760,9 @@ function _mw_adminimize_set_global_option() {
738
  $_mw_adminimize_admin_head .= '<!-- Set Adminimize global options -->' . "\n";
739
  $_mw_adminimize_admin_head .= '<style type="text/css">' . $global_options . ' {display:none !important;}</style>' . "\n";
740
 
 
 
 
741
  if ( '' !== $global_options ) {
742
  echo $_mw_adminimize_admin_head;
743
  }
@@ -1103,6 +1128,7 @@ function _mw_adminimize_small_user_info() {
1103
  }
1104
 
1105
  // include helping functions
 
1106
  require_once 'inc-setup/helping_hands.php';
1107
 
1108
  // Include message class.
@@ -1190,9 +1216,11 @@ function _mw_adminimize_on_load_page() {
1190
 
1191
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
1192
 
 
1193
  wp_register_style( 'adminimize-style', plugins_url( 'css/style' . $suffix . '.css', __FILE__ ) );
1194
  wp_enqueue_style( 'adminimize-style' );
1195
 
 
1196
  wp_register_script(
1197
  'adminimize-settings-script',
1198
  plugins_url( 'js/adminimize' . $suffix . '.js', __FILE__ ),
@@ -1247,6 +1275,10 @@ function _mw_adminimize_update_option( $options ) {
1247
  return FALSE;
1248
  }
1249
 
 
 
 
 
1250
  // Remove slashes always.
1251
  foreach ( $options as $key => $value ) {
1252
  $options[ $key ] = stripslashes_deep( $value );
@@ -1746,3 +1778,52 @@ function _mw_adminimize_install() {
1746
  }
1747
  wp_cache_add( 'mw_adminimize', $adminimizeoptions );
1748
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  * Description: Visually compresses the administrative meta-boxes so that more admin page content can be initially seen. The plugin that lets you hide 'unnecessary' items from the WordPress administration menu, for all roles of your install. You can also hide post meta controls on the edit-area to simplify the interface. It is possible to simplify the admin in different for all roles.
8
  * Author: Frank Bültge
9
  * Author URI: http://bueltge.de/
10
+ * Version: 1.11.7
11
  * License: GPLv2+
12
  *
13
  * Php Version 5.6
15
  * @package WordPress
16
  * @author Frank Bültge <frank@bueltge.de>
17
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
18
+ * @version 2020-07-15
19
  */
20
 
21
  /**
108
  $page = esc_attr( $_GET['page'] );
109
  }
110
 
 
111
  if ( function_exists( 'get_current_screen' ) ) {
112
  $screen_tmp = get_current_screen();
113
 
114
  if ( isset( $screen_tmp->id ) && null !== $screen_tmp->id ) {
115
+ $page = $screen_tmp->id;
116
+ }
117
  }
 
118
 
119
  // Don't filter on settings page
120
+ return FALSE !== strpos( $page, 'adminimize' );
121
  }
122
 
123
  /**
133
 
134
  /**
135
  * Allow different adminimize options per site on multisite.
136
+ *
137
  * @since 1.11.6
138
+ *
139
  * @param bool
140
  */
141
  $force_single_site_usage = apply_filters( 'adminimize_mu_force_options_per_site', false );
142
 
143
+ if ( is_multisite()
144
  && is_plugin_active_for_network( FB_ADMINIMIZE_BASENAME )
145
  && ! $force_single_site_usage ) {
146
  return TRUE;
163
 
164
  $user_roles = array();
165
 
166
+ if ( null !== $wp_roles->roles && is_array( $wp_roles->roles ) ) {
167
  foreach ( $wp_roles->roles as $role => $data ) {
168
  $user_roles[] = $role;
169
  // The $data var contains caps, maybe for later use.
180
 
181
  /**
182
  * Use this filter to add or remove a role in Adminimize options.
183
+ *
184
  * @since 1.11.6
185
+ *
186
  * @param array
187
  */
188
  return apply_filters( 'adminimize_user_roles_filter', $user_roles );
223
 
224
  /**
225
  * Use this filter to add or remove a role-name in Adminimize options.
226
+ *
227
  * @since 1.11.6
228
+ *
229
  * @param array
230
  */
231
  return apply_filters( 'adminimize_user_roles_names_filter', $user_roles_names );
243
  // We have a post so we can just get the post type from that.
244
  if ( $post && $post->post_type ) {
245
  return $post->post_type;
246
+ }
247
+
248
+ // Check the global $typenow - set in admin.php
249
+ if ( $typenow ) {
250
  return $typenow;
251
+ }
252
+
253
+ // Check the global $current_screen object - set in screen.php
254
+ if ( $current_screen && $current_screen->post_type ) {
255
  return $current_screen->post_type;
256
+ }
257
+
258
+ // lastly check the post_type querystring
259
+ if ( isset( $_REQUEST['post_type'] ) ) {
260
  return sanitize_key( $_REQUEST[ 'post_type' ] );
261
  }
262
 
289
  $current_post_type = 'post';
290
  }
291
 
292
+ // Debug helper
293
+ if ( class_exists( 'DebugListener' ) ) {
294
+ $listener = new DebugListener();
295
+ add_action( 'adminimize.log', [$listener, 'listen'], 10, 2 );
296
+ add_action( 'wp_footer', array( $listener, 'dump' ), PHP_INT_MAX );
297
+ }
298
+
299
  // Get all user roles.
300
  $user_roles = _mw_adminimize_get_all_user_roles();
301
 
357
  // Backend options
358
  // exclude super admin
359
  if ( ! _mw_adminimize_exclude_super_admin() && ! _mw_adminimize_exclude_settings_page() ) {
 
360
  $_mw_adminimize_header = (int) _mw_adminimize_get_option_value( '_mw_adminimize_header' );
361
+ if ( 1 === $_mw_adminimize_header ) {
362
+ wp_enqueue_script(
363
+ '_mw_adminimize_remove_header',
364
+ WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/js/remove_header' . $suffix . '.js',
365
+ [ 'jquery' ]
366
+ );
 
 
367
  }
368
 
369
  // Post-page options.
595
 
596
  // exclude super admin
597
  if ( _mw_adminimize_exclude_super_admin() ) {
598
+ return;
599
  }
600
 
601
  // Leave the settings screen from Adminimize to see all areas on settings.
604
  }
605
 
606
  global $menu, $submenu;
607
+ $wp_menu = (array) _mw_adminimize_get_option_value( 'mw_adminimize_default_menu' );
608
+ $wp_submenu = (array) _mw_adminimize_get_option_value( 'mw_adminimize_default_submenu' );
609
+
610
+ // Object to array
611
+ if ( is_object( $wp_submenu ) ) {
612
+ $wp_submenu = get_object_vars( $wp_submenu );
613
+ }
614
 
615
+ if ( ! isset( $wp_menu ) || empty( $wp_menu ) ) {
616
+ $wp_menu = $menu;
617
+ }
618
+ if ( ! isset( $wp_submenu ) || empty( $wp_submenu ) ) {
619
+ $wp_submenu = $submenu;
620
+ }
621
  if ( ! isset( $menu ) || empty( $menu ) ) {
622
  return;
623
  }
624
 
625
+ _mw_adminimize_debug( $wp_menu, 'Adminimize, WordPress Menu:' );
626
+ _mw_adminimize_debug( $wp_submenu, 'Adminimize, WordPress Sub-Menu:' );
627
 
628
  $disabled_menu_ = array();
629
  $disabled_submenu_ = array();
669
  $mw_adminimize_submenu = array_unique( $mw_adminimize_submenu );
670
  }
671
  _mw_adminimize_debug( $mw_adminimize_menu, 'Adminimize, Menu Slugs to hide after Filter.' );
672
+ _mw_adminimize_debug( $mw_adminimize_submenu, 'Adminimize, Sub-Menu Slugs to hide after Filter.' );
673
 
674
+ foreach ( $wp_menu as $key => $item ) {
675
 
676
  _mw_adminimize_debug( $item, 'Adminimize, Each Menu Item Array to check for hiding.' );
677
 
687
  }
688
 
689
  // Sub Menu Settings.
690
+ if ( isset( $wp_submenu ) && ! empty( $wp_submenu[ $menu_slug ] ) ) {
691
+ foreach ( (array) $wp_submenu[ $menu_slug ] as $subindex => $subitem ) {
692
  // Check, if is Sub Menu item in the user role settings?
693
  if (
694
  isset( $mw_adminimize_submenu )
760
  $_mw_adminimize_admin_head .= '<!-- Set Adminimize global options -->' . "\n";
761
  $_mw_adminimize_admin_head .= '<style type="text/css">' . $global_options . ' {display:none !important;}</style>' . "\n";
762
 
763
+ // List options if the debug option is active.
764
+ _mw_adminimize_debug($global_options, 'Adminimize: List active global options:');
765
+
766
  if ( '' !== $global_options ) {
767
  echo $_mw_adminimize_admin_head;
768
  }
1128
  }
1129
 
1130
  // include helping functions
1131
+ require_once 'inc-setup/DebugListener.php';
1132
  require_once 'inc-setup/helping_hands.php';
1133
 
1134
  // Include message class.
1216
 
1217
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
1218
 
1219
+ wp_enqueue_style( 'select2-style', plugins_url( 'css/select2' . $suffix . '.css', __FILE__ ), [], false );
1220
  wp_register_style( 'adminimize-style', plugins_url( 'css/style' . $suffix . '.css', __FILE__ ) );
1221
  wp_enqueue_style( 'adminimize-style' );
1222
 
1223
+ wp_enqueue_script( 'select2-script', plugins_url( 'js/select2' . $suffix . '.js', __FILE__ ), array( 'jquery' ),'',false );
1224
  wp_register_script(
1225
  'adminimize-settings-script',
1226
  plugins_url( 'js/adminimize' . $suffix . '.js', __FILE__ ),
1275
  return FALSE;
1276
  }
1277
 
1278
+ if ( _mw_adminimize_is_roles_options_import( $options ) ){
1279
+ $options = _mw_adminimize_roles_complete_options( $options );
1280
+ }
1281
+
1282
  // Remove slashes always.
1283
  foreach ( $options as $key => $value ) {
1284
  $options[ $key ] = stripslashes_deep( $value );
1778
  }
1779
  wp_cache_add( 'mw_adminimize', $adminimizeoptions );
1780
  }
1781
+
1782
+ /**
1783
+ * Make sure adminimize option is complete when a role json file is imported
1784
+ *
1785
+ * @param array $roles_options
1786
+ *
1787
+ * @return array
1788
+ */
1789
+ function _mw_adminimize_roles_complete_options( $roles_options ){
1790
+
1791
+ $adminimizeoption = _mw_adminimize_get_option_value();
1792
+
1793
+ foreach ( $roles_options as $role_option_name => $role_option_value ){
1794
+ $adminimizeoption[$role_option_name] = $role_option_value;
1795
+ }
1796
+
1797
+ return $adminimizeoption;
1798
+ }
1799
+
1800
+ /**
1801
+ * Check if options comes from roles adminimize settings export
1802
+ *
1803
+ * @param array $options
1804
+ *
1805
+ * @return bool
1806
+ */
1807
+ function _mw_adminimize_is_roles_options_import( $options ){
1808
+ global $wp_roles;
1809
+
1810
+ $roles_options = [];
1811
+ foreach ( $wp_roles->role_names as $role_slug => $role_name ){
1812
+
1813
+ $role_options = array_filter(
1814
+ $options, function ( $option_key ) use ( $role_slug ) {
1815
+ return stripos( $option_key, '_' . $role_slug ) !== false;
1816
+ }, ARRAY_FILTER_USE_KEY
1817
+ );
1818
+
1819
+ if ( empty( $roles_options ) ){
1820
+ $roles_options = $role_options;
1821
+ } else {
1822
+ $roles_options = array_merge( $roles_options, $role_options );
1823
+ }
1824
+ }
1825
+
1826
+ if ( count( $options ) === count( $roles_options ) ){
1827
+ return true;
1828
+ }
1829
+ }
adminimize_page.php CHANGED
File without changes
css/mw_cat_full.css CHANGED
File without changes
css/mw_cat_full.min.css CHANGED
File without changes
css/mw_small_user_info.css CHANGED
File without changes
css/mw_small_user_info.min.css CHANGED
File without changes
css/select2.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
css/style.css CHANGED
@@ -57,4 +57,57 @@ table.usertheme .num {
57
 
58
  table.config_menu span.awaiting-mod{
59
  display: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  }
57
 
58
  table.config_menu span.awaiting-mod{
59
  display: none;
60
+ }
61
+
62
+ #adminimize-toggle{
63
+ border-width: 0;
64
+ color: #777;
65
+ cursor: not-allowed;
66
+ }
67
+
68
+ .switch {
69
+ position: relative;
70
+ display: inline-block;
71
+ width: 40px;
72
+ height: 20px;
73
+ background-color: #dedede;
74
+ border-radius: 20px;
75
+ }
76
+
77
+ .switch:after {
78
+ content: "";
79
+ position: absolute;
80
+ width: 18px;
81
+ height: 18px;
82
+ border-radius: 50%;
83
+ background-color: #fff;
84
+ top: 1px;
85
+ left: 1px;
86
+ -webkit-transition: all .3s;
87
+ transition: all .3s;
88
+ }
89
+
90
+ .adminimize-checkbox:checked + .switch::after {
91
+ left : 20px;
92
+ }
93
+
94
+ .adminimize-checkbox:checked + .switch {
95
+ background-color: #0d84e3;
96
+ }
97
+
98
+ .adminimize-checkbox {
99
+ visibility: hidden;
100
+ }
101
+
102
+ #adminimize-export-role {
103
+ display: none;
104
+ align-items: flex-end;
105
+ }
106
+
107
+ #adminimize-export-role select {
108
+ display: block;
109
+ }
110
+
111
+ #adminimize-export-role option {
112
+ padding: 5px;
113
  }
css/style.min.css CHANGED
@@ -1 +1 @@
1
- #minimenu td a{display:block}table th,table tr:nth-child(odd){background:#eee}.widefat thead td input[type=checkbox]{margin:0 2px 0 0;vertical-align:middle}table tbody td span,table tbody th span{float:right}td:nth-child(even)+td:hover,tr:hover{background-color:#dfdfdf!important}table.widefat td:nth-child(even),table.widefat th:nth-child(even){background-color:#ffebe8}table.widefat td:nth-child(even):hover,table.widefat th:nth-child(even):hover{background-color:#dfdfdf}td:first-child{width:30%}table.widefat tr:nth-child(2){font-style:italic}.widefat td span,.widefat th span{color:#ccc;font-size:x-small;font-weight:lighter}table.usertheme .num{width:25px}table.config_menu span.awaiting-mod{display:none}
1
+ #minimenu td a{display:block}table th,table tr:nth-child(odd){background:#eee}.widefat thead td input[type=checkbox]{margin:0 2px 0 0;vertical-align:middle}table tbody td span,table tbody th span{float:right}td:nth-child(even)+td:hover,tr:hover{background-color:#dfdfdf!important}table.widefat td:nth-child(even),table.widefat th:nth-child(even){background-color:#ffebe8}table.widefat td:nth-child(even):hover,table.widefat th:nth-child(even):hover{background-color:#dfdfdf}td:first-child{width:30%}table.widefat tr:nth-child(2){font-style:italic}.widefat td span,.widefat th span{color:#ccc;font-size:x-small;font-weight:lighter}table.usertheme .num{width:25px}table.config_menu span.awaiting-mod{display:none}#adminimize-toggle{border-width:0;color:#777;cursor:not-allowed}.switch{position:relative;display:inline-block;width:40px;height:20px;background-color:#dedede;border-radius:20px}.switch:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background-color:#fff;top:1px;left:1px;-webkit-transition:all .3s;transition:all .3s}.adminimize-checkbox:checked+.switch::after{left:20px}.adminimize-checkbox:checked+.switch{background-color:#0d84e3}.adminimize-checkbox{visibility:hidden}#adminimize-export-role{display:none;align-items:flex-end}#adminimize-export-role select{display:block}#adminimize-export-role option{padding:5px}
inc-options/admin_bar.php CHANGED
@@ -24,8 +24,7 @@ if ( ! isset( $user_roles_names ) ) {
24
  ?>
25
  <div id="poststuff" class="ui-sortable meta-box-sortables">
26
  <div class="postbox">
27
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
28
- <h3 class="hndle" id="admin_bar_options" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><?php
29
  esc_attr_e( 'Admin Bar Back end Options', 'adminimize' ); ?></h3>
30
 
31
  <div class="inside">
@@ -144,4 +143,4 @@ if ( ! isset( $user_roles_names ) ) {
144
 
145
  </div>
146
  </div>
147
- </div>
24
  ?>
25
  <div id="poststuff" class="ui-sortable meta-box-sortables">
26
  <div class="postbox">
27
+ <h3 class="hndle ui-sortable-handle" id="admin_bar_options" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><?php
 
28
  esc_attr_e( 'Admin Bar Back end Options', 'adminimize' ); ?></h3>
29
 
30
  <div class="inside">
143
 
144
  </div>
145
  </div>
146
+ </div>
inc-options/admin_bar_frontend.php CHANGED
@@ -23,8 +23,7 @@ if ( ! isset( $user_roles_names ) ) {
23
  ?>
24
  <div id="poststuff" class="ui-sortable meta-box-sortables">
25
  <div class="postbox">
26
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
27
- <h3 class="hndle" id="admin_bar_frontend_options" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><?php
28
  esc_attr_e( 'Admin Bar Front end Options', 'adminimize' ); ?></h3>
29
 
30
  <div class="inside">
@@ -148,4 +147,4 @@ if ( ! isset( $user_roles_names ) ) {
148
 
149
  </div>
150
  </div>
151
- </div>
23
  ?>
24
  <div id="poststuff" class="ui-sortable meta-box-sortables">
25
  <div class="postbox">
26
+ <h3 class="hndle ui-sortable-handle" id="admin_bar_frontend_options" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><?php
 
27
  esc_attr_e( 'Admin Bar Front end Options', 'adminimize' ); ?></h3>
28
 
29
  <div class="inside">
147
 
148
  </div>
149
  </div>
150
+ </div>
inc-options/backend_options.php CHANGED
@@ -15,8 +15,7 @@ if ( ! function_exists( 'add_action' ) ) {
15
 
16
  <div id="poststuff" class="ui-sortable meta-box-sortables">
17
  <div class="postbox">
18
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br/></div>
19
- <h3 class="hndle" id="backend_options"><?php esc_attr_e( 'Backend Options', 'adminimize' ); ?></h3>
20
  <div class="inside">
21
 
22
 
15
 
16
  <div id="poststuff" class="ui-sortable meta-box-sortables">
17
  <div class="postbox">
18
+ <h3 class="hndle ui-sortable-handle" id="backend_options" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><?php esc_attr_e( 'Backend Options', 'adminimize' ); ?></h3>
 
19
  <div class="inside">
20
 
21
 
inc-options/dashboard_options.php CHANGED
@@ -13,8 +13,7 @@ if ( ! function_exists( 'add_action' ) ) {
13
 
14
  <div id="poststuff" class="ui-sortable meta-box-sortables">
15
  <div class="postbox">
16
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
17
- <h3 class="hndle" id="dashboard_options"><?php esc_attr_e( 'Dashboard options', 'adminimize' ); ?></h3>
18
 
19
  <div class="inside">
20
  <br class="clear" />
13
 
14
  <div id="poststuff" class="ui-sortable meta-box-sortables">
15
  <div class="postbox">
16
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="dashboard_options"><?php esc_attr_e( 'Dashboard options', 'adminimize' ); ?></h3>
 
17
 
18
  <div class="inside">
19
  <br class="clear" />
inc-options/deinstall_options.php CHANGED
@@ -11,8 +11,7 @@ if ( ! function_exists( 'add_action' ) ) {
11
  ?>
12
  <div id="poststuff" class="ui-sortable meta-box-sortables">
13
  <div class="postbox">
14
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
15
- <h3 class="hndle" id="uninstall"><?php esc_attr_e( 'Uninstall Options', 'adminimize' ) ?></h3>
16
  <div class="inside">
17
 
18
  <p><?php _e(
11
  ?>
12
  <div id="poststuff" class="ui-sortable meta-box-sortables">
13
  <div class="postbox">
14
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="uninstall"><?php esc_attr_e( 'Uninstall Options', 'adminimize' ) ?></h3>
 
15
  <div class="inside">
16
 
17
  <p><?php _e(
inc-options/global_options.php CHANGED
@@ -15,8 +15,7 @@ if ( ! function_exists( 'add_action' ) ) {
15
 
16
  <div id="poststuff" class="ui-sortable meta-box-sortables">
17
  <div class="postbox">
18
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br/></div>
19
- <h3 class="hndle" id="global_options"><?php esc_attr_e( 'Global options', 'adminimize' ); ?></h3>
20
 
21
  <div class="inside">
22
  <br class="clear"/>
@@ -175,15 +174,8 @@ if ( ! function_exists( 'add_action' ) ) {
175
  <td>
176
  <label for="_mw_adminimize_own_options"></label>
177
  <textarea name="_mw_adminimize_own_options" cols="60" rows="3"
178
- id="_mw_adminimize_own_options" style="width: 95%;">
179
- <?php
180
- // The function sanitize the output.
181
- // phpcs:disable
182
- echo _mw_adminimize_get_option_value(
183
- '_mw_adminimize_own_options'
184
- );
185
- ?>
186
- </textarea>
187
  <br/>
188
  <?php
189
  esc_attr_e(
@@ -195,15 +187,8 @@ if ( ! function_exists( 'add_action' ) ) {
195
  <td>
196
  <label for="_mw_adminimize_own_values"></label>
197
  <textarea class="code" name="_mw_adminimize_own_values" cols="60" rows="3"
198
- id="_mw_adminimize_own_values" style="width: 95%;">
199
- <?php
200
- // The function sanitize the output.
201
- // phpcs:disable
202
- echo _mw_adminimize_get_option_value(
203
- '_mw_adminimize_own_values'
204
- );
205
- ?>
206
- </textarea>
207
  <br/>
208
  <?php
209
  esc_attr_e(
15
 
16
  <div id="poststuff" class="ui-sortable meta-box-sortables">
17
  <div class="postbox">
18
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="global_options"><?php esc_attr_e( 'Global options', 'adminimize' ); ?></h3>
 
19
 
20
  <div class="inside">
21
  <br class="clear"/>
174
  <td>
175
  <label for="_mw_adminimize_own_options"></label>
176
  <textarea name="_mw_adminimize_own_options" cols="60" rows="3"
177
+ id="_mw_adminimize_own_options" style="width: 95%;"><?php
178
+ echo _mw_adminimize_get_option_value('_mw_adminimize_own_options' ); ?></textarea>
 
 
 
 
 
 
 
179
  <br/>
180
  <?php
181
  esc_attr_e(
187
  <td>
188
  <label for="_mw_adminimize_own_values"></label>
189
  <textarea class="code" name="_mw_adminimize_own_values" cols="60" rows="3"
190
+ id="_mw_adminimize_own_values" style="width: 95%;"><?php
191
+ echo _mw_adminimize_get_option_value('_mw_adminimize_own_values' ); ?></textarea>
 
 
 
 
 
 
 
192
  <br/>
193
  <?php
194
  esc_attr_e(
inc-options/im_export_options.php CHANGED
@@ -8,52 +8,56 @@ if ( ! function_exists( 'add_action' ) ) {
8
  echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
9
  exit;
10
  }
 
11
  ?>
 
12
  <div id="poststuff" class="ui-sortable meta-box-sortables">
13
  <div class="postbox">
14
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
15
- <h3 class="hndle" id="import"><?php esc_attr_e( 'Export/Import Options', 'adminimize' ) ?></h3>
16
 
17
  <div class="inside">
18
 
19
- <h4><?php esc_attr_e( 'Export', 'adminimize' ) ?></h4>
20
- <p><?php esc_attr_e(
21
- 'You can save a JSON formatted ".json" file with your settings.', 'adminimize'
22
- ) ?></p>
23
- <form method="post">
24
- <p><input type="hidden" name="_mw_adminimize_export" value="true" /></p>
 
 
25
  <p>
26
  <?php wp_nonce_field( 'mw_adminimize_export_nonce', 'mw_adminimize_export_nonce' ); ?>
27
  <?php
28
  $submit_text = esc_html__( 'Export &raquo;', 'adminimize' );
29
- submit_button( $submit_text, 'primary', '_mw_adminimize_save', false ); ?>
 
30
  </p>
31
  </form>
32
- <br class="clear" />
33
-
34
- <?php /*
35
- <form name="export_options" method="get" action="">
36
- <p><?php esc_attr_e(
37
- 'You can save a JSON formatted ".json" file with your settings.', 'adminimize'
38
- ) ?></p>
39
-
40
  <p>
41
- <?php wp_nonce_field( 'mw_adminimize_export_nonce', 'mw_adminimize_export_nonce' ); ?>
42
- <input type="hidden" name="_mw_adminimize_export" value="true" />
 
 
 
 
 
 
 
 
 
43
  <?php
44
- $submit_text = esc_html__( 'Export &raquo;', 'adminimize' );
45
- submit_button(
46
- $text = $submit_text, $type = 'primary', $name = '_mw_adminimize_save', $wrap = FALSE,
47
- $other_attributes = NULL
48
- );
49
- ?>
50
  </p>
51
  </form>
52
- */ ?>
53
- <h4><?php esc_attr_e( 'Import', 'adminimize' ) ?></h4>
54
- <form name="import_options" enctype="multipart/form-data" method="post" action="?page=<?php echo esc_attr(
55
- $_GET[ 'page' ]
56
- ); ?>">
57
  <?php wp_nonce_field( 'mw_adminimize_nonce' ); ?>
58
  <p><?php _e(
59
  'Choose a Adminimize (<em>.json</em>) file to upload, then click <em>Upload file and import</em>.',
@@ -68,31 +72,30 @@ if ( ! function_exists( 'add_action' ) ) {
68
  'Choose a ".json" file from your computer:', 'adminimize'
69
  ) ?>
70
  </label>
71
- <input name="import_file" id="datei_id" type="file" />
72
  </p>
73
 
74
  <p>
75
  <?php wp_nonce_field( 'mw_adminimize_import_nonce', 'mw_adminimize_import_nonce' ); ?>
76
- <input type="hidden" name="_mw_adminimize_action" value="_mw_adminimize_import" />
77
  <?php
78
  $submit_text = esc_html__( 'Upload file and import &raquo;', 'adminimize' );
79
  submit_button(
80
- $text = $submit_text, $type = 'primary', $name = '_mw_adminimize_save', $wrap = FALSE,
81
- $other_attributes = NULL
82
  );
83
  ?>
84
  </p>
85
  </form>
86
 
87
  <p>
88
- <a class="alignright button adminimize-scroltop" href="#" style="margin:3px 0 0 30px;">
89
- <?php esc_html_e(
90
- 'scroll to top', 'adminimize'
91
- ); ?>
92
- </a><br class="clear" />
93
  </p>
94
 
95
  </div>
96
  </div>
97
  </div>
98
-
8
  echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
9
  exit;
10
  }
11
+ global $wp_roles;
12
  ?>
13
+
14
  <div id="poststuff" class="ui-sortable meta-box-sortables">
15
  <div class="postbox">
16
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"
17
+ id="import"><?php esc_attr_e( 'Export/Import Options', 'adminimize' ); ?></h3>
18
 
19
  <div class="inside">
20
 
21
+ <h3><?php esc_attr_e( 'Export', 'adminimize' ); ?></h3>
22
+ <p><?php esc_attr_e( 'You can save a JSON formatted ".json" file with your settings.', 'adminimize' ); ?></p>
23
+ <label for="_mw_adminimize_choose_export" class="control-label">Export All Roles</label>
24
+ <input type="checkbox" id="adminimize-toggle" name="_mw_adminimize_choose_export" value="1"
25
+ class="adminimize-checkbox" checked="checked">
26
+ <label for="adminimize-toggle" class="switch"></label>
27
+ <form method="post" id="adminimize-export">
28
+ <p><input type="hidden" name="_mw_adminimize_export" value="true"/></p>
29
  <p>
30
  <?php wp_nonce_field( 'mw_adminimize_export_nonce', 'mw_adminimize_export_nonce' ); ?>
31
  <?php
32
  $submit_text = esc_html__( 'Export &raquo;', 'adminimize' );
33
+ submit_button( $submit_text, 'primary', '_mw_adminimize_save', false );
34
+ ?>
35
  </p>
36
  </form>
37
+ <br class="clear">
38
+ <form method="post" id="adminimize-export-role">
 
 
 
 
 
 
39
  <p>
40
+ <label><?php esc_attr_e( 'Choose one or more roles:', 'adminimize' ); ?><br>
41
+ <select name="select_adminimize_roles[]" multiple id="mw_adminimize_export_select_roles">
42
+ <?php foreach ( $wp_roles->role_names as $role_name => $data ) : ?>
43
+ <option value="<?php echo $role_name; ?>"><?php echo $data; ?></option>
44
+ <?php endforeach; ?>
45
+ </select>
46
+ </label>
47
+ </p>
48
+ <p><input type="hidden" name="_mw_adminimize_export_role" value="true"/></p>
49
+ <p>
50
+ <?php wp_nonce_field( 'mw_adminimize_export_role_nonce', 'mw_adminimize_export_role_nonce' ); ?>
51
  <?php
52
+ $submit_text = esc_html__( 'Export role(s) &raquo;', 'adminimize' );
53
+ submit_button( $submit_text, 'primary', '_mw_adminimize_save', false ); ?>
 
 
 
 
54
  </p>
55
  </form>
56
+ <br class="clear">
57
+
58
+ <h3><?php esc_attr_e( 'Import', 'adminimize' ) ?></h3>
59
+ <form name="import_options" enctype="multipart/form-data" method="post"
60
+ action="?page=<?php echo esc_attr( $_GET['page'] ); ?>">
61
  <?php wp_nonce_field( 'mw_adminimize_nonce' ); ?>
62
  <p><?php _e(
63
  'Choose a Adminimize (<em>.json</em>) file to upload, then click <em>Upload file and import</em>.',
72
  'Choose a ".json" file from your computer:', 'adminimize'
73
  ) ?>
74
  </label>
75
+ <input name="import_file" id="datei_id" type="file"/>
76
  </p>
77
 
78
  <p>
79
  <?php wp_nonce_field( 'mw_adminimize_import_nonce', 'mw_adminimize_import_nonce' ); ?>
80
+ <input type="hidden" name="_mw_adminimize_action" value="_mw_adminimize_import"/>
81
  <?php
82
  $submit_text = esc_html__( 'Upload file and import &raquo;', 'adminimize' );
83
  submit_button(
84
+ $text = $submit_text, $type = 'primary', $name = '_mw_adminimize_save', $wrap = false,
85
+ $other_attributes = null
86
  );
87
  ?>
88
  </p>
89
  </form>
90
 
91
  <p>
92
+ <a class="alignright button adminimize-scroltop" href="#" style="margin:3px 0 0 30px;">
93
+ <?php esc_html_e( 'scroll to top', 'adminimize' ); ?>
94
+ </a>
95
+ <br class="clear"/>
 
96
  </p>
97
 
98
  </div>
99
  </div>
100
  </div>
101
+
inc-options/links_options.php CHANGED
@@ -12,8 +12,7 @@ if ( ! function_exists( 'add_action' ) ) {
12
 
13
  <div id="poststuff" class="ui-sortable meta-box-sortables">
14
  <div class="postbox">
15
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
16
- <h3 class="hndle" id="links_options"><?php esc_attr_e( 'Links options', 'adminimize' ); ?></h3>
17
 
18
  <div class="inside">
19
  <br class="clear" />
@@ -181,4 +180,4 @@ if ( ! function_exists( 'add_action' ) ) {
181
 
182
  </div>
183
  </div>
184
- </div>
12
 
13
  <div id="poststuff" class="ui-sortable meta-box-sortables">
14
  <div class="postbox">
15
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="links_options"><?php esc_attr_e( 'Links options', 'adminimize' ); ?></h3>
 
16
 
17
  <div class="inside">
18
  <br class="clear" />
180
 
181
  </div>
182
  </div>
183
+ </div>
inc-options/menu_options.php CHANGED
@@ -12,8 +12,7 @@ if ( ! function_exists( 'add_action' ) ) {
12
 
13
  <div id="poststuff" class="ui-sortable meta-box-sortables">
14
  <div class="postbox">
15
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
16
- <h3 class="hndle" id="config_menu"><?php esc_attr_e( 'Menu Options', 'adminimize' ); ?></h3>
17
 
18
  <div class="inside">
19
  <br class="clear" />
@@ -55,22 +54,19 @@ if ( ! function_exists( 'add_action' ) ) {
55
  </thead>
56
  <tbody>
57
  <?php
 
58
  $wp_menu = (array) _mw_adminimize_get_option_value( 'mw_adminimize_default_menu' );
59
  $wp_submenu = (array) _mw_adminimize_get_option_value( 'mw_adminimize_default_submenu' );
60
 
61
- // Object to array
62
  if ( is_object( $wp_submenu ) ) {
63
  $wp_submenu = get_object_vars( $wp_submenu );
64
  }
65
 
66
  if ( ! isset( $wp_menu ) || empty( $wp_menu ) ) {
67
- global $menu;
68
-
69
- $wp_menu = (array) $menu;
70
  }
71
  if ( ! isset( $wp_submenu ) || empty( $wp_submenu ) ) {
72
- global $submenu;
73
-
74
  $wp_submenu = $submenu;
75
  }
76
 
@@ -118,7 +114,7 @@ if ( ! function_exists( 'add_action' ) ) {
118
  'After activation of this checkbox you will loose the easy access to the settings area inside the menu.', 'adminimize'
119
  ) . '" style="cursor:pointer;"> ! </acronym>';
120
  } else {
121
-
122
  $disabled_item_adm_hint = '';
123
  }
124
 
12
 
13
  <div id="poststuff" class="ui-sortable meta-box-sortables">
14
  <div class="postbox">
15
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="config_menu"><?php esc_attr_e( 'Menu Options', 'adminimize' ); ?></h3>
 
16
 
17
  <div class="inside">
18
  <br class="clear" />
54
  </thead>
55
  <tbody>
56
  <?php
57
+ global $menu, $submenu;
58
  $wp_menu = (array) _mw_adminimize_get_option_value( 'mw_adminimize_default_menu' );
59
  $wp_submenu = (array) _mw_adminimize_get_option_value( 'mw_adminimize_default_submenu' );
60
 
61
+ // Object to array.
62
  if ( is_object( $wp_submenu ) ) {
63
  $wp_submenu = get_object_vars( $wp_submenu );
64
  }
65
 
66
  if ( ! isset( $wp_menu ) || empty( $wp_menu ) ) {
67
+ $wp_menu = $menu;
 
 
68
  }
69
  if ( ! isset( $wp_submenu ) || empty( $wp_submenu ) ) {
 
 
70
  $wp_submenu = $submenu;
71
  }
72
 
114
  'After activation of this checkbox you will loose the easy access to the settings area inside the menu.', 'adminimize'
115
  ) . '" style="cursor:pointer;"> ! </acronym>';
116
  } else {
117
+
118
  $disabled_item_adm_hint = '';
119
  }
120
 
inc-options/minimenu.php CHANGED
@@ -21,8 +21,7 @@ if ( _mw_adminimize_is_active_on_multisite() ) {
21
  <br class="clear" />
22
  <div id="poststuff" class="ui-sortable meta-box-sortables"><!-- The ID should be unique. Right now, all the option panels are sharing the $poststuff ID-->
23
  <div id="minimenu" class="postbox ">
24
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
25
- <h3 class="hndle" id="menu"><?php esc_attr_e( 'MiniMenu', 'adminimize' ) ?></h3>
26
 
27
  <div class="inside">
28
  <table class="widefat" cellspacing="0">
@@ -155,8 +154,7 @@ if ( _mw_adminimize_is_active_on_multisite() ) {
155
 
156
  <div id="poststuff" class="ui-sortable meta-box-sortables">
157
  <div id="about" class="postbox">
158
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
159
- <h3 class="hndle" id="about-sidebar"><?php esc_attr_e( 'About the plugin', 'adminimize' ) ?></h3>
160
 
161
  <div class="inside">
162
  <p>
21
  <br class="clear" />
22
  <div id="poststuff" class="ui-sortable meta-box-sortables"><!-- The ID should be unique. Right now, all the option panels are sharing the $poststuff ID-->
23
  <div id="minimenu" class="postbox ">
24
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="menu"><?php esc_attr_e( 'MiniMenu', 'adminimize' ) ?></h3>
 
25
 
26
  <div class="inside">
27
  <table class="widefat" cellspacing="0">
154
 
155
  <div id="poststuff" class="ui-sortable meta-box-sortables">
156
  <div id="about" class="postbox">
157
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="about-sidebar"><?php esc_attr_e( 'About the plugin', 'adminimize' ) ?></h3>
 
158
 
159
  <div class="inside">
160
  <p>
inc-options/self_settings.php CHANGED
@@ -11,8 +11,7 @@ if ( ! function_exists( 'add_action' ) ) {
11
  ?>
12
  <div id="poststuff" class="ui-sortable meta-box-sortables">
13
  <div id="about" class="postbox">
14
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
15
- <h3 class="hndle" id="self-settings"><?php esc_attr_e( 'Plugin Settings', 'adminimize' ) ?></h3>
16
 
17
  <div class="inside">
18
 
@@ -88,4 +87,4 @@ if ( ! function_exists( 'add_action' ) ) {
88
  </p>
89
  </div>
90
  </div>
91
- </div>
11
  ?>
12
  <div id="poststuff" class="ui-sortable meta-box-sortables">
13
  <div id="about" class="postbox">
14
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="self-settings"><?php esc_attr_e( 'Plugin Settings', 'adminimize' ) ?></h3>
 
15
 
16
  <div class="inside">
17
 
87
  </p>
88
  </div>
89
  </div>
90
+ </div>
inc-options/settings_notice.php CHANGED
File without changes
inc-options/theme_options.php CHANGED
@@ -11,8 +11,7 @@ if ( ! function_exists( 'add_action' ) ) {
11
  ?>
12
  <div id="poststuff" class="ui-sortable meta-box-sortables">
13
  <div class="postbox">
14
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
15
- <h3 class="hndle" id="set_theme" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><?php
16
  esc_attr_e( 'Set Theme', 'adminimize' ) ?></h3>
17
 
18
  <div class="inside">
11
  ?>
12
  <div id="poststuff" class="ui-sortable meta-box-sortables">
13
  <div class="postbox">
14
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="set_theme" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><?php
 
15
  esc_attr_e( 'Set Theme', 'adminimize' ) ?></h3>
16
 
17
  <div class="inside">
inc-options/widget_options.php CHANGED
@@ -9,11 +9,19 @@ if ( ! function_exists( 'add_action' ) ) {
9
  echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
10
  exit;
11
  }
 
 
 
 
 
 
 
 
12
  ?>
 
13
  <div id="poststuff" class="ui-sortable meta-box-sortables">
14
  <div class="postbox">
15
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
16
- <h3 class="hndle" id="widget_options"><?php esc_attr_e( 'Widgets', 'adminimize' ); ?></h3>
17
 
18
  <div class="inside">
19
  <br class="clear" />
9
  echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
10
  exit;
11
  }
12
+
13
+ if ( ! isset( $user_roles ) ) {
14
+ $user_roles = _mw_adminimize_get_all_user_roles();
15
+ }
16
+
17
+ if ( ! isset( $user_roles_names ) ) {
18
+ $user_roles_names = _mw_adminimize_get_all_user_roles_names();
19
+ }
20
  ?>
21
+
22
  <div id="poststuff" class="ui-sortable meta-box-sortables">
23
  <div class="postbox">
24
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="widget_options"><?php esc_attr_e( 'Widgets', 'adminimize' ); ?></h3>
 
25
 
26
  <div class="inside">
27
  <br class="clear" />
inc-options/wp_nav_menu_options.php CHANGED
@@ -11,8 +11,7 @@ if ( ! function_exists( 'add_action' ) ) {
11
  ?>
12
  <div id="poststuff" class="ui-sortable meta-box-sortables">
13
  <div class="postbox">
14
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
15
- <h3 class="hndle" id="nav_menu_options"><?php esc_attr_e( 'WP Nav Menu', 'adminimize' ); ?></h3>
16
 
17
  <div class="inside">
18
  <br class="clear" />
11
  ?>
12
  <div id="poststuff" class="ui-sortable meta-box-sortables">
13
  <div class="postbox">
14
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="nav_menu_options"><?php esc_attr_e( 'WP Nav Menu', 'adminimize' ); ?></h3>
 
15
 
16
  <div class="inside">
17
  <br class="clear" />
inc-options/write_cp_options.php CHANGED
@@ -18,8 +18,7 @@ foreach ( get_post_types( $args ) as $post_type ) {
18
 
19
  <div id="poststuff" class="ui-sortable meta-box-sortables">
20
  <div class="postbox">
21
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
22
- <h3 class="hndle" id="config_edit_<?php echo $post_type; ?>">
23
  <?php esc_attr_e( 'Write options', 'adminimize' );
24
  echo ' - ' . $post_type_object->label; ?>
25
  </h3>
@@ -43,7 +42,7 @@ foreach ( get_post_types( $args ) as $post_type ) {
43
  echo ' - ' . $post_type_object->label ?></th>
44
  <?php
45
  foreach ( (array) $user_roles_names as $role_name ) {
46
- echo '<th>' . esc_attr_e( 'Deactivate for', 'adminimize' )
47
  . '<br/>' . esc_attr( $role_name ) . '</th>';
48
  } ?>
49
  </tr>
18
 
19
  <div id="poststuff" class="ui-sortable meta-box-sortables">
20
  <div class="postbox">
21
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="config_edit_<?php echo $post_type; ?>">
 
22
  <?php esc_attr_e( 'Write options', 'adminimize' );
23
  echo ' - ' . $post_type_object->label; ?>
24
  </h3>
42
  echo ' - ' . $post_type_object->label ?></th>
43
  <?php
44
  foreach ( (array) $user_roles_names as $role_name ) {
45
+ echo '<th>' . esc_attr__( 'Deactivate for', 'adminimize' )
46
  . '<br/>' . esc_attr( $role_name ) . '</th>';
47
  } ?>
48
  </tr>
inc-options/write_page_options.php CHANGED
@@ -8,11 +8,19 @@ if ( ! function_exists( 'add_action' ) ) {
8
  echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
9
  exit;
10
  }
 
 
 
 
 
 
 
 
11
  ?>
 
12
  <div id="poststuff" class="ui-sortable meta-box-sortables">
13
  <div class="postbox">
14
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
15
- <h3 class="hndle" id="config_edit_page"><?php esc_attr_e( 'Write options - Page', 'adminimize' ); ?></h3>
16
  <div class="inside">
17
  <br class="clear" />
18
 
@@ -30,8 +38,9 @@ if ( ! function_exists( 'add_action' ) ) {
30
  <tr>
31
  <th><?php esc_attr_e( 'Write options - Page', 'adminimize' ); ?></th>
32
  <?php
 
33
  foreach ( (array) $user_roles_names as $role_name ) {
34
- echo '<th>' . esc_attr_e( 'Deactivate for', 'adminimize' )
35
  . '<br />' . esc_attr( $role_name ) . '</th>';
36
  } ?>
37
  </tr>
8
  echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
9
  exit;
10
  }
11
+
12
+ if ( ! isset( $user_roles ) ) {
13
+ $user_roles = _mw_adminimize_get_all_user_roles();
14
+ }
15
+
16
+ if ( ! isset( $user_roles_names ) ) {
17
+ $user_roles_names = _mw_adminimize_get_all_user_roles_names();
18
+ }
19
  ?>
20
+
21
  <div id="poststuff" class="ui-sortable meta-box-sortables">
22
  <div class="postbox">
23
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="config_edit_page"><?php esc_attr_e( 'Write options - Page', 'adminimize' ); ?></h3>
 
24
  <div class="inside">
25
  <br class="clear" />
26
 
38
  <tr>
39
  <th><?php esc_attr_e( 'Write options - Page', 'adminimize' ); ?></th>
40
  <?php
41
+
42
  foreach ( (array) $user_roles_names as $role_name ) {
43
+ echo '<th>' . esc_attr__( 'Deactivate for', 'adminimize' )
44
  . '<br />' . esc_attr( $role_name ) . '</th>';
45
  } ?>
46
  </tr>
inc-options/write_post_options.php CHANGED
@@ -8,12 +8,19 @@ if ( ! function_exists( 'add_action' ) ) {
8
  echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
9
  exit;
10
  }
 
 
 
 
 
 
 
 
11
  ?>
12
 
13
  <div id="poststuff" class="ui-sortable meta-box-sortables">
14
  <div class="postbox">
15
- <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><br /></div>
16
- <h3 class="hndle" id="config_edit_post" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><?php
17
  esc_attr_e( 'Write options - Post', 'adminimize' ); ?></h3>
18
 
19
  <div class="inside">
@@ -34,8 +41,7 @@ if ( ! function_exists( 'add_action' ) ) {
34
  <th><?php esc_attr_e( 'Write options - Post', 'adminimize' ); ?></th>
35
  <?php
36
  foreach ( (array) $user_roles_names as $role_name ) { ?>
37
- <th><?php esc_attr_e( 'Deactivate for', 'adminimize' );
38
- echo '<br/>' . $role_name; ?></th>
39
  <?php } ?>
40
  </tr>
41
  <tr>
@@ -43,7 +49,7 @@ if ( ! function_exists( 'add_action' ) ) {
43
  <?php
44
  foreach ( (array) $user_roles as $role_slug ) {
45
  echo '<td class="num"><input id="select_all" class="write_post_options_'
46
- . esc_attr( $role_slug ) . '" type="checkbox" name="" value="" /></td>' . "\n";
47
  } ?>
48
  </tr>
49
  </thead>
8
  echo "Hi there! I'm just a part of plugin, not much I can do when called directly.";
9
  exit;
10
  }
11
+
12
+ if ( ! isset( $user_roles ) ) {
13
+ $user_roles = _mw_adminimize_get_all_user_roles();
14
+ }
15
+
16
+ if ( ! isset( $user_roles_names ) ) {
17
+ $user_roles_names = _mw_adminimize_get_all_user_roles_names();
18
+ }
19
  ?>
20
 
21
  <div id="poststuff" class="ui-sortable meta-box-sortables">
22
  <div class="postbox">
23
+ <h3 class="hndle ui-sortable-handle" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>" id="config_edit_post" title="<?php esc_attr_e( 'Click to toggle', 'adminimize' ); ?>"><?php
 
24
  esc_attr_e( 'Write options - Post', 'adminimize' ); ?></h3>
25
 
26
  <div class="inside">
41
  <th><?php esc_attr_e( 'Write options - Post', 'adminimize' ); ?></th>
42
  <?php
43
  foreach ( (array) $user_roles_names as $role_name ) { ?>
44
+ <th><?php esc_attr_e( 'Deactivate for', 'adminimize' ); echo '<br/>' . $role_name; ?></th>
 
45
  <?php } ?>
46
  </tr>
47
  <tr>
49
  <?php
50
  foreach ( (array) $user_roles as $role_slug ) {
51
  echo '<td class="num"><input id="select_all" class="write_post_options_'
52
+ . esc_attr( $role_slug ) . '" type="checkbox" name="" value="" /></td>' . "\n";
53
  } ?>
54
  </tr>
55
  </thead>
inc-setup/DebugListener.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class DebugListener {
4
+
5
+ /**
6
+ * Store message and data for output.
7
+ *
8
+ * @var array
9
+ */
10
+ protected $data = array();
11
+
12
+ /**
13
+ * Set default message and set var.
14
+ *
15
+ * @param string $message Message about the data.
16
+ * @param mixed $data The data for debugging.
17
+ */
18
+ public function listen( $message, $data ) {
19
+ if ( ! $message ) {
20
+ $message = 'Debug in Console via Adminimize Plugin:';
21
+ }
22
+ $this->data = array( $message, $data );
23
+ }
24
+
25
+ /**
26
+ * Print the message and data inside the console of the browser.
27
+ */
28
+ public function dump() {
29
+ // Buffering.
30
+ ob_start();
31
+ $output = '';
32
+ foreach ( $this->data as $entry ) {
33
+ $output .= 'console.info(' . json_encode( $entry[0] ) . ');';
34
+ $output .= 'console.log(' . json_encode( $entry[1] ) . ');';
35
+ }
36
+
37
+ echo sprintf( '<script>%s</script>', $output );
38
+ }
39
+ }
inc-setup/admin-bar-items.php CHANGED
File without changes
inc-setup/admin-footer.php CHANGED
File without changes
inc-setup/dashboard.php CHANGED
@@ -80,7 +80,7 @@ function _mw_adminimize_dashboard_setup() {
80
  }
81
 
82
  // Remove the dashboards widgets for the current active role.
83
- foreach ( (array) $disabled_dashboard_option as $widget ) {
84
  if ( isset( $widgets[ $widget ]['context'] ) ) {
85
  remove_meta_box( $widget, 'dashboard', $widgets[ $widget ]['context'] );
86
  }
@@ -150,6 +150,11 @@ function _mw_adminimize_get_dashboard_widgets() {
150
  foreach ( (array) $wp_meta_boxes['dashboard'] as $context => $datas ) {
151
  foreach ( (array) $datas as $priority => $data ) {
152
  foreach ( (array) $data as $widget => $value ) {
 
 
 
 
 
153
  $widgets[ $widget ] = array(
154
  'id' => $widget,
155
  'title' => strip_tags(
80
  }
81
 
82
  // Remove the dashboards widgets for the current active role.
83
+ foreach ( $disabled_dashboard_option as $widget ) {
84
  if ( isset( $widgets[ $widget ]['context'] ) ) {
85
  remove_meta_box( $widget, 'dashboard', $widgets[ $widget ]['context'] );
86
  }
150
  foreach ( (array) $wp_meta_boxes['dashboard'] as $context => $datas ) {
151
  foreach ( (array) $datas as $priority => $data ) {
152
  foreach ( (array) $data as $widget => $value ) {
153
+
154
+ if ( ! isset( $value['title'])) {
155
+ $value['title'] = '';
156
+ }
157
+
158
  $widgets[ $widget ] = array(
159
  'id' => $widget,
160
  'title' => strip_tags(
inc-setup/export.php CHANGED
@@ -14,6 +14,8 @@ if ( ! function_exists( 'add_action' ) ) {
14
  }
15
 
16
  add_action( 'admin_init', '_mw_adminimize_export_json' );
 
 
17
  /**
18
  * Process a settings export that generates a .json file of the shop settings.
19
  */
@@ -57,3 +59,67 @@ function _mw_adminimize_export_json() {
57
  echo wp_json_encode( $settings );
58
  exit();
59
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  }
15
 
16
  add_action( 'admin_init', '_mw_adminimize_export_json' );
17
+ add_action( 'admin_init', '_mw_adminimize_export_role_json' );
18
+
19
  /**
20
  * Process a settings export that generates a .json file of the shop settings.
21
  */
59
  echo wp_json_encode( $settings );
60
  exit();
61
  }
62
+
63
+ /**
64
+ * Process a settings export for one or many roles that generates a .json file of the shop settings.
65
+ *
66
+ * @return array
67
+ */
68
+ function _mw_adminimize_export_role_json() {
69
+
70
+ if ( ! is_admin() ) {
71
+ return;
72
+ }
73
+
74
+ if ( ! current_user_can( 'manage_options' ) ) {
75
+ return;
76
+ }
77
+
78
+ // If is AJAX Call.
79
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
80
+ return;
81
+ }
82
+
83
+ if ( empty( $_POST[ '_mw_adminimize_export_role' ] )
84
+ || 'true' !== $_POST[ '_mw_adminimize_export_role' ]
85
+ || empty( $_POST['select_adminimize_roles']) ) {
86
+ return;
87
+ }
88
+
89
+ require_once ABSPATH . 'wp-includes/pluggable.php';
90
+ if ( ! wp_verify_nonce( $_POST[ 'mw_adminimize_export_role_nonce' ], 'mw_adminimize_export_role_nonce' ) ) {
91
+ return;
92
+ }
93
+
94
+ $keys = [];
95
+ $adminimize_roles = $_POST['select_adminimize_roles'];
96
+ $adminimize_option = _mw_adminimize_get_option_value();
97
+ foreach( $adminimize_roles as $adminimize_role ){
98
+
99
+ $adminimize_role_keys = array_filter(
100
+ $adminimize_option, function( $option_key ) use ( $adminimize_role ){
101
+ return stripos( $option_key, '_' . $adminimize_role ) !== false;
102
+ }, ARRAY_FILTER_USE_KEY
103
+ );
104
+ if ( empty( $keys ) ){
105
+ $keys = $adminimize_role_keys;
106
+ } else {
107
+ $keys = array_merge( $keys, $adminimize_role_keys );
108
+ }
109
+ }
110
+
111
+ $filepath = 'mw_adminimize-settings-role-export-' . date( 'm-d-Y' ) . '.json';
112
+
113
+ ignore_user_abort( TRUE );
114
+
115
+ nocache_headers();
116
+ header( 'Cache-Control: public' );
117
+ header( 'Content-Type: application/json; charset=utf-8' );
118
+ header( 'Content-Transfer-Encoding: binary' );
119
+ header( 'Content-Disposition: attachment; filename=' . $filepath );
120
+ header( 'Expires: 0' );
121
+
122
+ echo wp_json_encode( $keys );
123
+ exit();
124
+ }
125
+
inc-setup/footer.php CHANGED
File without changes
inc-setup/helping_hands.php CHANGED
@@ -83,27 +83,23 @@ function _mw_adminimize_current_user_has_role( $role ) {
83
  * @return string|void
84
  */
85
  function _mw_adminimize_debug( $data, $description = '' ) {
86
-
87
- // Don't run on export data of Adminimize settings.
88
- if ( isset( $_POST['_mw_adminimize_export'] ) ) {
89
- return;
90
- }
91
-
92
  if ( ! _mw_adminimize_get_option_value( 'mw_adminimize_debug' ) ) {
93
  return;
94
  }
95
 
96
- if ( '' === $description ) {
97
- $description = 'Debug in Console via Adminimize Plugin:';
98
  }
99
 
100
- // Buffering to solve problems with WP core, header() etc.
101
  ob_start();
102
- $output = 'console.info(' . json_encode( $description ) . ');';
 
103
  $output .= 'console.log(' . json_encode( $data ) . ');';
104
- $output = sprintf( '<script>%s</script>', $output );
105
 
106
- echo $output;
 
 
107
  }
108
 
109
  /**
83
  * @return string|void
84
  */
85
  function _mw_adminimize_debug( $data, $description = '' ) {
 
 
 
 
 
 
86
  if ( ! _mw_adminimize_get_option_value( 'mw_adminimize_debug' ) ) {
87
  return;
88
  }
89
 
90
+ if ( ! class_exists( 'DebugListener' ) ) {
91
+ return;
92
  }
93
 
94
+ // Buffering.
95
  ob_start();
96
+ $output = '';
97
+ $output .= 'console.info(' . json_encode( $description ) . ');';
98
  $output .= 'console.log(' . json_encode( $data ) . ');';
 
99
 
100
+ echo sprintf( '<script>%s</script>', $output );
101
+
102
+ do_action( 'adminimize.log', $description, $data );
103
  }
104
 
105
  /**
inc-setup/import.php CHANGED
File without changes
inc-setup/messages.php CHANGED
File without changes
inc-setup/meta-boxes.php CHANGED
File without changes
inc-setup/remove-admin-bar.php CHANGED
File without changes
inc-setup/remove-admin-notices.php CHANGED
File without changes
inc-setup/widget.php CHANGED
File without changes
js/adminimize.js CHANGED
@@ -37,4 +37,20 @@ jQuery( document ).ready( function( $ ) {
37
  $('html,body').animate({scrollTop:0},700);
38
  });
39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  } );
37
  $('html,body').animate({scrollTop:0},700);
38
  });
39
 
40
+ // Adminimize export switch
41
+ $('#adminimize-toggle').on('click', function(e){
42
+ var value = $(this).attr('checked');
43
+ if ( value == 'checked'){
44
+ $('#adminimize-export-role').css('display', 'none');
45
+ $('#adminimize-export').css('display', 'block');
46
+ } else {
47
+ $('#adminimize-export-role').css('display', 'flex');
48
+ $('#adminimize-export').css('display', 'none');
49
+ }
50
+ });
51
+
52
+ $('#mw_adminimize_export_select_roles').select2({
53
+ width: '100%'
54
+ });
55
+
56
  } );
js/adminimize.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(a){"use strict";a("thead input:checkbox").change(function(){var b=this.className,c="input:checkbox."+b;a(c).prop("checked",a(this).prop("checked"))}),a(".postbox h3").on("click",function(b){a(this).closest(".postbox").toggleClass("closed"),b.preventDefault()}),a('.postbox:not(:first)').addClass('closed'),a('#minimenu a').on('click',function(e){var ID=a(this).attr('href');a(ID).closest('.postbox').removeClass('closed');}),a('.adminimize-scroltop').on('click',function(e){e.preventDefault();a('html,body').animate({scrollTop:0},700);});});
1
+ jQuery(document).ready(function(a){"use strict";a("thead input:checkbox").change(function(){var b=this.className,c="input:checkbox."+b;a(c).prop("checked",a(this).prop("checked"))}),a(".postbox h3").on("click",function(b){a(this).closest(".postbox").toggleClass("closed"),b.preventDefault()}),a(".postbox:not(:first)").addClass("closed"),a("#minimenu a").on("click",function(b){var c=a(this).attr("href");a(c).closest(".postbox").removeClass("closed")}),a(".adminimize-scroltop").on("click",function(b){b.preventDefault(),a("html,body").animate({scrollTop:0},700)}),a("#adminimize-toggle").on("click",function(b){var c=a(this).attr("checked");"checked"==c?(a("#adminimize-export-role").css("display","none"),a("#adminimize-export").css("display","block")):(a("#adminimize-export-role").css("display","flex"),a("#adminimize-export").css("display","none"))}),a("#mw_adminimize_export_select_roles").select2({width:"100%"})});
js/remove_footer.js CHANGED
File without changes
js/remove_footer.min.js CHANGED
File without changes
js/remove_header.js CHANGED
File without changes
js/remove_header.min.js CHANGED
File without changes
js/select2.min.js ADDED
@@ -0,0 +1,2 @@
 
 
1
+ /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
+ !function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:n(jQuery)}(function(u){var e=function(){if(u&&u.fn&&u.fn.select2&&u.fn.select2.amd)var e=u.fn.select2.amd;var t,n,r,h,o,s,f,g,m,v,y,_,i,a,b;function w(e,t){return i.call(e,t)}function l(e,t){var n,r,i,o,s,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(s=(e=e.split("/")).length-1,y.nodeIdCompat&&b.test(e[s])&&(e[s]=e[s].replace(b,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),u-=1;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;u-=1){if(r=n.slice(0,u).join("/"),h)for(d=h.length;0<d;d-=1)if(i=(i=f[h.slice(0,d).join("/")])&&i[r]){o=i,a=u;break}if(o)break;!l&&g&&g[r]&&(l=g[r],c=u)}!o&&l&&(o=l,a=c),o&&(n.splice(0,a,o),e=n.join("/"))}return e}function A(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),s.apply(h,e.concat([t,n]))}}function x(t){return function(e){m[t]=e}}function D(e){if(w(v,e)){var t=v[e];delete v[e],_[e]=!0,o.apply(h,t)}if(!w(m,e)&&!w(_,e))throw new Error("No "+e);return m[e]}function c(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?c(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},_={},i=Object.prototype.hasOwnProperty,a=[].slice,b=/\.js$/,f=function(e,t){var n,r=c(e),i=r[0],o=t[1];return e=r[1],i&&(n=D(i=l(i,o))),i?e=n&&n.normalize?n.normalize(e,function(t){return function(e){return l(e,t)}}(o)):l(e,o):(i=(r=c(e=l(e,o)))[0],e=r[1],i&&(n=D(i))),{f:i?i+"!"+e:e,n:e,pr:i,p:n}},g={require:function(e){return A(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:function(e){return function(){return y&&y.config&&y.config[e]||{}}}(e)}}},o=function(e,t,n,r){var i,o,s,a,l,c,u,d=[],p=typeof n;if(c=S(r=r||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(o=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===o)d[l]=g.exports(e),u=!0;else if("module"===o)i=d[l]=g.module(e);else if(w(m,o)||w(v,o)||w(_,o))d[l]=D(o);else{if(!a.p)throw new Error(e+" missing "+o);a.p.load(a.n,A(r,!0),x(o),{}),d[l]=m[o]}s=n?n.apply(m[e],d):void 0,e&&(i&&i.exports!==h&&i.exports!==m[e]?m[e]=i.exports:s===h&&u||(m[e]=s))}else e&&(m[e]=n)},t=n=s=function(e,t,n,r,i){if("string"==typeof e)return g[e]?g[e](t):D(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&s(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=r,r=i),r?o(h,e,t,n):setTimeout(function(){o(h,e,t,n)},4),s},s.config=function(e){return s(e)},t._defined=m,(r=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),w(m,e)||w(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=r),e.define("almond",function(){}),e.define("jquery",[],function(){var e=u||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(o){var i={};function u(e){var t=e.prototype,n=[];for(var r in t){"function"==typeof t[r]&&"constructor"!==r&&n.push(r)}return n}i.Extend=function(e,t){var n={}.hasOwnProperty;function r(){this.constructor=e}for(var i in t)n.call(t,i)&&(e[i]=t[i]);return r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype,e},i.Decorate=function(r,i){var e=u(i),t=u(r);function o(){var e=Array.prototype.unshift,t=i.prototype.constructor.length,n=r.prototype.constructor;0<t&&(e.call(arguments,r.prototype.constructor),n=i.prototype.constructor),n.apply(this,arguments)}i.displayName=r.displayName,o.prototype=new function(){this.constructor=o};for(var n=0;n<t.length;n++){var s=t[n];o.prototype[s]=r.prototype[s]}function a(e){var t=function(){};e in o.prototype&&(t=o.prototype[e]);var n=i.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];o.prototype[c]=a(c)}return o};function e(){this.listeners={}}e.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},e.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},e.prototype.invoke=function(e,t){for(var n=0,r=e.length;n<r;n++)e[n].apply(this,t)},i.Observable=e,i.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},i.bind=function(e,t){return function(){e.apply(t,arguments)}},i._convertData=function(e){for(var t in e){var n=t.split("-"),r=e;if(1!==n.length){for(var i=0;i<n.length;i++){var o=n[i];(o=o.substring(0,1).toLowerCase()+o.substring(1))in r||(r[o]={}),i==n.length-1&&(r[o]=e[t]),r=r[o]}delete e[t]}}return e},i.hasScroll=function(e,t){var n=o(t),r=t.style.overflowX,i=t.style.overflowY;return(r!==i||"hidden"!==i&&"visible"!==i)&&("scroll"===r||"scroll"===i||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},i.escapeMarkup=function(e){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},i.appendMany=function(e,t){if("1.7"===o.fn.jquery.substr(0,3)){var n=o();o.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},i.__cache={};var n=0;return i.GetUniqueElementId=function(e){var t=e.getAttribute("data-select2-id");return null==t&&(e.id?(t=e.id,e.setAttribute("data-select2-id",t)):(e.setAttribute("data-select2-id",++n),t=n.toString())),t},i.StoreData=function(e,t,n){var r=i.GetUniqueElementId(e);i.__cache[r]||(i.__cache[r]={}),i.__cache[r][t]=n},i.GetData=function(e,t){var n=i.GetUniqueElementId(e);return t?i.__cache[n]&&null!=i.__cache[n][t]?i.__cache[n][t]:o(e).data(t):i.__cache[n]},i.RemoveData=function(e){var t=i.GetUniqueElementId(e);null!=i.__cache[t]&&delete i.__cache[t],e.removeAttribute("data-select2-id")},i}),e.define("select2/results",["jquery","./utils"],function(h,f){function r(e,t,n){this.$element=e,this.data=n,this.options=t,r.__super__.constructor.call(this)}return f.Extend(r,f.Observable),r.prototype.render=function(){var e=h('<ul class="select2-results__options" role="listbox"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},r.prototype.clear=function(){this.$results.empty()},r.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),r=this.options.get("translations").get(e.message);n.append(t(r(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},r.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},r.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var r=e.results[n],i=this.option(r);t.push(i)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},r.prototype.position=function(e,t){t.find(".select2-results").append(e)},r.prototype.sort=function(e){return this.options.get("sorter")(e)},r.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[aria-selected]"),t=e.filter("[aria-selected=true]");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},r.prototype.setClasses=function(){var t=this;this.data.current(function(e){var r=h.map(e,function(e){return e.id.toString()});t.$results.find(".select2-results__option[aria-selected]").each(function(){var e=h(this),t=f.GetData(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<h.inArray(n,r)?e.attr("aria-selected","true"):e.attr("aria-selected","false")})})},r.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},r.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},r.prototype.option=function(e){var t=document.createElement("li");t.className="select2-results__option";var n={role:"option","aria-selected":"false"},r=window.Element.prototype.matches||window.Element.prototype.msMatchesSelector||window.Element.prototype.webkitMatchesSelector;for(var i in(null!=e.element&&r.call(e.element,":disabled")||null==e.element&&e.disabled)&&(delete n["aria-selected"],n["aria-disabled"]="true"),null==e.id&&delete n["aria-selected"],null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n.role="group",n["aria-label"]=e.text,delete n["aria-selected"]),n){var o=n[i];t.setAttribute(i,o)}if(e.children){var s=h(t),a=document.createElement("strong");a.className="select2-results__group";h(a);this.template(e,a);for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});p.append(l),s.append(a),s.append(p)}else this.template(e,t);return f.StoreData(t,"data",e),t},r.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.options.get("scrollAfterSelect")&&l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=f.GetData(e[0],"data");"true"==e.attr("aria-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e);if(!(n<=0)){var r=n-1;0===e.length&&(r=0);var i=t.eq(r);i.trigger("mouseenter");var o=l.$results.offset().top,s=i.offset().top,a=l.$results.scrollTop()+(s-o);0===r?l.$results.scrollTop(0):s-o<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[aria-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var r=t.eq(n);r.trigger("mouseenter");var i=l.$results.offset().top+l.$results.outerHeight(!1),o=r.offset().top+r.outerHeight(!1),s=l.$results.scrollTop()+o-i;0===n?l.$results.scrollTop(0):i<o&&l.$results.scrollTop(s)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted")}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,r=0<e.deltaY&&t-e.deltaY<=0,i=e.deltaY<0&&n<=l.$results.height();r?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):i&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(e){var t=h(this),n=f.GetData(this,"data");"true"!==t.attr("aria-selected")?l.trigger("select",{originalEvent:e,data:n}):l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(e){var t=f.GetData(this,"data");l.getHighlightedResults().removeClass("select2-results__option--highlighted"),l.trigger("results:focus",{data:t,element:h(this)})})},r.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},r.prototype.destroy=function(){this.$results.remove()},r.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[aria-selected]").index(e),n=this.$results.offset().top,r=e.offset().top,i=this.$results.scrollTop()+(r-n),o=r-n;i-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(o>this.$results.outerHeight()||o<0)&&this.$results.scrollTop(i)}},r.prototype.template=function(e,t){var n=this.options.get("templateResult"),r=this.options.get("escapeMarkup"),i=n(e,t);null==i?t.style.display="none":"string"==typeof i?t.innerHTML=r(i):h(t).append(i)},r}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(n,r,i){function o(e,t){this.$element=e,this.options=t,o.__super__.constructor.call(this)}return r.Extend(o,r.Observable),o.prototype.render=function(){var e=n('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=r.GetData(this.$element[0],"old-tabindex")?this._tabindex=r.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),e.attr("aria-disabled","false"),this.$selection=e},o.prototype.bind=function(e,t){var n=this,r=e.id+"-results";this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===i.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",r),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","false"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),n.$selection.trigger("focus"),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex),n.$selection.attr("aria-disabled","false")}),e.on("disable",function(){n.$selection.attr("tabindex","-1"),n.$selection.attr("aria-disabled","true")})},o.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||n.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},o.prototype._attachCloseHandler=function(e){n(document.body).on("mousedown.select2."+e.id,function(e){var t=n(e.target).closest(".select2");n(".select2.select2-container--open").each(function(){this!=t[0]&&r.GetData(this,"element").select2("close")})})},o.prototype._detachCloseHandler=function(e){n(document.body).off("mousedown.select2."+e.id)},o.prototype.position=function(e,t){t.find(".selection").append(e)},o.prototype.destroy=function(){this._detachCloseHandler(this.container)},o.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},o.prototype.isEnabled=function(){return!this.isDisabled()},o.prototype.isDisabled=function(){return this.options.get("disabled")},o}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,n,r){function i(){i.__super__.constructor.apply(this,arguments)}return n.Extend(i,t),i.prototype.render=function(){var e=i.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},i.prototype.bind=function(t,e){var n=this;i.__super__.bind.apply(this,arguments);var r=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",r).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",r),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.trigger("focus")})},i.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},i.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},i.prototype.selectionContainer=function(){return e("<span></span>")},i.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),r=this.display(t,n);n.empty().append(r);var i=t.title||t.text;i?n.attr("title",i):n.removeAttr("title")}else this.clear()},i}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(i,e,l){function n(e,t){n.__super__.constructor.apply(this,arguments)}return l.Extend(n,e),n.prototype.render=function(){var e=n.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered"></ul>'),e},n.prototype.bind=function(e,t){var r=this;n.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){r.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!r.isDisabled()){var t=i(this).parent(),n=l.GetData(t[0],"data");r.trigger("unselect",{originalEvent:e,data:n})}})},n.prototype.clear=function(){var e=this.$selection.find(".select2-selection__rendered");e.empty(),e.removeAttr("title")},n.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},n.prototype.selectionContainer=function(){return i('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>')},n.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n<e.length;n++){var r=e[n],i=this.selectionContainer(),o=this.display(r,i);i.append(o);var s=r.title||r.text;s&&i.attr("title",s),l.StoreData(i[0],"data",r),t.push(i)}var a=this.$selection.find(".select2-selection__rendered");l.appendMany(a,t)}},n}),e.define("select2/selection/placeholder",["../utils"],function(e){function t(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return t.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},t.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.html(this.display(t)),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},t.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var r=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(r)},t}),e.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(i,r,a){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){r._handleClear(e)}),t.on("keypress",function(e){r._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.isDisabled()){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();var r=a.GetData(n[0],"data"),i=this.$element.val();this.$element.val(this.placeholder.id);var o={data:r};if(this.trigger("clear",o),o.prevented)this.$element.val(i);else{for(var s=0;s<r.length;s++)if(o={data:r[s]},this.trigger("unselect",o),o.prevented)return void this.$element.val(i);this.$element.trigger("input").trigger("change"),this.trigger("toggle",{})}}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=r.DELETE&&t.which!=r.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=this.options.get("translations").get("removeAllItems"),r=i('<span class="select2-selection__clear" title="'+n()+'">&times;</span>');a.StoreData(r[0],"data",t),this.$selection.find(".select2-selection__rendered").prepend(r)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(r,a,l){function e(e,t,n){e.call(this,t,n)}return e.prototype.render=function(e){var t=r('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></li>');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},e.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),t.on("open",function(){r.$search.attr("aria-controls",i),r.$search.trigger("focus")}),t.on("close",function(){r.$search.val(""),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.trigger("focus")}),t.on("enable",function(){r.$search.prop("disabled",!1),r._transferTabIndex()}),t.on("disable",function(){r.$search.prop("disabled",!0)}),t.on("focus",function(e){r.$search.trigger("focus")}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")}),this.$selection.on("focusin",".select2-search--inline",function(e){r.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){r._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented(),e.which===l.BACKSPACE&&""===r.$search.val()){var t=r.$searchContainer.prev(".select2-selection__choice");if(0<t.length){var n=a.GetData(t[0],"data");r.searchRemoveChoice(n),e.preventDefault()}}}),this.$selection.on("click",".select2-search--inline",function(e){r.$search.val()&&e.stopPropagation()});var o=document.documentMode,s=o&&o<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){s?r.$selection.off("input.search input.searchcheck"):r.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(s&&"input"===e.type)r.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=l.SHIFT&&t!=l.CTRL&&t!=l.ALT&&t!=l.TAB&&r.handleSearch(e)}})},e.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},e.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},e.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.trigger("focus")},e.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},e.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},e.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").width():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},e}),e.define("select2/selection/eventRelay",["jquery"],function(s){function e(){}return e.prototype.bind=function(e,t,n){var r=this,i=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],o=["opening","closing","selecting","unselecting","clearing"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==s.inArray(e,i)){t=t||{};var n=s.Event("select2:"+e,{params:t});r.$element.trigger(n),-1!==s.inArray(e,o)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function r(e){this.dict=e||{}}return r.prototype.all=function(){return this.dict},r.prototype.get=function(e){return this.dict[e]},r.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},r._cache={},r.loadPath=function(e){if(!(e in r._cache)){var t=n(e);r._cache[e]=t}return new r(r._cache[e])},r}),e.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Œ":"OE","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","œ":"oe","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ώ":"ω","ς":"σ","’":"'"}}),e.define("select2/data/base",["../utils"],function(r){function n(e,t){n.__super__.constructor.call(this)}return r.Extend(n,r.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n=e.id+"-result-";return n+=r.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+r.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,a,l){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return a.Extend(n,e),n.prototype.current=function(e){var n=[],r=this;this.$element.find(":selected").each(function(){var e=l(this),t=r.item(e);n.push(t)}),e(n)},n.prototype.select=function(i){var o=this;if(i.selected=!0,l(i.element).is("option"))return i.element.selected=!0,void this.$element.trigger("input").trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(i=[i]).push.apply(i,e);for(var n=0;n<i.length;n++){var r=i[n].id;-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("input").trigger("change")});else{var e=i.id;this.$element.val(e),this.$element.trigger("input").trigger("change")}},n.prototype.unselect=function(i){var o=this;if(this.$element.prop("multiple")){if(i.selected=!1,l(i.element).is("option"))return i.element.selected=!1,void this.$element.trigger("input").trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n].id;r!==i.id&&-1===l.inArray(r,t)&&t.push(r)}o.$element.val(t),o.$element.trigger("input").trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){a.RemoveData(this)})},n.prototype.query=function(r,e){var i=[],o=this;this.$element.children().each(function(){var e=l(this);if(e.is("option")||e.is("optgroup")){var t=o.item(e),n=o.matches(r,t);null!==n&&i.push(n)}}),e({results:i})},n.prototype.addOptions=function(e){a.appendMany(this.$element,e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:void 0!==(t=document.createElement("option")).textContent?t.textContent=e.text:t.innerText=e.text,void 0!==e.id&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=l(t),r=this._normalizeItem(e);return r.element=t,a.StoreData(t,"data",r),n},n.prototype.item=function(e){var t={};if(null!=(t=a.GetData(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var n=e.children("option"),r=[],i=0;i<n.length;i++){var o=l(n[i]),s=this.item(o);r.push(s)}t.children=r}return(t=this._normalizeItem(t)).element=e[0],a.StoreData(e[0],"data",t),t},n.prototype._normalizeItem=function(e){e!==Object(e)&&(e={id:e,text:e});return null!=(e=l.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&null!=this.container&&(e._resultId=this.generateResultId(this.container,e)),l.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,f,g){function r(e,t){this._dataToConvert=t.get("data")||[],r.__super__.constructor.call(this,e,t)}return f.Extend(r,e),r.prototype.bind=function(e,t){r.__super__.bind.call(this,e,t),this.addOptions(this.convertToOptions(this._dataToConvert))},r.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),r.__super__.select.call(this,n)},r.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),r=n.map(function(){return t.item(g(this)).id}).get(),i=[];function o(e){return function(){return g(this).val()==e.id}}for(var s=0;s<e.length;s++){var a=this._normalizeItem(e[s]);if(0<=g.inArray(a.id,r)){var l=n.filter(o(a)),c=this.item(l),u=g.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);f.appendMany(p,h)}i.push(p)}}return i},r}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,o){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return o.extend({},e,{q:e.term})},transport:function(e,t,n){var r=o.ajax(e);return r.then(t),r.fail(n),r}};return o.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,r){var i=this;null!=this._request&&(o.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=o.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=i.processResults(e,n);i.options.get("debug")&&window.console&&console.error&&(t&&t.results&&o.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),r(t)},function(){"status"in e&&(0===e.status||"0"===e.status)||i.trigger("results:message",{message:"errorLoading"})});i._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(u){function e(e,t,n){var r=n.get("tags"),i=n.get("createTag");void 0!==i&&(this.createTag=i);var o=n.get("insertTag");if(void 0!==o&&(this.insertTag=o),e.call(this,t,n),u.isArray(r))for(var s=0;s<r.length;s++){var a=r[s],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,c,u){var d=this;this._removeOldTags(),null!=c.term&&null==c.page?e.call(this,c,function e(t,n){for(var r=t.results,i=0;i<r.length;i++){var o=r[i],s=null!=o.children&&!e({results:o.children},!0);if((o.text||"").toUpperCase()===(c.term||"").toUpperCase()||s)return!n&&(t.data=r,void u(t))}if(n)return!0;var a=d.createTag(c);if(null!=a){var l=d.option(a);l.attr("data-select2-tag",!0),d.addOptions([l]),d.insertTag(r,a)}t.results=r,u(t)}):e.call(this,c,u)},e.prototype.createTag=function(e,t){var n=u.trim(t.term);return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this.$element.find("option[data-select2-tag]").each(function(){this.selected||u(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var r=n.get("tokenizer");void 0!==r&&(this.tokenizer=r),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var r=this;t.term=t.term||"";var i=this.tokenizer(t,this.options,function(e){var t=r._normalizeItem(e);if(!r.$element.find("option").filter(function(){return d(this).val()===t.id}).length){var n=r.option(t);n.attr("data-select2-tag",!0),r._removeOldTags(),r.addOptions([n])}!function(e){r.trigger("select",{data:e})}(t)});i.term!==t.term&&(this.$search.length&&(this.$search.val(i.term),this.$search.trigger("focus")),t.term=i.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,r){for(var i=n.get("tokenSeparators")||[],o=t.term,s=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};s<o.length;){var l=o[s];if(-1!==d.inArray(l,i)){var c=o.substr(0,s),u=a(d.extend({},t,{term:c}));null!=u?(r(u),o=o.substr(s+1)||"",s=0):s++}else s++}return{term:o}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(){r._checkIfMaximumSelected()})},e.prototype.query=function(e,t,n){var r=this;this._checkIfMaximumSelected(function(){e.call(r,t,n)})},e.prototype._checkIfMaximumSelected=function(e,n){var r=this;this.current(function(e){var t=null!=e?e.length:0;0<r.maximumSelectionLength&&t>=r.maximumSelectionLength?r.trigger("results:message",{message:"maximumSelected",args:{maximum:r.maximumSelectionLength}}):n&&n()})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(o,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=o('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var r=this,i=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){r.trigger("keypress",e),r._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){o(this).off("keyup")}),this.$search.on("keyup input",function(e){r.handleSearch(e)}),t.on("open",function(){r.$search.attr("tabindex",0),r.$search.attr("aria-controls",i),r.$search.trigger("focus"),window.setTimeout(function(){r.$search.trigger("focus")},0)}),t.on("close",function(){r.$search.attr("tabindex",-1),r.$search.removeAttr("aria-controls"),r.$search.removeAttr("aria-activedescendant"),r.$search.val(""),r.$search.trigger("blur")}),t.on("focus",function(){t.isOpen()||r.$search.trigger("focus")}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(r.showSearch(e)?r.$searchContainer.removeClass("select2-search--hide"):r.$searchContainer.addClass("select2-search--hide"))}),t.on("results:focus",function(e){e.data._resultId?r.$search.attr("aria-activedescendant",e.data._resultId):r.$search.removeAttr("aria-activedescendant")})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,r){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,r)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),r=t.length-1;0<=r;r--){var i=t[r];this.placeholder.id===i.id&&n.splice(r,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(n){function e(e,t,n,r){this.lastParams={},e.call(this,t,n,r),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&(this.$results.append(this.$loadingMore),this.loadMoreIfNeeded())},e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("query",function(e){r.lastParams=e,r.loading=!0}),t.on("query:append",function(e){r.lastParams=e,r.loading=!0}),this.$results.on("scroll",this.loadMoreIfNeeded.bind(this))},e.prototype.loadMoreIfNeeded=function(){var e=n.contains(document.documentElement,this.$loadingMore[0]);if(!this.loading&&e){var t=this.$results.offset().top+this.$results.outerHeight(!1);this.$loadingMore.offset().top+this.$loadingMore.outerHeight(!1)<=t+50&&this.loadMore()}},e.prototype.loadMore=function(){this.loading=!0;var e=n.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=n('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=f(n.get("dropdownParent")||document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("open",function(){r._showDropdown(),r._attachPositioningHandler(t),r._bindContainerResultHandlers(t)}),t.on("close",function(){r._hideDropdown(),r._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._bindContainerResultHandlers=function(e,t){if(!this._containerResultsHandlersBound){var n=this;t.on("results:all",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:append",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("results:message",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("select",function(){n._positionDropdown(),n._resizeDropdown()}),t.on("unselect",function(){n._positionDropdown(),n._resizeDropdown()}),this._containerResultsHandlersBound=!0}},e.prototype._attachPositioningHandler=function(e,t){var n=this,r="scroll.select2."+t.id,i="resize.select2."+t.id,o="orientationchange.select2."+t.id,s=this.$container.parents().filter(a.hasScroll);s.each(function(){a.StoreData(this,"select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),s.on(r,function(e){var t=a.GetData(this,"select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(r+" "+i+" "+o,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,r="resize.select2."+t.id,i="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+r+" "+i)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),r=null,i=this.$container.offset();i.bottom=i.top+this.$container.outerHeight(!1);var o={height:this.$container.outerHeight(!1)};o.top=i.top,o.bottom=i.top+o.height;var s=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<i.top-s,u=l>i.bottom+s,d={left:i.left,top:o.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h={top:0,left:0};(f.contains(document.body,p[0])||p[0].isConnected)&&(h=p.offset()),d.top-=h.top,d.left-=h.left,t||n||(r="below"),u||!c||t?!c&&u&&t&&(r="below"):r="above",("above"==r||t&&"below"!==r)&&(d.top=o.top-h.top-s),null!=r&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+r),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+r)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,r){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),e.call(this,t,n,r)}return e.prototype.showSearch=function(e,t){return!(function e(t){for(var n=0,r=0;r<t.length;r++){var i=t[r];i.children?n+=e(i.children):n++}return n}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",["../utils"],function(o){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("close",function(e){r._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var r=this.getHighlightedResults();if(!(r.length<1)){var i=o.GetData(r[0],"data");null!=i.element&&i.element.selected||null==i.element&&i.selected||this.trigger("select",{data:i})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var r=this;e.call(this,t,n),t.on("select",function(e){r._selectTriggered(e)}),t.on("unselect",function(e){r._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&(n.ctrlKey||n.metaKey)||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"},removeAllItems:function(){return"Remove all items"}}}),e.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(c,u,d,p,h,f,g,m,v,y,s,t,_,$,b,w,A,x,D,S,E,C,O,T,q,L,I,j,e){function n(){this.reset()}return n.prototype.apply=function(e){if(null==(e=c.extend(!0,{},this.defaults,e)).dataAdapter){if(null!=e.ajax?e.dataAdapter=b:null!=e.data?e.dataAdapter=$:e.dataAdapter=_,0<e.minimumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,x)),0<e.maximumInputLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,D)),0<e.maximumSelectionLength&&(e.dataAdapter=y.Decorate(e.dataAdapter,S)),e.tags&&(e.dataAdapter=y.Decorate(e.dataAdapter,w)),null==e.tokenSeparators&&null==e.tokenizer||(e.dataAdapter=y.Decorate(e.dataAdapter,A)),null!=e.query){var t=u(e.amdBase+"compat/query");e.dataAdapter=y.Decorate(e.dataAdapter,t)}if(null!=e.initSelection){var n=u(e.amdBase+"compat/initSelection");e.dataAdapter=y.Decorate(e.dataAdapter,n)}}if(null==e.resultsAdapter&&(e.resultsAdapter=d,null!=e.ajax&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,T)),null!=e.placeholder&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,O)),e.selectOnClose&&(e.resultsAdapter=y.Decorate(e.resultsAdapter,I))),null==e.dropdownAdapter){if(e.multiple)e.dropdownAdapter=E;else{var r=y.Decorate(E,C);e.dropdownAdapter=r}if(0!==e.minimumResultsForSearch&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,L)),e.closeOnSelect&&(e.dropdownAdapter=y.Decorate(e.dropdownAdapter,j)),null!=e.dropdownCssClass||null!=e.dropdownCss||null!=e.adaptDropdownCssClass){var i=u(e.amdBase+"compat/dropdownCss");e.dropdownAdapter=y.Decorate(e.dropdownAdapter,i)}e.dropdownAdapter=y.Decorate(e.dropdownAdapter,q)}if(null==e.selectionAdapter){if(e.multiple?e.selectionAdapter=h:e.selectionAdapter=p,null!=e.placeholder&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,f)),e.allowClear&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,g)),e.multiple&&(e.selectionAdapter=y.Decorate(e.selectionAdapter,m)),null!=e.containerCssClass||null!=e.containerCss||null!=e.adaptContainerCssClass){var o=u(e.amdBase+"compat/containerCss");e.selectionAdapter=y.Decorate(e.selectionAdapter,o)}e.selectionAdapter=y.Decorate(e.selectionAdapter,v)}e.language=this._resolveLanguage(e.language),e.language.push("en");for(var s=[],a=0;a<e.language.length;a++){var l=e.language[a];-1===s.indexOf(l)&&s.push(l)}return e.language=s,e.translations=this._processTranslations(e.language,e.debug),e},n.prototype.reset=function(){function a(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return t[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:y.escapeMarkup,language:{},matcher:function e(t,n){if(""===c.trim(t.term))return n;if(n.children&&0<n.children.length){for(var r=c.extend(!0,{},n),i=n.children.length-1;0<=i;i--)null==e(t,n.children[i])&&r.children.splice(i,1);return 0<r.children.length?r:e(t,r)}var o=a(n.text).toUpperCase(),s=a(t.term).toUpperCase();return-1<o.indexOf(s)?n:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},n.prototype.applyFromElement=function(e,t){var n=e.language,r=this.defaults.language,i=t.prop("lang"),o=t.closest("[lang]").prop("lang"),s=Array.prototype.concat.call(this._resolveLanguage(i),this._resolveLanguage(n),this._resolveLanguage(r),this._resolveLanguage(o));return e.language=s,e},n.prototype._resolveLanguage=function(e){if(!e)return[];if(c.isEmptyObject(e))return[];if(c.isPlainObject(e))return[e];var t;t=c.isArray(e)?e:[e];for(var n=[],r=0;r<t.length;r++)if(n.push(t[r]),"string"==typeof t[r]&&0<t[r].indexOf("-")){var i=t[r].split("-")[0];n.push(i)}return n},n.prototype._processTranslations=function(e,t){for(var n=new s,r=0;r<e.length;r++){var i=new s,o=e[r];if("string"==typeof o)try{i=s.loadPath(o)}catch(e){try{o=this.defaults.amdLanguageBase+o,i=s.loadPath(o)}catch(e){t&&window.console&&console.warn&&console.warn('Select2: The language file for "'+o+'" could not be automatically loaded. A fallback will be used instead.')}}else i=c.isPlainObject(o)?new s(o):o;n.extend(i)}return n},n.prototype.set=function(e,t){var n={};n[c.camelCase(e)]=t;var r=y._convertData(n);c.extend(!0,this.defaults,r)},new n}),e.define("select2/options",["require","jquery","./defaults","./utils"],function(r,d,i,p){function e(e,t){if(this.options=e,null!=t&&this.fromElement(t),null!=t&&(this.options=i.applyFromElement(this.options,t)),this.options=i.apply(this.options),t&&t.is("input")){var n=r(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=p.Decorate(this.options.dataAdapter,n)}}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),p.GetData(e[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),p.StoreData(e[0],"data",p.GetData(e[0],"select2Tags")),p.StoreData(e[0],"tags",!0)),p.GetData(e[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",p.GetData(e[0],"ajaxUrl")),p.StoreData(e[0],"ajax-Url",p.GetData(e[0],"ajaxUrl")));var n={};function r(e,t){return t.toUpperCase()}for(var i=0;i<e[0].attributes.length;i++){var o=e[0].attributes[i].name,s="data-";if(o.substr(0,s.length)==s){var a=o.substring(s.length),l=p.GetData(e[0],a);n[a.replace(/-([a-z])/g,r)]=l}}d.fn.jquery&&"1."==d.fn.jquery.substr(0,2)&&e[0].dataset&&(n=d.extend(!0,{},e[0].dataset,n));var c=d.extend(!0,{},p.GetData(e[0]),n);for(var u in c=p._convertData(c))-1<d.inArray(u,t)||(d.isPlainObject(this.options[u])?d.extend(this.options[u],c[u]):this.options[u]=c[u]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(o,c,u,r){var d=function(e,t){null!=u.GetData(e[0],"select2")&&u.GetData(e[0],"select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),d.__super__.constructor.call(this);var n=e.attr("tabindex")||0;u.StoreData(e[0],"old-tabindex",n),e.attr("tabindex","-1");var r=this.options.get("dataAdapter");this.dataAdapter=new r(e,this.options);var i=this.render();this._placeContainer(i);var o=this.options.get("selectionAdapter");this.selection=new o(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,i);var s=this.options.get("dropdownAdapter");this.dropdown=new s(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,i);var a=this.options.get("resultsAdapter");this.results=new a(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){l.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),u.StoreData(e[0],"select2",this),e.data("select2",this)};return u.Extend(d,u.Observable),d.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+u.generateChars(2):u.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},d.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},d.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var r=this._resolveWidth(e,"style");return null!=r?r:this._resolveWidth(e,"element")}if("element"==t){var i=e.outerWidth(!1);return i<=0?"auto":i+"px"}if("style"!=t)return"computedstyle"!=t?t:window.getComputedStyle(e[0]).width;var o=e.attr("style");if("string"!=typeof o)return null;for(var s=o.split(";"),a=0,l=s.length;a<l;a+=1){var c=s[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},d.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},d.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=u.bind(this._syncAttributes,this),this._syncS=u.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=e?(this._observer=new e(function(e){t._syncA(),t._syncS(null,e)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},d.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerSelectionEvents=function(){var n=this,r=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===o.inArray(e,r)&&n.trigger(e,t)})},d.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},d.prototype._registerEvents=function(){var n=this;this.on("open",function(){n.$container.addClass("select2-container--open")}),this.on("close",function(){n.$container.removeClass("select2-container--open")}),this.on("enable",function(){n.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){n.$container.addClass("select2-container--disabled")}),this.on("blur",function(){n.$container.removeClass("select2-container--focus")}),this.on("query",function(t){n.isOpen()||n.trigger("open",{}),this.dataAdapter.query(t,function(e){n.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){n.trigger("results:append",{data:e,query:t})})}),this.on("keypress",function(e){var t=e.which;n.isOpen()?t===r.ESC||t===r.TAB||t===r.UP&&e.altKey?(n.close(e),e.preventDefault()):t===r.ENTER?(n.trigger("results:select",{}),e.preventDefault()):t===r.SPACE&&e.ctrlKey?(n.trigger("results:toggle",{}),e.preventDefault()):t===r.UP?(n.trigger("results:previous",{}),e.preventDefault()):t===r.DOWN&&(n.trigger("results:next",{}),e.preventDefault()):(t===r.ENTER||t===r.SPACE||t===r.DOWN&&e.altKey)&&(n.open(),e.preventDefault())})},d.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.isDisabled()?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},d.prototype._isChangeMutation=function(e,t){var n=!1,r=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&0<t.addedNodes.length)for(var i=0;i<t.addedNodes.length;i++){t.addedNodes[i].selected&&(n=!0)}else t.removedNodes&&0<t.removedNodes.length?n=!0:o.isArray(t)&&o.each(t,function(e,t){if(r._isChangeMutation(e,t))return!(n=!0)});else n=!0;return n}},d.prototype._syncSubtree=function(e,t){var n=this._isChangeMutation(e,t),r=this;n&&this.dataAdapter.current(function(e){r.trigger("selection:update",{data:e})})},d.prototype.trigger=function(e,t){var n=d.__super__.trigger,r={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===t&&(t={}),e in r){var i=r[e],o={prevented:!1,name:e,args:t};if(n.call(this,i,o),o.prevented)return void(t.prevented=!0)}n.call(this,e,t)},d.prototype.toggleDropdown=function(){this.isDisabled()||(this.isOpen()?this.close():this.open())},d.prototype.open=function(){this.isOpen()||this.isDisabled()||this.trigger("query",{})},d.prototype.close=function(e){this.isOpen()&&this.trigger("close",{originalEvent:e})},d.prototype.isEnabled=function(){return!this.isDisabled()},d.prototype.isDisabled=function(){return this.options.get("disabled")},d.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},d.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},d.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},d.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},d.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},d.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];o.isArray(t)&&(t=o.map(t,function(e){return e.toString()})),this.$element.val(t).trigger("input").trigger("change")},d.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",u.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),u.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},d.prototype.render=function(){var e=o('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),u.StoreData(e[0],"element",this.$element),e},d}),e.define("jquery-mousewheel",["jquery"],function(e){return e}),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(i,e,o,t,s){if(null==i.fn.select2){var a=["open","close","destroy"];i.fn.select2=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=i.extend(!0,{},t);new o(i(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,r=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=s.GetData(this,"select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,r)}),-1<i.inArray(t,a)?this:n}}return null==i.fn.select2.defaults&&(i.fn.select2.defaults=t),o}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return u.fn.select2.amd=e,t});
js/tb_window.js CHANGED
File without changes
js/tb_window.min.js CHANGED
File without changes
js/timestamp.js CHANGED
File without changes
js/timestamp.min.js CHANGED
File without changes
readme.txt CHANGED
@@ -1,500 +1,506 @@
1
- === Adminimize ===
2
- Contributors: Bueltge, inpsyde
3
- Donate link: https://www.paypal.me/FrankBueltge
4
- Tags: color, scheme, theme, admin, dashboard, color scheme, plugin, interface, ui, metabox, hide, editor, minimal, menu, customization, interface, administration, lite, light, usability, lightweight, layout, zen
5
- Requires at least: 4.0
6
- Tested up to: 5.3
7
- Stable tag: 1.11.6
8
-
9
- Adminimize that lets you hide 'unnecessary' items from the WordPress backend
10
-
11
- == Description ==
12
- If you manage a multi-author WordPress blog or WordPress sites for clients, then you may have wondered if it was possible to clean up the WordPress admin area for your users? There are lots of things in the WordPress admin area that your users don’t need to see or use. This plugin help you to hide unnecessary items from WordPress admin area.
13
-
14
- Adminimize makes it easy to remove items from view based on a user’s role.
15
-
16
- = What does this plugin do? =
17
- The plugin changes the administration backend and gives you the power to assign rights on certain parts. Admins can activate/deactivate every part of the menu and even parts of the sub-menu. Meta fields can be administered separately for posts and pages. Certain parts of the write menu can be deactivated separately for admins or non-admins. The header of the backend is minimized and optimized to give you more space and the structure of the menu gets changed to make it more logical - this can all be done per user so each role and their resulting users can have his own settings.
18
-
19
- = Support Custom Post Type =
20
- The plugin support all functions also for custom post types, automatically in the settings page.
21
-
22
- = Support Custom Options on all different post types =
23
- It is possible to add own options to hide areas in the back-end of WordPress. It is easy and you must only forgive a ID or class, a selector, of the markup, that you will hide.
24
-
25
- = Compatibility with plugins for MetaBoxes in Write-area =
26
- You can add your own options, you must only check for css selectors.
27
-
28
- **Crafted by [Inpsyde](https://inpsyde.com) · Engineering the web since 2006.**
29
-
30
- == Installation ==
31
- = Requirements =
32
- * WordPress version 4.0 and later; tested only in last stable version.
33
- * PHP 5.2.4, newer PHP versions will work faster. Tested only from version 5.6.
34
-
35
- Use the installer via back-end of your install or ...
36
-
37
- 1. Unpack the download-package.
38
- 2. Upload the files to the `/wp-content/plugins/` directory.
39
- 3. Activate the plugin through the Plugins menu in WordPress and click Activate.
40
- 4. Administrator can go to `Settings` > `Adminimize` menu and configure the plugin (Menu, Sub-menu, Meta boxes, ...)
41
-
42
- == Changelog ==
43
- = 1.11.6 (2019-12-23) =
44
- * Fixed to allow br, a, strong, em on admin footer hint.
45
- * Add new filter hook to change the options, like more or less options. `mw_adminimize_options_before_update`, Probs @g-kanoufi
46
- * Add new filter hooks to add custom area on the settings page, before and after Minmenu on top. `mw_adminimize_minimenu_before_first_tr` and `mw_adminimize_minimenu_after_last_tr`, Probs @g-kanoufi
47
- * Add filter hook `adminimize_mu_force_options_per_site` to allow different adminimize options per site on multisite, Probs @ulietNoth
48
- * Add filter hooks `adminimize_user_roles_filter` and `adminimize_user_roles_names_filter` to allow add or remove role column in adminimize options, Probs @ulietNoth
49
-
50
- = 1.11.5 (2019-07-07) =
51
- * Fixed: Remove deprecated version for support of php 7.2 #109.
52
- * Fixed: Dashboard removels for multible roles.
53
- * Fixed: settings link.
54
- * Maintenance: More solid page checks, codex issues.
55
- * Maintenance: Remove Javascript for the settings page for scrolling top, simplify.
56
- * Fixed: A little bid spelling is now fixed.
57
- * Feature: Close every box other than the first, to keep the page clean.
58
- # Fixed: Hide Meta Boxes on usage of multiple roles, Probs @filipecsweb.
59
-
60
- = 1.11.4 (2017-12-14) =
61
- * Fixed hide of menu items, if you use custom menu, see [wiki page](https://github.com/bueltge/Adminimize/wiki/Custom-Menu-Order)
62
- * Fixed Import/Export for different server environments.
63
- * Remove languge file on github, we use always the translation community from wordpress.org
64
- * Fixed check for settings page of Adminimize, so that we see all options, areas of the install.
65
-
66
- = 1.11.3 (2017-11-16) =
67
- * Added custom dashbaord options to admin head to hide it via css.
68
- * Added support of multiple roles for dashboard options.
69
- * Added new option to hide 'Add New' Button on each post type.
70
- * Fixed ID of Menu to use each link in the full width.
71
- * Fixed error for check dashboard setup on multiple roles.
72
- * Removed dependency from users.php to profile.php. #61
73
- * Allow attribute selector for custom options, remove slashes in options. #65
74
- * Change hook for change menu items ot solve order problem with third plugins. #68
75
- * Remove Set Theme for users option - noit relevant for the plugin, old dependencies.
76
- * Change selector to remove footer area.
77
- * Remove Screenshots on readme page, to big, not helpful.
78
- * Added filter hook `adminimize_nopage_access_message` to change the message for no access to a page. see the [wiki](https://github.com/bueltge/Adminimize/wiki/Filter-Hooks)
79
-
80
- = 1.11.2 (2016-12-04) =
81
- * Fixed backticks for `shell_exec` error.
82
- * Fixed prevent access function for pages.
83
-
84
- = 1.11.1 (2016-11-24) =
85
- * Fix fatal error for WP smaller than 4.7 - Sorry again!
86
-
87
- = 1.11.0 (2016-11-24) =
88
- * Fix open Translations. props pedro-mendonca
89
- * Fix Typos.
90
- * Fix php warning on Admin Bar items for PHP 5.2.
91
- * Fix CPT feature support, if it false.
92
- * Add check in different functions for AJAX request.
93
- * Add to prevent access to pages of the back end, there are active for hiding in the settings.
94
- * Add plugin option to remove the default behavior to prevent access to pages.
95
-
96
- = 1.10.6 (2016-08-09) =
97
- * Fix to see Logout link also on mobile view.
98
- * Fix type definition.
99
-
100
- = 1.10.5 (2016-06-28) =
101
- * Fix PHP Warning
102
- * Fix check for active usage of Link Manager
103
- * Fix menu var type, if is object.
104
- * Check for multiple roles on Menu Settings, that it works only, if the option is still active on each role of this user.
105
-
106
- = 1.10.4 (2016-06-03) =
107
- * Add support for multiple roles to remove the Admin Bar via global options.
108
- * Add support for multiple roles to remove the Admin Bar Back end items.
109
- * Add also this support for Front End Admin Bar items.
110
- * Multiple roles supported now on "Menu Options", "Global Options", "Admin Bar Back end options" and "Admin Bar Front end options".
111
-
112
- = 1.10.3 (2016-05-11) =
113
- * Fix exclude of set new Admin Bar on settings page of Adminimize.
114
- * Fix check for settings page.
115
- * Fix colors on raw, column of the settings page.
116
- * Add buffering for debug helper in the console.
117
- * Fix caching for Dashboard Widget options.
118
-
119
- = 1.10.2 (2016-03-10) =
120
- * Add possibility for custom menu slugs, especially for Plugins, Themes, there add different slug for different roles.
121
- * Add the possibility to use the WP object cache for settings, if the webspace support this, like Memcached, APC.
122
- * More clarity for the "own options" label.
123
-
124
- = 1.10.1 (2016-02-29) =
125
- * Fix the Removing of Admin Color Scheme Select on the profile page.
126
- * Back-end options are also excluded on the settings page.
127
- * Add new settings area for options of the plugin self.
128
- * The support for multiple roles is now optional.
129
- * The support for bbPress is now active and optional.
130
-
131
- = 1.10.0 (2016-02-21) =
132
- * Rewrite the Admin Bar settings, simplify the source and new hook to get and render the Admin Bar.
133
- * Change settings screen for custom post type.
134
- * Fix "select all" on Admin Bar settings.
135
- * Fix exclude settings page for pages, there is the current screen not existent.
136
- * Improve the exclude settings page function for hooks, there fired before `get_current_screen`.
137
- * Remove more legacy code before WP 3.3.
138
- * Change removal of Menu and Submenu items to WP core functions, possible to non support older WP Versions.
139
- * Supports multiple roles on "Menu Options" and "Global Options".
140
- * Add possibility to hide Admin Notices globally, new setting point in "Global Options".
141
-
142
- = 1.9.2 (2016-01-30) =
143
- * Change get role name, return now a array with slug and name to fix "Select All" function for custom roles.
144
- * Change Menu Items to Key value, not the id. Makes possible to hide also menu items, there have a stupid menu entry.
145
- * Remove https fix; not necessary for the plugin. If you will usage, add this custom [plugin](https://gist.github.com/bueltge/01f37a868e2e1321b931).
146
- * Update pot and de_De language files.
147
-
148
- = 1.9.1 (2016-25-01) =
149
- * Bugfix for fixing ssl protocol in WP core on include styles and scripts.
150
-
151
- = 1.9.0 (2016-01-21) =
152
- * Change Ex-/Import functions to use JSON format and remove mysql topics, there no longer valid in WP core.
153
- * Add more checks to hide also dynamically menu items, like Customizer.
154
- * Update spanish and german language file.
155
- * Fix PHP Warning [PHP Warning: in_array()](https://wordpress.org/support/topic/php-warning-in_array-expects-parameter-2-to-be-array?replies=3)
156
- * Fix PHP Notice: Array to string conversion
157
- * UI change: Fixed head on tables.
158
- * Update italian language files, props to marcochiesi.
159
- * Add global option to hide admin notices for each role.
160
- * Replace static source to get option, only one function to get it.
161
- * Change Admin Bar Feature: Difference between front-end and back-end.
162
- * More stability on admin bar settings. Switch hook to set, get data of admin bar.
163
- * Add possibilty to select/unselect all checkboxess for each area.
164
- * Fix redirect feature, if Dashboard menu item is active for a role.
165
- * Remove css tyles small WP 4.0
166
- * Add minify js/css.
167
- * Several code changes.
168
- * Add custom fix for hide editors on post types.
169
- * Several performance changes, like replace from `array_push`.
170
- * Fix Role check, new function to fix [#22624](https://core.trac.wordpress.org/ticket/22624).
171
- * Exclude Settings page and Super Admin from remove Dashboard function.
172
-
173
- = 1.8.5 (2015-03-19) =
174
- * Add brazilian portuguese translation, thanks to [Rafael Funchal](http://www.rafaelfunchal.com.br/)
175
- * Small code changes for php notices
176
- * Fix Admin Bar Feature
177
- * Different code maintenance
178
- * Enhance readme for helpful links under FAQ
179
- * Fix to remove admin bar
180
-
181
- = 1.8.4 (06/06/2013) =
182
- * Change Widget Settings, better to unregister widgets from other themes and plugins
183
- * Add more usability to the settings page
184
- * Small major changes
185
-
186
- = 1.8.3 (04/07/2013) =
187
- * Fix for use it with bbPress
188
- * Small minor changes
189
-
190
- = 1.8.2 (02/15/2013) =
191
- * Fix PHP Notice message for empty var, see [support](http://wordpress.org/support/topic/undefined-index-current_screen)
192
- * Changes for load files and functions only, if it necessary
193
- * Fix, that the changes on Admin Bar work always in all admin pages
194
-
195
- = 1.8.1 (01/10/2013) =
196
- * Fix PHP notice on message for network
197
- * Check for active links manager; change from WP 3.5
198
- * Add Widget settings (Beta)
199
- * Fix for remove admin bar in backend
200
- * Remove Backend options, there not usable with WP 3.5 and earlier
201
- * Fix 'Category Height' on Meta Box on write post; See always all categories, without scrolling inside Meta Box
202
- * Fix to hide footer, but this is still usable by adding custom content
203
- * Fix Hints, Options for Multisite install
204
- * Add Admin Bar options (Beta)
205
-
206
- = v1.8.0 =
207
- * Simple Support for WP Multisite
208
- * Enhancement for hide Text-Tab on editors in custom post types
209
- * Small fix for PHP notice
210
-
211
- = v1.7.27 =
212
- * Fix for hide Admin Bar in WP 3.4
213
- * Fix for remove sections on custom post types in edit screen table
214
- * Enhancements for reduce sections on edit post and page
215
- * Enhancement for User Info to use also in Admin Bar in front end
216
- * Fix for different pages in admin, see [forum thread](http://wordpress.org/support/topic/plugin-adminimize-hide-page-and-subpages-editphp)
217
- * Fix, if you don't use redirect for php notice
218
- * Add romanian language
219
-
220
- = v1.7.26 =
221
- * Typo for settings message [see thread](http://wordpress.org/support/topic/plugin-adminimize-what-does-the-settings-page-ignores-this-settings-mean?replies=4)
222
- * Fix for custom areas on Custom Post Types, [see thread](http://wordpress.org/support/topic/plugin-adminimize-bug-in-custom-metabox-ids-for-custom-types?replies=3)
223
- * Exclude backend theme options, was used only smaller 2.0 of WP
224
- * Exclude Hint in Footer
225
- * Exclude write scroll options
226
- * Different cleaner actions
227
-
228
- = v1.7.25 =
229
- * Update for fix menu-items with entities
230
- * [Fix](http://plugins.trac.wordpress.org/changeset/494274) for display settings on menu, if items are deactivated
231
- * Add Separator to settings of menu, for hide this for different roles
232
- * Add notice for settings page, that no settings work on this page
233
- * Fix rewrite, if change the user info area and define an rewrite
234
- * List Separator on menu-items; also possible to hide this
235
-
236
- = v1.7.24 =
237
- * Maintenance: add ID for hide html-tab on Editor also in WP 3.3
238
- * Bug fixing for WP 3.2.1 with the new functions :(
239
-
240
- = v1.7.23 =
241
- * Maintenance: change function to remove admin bar for WP 3.3, see [Forum item](http://wordpress.org/support/topic/694201)
242
- * Maintenance: change for USer Info to works also in WP 3.3
243
-
244
- = v1.7.22 =
245
- * Security fix for $_GET on the admin-settings-page
246
-
247
- = v1.7.21 =
248
- * SORRY: i had an svn bug; here the complete version
249
- * no changes; only a new commit to svn
250
-
251
- = v1.7.20 =
252
- * fix small bug for use plugin Localization
253
- * add Dashboard Widgets to remove for different roles
254
-
255
- = v1.7.19 =
256
- * fix page for links - `link.php`
257
- * add irish language files
258
- * add bulgarian language files
259
-
260
- = v1.7.18 (06/07/2011) =
261
- * Fixes Small User info on right top with Admin Bar, also ready for WP 3.2
262
- * Fixes Error for xmlrpc
263
- * Add QuickEdit-Areas for hide this
264
- * Different changes on source
265
- * With WP 3.2 remove all Admin Styles !
266
- * Add support for custom post type
267
- * many small changes on source
268
- * update de_DE language files
269
- * tested only in version 3.1 and 3.2-beta; don't test in smaller version
270
- * add hindi language file
271
-
272
- = v1.7.17 (04/11/2011) =
273
- * Fixes on Admin-CSS Styles for WP 3.*
274
- * Reduce backend Styles of the Plugins - Goal: kill all styles!!! (to heavy for Maintenance)
275
-
276
- = v1.7.16 (04/01/2011) =
277
- * Bug-fix: change init-function; admin bar also on frontend and backend and all other options of global only on backend
278
- * Remove new hock on wp admin bar; include inline styles; only on deactivate admin bar
279
- * Fix language errors
280
- * Add meta box post formats
281
- * Update de_DE language files
282
-
283
- = v1.7.15 (03/30/2011) =
284
- * Change functions for reduce WP Nav Menu
285
- * change to check for super admin; add new function and option on Global Options to set this
286
- * Maintenance: check for functions in Multisite, Super-admin for use the plugin smaller WP 3.0
287
- * Feature: add css for more usability on settings
288
- * Bug-fix: custom values for WP Nav Menu
289
- * Add Option for Super Admin
290
- * Change option for rewrite, after deactivate Dashboard; now you use a custom url, incl. http://
291
- * Maintenance: Language File
292
-
293
- = v1.7.14 (03/03/2011) =
294
- * Maintenance: remove php notice on role editor
295
- * Maintenance: Add fallback for don't load menu/sub-menu
296
- * Maintenance: Exclude all options in different files
297
-
298
- = v1.7.13 (03/02/2011) =
299
- * Maintenance: different changes on code
300
- * Maintenance: usable in WP 3.1
301
- * Feature: Remove Admin Bar per role
302
- * Feature: Add options for WP Nav Menu
303
- * Bug-fix: php warning for wrong data-type [WP Forum](http://wordpress.org/support/topic/plugin-adminimize-warning-in-array)
304
- * Bug-fix: php warning on foreach [WP Forum](http://wordpress.org/support/topic/plugin-adminimize-warning-error-invalid-argument-supplied-for-foreach)
305
-
306
- = v1.7.12 (10/02/2010) =
307
- * Bug-fix: Fallback for deactivate profile.php on roles smaller administration
308
- * Bug-fix: Redirect from Dashboard on different roles
309
- * Maintenance: small changes on code
310
-
311
- = v1.7.11 (09/24/2010) =
312
- * Bug-fix: for WP < 3.0; function get_post_type_object() is not exist
313
-
314
- = v1.7.10 (09/24/2010) =
315
- * Bug-fix: link-page in admin
316
- * Bug-fix: meta-boxes on link-page
317
- * Bug-fix: check for post or page with WP 3.*
318
- * Maintenance: german language files
319
- * Maintenance: pot-file
320
- * Feature: new css for "User-info" in WP 3.0
321
- * Maintenance: incl. the new css-file
322
-
323
- = v1.7.9 (09/15/2010) =
324
- * Bug-fix for new role-checking
325
-
326
- = v1.7.8 (09/13/2010) =
327
- * changes for WPMU and WP 3.0 MultiSite
328
- * bug-fix for admin-menu in WPMU and WP 3.0 MultiSite
329
- * bug-fix for meta boxes in WPMU and WP 3.0 MultiSite
330
- * bug-fix for global settings in WPMU and WP 3.0 MultiSite
331
- * bug-fix for link-options in WPMU and WP 3.0 MultiSite
332
- * bug-fix for custom redirect after login
333
- * different bug-fixes fpr php-warnings
334
-
335
- = v1.7.7 (03/18/2010) =
336
- * small fixes for redirect on deactivate Dashboard
337
- * add dutch language file
338
-
339
- = v1.7.6 (01/14/2010) =
340
- * fix array-check on new option disable HTML Editor
341
-
342
- = v1.7.5 (01/13/2010) =
343
- * new function: disable HTML Editor on edit post/page
344
-
345
- = v1.7.4 (01/10/2010) =
346
- * Fix on Refresh menu and sub-menu on settings-page
347
- * Fix for older WordPress versions and function current_theme_supports
348
-
349
- = v1.7.3 (01/08/2010) =
350
- * Add Im-/Export function
351
- * Add new meta boxes from WP 2.9 post_thumbnail, if active from the Theme
352
- * Small modifications and code and css
353
- * Add new functions: hide tab for help and options on edit post or edit page; category meta box with ful height, etc.
354
-
355
- = v1.7.2 (07/08/2009) =
356
- * Add fix to deactivate user.php/profile.php
357
-
358
- = v1.7.1 (17/06/2009) =
359
- * Add belorussian language file, thanks to Fat Cow
360
-
361
- = v1.7.1 (16/06/2009) =
362
- * changes for load user date on settings themes; better for performance on blogs with many Users
363
- * small bug-fixes on textdomain
364
- * changes on hint for settings on menu
365
- * new de_DE language file
366
- * comments meta box add to options on post
367
-
368
- = v1.7 (23/06/2009) =
369
- * Bug-fix for WordPress 2.6; Settings-Link
370
- * alternate for `before_last_bar()` and change class of div
371
-
372
- = 1.6.9 (19/06/2009) =
373
- * Bug-fix, Settingslink gefixt;
374
- * Changes on own defines with css selectors; first name, second css selector
375
- * Bug-fix in own options to pages
376
-
377
- = 1.6.8 (18/06/2009) =
378
- * Bug-fix in german language file
379
-
380
- = 1.6.6-7 (10/06/2009) =
381
- * Add Meta Link in 2.8
382
-
383
- = 1.6.5 (08/05/2009) =
384
- * Bug-fix, Doculink only on admin page of Adminimize
385
-
386
- = 1.6.4 (27/04/2009) =
387
- * new Backend-Themes
388
- * more options
389
- * multilanguage for role-names
390
-
391
- = 1.6.1, 1.6.3 (24/05/2009) =
392
- * ready for own roles
393
- * new options for link-area on WP backend
394
- * own options for all areas, use css selectors
395
- * ...
396
-
397
- = v1.6 =
398
- * ready for WP 2.7
399
- * new options area, parting of page and post options
400
- * add wp_nonce for own logout
401
- * ...
402
-
403
- = v1.5.3-8 =
404
- * Changes for WP 2.7
405
- * changes on CSS design
406
- * ...
407
-
408
- = v1.5.2 =
409
- * own redirects possible
410
-
411
- = v1.5.1 =
412
- * Bug-fix f&uuml;r rekursiven Array; Redirect bei deaktivem Dashboard funktionierte nicht
413
-
414
- = v1.5 =
415
- * F&uuml;r jede Nutzerrolle besteht nun die M&uuml;glichkeit, eigene Menus und Metaboxes zu setzen. Erweiterungen im Backend-Bereich und Vorbereitung f&uuml;r WordPress Version 2.7
416
-
417
- = v1.4.7 =
418
- * Bug-fix CSS-Adresse f&uuml;r WP 2.5
419
-
420
- = v1.4.3-6 =
421
- * Aufrufe diverser JS ge&auml;ndert, einige &uuml;bergreifende Funktionen nun auch ohne aktives Adminimize-Theme
422
-
423
- = v1.4.2 =
424
- * kleine Erweiterungen, Variablenabfragen ge&auml;ndert
425
-
426
- = v1.4.1 =
427
- * Bug-fixes und Umstellung Sprache
428
-
429
- = v1.4 =
430
- * Performanceoptimierung; <strong>Achtung:</strong> nur noch 1 Db-Eintrag, bei Update auf Version 1.4 zuvor die Deinstallation-Option nutzen und die Db von &uuml;berfl&uuml;ssigen Eintr&auml;gen befreien.
431
-
432
- = v1.3 =
433
- * Backendfunktn. erweitert, Update f&uuml;r PressThis im Bereich Schreiben, etc.
434
-
435
- = v1.2 =
436
- * Erweiterungen der MetaBoxen
437
-
438
- = v1.1 =
439
- * Schreiben-, Verwalten-Bereich ist deaktivierbar; CSS-Erweiterungen des WP 2.3 Themes f&uuml;r WP 2.6; Sidebar im Schreiben-Bereich noch mehr konfigurierbar, Optionsseite ausgebaut, kleine Code-Ver&auml;nderungen
440
-
441
- = v1.0 =
442
- * JavaScript schlanker durch die Hilfe von <a href="http://www.schloebe.de/">Oliver Schl&uuml;be</a>
443
-
444
- = v0.8.1 =
445
- * Hinweis im Footer m&uuml;glich, optional mit optionalen Text, Weiterleitung immer ersichtlich
446
-
447
- = v0.8 =
448
- * Weiterleitung nach Logout m&uuml;glich
449
-
450
- = v0.7.9 =
451
- * Zus&auml;tzlich ist innerhalb der Kategorien nur "Kategorien hinzuf&uuml;gen" deaktiverbar
452
-
453
- = v0.7.8 =
454
- * Mehrsprachigkeit erweitert
455
-
456
- = v0.7.7 =
457
- * Bug-fix f&uuml;r Metabox ausblenden in Write Page
458
-
459
- = v0.7.6 =
460
- * Checkbox f&uuml;r alle ausw&auml;hlen auch in Page und Post, Korrektur in Texten
461
-
462
- = v0.7.5 =
463
- * Checkbox f&uuml;r alle ausw&auml;hlen, Theme zuweisen
464
-
465
- = v0.7.3 =
466
- * Optionale Weiterleitung bei deaktiviertem Dashboard, Einstellungen per Plugin-Seite m&uuml;glich, Admin-Footer erg&auml;nzt um Plugin-infos
467
-
468
- = v0.7.2 =
469
- * Update Options Button zus&auml;tzlich im oberen Abschnitt
470
-
471
- = v0.7.1 =
472
- * Thickbox Funktion optional
473
-
474
- = v0.7 =
475
- * WriteScroll optional, MediaButtons deaktivierbar
476
-
477
- = v0.6.9 =
478
- * Theme WordPress 2.3 hinzugekommen, Footer deaktivierbar
479
-
480
-
481
- == Other Notes ==
482
- = Help with "Your own options" =
483
- See the [entry on the WP community forum](http://wordpress.org/support/topic/328449 "Plugin: Adminimize Help with Your own options (3 posts)") for help with this great possibility.
484
-
485
- = License =
486
- Good news, this plugin is free for everyone! Since it's released under the GPL, you can use it free of charge on your personal or commercial blog. But if you enjoy this plugin, you can thank me and leave a [small donation](http://bueltge.de/wunschliste/ "Wishliste and Donate") for the time I've spent writing and supporting this plugin. And I really don't want to know how many hours of my life this plugin has already eaten ;)
487
-
488
- = Translations =
489
- The plugin comes with various translations, please refer to the [WordPress Codex](http://codex.wordpress.org/Installing_WordPress_in_Your_Language "Installing WordPress in Your Language") for more information about activating the translation. If you want to help to translate the plugin to your language, please have a look at the sitemap.pot file which contains all definitions and may be used with a [gettext](http://www.gnu.org/software/gettext/) editor like [Poedit](http://www.poedit.net/) (Windows) or use, I prefers this, the [translation service from wordpress.org](https://translate.wordpress.org/projects/wp-plugins/adminimize).
490
-
491
- == Frequently Asked Questions ==
492
- = Help with "Your own options" =
493
- See the [entry on the WP community forum](http://wordpress.org/support/topic/328449 "[Plugin: Adminimize] Help with "Your own options" (3 posts)") for help with great function to add custom/own options.
494
-
495
- = Post about the plugin with helpful hints =
496
- * [wpbeginner.com: How to Hide Unnecessary Items From WordPress Admin with Adminimize](http://www.wpbeginner.com/plugins/how-to-hide-unnecessary-items-from-wordpress-admin-with-adminimize/)
497
- * [wptavern.com: Create A Custom WordPress Admin Experience With Adminimize](http://wptavern.com/create-a-custom-wordpress-admin-experience-with-adminimize)
498
-
499
- = I love this plugin! How can I show the developer how much I appreciate his work? =
500
- Please send a [review](https://wordpress.org/support/view/plugin-reviews/adminimize) and let him know your care or see the [wishlist](http://bueltge.de/wunschliste/ "Wishlist") of the author. Also you can send a [donation](https://www.paypal.me/FrankBueltge).
 
 
 
 
 
 
1
+ === Adminimize ===
2
+ Contributors: Bueltge, inpsyde
3
+ Donate link: https://www.paypal.me/FrankBueltge
4
+ Tags: color, scheme, theme, admin, dashboard, color scheme, plugin, interface, ui, metabox, hide, editor, minimal, menu, customization, interface, administration, lite, light, usability, lightweight, layout, zen
5
+ Requires at least: 4.0
6
+ Tested up to: 5.5
7
+ Stable tag: 1.11.7
8
+
9
+ Adminimize that lets you hide 'unnecessary' items from the WordPress backend
10
+
11
+ == Description ==
12
+ If you manage a multi-author WordPress blog or WordPress sites for clients, then you may have wondered if it was possible to clean up the WordPress admin area for your users? There are lots of things in the WordPress admin area that your users don’t need to see or use. This plugin help you to hide unnecessary items from WordPress admin area.
13
+
14
+ Adminimize makes it easy to remove items from view based on a user’s role.
15
+
16
+ = What does this plugin do? =
17
+ The plugin changes the administration backend and gives you the power to assign rights on certain parts. Admins can activate/deactivate every part of the menu and even parts of the sub-menu. Meta fields can be administered separately for posts and pages. Certain parts of the write menu can be deactivated separately for admins or non-admins. The header of the backend is minimized and optimized to give you more space and the structure of the menu gets changed to make it more logical - this can all be done per user so each role and their resulting users can have his own settings.
18
+
19
+ = Support Custom Post Type =
20
+ The plugin support all functions also for custom post types, automatically in the settings page.
21
+
22
+ = Support Custom Options on all different post types =
23
+ It is possible to add own options to hide areas in the back-end of WordPress. It is easy and you must only forgive a ID or class, a selector, of the markup, that you will hide.
24
+
25
+ = Compatibility with plugins for MetaBoxes in Write-area =
26
+ You can add your own options, you must only check for css selectors.
27
+
28
+ **Crafted by [Inpsyde](https://inpsyde.com) · Engineering the web since 2006.**
29
+
30
+ == Installation ==
31
+ = Requirements =
32
+ * WordPress version 4.0 and later; tested only in last stable version.
33
+ * PHP 5.2.4, newer PHP versions will work faster. Tested only from version 5.6.
34
+
35
+ Use the installer via back-end of your install or ...
36
+
37
+ 1. Unpack the download-package.
38
+ 2. Upload the files to the `/wp-content/plugins/` directory.
39
+ 3. Activate the plugin through the Plugins menu in WordPress and click Activate.
40
+ 4. Administrator can go to `Settings` > `Adminimize` menu and configure the plugin (Menu, Sub-menu, Meta boxes, ...)
41
+
42
+ == Changelog ==
43
+ = 1.11.7 (2020-07-15) =
44
+ * Add Im-/Export possibility only for different roles, Probs @JulietNoth, #139
45
+ * Fix problems with plugins in menus, like WooCommerce, #130
46
+ * Fix UI topics on settings page
47
+ * Fix simple PHP warnings
48
+
49
+ = 1.11.6 (2019-12-23) =
50
+ * Fixed to allow br, a, strong, em on admin footer hint.
51
+ * Add new filter hook to change the options, like more or less options. `mw_adminimize_options_before_update`, Probs @g-kanoufi
52
+ * Add new filter hooks to add custom area on the settings page, before and after Minmenu on top. `mw_adminimize_minimenu_before_first_tr` and `mw_adminimize_minimenu_after_last_tr`, Probs @g-kanoufi
53
+ * Add filter hook `adminimize_mu_force_options_per_site` to allow different adminimize options per site on multisite, Probs @ulietNoth
54
+ * Add filter hooks `adminimize_user_roles_filter` and `adminimize_user_roles_names_filter` to allow add or remove role column in adminimize options, Probs @ulietNoth
55
+
56
+ = 1.11.5 (2019-07-07) =
57
+ * Fixed: Remove deprecated version for support of php 7.2 #109.
58
+ * Fixed: Dashboard removels for multible roles.
59
+ * Fixed: settings link.
60
+ * Maintenance: More solid page checks, codex issues.
61
+ * Maintenance: Remove Javascript for the settings page for scrolling top, simplify.
62
+ * Fixed: A little bid spelling is now fixed.
63
+ * Feature: Close every box other than the first, to keep the page clean.
64
+ # Fixed: Hide Meta Boxes on usage of multiple roles, Probs @filipecsweb.
65
+
66
+ = 1.11.4 (2017-12-14) =
67
+ * Fixed hide of menu items, if you use custom menu, see [wiki page](https://github.com/bueltge/Adminimize/wiki/Custom-Menu-Order)
68
+ * Fixed Import/Export for different server environments.
69
+ * Remove languge file on github, we use always the translation community from wordpress.org
70
+ * Fixed check for settings page of Adminimize, so that we see all options, areas of the install.
71
+
72
+ = 1.11.3 (2017-11-16) =
73
+ * Added custom dashbaord options to admin head to hide it via css.
74
+ * Added support of multiple roles for dashboard options.
75
+ * Added new option to hide 'Add New' Button on each post type.
76
+ * Fixed ID of Menu to use each link in the full width.
77
+ * Fixed error for check dashboard setup on multiple roles.
78
+ * Removed dependency from users.php to profile.php. #61
79
+ * Allow attribute selector for custom options, remove slashes in options. #65
80
+ * Change hook for change menu items ot solve order problem with third plugins. #68
81
+ * Remove Set Theme for users option - noit relevant for the plugin, old dependencies.
82
+ * Change selector to remove footer area.
83
+ * Remove Screenshots on readme page, to big, not helpful.
84
+ * Added filter hook `adminimize_nopage_access_message` to change the message for no access to a page. see the [wiki](https://github.com/bueltge/Adminimize/wiki/Filter-Hooks)
85
+
86
+ = 1.11.2 (2016-12-04) =
87
+ * Fixed backticks for `shell_exec` error.
88
+ * Fixed prevent access function for pages.
89
+
90
+ = 1.11.1 (2016-11-24) =
91
+ * Fix fatal error for WP smaller than 4.7 - Sorry again!
92
+
93
+ = 1.11.0 (2016-11-24) =
94
+ * Fix open Translations. props pedro-mendonca
95
+ * Fix Typos.
96
+ * Fix php warning on Admin Bar items for PHP 5.2.
97
+ * Fix CPT feature support, if it false.
98
+ * Add check in different functions for AJAX request.
99
+ * Add to prevent access to pages of the back end, there are active for hiding in the settings.
100
+ * Add plugin option to remove the default behavior to prevent access to pages.
101
+
102
+ = 1.10.6 (2016-08-09) =
103
+ * Fix to see Logout link also on mobile view.
104
+ * Fix type definition.
105
+
106
+ = 1.10.5 (2016-06-28) =
107
+ * Fix PHP Warning
108
+ * Fix check for active usage of Link Manager
109
+ * Fix menu var type, if is object.
110
+ * Check for multiple roles on Menu Settings, that it works only, if the option is still active on each role of this user.
111
+
112
+ = 1.10.4 (2016-06-03) =
113
+ * Add support for multiple roles to remove the Admin Bar via global options.
114
+ * Add support for multiple roles to remove the Admin Bar Back end items.
115
+ * Add also this support for Front End Admin Bar items.
116
+ * Multiple roles supported now on "Menu Options", "Global Options", "Admin Bar Back end options" and "Admin Bar Front end options".
117
+
118
+ = 1.10.3 (2016-05-11) =
119
+ * Fix exclude of set new Admin Bar on settings page of Adminimize.
120
+ * Fix check for settings page.
121
+ * Fix colors on raw, column of the settings page.
122
+ * Add buffering for debug helper in the console.
123
+ * Fix caching for Dashboard Widget options.
124
+
125
+ = 1.10.2 (2016-03-10) =
126
+ * Add possibility for custom menu slugs, especially for Plugins, Themes, there add different slug for different roles.
127
+ * Add the possibility to use the WP object cache for settings, if the webspace support this, like Memcached, APC.
128
+ * More clarity for the "own options" label.
129
+
130
+ = 1.10.1 (2016-02-29) =
131
+ * Fix the Removing of Admin Color Scheme Select on the profile page.
132
+ * Back-end options are also excluded on the settings page.
133
+ * Add new settings area for options of the plugin self.
134
+ * The support for multiple roles is now optional.
135
+ * The support for bbPress is now active and optional.
136
+
137
+ = 1.10.0 (2016-02-21) =
138
+ * Rewrite the Admin Bar settings, simplify the source and new hook to get and render the Admin Bar.
139
+ * Change settings screen for custom post type.
140
+ * Fix "select all" on Admin Bar settings.
141
+ * Fix exclude settings page for pages, there is the current screen not existent.
142
+ * Improve the exclude settings page function for hooks, there fired before `get_current_screen`.
143
+ * Remove more legacy code before WP 3.3.
144
+ * Change removal of Menu and Submenu items to WP core functions, possible to non support older WP Versions.
145
+ * Supports multiple roles on "Menu Options" and "Global Options".
146
+ * Add possibility to hide Admin Notices globally, new setting point in "Global Options".
147
+
148
+ = 1.9.2 (2016-01-30) =
149
+ * Change get role name, return now a array with slug and name to fix "Select All" function for custom roles.
150
+ * Change Menu Items to Key value, not the id. Makes possible to hide also menu items, there have a stupid menu entry.
151
+ * Remove https fix; not necessary for the plugin. If you will usage, add this custom [plugin](https://gist.github.com/bueltge/01f37a868e2e1321b931).
152
+ * Update pot and de_De language files.
153
+
154
+ = 1.9.1 (2016-25-01) =
155
+ * Bugfix for fixing ssl protocol in WP core on include styles and scripts.
156
+
157
+ = 1.9.0 (2016-01-21) =
158
+ * Change Ex-/Import functions to use JSON format and remove mysql topics, there no longer valid in WP core.
159
+ * Add more checks to hide also dynamically menu items, like Customizer.
160
+ * Update spanish and german language file.
161
+ * Fix PHP Warning [PHP Warning: in_array()](https://wordpress.org/support/topic/php-warning-in_array-expects-parameter-2-to-be-array?replies=3)
162
+ * Fix PHP Notice: Array to string conversion
163
+ * UI change: Fixed head on tables.
164
+ * Update italian language files, props to marcochiesi.
165
+ * Add global option to hide admin notices for each role.
166
+ * Replace static source to get option, only one function to get it.
167
+ * Change Admin Bar Feature: Difference between front-end and back-end.
168
+ * More stability on admin bar settings. Switch hook to set, get data of admin bar.
169
+ * Add possibilty to select/unselect all checkboxess for each area.
170
+ * Fix redirect feature, if Dashboard menu item is active for a role.
171
+ * Remove css tyles small WP 4.0
172
+ * Add minify js/css.
173
+ * Several code changes.
174
+ * Add custom fix for hide editors on post types.
175
+ * Several performance changes, like replace from `array_push`.
176
+ * Fix Role check, new function to fix [#22624](https://core.trac.wordpress.org/ticket/22624).
177
+ * Exclude Settings page and Super Admin from remove Dashboard function.
178
+
179
+ = 1.8.5 (2015-03-19) =
180
+ * Add brazilian portuguese translation, thanks to [Rafael Funchal](http://www.rafaelfunchal.com.br/)
181
+ * Small code changes for php notices
182
+ * Fix Admin Bar Feature
183
+ * Different code maintenance
184
+ * Enhance readme for helpful links under FAQ
185
+ * Fix to remove admin bar
186
+
187
+ = 1.8.4 (06/06/2013) =
188
+ * Change Widget Settings, better to unregister widgets from other themes and plugins
189
+ * Add more usability to the settings page
190
+ * Small major changes
191
+
192
+ = 1.8.3 (04/07/2013) =
193
+ * Fix for use it with bbPress
194
+ * Small minor changes
195
+
196
+ = 1.8.2 (02/15/2013) =
197
+ * Fix PHP Notice message for empty var, see [support](http://wordpress.org/support/topic/undefined-index-current_screen)
198
+ * Changes for load files and functions only, if it necessary
199
+ * Fix, that the changes on Admin Bar work always in all admin pages
200
+
201
+ = 1.8.1 (01/10/2013) =
202
+ * Fix PHP notice on message for network
203
+ * Check for active links manager; change from WP 3.5
204
+ * Add Widget settings (Beta)
205
+ * Fix for remove admin bar in backend
206
+ * Remove Backend options, there not usable with WP 3.5 and earlier
207
+ * Fix 'Category Height' on Meta Box on write post; See always all categories, without scrolling inside Meta Box
208
+ * Fix to hide footer, but this is still usable by adding custom content
209
+ * Fix Hints, Options for Multisite install
210
+ * Add Admin Bar options (Beta)
211
+
212
+ = v1.8.0 =
213
+ * Simple Support for WP Multisite
214
+ * Enhancement for hide Text-Tab on editors in custom post types
215
+ * Small fix for PHP notice
216
+
217
+ = v1.7.27 =
218
+ * Fix for hide Admin Bar in WP 3.4
219
+ * Fix for remove sections on custom post types in edit screen table
220
+ * Enhancements for reduce sections on edit post and page
221
+ * Enhancement for User Info to use also in Admin Bar in front end
222
+ * Fix for different pages in admin, see [forum thread](http://wordpress.org/support/topic/plugin-adminimize-hide-page-and-subpages-editphp)
223
+ * Fix, if you don't use redirect for php notice
224
+ * Add romanian language
225
+
226
+ = v1.7.26 =
227
+ * Typo for settings message [see thread](http://wordpress.org/support/topic/plugin-adminimize-what-does-the-settings-page-ignores-this-settings-mean?replies=4)
228
+ * Fix for custom areas on Custom Post Types, [see thread](http://wordpress.org/support/topic/plugin-adminimize-bug-in-custom-metabox-ids-for-custom-types?replies=3)
229
+ * Exclude backend theme options, was used only smaller 2.0 of WP
230
+ * Exclude Hint in Footer
231
+ * Exclude write scroll options
232
+ * Different cleaner actions
233
+
234
+ = v1.7.25 =
235
+ * Update for fix menu-items with entities
236
+ * [Fix](http://plugins.trac.wordpress.org/changeset/494274) for display settings on menu, if items are deactivated
237
+ * Add Separator to settings of menu, for hide this for different roles
238
+ * Add notice for settings page, that no settings work on this page
239
+ * Fix rewrite, if change the user info area and define an rewrite
240
+ * List Separator on menu-items; also possible to hide this
241
+
242
+ = v1.7.24 =
243
+ * Maintenance: add ID for hide html-tab on Editor also in WP 3.3
244
+ * Bug fixing for WP 3.2.1 with the new functions :(
245
+
246
+ = v1.7.23 =
247
+ * Maintenance: change function to remove admin bar for WP 3.3, see [Forum item](http://wordpress.org/support/topic/694201)
248
+ * Maintenance: change for USer Info to works also in WP 3.3
249
+
250
+ = v1.7.22 =
251
+ * Security fix for $_GET on the admin-settings-page
252
+
253
+ = v1.7.21 =
254
+ * SORRY: i had an svn bug; here the complete version
255
+ * no changes; only a new commit to svn
256
+
257
+ = v1.7.20 =
258
+ * fix small bug for use plugin Localization
259
+ * add Dashboard Widgets to remove for different roles
260
+
261
+ = v1.7.19 =
262
+ * fix page for links - `link.php`
263
+ * add irish language files
264
+ * add bulgarian language files
265
+
266
+ = v1.7.18 (06/07/2011) =
267
+ * Fixes Small User info on right top with Admin Bar, also ready for WP 3.2
268
+ * Fixes Error for xmlrpc
269
+ * Add QuickEdit-Areas for hide this
270
+ * Different changes on source
271
+ * With WP 3.2 remove all Admin Styles !
272
+ * Add support for custom post type
273
+ * many small changes on source
274
+ * update de_DE language files
275
+ * tested only in version 3.1 and 3.2-beta; don't test in smaller version
276
+ * add hindi language file
277
+
278
+ = v1.7.17 (04/11/2011) =
279
+ * Fixes on Admin-CSS Styles for WP 3.*
280
+ * Reduce backend Styles of the Plugins - Goal: kill all styles!!! (to heavy for Maintenance)
281
+
282
+ = v1.7.16 (04/01/2011) =
283
+ * Bug-fix: change init-function; admin bar also on frontend and backend and all other options of global only on backend
284
+ * Remove new hock on wp admin bar; include inline styles; only on deactivate admin bar
285
+ * Fix language errors
286
+ * Add meta box post formats
287
+ * Update de_DE language files
288
+
289
+ = v1.7.15 (03/30/2011) =
290
+ * Change functions for reduce WP Nav Menu
291
+ * change to check for super admin; add new function and option on Global Options to set this
292
+ * Maintenance: check for functions in Multisite, Super-admin for use the plugin smaller WP 3.0
293
+ * Feature: add css for more usability on settings
294
+ * Bug-fix: custom values for WP Nav Menu
295
+ * Add Option for Super Admin
296
+ * Change option for rewrite, after deactivate Dashboard; now you use a custom url, incl. http://
297
+ * Maintenance: Language File
298
+
299
+ = v1.7.14 (03/03/2011) =
300
+ * Maintenance: remove php notice on role editor
301
+ * Maintenance: Add fallback for don't load menu/sub-menu
302
+ * Maintenance: Exclude all options in different files
303
+
304
+ = v1.7.13 (03/02/2011) =
305
+ * Maintenance: different changes on code
306
+ * Maintenance: usable in WP 3.1
307
+ * Feature: Remove Admin Bar per role
308
+ * Feature: Add options for WP Nav Menu
309
+ * Bug-fix: php warning for wrong data-type [WP Forum](http://wordpress.org/support/topic/plugin-adminimize-warning-in-array)
310
+ * Bug-fix: php warning on foreach [WP Forum](http://wordpress.org/support/topic/plugin-adminimize-warning-error-invalid-argument-supplied-for-foreach)
311
+
312
+ = v1.7.12 (10/02/2010) =
313
+ * Bug-fix: Fallback for deactivate profile.php on roles smaller administration
314
+ * Bug-fix: Redirect from Dashboard on different roles
315
+ * Maintenance: small changes on code
316
+
317
+ = v1.7.11 (09/24/2010) =
318
+ * Bug-fix: for WP < 3.0; function get_post_type_object() is not exist
319
+
320
+ = v1.7.10 (09/24/2010) =
321
+ * Bug-fix: link-page in admin
322
+ * Bug-fix: meta-boxes on link-page
323
+ * Bug-fix: check for post or page with WP 3.*
324
+ * Maintenance: german language files
325
+ * Maintenance: pot-file
326
+ * Feature: new css for "User-info" in WP 3.0
327
+ * Maintenance: incl. the new css-file
328
+
329
+ = v1.7.9 (09/15/2010) =
330
+ * Bug-fix for new role-checking
331
+
332
+ = v1.7.8 (09/13/2010) =
333
+ * changes for WPMU and WP 3.0 MultiSite
334
+ * bug-fix for admin-menu in WPMU and WP 3.0 MultiSite
335
+ * bug-fix for meta boxes in WPMU and WP 3.0 MultiSite
336
+ * bug-fix for global settings in WPMU and WP 3.0 MultiSite
337
+ * bug-fix for link-options in WPMU and WP 3.0 MultiSite
338
+ * bug-fix for custom redirect after login
339
+ * different bug-fixes fpr php-warnings
340
+
341
+ = v1.7.7 (03/18/2010) =
342
+ * small fixes for redirect on deactivate Dashboard
343
+ * add dutch language file
344
+
345
+ = v1.7.6 (01/14/2010) =
346
+ * fix array-check on new option disable HTML Editor
347
+
348
+ = v1.7.5 (01/13/2010) =
349
+ * new function: disable HTML Editor on edit post/page
350
+
351
+ = v1.7.4 (01/10/2010) =
352
+ * Fix on Refresh menu and sub-menu on settings-page
353
+ * Fix for older WordPress versions and function current_theme_supports
354
+
355
+ = v1.7.3 (01/08/2010) =
356
+ * Add Im-/Export function
357
+ * Add new meta boxes from WP 2.9 post_thumbnail, if active from the Theme
358
+ * Small modifications and code and css
359
+ * Add new functions: hide tab for help and options on edit post or edit page; category meta box with ful height, etc.
360
+
361
+ = v1.7.2 (07/08/2009) =
362
+ * Add fix to deactivate user.php/profile.php
363
+
364
+ = v1.7.1 (17/06/2009) =
365
+ * Add belorussian language file, thanks to Fat Cow
366
+
367
+ = v1.7.1 (16/06/2009) =
368
+ * changes for load user date on settings themes; better for performance on blogs with many Users
369
+ * small bug-fixes on textdomain
370
+ * changes on hint for settings on menu
371
+ * new de_DE language file
372
+ * comments meta box add to options on post
373
+
374
+ = v1.7 (23/06/2009) =
375
+ * Bug-fix for WordPress 2.6; Settings-Link
376
+ * alternate for `before_last_bar()` and change class of div
377
+
378
+ = 1.6.9 (19/06/2009) =
379
+ * Bug-fix, Settingslink gefixt;
380
+ * Changes on own defines with css selectors; first name, second css selector
381
+ * Bug-fix in own options to pages
382
+
383
+ = 1.6.8 (18/06/2009) =
384
+ * Bug-fix in german language file
385
+
386
+ = 1.6.6-7 (10/06/2009) =
387
+ * Add Meta Link in 2.8
388
+
389
+ = 1.6.5 (08/05/2009) =
390
+ * Bug-fix, Doculink only on admin page of Adminimize
391
+
392
+ = 1.6.4 (27/04/2009) =
393
+ * new Backend-Themes
394
+ * more options
395
+ * multilanguage for role-names
396
+
397
+ = 1.6.1, 1.6.3 (24/05/2009) =
398
+ * ready for own roles
399
+ * new options for link-area on WP backend
400
+ * own options for all areas, use css selectors
401
+ * ...
402
+
403
+ = v1.6 =
404
+ * ready for WP 2.7
405
+ * new options area, parting of page and post options
406
+ * add wp_nonce for own logout
407
+ * ...
408
+
409
+ = v1.5.3-8 =
410
+ * Changes for WP 2.7
411
+ * changes on CSS design
412
+ * ...
413
+
414
+ = v1.5.2 =
415
+ * own redirects possible
416
+
417
+ = v1.5.1 =
418
+ * Bug-fix f&uuml;r rekursiven Array; Redirect bei deaktivem Dashboard funktionierte nicht
419
+
420
+ = v1.5 =
421
+ * F&uuml;r jede Nutzerrolle besteht nun die M&uuml;glichkeit, eigene Menus und Metaboxes zu setzen. Erweiterungen im Backend-Bereich und Vorbereitung f&uuml;r WordPress Version 2.7
422
+
423
+ = v1.4.7 =
424
+ * Bug-fix CSS-Adresse f&uuml;r WP 2.5
425
+
426
+ = v1.4.3-6 =
427
+ * Aufrufe diverser JS ge&auml;ndert, einige &uuml;bergreifende Funktionen nun auch ohne aktives Adminimize-Theme
428
+
429
+ = v1.4.2 =
430
+ * kleine Erweiterungen, Variablenabfragen ge&auml;ndert
431
+
432
+ = v1.4.1 =
433
+ * Bug-fixes und Umstellung Sprache
434
+
435
+ = v1.4 =
436
+ * Performanceoptimierung; <strong>Achtung:</strong> nur noch 1 Db-Eintrag, bei Update auf Version 1.4 zuvor die Deinstallation-Option nutzen und die Db von &uuml;berfl&uuml;ssigen Eintr&auml;gen befreien.
437
+
438
+ = v1.3 =
439
+ * Backendfunktn. erweitert, Update f&uuml;r PressThis im Bereich Schreiben, etc.
440
+
441
+ = v1.2 =
442
+ * Erweiterungen der MetaBoxen
443
+
444
+ = v1.1 =
445
+ * Schreiben-, Verwalten-Bereich ist deaktivierbar; CSS-Erweiterungen des WP 2.3 Themes f&uuml;r WP 2.6; Sidebar im Schreiben-Bereich noch mehr konfigurierbar, Optionsseite ausgebaut, kleine Code-Ver&auml;nderungen
446
+
447
+ = v1.0 =
448
+ * JavaScript schlanker durch die Hilfe von <a href="http://www.schloebe.de/">Oliver Schl&uuml;be</a>
449
+
450
+ = v0.8.1 =
451
+ * Hinweis im Footer m&uuml;glich, optional mit optionalen Text, Weiterleitung immer ersichtlich
452
+
453
+ = v0.8 =
454
+ * Weiterleitung nach Logout m&uuml;glich
455
+
456
+ = v0.7.9 =
457
+ * Zus&auml;tzlich ist innerhalb der Kategorien nur "Kategorien hinzuf&uuml;gen" deaktiverbar
458
+
459
+ = v0.7.8 =
460
+ * Mehrsprachigkeit erweitert
461
+
462
+ = v0.7.7 =
463
+ * Bug-fix f&uuml;r Metabox ausblenden in Write Page
464
+
465
+ = v0.7.6 =
466
+ * Checkbox f&uuml;r alle ausw&auml;hlen auch in Page und Post, Korrektur in Texten
467
+
468
+ = v0.7.5 =
469
+ * Checkbox f&uuml;r alle ausw&auml;hlen, Theme zuweisen
470
+
471
+ = v0.7.3 =
472
+ * Optionale Weiterleitung bei deaktiviertem Dashboard, Einstellungen per Plugin-Seite m&uuml;glich, Admin-Footer erg&auml;nzt um Plugin-infos
473
+
474
+ = v0.7.2 =
475
+ * Update Options Button zus&auml;tzlich im oberen Abschnitt
476
+
477
+ = v0.7.1 =
478
+ * Thickbox Funktion optional
479
+
480
+ = v0.7 =
481
+ * WriteScroll optional, MediaButtons deaktivierbar
482
+
483
+ = v0.6.9 =
484
+ * Theme WordPress 2.3 hinzugekommen, Footer deaktivierbar
485
+
486
+
487
+ == Other Notes ==
488
+ = Help with "Your own options" =
489
+ See the [entry on the WP community forum](http://wordpress.org/support/topic/328449 "Plugin: Adminimize Help with Your own options (3 posts)") for help with this great possibility.
490
+
491
+ = License =
492
+ Good news, this plugin is free for everyone! Since it's released under the GPL, you can use it free of charge on your personal or commercial blog. But if you enjoy this plugin, you can thank me and leave a [small donation](http://bueltge.de/wunschliste/ "Wishliste and Donate") for the time I've spent writing and supporting this plugin. And I really don't want to know how many hours of my life this plugin has already eaten ;)
493
+
494
+ = Translations =
495
+ The plugin comes with various translations, please refer to the [WordPress Codex](http://codex.wordpress.org/Installing_WordPress_in_Your_Language "Installing WordPress in Your Language") for more information about activating the translation. If you want to help to translate the plugin to your language, please have a look at the sitemap.pot file which contains all definitions and may be used with a [gettext](http://www.gnu.org/software/gettext/) editor like [Poedit](http://www.poedit.net/) (Windows) or use, I prefers this, the [translation service from wordpress.org](https://translate.wordpress.org/projects/wp-plugins/adminimize).
496
+
497
+ == Frequently Asked Questions ==
498
+ = Help with "Your own options" =
499
+ See the [entry on the WP community forum](http://wordpress.org/support/topic/328449 "[Plugin: Adminimize] Help with "Your own options" (3 posts)") for help with great function to add custom/own options.
500
+
501
+ = Post about the plugin with helpful hints =
502
+ * [wpbeginner.com: How to Hide Unnecessary Items From WordPress Admin with Adminimize](http://www.wpbeginner.com/plugins/how-to-hide-unnecessary-items-from-wordpress-admin-with-adminimize/)
503
+ * [wptavern.com: Create A Custom WordPress Admin Experience With Adminimize](http://wptavern.com/create-a-custom-wordpress-admin-experience-with-adminimize)
504
+
505
+ = I love this plugin! How can I show the developer how much I appreciate his work? =
506
+ Please send a [review](https://wordpress.org/support/view/plugin-reviews/adminimize) and let him know your care or see the [wishlist](http://bueltge.de/wunschliste/ "Wishlist") of the author. Also you can send a [donation](https://www.paypal.me/FrankBueltge).