WP Notification Bars - Version 1.0.1

Version Description

  • Added ability to choose notification bar on single post and page
  • Added "Blog Homepage" location if static front page is chosen in Settings->Reading
  • Referrer saved in session
  • Allowed html in "Text and Link/Button" content type
Download this release

Release Info

Developer MyThemeShop
Plugin Icon 128x128 WP Notification Bars
Version 1.0.1
Comparing to
See all releases

Code changes from version 1.0 to 1.0.1

admin/class-wp-notification-bars-admin.php CHANGED
@@ -49,6 +49,8 @@ class MTSNBF_Admin {
49
  */
50
  private $plugin_screen_hook_suffix = null;
51
 
 
 
52
  /**
53
  * Initialize the class and set its properties.
54
  *
@@ -73,10 +75,15 @@ class MTSNBF_Admin {
73
  $screen = get_current_screen();
74
  $screen_id = $screen->id;
75
 
76
- if ( 'mts_notification_bar' === $screen_id ) {
 
 
77
 
78
  wp_enqueue_style( 'wp-color-picker' );
79
  wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/wp-notification-bars-admin.css', array(), $this->version, 'all' );
 
 
 
80
  }
81
  }
82
 
@@ -90,10 +97,23 @@ class MTSNBF_Admin {
90
  $screen = get_current_screen();
91
  $screen_id = $screen->id;
92
 
93
- if ( 'mts_notification_bar' === $screen_id ) {
 
 
94
 
95
  wp_enqueue_script( 'wp-color-picker' );
96
 
 
 
 
 
 
 
 
 
 
 
 
97
  wp_enqueue_script(
98
  $this->plugin_name,
99
  plugin_dir_url( __FILE__ ) . 'js/wp-notification-bars-admin.js',
@@ -103,6 +123,14 @@ class MTSNBF_Admin {
103
  ),
104
  $this->version, false
105
  );
 
 
 
 
 
 
 
 
106
  }
107
  }
108
 
@@ -148,6 +176,16 @@ class MTSNBF_Admin {
148
  );
149
 
150
  register_post_type( 'mts_notification_bar' , $args );
 
 
 
 
 
 
 
 
 
 
151
  }
152
 
153
  /**
@@ -421,6 +459,7 @@ class MTSNBF_Admin {
421
  <div class="mtsnb-conditions-panel-desc"><?php _e( 'Show Notification Bar on the following locations', $this->plugin_name ); ?></div>
422
  <div class="mtsnb-conditions-panel-opt">
423
  <?php $location_home = isset( $value['conditions'] ) && isset( $value['conditions']['location'] ) && ( isset( $value['conditions']['location']['home'] ) && !empty( $value['conditions']['location']['home'] ) ) ? $value['conditions']['location']['home'] : '0'; ?>
 
424
  <?php $location_pages = isset( $value['conditions'] ) && isset( $value['conditions']['location'] ) && ( isset( $value['conditions']['location']['pages'] ) && !empty( $value['conditions']['location']['pages'] ) ) ? $value['conditions']['location']['pages'] : '0'; ?>
425
  <?php $location_posts = isset( $value['conditions'] ) && isset( $value['conditions']['location'] ) && ( isset( $value['conditions']['location']['posts'] ) && !empty( $value['conditions']['location']['posts'] ) ) ? $value['conditions']['location']['posts'] : '0'; ?>
426
  <p>
@@ -429,6 +468,14 @@ class MTSNBF_Admin {
429
  <?php _e( 'Homepage.', $this->plugin_name ); ?>
430
  </label>
431
  </p>
 
 
 
 
 
 
 
 
432
  <p>
433
  <label>
434
  <input type="checkbox" class="mtsnb-checkbox" name="mtsnb_fields[conditions][location][pages]" id="mtsnb_fields_conditions_location_pages" value="1" <?php checked( $location_pages, '1', true ); ?> />
@@ -449,15 +496,24 @@ class MTSNBF_Admin {
449
  <div class="mtsnb-conditions-panel-content">
450
  <div class="mtsnb-conditions-panel-desc"><?php _e( 'Hide Notification Bar on the following locations', $this->plugin_name ); ?></div>
451
  <div class="mtsnb-conditions-panel-opt">
452
- <?php $notlocation_home = isset( $value['conditions'] ) && isset( $value['conditions']['notlocation'] ) && ( isset( $value['conditions']['notlocation']['home'] ) && !empty( $value['conditions']['notlocation']['home'] ) ) ? $value['conditions']['notlocation']['home'] : '0'; ?>
453
- <?php $notlocation_pages = isset( $value['conditions'] ) && isset( $value['conditions']['notlocation'] ) && ( isset( $value['conditions']['notlocation']['pages'] ) && !empty( $value['conditions']['notlocation']['pages'] ) ) ? $value['conditions']['notlocation']['pages'] : '0'; ?>
454
- <?php $notlocation_posts = isset( $value['conditions'] ) && isset( $value['conditions']['notlocation'] ) && ( isset( $value['conditions']['notlocation']['posts'] ) && !empty( $value['conditions']['notlocation']['posts'] ) ) ? $value['conditions']['notlocation']['posts'] : '0'; ?>
 
455
  <p>
456
  <label>
457
  <input type="checkbox" class="mtsnb-checkbox" name="mtsnb_fields[conditions][notlocation][home]" id="mtsnb_fields_conditions_notlocation_home" value="1" <?php checked( $notlocation_home, '1', true ); ?> />
458
  <?php _e( 'Homepage.', $this->plugin_name ); ?>
459
  </label>
460
  </p>
 
 
 
 
 
 
 
 
461
  <p>
462
  <label>
463
  <input type="checkbox" class="mtsnb-checkbox" name="mtsnb_fields[conditions][notlocation][pages]" id="mtsnb_fields_conditions_notlocation_pages" value="1" <?php checked( $notlocation_pages, '1', true ); ?> />
@@ -715,4 +771,190 @@ class MTSNBF_Admin {
715
 
716
  return $messages;
717
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
718
  }
49
  */
50
  private $plugin_screen_hook_suffix = null;
51
 
52
+ private $force_bar_post_types;
53
+
54
  /**
55
  * Initialize the class and set its properties.
56
  *
75
  $screen = get_current_screen();
76
  $screen_id = $screen->id;
77
 
78
+ $force_bar_post_types = $this->force_bar_post_types;
79
+
80
+ if ( 'mts_notification_bar' === $screen_id || in_array( $screen_id, $force_bar_post_types ) ) {
81
 
82
  wp_enqueue_style( 'wp-color-picker' );
83
  wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/wp-notification-bars-admin.css', array(), $this->version, 'all' );
84
+ if ( 'mts_notification_bar' !== $screen_id ) {
85
+ wp_enqueue_style( $this->plugin_name.'_select2', plugin_dir_url( __FILE__ ) . 'css/select2.min.css', array(), $this->version, 'all' );
86
+ }
87
  }
88
  }
89
 
97
  $screen = get_current_screen();
98
  $screen_id = $screen->id;
99
 
100
+ $force_bar_post_types = $this->force_bar_post_types;
101
+
102
+ if ( 'mts_notification_bar' === $screen_id || in_array( $screen_id, $force_bar_post_types ) ) {
103
 
104
  wp_enqueue_script( 'wp-color-picker' );
105
 
106
+ if ( 'mts_notification_bar' !== $screen_id ) {
107
+
108
+ wp_enqueue_script(
109
+ $this->plugin_name.'_select2',
110
+ plugin_dir_url( __FILE__ ) . 'js/select2.full.min.js',
111
+ array('jquery'),
112
+ $this->version,
113
+ false
114
+ );
115
+ }
116
+
117
  wp_enqueue_script(
118
  $this->plugin_name,
119
  plugin_dir_url( __FILE__ ) . 'js/wp-notification-bars-admin.js',
123
  ),
124
  $this->version, false
125
  );
126
+
127
+ wp_localize_script(
128
+ $this->plugin_name,
129
+ 'mtsnb_locale',
130
+ array(
131
+ 'select_placeholder' => __( 'Enter Notification Bar Title', $this->plugin_name ),
132
+ )
133
+ );
134
  }
135
  }
136
 
176
  );
177
 
178
  register_post_type( 'mts_notification_bar' , $args );
179
+
180
+ // Filter supported post types where user ca override bar on single view
181
+ $force_bar_supported_post_types = apply_filters( 'mtsnb_force_bar_post_types', array( 'post', 'page' ) );
182
+
183
+ if ( ( $key = array_search( 'mts_notification_bar', $force_bar_supported_post_types ) ) !== false ) {
184
+
185
+ unset( $force_bar_supported_post_types[ $key ] );
186
+ }
187
+
188
+ $this->force_bar_post_types = $force_bar_supported_post_types;
189
  }
190
 
191
  /**
459
  <div class="mtsnb-conditions-panel-desc"><?php _e( 'Show Notification Bar on the following locations', $this->plugin_name ); ?></div>
460
  <div class="mtsnb-conditions-panel-opt">
461
  <?php $location_home = isset( $value['conditions'] ) && isset( $value['conditions']['location'] ) && ( isset( $value['conditions']['location']['home'] ) && !empty( $value['conditions']['location']['home'] ) ) ? $value['conditions']['location']['home'] : '0'; ?>
462
+ <?php $location_blog_home = isset( $value['conditions'] ) && isset( $value['conditions']['location'] ) && ( isset( $value['conditions']['location']['blog_home'] ) && !empty( $value['conditions']['location']['blog_home'] ) ) ? $value['conditions']['location']['blog_home'] : '0'; ?>
463
  <?php $location_pages = isset( $value['conditions'] ) && isset( $value['conditions']['location'] ) && ( isset( $value['conditions']['location']['pages'] ) && !empty( $value['conditions']['location']['pages'] ) ) ? $value['conditions']['location']['pages'] : '0'; ?>
464
  <?php $location_posts = isset( $value['conditions'] ) && isset( $value['conditions']['location'] ) && ( isset( $value['conditions']['location']['posts'] ) && !empty( $value['conditions']['location']['posts'] ) ) ? $value['conditions']['location']['posts'] : '0'; ?>
465
  <p>
468
  <?php _e( 'Homepage.', $this->plugin_name ); ?>
469
  </label>
470
  </p>
471
+ <?php if ( 'page' === get_option('show_on_front') && '0' !== get_option('page_for_posts') && '0' !== get_option('page_on_front') ) { ?>
472
+ <p>
473
+ <label>
474
+ <input type="checkbox" class="mtsnb-checkbox" name="mtsnb_fields[conditions][location][blog_home]" id="mtsnb_fields_conditions_location_blog_home" value="1" <?php checked( $location_blog_home, '1', true ); ?> />
475
+ <?php _e( 'Blog Homepage.', $this->plugin_name ); ?>
476
+ </label>
477
+ </p>
478
+ <?php } ?>
479
  <p>
480
  <label>
481
  <input type="checkbox" class="mtsnb-checkbox" name="mtsnb_fields[conditions][location][pages]" id="mtsnb_fields_conditions_location_pages" value="1" <?php checked( $location_pages, '1', true ); ?> />
496
  <div class="mtsnb-conditions-panel-content">
497
  <div class="mtsnb-conditions-panel-desc"><?php _e( 'Hide Notification Bar on the following locations', $this->plugin_name ); ?></div>
498
  <div class="mtsnb-conditions-panel-opt">
499
+ <?php $notlocation_home = isset( $value['conditions'] ) && isset( $value['conditions']['notlocation'] ) && ( isset( $value['conditions']['notlocation']['home'] ) && !empty( $value['conditions']['notlocation']['home'] ) ) ? $value['conditions']['notlocation']['home'] : '0'; ?>
500
+ <?php $notlocation_blog_home = isset( $value['conditions'] ) && isset( $value['conditions']['notlocation'] ) && ( isset( $value['conditions']['notlocation']['blog_home'] ) && !empty( $value['conditions']['notlocation']['blog_home'] ) ) ? $value['conditions']['notlocation']['blog_home'] : '0'; ?>
501
+ <?php $notlocation_pages = isset( $value['conditions'] ) && isset( $value['conditions']['notlocation'] ) && ( isset( $value['conditions']['notlocation']['pages'] ) && !empty( $value['conditions']['notlocation']['pages'] ) ) ? $value['conditions']['notlocation']['pages'] : '0'; ?>
502
+ <?php $notlocation_posts = isset( $value['conditions'] ) && isset( $value['conditions']['notlocation'] ) && ( isset( $value['conditions']['notlocation']['posts'] ) && !empty( $value['conditions']['notlocation']['posts'] ) ) ? $value['conditions']['notlocation']['posts'] : '0'; ?>
503
  <p>
504
  <label>
505
  <input type="checkbox" class="mtsnb-checkbox" name="mtsnb_fields[conditions][notlocation][home]" id="mtsnb_fields_conditions_notlocation_home" value="1" <?php checked( $notlocation_home, '1', true ); ?> />
506
  <?php _e( 'Homepage.', $this->plugin_name ); ?>
507
  </label>
508
  </p>
509
+ <?php if ( 'page' === get_option('show_on_front') && '0' !== get_option('page_for_posts') && '0' !== get_option('page_on_front') ) { ?>
510
+ <p>
511
+ <label>
512
+ <input type="checkbox" class="mtsnb-checkbox" name="mtsnb_fields[conditions][notlocation][blog_home]" id="mtsnb_fields_conditions_notlocation_blog_home" value="1" <?php checked( $notlocation_blog_home, '1', true ); ?> />
513
+ <?php _e( 'Blog Homepage.', $this->plugin_name ); ?>
514
+ </label>
515
+ </p>
516
+ <?php } ?>
517
  <p>
518
  <label>
519
  <input type="checkbox" class="mtsnb-checkbox" name="mtsnb_fields[conditions][notlocation][pages]" id="mtsnb_fields_conditions_notlocation_pages" value="1" <?php checked( $notlocation_pages, '1', true ); ?> />
771
 
772
  return $messages;
773
  }
774
+
775
+
776
+ /**
777
+ * Single post view bar select
778
+ *
779
+ * @since 1.0.1
780
+ */
781
+ public function mtsnb_select_metabox_insert() {
782
+
783
+ $force_bar_post_types = $this->force_bar_post_types;
784
+
785
+ if ( $force_bar_post_types && is_array( $force_bar_post_types ) ) {
786
+
787
+ foreach ( $force_bar_post_types as $screen ) {
788
+
789
+ add_meta_box(
790
+ 'mtsnb_single_bar_metabox',
791
+ __( 'Notification Bar', $this->plugin_name ),
792
+ array( $this, 'mtsnb_select_metabox_content' ),
793
+ $screen,
794
+ 'side',
795
+ 'default'
796
+ );
797
+ }
798
+ }
799
+ }
800
+ public function mtsnb_select_metabox_content( $post ) {
801
+
802
+ // Add an nonce field so we can check for it later.
803
+ wp_nonce_field('mtsnb_select_metabox_save', 'mtsnb_select_metabox_nonce');
804
+
805
+ /*
806
+ * Use get_post_meta() to retrieve an existing value
807
+ * from the database and use the value for the form.
808
+ */
809
+ $bar = get_post_meta( $post->ID, '_mtsnb_override_bar', true );
810
+
811
+ $processed_item_ids = '';
812
+ if ( !empty( $bar ) ) {
813
+ // Some entries may be arrays themselves!
814
+ $processed_item_ids = array();
815
+ foreach ($bar as $this_id) {
816
+ if (is_array($this_id)) {
817
+ $processed_item_ids = array_merge( $processed_item_ids, $this_id );
818
+ } else {
819
+ $processed_item_ids[] = $this_id;
820
+ }
821
+ }
822
+
823
+ if (is_array($processed_item_ids) && !empty($processed_item_ids)) {
824
+ $processed_item_ids = implode(',', $processed_item_ids);
825
+ } else {
826
+ $processed_item_ids = '';
827
+ }
828
+ }
829
+ ?>
830
+ <p>
831
+ <label for="mtsnb_override_bar_field"><?php _e( 'Select Notification Bar (optional):', $this->plugin_name ); ?></label><br />
832
+ <input style="width: 400px;" type="hidden" id="mtsnb_override_bar_field" name="mtsnb_override_bar_field" class="mtsnb-bar-select" value="<?php echo $processed_item_ids; ?>" />
833
+ </p>
834
+ <p>
835
+ <i><?php _e( 'Selected notification bar will override any other bar.', $this->plugin_name ); ?></i>
836
+ </p>
837
+ <?php
838
+ }
839
+
840
+ public function mtsnb_select_metabox_save( $post_id ) {
841
+
842
+ // Check if our nonce is set.
843
+ if ( ! isset( $_POST['mtsnb_select_metabox_nonce'] ) ) {
844
+ return;
845
+ }
846
+ // Verify that the nonce is valid.
847
+ if ( ! wp_verify_nonce( $_POST['mtsnb_select_metabox_nonce'], 'mtsnb_select_metabox_save' ) ) {
848
+ return;
849
+ }
850
+ // If this is an autosave, our form has not been submitted, so we don't want to do anything.
851
+ if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
852
+ return;
853
+ }
854
+
855
+ // Check the user's permissions.
856
+ if ( 'page' == $_POST['post_type'] ) {
857
+
858
+ if ( ! current_user_can( 'edit_page', $post_id ) )
859
+ return;
860
+
861
+ } else {
862
+
863
+ if ( ! current_user_can( 'edit_post', $post_id ) )
864
+ return;
865
+ }
866
+
867
+ /* OK, its safe for us to save the data now. */
868
+ if ( ! isset( $_POST['mtsnb_override_bar_field'] ) ) {
869
+ return;
870
+ }
871
+
872
+ $val = $_POST['mtsnb_override_bar_field'];
873
+
874
+ if (strpos($val, ',') === false) {
875
+ // No comma, must be single value - still needs to be in an array for now
876
+ $post_ids = array( $val );
877
+ } else {
878
+ // There is a comma so it's explodable
879
+ $post_ids = explode(',', $val);
880
+ }
881
+
882
+ // Update the meta field in the database.
883
+ update_post_meta( $post_id, '_mtsnb_override_bar', $post_ids );
884
+ }
885
+
886
+ /**
887
+ * Bar select ajax function
888
+ *
889
+ * @since 1.0.1
890
+ */
891
+ public function mtsnb_get_bars() {
892
+
893
+ $result = array();
894
+
895
+ $search = $_REQUEST['q'];
896
+
897
+ $ads_query = array(
898
+ 'posts_per_page' => -1,
899
+ 'post_status' => array('publish'),
900
+ 'post_type' => 'mts_notification_bar',
901
+ 'order' => 'ASC',
902
+ 'orderby' => 'title',
903
+ 'suppress_filters' => false,
904
+ 's'=> $search
905
+ );
906
+ $posts = get_posts( $ads_query );
907
+
908
+ // We'll return a JSON-encoded result.
909
+ foreach ( $posts as $this_post ) {
910
+ $post_title = $this_post->post_title;
911
+ $id = $this_post->ID;
912
+
913
+ $result[] = array(
914
+ 'id' => $id,
915
+ 'title' => $post_title,
916
+ );
917
+ }
918
+
919
+ echo json_encode( $result );
920
+
921
+ die();
922
+ }
923
+
924
+ public function mtsnb_get_bar_titles() {
925
+ $result = array();
926
+
927
+ if (isset($_REQUEST['post_ids'])) {
928
+ $post_ids = $_REQUEST['post_ids'];
929
+ if (strpos($post_ids, ',') === false) {
930
+ // There is no comma, so we can't explode, but we still want an array
931
+ $post_ids = array( $post_ids );
932
+ } else {
933
+ // There is a comma, so it must be explodable
934
+ $post_ids = explode(',', $post_ids);
935
+ }
936
+ } else {
937
+ $post_ids = array();
938
+ }
939
+
940
+ if (is_array($post_ids) && ! empty($post_ids)) {
941
+
942
+ $posts = get_posts(array(
943
+ 'posts_per_page' => -1,
944
+ 'post_status' => array('publish'),
945
+ 'post__in' => $post_ids,
946
+ 'post_type' => 'mts_notification_bar'
947
+ ));
948
+ foreach ( $posts as $this_post ) {
949
+ $result[] = array(
950
+ 'id' => $this_post->ID,
951
+ 'title' => $this_post->post_title,
952
+ );
953
+ }
954
+ }
955
+
956
+ echo json_encode( $result );
957
+
958
+ die();
959
+ }
960
  }
admin/css/select2.min.css ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Version: 3.4.6 Timestamp: Sat Mar 22 22:30:15 EDT 2014
3
+ */
4
+ .select2-container { margin: 0; nowhitespace: afterproperty; nowhitespace: afterproperty; position: relative; display: inline-block; /* inline-block for ie7 */ zoom: 1; *display: inline; vertical-align: middle; ; ; }
5
+ .select2-container, .select2-drop, .select2-search, .select2-search input { box-sizing: border-box /* css3 */ }
6
+ .select2-container .select2-choice { display: block; height: 26px; padding: 0 0 0 8px; overflow: hidden; position: relative; border: 1px solid #aaa; white-space: nowrap; line-height: 26px; color: #444; text-decoration: none; border-radius: 4px; background-clip: padding-box; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: #fff; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0); background-image: linear-gradient(to top, #eee 0%, #fff 50%); }
7
+ .select2-container.select2-drop-above .select2-choice { border-bottom-color: #aaa; border-radius: 0 0 4px 4px; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0); background-image: linear-gradient(to bottom, #eee 0%, #fff 90%); }
8
+ .select2-container.select2-allowclear .select2-choice .select2-chosen { margin-right: 42px }
9
+ .select2-container .select2-choice > .select2-chosen { margin-right: 26px; display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; float: none; width: auto; }
10
+ .select2-container .select2-choice abbr { display: none; width: 12px; height: 12px; position: absolute; right: 24px; top: 8px; font-size: 1px; text-decoration: none; border: 0; background: url('../img/select2.png') right top no-repeat; cursor: pointer; outline: 0; }
11
+ .select2-container.select2-allowclear .select2-choice abbr { display: inline-block }
12
+ .select2-container .select2-choice abbr:hover { background-position: right -11px; cursor: pointer; }
13
+ .select2-drop-mask { border: 0; nowhitespace: afterproperty; nowhitespace: afterproperty; margin: 0; padding: 0; position: fixed; left: 0; top: 0; min-height: 100%; min-width: 100%; height: auto; width: auto; opacity: 0; z-index: 9998; /* styles required for IE to work */ background-color: #fff; filter: alpha(opacity=0); ; ; }
14
+ .select2-drop { width: 100%; margin-top: -1px; position: absolute; z-index: 9999; top: 100%; background: #fff; color: #000; border: 1px solid #aaa; border-top: 0; border-radius: 0 0 4px 4px; box-shadow: 0 4px 5px rgba(0, 0, 0, .15); }
15
+ .select2-drop.select2-drop-above { margin-top: 1px; border-top: 1px solid #aaa; border-bottom: 0; border-radius: 4px 4px 0 0; box-shadow: 0 -4px 5px rgba(0, 0, 0, .15); }
16
+ .select2-drop-active { border: 1px solid #5897fb; border-top: none; }
17
+ .select2-drop.select2-drop-above.select2-drop-active { border-top: 1px solid #5897fb }
18
+ .select2-drop-auto-width { border-top: 1px solid #aaa; width: auto; }
19
+ .select2-drop-auto-width .select2-search { padding-top: 4px }
20
+ .select2-container .select2-choice .select2-arrow { display: inline-block; width: 18px; height: 100%; position: absolute; right: 0; top: 0; border-left: 1px solid #aaa; border-radius: 0 4px 4px 0; background-clip: padding-box; background: #ccc; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0); background-image: linear-gradient(to top, #ccc 0%, #eee 60%); }
21
+ .select2-container .select2-choice .select2-arrow b { display: block; width: 100%; height: 100%; background: url('../img/select2.png') no-repeat 0 1px; }
22
+ .select2-search { display: inline-block; width: 100%; min-height: 26px; margin: 0; padding-left: 4px; padding-right: 4px; position: relative; z-index: 1.0; white-space: nowrap; }
23
+ .select2-search input { width: 100%; height: auto !important; min-height: 26px; padding: 4px 20px 4px 5px; margin: 0; outline: 0; font-family: sans-serif; font-size: 1em; border: 1px solid #aaa; border-radius: 0; box-shadow: none; background: #fff url('../img/select2.png') no-repeat 100% -22px; background: url('../img/select2.png') no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0; }
24
+ .select2-drop.select2-drop-above .select2-search input { margin-top: 4px }
25
+ .select2-search input.select2-active { background: #fff url('../img/select2-spinner.gif') no-repeat 100%; background: url('../img/select2-spinner.gif') no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0; }
26
+ .select2-container-active .select2-choice, .select2-container-active .select2-choices { border: 1px solid #5897fb; outline: none; box-shadow: 0 0 5px rgba(0, 0, 0, .3); }
27
+ .select2-dropdown-open .select2-choice { border-bottom-color: transparent; box-shadow: 0 1px 0 #fff inset; border-bottom-left-radius: 0; border-bottom-right-radius: 0; background-color: #eee; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0); background-image: linear-gradient(to top, #fff 0%, #eee 50%); }
28
+ .select2-dropdown-open.select2-drop-above .select2-choice, .select2-dropdown-open.select2-drop-above .select2-choices { border: 1px solid #5897fb; border-top-color: transparent; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0); background-image: linear-gradient(to bottom, #fff 0%, #eee 50%); }
29
+ .select2-dropdown-open .select2-choice .select2-arrow { background: transparent; border-left: none; -webkit-filter: none; filter: none; }
30
+ .select2-dropdown-open .select2-choice .select2-arrow b { background-position: -18px 1px }
31
+ .select2-hidden-accessible { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
32
+ /* results */
33
+ .select2-results { max-height: 200px; padding: 0 0 0 4px; margin: 4px 4px 4px 0; position: relative; overflow-x: hidden; overflow-y: auto; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
34
+ .select2-results ul.select2-result-sub { margin: 0; padding-left: 0; }
35
+ .select2-results ul.select2-result-sub > li .select2-result-label { padding-left: 20px }
36
+ .select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 40px }
37
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 60px }
38
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 80px }
39
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 100px }
40
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 110px }
41
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 120px }
42
+ .select2-results li { list-style: none; display: list-item; background-image: none; }
43
+ .select2-results li.select2-result-with-children > .select2-result-label { font-weight: bold }
44
+ .select2-results .select2-result-label { padding: 3px 7px 4px; margin: 0; cursor: pointer; min-height: 1em; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
45
+ .select2-results .select2-highlighted { background: #3875d7; color: #fff; }
46
+ .select2-results li em { background: #feffde; font-style: normal; }
47
+ .select2-results .select2-highlighted em { background: transparent }
48
+ .select2-results .select2-highlighted ul { background: #fff; color: #000; }
49
+ .select2-results .select2-no-results, .select2-results .select2-searching, .select2-results .select2-selection-limit { background: #f4f4f4; display: list-item; padding-left: 5px; }
50
+ /*
51
+ disabled look for disabled choices in the results dropdown
52
+ */
53
+ .select2-results .select2-disabled.select2-highlighted { color: #666; background: #f4f4f4; display: list-item; cursor: default; }
54
+ .select2-results .select2-disabled { background: #f4f4f4; display: list-item; cursor: default; }
55
+ .select2-results .select2-selected { display: none }
56
+ .select2-more-results.select2-active { background: #f4f4f4 url('../img/select2-spinner.gif') no-repeat 100% }
57
+ .select2-more-results { background: #f4f4f4; display: list-item; }
58
+ /* disabled styles */
59
+ .select2-container.select2-container-disabled .select2-choice { background-color: #f4f4f4; background-image: none; border: 1px solid #ddd; cursor: default; }
60
+ .select2-container.select2-container-disabled .select2-choice .select2-arrow { background-color: #f4f4f4; background-image: none; border-left: 0; }
61
+ .select2-container.select2-container-disabled .select2-choice abbr { display: none }
62
+ /* multiselect */
63
+ .select2-container-multi .select2-choices { height: auto !important; height: 1%; margin: 0; padding: 0; position: relative; border: 1px solid #aaa; cursor: text; overflow: hidden; background-color: #fff; background-image: linear-gradient(to bottom, #eee 1%, #fff 15%); }
64
+ .select2-locked { padding: 3px 5px 3px 5px !important }
65
+ .select2-container-multi .select2-choices { min-height: 26px }
66
+ .select2-container-multi.select2-container-active .select2-choices { border: 1px solid #5897fb; outline: none; box-shadow: 0 0 5px rgba(0, 0, 0, .3); }
67
+ .select2-container-multi .select2-choices li { float: left; list-style: none; }
68
+ html[dir="rtl"] .select2-container-multi .select2-choices li { float: right }
69
+ .select2-container-multi .select2-choices .select2-search-field { margin: 0; padding: 0; white-space: nowrap; }
70
+ .select2-container-multi .select2-choices .select2-search-field input { padding: 5px!important; margin: 1px 0!important; font-family: sans-serif; font-size: 100%; color: #666; outline: 0!important; border: 0!important; box-shadow: none!important; background: transparent !important; }
71
+ .select2-container-multi .select2-choices .select2-search-field input.select2-active { background: #fff url('../img/select2-spinner.gif') no-repeat 100% !important }
72
+ .select2-default { color: #999 !important }
73
+ .select2-container-multi .select2-choices .select2-search-choice { padding: 3px 5px 3px 18px; margin: 3px 0 3px 5px; position: relative; line-height: 13px; color: #333; cursor: default; border: 1px solid #aaaaaa; border-radius: 3px; box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); background-clip: padding-box; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: #e4e4e4; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0); background-image: linear-gradient(to top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); }
74
+ html[dir="rtl"] .select2-container-multi .select2-choices .select2-search-choice { margin-left: 0; margin-right: 5px; }
75
+ .select2-container-multi .select2-choices .select2-search-choice .select2-chosen { cursor: default }
76
+ .select2-container-multi .select2-choices .select2-search-choice-focus { background: #d4d4d4 }
77
+ .select2-search-choice-close { display: block; width: 12px; height: 13px; position: absolute; right: 3px; top: 4px; font-size: 1px; outline: none; background: url('../img/select2.png') right top no-repeat; }
78
+ html[dir="rtl"] .select2-search-choice-close { right: auto; left: 3px; }
79
+ .select2-container-multi .select2-search-choice-close { left: 3px }
80
+ .select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover { background-position: right -11px }
81
+ .select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close { background-position: right -11px }
82
+ /* disabled styles */
83
+ .select2-container-multi.select2-container-disabled .select2-choices { background-color: #f4f4f4; background-image: none; border: 1px solid #ddd; cursor: default; }
84
+ .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice { padding: 3px 5px 3px 5px; border: 1px solid #ddd; background-image: none; background-color: #f4f4f4; }
85
+ .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none; background: none; }
86
+ /* end multiselect */
87
+ .select2-result-selectable .select2-match, .select2-result-unselectable .select2-match { text-decoration: underline }
88
+ .select2-offscreen, .select2-offscreen:focus { clip: rect(0 0 0 0) !important; width: 1px !important; height: 1px !important; border: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; position: absolute !important; outline: 0 !important; left: 0px !important; top: 0px !important; }
89
+ .select2-display-none { display: none }
90
+ .select2-measure-scrollbar { position: absolute; top: -1.0px; left: -1.0px; width: 100px; height: 100px; overflow: scroll; }
91
+ /* Retina-ize icons */
92
+ @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 2dppx) {
93
+ .select2-search input, .select2-search-choice-close, .select2-container .select2-choice abbr, .select2-container .select2-choice .select2-arrow b { background-image: url('../img/select2x2.png') !important; background-repeat: no-repeat !important; background-size: 60px 40px !important; }
94
+ .select2-search input { background-position: 100% -21px !important }
95
+ }
admin/css/wp-notification-bars-admin.css CHANGED
@@ -82,4 +82,5 @@
82
  .mtsnb-conditions-panel-opt { margin-top: 15px; padding-left: 15px; padding-right: 15px; }
83
  .text-center { text-align: center }
84
  .mtsnb-colors-loader { margin-bottom: 12px }
85
- .mtsnb-small-select { width: auto!important; padding: 5px!important; margin: -3px 5px 0 5px!important; }
 
82
  .mtsnb-conditions-panel-opt { margin-top: 15px; padding-left: 15px; padding-right: 15px; }
83
  .text-center { text-align: center }
84
  .mtsnb-colors-loader { margin-bottom: 12px }
85
+ .mtsnb-small-select { width: auto!important; padding: 5px!important; margin: -3px 5px 0 5px!important; }
86
+ .mtsnb-bar-select { max-width: 100% }
admin/js/select2.full.min.js ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Copyright 2014 Igor Vaynberg
3
+
4
+ Version: 3.5.0 Timestamp: Mon Jun 16 19:29:44 EDT 2014
5
+
6
+ This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
7
+ General Public License version 2 (the "GPL License"). You may choose either license to govern your
8
+ use of this software only upon the condition that you accept all of the terms of either the Apache
9
+ License or the GPL License.
10
+
11
+ You may obtain a copy of the Apache License and the GPL License at:
12
+
13
+ http://www.apache.org/licenses/LICENSE-2.0
14
+ http://www.gnu.org/licenses/gpl-2.0.html
15
+
16
+ Unless required by applicable law or agreed to in writing, software distributed under the Apache License
17
+ or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
18
+ either express or implied. See the Apache License and the GPL License for the specific language governing
19
+ permissions and limitations under the Apache License and the GPL License.
20
+ */
21
+ !function(a){"undefined"==typeof a.fn.each2&&a.extend(a.fn,{each2:function(b){for(var c=a([0]),d=-1,e=this.length;++d<e&&(c.context=c[0]=this[d])&&b.call(c[0],d,c)!==!1;);return this}})}(jQuery),function(a,b){"use strict";function n(b){var c=a(document.createTextNode(""));b.before(c),c.before(b),c.remove()}function o(a){function b(a){return m[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function p(a,b){for(var c=0,d=b.length;d>c;c+=1)if(r(a,b[c]))return c;return-1}function q(){var b=a(l);b.appendTo("body");var c={width:b.width()-b[0].clientWidth,height:b.height()-b[0].clientHeight};return b.remove(),c}function r(a,c){return a===c?!0:a===b||c===b?!1:null===a||null===c?!1:a.constructor===String?a+""==c+"":c.constructor===String?c+""==a+"":!1}function s(b,c){var d,e,f;if(null===b||b.length<1)return[];for(d=b.split(c),e=0,f=d.length;f>e;e+=1)d[e]=a.trim(d[e]);return d}function t(a){return a.outerWidth(!1)-a.width()}function u(c){var d="keyup-change-value";c.on("keydown",function(){a.data(c,d)===b&&a.data(c,d,c.val())}),c.on("keyup",function(){var e=a.data(c,d);e!==b&&c.val()!==e&&(a.removeData(c,d),c.trigger("keyup-change"))})}function v(c){c.on("mousemove",function(c){var d=i;(d===b||d.x!==c.pageX||d.y!==c.pageY)&&a(c.target).trigger("mousemove-filtered",c)})}function w(a,c,d){d=d||b;var e;return function(){var b=arguments;window.clearTimeout(e),e=window.setTimeout(function(){c.apply(d,b)},a)}}function x(a,b){var c=w(a,function(a){b.trigger("scroll-debounced",a)});b.on("scroll",function(a){p(a.target,b.get())>=0&&c(a)})}function y(a){a[0]!==document.activeElement&&window.setTimeout(function(){var d,b=a[0],c=a.val().length;a.focus();var e=b.offsetWidth>0||b.offsetHeight>0;e&&b===document.activeElement&&(b.setSelectionRange?b.setSelectionRange(c,c):b.createTextRange&&(d=b.createTextRange(),d.collapse(!1),d.select()))},0)}function z(b){b=a(b)[0];var c=0,d=0;if("selectionStart"in b)c=b.selectionStart,d=b.selectionEnd-c;else if("selection"in document){b.focus();var e=document.selection.createRange();d=document.selection.createRange().text.length,e.moveStart("character",-b.value.length),c=e.text.length-d}return{offset:c,length:d}}function A(a){a.preventDefault(),a.stopPropagation()}function B(a){a.preventDefault(),a.stopImmediatePropagation()}function C(b){if(!h){var c=b[0].currentStyle||window.getComputedStyle(b[0],null);h=a(document.createElement("div")).css({position:"absolute",left:"-1.0px",top:"-1.0px",display:"none",fontSize:c.fontSize,fontFamily:c.fontFamily,fontStyle:c.fontStyle,fontWeight:c.fontWeight,letterSpacing:c.letterSpacing,textTransform:c.textTransform,whiteSpace:"nowrap"}),h.attr("class","select2-sizer"),a("body").append(h)}return h.text(b.val()),h.width()}function D(b,c,d){var e,g,f=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each2(function(){0===this.indexOf("select2-")&&f.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each2(function(){0!==this.indexOf("select2-")&&(g=d(this),g&&f.push(g))})),b.attr("class",f.join(" "))}function E(a,b,c,d){var e=o(a.toUpperCase()).indexOf(o(b.toUpperCase())),f=b.length;return 0>e?(c.push(d(a)),void 0):(c.push(d(a.substring(0,e))),c.push("<span class='select2-match'>"),c.push(d(a.substring(e,e+f))),c.push("</span>"),c.push(d(a.substring(e+f,a.length))),void 0)}function F(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})}function G(c){var d,e=null,f=c.quietMillis||100,g=c.url,h=this;return function(i){window.clearTimeout(d),d=window.setTimeout(function(){var d=c.data,f=g,j=c.transport||a.fn.select2.ajaxDefaults.transport,k={type:c.type||"GET",cache:c.cache||!1,jsonpCallback:c.jsonpCallback||b,dataType:c.dataType||"json"},l=a.extend({},a.fn.select2.ajaxDefaults.params,k);d=d?d.call(h,i.term,i.page,i.context):null,f="function"==typeof f?f.call(h,i.term,i.page,i.context):f,e&&"function"==typeof e.abort&&e.abort(),c.params&&(a.isFunction(c.params)?a.extend(l,c.params.call(h)):a.extend(l,c.params)),a.extend(l,{url:f,dataType:c.dataType,data:d,success:function(a){var b=c.results(a,i.page,i);i.callback(b)}}),e=j.call(h,l)},f)}}function H(b){var d,e,c=b,f=function(a){return""+a.text};a.isArray(c)&&(e=c,c={results:e}),a.isFunction(c)===!1&&(e=c,c=function(){return e});var g=c();return g.text&&(f=g.text,a.isFunction(f)||(d=g.text,f=function(a){return a[d]})),function(b){var g,d=b.term,e={results:[]};return""===d?(b.callback(c()),void 0):(g=function(c,e){var h,i;if(c=c[0],c.children){h={};for(i in c)c.hasOwnProperty(i)&&(h[i]=c[i]);h.children=[],a(c.children).each2(function(a,b){g(b,h.children)}),(h.children.length||b.matcher(d,f(h),c))&&e.push(h)}else b.matcher(d,f(c),c)&&e.push(c)},a(c().results).each2(function(a,b){g(b,e.results)}),b.callback(e),void 0)}}function I(c){var d=a.isFunction(c);return function(e){var f=e.term,g={results:[]},h=d?c(e):c;a.isArray(h)&&(a(h).each(function(){var a=this.text!==b,c=a?this.text:this;(""===f||e.matcher(f,c))&&g.results.push(a?this:{id:this,text:this})}),e.callback(g))}}function J(b,c){if(a.isFunction(b))return!0;if(!b)return!1;if("string"==typeof b)return!0;throw new Error(c+" must be a string, function, or falsy value")}function K(b,c){if(a.isFunction(b)){var d=Array.prototype.slice.call(arguments,2);return b.apply(c,d)}return b}function L(b){var c=0;return a.each(b,function(a,b){b.children?c+=L(b.children):c++}),c}function M(a,c,d,e){var h,i,j,k,l,f=a,g=!1;if(!e.createSearchChoice||!e.tokenSeparators||e.tokenSeparators.length<1)return b;for(;;){for(i=-1,j=0,k=e.tokenSeparators.length;k>j&&(l=e.tokenSeparators[j],i=a.indexOf(l),!(i>=0));j++);if(0>i)break;if(h=a.substring(0,i),a=a.substring(i+l.length),h.length>0&&(h=e.createSearchChoice.call(this,h,c),h!==b&&null!==h&&e.id(h)!==b&&null!==e.id(h))){for(g=!1,j=0,k=c.length;k>j;j++)if(r(e.id(h),e.id(c[j]))){g=!0;break}g||d(h)}}return f!==a?a:void 0}function N(){var b=this;a.each(arguments,function(a,c){b[c].remove(),b[c]=null})}function O(b,c){var d=function(){};return d.prototype=new b,d.prototype.constructor=d,d.prototype.parent=b.prototype,d.prototype=a.extend(d.prototype,c),d}if(window.Select2===b){var c,d,e,f,g,h,j,k,i={x:0,y:0},c={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,isArrow:function(a){switch(a=a.which?a.which:a){case c.LEFT:case c.RIGHT:case c.UP:case c.DOWN:return!0}return!1},isControl:function(a){var b=a.which;switch(b){case c.SHIFT:case c.CTRL:case c.ALT:return!0}return a.metaKey?!0:!1},isFunctionKey:function(a){return a=a.which?a.which:a,a>=112&&123>=a}},l="<div class='select2-measure-scrollbar'></div>",m={"\u24b6":"A","\uff21":"A","\xc0":"A","\xc1":"A","\xc2":"A","\u1ea6":"A","\u1ea4":"A","\u1eaa":"A","\u1ea8":"A","\xc3":"A","\u0100":"A","\u0102":"A","\u1eb0":"A","\u1eae":"A","\u1eb4":"A","\u1eb2":"A","\u0226":"A","\u01e0":"A","\xc4":"A","\u01de":"A","\u1ea2":"A","\xc5":"A","\u01fa":"A","\u01cd":"A","\u0200":"A","\u0202":"A","\u1ea0":"A","\u1eac":"A","\u1eb6":"A","\u1e00":"A","\u0104":"A","\u023a":"A","\u2c6f":"A","\ua732":"AA","\xc6":"AE","\u01fc":"AE","\u01e2":"AE","\ua734":"AO","\ua736":"AU","\ua738":"AV","\ua73a":"AV","\ua73c":"AY","\u24b7":"B","\uff22":"B","\u1e02":"B","\u1e04":"B","\u1e06":"B","\u0243":"B","\u0182":"B","\u0181":"B","\u24b8":"C","\uff23":"C","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\xc7":"C","\u1e08":"C","\u0187":"C","\u023b":"C","\ua73e":"C","\u24b9":"D","\uff24":"D","\u1e0a":"D","\u010e":"D","\u1e0c":"D","\u1e10":"D","\u1e12":"D","\u1e0e":"D","\u0110":"D","\u018b":"D","\u018a":"D","\u0189":"D","\ua779":"D","\u01f1":"DZ","\u01c4":"DZ","\u01f2":"Dz","\u01c5":"Dz","\u24ba":"E","\uff25":"E","\xc8":"E","\xc9":"E","\xca":"E","\u1ec0":"E","\u1ebe":"E","\u1ec4":"E","\u1ec2":"E","\u1ebc":"E","\u0112":"E","\u1e14":"E","\u1e16":"E","\u0114":"E","\u0116":"E","\xcb":"E","\u1eba":"E","\u011a":"E","\u0204":"E","\u0206":"E","\u1eb8":"E","\u1ec6":"E","\u0228":"E","\u1e1c":"E","\u0118":"E","\u1e18":"E","\u1e1a":"E","\u0190":"E","\u018e":"E","\u24bb":"F","\uff26":"F","\u1e1e":"F","\u0191":"F","\ua77b":"F","\u24bc":"G","\uff27":"G","\u01f4":"G","\u011c":"G","\u1e20":"G","\u011e":"G","\u0120":"G","\u01e6":"G","\u0122":"G","\u01e4":"G","\u0193":"G","\ua7a0":"G","\ua77d":"G","\ua77e":"G","\u24bd":"H","\uff28":"H","\u0124":"H","\u1e22":"H","\u1e26":"H","\u021e":"H","\u1e24":"H","\u1e28":"H","\u1e2a":"H","\u0126":"H","\u2c67":"H","\u2c75":"H","\ua78d":"H","\u24be":"I","\uff29":"I","\xcc":"I","\xcd":"I","\xce":"I","\u0128":"I","\u012a":"I","\u012c":"I","\u0130":"I","\xcf":"I","\u1e2e":"I","\u1ec8":"I","\u01cf":"I","\u0208":"I","\u020a":"I","\u1eca":"I","\u012e":"I","\u1e2c":"I","\u0197":"I","\u24bf":"J","\uff2a":"J","\u0134":"J","\u0248":"J","\u24c0":"K","\uff2b":"K","\u1e30":"K","\u01e8":"K","\u1e32":"K","\u0136":"K","\u1e34":"K","\u0198":"K","\u2c69":"K","\ua740":"K","\ua742":"K","\ua744":"K","\ua7a2":"K","\u24c1":"L","\uff2c":"L","\u013f":"L","\u0139":"L","\u013d":"L","\u1e36":"L","\u1e38":"L","\u013b":"L","\u1e3c":"L","\u1e3a":"L","\u0141":"L","\u023d":"L","\u2c62":"L","\u2c60":"L","\ua748":"L","\ua746":"L","\ua780":"L","\u01c7":"LJ","\u01c8":"Lj","\u24c2":"M","\uff2d":"M","\u1e3e":"M","\u1e40":"M","\u1e42":"M","\u2c6e":"M","\u019c":"M","\u24c3":"N","\uff2e":"N","\u01f8":"N","\u0143":"N","\xd1":"N","\u1e44":"N","\u0147":"N","\u1e46":"N","\u0145":"N","\u1e4a":"N","\u1e48":"N","\u0220":"N","\u019d":"N","\ua790":"N","\ua7a4":"N","\u01ca":"NJ","\u01cb":"Nj","\u24c4":"O","\uff2f":"O","\xd2":"O","\xd3":"O","\xd4":"O","\u1ed2":"O","\u1ed0":"O","\u1ed6":"O","\u1ed4":"O","\xd5":"O","\u1e4c":"O","\u022c":"O","\u1e4e":"O","\u014c":"O","\u1e50":"O","\u1e52":"O","\u014e":"O","\u022e":"O","\u0230":"O","\xd6":"O","\u022a":"O","\u1ece":"O","\u0150":"O","\u01d1":"O","\u020c":"O","\u020e":"O","\u01a0":"O","\u1edc":"O","\u1eda":"O","\u1ee0":"O","\u1ede":"O","\u1ee2":"O","\u1ecc":"O","\u1ed8":"O","\u01ea":"O","\u01ec":"O","\xd8":"O","\u01fe":"O","\u0186":"O","\u019f":"O","\ua74a":"O","\ua74c":"O","\u01a2":"OI","\ua74e":"OO","\u0222":"OU","\u24c5":"P","\uff30":"P","\u1e54":"P","\u1e56":"P","\u01a4":"P","\u2c63":"P","\ua750":"P","\ua752":"P","\ua754":"P","\u24c6":"Q","\uff31":"Q","\ua756":"Q","\ua758":"Q","\u024a":"Q","\u24c7":"R","\uff32":"R","\u0154":"R","\u1e58":"R","\u0158":"R","\u0210":"R","\u0212":"R","\u1e5a":"R","\u1e5c":"R","\u0156":"R","\u1e5e":"R","\u024c":"R","\u2c64":"R","\ua75a":"R","\ua7a6":"R","\ua782":"R","\u24c8":"S","\uff33":"S","\u1e9e":"S","\u015a":"S","\u1e64":"S","\u015c":"S","\u1e60":"S","\u0160":"S","\u1e66":"S","\u1e62":"S","\u1e68":"S","\u0218":"S","\u015e":"S","\u2c7e":"S","\ua7a8":"S","\ua784":"S","\u24c9":"T","\uff34":"T","\u1e6a":"T","\u0164":"T","\u1e6c":"T","\u021a":"T","\u0162":"T","\u1e70":"T","\u1e6e":"T","\u0166":"T","\u01ac":"T","\u01ae":"T","\u023e":"T","\ua786":"T","\ua728":"TZ","\u24ca":"U","\uff35":"U","\xd9":"U","\xda":"U","\xdb":"U","\u0168":"U","\u1e78":"U","\u016a":"U","\u1e7a":"U","\u016c":"U","\xdc":"U","\u01db":"U","\u01d7":"U","\u01d5":"U","\u01d9":"U","\u1ee6":"U","\u016e":"U","\u0170":"U","\u01d3":"U","\u0214":"U","\u0216":"U","\u01af":"U","\u1eea":"U","\u1ee8":"U","\u1eee":"U","\u1eec":"U","\u1ef0":"U","\u1ee4":"U","\u1e72":"U","\u0172":"U","\u1e76":"U","\u1e74":"U","\u0244":"U","\u24cb":"V","\uff36":"V","\u1e7c":"V","\u1e7e":"V","\u01b2":"V","\ua75e":"V","\u0245":"V","\ua760":"VY","\u24cc":"W","\uff37":"W","\u1e80":"W","\u1e82":"W","\u0174":"W","\u1e86":"W","\u1e84":"W","\u1e88":"W","\u2c72":"W","\u24cd":"X","\uff38":"X","\u1e8a":"X","\u1e8c":"X","\u24ce":"Y","\uff39":"Y","\u1ef2":"Y","\xdd":"Y","\u0176":"Y","\u1ef8":"Y","\u0232":"Y","\u1e8e":"Y","\u0178":"Y","\u1ef6":"Y","\u1ef4":"Y","\u01b3":"Y","\u024e":"Y","\u1efe":"Y","\u24cf":"Z","\uff3a":"Z","\u0179":"Z","\u1e90":"Z","\u017b":"Z","\u017d":"Z","\u1e92":"Z","\u1e94":"Z","\u01b5":"Z","\u0224":"Z","\u2c7f":"Z","\u2c6b":"Z","\ua762":"Z","\u24d0":"a","\uff41":"a","\u1e9a":"a","\xe0":"a","\xe1":"a","\xe2":"a","\u1ea7":"a","\u1ea5":"a","\u1eab":"a","\u1ea9":"a","\xe3":"a","\u0101":"a","\u0103":"a","\u1eb1":"a","\u1eaf":"a","\u1eb5":"a","\u1eb3":"a","\u0227":"a","\u01e1":"a","\xe4":"a","\u01df":"a","\u1ea3":"a","\xe5":"a","\u01fb":"a","\u01ce":"a","\u0201":"a","\u0203":"a","\u1ea1":"a","\u1ead":"a","\u1eb7":"a","\u1e01":"a","\u0105":"a","\u2c65":"a","\u0250":"a","\ua733":"aa","\xe6":"ae","\u01fd":"ae","\u01e3":"ae","\ua735":"ao","\ua737":"au","\ua739":"av","\ua73b":"av","\ua73d":"ay","\u24d1":"b","\uff42":"b","\u1e03":"b","\u1e05":"b","\u1e07":"b","\u0180":"b","\u0183":"b","\u0253":"b","\u24d2":"c","\uff43":"c","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\xe7":"c","\u1e09":"c","\u0188":"c","\u023c":"c","\ua73f":"c","\u2184":"c","\u24d3":"d","\uff44":"d","\u1e0b":"d","\u010f":"d","\u1e0d":"d","\u1e11":"d","\u1e13":"d","\u1e0f":"d","\u0111":"d","\u018c":"d","\u0256":"d","\u0257":"d","\ua77a":"d","\u01f3":"dz","\u01c6":"dz","\u24d4":"e","\uff45":"e","\xe8":"e","\xe9":"e","\xea":"e","\u1ec1":"e","\u1ebf":"e","\u1ec5":"e","\u1ec3":"e","\u1ebd":"e","\u0113":"e","\u1e15":"e","\u1e17":"e","\u0115":"e","\u0117":"e","\xeb":"e","\u1ebb":"e","\u011b":"e","\u0205":"e","\u0207":"e","\u1eb9":"e","\u1ec7":"e","\u0229":"e","\u1e1d":"e","\u0119":"e","\u1e19":"e","\u1e1b":"e","\u0247":"e","\u025b":"e","\u01dd":"e","\u24d5":"f","\uff46":"f","\u1e1f":"f","\u0192":"f","\ua77c":"f","\u24d6":"g","\uff47":"g","\u01f5":"g","\u011d":"g","\u1e21":"g","\u011f":"g","\u0121":"g","\u01e7":"g","\u0123":"g","\u01e5":"g","\u0260":"g","\ua7a1":"g","\u1d79":"g","\ua77f":"g","\u24d7":"h","\uff48":"h","\u0125":"h","\u1e23":"h","\u1e27":"h","\u021f":"h","\u1e25":"h","\u1e29":"h","\u1e2b":"h","\u1e96":"h","\u0127":"h","\u2c68":"h","\u2c76":"h","\u0265":"h","\u0195":"hv","\u24d8":"i","\uff49":"i","\xec":"i","\xed":"i","\xee":"i","\u0129":"i","\u012b":"i","\u012d":"i","\xef":"i","\u1e2f":"i","\u1ec9":"i","\u01d0":"i","\u0209":"i","\u020b":"i","\u1ecb":"i","\u012f":"i","\u1e2d":"i","\u0268":"i","\u0131":"i","\u24d9":"j","\uff4a":"j","\u0135":"j","\u01f0":"j","\u0249":"j","\u24da":"k","\uff4b":"k","\u1e31":"k","\u01e9":"k","\u1e33":"k","\u0137":"k","\u1e35":"k","\u0199":"k","\u2c6a":"k","\ua741":"k","\ua743":"k","\ua745":"k","\ua7a3":"k","\u24db":"l","\uff4c":"l","\u0140":"l","\u013a":"l","\u013e":"l","\u1e37":"l","\u1e39":"l","\u013c":"l","\u1e3d":"l","\u1e3b":"l","\u017f":"l","\u0142":"l","\u019a":"l","\u026b":"l","\u2c61":"l","\ua749":"l","\ua781":"l","\ua747":"l","\u01c9":"lj","\u24dc":"m","\uff4d":"m","\u1e3f":"m","\u1e41":"m","\u1e43":"m","\u0271":"m","\u026f":"m","\u24dd":"n","\uff4e":"n","\u01f9":"n","\u0144":"n","\xf1":"n","\u1e45":"n","\u0148":"n","\u1e47":"n","\u0146":"n","\u1e4b":"n","\u1e49":"n","\u019e":"n","\u0272":"n","\u0149":"n","\ua791":"n","\ua7a5":"n","\u01cc":"nj","\u24de":"o","\uff4f":"o","\xf2":"o","\xf3":"o","\xf4":"o","\u1ed3":"o","\u1ed1":"o","\u1ed7":"o","\u1ed5":"o","\xf5":"o","\u1e4d":"o","\u022d":"o","\u1e4f":"o","\u014d":"o","\u1e51":"o","\u1e53":"o","\u014f":"o","\u022f":"o","\u0231":"o","\xf6":"o","\u022b":"o","\u1ecf":"o","\u0151":"o","\u01d2":"o","\u020d":"o","\u020f":"o","\u01a1":"o","\u1edd":"o","\u1edb":"o","\u1ee1":"o","\u1edf":"o","\u1ee3":"o","\u1ecd":"o","\u1ed9":"o","\u01eb":"o","\u01ed":"o","\xf8":"o","\u01ff":"o","\u0254":"o","\ua74b":"o","\ua74d":"o","\u0275":"o","\u01a3":"oi","\u0223":"ou","\ua74f":"oo","\u24df":"p","\uff50":"p","\u1e55":"p","\u1e57":"p","\u01a5":"p","\u1d7d":"p","\ua751":"p","\ua753":"p","\ua755":"p","\u24e0":"q","\uff51":"q","\u024b":"q","\ua757":"q","\ua759":"q","\u24e1":"r","\uff52":"r","\u0155":"r","\u1e59":"r","\u0159":"r","\u0211":"r","\u0213":"r","\u1e5b":"r","\u1e5d":"r","\u0157":"r","\u1e5f":"r","\u024d":"r","\u027d":"r","\ua75b":"r","\ua7a7":"r","\ua783":"r","\u24e2":"s","\uff53":"s","\xdf":"s","\u015b":"s","\u1e65":"s","\u015d":"s","\u1e61":"s","\u0161":"s","\u1e67":"s","\u1e63":"s","\u1e69":"s","\u0219":"s","\u015f":"s","\u023f":"s","\ua7a9":"s","\ua785":"s","\u1e9b":"s","\u24e3":"t","\uff54":"t","\u1e6b":"t","\u1e97":"t","\u0165":"t","\u1e6d":"t","\u021b":"t","\u0163":"t","\u1e71":"t","\u1e6f":"t","\u0167":"t","\u01ad":"t","\u0288":"t","\u2c66":"t","\ua787":"t","\ua729":"tz","\u24e4":"u","\uff55":"u","\xf9":"u","\xfa":"u","\xfb":"u","\u0169":"u","\u1e79":"u","\u016b":"u","\u1e7b":"u","\u016d":"u","\xfc":"u","\u01dc":"u","\u01d8":"u","\u01d6":"u","\u01da":"u","\u1ee7":"u","\u016f":"u","\u0171":"u","\u01d4":"u","\u0215":"u","\u0217":"u","\u01b0":"u","\u1eeb":"u","\u1ee9":"u","\u1eef":"u","\u1eed":"u","\u1ef1":"u","\u1ee5":"u","\u1e73":"u","\u0173":"u","\u1e77":"u","\u1e75":"u","\u0289":"u","\u24e5":"v","\uff56":"v","\u1e7d":"v","\u1e7f":"v","\u028b":"v","\ua75f":"v","\u028c":"v","\ua761":"vy","\u24e6":"w","\uff57":"w","\u1e81":"w","\u1e83":"w","\u0175":"w","\u1e87":"w","\u1e85":"w","\u1e98":"w","\u1e89":"w","\u2c73":"w","\u24e7":"x","\uff58":"x","\u1e8b":"x","\u1e8d":"x","\u24e8":"y","\uff59":"y","\u1ef3":"y","\xfd":"y","\u0177":"y","\u1ef9":"y","\u0233":"y","\u1e8f":"y","\xff":"y","\u1ef7":"y","\u1e99":"y","\u1ef5":"y","\u01b4":"y","\u024f":"y","\u1eff":"y","\u24e9":"z","\uff5a":"z","\u017a":"z","\u1e91":"z","\u017c":"z","\u017e":"z","\u1e93":"z","\u1e95":"z","\u01b6":"z","\u0225":"z","\u0240":"z","\u2c6c":"z","\ua763":"z","\u0386":"\u0391","\u0388":"\u0395","\u0389":"\u0397","\u038a":"\u0399","\u03aa":"\u0399","\u038c":"\u039f","\u038e":"\u03a5","\u03ab":"\u03a5","\u038f":"\u03a9","\u03ac":"\u03b1","\u03ad":"\u03b5","\u03ae":"\u03b7","\u03af":"\u03b9","\u03ca":"\u03b9","\u0390":"\u03b9","\u03cc":"\u03bf","\u03cd":"\u03c5","\u03cb":"\u03c5","\u03b0":"\u03c5","\u03c9":"\u03c9","\u03c2":"\u03c3"};j=a(document),g=function(){var a=1;return function(){return a++}}(),d=O(Object,{bind:function(a){var b=this;return function(){a.apply(b,arguments)}},init:function(c){var d,e,f=".select2-results";this.opts=c=this.prepareOpts(c),this.id=c.id,c.element.data("select2")!==b&&null!==c.element.data("select2")&&c.element.data("select2").destroy(),this.container=this.createContainer(),this.liveRegion=a("<span>",{role:"status","aria-live":"polite"}).addClass("select2-hidden-accessible").appendTo(document.body),this.containerId="s2id_"+(c.element.attr("id")||"autogen"+g()),this.containerEventName=this.containerId.replace(/([.])/g,"_").replace(/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.container.attr("title",c.element.attr("title")),this.body=a("body"),D(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.attr("style",c.element.attr("style")),this.container.css(K(c.containerCss,this.opts.element)),this.container.addClass(K(c.containerCssClass,this.opts.element)),this.elementTabIndex=this.opts.element.attr("tabindex"),this.opts.element.data("select2",this).attr("tabindex","-1").before(this.container).on("click.select2",A),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),D(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(K(c.dropdownCssClass,this.opts.element)),this.dropdown.data("select2",this),this.dropdown.on("click",A),this.results=d=this.container.find(f),this.search=e=this.container.find("input.select2-input"),this.queryCount=0,this.resultsPage=0,this.context=null,this.initContainer(),this.container.on("click",A),v(this.results),this.dropdown.on("mousemove-filtered",f,this.bind(this.highlightUnderEvent)),this.dropdown.on("touchstart touchmove touchend",f,this.bind(function(a){this._touchEvent=!0,this.highlightUnderEvent(a)})),this.dropdown.on("touchmove",f,this.bind(this.touchMoved)),this.dropdown.on("touchstart touchend",f,this.bind(this.clearTouchMoved)),this.dropdown.on("click",this.bind(function(){this._touchEvent&&(this._touchEvent=!1,this.selectHighlighted())})),x(80,this.results),this.dropdown.on("scroll-debounced",f,this.bind(this.loadMoreIfNeeded)),a(this.container).on("change",".select2-input",function(a){a.stopPropagation()}),a(this.dropdown).on("change",".select2-input",function(a){a.stopPropagation()}),a.fn.mousewheel&&d.mousewheel(function(a,b,c,e){var f=d.scrollTop();e>0&&0>=f-e?(d.scrollTop(0),A(a)):0>e&&d.get(0).scrollHeight-d.scrollTop()+e<=d.height()&&(d.scrollTop(d.get(0).scrollHeight-d.height()),A(a))}),u(e),e.on("keyup-change input paste",this.bind(this.updateResults)),e.on("focus",function(){e.addClass("select2-focused")}),e.on("blur",function(){e.removeClass("select2-focused")}),this.dropdown.on("mouseup",f,this.bind(function(b){a(b.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(b),this.selectHighlighted(b))})),this.dropdown.on("click mouseup mousedown touchstart touchend focusin",function(a){a.stopPropagation()}),this.nextSearchTerm=b,a.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==c.maximumInputLength&&this.search.attr("maxlength",c.maximumInputLength);var h=c.element.prop("disabled");h===b&&(h=!1),this.enable(!h);var i=c.element.prop("readonly");i===b&&(i=!1),this.readonly(i),k=k||q(),this.autofocus=c.element.prop("autofocus"),c.element.prop("autofocus",!1),this.autofocus&&this.focus(),this.search.attr("placeholder",c.searchInputPlaceholder)},destroy:function(){var a=this.opts.element,c=a.data("select2");this.close(),a.length&&a[0].detachEvent&&a.each(function(){this.detachEvent("onpropertychange",this._sync)}),this.propertyObserver&&(this.propertyObserver.disconnect(),this.propertyObserver=null),this._sync=null,c!==b&&(c.container.remove(),c.liveRegion.remove(),c.dropdown.remove(),a.removeClass("select2-offscreen").removeData("select2").off(".select2").prop("autofocus",this.autofocus||!1),this.elementTabIndex?a.attr({tabindex:this.elementTabIndex}):a.removeAttr("tabindex"),a.show()),N.call(this,"container","liveRegion","dropdown","results","search")},optionToData:function(a){return a.is("option")?{id:a.prop("value"),text:a.text(),element:a.get(),css:a.attr("class"),disabled:a.prop("disabled"),locked:r(a.attr("locked"),"locked")||r(a.data("locked"),!0)}:a.is("optgroup")?{text:a.attr("label"),children:[],element:a.get(),css:a.attr("class")}:void 0},prepareOpts:function(c){var d,e,f,h,i=this;if(d=c.element,"select"===d.get(0).tagName.toLowerCase()&&(this.select=e=c.element),e&&a.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in c)throw new Error("Option '"+this+"' is not allowed for Select2 when attached to a <select> element.")}),c=a.extend({},{populateResults:function(d,e,f){var h,j=this.opts.id,k=this.liveRegion;h=function(d,e,l){var m,n,o,p,q,r,s,t,u,v;d=c.sortResults(d,e,f);var w=[];for(m=0,n=d.length;n>m;m+=1)o=d[m],q=o.disabled===!0,p=!q&&j(o)!==b,r=o.children&&o.children.length>0,s=a("<li></li>"),s.addClass("select2-results-dept-"+l),s.addClass("select2-result"),s.addClass(p?"select2-result-selectable":"select2-result-unselectable"),q&&s.addClass("select2-disabled"),r&&s.addClass("select2-result-with-children"),s.addClass(i.opts.formatResultCssClass(o)),s.attr("role","presentation"),t=a(document.createElement("div")),t.addClass("select2-result-label"),t.attr("id","select2-result-label-"+g()),t.attr("role","option"),v=c.formatResult(o,t,f,i.opts.escapeMarkup),v!==b&&(t.html(v),s.append(t)),r&&(u=a("<ul></ul>"),u.addClass("select2-result-sub"),h(o.children,u,l+1),s.append(u)),s.data("select2-data",o),w.push(s[0]);e.append(w),k.text(c.formatMatches(d.length))},h(e,d,0)}},a.fn.select2.defaults,c),"function"!=typeof c.id&&(f=c.id,c.id=function(a){return a[f]}),a.isArray(c.element.data("select2Tags"))){if("tags"in c)throw"tags specified as both an attribute 'data-select2-tags' and in options of Select2 "+c.element.attr("id");c.tags=c.element.data("select2Tags")}if(e?(c.query=this.bind(function(a){var f,g,h,c={results:[],more:!1},e=a.term;h=function(b,c){var d;b.is("option")?a.matcher(e,b.text(),b)&&c.push(i.optionToData(b)):b.is("optgroup")&&(d=i.optionToData(b),b.children().each2(function(a,b){h(b,d.children)}),d.children.length>0&&c.push(d))},f=d.children(),this.getPlaceholder()!==b&&f.length>0&&(g=this.getPlaceholderOption(),g&&(f=f.not(g))),f.each2(function(a,b){h(b,c.results)}),a.callback(c)}),c.id=function(a){return a.id}):"query"in c||("ajax"in c?(h=c.element.data("ajax-url"),h&&h.length>0&&(c.ajax.url=h),c.query=G.call(c.element,c.ajax)):"data"in c?c.query=H(c.data):"tags"in c&&(c.query=I(c.tags),c.createSearchChoice===b&&(c.createSearchChoice=function(b){return{id:a.trim(b),text:a.trim(b)}}),c.initSelection===b&&(c.initSelection=function(b,d){var e=[];a(s(b.val(),c.separator)).each(function(){var b={id:this,text:this},d=c.tags;a.isFunction(d)&&(d=d()),a(d).each(function(){return r(this.id,b.id)?(b=this,!1):void 0}),e.push(b)}),d(e)}))),"function"!=typeof c.query)throw"query function not defined for Select2 "+c.element.attr("id");if("top"===c.createSearchChoicePosition)c.createSearchChoicePosition=function(a,b){a.unshift(b)};else if("bottom"===c.createSearchChoicePosition)c.createSearchChoicePosition=function(a,b){a.push(b)};else if("function"!=typeof c.createSearchChoicePosition)throw"invalid createSearchChoicePosition option must be 'top', 'bottom' or a custom function";return c},monitorSource:function(){var d,c=this.opts.element,e=this;c.on("change.select2",this.bind(function(){this.opts.element.data("select2-change-triggered")!==!0&&this.initSelection()})),this._sync=this.bind(function(){var a=c.prop("disabled");a===b&&(a=!1),this.enable(!a);var d=c.prop("readonly");d===b&&(d=!1),this.readonly(d),D(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.addClass(K(this.opts.containerCssClass,this.opts.element)),D(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(K(this.opts.dropdownCssClass,this.opts.element))}),c.length&&c[0].attachEvent&&c.each(function(){this.attachEvent("onpropertychange",e._sync)}),d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,d!==b&&(this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),this.propertyObserver=new d(function(b){a.each(b,e._sync)}),this.propertyObserver.observe(c.get(0),{attributes:!0,subtree:!1}))},triggerSelect:function(b){var c=a.Event("select2-selecting",{val:this.id(b),object:b,choice:b});return this.opts.element.trigger(c),!c.isDefaultPrevented()},triggerChange:function(b){b=b||{},b=a.extend({},b,{type:"change",val:this.val()}),this.opts.element.data("select2-change-triggered",!0),this.opts.element.trigger(b),this.opts.element.data("select2-change-triggered",!1),this.opts.element.click(),this.opts.blurOnChange&&this.opts.element.blur()},isInterfaceEnabled:function(){return this.enabledInterface===!0},enableInterface:function(){var a=this._enabled&&!this._readonly,b=!a;return a===this.enabledInterface?!1:(this.container.toggleClass("select2-container-disabled",b),this.close(),this.enabledInterface=a,!0)},enable:function(a){a===b&&(a=!0),this._enabled!==a&&(this._enabled=a,this.opts.element.prop("disabled",!a),this.enableInterface())},disable:function(){this.enable(!1)},readonly:function(a){a===b&&(a=!1),this._readonly!==a&&(this._readonly=a,this.opts.element.prop("readonly",a),this.enableInterface())},opened:function(){return this.container?this.container.hasClass("select2-dropdown-open"):!1},positionDropdown:function(){var t,u,v,w,x,b=this.dropdown,c=this.container.offset(),d=this.container.outerHeight(!1),e=this.container.outerWidth(!1),f=b.outerHeight(!1),g=a(window),h=g.width(),i=g.height(),j=g.scrollLeft()+h,l=g.scrollTop()+i,m=c.top+d,n=c.left,o=l>=m+f,p=c.top-f>=g.scrollTop(),q=b.outerWidth(!1),r=j>=n+q,s=b.hasClass("select2-drop-above");s?(u=!0,!p&&o&&(v=!0,u=!1)):(u=!1,!o&&p&&(v=!0,u=!0)),v&&(b.hide(),c=this.container.offset(),d=this.container.outerHeight(!1),e=this.container.outerWidth(!1),f=b.outerHeight(!1),j=g.scrollLeft()+h,l=g.scrollTop()+i,m=c.top+d,n=c.left,q=b.outerWidth(!1),r=j>=n+q,b.show(),this.focusSearch()),this.opts.dropdownAutoWidth?(x=a(".select2-results",b)[0],b.addClass("select2-drop-auto-width"),b.css("width",""),q=b.outerWidth(!1)+(x.scrollHeight===x.clientHeight?0:k.width),q>e?e=q:q=e,f=b.outerHeight(!1),r=j>=n+q):this.container.removeClass("select2-drop-auto-width"),"static"!==this.body.css("position")&&(t=this.body.offset(),m-=t.top,n-=t.left),r||(n=c.left+this.container.outerWidth(!1)-q),w={left:n,width:e},u?(w.top=c.top-f,w.bottom="auto",this.container.addClass("select2-drop-above"),b.addClass("select2-drop-above")):(w.top=m,w.bottom="auto",this.container.removeClass("select2-drop-above"),b.removeClass("select2-drop-above")),w=a.extend(w,K(this.opts.dropdownCss,this.opts.element)),b.css(w)},shouldOpen:function(){var b;return this.opened()?!1:this._enabled===!1||this._readonly===!0?!1:(b=a.Event("select2-opening"),this.opts.element.trigger(b),!b.isDefaultPrevented())},clearDropdownAlignmentPreference:function(){this.container.removeClass("select2-drop-above"),this.dropdown.removeClass("select2-drop-above")},open:function(){return this.shouldOpen()?(this.opening(),j.on("mousemove.select2Event",function(a){i.x=a.pageX,i.y=a.pageY}),!0):!1},opening:function(){var f,b=this.containerEventName,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.addClass("select2-dropdown-open").addClass("select2-container-active"),this.clearDropdownAlignmentPreference(),this.dropdown[0]!==this.body.children().last()[0]&&this.dropdown.detach().appendTo(this.body),f=a("#select2-drop-mask"),0==f.length&&(f=a(document.createElement("div")),f.attr("id","select2-drop-mask").attr("class","select2-drop-mask"),f.hide(),f.appendTo(this.body),f.on("mousedown touchstart click",function(b){n(f);var d,c=a("#select2-drop");c.length>0&&(d=c.data("select2"),d.opts.selectOnBlur&&d.selectHighlighted({noFocus:!0}),d.close(),b.preventDefault(),b.stopPropagation())})),this.dropdown.prev()[0]!==f[0]&&this.dropdown.before(f),a("#select2-drop").removeAttr("id"),this.dropdown.attr("id","select2-drop"),f.show(),this.positionDropdown(),this.dropdown.show(),this.positionDropdown(),this.dropdown.addClass("select2-drop-active");var g=this;this.container.parents().add(window).each(function(){a(this).on(d+" "+c+" "+e,function(){g.opened()&&g.positionDropdown()})})},close:function(){if(this.opened()){var b=this.containerEventName,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.parents().add(window).each(function(){a(this).off(c).off(d).off(e)}),this.clearDropdownAlignmentPreference(),a("#select2-drop-mask").hide(),this.dropdown.removeAttr("id"),this.dropdown.hide(),this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active"),this.results.empty(),j.off("mousemove.select2Event"),this.clearSearch(),this.search.removeClass("select2-active"),this.opts.element.trigger(a.Event("select2-close"))}},externalSearch:function(a){this.open(),this.search.val(a),this.updateResults(!1)},clearSearch:function(){},getMaximumSelectionSize:function(){return K(this.opts.maximumSelectionSize,this.opts.element)},ensureHighlightVisible:function(){var c,d,e,f,g,h,i,j,b=this.results;if(d=this.highlight(),!(0>d)){if(0==d)return b.scrollTop(0),void 0;c=this.findHighlightableChoices().find(".select2-result-label"),e=a(c[d]),j=(e.offset()||{}).top||0,f=j+e.outerHeight(!0),d===c.length-1&&(i=b.find("li.select2-more-results"),i.length>0&&(f=i.offset().top+i.outerHeight(!0))),g=b.offset().top+b.outerHeight(!0),f>g&&b.scrollTop(b.scrollTop()+(f-g)),h=j-b.offset().top,0>h&&"none"!=e.css("display")&&b.scrollTop(b.scrollTop()+h)}},findHighlightableChoices:function(){return this.results.find(".select2-result-selectable:not(.select2-disabled):not(.select2-selected)")},moveHighlight:function(b){for(var c=this.findHighlightableChoices(),d=this.highlight();d>-1&&d<c.length;){d+=b;var e=a(c[d]);if(e.hasClass("select2-result-selectable")&&!e.hasClass("select2-disabled")&&!e.hasClass("select2-selected")){this.highlight(d);break}}},highlight:function(b){var d,e,c=this.findHighlightableChoices();
22
+ return 0===arguments.length?p(c.filter(".select2-highlighted")[0],c.get()):(b>=c.length&&(b=c.length-1),0>b&&(b=0),this.removeHighlight(),d=a(c[b]),d.addClass("select2-highlighted"),this.search.attr("aria-activedescendant",d.find(".select2-result-label").attr("id")),this.ensureHighlightVisible(),this.liveRegion.text(d.text()),e=d.data("select2-data"),e&&this.opts.element.trigger({type:"select2-highlight",val:this.id(e),choice:e}),void 0)},removeHighlight:function(){this.results.find(".select2-highlighted").removeClass("select2-highlighted")},touchMoved:function(){this._touchMoved=!0},clearTouchMoved:function(){this._touchMoved=!1},countSelectableResults:function(){return this.findHighlightableChoices().length},highlightUnderEvent:function(b){var c=a(b.target).closest(".select2-result-selectable");if(c.length>0&&!c.is(".select2-highlighted")){var d=this.findHighlightableChoices();this.highlight(d.index(c))}else 0==c.length&&this.removeHighlight()},loadMoreIfNeeded:function(){var c,a=this.results,b=a.find("li.select2-more-results"),d=this.resultsPage+1,e=this,f=this.search.val(),g=this.context;0!==b.length&&(c=b.offset().top-a.offset().top-a.height(),c<=this.opts.loadMorePadding&&(b.addClass("select2-active"),this.opts.query({element:this.opts.element,term:f,page:d,context:g,matcher:this.opts.matcher,callback:this.bind(function(c){e.opened()&&(e.opts.populateResults.call(this,a,c.results,{term:f,page:d,context:g}),e.postprocessResults(c,!1,!1),c.more===!0?(b.detach().appendTo(a).text(K(e.opts.formatLoadMore,e.opts.element,d+1)),window.setTimeout(function(){e.loadMoreIfNeeded()},10)):b.remove(),e.positionDropdown(),e.resultsPage=d,e.context=c.context,this.opts.element.trigger({type:"select2-loaded",items:c}))})})))},tokenize:function(){},updateResults:function(c){function m(){d.removeClass("select2-active"),h.positionDropdown(),e.find(".select2-no-results,.select2-selection-limit,.select2-searching").length?h.liveRegion.text(e.text()):h.liveRegion.text(h.opts.formatMatches(e.find(".select2-result-selectable").length))}function n(a){e.html(a),m()}var g,i,l,d=this.search,e=this.results,f=this.opts,h=this,j=d.val(),k=a.data(this.container,"select2-last-term");if((c===!0||!k||!r(j,k))&&(a.data(this.container,"select2-last-term",j),c===!0||this.showSearchInput!==!1&&this.opened())){l=++this.queryCount;var o=this.getMaximumSelectionSize();if(o>=1&&(g=this.data(),a.isArray(g)&&g.length>=o&&J(f.formatSelectionTooBig,"formatSelectionTooBig")))return n("<li class='select2-selection-limit'>"+K(f.formatSelectionTooBig,f.element,o)+"</li>"),void 0;if(d.val().length<f.minimumInputLength)return J(f.formatInputTooShort,"formatInputTooShort")?n("<li class='select2-no-results'>"+K(f.formatInputTooShort,f.element,d.val(),f.minimumInputLength)+"</li>"):n(""),c&&this.showSearch&&this.showSearch(!0),void 0;if(f.maximumInputLength&&d.val().length>f.maximumInputLength)return J(f.formatInputTooLong,"formatInputTooLong")?n("<li class='select2-no-results'>"+K(f.formatInputTooLong,f.element,d.val(),f.maximumInputLength)+"</li>"):n(""),void 0;f.formatSearching&&0===this.findHighlightableChoices().length&&n("<li class='select2-searching'>"+K(f.formatSearching,f.element)+"</li>"),d.addClass("select2-active"),this.removeHighlight(),i=this.tokenize(),i!=b&&null!=i&&d.val(i),this.resultsPage=1,f.query({element:f.element,term:d.val(),page:this.resultsPage,context:null,matcher:f.matcher,callback:this.bind(function(g){var i;if(l==this.queryCount){if(!this.opened())return this.search.removeClass("select2-active"),void 0;if(this.context=g.context===b?null:g.context,this.opts.createSearchChoice&&""!==d.val()&&(i=this.opts.createSearchChoice.call(h,d.val(),g.results),i!==b&&null!==i&&h.id(i)!==b&&null!==h.id(i)&&0===a(g.results).filter(function(){return r(h.id(this),h.id(i))}).length&&this.opts.createSearchChoicePosition(g.results,i)),0===g.results.length&&J(f.formatNoMatches,"formatNoMatches"))return n("<li class='select2-no-results'>"+K(f.formatNoMatches,f.element,d.val())+"</li>"),void 0;e.empty(),h.opts.populateResults.call(this,e,g.results,{term:d.val(),page:this.resultsPage,context:null}),g.more===!0&&J(f.formatLoadMore,"formatLoadMore")&&(e.append("<li class='select2-more-results'>"+f.escapeMarkup(K(f.formatLoadMore,f.element,this.resultsPage))+"</li>"),window.setTimeout(function(){h.loadMoreIfNeeded()},10)),this.postprocessResults(g,c),m(),this.opts.element.trigger({type:"select2-loaded",items:g})}})})}},cancel:function(){this.close()},blur:function(){this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),this.close(),this.container.removeClass("select2-container-active"),this.search[0]===document.activeElement&&this.search.blur(),this.clearSearch(),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus")},focusSearch:function(){y(this.search)},selectHighlighted:function(a){if(this._touchMoved)return this.clearTouchMoved(),void 0;var b=this.highlight(),c=this.results.find(".select2-highlighted"),d=c.closest(".select2-result").data("select2-data");d?(this.highlight(b),this.onSelect(d,a)):a&&a.noFocus&&this.close()},getPlaceholder:function(){var a;return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||this.opts.placeholder||((a=this.getPlaceholderOption())!==b?a.text():b)},getPlaceholderOption:function(){if(this.select){var c=this.select.children("option").first();if(this.opts.placeholderOption!==b)return"first"===this.opts.placeholderOption&&c||"function"==typeof this.opts.placeholderOption&&this.opts.placeholderOption(this.select);if(""===a.trim(c.text())&&""===c.val())return c}},initContainerWidth:function(){function c(){var c,d,e,f,g,h;if("off"===this.opts.width)return null;if("element"===this.opts.width)return 0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px";if("copy"===this.opts.width||"resolve"===this.opts.width){if(c=this.opts.element.attr("style"),c!==b)for(d=c.split(";"),f=0,g=d.length;g>f;f+=1)if(h=d[f].replace(/\s/g,""),e=h.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),null!==e&&e.length>=1)return e[1];return"resolve"===this.opts.width?(c=this.opts.element.css("width"),c.indexOf("%")>0?c:0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px"):null}return a.isFunction(this.opts.width)?this.opts.width():this.opts.width}var d=c.call(this);null!==d&&this.container.css("width",d)}}),e=O(d,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container"}).html(["<a href='javascript:void(0)' class='select2-choice' tabindex='-1'>"," <span class='select2-chosen'>&#160;</span><abbr class='select2-search-choice-close'></abbr>"," <span class='select2-arrow' role='presentation'><b role='presentation'></b></span>","</a>","<label for='' class='select2-offscreen'></label>","<input class='select2-focusser select2-offscreen' type='text' aria-haspopup='true' role='button' />","<div class='select2-drop select2-display-none'>"," <div class='select2-search'>"," <label for='' class='select2-offscreen'></label>"," <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input' role='combobox' aria-expanded='true'"," aria-autocomplete='list' />"," </div>"," <ul class='select2-results' role='listbox'>"," </ul>","</div>"].join(""));return b},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var c,d,e;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),this.showSearchInput!==!1&&this.search.val(this.focusser.val()),this.opts.shouldFocusInput(this)&&(this.search.focus(),c=this.search.get(0),c.createTextRange?(d=c.createTextRange(),d.collapse(!1),d.select()):c.setSelectionRange&&(e=this.search.val().length,c.setSelectionRange(e,e))),""===this.search.val()&&this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.search.select()),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus()},destroy:function(){a("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),N.call(this,"selection","focusser")},initContainer:function(){var b,h,d=this.container,e=this.dropdown,f=g();this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=b=d.find(".select2-choice"),this.focusser=d.find(".select2-focusser"),b.find(".select2-chosen").attr("id","select2-chosen-"+f),this.focusser.attr("aria-labelledby","select2-chosen-"+f),this.results.attr("id","select2-results-"+f),this.search.attr("aria-owns","select2-results-"+f),this.focusser.attr("id","s2id_autogen"+f),h=a("label[for='"+this.opts.element.attr("id")+"']"),this.focusser.prev().text(h.text()).attr("for",this.focusser.attr("id"));var i=this.opts.element.attr("title");this.opts.element.attr("title",i||h.text()),this.focusser.attr("tabindex",this.elementTabIndex),this.search.attr("id",this.focusser.attr("id")+"_search"),this.search.prev().text(a("label[for='"+this.focusser.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){if(a.which===c.PAGE_UP||a.which===c.PAGE_DOWN)return A(a),void 0;switch(a.which){case c.UP:case c.DOWN:return this.moveHighlight(a.which===c.UP?-1:1),A(a),void 0;case c.ENTER:return this.selectHighlighted(),A(a),void 0;case c.TAB:return this.selectHighlighted({noFocus:!0}),void 0;case c.ESC:return this.cancel(a),A(a),void 0}}})),this.search.on("blur",this.bind(function(){document.activeElement===this.body.get(0)&&window.setTimeout(this.bind(function(){this.opened()&&this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()&&a.which!==c.TAB&&!c.isControl(a)&&!c.isFunctionKey(a)&&a.which!==c.ESC){if(this.opts.openOnEnter===!1&&a.which===c.ENTER)return A(a),void 0;if(a.which==c.DOWN||a.which==c.UP||a.which==c.ENTER&&this.opts.openOnEnter){if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return;return this.open(),A(a),void 0}return a.which==c.DELETE||a.which==c.BACKSPACE?(this.opts.allowClear&&this.clear(),A(a),void 0):void 0}})),u(this.focusser),this.focusser.on("keyup-change input",this.bind(function(a){if(this.opts.minimumResultsForSearch>=0){if(a.stopPropagation(),this.opened())return;this.open()}})),b.on("mousedown touchstart","abbr",this.bind(function(a){this.isInterfaceEnabled()&&(this.clear(),B(a),this.close(),this.selection.focus())})),b.on("mousedown touchstart",this.bind(function(c){n(b),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),A(c)})),e.on("mousedown touchstart",this.bind(function(){this.opts.shouldFocusInput(this)&&this.search.focus()})),b.on("focus",this.bind(function(a){A(a)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(a.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.setPlaceholder()},clear:function(b){var c=this.selection.data("select2-data");if(c){var d=a.Event("select2-clearing");if(this.opts.element.trigger(d),d.isDefaultPrevented())return;var e=this.getPlaceholderOption();this.opts.element.val(e?e.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),b!==!1&&(this.opts.element.trigger({type:"select2-removed",val:this.id(c),choice:c}),this.triggerChange({removed:c}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.setPlaceholder(),c.nextSearchTerm=c.opts.nextSearchTerm(a,c.search.val()))})}},isPlaceholderOptionSelected:function(){var a;return this.getPlaceholder()===b?!1:(a=this.getPlaceholderOption())!==b&&a.prop("selected")||""===this.opts.element.val()||this.opts.element.val()===b||null===this.opts.element.val()},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=a.find("option").filter(function(){return this.selected&&!this.disabled});b(c.optionToData(d))}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=c.val(),f=null;b.query({matcher:function(a,c,d){var g=r(e,b.id(d));return g&&(f=d),g},callback:a.isFunction(d)?function(){d(f)}:a.noop})}),b},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===b?b:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var a=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&a!==b){if(this.select&&this.getPlaceholderOption()===b)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(a)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(a,b,c){var d=0,e=this;if(this.findHighlightableChoices().each2(function(a,b){return r(e.id(b.data("select2-data")),e.opts.element.val())?(d=a,!1):void 0}),c!==!1&&(b===!0&&d>=0?this.highlight(d):this.highlight(0)),b===!0){var g=this.opts.minimumResultsForSearch;g>=0&&this.showSearch(L(a.results)>=g)}},showSearch:function(b){this.showSearchInput!==b&&(this.showSearchInput=b,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!b),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!b),a(this.dropdown,this.container).toggleClass("select2-with-searchbox",b))},onSelect:function(a,b){if(this.triggerSelect(a)){var c=this.opts.element.val(),d=this.data();this.opts.element.val(this.id(a)),this.updateSelection(a),this.opts.element.trigger({type:"select2-selected",val:this.id(a),choice:a}),this.nextSearchTerm=this.opts.nextSearchTerm(a,this.search.val()),this.close(),b&&b.noFocus||!this.opts.shouldFocusInput(this)||this.focusser.focus(),r(c,this.id(a))||this.triggerChange({added:a,removed:d})}},updateSelection:function(a){var d,e,c=this.selection.find(".select2-chosen");this.selection.data("select2-data",a),c.empty(),null!==a&&(d=this.opts.formatSelection(a,c,this.opts.escapeMarkup)),d!==b&&c.append(d),e=this.opts.formatSelectionCssClass(a,c),e!==b&&c.addClass(e),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==b&&this.container.addClass("select2-allowclear")},val:function(){var a,c=!1,d=null,e=this,f=this.data();if(0===arguments.length)return this.opts.element.val();if(a=arguments[0],arguments.length>1&&(c=arguments[1]),this.select)this.select.val(a).find("option").filter(function(){return this.selected}).each2(function(a,b){return d=e.optionToData(b),!1}),this.updateSelection(d),this.setPlaceholder(),c&&this.triggerChange({added:d,removed:f});else{if(!a&&0!==a)return this.clear(c),void 0;if(this.opts.initSelection===b)throw new Error("cannot call val() if initSelection() is not defined");this.opts.element.val(a),this.opts.initSelection(this.opts.element,function(a){e.opts.element.val(a?e.id(a):""),e.updateSelection(a),e.setPlaceholder(),c&&e.triggerChange({added:a,removed:f})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(a){var c,d=!1;return 0===arguments.length?(c=this.selection.data("select2-data"),c==b&&(c=null),c):(arguments.length>1&&(d=arguments[1]),a?(c=this.data(),this.opts.element.val(a?this.id(a):""),this.updateSelection(a),d&&this.triggerChange({added:a,removed:c})):this.clear(d),void 0)}}),f=O(d,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container select2-container-multi"}).html(["<ul class='select2-choices'>"," <li class='select2-search-field'>"," <label for='' class='select2-offscreen'></label>"," <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'>"," </li>","</ul>","<div class='select2-drop select2-drop-multi select2-display-none'>"," <ul class='select2-results'>"," </ul>","</div>"].join(""));return b},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=[];a.find("option").filter(function(){return this.selected&&!this.disabled}).each2(function(a,b){d.push(c.optionToData(b))}),b(d)}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=s(c.val(),b.separator),f=[];b.query({matcher:function(c,d,g){var h=a.grep(e,function(a){return r(a,b.id(g))}).length;return h&&f.push(g),h},callback:a.isFunction(d)?function(){for(var a=[],c=0;c<e.length;c++)for(var g=e[c],h=0;h<f.length;h++){var i=f[h];if(r(g,b.id(i))){a.push(i),f.splice(h,1);break}}d(a)}:a.noop})}),b},selectChoice:function(a){var b=this.container.find(".select2-search-choice-focus");b.length&&a&&a[0]==b[0]||(b.length&&this.opts.element.trigger("choice-deselected",b),b.removeClass("select2-search-choice-focus"),a&&a.length&&(this.close(),a.addClass("select2-search-choice-focus"),this.opts.element.trigger("choice-selected",a)))},destroy:function(){a("label[for='"+this.search.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),N.call(this,"searchContainer","selection")},initContainer:function(){var d,b=".select2-choices";this.searchContainer=this.container.find(".select2-search-field"),this.selection=d=this.container.find(b);var e=this;this.selection.on("click",".select2-search-choice:not(.select2-locked)",function(){e.search[0].focus(),e.selectChoice(a(this))}),this.search.attr("id","s2id_autogen"+g()),this.search.prev().text(a("label[for='"+this.opts.element.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("input paste",this.bind(function(){this.search.attr("placeholder")&&0==this.search.val().length||this.isInterfaceEnabled()&&(this.opened()||this.open())})),this.search.attr("tabindex",this.elementTabIndex),this.keydowns=0,this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){++this.keydowns;var b=d.find(".select2-search-choice-focus"),e=b.prev(".select2-search-choice:not(.select2-locked)"),f=b.next(".select2-search-choice:not(.select2-locked)"),g=z(this.search);if(b.length&&(a.which==c.LEFT||a.which==c.RIGHT||a.which==c.BACKSPACE||a.which==c.DELETE||a.which==c.ENTER)){var h=b;return a.which==c.LEFT&&e.length?h=e:a.which==c.RIGHT?h=f.length?f:null:a.which===c.BACKSPACE?this.unselect(b.first())&&(this.search.width(10),h=e.length?e:f):a.which==c.DELETE?this.unselect(b.first())&&(this.search.width(10),h=f.length?f:null):a.which==c.ENTER&&(h=null),this.selectChoice(h),A(a),h&&h.length||this.open(),void 0}if((a.which===c.BACKSPACE&&1==this.keydowns||a.which==c.LEFT)&&0==g.offset&&!g.length)return this.selectChoice(d.find(".select2-search-choice:not(.select2-locked)").last()),A(a),void 0;if(this.selectChoice(null),this.opened())switch(a.which){case c.UP:case c.DOWN:return this.moveHighlight(a.which===c.UP?-1:1),A(a),void 0;case c.ENTER:return this.selectHighlighted(),A(a),void 0;case c.TAB:return this.selectHighlighted({noFocus:!0}),this.close(),void 0;case c.ESC:return this.cancel(a),A(a),void 0}if(a.which!==c.TAB&&!c.isControl(a)&&!c.isFunctionKey(a)&&a.which!==c.BACKSPACE&&a.which!==c.ESC){if(a.which===c.ENTER){if(this.opts.openOnEnter===!1)return;if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return}this.open(),(a.which===c.PAGE_UP||a.which===c.PAGE_DOWN)&&A(a),a.which===c.ENTER&&A(a)}}})),this.search.on("keyup",this.bind(function(){this.keydowns=0,this.resizeSearch()})),this.search.on("blur",this.bind(function(b){this.container.removeClass("select2-container-active"),this.search.removeClass("select2-focused"),this.selectChoice(null),this.opened()||this.clearSearch(),b.stopImmediatePropagation(),this.opts.element.trigger(a.Event("select2-blur"))})),this.container.on("click",b,this.bind(function(b){this.isInterfaceEnabled()&&(a(b.target).closest(".select2-search-choice").length>0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.open(),this.focusSearch(),b.preventDefault()))})),this.container.on("focus",b,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.clearSearch())})}},clearSearch:function(){var a=this.getPlaceholder(),c=this.getMaxSearchWidth();a!==b&&0===this.getVal().length&&this.search.hasClass("select2-focused")===!1?(this.search.val(a).addClass("select2-default"),this.search.width(c>0?c:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),""===this.search.val()&&this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.search.select()),this.updateResults(!0),this.opts.shouldFocusInput(this)&&this.search.focus(),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(b){var c=[],d=[],e=this;a(b).each(function(){p(e.id(this),c)<0&&(c.push(e.id(this)),d.push(this))}),b=d,this.selection.find(".select2-search-choice").remove(),a(b).each(function(){e.addSelectedChoice(this)}),e.postprocessResults()},tokenize:function(){var a=this.search.val();a=this.opts.tokenizer.call(this,a,this.data(),this.bind(this.onSelect),this.opts),null!=a&&a!=b&&(this.search.val(a),a.length>0&&this.open())},onSelect:function(a,c){this.triggerSelect(a)&&(this.addSelectedChoice(a),this.opts.element.trigger({type:"selected",val:this.id(a),choice:a}),this.nextSearchTerm=this.opts.nextSearchTerm(a,this.search.val()),this.clearSearch(),this.updateResults(),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(a,!1,this.opts.closeOnSelect===!0),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()?this.updateResults(!0):this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.updateResults(),this.search.select()),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:a}),c&&c.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(c){var j,k,d=!c.locked,e=a("<li class='select2-search-choice'> <div></div> <a href='#' class='select2-search-choice-close' tabindex='-1'></a></li>"),f=a("<li class='select2-search-choice select2-locked'><div></div></li>"),g=d?e:f,h=this.id(c),i=this.getVal();j=this.opts.formatSelection(c,g.find("div"),this.opts.escapeMarkup),j!=b&&g.find("div").replaceWith("<div>"+j+"</div>"),k=this.opts.formatSelectionCssClass(c,g.find("div")),k!=b&&g.addClass(k),d&&g.find(".select2-search-choice-close").on("mousedown",A).on("click dblclick",this.bind(function(b){this.isInterfaceEnabled()&&(this.unselect(a(b.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),A(b),this.close(),this.focusSearch())})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),g.data("select2-data",c),g.insertBefore(this.searchContainer),i.push(h),this.setVal(i)},unselect:function(b){var d,e,c=this.getVal();if(b=b.closest(".select2-search-choice"),0===b.length)throw"Invalid argument: "+b+". Must be .select2-search-choice";if(d=b.data("select2-data")){var f=a.Event("select2-removing");if(f.val=this.id(d),f.choice=d,this.opts.element.trigger(f),f.isDefaultPrevented())return!1;for(;(e=p(this.id(d),c))>=0;)c.splice(e,1),this.setVal(c),this.select&&this.postprocessResults();return b.remove(),this.opts.element.trigger({type:"select2-removed",val:this.id(d),choice:d}),this.triggerChange({removed:d}),!0}},postprocessResults:function(a,b,c){var d=this.getVal(),e=this.results.find(".select2-result"),f=this.results.find(".select2-result-with-children"),g=this;e.each2(function(a,b){var c=g.id(b.data("select2-data"));p(c,d)>=0&&(b.addClass("select2-selected"),b.find(".select2-result-selectable").addClass("select2-selected"))}),f.each2(function(a,b){b.is(".select2-result-selectable")||0!==b.find(".select2-result-selectable:not(.select2-selected)").length||b.addClass("select2-selected")}),-1==this.highlight()&&c!==!1&&g.highlight(0),!this.opts.createSearchChoice&&!e.filter(".select2-result:not(.select2-selected)").length>0&&(!a||a&&!a.more&&0===this.results.find(".select2-no-results").length)&&J(g.opts.formatNoMatches,"formatNoMatches")&&this.results.append("<li class='select2-no-results'>"+K(g.opts.formatNoMatches,g.opts.element,g.search.val())+"</li>")},getMaxSearchWidth:function(){return this.selection.width()-t(this.search)},resizeSearch:function(){var a,b,c,d,e,f=t(this.search);a=C(this.search)+10,b=this.search.offset().left,c=this.selection.width(),d=this.selection.offset().left,e=c-(b-d)-f,a>e&&(e=c-f),40>e&&(e=c-f),0>=e&&(e=a),this.search.width(Math.floor(e))},getVal:function(){var a;return this.select?(a=this.select.val(),null===a?[]:a):(a=this.opts.element.val(),s(a,this.opts.separator))},setVal:function(b){var c;this.select?this.select.val(b):(c=[],a(b).each(function(){p(this,c)<0&&c.push(this)}),this.opts.element.val(0===c.length?"":c.join(this.opts.separator)))},buildChangeDetails:function(a,b){for(var b=b.slice(0),a=a.slice(0),c=0;c<b.length;c++)for(var d=0;d<a.length;d++)r(this.opts.id(b[c]),this.opts.id(a[d]))&&(b.splice(c,1),c>0&&c--,a.splice(d,1),d--);return{added:b,removed:a}},val:function(c,d){var e,f=this;if(0===arguments.length)return this.getVal();if(e=this.data(),e.length||(e=[]),!c&&0!==c)return this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),d&&this.triggerChange({added:this.data(),removed:e}),void 0;if(this.setVal(c),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),d&&this.triggerChange(this.buildChangeDetails(e,this.data()));else{if(this.opts.initSelection===b)throw new Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(b){var c=a.map(b,f.id);f.setVal(c),f.updateSelection(b),f.clearSearch(),d&&f.triggerChange(f.buildChangeDetails(e,f.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var b=[],c=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){b.push(c.opts.id(a(this).data("select2-data")))}),this.setVal(b),this.triggerChange()},data:function(b,c){var e,f,d=this;return 0===arguments.length?this.selection.children(".select2-search-choice").map(function(){return a(this).data("select2-data")}).get():(f=this.data(),b||(b=[]),e=a.map(b,function(a){return d.opts.id(a)}),this.setVal(e),this.updateSelection(b),this.clearSearch(),c&&this.triggerChange(this.buildChangeDetails(f,this.data())),void 0)}}),a.fn.select2=function(){var d,e,f,g,h,c=Array.prototype.slice.call(arguments,0),i=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],j=["opened","isFocused","container","dropdown"],k=["val","data"],l={search:"externalSearch"};return this.each(function(){if(0===c.length||"object"==typeof c[0])d=0===c.length?{}:a.extend({},c[0]),d.element=a(this),"select"===d.element.get(0).tagName.toLowerCase()?h=d.element.prop("multiple"):(h=d.multiple||!1,"tags"in d&&(d.multiple=h=!0)),e=h?new window.Select2["class"].multi:new window.Select2["class"].single,e.init(d);else{if("string"!=typeof c[0])throw"Invalid arguments to select2 plugin: "+c;if(p(c[0],i)<0)throw"Unknown method: "+c[0];if(g=b,e=a(this).data("select2"),e===b)return;if(f=c[0],"container"===f?g=e.container:"dropdown"===f?g=e.dropdown:(l[f]&&(f=l[f]),g=e[f].apply(e,c.slice(1))),p(c[0],j)>=0||p(c[0],k)>=0&&1==c.length)return!1}}),g===b?this:g},a.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(a,b,c,d){var e=[];return E(a.text,c.term,e,d),e.join("")},formatSelection:function(a,c,d){return a?d(a.text):b},sortResults:function(a){return a},formatResultCssClass:function(a){return a.css},formatSelectionCssClass:function(){return b},formatMatches:function(a){return 1===a?"One result is available, press enter to select it.":a+" results are available, use up and down arrow keys to navigate."},formatNoMatches:function(){return"No matches found"},formatInputTooShort:function(a,b){var c=b-a.length;return"Please enter "+c+" or more character"+(1==c?"":"s")},formatInputTooLong:function(a,b){var c=a.length-b;return"Please delete "+c+" character"+(1==c?"":"s")},formatSelectionTooBig:function(a){return"You can only select "+a+" item"+(1==a?"":"s")},formatLoadMore:function(){return"Loading more results\u2026"},formatSearching:function(){return"Searching\u2026"},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(a){return a==b?null:a.id},matcher:function(a,b){return o(""+b).toUpperCase().indexOf(o(""+a).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:M,escapeMarkup:F,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(a){return a},adaptDropdownCssClass:function(){return null
23
+ },nextSearchTerm:function(){return b},searchInputPlaceholder:"",createSearchChoicePosition:"top",shouldFocusInput:function(a){var b="ontouchstart"in window||navigator.msMaxTouchPoints>0;return b?a.opts.minimumResultsForSearch<0?!1:!0:!0}},a.fn.select2.ajaxDefaults={transport:a.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:G,local:H,tags:I},util:{debounce:w,markMatch:E,escapeMarkup:F,stripDiacritics:o},"class":{"abstract":d,single:e,multi:f}}}}(jQuery);
admin/js/wp-notification-bars-admin.js CHANGED
@@ -106,6 +106,63 @@
106
 
107
  // Color option
108
  $('.mtsnb-color-picker').wpColorPicker();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
  });
110
 
111
  })( jQuery );
106
 
107
  // Color option
108
  $('.mtsnb-color-picker').wpColorPicker();
109
+
110
+ // Bar select
111
+ function mtsnbProcessPostSelectDataForSelect2( ajaxData, page, query ) {
112
+
113
+ var items=[];
114
+
115
+ for (var thisId in ajaxData) {
116
+ var newItem = {
117
+ 'id': ajaxData[thisId]['id'],
118
+ 'text': ajaxData[thisId]['title']
119
+ };
120
+ items.push(newItem);
121
+ }
122
+ return { results: items };
123
+ }
124
+
125
+ $('input.mtsnb-bar-select').each(function() {
126
+
127
+ var $this = $(this);
128
+
129
+ $this.select2( {
130
+ placeholder: mtsnb_locale.select_placeholder,
131
+ multiple: true,
132
+ maximumSelectionSize: 1,
133
+ minimumInputLength: 2,
134
+ ajax: {
135
+ url: ajaxurl,
136
+ dataType: 'json',
137
+ data: function (term, page) {
138
+ return {
139
+ q: term,
140
+ action: 'mtsnb_get_bars',
141
+ };
142
+ },
143
+ results: mtsnbProcessPostSelectDataForSelect2
144
+ },
145
+ initSelection: function(element, callback) {
146
+
147
+ var ids=$(element).val();
148
+ if ( ids !== "" ) {
149
+ $.ajax({
150
+ url: ajaxurl,
151
+ dataType: "json",
152
+ data: {
153
+ action: 'mtsnb_get_bar_titles',
154
+ post_ids: ids
155
+ },
156
+
157
+ }).done(function(response) {console.log(response);
158
+
159
+ var processedData = mtsnbProcessPostSelectDataForSelect2( response );
160
+ callback( processedData.results );
161
+ });
162
+ }
163
+ },
164
+ });
165
+ });
166
  });
167
 
168
  })( jQuery );
includes/class-wp-notification-bars-shared.php CHANGED
@@ -81,15 +81,36 @@ class MTSNBF_Shared {
81
 
82
  if ( is_admin() ) return;
83
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  $args = array(
85
  'post_type' => 'mts_notification_bar',
86
  'posts_per_page' => -1,
87
  'post_status' => 'publish',
88
  );
89
 
90
- $bar_id = false;
91
- $bar_data = false;
92
-
93
  $all_bars = get_posts( $args );
94
  foreach( $all_bars as $post ) :
95
  setup_postdata( $post );
@@ -221,8 +242,8 @@ class MTSNBF_Shared {
221
 
222
  case 'button':
223
 
224
- $text = esc_html( $options['basic_text'] );
225
- $link_text = esc_html( $options['basic_link_text'] );
226
  $link_url = esc_url( $options['basic_link_url'] );
227
  $link_style = $options['basic_link_style'];
228
 
@@ -352,7 +373,16 @@ class MTSNBF_Shared {
352
  // Enable on locations
353
  if ( !empty( $meta_values['conditions']['location']['state'] ) ) {
354
 
355
- if ( is_home() && isset( $meta_values['conditions']['location']['home'] ) ) {
 
 
 
 
 
 
 
 
 
356
 
357
  return true;
358
 
@@ -371,7 +401,16 @@ class MTSNBF_Shared {
371
  // Disable on locations
372
  if ( !empty( $meta_values['conditions']['notlocation']['state'] ) ) {
373
 
374
- if ( is_home() && isset( $meta_values['conditions']['notlocation']['home'] ) ) {
 
 
 
 
 
 
 
 
 
375
 
376
  return false;
377
 
@@ -450,23 +489,20 @@ class MTSNBF_Shared {
450
  */
451
  public function get_referrer() {
452
 
453
- $referer = '';
454
 
455
- if ( !isset( $_COOKIE['mtsnb_referrer'] ) ) {
456
 
457
- $referer = wp_get_referer();
458
-
459
- // Set cookie only if referrer url actually exists
460
- if ( $referer || !empty( $referer ) ) {
461
-
462
- $secure = ( 'https' === parse_url( home_url(), PHP_URL_SCHEME ) );// maybe not needed
463
- setcookie( 'mtsnb_referrer', esc_url( $referer ), time() + ( 86400 * 365 ), COOKIEPATH, COOKIE_DOMAIN, $secure ); // 86400 = 1 day
464
- }
465
 
466
  } else {
467
 
468
- // Stored referrer url
469
- $referer = $_COOKIE['mtsnb_referrer'];
 
 
 
470
  }
471
 
472
  return $referer;
81
 
82
  if ( is_admin() ) return;
83
 
84
+ $bar_id = false;
85
+ $bar_data = false;
86
+
87
+ if ( is_singular() && in_array( get_post_type(), apply_filters( 'mtsnb_force_bar_post_types', array( 'post', 'page' ) ) ) ) {
88
+
89
+ global $post;
90
+ $bar = get_post_meta( $post->ID, '_mtsnb_override_bar', true );
91
+
92
+ if ( $bar && !empty( $bar ) ) {
93
+
94
+ $bar_id = isset( $bar[0] ) ? $bar[0] : false;
95
+
96
+ if ( $bar_id && !empty( $bar_id ) ) {
97
+
98
+ $meta_values = get_post_meta( $bar_id, '_mtsnb_data', true );
99
+
100
+ $this->bar_id = $bar_id;
101
+ $this->bar_data = $meta_values;
102
+
103
+ return;
104
+ }
105
+ }
106
+ }
107
+
108
  $args = array(
109
  'post_type' => 'mts_notification_bar',
110
  'posts_per_page' => -1,
111
  'post_status' => 'publish',
112
  );
113
 
 
 
 
114
  $all_bars = get_posts( $args );
115
  foreach( $all_bars as $post ) :
116
  setup_postdata( $post );
242
 
243
  case 'button':
244
 
245
+ $text = wp_kses_post( $options['basic_text'] );
246
+ $link_text = wp_kses_post( $options['basic_link_text'] );
247
  $link_url = esc_url( $options['basic_link_url'] );
248
  $link_style = $options['basic_link_style'];
249
 
373
  // Enable on locations
374
  if ( !empty( $meta_values['conditions']['location']['state'] ) ) {
375
 
376
+ if (
377
+ 'page' === get_option('show_on_front') &&
378
+ '0' !== get_option('page_for_posts') &&
379
+ '0' !== get_option('page_on_front') &&
380
+ ( ( is_front_page() && isset( $meta_values['conditions']['location']['home'] ) ) || ( is_home() && isset( $meta_values['conditions']['location']['blog_home'] ) ) )
381
+ ) {
382
+
383
+ return true;
384
+
385
+ } else if ( is_front_page() && isset( $meta_values['conditions']['location']['home'] ) ) {
386
 
387
  return true;
388
 
401
  // Disable on locations
402
  if ( !empty( $meta_values['conditions']['notlocation']['state'] ) ) {
403
 
404
+ if (
405
+ 'page' === get_option('show_on_front') &&
406
+ '0' !== get_option('page_for_posts') &&
407
+ '0' !== get_option('page_on_front') &&
408
+ ( ( is_front_page() && isset( $meta_values['conditions']['notlocation']['home'] ) ) || ( is_home() && isset( $meta_values['conditions']['notlocation']['blog_home'] ) ) )
409
+ ) {
410
+
411
+ return false;
412
+
413
+ } else if ( is_front_page() && isset( $meta_values['conditions']['notlocation']['home'] ) ) {
414
 
415
  return false;
416
 
489
  */
490
  public function get_referrer() {
491
 
492
+ $referer = wp_unslash( $_SERVER['HTTP_REFERER'] );
493
 
494
+ if ( $referer && !empty( $referer ) ) {
495
 
496
+ $secure = ( 'https' === parse_url( home_url(), PHP_URL_SCHEME ) );// maybe not needed
497
+ setcookie( 'mtsnb_referrer', esc_url( $referer ), 0, COOKIEPATH, COOKIE_DOMAIN, $secure ); // session
 
 
 
 
 
 
498
 
499
  } else {
500
 
501
+ if ( isset( $_COOKIE['mtsnb_referrer'] ) ) {
502
+
503
+ // Stored referrer url
504
+ $referer = $_COOKIE['mtsnb_referrer'];
505
+ }
506
  }
507
 
508
  return $referer;
includes/class-wp-notification-bars.php CHANGED
@@ -69,7 +69,7 @@ class MTSNBF {
69
  public function __construct() {
70
 
71
  $this->plugin_name = 'wp-notification-bars';
72
- $this->version = '1.0';
73
 
74
  $this->load_dependencies();
75
  $this->set_locale();
@@ -171,6 +171,12 @@ class MTSNBF {
171
  $this->loader->add_action( 'post_submitbox_misc_actions', $plugin_admin, 'add_preview_button' );
172
 
173
  $this->loader->add_filter( 'post_updated_messages', $plugin_admin, 'mtsnb_update_messages' );
 
 
 
 
 
 
174
  }
175
 
176
  /**
69
  public function __construct() {
70
 
71
  $this->plugin_name = 'wp-notification-bars';
72
+ $this->version = '1.0.1';
73
 
74
  $this->load_dependencies();
75
  $this->set_locale();
171
  $this->loader->add_action( 'post_submitbox_misc_actions', $plugin_admin, 'add_preview_button' );
172
 
173
  $this->loader->add_filter( 'post_updated_messages', $plugin_admin, 'mtsnb_update_messages' );
174
+
175
+ // Force notification bar metabox
176
+ $this->loader->add_action( 'add_meta_boxes', $plugin_admin, 'mtsnb_select_metabox_insert' );
177
+ $this->loader->add_action( 'save_post', $plugin_admin, 'mtsnb_select_metabox_save' );
178
+ $this->loader->add_action( 'wp_ajax_mtsnb_get_bars', $plugin_admin, 'mtsnb_get_bars' );
179
+ $this->loader->add_action( 'wp_ajax_mtsnb_get_bar_titles', $plugin_admin, 'mtsnb_get_bar_titles' );
180
  }
181
 
182
  /**
languages/wp-notification-bars.pot CHANGED
@@ -1,10 +1,11 @@
1
  # Copyright (C) 2015 WP Backup
2
  # This file is distributed under the same license as the WP Backup package.
 
3
  msgid ""
4
  msgstr ""
5
  "Project-Id-Version: WP Notification Bars\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/my-wp-backup\n"
7
- "POT-Creation-Date: 2015-09-15 13:28+0530\n"
8
  "PO-Revision-Date: 2015-09-15 13:28+0530\n"
9
  "Last-Translator: MyThemeShop <support-team@mythemeshop.com>\n"
10
  "Language-Team: MyThemeShop <support-team@mythemeshop.com>\n"
@@ -12,315 +13,337 @@ msgstr ""
12
  "MIME-Version: 1.0\n"
13
  "Content-Type: text/plain; charset=UTF-8\n"
14
  "Content-Transfer-Encoding: 8bit\n"
15
- "X-Generator: Poedit 1.6.2\n"
16
  "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
17
  "_n_noop:1,2;_c;_nc:4c,1,2;_x:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;_ex:1,2c;"
18
- "esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
 
19
  "X-Poedit-Basepath: ..\n"
20
- "X-Poedit-SearchPathExcluded-0: vendor\n"
21
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
22
  "X-Poedit-SearchPath-0: .\n"
 
 
 
 
 
23
 
24
- #: admin/class-wp-notification-bars-admin.php:120
25
  msgctxt "post type general name"
26
  msgid "Notification Bars"
27
  msgstr ""
28
 
29
- #: admin/class-wp-notification-bars-admin.php:121
30
  msgctxt "post type singular name"
31
  msgid "Notification Bar"
32
  msgstr ""
33
 
34
- #: admin/class-wp-notification-bars-admin.php:122
35
  msgctxt "admin menu"
36
  msgid "Notification Bars"
37
  msgstr ""
38
 
39
- #: admin/class-wp-notification-bars-admin.php:123
40
  msgctxt "add new on admin bar"
41
  msgid "Notification Bar"
42
  msgstr ""
43
 
44
- #: admin/class-wp-notification-bars-admin.php:124
45
  msgctxt "notification bar"
46
  msgid "Add New"
47
  msgstr ""
48
 
49
- #: admin/class-wp-notification-bars-admin.php:125
50
  msgid "Add New Notification Bar"
51
  msgstr ""
52
 
53
- #: admin/class-wp-notification-bars-admin.php:126
54
  msgid "New Notification Bar"
55
  msgstr ""
56
 
57
- #: admin/class-wp-notification-bars-admin.php:127
58
  msgid "Edit Notification Bar"
59
  msgstr ""
60
 
61
- #: admin/class-wp-notification-bars-admin.php:128
62
  msgid "View Notification Bar"
63
  msgstr ""
64
 
65
- #: admin/class-wp-notification-bars-admin.php:129
66
  msgid "All Notification Bars"
67
  msgstr ""
68
 
69
- #: admin/class-wp-notification-bars-admin.php:130
70
  msgid "Search Notification Bars"
71
  msgstr ""
72
 
73
- #: admin/class-wp-notification-bars-admin.php:131
74
  msgid "Parent Notification Bars:"
75
  msgstr ""
76
 
77
- #: admin/class-wp-notification-bars-admin.php:132
78
  msgid "No notification bars found."
79
  msgstr ""
80
 
81
- #: admin/class-wp-notification-bars-admin.php:133
82
  msgid "No notification bars found in Trash."
83
  msgstr ""
84
 
85
- #: admin/class-wp-notification-bars-admin.php:162
86
  msgid "Preview Bar"
87
  msgstr ""
88
 
89
- #: admin/class-wp-notification-bars-admin.php:176
90
  msgid "Settings"
91
  msgstr ""
92
 
93
- #: admin/class-wp-notification-bars-admin.php:195
94
  msgid "Hide/Close Button"
95
  msgstr ""
96
 
97
- #: admin/class-wp-notification-bars-admin.php:198
98
  msgid "No Button"
99
  msgstr ""
100
 
101
- #: admin/class-wp-notification-bars-admin.php:199
102
  msgid "Toggle Button"
103
  msgstr ""
104
 
105
- #: admin/class-wp-notification-bars-admin.php:200
106
  msgid "Close Button"
107
  msgstr ""
108
 
109
- #: admin/class-wp-notification-bars-admin.php:207
110
  msgid "Content Width (px)"
111
  msgstr ""
112
 
113
- #: admin/class-wp-notification-bars-admin.php:213
114
  msgid "Notification bar CSS position"
115
  msgstr ""
116
 
117
- #: admin/class-wp-notification-bars-admin.php:216
118
  msgid "Fixed"
119
  msgstr ""
120
 
121
- #: admin/class-wp-notification-bars-admin.php:217
122
  msgid "Absolute"
123
  msgstr ""
124
 
125
- #: admin/class-wp-notification-bars-admin.php:226
126
  msgid "Background Color"
127
  msgstr ""
128
 
129
- #: admin/class-wp-notification-bars-admin.php:232
130
  msgid "Text Color"
131
  msgstr ""
132
 
133
- #: admin/class-wp-notification-bars-admin.php:238
134
  msgid "Link Color/Button Color"
135
  msgstr ""
136
 
137
- #: admin/class-wp-notification-bars-admin.php:244
138
  msgid "Font size (px)"
139
  msgstr ""
140
 
141
- #: admin/class-wp-notification-bars-admin.php:253
142
  msgid "Link Style"
143
  msgstr ""
144
 
145
- #: admin/class-wp-notification-bars-admin.php:256
146
  msgid "Link"
147
  msgstr ""
148
 
149
- #: admin/class-wp-notification-bars-admin.php:257
150
  msgid "Button"
151
  msgstr ""
152
 
153
- #: admin/class-wp-notification-bars-admin.php:263
154
  msgid "Text"
155
  msgstr ""
156
 
157
- #: admin/class-wp-notification-bars-admin.php:269
158
  msgid "Link/Button Text"
159
  msgstr ""
160
 
161
- #: admin/class-wp-notification-bars-admin.php:275
162
  msgid "Link/Button Url"
163
  msgstr ""
164
 
165
- #: admin/class-wp-notification-bars-admin.php:284
166
  msgid "Add custom content, shortcodes allowed"
167
  msgstr ""
168
 
169
- #: admin/class-wp-notification-bars-admin.php:301
170
  msgid "General"
171
  msgstr ""
172
 
173
- #: admin/class-wp-notification-bars-admin.php:306
174
  msgid "Content"
175
  msgstr ""
176
 
177
- #: admin/class-wp-notification-bars-admin.php:311
178
  msgid "Style"
179
  msgstr ""
180
 
181
- #: admin/class-wp-notification-bars-admin.php:316
182
  msgid "Conditions"
183
  msgstr ""
184
 
185
- #: admin/class-wp-notification-bars-admin.php:322
186
  msgid ""
187
  "Select basic settings like close button type and CSS position of the bar."
188
  msgstr ""
189
 
190
- #: admin/class-wp-notification-bars-admin.php:332
191
  msgid ""
192
  "Set up notification bar content. Select content type and fill in the fields."
193
  msgstr ""
194
 
195
- #: admin/class-wp-notification-bars-admin.php:337
196
  msgid "Text and Link/Button"
197
  msgstr ""
198
 
199
- #: admin/class-wp-notification-bars-admin.php:338
200
  msgid "Custom"
201
  msgstr ""
202
 
203
- #: admin/class-wp-notification-bars-admin.php:359
204
  msgid "Change the appearance of the notification bar."
205
  msgstr ""
206
 
207
- #: admin/class-wp-notification-bars-admin.php:369
208
  msgid "Choose when and where to display the notification bar."
209
  msgstr ""
210
 
211
- #: admin/class-wp-notification-bars-admin.php:378
212
- #: admin/class-wp-notification-bars-admin.php:419
213
  msgid "On specific locations"
214
  msgstr ""
215
 
216
- #: admin/class-wp-notification-bars-admin.php:383
217
- #: admin/class-wp-notification-bars-admin.php:448
218
  msgid "Not on specific locations"
219
  msgstr ""
220
 
221
- #: admin/class-wp-notification-bars-admin.php:392
222
- #: admin/class-wp-notification-bars-admin.php:477
223
  msgid "From Google"
224
  msgstr ""
225
 
226
- #: admin/class-wp-notification-bars-admin.php:397
227
- #: admin/class-wp-notification-bars-admin.php:489
228
  msgid "Not from Google"
229
  msgstr ""
230
 
231
- #: admin/class-wp-notification-bars-admin.php:406
232
- #: admin/class-wp-notification-bars-admin.php:501
233
  msgid "From Facebook"
234
  msgstr ""
235
 
236
- #: admin/class-wp-notification-bars-admin.php:411
237
- #: admin/class-wp-notification-bars-admin.php:513
238
  msgid "Not from Facebook"
239
  msgstr ""
240
 
241
- #: admin/class-wp-notification-bars-admin.php:421
242
  msgid "Show Notification Bar on the following locations"
243
  msgstr ""
244
 
245
- #: admin/class-wp-notification-bars-admin.php:429
246
- #: admin/class-wp-notification-bars-admin.php:458
247
  msgid "Homepage."
248
  msgstr ""
249
 
250
- #: admin/class-wp-notification-bars-admin.php:435
251
- #: admin/class-wp-notification-bars-admin.php:464
 
 
 
 
 
252
  msgid "Pages."
253
  msgstr ""
254
 
255
- #: admin/class-wp-notification-bars-admin.php:441
256
- #: admin/class-wp-notification-bars-admin.php:470
257
  msgid "Posts."
258
  msgstr ""
259
 
260
- #: admin/class-wp-notification-bars-admin.php:450
261
  msgid "Hide Notification Bar on the following locations"
262
  msgstr ""
263
 
264
- #: admin/class-wp-notification-bars-admin.php:482
265
  msgid "Show Notification Bar if visitor arrived via Google search engine."
266
  msgstr ""
267
 
268
- #: admin/class-wp-notification-bars-admin.php:494
269
  msgid "Hide Notification Bar if visitor arrived via Google search engine."
270
  msgstr ""
271
 
272
- #: admin/class-wp-notification-bars-admin.php:506
273
  msgid "Show Notification Bar if visitor arrived from Facebook."
274
  msgstr ""
275
 
276
- #: admin/class-wp-notification-bars-admin.php:518
277
  msgid "Hide Notification Bar if visitor arrived from Facebook."
278
  msgstr ""
279
 
280
- #: admin/class-wp-notification-bars-admin.php:679
281
  msgid ""
282
  "Free version of WP Notification Bars plugin disabled. Pro version is active!"
283
  msgstr ""
284
 
285
- #: admin/class-wp-notification-bars-admin.php:703
286
- #: admin/class-wp-notification-bars-admin.php:706
287
  msgid "Notification Bar updated."
288
  msgstr ""
289
 
290
- #: admin/class-wp-notification-bars-admin.php:704
291
  msgid "Custom field updated."
292
  msgstr ""
293
 
294
- #: admin/class-wp-notification-bars-admin.php:705
295
  msgid "Custom field deleted."
296
  msgstr ""
297
 
298
- #: admin/class-wp-notification-bars-admin.php:707
299
  #, php-format
300
  msgid "Notification Bar restored to revision from %s"
301
  msgstr ""
302
 
303
- #: admin/class-wp-notification-bars-admin.php:708
304
  msgid "Notification Bar published."
305
  msgstr ""
306
 
307
- #: admin/class-wp-notification-bars-admin.php:709
308
  msgid "Notification Bar saved."
309
  msgstr ""
310
 
311
- #: admin/class-wp-notification-bars-admin.php:710
312
  msgid "Notification Bar submitted."
313
  msgstr ""
314
 
315
- #: admin/class-wp-notification-bars-admin.php:711
316
  #, php-format
317
  msgid "Notification Bar scheduled for: <strong>%1$s</strong>."
318
  msgstr ""
319
 
320
- #: admin/class-wp-notification-bars-admin.php:711
321
  msgid "M j, Y @ H:i"
322
  msgstr ""
323
 
324
- #: admin/class-wp-notification-bars-admin.php:712
325
  msgid "Notification Bar draft updated."
326
  msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
1
  # Copyright (C) 2015 WP Backup
2
  # This file is distributed under the same license as the WP Backup package.
3
+ #, fuzzy
4
  msgid ""
5
  msgstr ""
6
  "Project-Id-Version: WP Notification Bars\n"
7
  "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/my-wp-backup\n"
8
+ "POT-Creation-Date: 2015-09-17 11:30+0100\n"
9
  "PO-Revision-Date: 2015-09-15 13:28+0530\n"
10
  "Last-Translator: MyThemeShop <support-team@mythemeshop.com>\n"
11
  "Language-Team: MyThemeShop <support-team@mythemeshop.com>\n"
13
  "MIME-Version: 1.0\n"
14
  "Content-Type: text/plain; charset=UTF-8\n"
15
  "Content-Transfer-Encoding: 8bit\n"
16
+ "X-Generator: Poedit 1.8.1\n"
17
  "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
18
  "_n_noop:1,2;_c;_nc:4c,1,2;_x:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;_ex:1,2c;"
19
+ "esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;"
20
+ "esc_html_x:1,2c\n"
21
  "X-Poedit-Basepath: ..\n"
 
22
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
23
  "X-Poedit-SearchPath-0: .\n"
24
+ "X-Poedit-SearchPathExcluded-0: vendor\n"
25
+
26
+ #: admin/class-wp-notification-bars-admin.php:131
27
+ msgid "Enter Notification Bar Title"
28
+ msgstr ""
29
 
30
+ #: admin/class-wp-notification-bars-admin.php:148
31
  msgctxt "post type general name"
32
  msgid "Notification Bars"
33
  msgstr ""
34
 
35
+ #: admin/class-wp-notification-bars-admin.php:149
36
  msgctxt "post type singular name"
37
  msgid "Notification Bar"
38
  msgstr ""
39
 
40
+ #: admin/class-wp-notification-bars-admin.php:150
41
  msgctxt "admin menu"
42
  msgid "Notification Bars"
43
  msgstr ""
44
 
45
+ #: admin/class-wp-notification-bars-admin.php:151
46
  msgctxt "add new on admin bar"
47
  msgid "Notification Bar"
48
  msgstr ""
49
 
50
+ #: admin/class-wp-notification-bars-admin.php:152
51
  msgctxt "notification bar"
52
  msgid "Add New"
53
  msgstr ""
54
 
55
+ #: admin/class-wp-notification-bars-admin.php:153
56
  msgid "Add New Notification Bar"
57
  msgstr ""
58
 
59
+ #: admin/class-wp-notification-bars-admin.php:154
60
  msgid "New Notification Bar"
61
  msgstr ""
62
 
63
+ #: admin/class-wp-notification-bars-admin.php:155
64
  msgid "Edit Notification Bar"
65
  msgstr ""
66
 
67
+ #: admin/class-wp-notification-bars-admin.php:156
68
  msgid "View Notification Bar"
69
  msgstr ""
70
 
71
+ #: admin/class-wp-notification-bars-admin.php:157
72
  msgid "All Notification Bars"
73
  msgstr ""
74
 
75
+ #: admin/class-wp-notification-bars-admin.php:158
76
  msgid "Search Notification Bars"
77
  msgstr ""
78
 
79
+ #: admin/class-wp-notification-bars-admin.php:159
80
  msgid "Parent Notification Bars:"
81
  msgstr ""
82
 
83
+ #: admin/class-wp-notification-bars-admin.php:160
84
  msgid "No notification bars found."
85
  msgstr ""
86
 
87
+ #: admin/class-wp-notification-bars-admin.php:161
88
  msgid "No notification bars found in Trash."
89
  msgstr ""
90
 
91
+ #: admin/class-wp-notification-bars-admin.php:200
92
  msgid "Preview Bar"
93
  msgstr ""
94
 
95
+ #: admin/class-wp-notification-bars-admin.php:214
96
  msgid "Settings"
97
  msgstr ""
98
 
99
+ #: admin/class-wp-notification-bars-admin.php:233
100
  msgid "Hide/Close Button"
101
  msgstr ""
102
 
103
+ #: admin/class-wp-notification-bars-admin.php:236
104
  msgid "No Button"
105
  msgstr ""
106
 
107
+ #: admin/class-wp-notification-bars-admin.php:237
108
  msgid "Toggle Button"
109
  msgstr ""
110
 
111
+ #: admin/class-wp-notification-bars-admin.php:238
112
  msgid "Close Button"
113
  msgstr ""
114
 
115
+ #: admin/class-wp-notification-bars-admin.php:245
116
  msgid "Content Width (px)"
117
  msgstr ""
118
 
119
+ #: admin/class-wp-notification-bars-admin.php:251
120
  msgid "Notification bar CSS position"
121
  msgstr ""
122
 
123
+ #: admin/class-wp-notification-bars-admin.php:254
124
  msgid "Fixed"
125
  msgstr ""
126
 
127
+ #: admin/class-wp-notification-bars-admin.php:255
128
  msgid "Absolute"
129
  msgstr ""
130
 
131
+ #: admin/class-wp-notification-bars-admin.php:264
132
  msgid "Background Color"
133
  msgstr ""
134
 
135
+ #: admin/class-wp-notification-bars-admin.php:270
136
  msgid "Text Color"
137
  msgstr ""
138
 
139
+ #: admin/class-wp-notification-bars-admin.php:276
140
  msgid "Link Color/Button Color"
141
  msgstr ""
142
 
143
+ #: admin/class-wp-notification-bars-admin.php:282
144
  msgid "Font size (px)"
145
  msgstr ""
146
 
147
+ #: admin/class-wp-notification-bars-admin.php:291
148
  msgid "Link Style"
149
  msgstr ""
150
 
151
+ #: admin/class-wp-notification-bars-admin.php:294
152
  msgid "Link"
153
  msgstr ""
154
 
155
+ #: admin/class-wp-notification-bars-admin.php:295
156
  msgid "Button"
157
  msgstr ""
158
 
159
+ #: admin/class-wp-notification-bars-admin.php:301
160
  msgid "Text"
161
  msgstr ""
162
 
163
+ #: admin/class-wp-notification-bars-admin.php:307
164
  msgid "Link/Button Text"
165
  msgstr ""
166
 
167
+ #: admin/class-wp-notification-bars-admin.php:313
168
  msgid "Link/Button Url"
169
  msgstr ""
170
 
171
+ #: admin/class-wp-notification-bars-admin.php:322
172
  msgid "Add custom content, shortcodes allowed"
173
  msgstr ""
174
 
175
+ #: admin/class-wp-notification-bars-admin.php:339
176
  msgid "General"
177
  msgstr ""
178
 
179
+ #: admin/class-wp-notification-bars-admin.php:344
180
  msgid "Content"
181
  msgstr ""
182
 
183
+ #: admin/class-wp-notification-bars-admin.php:349
184
  msgid "Style"
185
  msgstr ""
186
 
187
+ #: admin/class-wp-notification-bars-admin.php:354
188
  msgid "Conditions"
189
  msgstr ""
190
 
191
+ #: admin/class-wp-notification-bars-admin.php:360
192
  msgid ""
193
  "Select basic settings like close button type and CSS position of the bar."
194
  msgstr ""
195
 
196
+ #: admin/class-wp-notification-bars-admin.php:370
197
  msgid ""
198
  "Set up notification bar content. Select content type and fill in the fields."
199
  msgstr ""
200
 
201
+ #: admin/class-wp-notification-bars-admin.php:375
202
  msgid "Text and Link/Button"
203
  msgstr ""
204
 
205
+ #: admin/class-wp-notification-bars-admin.php:376
206
  msgid "Custom"
207
  msgstr ""
208
 
209
+ #: admin/class-wp-notification-bars-admin.php:397
210
  msgid "Change the appearance of the notification bar."
211
  msgstr ""
212
 
213
+ #: admin/class-wp-notification-bars-admin.php:407
214
  msgid "Choose when and where to display the notification bar."
215
  msgstr ""
216
 
217
+ #: admin/class-wp-notification-bars-admin.php:416
218
+ #: admin/class-wp-notification-bars-admin.php:457
219
  msgid "On specific locations"
220
  msgstr ""
221
 
222
+ #: admin/class-wp-notification-bars-admin.php:421
223
+ #: admin/class-wp-notification-bars-admin.php:495
224
  msgid "Not on specific locations"
225
  msgstr ""
226
 
227
+ #: admin/class-wp-notification-bars-admin.php:430
228
+ #: admin/class-wp-notification-bars-admin.php:533
229
  msgid "From Google"
230
  msgstr ""
231
 
232
+ #: admin/class-wp-notification-bars-admin.php:435
233
+ #: admin/class-wp-notification-bars-admin.php:545
234
  msgid "Not from Google"
235
  msgstr ""
236
 
237
+ #: admin/class-wp-notification-bars-admin.php:444
238
+ #: admin/class-wp-notification-bars-admin.php:557
239
  msgid "From Facebook"
240
  msgstr ""
241
 
242
+ #: admin/class-wp-notification-bars-admin.php:449
243
+ #: admin/class-wp-notification-bars-admin.php:569
244
  msgid "Not from Facebook"
245
  msgstr ""
246
 
247
+ #: admin/class-wp-notification-bars-admin.php:459
248
  msgid "Show Notification Bar on the following locations"
249
  msgstr ""
250
 
251
+ #: admin/class-wp-notification-bars-admin.php:468
252
+ #: admin/class-wp-notification-bars-admin.php:506
253
  msgid "Homepage."
254
  msgstr ""
255
 
256
+ #: admin/class-wp-notification-bars-admin.php:475
257
+ #: admin/class-wp-notification-bars-admin.php:513
258
+ msgid "Blog Homepage."
259
+ msgstr ""
260
+
261
+ #: admin/class-wp-notification-bars-admin.php:482
262
+ #: admin/class-wp-notification-bars-admin.php:520
263
  msgid "Pages."
264
  msgstr ""
265
 
266
+ #: admin/class-wp-notification-bars-admin.php:488
267
+ #: admin/class-wp-notification-bars-admin.php:526
268
  msgid "Posts."
269
  msgstr ""
270
 
271
+ #: admin/class-wp-notification-bars-admin.php:497
272
  msgid "Hide Notification Bar on the following locations"
273
  msgstr ""
274
 
275
+ #: admin/class-wp-notification-bars-admin.php:538
276
  msgid "Show Notification Bar if visitor arrived via Google search engine."
277
  msgstr ""
278
 
279
+ #: admin/class-wp-notification-bars-admin.php:550
280
  msgid "Hide Notification Bar if visitor arrived via Google search engine."
281
  msgstr ""
282
 
283
+ #: admin/class-wp-notification-bars-admin.php:562
284
  msgid "Show Notification Bar if visitor arrived from Facebook."
285
  msgstr ""
286
 
287
+ #: admin/class-wp-notification-bars-admin.php:574
288
  msgid "Hide Notification Bar if visitor arrived from Facebook."
289
  msgstr ""
290
 
291
+ #: admin/class-wp-notification-bars-admin.php:735
292
  msgid ""
293
  "Free version of WP Notification Bars plugin disabled. Pro version is active!"
294
  msgstr ""
295
 
296
+ #: admin/class-wp-notification-bars-admin.php:759
297
+ #: admin/class-wp-notification-bars-admin.php:762
298
  msgid "Notification Bar updated."
299
  msgstr ""
300
 
301
+ #: admin/class-wp-notification-bars-admin.php:760
302
  msgid "Custom field updated."
303
  msgstr ""
304
 
305
+ #: admin/class-wp-notification-bars-admin.php:761
306
  msgid "Custom field deleted."
307
  msgstr ""
308
 
309
+ #: admin/class-wp-notification-bars-admin.php:763
310
  #, php-format
311
  msgid "Notification Bar restored to revision from %s"
312
  msgstr ""
313
 
314
+ #: admin/class-wp-notification-bars-admin.php:764
315
  msgid "Notification Bar published."
316
  msgstr ""
317
 
318
+ #: admin/class-wp-notification-bars-admin.php:765
319
  msgid "Notification Bar saved."
320
  msgstr ""
321
 
322
+ #: admin/class-wp-notification-bars-admin.php:766
323
  msgid "Notification Bar submitted."
324
  msgstr ""
325
 
326
+ #: admin/class-wp-notification-bars-admin.php:767
327
  #, php-format
328
  msgid "Notification Bar scheduled for: <strong>%1$s</strong>."
329
  msgstr ""
330
 
331
+ #: admin/class-wp-notification-bars-admin.php:767
332
  msgid "M j, Y @ H:i"
333
  msgstr ""
334
 
335
+ #: admin/class-wp-notification-bars-admin.php:768
336
  msgid "Notification Bar draft updated."
337
  msgstr ""
338
+
339
+ #: admin/class-wp-notification-bars-admin.php:791
340
+ msgid "Notification Bar"
341
+ msgstr ""
342
+
343
+ #: admin/class-wp-notification-bars-admin.php:831
344
+ msgid "Select Notification Bar (optional):"
345
+ msgstr ""
346
+
347
+ #: admin/class-wp-notification-bars-admin.php:835
348
+ msgid "Selected notification bar will override any other bar."
349
+ msgstr ""
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: mythemeshop
3
  Creator's website link: http://mythemeshop.com/plugins/wp-notification-bars/
4
  Tags: notification, alert, notification bar, welcome google visitor, welcome facebook visitor, attention bar, floating bar, message, notice, sticky header, offer bar, hello bar
5
  Requires at least: 3.0.1
6
- Tested up to: 4.3
7
- Stable tag: 1.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -33,8 +33,19 @@ WP Notification Bars is a custom notification and alert bar plugin for WordPress
33
 
34
  = Support =
35
 
36
- We will do our best to provide support through the WordPress forums. However, all plugin support is provided in our forum. If you have not registered yet, you can do so here: <a href="https://mythemeshop.com/go/signup/index/c/free">https://mythemeshop.com/go/signup/index/c/free</a>. After searching the knowledge base and forum if you are still stuck, feel free to open a new thread, and a member of our support team will be happy to help. Cheers!<br>
37
- Support link: <a href="http://community.mythemeshop.com/forum/free/plugin-support">http://community.mythemeshop.com/forum/free/plugin-support</a>
 
 
 
 
 
 
 
 
 
 
 
38
 
39
  = Feedback =
40
  If you like this plugin, then please leave us a good rating and review.<br> Consider following us on <a rel="author" href="https://plus.google.com/+Mythemeshop/">Google+</a>, <a href="https://twitter.com/MyThemeShopTeam">Twitter</a>, and <a href="https://www.facebook.com/MyThemeShop">Facebook</a>
@@ -60,9 +71,14 @@ Please disable all plugins and check if backup is working properly. Then you can
60
  2. Content Settings
61
  3. Style Settings
62
  4. Conditions Settings
63
- 5. All Notifications
64
 
65
  == Changelog ==
66
 
 
 
 
 
 
 
67
  = 1.0 =
68
  * Official plugin release.
3
  Creator's website link: http://mythemeshop.com/plugins/wp-notification-bars/
4
  Tags: notification, alert, notification bar, welcome google visitor, welcome facebook visitor, attention bar, floating bar, message, notice, sticky header, offer bar, hello bar
5
  Requires at least: 3.0.1
6
+ Tested up to: 4.9.1
7
+ Stable tag: 1.0.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
33
 
34
  = Support =
35
 
36
+ All support for this plugin is provided through our forums. If you have not registered yet, you can do so here for **FREE** <br>
37
+ <a href=“https://mythemeshop.com/#signup”>https://mythemeshop.com/#signup</a>
38
+
39
+ If after checking our Free WordPress video tutorials here:<br>
40
+ <a href=“https://mythemeshop.com/wordpress-101/”>https://mythemeshop.com/wordpress-101/</a><br>
41
+ &<br>
42
+ <a href=“https://community.mythemeshop.com/tutorials/category/2-free-video-tutorials/“>https://community.mythemeshop.com/tutorials/category/2-free-video-tutorials/</a><br>
43
+ <br>
44
+ you are still stuck, please feel free to open a new thread, and a member of our support team will be happy to help.<br>
45
+
46
+ Support link:<br>
47
+ <a href=“https://community.mythemeshop.com/forum/11-free-plugin-support/”>https://community.mythemeshop.com/forum/11-free-plugin-support/</a><br>
48
+ <br>
49
 
50
  = Feedback =
51
  If you like this plugin, then please leave us a good rating and review.<br> Consider following us on <a rel="author" href="https://plus.google.com/+Mythemeshop/">Google+</a>, <a href="https://twitter.com/MyThemeShopTeam">Twitter</a>, and <a href="https://www.facebook.com/MyThemeShop">Facebook</a>
71
  2. Content Settings
72
  3. Style Settings
73
  4. Conditions Settings
 
74
 
75
  == Changelog ==
76
 
77
+ = 1.0.1 =
78
+ * Added ability to choose notification bar on single post and page
79
+ * Added "Blog Homepage" location if static front page is chosen in Settings->Reading
80
+ * Referrer saved in session
81
+ * Allowed html in "Text and Link/Button" content type
82
+
83
  = 1.0 =
84
  * Official plugin release.
wp-notification-bars.php CHANGED
@@ -5,7 +5,7 @@
5
  * Plugin Name: WP Notification Bars
6
  * Plugin URI: https://mythemeshop.com/plugins/wp-notification-bars/
7
  * Description: WP Notification Bars is a custom notification and alert bar plugin for WordPress which is perfect for marketing promotions, alerts, increasing click throughs to other pages and so much more.
8
- * Version: 1.0
9
  * Author: MyThemeShop
10
  * Author URI: https://mythemeshop.com/
11
  * Text Domain: wp-notification-bars
5
  * Plugin Name: WP Notification Bars
6
  * Plugin URI: https://mythemeshop.com/plugins/wp-notification-bars/
7
  * Description: WP Notification Bars is a custom notification and alert bar plugin for WordPress which is perfect for marketing promotions, alerts, increasing click throughs to other pages and so much more.
8
+ * Version: 1.0.1
9
  * Author: MyThemeShop
10
  * Author URI: https://mythemeshop.com/
11
  * Text Domain: wp-notification-bars