Hustle – Pop-Ups, Slide-ins and Email Opt-ins - Version 4.6.1.4

Version Description

  • Better: Improved handling of forms inside PopUps
  • Better: Ajax calls improved to prevent security errors by iThemes, etc.
Download this release

Release Info

Developer WPMUDEV
Plugin Icon 128x128 Hustle – Pop-Ups, Slide-ins and Email Opt-ins
Version 4.6.1.4
Comparing to
See all releases

Code changes from version 4.6.1.1 to 4.6.1.4

Files changed (51) hide show
  1. changelog.txt +23 -0
  2. css/popup-admin.css +1110 -3
  3. css/popup-admin.min.css +5 -0
  4. css/tpl/old-default/style.css +80 -1
  5. css/tpl/old-fixed/style.css +80 -1
  6. css/tpl/old-fullbackground/style.css +91 -1
  7. css/tpl/simple/style.css +296 -1
  8. css/tpl/simple/template.php +50 -3
  9. humans.txt +6 -1
  10. inc/addons/class-popup-addon-headerfooter.php +65 -69
  11. inc/class-popup-admin.php +59 -33
  12. inc/class-popup-base.php +94 -35
  13. inc/class-popup-database.php +41 -17
  14. inc/class-popup-item.php +15 -3
  15. inc/class-popup-public.php +47 -3
  16. inc/class-popup-rule.php +19 -6
  17. inc/external/wpmu-lib/changelog.txt +85 -62
  18. inc/external/wpmu-lib/core.php +63 -56
  19. inc/external/wpmu-lib/css/select2.css +682 -1
  20. inc/external/wpmu-lib/css/select2.min.css +5 -0
  21. inc/external/wpmu-lib/css/wpmu-ui.css +898 -1
  22. inc/external/wpmu-lib/css/wpmu-ui.min.css +5 -0
  23. inc/external/wpmu-lib/css/wpmu-vnav.css +152 -1
  24. inc/external/wpmu-lib/css/wpmu-vnav.min.css +5 -0
  25. inc/external/wpmu-lib/functions-wpmulib.php +852 -592
  26. inc/external/wpmu-lib/js/select2.js +3513 -0
  27. inc/external/wpmu-lib/js/select2.min.js +5 -2
  28. inc/external/wpmu-lib/js/tiny-scrollbar.js +103 -0
  29. inc/external/wpmu-lib/js/tiny-scrollbar.min.js +4 -1
  30. inc/external/wpmu-lib/js/wpmu-ui.js +2098 -0
  31. inc/external/wpmu-lib/js/wpmu-ui.min.js +4 -1
  32. inc/external/wpmu-lib/js/wpmu-vnav.js +141 -0
  33. inc/external/wpmu-lib/js/wpmu-vnav.min.js +4 -1
  34. inc/rules/class-popup-rule-popup.php +2 -2
  35. inc/rules/class-popup-rule-referrer.php +67 -7
  36. inc/rules/class-popup-rule-url.php +11 -6
  37. inc/rules/class-popup-rule-user.php +1 -1
  38. js/popup-admin.js +552 -0
  39. js/popup-admin.min.js +4 -1
  40. js/public.js +828 -0
  41. js/public.min.js +4 -1
  42. lang/popover-en_EN.mo +0 -0
  43. lang/popover-en_EN.po +1638 -524
  44. lang/popover-en_US.mo +0 -0
  45. lang/popover.po +0 -1941
  46. popover.php +1 -1
  47. readme.txt +20 -0
  48. views/info-shortcodes.php +14 -5
  49. views/meta-appearance.php +14 -1
  50. views/meta-content.php +1 -1
  51. views/settings.php +3 -2
changelog.txt CHANGED
@@ -4,6 +4,29 @@ Author: Barry (Incsub), Marko Miljus (Incsub), Philipp Stracker (Incsub)
4
  Change Log:
5
  ----------------------------------------------------------------------
6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  4.6.1.1
8
  ----------------------------------------------------------------------
9
  - New: Added Contextual Help to the PopUp editor to show supported shortcodes.
4
  Change Log:
5
  ----------------------------------------------------------------------
6
 
7
+ 4.6.1.4
8
+ ----------------------------------------------------------------------
9
+ - Better: Improved handling of forms inside PopUps
10
+ - Better: Ajax calls improved to prevent security errors by iThemes, etc.
11
+
12
+ 4.6.1.3
13
+ ----------------------------------------------------------------------
14
+ - New: Allow page to be scrolled while PopUp is open.
15
+ - Fix: Prevent PopUps from staying open after submitting a form to external URL.
16
+ - Fix: PopUps without content can be displayed now.
17
+
18
+ 4.6.1.2
19
+ ----------------------------------------------------------------------
20
+ - New: Two new WordPress filters allow custom positioning and styling of PopUps.
21
+ - Fix: Correctly display Meta-boxes of other plugins in the popup-editor.
22
+ - Fix: Plugins that use custom URL rewriting are working now (e.g. NextGen Gallery)
23
+ - Fix: PopUps can be edited even on servers with memcache/similar caching extensions.
24
+ - Fix: Resolve "Strict Standards" notes in PHP 5.4
25
+ - Fix: Rule "Not internal link" now works correctly when opening page directly.
26
+ - Fix: Rule "Specific Referrer" handles empty referrers correctly.
27
+ - Better: Forms inside PopUps will only refresh the PopUp and not reload the page.
28
+ - Better: Detection of theme compatibility for loading method "Page Footer" improved.
29
+
30
  4.6.1.1
31
  ----------------------------------------------------------------------
32
  - New: Added Contextual Help to the PopUp editor to show supported shortcodes.
css/popup-admin.css CHANGED
@@ -1,3 +1,1110 @@
1
- .post-type-inc_popup .status-icon{color:#CCC;width:30px;font-size:16px;line-height:20px;height:20px}.post-type-inc_popup .status-icon:before{content:"\f153"}.post-type-inc_popup .status-active .status-icon,.post-type-inc_popup .status-publish .status-icon{color:#090;font-size:30px}.post-type-inc_popup .status-active .status-icon:before,.post-type-inc_popup .status-publish .status-icon:before{content:"\f147"}.post-type-inc_popup .status-trash .status-icon:before{content:"\f182"}select.block,textarea.block,input.block{margin-left:0;margin-right:0;display:block;width:100%}textarea.block{height:7.2em}.wp-admin select{vertical-align:top;margin-top:0}.inp-small{width:75px}.inp-row{min-height:32px}.inp-row label.inp-height{margin:7px 0 0;display:inline-block}.inactive{opacity:.35;position:relative}.inactive:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:10000}.inactive-anim{transition:opacity .3s}fieldset{border:1px solid #DDD;padding:8px;margin:0 0 10px}fieldset:last-child{margin-bottom:0}div.msg-ok,div.msg-err{padding:0 0.6em;padding:1px 12px;background-color:#FAFAFA;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);clear:both;margin:15px 0 0}div.msg-ok{border-left:4px solid #7AD03A}div.msg-err{border-left:4px solid #DD3D36}.tbl-shortcodes{margin-top:20px;max-width:920px}.tbl-shortcodes .flag{width:15%;overflow:visible}.tbl-shortcodes .flag [data-tooltip]{text-align:center;cursor:default}.tbl-shortcodes .flag .wpmui-tip{text-align:center;min-width:135px}.tbl-shortcodes tbody .flag{text-align:center}.tbl-shortcodes tbody td{border-bottom:1px solid #F0F0F0}.tbl-shortcodes tbody tr:hover td{background:#FCFCFC}.tbl-shortcodes .shortcode .icon:before{content:"\f153";color:#CCC;font-size:14px;width:24px;display:inline-block}.tbl-shortcodes .shortcode.sc-admin .sc-admin .icon:before,.tbl-shortcodes .shortcode.sc-front .sc-front .icon:before{content:"\f147";color:#000;font-size:24px}.tbl-shortcodes .shortcode.sc-admin.sc-limited .sc-admin .icon:before,.tbl-shortcodes .shortcode.sc-front.sc-limited .load-front .icon:before{color:#D90}.tbl-shortcodes .legend{float:left;margin:10px 10px 10px 0}.tbl-shortcodes.load-footer .load-footer,.tbl-shortcodes.load-ajax .load-ajax,.tbl-shortcodes.load-front .load-front,.tbl-shortcodes.load-anonymous .load-anonymous{background:#f0f0f0}.tbl-addons tbody td,.tbl-addons tbody th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1)}.tbl-addons code{display:inline-block;margin:0 1px 1px 0;font-size:12px}.tbl-addons .column-name{width:35%}@media screen and (max-width: 900px){.tbl-addons .column-name{width:50%}}
2
- .locked td,.locked th{color:#AAA}.locked td .locked-msg,.locked th .locked-msg{color:#333}.locked td .locked-msg:before,.locked th .locked-msg:before{content:'- '}.locked td .locked-msg:after,.locked th .locked-msg:after{content:' -'}.post-type-inc_popup .view-switch{display:none}.post-type-inc_popup .tablenav .alignleft.actions #post-query-submit,.post-type-inc_popup .tablenav .alignleft.actions select[name="m"]{display:none}.post-type-inc_popup [for="po_name-hide"]{display:none}.post-type-inc_popup .wp-list-table tbody td,.post-type-inc_popup .wp-list-table tbody th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1);padding-top:15px;padding-bottom:15px}.post-type-inc_popup .wp-list-table .column-po_order{width:10px}.post-type-inc_popup .wp-list-table tbody tr:hover .column-po_order{cursor:move;cursor:ns-resize}.post-type-inc_popup .wp-list-table tbody tr:hover .column-po_order:before{content:"\f333";width:20px;height:20px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:normal;font-style:normal;vertical-align:top;text-align:center;transition:color 0.1s ease-in 0ms;-webkit-transition:color 0.1s ease-in 0ms;-webkit-font-smoothing:antialiased}.post-type-inc_popup .wp-list-table .column-po_name .the-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:bold}.post-type-inc_popup .wp-list-table .column-po_cond{width:55%}@media screen and (max-width: 600px){.post-type-inc_popup .wp-list-table .column-po_cond{width:40%}}.post-type-inc_popup .wp-list-table .column-po_pos{width:30px;text-align:center;white-space:nowrap}.post-type-inc_popup .wp-list-table .column-po_state{width:60px;text-align:center}.post-type-inc_popup .wp-list-table .rule,.post-type-inc_popup .wp-list-table .rule-always{color:#FFF;padding:1px 6px;border-radius:3px;margin:0 4px 1px 0;font-size:12px;float:left}.post-type-inc_popup .wp-list-table .rule{background:#999}.post-type-inc_popup .wp-list-table .rule-always{background:#CCC}.post-type-inc_popup .wp-list-table #the-list tr:nth-child(odd){background-color:#FFF !important}.post-type-inc_popup .wp-list-table #the-list tr:nth-child(even){background-color:#F9F9F9 !important}.post-type-inc_popup .wp-list-table tr.ui-sortable-helper{box-shadow:0 1px 5px rgba(0,0,0,0.2)}.post-type-inc_popup .wp-list-table .ui-sortable-placeholder{position:relative}.post-type-inc_popup .wp-list-table .ui-sortable-placeholder .column-po_order:before{content:'X';display:block;position:absolute;background:red;width:20px;height:20px}.post-type-inc_popup .wp-list-table .ui-sortable-placeholder td{background:#DDD;height:70px;padding:0}.sticky-submit #submitdiv.closed,.sticky-submit #submitdiv{position:fixed;right:0;z-index:10;top:0;left:160px;box-shadow:0 5px 7px -3px rgba(0,0,0,0.2);background:#F5F5F5}.sticky-submit #submitdiv.closed .inside,.sticky-submit #submitdiv .inside{display:block}.sticky-submit #submitdiv.closed .hndle,.sticky-submit #submitdiv.closed .handlediv,.sticky-submit #submitdiv .hndle,.sticky-submit #submitdiv .handlediv{display:none}.sticky-submit #submitdiv.closed #misc-publishing-actions,.sticky-submit #submitdiv #misc-publishing-actions{display:none}.sticky-submit #submitdiv.closed .sticky-actions,.sticky-submit #submitdiv .sticky-actions{padding:10px}.sticky-submit #submitdiv.closed .delete-action,.sticky-submit #submitdiv .delete-action{float:left}.sticky-submit #submitdiv.closed .duplicate-action,.sticky-submit #submitdiv.closed .save-action,.sticky-submit #submitdiv.closed .preview-action,.sticky-submit #submitdiv.closed .publishing-action,.sticky-submit #submitdiv .duplicate-action,.sticky-submit #submitdiv .save-action,.sticky-submit #submitdiv .preview-action,.sticky-submit #submitdiv .publishing-action{float:right;margin-right:10px}.sticky-submit #submitdiv.closed .do-duplicate,.sticky-submit #submitdiv .do-duplicate{margin:0}.sticky-submit.folded #submitdiv{left:36px}@media only screen and (max-width: 900px){.sticky-submit.auto-fold #submitdiv{left:36px}}.sticky-submit #post-body{margin-top:75px}@media screen and (max-width: 782px){.sticky-submit #submitdiv{left:0 !important;top:46px !important}}@media screen and (max-width: 600px){.sticky-submit #submitdiv{left:0 !important;top:0 !important}}
3
- .wp-toolbar .sticky-submit #submitdiv{top:32px}.wp-toolbar .sticky-submit #post-body{margin-top:105px}#submitdiv #minor-publishing-actions{text-align:left;padding:20px 10px}#submitdiv #major-publishing-actions{z-index:10;position:relative}#submitdiv .handlediv,#submitdiv .hndle{display:none}#submitdiv .preview{float:none}#submitdiv .status{float:right;position:relative;width:100px;top:-6px}#submitdiv .status>label{float:left;line-height:26px;margin-right:10px}#submitdiv .status-hint-box{float:right}#submitdiv .status-switch{width:40px;margin:0;padding:0;float:left}#submitdiv .status-switch input{position:absolute;left:-3000px;top:-3000px;display:none}#submitdiv .status-switch .label-active,#submitdiv .status-switch .label-inactive{position:absolute;top:18px;right:0;left:0;text-align:left;z-index:0;transition:all .3s}#submitdiv .status-switch .status-box{background:#AAA;border-radius:20px;height:16px;padding:0;cursor:pointer;display:block}#submitdiv .status-switch .status-box .label-active{display:none}#submitdiv .status-switch .status-box .label-inactive{display:block}#submitdiv .status-switch .status-box .indicator{width:10px;height:10px;position:absolute;left:3px;top:3px;background:#FFF;border-radius:20px;transition:right .2s, left .2s}#submitdiv .status-switch input:checked+.status-box{background:#3A3}#submitdiv .status-switch input:checked+.status-box .indicator{left:26px}#submitdiv .status-switch input:checked+.status-box .label-active{display:block}#submitdiv .status-switch input:checked+.status-box .label-inactive{display:none}#submitdiv .preview-action .spinner,#submitdiv .publishing-action .spinner,#submitdiv .save-action .spinner{float:left}#submitdiv .submitdelete.disabled{color:#AAA !important;cursor:default}#submitdiv .delete-action{line-height:28px;vertical-align:middle;text-align:left;float:left}#submitdiv .publishing-action{text-align:right;float:right;line-height:23px}#submitdiv .do-duplicate{margin:0 10px 0 0;line-height:28px;display:inline-block}.post-type-inc_popup #post #post-body-content{height:75px}.post-type-inc_popup #post .columns-2 #postbox-container-1{padding-top:75px}.post-type-inc_popup #post #normal-sortables{min-height:0}.post-type-inc_popup #post #titlediv label{font-weight:bold;margin:5px 0;display:block}.post-type-inc_popup #post #titlediv #po_name{width:100%;max-width:800px}.post-type-inc_popup #post .postbox-container #meta-appearance{float:left;width:49%}@media screen and (max-width: 900px){.post-type-inc_popup #post .postbox-container #meta-appearance{width:100%;float:none}}.post-type-inc_popup #post .postbox-container #meta-behavior{float:right;width:49%}@media screen and (max-width: 900px){.post-type-inc_popup #post .postbox-container #meta-behavior{width:100%;float:none}}.post-type-inc_popup #post .postbox-container #meta-content,.post-type-inc_popup #post .postbox-container #meta-rules{clear:both}.post-type-inc_popup #post .content-main{margin-right:270px;min-height:400px}.post-type-inc_popup #post .content-image{position:absolute;width:250px;top:0;right:12px}.post-type-inc_popup #post .content-image .featured-img{width:224px;height:224px;margin:10px 0;background:#F8F8F8;position:relative}.post-type-inc_popup #post .content-image .featured-img .lbl-empty{display:block;height:224px;padding-top:100px;text-align:center}.post-type-inc_popup #post .content-image .featured-img.has-image:hover .reset{display:block}.post-type-inc_popup #post .content-image img{max-width:100%;max-height:100%;margin:0 auto;display:block}.post-type-inc_popup #post .content-image .reset,.post-type-inc_popup #post .content-image .reset .dashicons{font-size:13px;text-decoration:none}.post-type-inc_popup #post .content-image .reset .dashicons{display:inline}.post-type-inc_popup #post .content-image .reset{position:absolute;display:none;z-index:10;margin-top:-36px;background:rgba(255,255,255,0.85);padding:5px;height:26px;left:0;right:0;bottom:0;color:#666}.post-type-inc_popup #post .content-image .reset:hover{color:#000}.post-type-inc_popup #post .img-pos{text-align:center;margin:10px 0}.post-type-inc_popup #post .img-pos .option{display:inline-block;background:#F1F1F1;padding:12px 10px;text-align:left;margin:2px;cursor:pointer;position:relative;overflow:hidden}.post-type-inc_popup #post .img-pos .option:hover{background:#DDD}.post-type-inc_popup #post .img-pos .option .image{color:#000;padding:4px;display:inline-block;border:1px solid #666;margin:-5px;background:#FFF}.post-type-inc_popup #post .img-pos .option .image.left{margin-right:0}.post-type-inc_popup #post .img-pos .option .image.right{margin-left:0}.post-type-inc_popup #post .img-pos .option.selected{background:#0074A2;color:#FFF}.post-type-inc_popup #post .img-pos .option input{position:absolute;left:-30px;top:-30px}.post-type-inc_popup #post .add_image{padding-left:5px}.post-type-inc_popup #post .add_image .add-image-icon:before{color:#888}.post-type-inc_popup #post h3.main-content{padding-bottom:10px}.post-type-inc_popup #post .wpmui-toggle{width:40px}.post-type-inc_popup #post .wpmui-toggle-label{border:0;height:16px;background:#CCC}.post-type-inc_popup #post .wpmui-toggle-inner{display:none}.post-type-inc_popup #post .wpmui-toggle-switch{margin:3px;width:10px;height:10px;right:24px;border:0;box-shadow:none;transition:right .2s}.post-type-inc_popup #post .wpmui-toggle-checkbox:checked+.wpmui-toggle-label{background:#3A3}.post-type-inc_popup #post .wpmui-toggle-checkbox:checked+.wpmui-toggle-label .wpmui-toggle-switch{right:0}.post-type-inc_popup #post .all-rules-box,.post-type-inc_popup #post .active-rules-box{border:1px solid #E5E5E5;height:400px;padding:10px;overflow:scroll;overflow-x:hidden;overflow-y:scroll;background:#FDFDFD;box-shadow:0 1px 2px #F0F0F0 inset}.post-type-inc_popup #post .all-rules,.post-type-inc_popup #post .active-rules{list-style:none;margin:0;padding:0}.post-type-inc_popup #post .all-rules>li,.post-type-inc_popup #post .active-rules>li{padding:5px;margin:0 0 5px;line-height:20px;min-height:30px;border-radius:2px;border:1px solid #E5E5E5;background:#FEFEFE;cursor:default;position:relative}.post-type-inc_popup #post .all-rules>li:last-child,.post-type-inc_popup #post .active-rules>li:last-child{margin:0}.post-type-inc_popup #post .all-rules>li:hover,.post-type-inc_popup #post .active-rules>li:hover{border-color:#AAA;color:#000;background:#FFF;box-shadow:0 1px 3px #E9E9E9}.post-type-inc_popup #post .all-rules .wpmui-toggle,.post-type-inc_popup #post .active-rules .wpmui-toggle{margin:2px 6px}.post-type-inc_popup #post .all-rules .rule{cursor:pointer}.post-type-inc_popup #post .all-rules .rule.inactive{cursor:default}.post-type-inc_popup #post .all-rules .rule.on{background:#F7FCFE;border-color:#2EA2CC}.post-type-inc_popup #post .active-rules .rule.off{display:none !important}.post-type-inc_popup #post .active-rules .rule-title{background:#E5E5E5;padding:5px;margin:-5px;cursor:pointer}.post-type-inc_popup #post .active-rules .rule-toggle{position:absolute;right:0;top:0;width:30px;height:30px;cursor:pointer;border-left:1px solid #DCDCDC}.post-type-inc_popup #post .active-rules .rule-toggle:before{content:'\f140';line-height:30px;color:#333}.post-type-inc_popup #post .active-rules .rule.open .rule-toggle:before{content:'\f142'}.post-type-inc_popup #post .active-rules .rule-inner{display:none;margin-top:10px;padding:3px}.post-type-inc_popup #post .active-rules .rule-form{margin-top:5px;padding-top:5px}.post-type-inc_popup #post .active-rules .rule.open .rule-inner{display:block}.post-type-inc_popup #post .col-colorpicker{width:41.66%;min-width:260px;margin-bottom:10px}.post-type-inc_popup #post .wp-picker-container{width:260px}.post-type-inc_popup #post .wp-picker-container *{box-sizing:content-box}.post-type-inc_popup #post .wp-picker-container .wp-picker-holder{position:absolute;z-index:10}.post-type-inc_popup #post .wp-picker-container .iris-picker{box-shadow:0 1px 5px rgba(0,0,0,0.2)}.post-type-inc_popup #post hr{margin:16px -12px 6px;border-top:0;border-bottom:1px solid #EEE}.post-type-inc_popup #post .col-all-rules{width:320px}.post-type-inc_popup #post .col-active-rules{float:none;display:block}.post-type-inc_popup #post .wpmui-toggle{float:right;margin:6px}.post-type-inc_popup #post .slider-wrap .slider{margin:15px 10px 5px}.post-type-inc_popup #post .slider-wrap .slider-data{padding-bottom:10px;border-bottom:1px solid #EEE}#poststuff .postbox label h3{border:0;padding:0;cursor:default}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaaaaa;background:#ffffff;color:#222222}.ui-widget-content a{color:#222222}.ui-widget-header{border:1px solid #aaaaaa;background:#cccccc;color:#222222;font-weight:bold}.ui-widget-header a{color:#222222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6;font-weight:normal;color:#555555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999999;background:#dadada;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaaaaa;background:#ffffff;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.pro-only{position:relative;margin:3px 0;clear:both}.pro-only:after{content:' ';display:table;clear:both}.pro-only .pro-note{opacity:0;position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;text-align:center;background:rgba(0,0,0,0.6);color:#FFF;font-family:"Source Sans Pro", "Open Sans", sans-serif;font-weight:100;font-size:20px;z-index:9999;transition:opacity .2s}.pro-only .pro-note a{color:#7ed321}.pro-only:hover .pro-note{opacity:1}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*====================================*\
2
+ ========================================
3
+ == ==
4
+ == GENERAL STYLES ==
5
+ == ==
6
+ ========================================
7
+ \*====================================*/
8
+ .post-type-inc_popup .status-icon {
9
+ color: #CCC;
10
+ width: 30px;
11
+ font-size: 16px;
12
+ line-height: 20px;
13
+ height: 20px;
14
+ }
15
+ .post-type-inc_popup .status-icon:before {
16
+ content: "\f153";
17
+ }
18
+ .post-type-inc_popup .status-active .status-icon,
19
+ .post-type-inc_popup .status-publish .status-icon {
20
+ color: #090;
21
+ font-size: 30px;
22
+ }
23
+ .post-type-inc_popup .status-active .status-icon:before,
24
+ .post-type-inc_popup .status-publish .status-icon:before {
25
+ content: "\f147";
26
+ }
27
+ .post-type-inc_popup .status-trash .status-icon:before {
28
+ content: "\f182";
29
+ }
30
+
31
+ select.block,
32
+ textarea.block,
33
+ input.block {
34
+ margin-left: 0;
35
+ margin-right: 0;
36
+ display: block;
37
+ width: 100%;
38
+ }
39
+
40
+ textarea.block {
41
+ height: 7.2em;
42
+ }
43
+
44
+ .wp-admin select {
45
+ vertical-align: top;
46
+ margin-top: 0;
47
+ }
48
+
49
+ .inp-small {
50
+ width: 75px;
51
+ }
52
+
53
+ .inp-row {
54
+ min-height: 32px;
55
+ }
56
+ .inp-row label.inp-height {
57
+ margin: 7px 0 0;
58
+ display: inline-block;
59
+ }
60
+
61
+ .inactive {
62
+ opacity: .35;
63
+ position: relative;
64
+ }
65
+ .inactive:before {
66
+ content: '';
67
+ position: absolute;
68
+ top: 0;
69
+ left: 0;
70
+ right: 0;
71
+ bottom: 0;
72
+ z-index: 10000;
73
+ }
74
+
75
+ .inactive-anim {
76
+ transition: opacity .3s;
77
+ }
78
+
79
+ fieldset {
80
+ border: 1px solid #DDD;
81
+ padding: 8px;
82
+ margin: 0 0 10px;
83
+ }
84
+ fieldset:last-child {
85
+ margin-bottom: 0;
86
+ }
87
+
88
+ div.msg-ok,
89
+ div.msg-err {
90
+ padding: 0 0.6em;
91
+ padding: 1px 12px;
92
+ background-color: #FAFAFA;
93
+ -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
94
+ box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
95
+ clear: both;
96
+ margin: 15px 0 0;
97
+ }
98
+
99
+ div.msg-ok {
100
+ border-left: 4px solid #7AD03A;
101
+ }
102
+
103
+ div.msg-err {
104
+ border-left: 4px solid #DD3D36;
105
+ }
106
+
107
+ /*==============================*\
108
+ ==================================
109
+ == ==
110
+ == SETTINGS ==
111
+ == ==
112
+ ==================================
113
+ \*==============================*/
114
+ .tbl-shortcodes {
115
+ margin-top: 20px;
116
+ max-width: 920px;
117
+ }
118
+ .tbl-shortcodes .flag {
119
+ width: 15%;
120
+ overflow: visible;
121
+ }
122
+ .tbl-shortcodes .flag [data-tooltip] {
123
+ text-align: center;
124
+ cursor: default;
125
+ }
126
+ .tbl-shortcodes .flag .wpmui-tip {
127
+ text-align: center;
128
+ min-width: 135px;
129
+ }
130
+ .tbl-shortcodes tbody .flag {
131
+ text-align: center;
132
+ }
133
+ .tbl-shortcodes tbody td {
134
+ border-bottom: 1px solid #F0F0F0;
135
+ }
136
+ .tbl-shortcodes tbody tr:hover td {
137
+ background: #FCFCFC;
138
+ }
139
+ .tbl-shortcodes .shortcode .icon:before {
140
+ content: "\f153";
141
+ color: #CCC;
142
+ font-size: 14px;
143
+ width: 24px;
144
+ display: inline-block;
145
+ }
146
+ .tbl-shortcodes .shortcode.sc-admin .sc-admin .icon:before, .tbl-shortcodes .shortcode.sc-front .sc-front .icon:before {
147
+ content: "\f147";
148
+ color: #000;
149
+ font-size: 24px;
150
+ }
151
+ .tbl-shortcodes .shortcode.sc-admin.sc-limited .sc-admin .icon:before, .tbl-shortcodes .shortcode.sc-front.sc-limited .load-front .icon:before {
152
+ color: #D90;
153
+ }
154
+ .tbl-shortcodes .legend {
155
+ float: left;
156
+ margin: 10px 10px 10px 0;
157
+ }
158
+ .tbl-shortcodes.load-footer .load-footer, .tbl-shortcodes.load-ajax .load-ajax, .tbl-shortcodes.load-front .load-front, .tbl-shortcodes.load-anonymous .load-anonymous {
159
+ background: #f0f0f0;
160
+ }
161
+
162
+ .tbl-addons tbody td,
163
+ .tbl-addons tbody th {
164
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
165
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
166
+ }
167
+ .tbl-addons code {
168
+ display: inline-block;
169
+ margin: 0 1px 1px 0;
170
+ font-size: 12px;
171
+ }
172
+ .tbl-addons .column-name {
173
+ width: 35%;
174
+ }
175
+ @media screen and (max-width: 900px) {
176
+ .tbl-addons .column-name {
177
+ width: 50%;
178
+ }
179
+ }
180
+
181
+ .locked td,
182
+ .locked th {
183
+ color: #AAA;
184
+ }
185
+ .locked td .locked-msg,
186
+ .locked th .locked-msg {
187
+ color: #333;
188
+ }
189
+ .locked td .locked-msg:before,
190
+ .locked th .locked-msg:before {
191
+ content: '- ';
192
+ }
193
+ .locked td .locked-msg:after,
194
+ .locked th .locked-msg:after {
195
+ content: ' -';
196
+ }
197
+
198
+ /*================================*\
199
+ ====================================
200
+ == ==
201
+ == POPUP LIST ==
202
+ == ==
203
+ ====================================
204
+ \*================================*/
205
+ .post-type-inc_popup {
206
+ /* Hide the date-filter which is always included by WordPress */
207
+ }
208
+ .post-type-inc_popup .view-switch {
209
+ display: none;
210
+ }
211
+ .post-type-inc_popup .tablenav .alignleft.actions #post-query-submit,
212
+ .post-type-inc_popup .tablenav .alignleft.actions select[name="m"] {
213
+ display: none;
214
+ }
215
+ .post-type-inc_popup [for="po_name-hide"] {
216
+ display: none;
217
+ }
218
+ .post-type-inc_popup .wp-list-table tbody td,
219
+ .post-type-inc_popup .wp-list-table tbody th {
220
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
221
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1);
222
+ padding-top: 15px;
223
+ padding-bottom: 15px;
224
+ }
225
+ .post-type-inc_popup .wp-list-table .column-po_order {
226
+ width: 10px;
227
+ }
228
+ .post-type-inc_popup .wp-list-table tbody tr:hover .column-po_order {
229
+ cursor: move;
230
+ cursor: ns-resize;
231
+ }
232
+ .post-type-inc_popup .wp-list-table tbody tr:hover .column-po_order:before {
233
+ content: "\f333";
234
+ width: 20px;
235
+ height: 20px;
236
+ font-size: 20px;
237
+ line-height: 1;
238
+ font-family: dashicons;
239
+ text-decoration: inherit;
240
+ font-weight: normal;
241
+ font-style: normal;
242
+ vertical-align: top;
243
+ text-align: center;
244
+ transition: color 0.1s ease-in 0ms;
245
+ -webkit-transition: color 0.1s ease-in 0ms;
246
+ -webkit-font-smoothing: antialiased;
247
+ }
248
+ .post-type-inc_popup .wp-list-table .column-po_name .the-title {
249
+ display: block;
250
+ white-space: nowrap;
251
+ overflow: hidden;
252
+ text-overflow: ellipsis;
253
+ font-weight: bold;
254
+ }
255
+ .post-type-inc_popup .wp-list-table .column-po_cond {
256
+ width: 55%;
257
+ }
258
+ @media screen and (max-width: 600px) {
259
+ .post-type-inc_popup .wp-list-table .column-po_cond {
260
+ width: 40%;
261
+ }
262
+ }
263
+ .post-type-inc_popup .wp-list-table .column-po_pos {
264
+ width: 30px;
265
+ text-align: center;
266
+ white-space: nowrap;
267
+ }
268
+ .post-type-inc_popup .wp-list-table .column-po_state {
269
+ width: 60px;
270
+ text-align: center;
271
+ }
272
+ .post-type-inc_popup .wp-list-table .rule,
273
+ .post-type-inc_popup .wp-list-table .rule-always {
274
+ color: #FFF;
275
+ padding: 1px 6px;
276
+ border-radius: 3px;
277
+ margin: 0 4px 1px 0;
278
+ font-size: 12px;
279
+ float: left;
280
+ }
281
+ .post-type-inc_popup .wp-list-table .rule {
282
+ background: #999;
283
+ }
284
+ .post-type-inc_popup .wp-list-table .rule-always {
285
+ background: #CCC;
286
+ }
287
+ .post-type-inc_popup .wp-list-table #the-list tr:nth-child(odd) {
288
+ background-color: #FFF !important;
289
+ }
290
+ .post-type-inc_popup .wp-list-table #the-list tr:nth-child(even) {
291
+ background-color: #F9F9F9 !important;
292
+ }
293
+ .post-type-inc_popup .wp-list-table tr.ui-sortable-helper {
294
+ box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
295
+ }
296
+ .post-type-inc_popup .wp-list-table .ui-sortable-placeholder {
297
+ position: relative;
298
+ }
299
+ .post-type-inc_popup .wp-list-table .ui-sortable-placeholder .column-po_order:before {
300
+ content: 'X';
301
+ display: block;
302
+ position: absolute;
303
+ background: red;
304
+ width: 20px;
305
+ height: 20px;
306
+ }
307
+ .post-type-inc_popup .wp-list-table .ui-sortable-placeholder td {
308
+ background: #DDD;
309
+ height: 70px;
310
+ padding: 0;
311
+ }
312
+
313
+ /*============================*\
314
+ ================================
315
+ == ==
316
+ == EDITOR ==
317
+ == ==
318
+ ================================
319
+ \*============================*/
320
+ .sticky-submit #submitdiv.closed,
321
+ .sticky-submit #submitdiv {
322
+ position: fixed;
323
+ right: 0;
324
+ z-index: 10;
325
+ top: 0;
326
+ left: 160px;
327
+ box-shadow: 0 5px 7px -3px rgba(0, 0, 0, 0.2);
328
+ background: #F5F5F5;
329
+ }
330
+ .sticky-submit #submitdiv.closed .inside,
331
+ .sticky-submit #submitdiv .inside {
332
+ display: block;
333
+ }
334
+ .sticky-submit #submitdiv.closed .hndle,
335
+ .sticky-submit #submitdiv.closed .handlediv,
336
+ .sticky-submit #submitdiv .hndle,
337
+ .sticky-submit #submitdiv .handlediv {
338
+ display: none;
339
+ }
340
+ .sticky-submit #submitdiv.closed #misc-publishing-actions,
341
+ .sticky-submit #submitdiv #misc-publishing-actions {
342
+ display: none;
343
+ }
344
+ .sticky-submit #submitdiv.closed .sticky-actions,
345
+ .sticky-submit #submitdiv .sticky-actions {
346
+ padding: 10px;
347
+ }
348
+ .sticky-submit #submitdiv.closed .delete-action,
349
+ .sticky-submit #submitdiv .delete-action {
350
+ float: left;
351
+ }
352
+ .sticky-submit #submitdiv.closed .duplicate-action,
353
+ .sticky-submit #submitdiv.closed .save-action,
354
+ .sticky-submit #submitdiv.closed .preview-action,
355
+ .sticky-submit #submitdiv.closed .publishing-action,
356
+ .sticky-submit #submitdiv .duplicate-action,
357
+ .sticky-submit #submitdiv .save-action,
358
+ .sticky-submit #submitdiv .preview-action,
359
+ .sticky-submit #submitdiv .publishing-action {
360
+ float: right;
361
+ margin-right: 10px;
362
+ }
363
+ .sticky-submit #submitdiv.closed .do-duplicate,
364
+ .sticky-submit #submitdiv .do-duplicate {
365
+ margin: 0;
366
+ }
367
+ .sticky-submit.folded #submitdiv {
368
+ left: 36px;
369
+ }
370
+ @media only screen and (max-width: 900px) {
371
+ .sticky-submit.auto-fold #submitdiv {
372
+ left: 36px;
373
+ }
374
+ }
375
+ .sticky-submit #post-body {
376
+ margin-top: 75px;
377
+ }
378
+ @media screen and (max-width: 782px) {
379
+ .sticky-submit #submitdiv {
380
+ left: 0 !important;
381
+ top: 46px !important;
382
+ }
383
+ }
384
+ @media screen and (max-width: 600px) {
385
+ .sticky-submit #submitdiv {
386
+ left: 0 !important;
387
+ top: 0 !important;
388
+ }
389
+ }
390
+
391
+ .wp-toolbar .sticky-submit #submitdiv {
392
+ top: 32px;
393
+ }
394
+ .wp-toolbar .sticky-submit #post-body {
395
+ margin-top: 105px;
396
+ }
397
+
398
+ #submitdiv #minor-publishing-actions {
399
+ text-align: left;
400
+ padding: 20px 10px;
401
+ }
402
+ #submitdiv #major-publishing-actions {
403
+ z-index: 10;
404
+ position: relative;
405
+ }
406
+ #submitdiv .handlediv,
407
+ #submitdiv .hndle {
408
+ display: none;
409
+ }
410
+ #submitdiv .preview {
411
+ float: none;
412
+ }
413
+ #submitdiv .status {
414
+ float: right;
415
+ position: relative;
416
+ width: 100px;
417
+ top: -6px;
418
+ }
419
+ #submitdiv .status > label {
420
+ float: left;
421
+ line-height: 26px;
422
+ margin-right: 10px;
423
+ }
424
+ #submitdiv .status-hint-box {
425
+ float: right;
426
+ }
427
+ #submitdiv .status-switch {
428
+ width: 40px;
429
+ margin: 0;
430
+ padding: 0;
431
+ float: left;
432
+ }
433
+ #submitdiv .status-switch input {
434
+ position: absolute;
435
+ left: -3000px;
436
+ top: -3000px;
437
+ display: none;
438
+ }
439
+ #submitdiv .status-switch .label-active,
440
+ #submitdiv .status-switch .label-inactive {
441
+ position: absolute;
442
+ top: 18px;
443
+ right: 0;
444
+ left: 0;
445
+ text-align: left;
446
+ z-index: 0;
447
+ transition: all .3s;
448
+ }
449
+ #submitdiv .status-switch .status-box {
450
+ background: #AAA;
451
+ border-radius: 20px;
452
+ height: 16px;
453
+ padding: 0;
454
+ cursor: pointer;
455
+ display: block;
456
+ }
457
+ #submitdiv .status-switch .status-box .label-active {
458
+ display: none;
459
+ }
460
+ #submitdiv .status-switch .status-box .label-inactive {
461
+ display: block;
462
+ }
463
+ #submitdiv .status-switch .status-box .indicator {
464
+ width: 10px;
465
+ height: 10px;
466
+ position: absolute;
467
+ left: 3px;
468
+ top: 3px;
469
+ background: #FFF;
470
+ border-radius: 20px;
471
+ transition: right .2s, left .2s;
472
+ }
473
+ #submitdiv .status-switch input:checked + .status-box {
474
+ background: #3A3;
475
+ }
476
+ #submitdiv .status-switch input:checked + .status-box .indicator {
477
+ left: 26px;
478
+ }
479
+ #submitdiv .status-switch input:checked + .status-box .label-active {
480
+ display: block;
481
+ }
482
+ #submitdiv .status-switch input:checked + .status-box .label-inactive {
483
+ display: none;
484
+ }
485
+ #submitdiv .preview-action .spinner,
486
+ #submitdiv .publishing-action .spinner,
487
+ #submitdiv .save-action .spinner {
488
+ float: left;
489
+ }
490
+ #submitdiv .submitdelete.disabled {
491
+ color: #AAA !important;
492
+ cursor: default;
493
+ }
494
+ #submitdiv .delete-action {
495
+ line-height: 28px;
496
+ vertical-align: middle;
497
+ text-align: left;
498
+ float: left;
499
+ }
500
+ #submitdiv .publishing-action {
501
+ text-align: right;
502
+ float: right;
503
+ line-height: 23px;
504
+ }
505
+ #submitdiv .do-duplicate {
506
+ margin: 0 10px 0 0;
507
+ line-height: 28px;
508
+ display: inline-block;
509
+ }
510
+
511
+ .post-type-inc_popup #post #post-body-content {
512
+ height: 75px;
513
+ }
514
+ .post-type-inc_popup #post .columns-2 #postbox-container-1 {
515
+ padding-top: 75px;
516
+ }
517
+ .post-type-inc_popup #post #normal-sortables {
518
+ min-height: 0;
519
+ }
520
+ .post-type-inc_popup #post #titlediv label {
521
+ font-weight: bold;
522
+ margin: 5px 0;
523
+ display: block;
524
+ }
525
+ .post-type-inc_popup #post #titlediv #po_name {
526
+ width: 100%;
527
+ max-width: 800px;
528
+ }
529
+ .post-type-inc_popup #post .postbox-container .postbox {
530
+ clear: both;
531
+ }
532
+ .post-type-inc_popup #post .postbox-container #meta-appearance {
533
+ float: left;
534
+ width: 49%;
535
+ }
536
+ @media screen and (max-width: 900px) {
537
+ .post-type-inc_popup #post .postbox-container #meta-appearance {
538
+ width: 100%;
539
+ float: none;
540
+ }
541
+ }
542
+ .post-type-inc_popup #post .postbox-container #meta-behavior {
543
+ float: right;
544
+ width: 49%;
545
+ clear: none;
546
+ }
547
+ @media screen and (max-width: 900px) {
548
+ .post-type-inc_popup #post .postbox-container #meta-behavior {
549
+ width: 100%;
550
+ float: none;
551
+ }
552
+ }
553
+ .post-type-inc_popup #post .postbox-container #meta-content,
554
+ .post-type-inc_popup #post .postbox-container #meta-rules {
555
+ clear: both;
556
+ }
557
+ .post-type-inc_popup #post .content-main {
558
+ margin-right: 270px;
559
+ min-height: 400px;
560
+ }
561
+ .post-type-inc_popup #post .content-image {
562
+ position: absolute;
563
+ width: 250px;
564
+ top: 0;
565
+ right: 12px;
566
+ }
567
+ .post-type-inc_popup #post .content-image .featured-img {
568
+ width: 224px;
569
+ height: 224px;
570
+ margin: 10px 0;
571
+ background: #F8F8F8;
572
+ position: relative;
573
+ }
574
+ .post-type-inc_popup #post .content-image .featured-img .lbl-empty {
575
+ display: block;
576
+ height: 224px;
577
+ padding-top: 100px;
578
+ text-align: center;
579
+ }
580
+ .post-type-inc_popup #post .content-image .featured-img.has-image:hover .reset {
581
+ display: block;
582
+ }
583
+ .post-type-inc_popup #post .content-image img {
584
+ max-width: 100%;
585
+ max-height: 100%;
586
+ margin: 0 auto;
587
+ display: block;
588
+ }
589
+ .post-type-inc_popup #post .content-image .reset,
590
+ .post-type-inc_popup #post .content-image .reset .dashicons {
591
+ font-size: 13px;
592
+ text-decoration: none;
593
+ }
594
+ .post-type-inc_popup #post .content-image .reset .dashicons {
595
+ display: inline;
596
+ }
597
+ .post-type-inc_popup #post .content-image .reset {
598
+ position: absolute;
599
+ display: none;
600
+ z-index: 10;
601
+ margin-top: -36px;
602
+ background: rgba(255, 255, 255, 0.85);
603
+ padding: 5px;
604
+ height: 26px;
605
+ left: 0;
606
+ right: 0;
607
+ bottom: 0;
608
+ color: #666;
609
+ }
610
+ .post-type-inc_popup #post .content-image .reset:hover {
611
+ color: #000;
612
+ }
613
+ .post-type-inc_popup #post .img-pos {
614
+ text-align: center;
615
+ margin: 10px 0;
616
+ }
617
+ .post-type-inc_popup #post .img-pos .option {
618
+ display: inline-block;
619
+ background: #F1F1F1;
620
+ padding: 12px 10px;
621
+ text-align: left;
622
+ margin: 2px;
623
+ cursor: pointer;
624
+ position: relative;
625
+ overflow: hidden;
626
+ }
627
+ .post-type-inc_popup #post .img-pos .option:hover {
628
+ background: #DDD;
629
+ }
630
+ .post-type-inc_popup #post .img-pos .option .image {
631
+ color: #000;
632
+ padding: 4px;
633
+ display: inline-block;
634
+ border: 1px solid #666;
635
+ margin: -5px;
636
+ background: #FFF;
637
+ }
638
+ .post-type-inc_popup #post .img-pos .option .image.left {
639
+ margin-right: 0;
640
+ }
641
+ .post-type-inc_popup #post .img-pos .option .image.right {
642
+ margin-left: 0;
643
+ }
644
+ .post-type-inc_popup #post .img-pos .option.selected {
645
+ background: #0074A2;
646
+ color: #FFF;
647
+ }
648
+ .post-type-inc_popup #post .img-pos .option input {
649
+ position: absolute;
650
+ left: -30px;
651
+ top: -30px;
652
+ }
653
+ .post-type-inc_popup #post .add_image {
654
+ padding-left: 5px;
655
+ }
656
+ .post-type-inc_popup #post .add_image .add-image-icon:before {
657
+ color: #888;
658
+ }
659
+ .post-type-inc_popup #post h3.main-content {
660
+ padding-bottom: 10px;
661
+ }
662
+ .post-type-inc_popup #post .wpmui-toggle {
663
+ width: 40px;
664
+ }
665
+ .post-type-inc_popup #post .wpmui-toggle-label {
666
+ border: 0;
667
+ height: 16px;
668
+ background: #CCC;
669
+ }
670
+ .post-type-inc_popup #post .wpmui-toggle-inner {
671
+ display: none;
672
+ }
673
+ .post-type-inc_popup #post .wpmui-toggle-switch {
674
+ margin: 3px;
675
+ width: 10px;
676
+ height: 10px;
677
+ right: 24px;
678
+ border: 0;
679
+ box-shadow: none;
680
+ transition: right .2s;
681
+ }
682
+ .post-type-inc_popup #post .wpmui-toggle-checkbox:checked + .wpmui-toggle-label {
683
+ background: #3A3;
684
+ }
685
+ .post-type-inc_popup #post .wpmui-toggle-checkbox:checked + .wpmui-toggle-label .wpmui-toggle-switch {
686
+ right: 0;
687
+ }
688
+ .post-type-inc_popup #post .all-rules-box,
689
+ .post-type-inc_popup #post .active-rules-box {
690
+ border: 1px solid #E5E5E5;
691
+ height: 400px;
692
+ padding: 10px;
693
+ overflow: scroll;
694
+ overflow-x: hidden;
695
+ overflow-y: scroll;
696
+ background: #FDFDFD;
697
+ box-shadow: 0 1px 2px #F0F0F0 inset;
698
+ }
699
+ .post-type-inc_popup #post .all-rules,
700
+ .post-type-inc_popup #post .active-rules {
701
+ list-style: none;
702
+ margin: 0;
703
+ padding: 0;
704
+ }
705
+ .post-type-inc_popup #post .all-rules > li,
706
+ .post-type-inc_popup #post .active-rules > li {
707
+ padding: 5px;
708
+ margin: 0 0 5px;
709
+ line-height: 20px;
710
+ min-height: 30px;
711
+ border-radius: 2px;
712
+ border: 1px solid #E5E5E5;
713
+ background: #FEFEFE;
714
+ cursor: default;
715
+ position: relative;
716
+ }
717
+ .post-type-inc_popup #post .all-rules > li:last-child,
718
+ .post-type-inc_popup #post .active-rules > li:last-child {
719
+ margin: 0;
720
+ }
721
+ .post-type-inc_popup #post .all-rules > li:hover,
722
+ .post-type-inc_popup #post .active-rules > li:hover {
723
+ border-color: #AAA;
724
+ color: #000;
725
+ background: #FFF;
726
+ box-shadow: 0 1px 3px #E9E9E9;
727
+ }
728
+ .post-type-inc_popup #post .all-rules .wpmui-toggle,
729
+ .post-type-inc_popup #post .active-rules .wpmui-toggle {
730
+ margin: 2px 6px;
731
+ }
732
+ .post-type-inc_popup #post .all-rules .rule {
733
+ cursor: pointer;
734
+ }
735
+ .post-type-inc_popup #post .all-rules .rule.inactive {
736
+ cursor: default;
737
+ }
738
+ .post-type-inc_popup #post .all-rules .rule.on {
739
+ background: #F7FCFE;
740
+ border-color: #2EA2CC;
741
+ }
742
+ .post-type-inc_popup #post .active-rules .rule.off {
743
+ display: none !important;
744
+ }
745
+ .post-type-inc_popup #post .active-rules .rule-title {
746
+ background: #E5E5E5;
747
+ padding: 5px;
748
+ margin: -5px;
749
+ cursor: pointer;
750
+ }
751
+ .post-type-inc_popup #post .active-rules .rule-toggle {
752
+ position: absolute;
753
+ right: 0;
754
+ top: 0;
755
+ width: 30px;
756
+ height: 30px;
757
+ cursor: pointer;
758
+ border-left: 1px solid #DCDCDC;
759
+ }
760
+ .post-type-inc_popup #post .active-rules .rule-toggle:before {
761
+ content: '\f140';
762
+ line-height: 30px;
763
+ color: #333;
764
+ }
765
+ .post-type-inc_popup #post .active-rules .rule.open .rule-toggle:before {
766
+ content: '\f142';
767
+ }
768
+ .post-type-inc_popup #post .active-rules .rule-inner {
769
+ display: none;
770
+ margin-top: 10px;
771
+ padding: 3px;
772
+ }
773
+ .post-type-inc_popup #post .active-rules .rule-form {
774
+ margin-top: 5px;
775
+ padding-top: 5px;
776
+ }
777
+ .post-type-inc_popup #post .active-rules .rule.open .rule-inner {
778
+ display: block;
779
+ }
780
+ .post-type-inc_popup #post .col-colorpicker {
781
+ width: 41.66%;
782
+ min-width: 260px;
783
+ margin-bottom: 10px;
784
+ }
785
+ .post-type-inc_popup #post .wp-picker-container {
786
+ width: 260px;
787
+ }
788
+ .post-type-inc_popup #post .wp-picker-container * {
789
+ box-sizing: content-box;
790
+ }
791
+ .post-type-inc_popup #post .wp-picker-container .wp-picker-holder {
792
+ position: absolute;
793
+ z-index: 10;
794
+ }
795
+ .post-type-inc_popup #post .wp-picker-container .iris-picker {
796
+ box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
797
+ }
798
+ .post-type-inc_popup #post hr {
799
+ margin: 16px -12px 6px;
800
+ border-top: 0;
801
+ border-bottom: 1px solid #EEE;
802
+ }
803
+ .post-type-inc_popup #post .col-all-rules {
804
+ width: 320px;
805
+ }
806
+ .post-type-inc_popup #post .col-active-rules {
807
+ float: none;
808
+ display: block;
809
+ }
810
+ .post-type-inc_popup #post .wpmui-toggle {
811
+ float: right;
812
+ margin: 6px;
813
+ }
814
+ .post-type-inc_popup #post .slider-wrap .slider {
815
+ margin: 15px 10px 5px;
816
+ }
817
+ .post-type-inc_popup #post .slider-wrap .slider-data {
818
+ padding-bottom: 10px;
819
+ border-bottom: 1px solid #EEE;
820
+ }
821
+
822
+ #poststuff .postbox label h3 {
823
+ border: 0;
824
+ padding: 0;
825
+ cursor: default;
826
+ }
827
+
828
+ /*============================*\
829
+ ================================
830
+ == ==
831
+ == SLIDER ==
832
+ == ==
833
+ ================================
834
+ \*============================*/
835
+ .ui-slider {
836
+ position: relative;
837
+ text-align: left;
838
+ }
839
+
840
+ .ui-slider .ui-slider-handle {
841
+ position: absolute;
842
+ z-index: 2;
843
+ width: 1.2em;
844
+ height: 1.2em;
845
+ cursor: default;
846
+ -ms-touch-action: none;
847
+ touch-action: none;
848
+ }
849
+
850
+ .ui-slider .ui-slider-range {
851
+ position: absolute;
852
+ z-index: 1;
853
+ font-size: .7em;
854
+ display: block;
855
+ border: 0;
856
+ background-position: 0 0;
857
+ }
858
+
859
+ /* For IE8 - See #6727 */
860
+ .ui-slider.ui-state-disabled .ui-slider-handle,
861
+ .ui-slider.ui-state-disabled .ui-slider-range {
862
+ filter: inherit;
863
+ }
864
+
865
+ .ui-slider-horizontal {
866
+ height: .8em;
867
+ }
868
+
869
+ .ui-slider-horizontal .ui-slider-handle {
870
+ top: -.3em;
871
+ margin-left: -.6em;
872
+ }
873
+
874
+ .ui-slider-horizontal .ui-slider-range {
875
+ top: 0;
876
+ height: 100%;
877
+ }
878
+
879
+ .ui-slider-horizontal .ui-slider-range-min {
880
+ left: 0;
881
+ }
882
+
883
+ .ui-slider-horizontal .ui-slider-range-max {
884
+ right: 0;
885
+ }
886
+
887
+ .ui-slider-vertical {
888
+ width: .8em;
889
+ height: 100px;
890
+ }
891
+
892
+ .ui-slider-vertical .ui-slider-handle {
893
+ left: -.3em;
894
+ margin-left: 0;
895
+ margin-bottom: -.6em;
896
+ }
897
+
898
+ .ui-slider-vertical .ui-slider-range {
899
+ left: 0;
900
+ width: 100%;
901
+ }
902
+
903
+ .ui-slider-vertical .ui-slider-range-min {
904
+ bottom: 0;
905
+ }
906
+
907
+ .ui-slider-vertical .ui-slider-range-max {
908
+ top: 0;
909
+ }
910
+
911
+ /* Component containers
912
+ ----------------------------------*/
913
+ .ui-widget {
914
+ font-family: Verdana,Arial,sans-serif;
915
+ font-size: 1.1em;
916
+ }
917
+
918
+ .ui-widget .ui-widget {
919
+ font-size: 1em;
920
+ }
921
+
922
+ .ui-widget input,
923
+ .ui-widget select,
924
+ .ui-widget textarea,
925
+ .ui-widget button {
926
+ font-family: Verdana,Arial,sans-serif;
927
+ font-size: 1em;
928
+ }
929
+
930
+ .ui-widget-content {
931
+ border: 1px solid #aaaaaa;
932
+ background: #ffffff;
933
+ color: #222222;
934
+ }
935
+
936
+ .ui-widget-content a {
937
+ color: #222222;
938
+ }
939
+
940
+ .ui-widget-header {
941
+ border: 1px solid #aaaaaa;
942
+ background: #cccccc;
943
+ color: #222222;
944
+ font-weight: bold;
945
+ }
946
+
947
+ .ui-widget-header a {
948
+ color: #222222;
949
+ }
950
+
951
+ /* Interaction states
952
+ ----------------------------------*/
953
+ .ui-state-default,
954
+ .ui-widget-content .ui-state-default,
955
+ .ui-widget-header .ui-state-default {
956
+ border: 1px solid #d3d3d3;
957
+ background: #e6e6e6;
958
+ font-weight: normal;
959
+ color: #555555;
960
+ }
961
+
962
+ .ui-state-default a,
963
+ .ui-state-default a:link,
964
+ .ui-state-default a:visited {
965
+ color: #555555;
966
+ text-decoration: none;
967
+ }
968
+
969
+ .ui-state-hover,
970
+ .ui-widget-content .ui-state-hover,
971
+ .ui-widget-header .ui-state-hover,
972
+ .ui-state-focus,
973
+ .ui-widget-content .ui-state-focus,
974
+ .ui-widget-header .ui-state-focus {
975
+ border: 1px solid #999999;
976
+ background: #dadada;
977
+ font-weight: normal;
978
+ color: #212121;
979
+ }
980
+
981
+ .ui-state-hover a,
982
+ .ui-state-hover a:hover,
983
+ .ui-state-hover a:link,
984
+ .ui-state-hover a:visited,
985
+ .ui-state-focus a,
986
+ .ui-state-focus a:hover,
987
+ .ui-state-focus a:link,
988
+ .ui-state-focus a:visited {
989
+ color: #212121;
990
+ text-decoration: none;
991
+ }
992
+
993
+ .ui-state-active,
994
+ .ui-widget-content .ui-state-active,
995
+ .ui-widget-header .ui-state-active {
996
+ border: 1px solid #aaaaaa;
997
+ background: #ffffff;
998
+ font-weight: normal;
999
+ color: #212121;
1000
+ }
1001
+
1002
+ .ui-state-active a,
1003
+ .ui-state-active a:link,
1004
+ .ui-state-active a:visited {
1005
+ color: #212121;
1006
+ text-decoration: none;
1007
+ }
1008
+
1009
+ /* Interaction Cues
1010
+ ----------------------------------*/
1011
+ .ui-state-highlight,
1012
+ .ui-widget-content .ui-state-highlight,
1013
+ .ui-widget-header .ui-state-highlight {
1014
+ border: 1px solid #fcefa1;
1015
+ background: #fbf9ee;
1016
+ color: #363636;
1017
+ }
1018
+
1019
+ .ui-state-highlight a,
1020
+ .ui-widget-content .ui-state-highlight a,
1021
+ .ui-widget-header .ui-state-highlight a {
1022
+ color: #363636;
1023
+ }
1024
+
1025
+ .ui-state-error,
1026
+ .ui-widget-content .ui-state-error,
1027
+ .ui-widget-header .ui-state-error {
1028
+ border: 1px solid #cd0a0a;
1029
+ background: #fef1ec;
1030
+ color: #cd0a0a;
1031
+ }
1032
+
1033
+ .ui-state-error a,
1034
+ .ui-widget-content .ui-state-error a,
1035
+ .ui-widget-header .ui-state-error a {
1036
+ color: #cd0a0a;
1037
+ }
1038
+
1039
+ .ui-state-error-text,
1040
+ .ui-widget-content .ui-state-error-text,
1041
+ .ui-widget-header .ui-state-error-text {
1042
+ color: #cd0a0a;
1043
+ }
1044
+
1045
+ .ui-priority-primary,
1046
+ .ui-widget-content .ui-priority-primary,
1047
+ .ui-widget-header .ui-priority-primary {
1048
+ font-weight: bold;
1049
+ }
1050
+
1051
+ .ui-priority-secondary,
1052
+ .ui-widget-content .ui-priority-secondary,
1053
+ .ui-widget-header .ui-priority-secondary {
1054
+ opacity: .7;
1055
+ filter: Alpha(Opacity=70);
1056
+ font-weight: normal;
1057
+ }
1058
+
1059
+ .ui-state-disabled,
1060
+ .ui-widget-content .ui-state-disabled,
1061
+ .ui-widget-header .ui-state-disabled {
1062
+ opacity: .35;
1063
+ filter: Alpha(Opacity=35);
1064
+ background-image: none;
1065
+ }
1066
+
1067
+ .ui-state-disabled .ui-icon {
1068
+ filter: Alpha(Opacity=35);
1069
+ /* For IE8 - See #6059 */
1070
+ }
1071
+
1072
+ /*===================================*\
1073
+ =======================================
1074
+ == ==
1075
+ == UPGRADE NOTES ==
1076
+ == ==
1077
+ =======================================
1078
+ \*===================================*/
1079
+ .pro-only {
1080
+ position: relative;
1081
+ margin: 3px 0;
1082
+ clear: both;
1083
+ }
1084
+ .pro-only:after {
1085
+ content: ' ';
1086
+ display: table;
1087
+ clear: both;
1088
+ }
1089
+ .pro-only .pro-note {
1090
+ opacity: 0;
1091
+ position: absolute;
1092
+ top: -3px;
1093
+ left: -3px;
1094
+ right: -3px;
1095
+ bottom: -3px;
1096
+ text-align: center;
1097
+ background: rgba(0, 0, 0, 0.6);
1098
+ color: #FFF;
1099
+ font-family: "Source Sans Pro", "Open Sans", sans-serif;
1100
+ font-weight: 100;
1101
+ font-size: 20px;
1102
+ z-index: 9999;
1103
+ transition: opacity .2s;
1104
+ }
1105
+ .pro-only .pro-note a {
1106
+ color: #7ed321;
1107
+ }
1108
+ .pro-only:hover .pro-note {
1109
+ opacity: 1;
1110
+ }
css/popup-admin.min.css ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /*! PopUp Free - v4.6.14
2
+ * https://wordpress.org/plugins/wordpress-popup/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+
5
+ .post-type-inc_popup .status-icon{color:#CCC;width:30px;font-size:16px;line-height:20px;height:20px}.post-type-inc_popup .status-icon:before{content:"\f153"}.post-type-inc_popup .status-active .status-icon,.post-type-inc_popup .status-publish .status-icon{color:#090;font-size:30px}.post-type-inc_popup .status-active .status-icon:before,.post-type-inc_popup .status-publish .status-icon:before{content:"\f147"}.post-type-inc_popup .status-trash .status-icon:before{content:"\f182"}select.block,textarea.block,input.block{margin-left:0;margin-right:0;display:block;width:100%}textarea.block{height:7.2em}.wp-admin select{vertical-align:top;margin-top:0}.inp-small{width:75px}.inp-row{min-height:32px}.inp-row label.inp-height{margin:7px 0 0;display:inline-block}.inactive{opacity:.35;position:relative}.inactive:before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:10000}.inactive-anim{transition:opacity .3s}fieldset{border:1px solid #DDD;padding:8px;margin:0 0 10px}fieldset:last-child{margin-bottom:0}div.msg-ok,div.msg-err{padding:0 .6em;padding:1px 12px;background-color:#FAFAFA;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);clear:both;margin:15px 0 0}div.msg-ok{border-left:4px solid #7AD03A}div.msg-err{border-left:4px solid #DD3D36}.tbl-shortcodes{margin-top:20px;max-width:920px}.tbl-shortcodes .flag{width:15%;overflow:visible}.tbl-shortcodes .flag [data-tooltip]{text-align:center;cursor:default}.tbl-shortcodes .flag .wpmui-tip{text-align:center;min-width:135px}.tbl-shortcodes tbody .flag{text-align:center}.tbl-shortcodes tbody td{border-bottom:1px solid #F0F0F0}.tbl-shortcodes tbody tr:hover td{background:#FCFCFC}.tbl-shortcodes .shortcode .icon:before{content:"\f153";color:#CCC;font-size:14px;width:24px;display:inline-block}.tbl-shortcodes .shortcode.sc-admin .sc-admin .icon:before,.tbl-shortcodes .shortcode.sc-front .sc-front .icon:before{content:"\f147";color:#000;font-size:24px}.tbl-shortcodes .shortcode.sc-admin.sc-limited .sc-admin .icon:before,.tbl-shortcodes .shortcode.sc-front.sc-limited .load-front .icon:before{color:#D90}.tbl-shortcodes .legend{float:left;margin:10px 10px 10px 0}.tbl-shortcodes.load-footer .load-footer,.tbl-shortcodes.load-ajax .load-ajax,.tbl-shortcodes.load-front .load-front,.tbl-shortcodes.load-anonymous .load-anonymous{background:#f0f0f0}.tbl-addons tbody td,.tbl-addons tbody th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.tbl-addons code{display:inline-block;margin:0 1px 1px 0;font-size:12px}.tbl-addons .column-name{width:35%}@media screen and (max-width:900px){.tbl-addons .column-name{width:50%}}.locked td,.locked th{color:#AAA}.locked td .locked-msg,.locked th .locked-msg{color:#333}.locked td .locked-msg:before,.locked th .locked-msg:before{content:'- '}.locked td .locked-msg:after,.locked th .locked-msg:after{content:' -'}.post-type-inc_popup{}.post-type-inc_popup .view-switch{display:none}.post-type-inc_popup .tablenav .alignleft.actions #post-query-submit,.post-type-inc_popup .tablenav .alignleft.actions select[name="m"]{display:none}.post-type-inc_popup [for=po_name-hide]{display:none}.post-type-inc_popup .wp-list-table tbody td,.post-type-inc_popup .wp-list-table tbody th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);padding-top:15px;padding-bottom:15px}.post-type-inc_popup .wp-list-table .column-po_order{width:10px}.post-type-inc_popup .wp-list-table tbody tr:hover .column-po_order{cursor:move;cursor:ns-resize}.post-type-inc_popup .wp-list-table tbody tr:hover .column-po_order:before{content:"\f333";width:20px;height:20px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;text-align:center;transition:color .1s ease-in 0ms;-webkit-transition:color .1s ease-in 0ms;-webkit-font-smoothing:antialiased}.post-type-inc_popup .wp-list-table .column-po_name .the-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.post-type-inc_popup .wp-list-table .column-po_cond{width:55%}@media screen and (max-width:600px){.post-type-inc_popup .wp-list-table .column-po_cond{width:40%}}.post-type-inc_popup .wp-list-table .column-po_pos{width:30px;text-align:center;white-space:nowrap}.post-type-inc_popup .wp-list-table .column-po_state{width:60px;text-align:center}.post-type-inc_popup .wp-list-table .rule,.post-type-inc_popup .wp-list-table .rule-always{color:#FFF;padding:1px 6px;border-radius:3px;margin:0 4px 1px 0;font-size:12px;float:left}.post-type-inc_popup .wp-list-table .rule{background:#999}.post-type-inc_popup .wp-list-table .rule-always{background:#CCC}.post-type-inc_popup .wp-list-table #the-list tr:nth-child(odd){background-color:#FFF!important}.post-type-inc_popup .wp-list-table #the-list tr:nth-child(even){background-color:#F9F9F9!important}.post-type-inc_popup .wp-list-table tr.ui-sortable-helper{box-shadow:0 1px 5px rgba(0,0,0,.2)}.post-type-inc_popup .wp-list-table .ui-sortable-placeholder{position:relative}.post-type-inc_popup .wp-list-table .ui-sortable-placeholder .column-po_order:before{content:'X';display:block;position:absolute;background:red;width:20px;height:20px}.post-type-inc_popup .wp-list-table .ui-sortable-placeholder td{background:#DDD;height:70px;padding:0}.sticky-submit #submitdiv.closed,.sticky-submit #submitdiv{position:fixed;right:0;z-index:10;top:0;left:160px;box-shadow:0 5px 7px -3px rgba(0,0,0,.2);background:#F5F5F5}.sticky-submit #submitdiv.closed .inside,.sticky-submit #submitdiv .inside{display:block}.sticky-submit #submitdiv.closed .hndle,.sticky-submit #submitdiv.closed .handlediv,.sticky-submit #submitdiv .hndle,.sticky-submit #submitdiv .handlediv{display:none}.sticky-submit #submitdiv.closed #misc-publishing-actions,.sticky-submit #submitdiv #misc-publishing-actions{display:none}.sticky-submit #submitdiv.closed .sticky-actions,.sticky-submit #submitdiv .sticky-actions{padding:10px}.sticky-submit #submitdiv.closed .delete-action,.sticky-submit #submitdiv .delete-action{float:left}.sticky-submit #submitdiv.closed .duplicate-action,.sticky-submit #submitdiv.closed .save-action,.sticky-submit #submitdiv.closed .preview-action,.sticky-submit #submitdiv.closed .publishing-action,.sticky-submit #submitdiv .duplicate-action,.sticky-submit #submitdiv .save-action,.sticky-submit #submitdiv .preview-action,.sticky-submit #submitdiv .publishing-action{float:right;margin-right:10px}.sticky-submit #submitdiv.closed .do-duplicate,.sticky-submit #submitdiv .do-duplicate{margin:0}.sticky-submit.folded #submitdiv{left:36px}@media only screen and (max-width:900px){.sticky-submit.auto-fold #submitdiv{left:36px}}.sticky-submit #post-body{margin-top:75px}@media screen and (max-width:782px){.sticky-submit #submitdiv{left:0!important;top:46px!important}}@media screen and (max-width:600px){.sticky-submit #submitdiv{left:0!important;top:0!important}}.wp-toolbar .sticky-submit #submitdiv{top:32px}.wp-toolbar .sticky-submit #post-body{margin-top:105px}#submitdiv #minor-publishing-actions{text-align:left;padding:20px 10px}#submitdiv #major-publishing-actions{z-index:10;position:relative}#submitdiv .handlediv,#submitdiv .hndle{display:none}#submitdiv .preview{float:none}#submitdiv .status{float:right;position:relative;width:100px;top:-6px}#submitdiv .status>label{float:left;line-height:26px;margin-right:10px}#submitdiv .status-hint-box{float:right}#submitdiv .status-switch{width:40px;margin:0;padding:0;float:left}#submitdiv .status-switch input{position:absolute;left:-3000px;top:-3000px;display:none}#submitdiv .status-switch .label-active,#submitdiv .status-switch .label-inactive{position:absolute;top:18px;right:0;left:0;text-align:left;z-index:0;transition:all .3s}#submitdiv .status-switch .status-box{background:#AAA;border-radius:20px;height:16px;padding:0;cursor:pointer;display:block}#submitdiv .status-switch .status-box .label-active{display:none}#submitdiv .status-switch .status-box .label-inactive{display:block}#submitdiv .status-switch .status-box .indicator{width:10px;height:10px;position:absolute;left:3px;top:3px;background:#FFF;border-radius:20px;transition:right .2s,left .2s}#submitdiv .status-switch input:checked+.status-box{background:#3A3}#submitdiv .status-switch input:checked+.status-box .indicator{left:26px}#submitdiv .status-switch input:checked+.status-box .label-active{display:block}#submitdiv .status-switch input:checked+.status-box .label-inactive{display:none}#submitdiv .preview-action .spinner,#submitdiv .publishing-action .spinner,#submitdiv .save-action .spinner{float:left}#submitdiv .submitdelete.disabled{color:#AAA!important;cursor:default}#submitdiv .delete-action{line-height:28px;vertical-align:middle;text-align:left;float:left}#submitdiv .publishing-action{text-align:right;float:right;line-height:23px}#submitdiv .do-duplicate{margin:0 10px 0 0;line-height:28px;display:inline-block}.post-type-inc_popup #post #post-body-content{height:75px}.post-type-inc_popup #post .columns-2 #postbox-container-1{padding-top:75px}.post-type-inc_popup #post #normal-sortables{min-height:0}.post-type-inc_popup #post #titlediv label{font-weight:700;margin:5px 0;display:block}.post-type-inc_popup #post #titlediv #po_name{width:100%;max-width:800px}.post-type-inc_popup #post .postbox-container .postbox{clear:both}.post-type-inc_popup #post .postbox-container #meta-appearance{float:left;width:49%}@media screen and (max-width:900px){.post-type-inc_popup #post .postbox-container #meta-appearance{width:100%;float:none}}.post-type-inc_popup #post .postbox-container #meta-behavior{float:right;width:49%;clear:none}@media screen and (max-width:900px){.post-type-inc_popup #post .postbox-container #meta-behavior{width:100%;float:none}}.post-type-inc_popup #post .postbox-container #meta-content,.post-type-inc_popup #post .postbox-container #meta-rules{clear:both}.post-type-inc_popup #post .content-main{margin-right:270px;min-height:400px}.post-type-inc_popup #post .content-image{position:absolute;width:250px;top:0;right:12px}.post-type-inc_popup #post .content-image .featured-img{width:224px;height:224px;margin:10px 0;background:#F8F8F8;position:relative}.post-type-inc_popup #post .content-image .featured-img .lbl-empty{display:block;height:224px;padding-top:100px;text-align:center}.post-type-inc_popup #post .content-image .featured-img.has-image:hover .reset{display:block}.post-type-inc_popup #post .content-image img{max-width:100%;max-height:100%;margin:0 auto;display:block}.post-type-inc_popup #post .content-image .reset,.post-type-inc_popup #post .content-image .reset .dashicons{font-size:13px;text-decoration:none}.post-type-inc_popup #post .content-image .reset .dashicons{display:inline}.post-type-inc_popup #post .content-image .reset{position:absolute;display:none;z-index:10;margin-top:-36px;background:rgba(255,255,255,.85);padding:5px;height:26px;left:0;right:0;bottom:0;color:#666}.post-type-inc_popup #post .content-image .reset:hover{color:#000}.post-type-inc_popup #post .img-pos{text-align:center;margin:10px 0}.post-type-inc_popup #post .img-pos .option{display:inline-block;background:#F1F1F1;padding:12px 10px;text-align:left;margin:2px;cursor:pointer;position:relative;overflow:hidden}.post-type-inc_popup #post .img-pos .option:hover{background:#DDD}.post-type-inc_popup #post .img-pos .option .image{color:#000;padding:4px;display:inline-block;border:1px solid #666;margin:-5px;background:#FFF}.post-type-inc_popup #post .img-pos .option .image.left{margin-right:0}.post-type-inc_popup #post .img-pos .option .image.right{margin-left:0}.post-type-inc_popup #post .img-pos .option.selected{background:#0074A2;color:#FFF}.post-type-inc_popup #post .img-pos .option input{position:absolute;left:-30px;top:-30px}.post-type-inc_popup #post .add_image{padding-left:5px}.post-type-inc_popup #post .add_image .add-image-icon:before{color:#888}.post-type-inc_popup #post h3.main-content{padding-bottom:10px}.post-type-inc_popup #post .wpmui-toggle{width:40px}.post-type-inc_popup #post .wpmui-toggle-label{border:0;height:16px;background:#CCC}.post-type-inc_popup #post .wpmui-toggle-inner{display:none}.post-type-inc_popup #post .wpmui-toggle-switch{margin:3px;width:10px;height:10px;right:24px;border:0;box-shadow:none;transition:right .2s}.post-type-inc_popup #post .wpmui-toggle-checkbox:checked+.wpmui-toggle-label{background:#3A3}.post-type-inc_popup #post .wpmui-toggle-checkbox:checked+.wpmui-toggle-label .wpmui-toggle-switch{right:0}.post-type-inc_popup #post .all-rules-box,.post-type-inc_popup #post .active-rules-box{border:1px solid #E5E5E5;height:400px;padding:10px;overflow:scroll;overflow-x:hidden;overflow-y:scroll;background:#FDFDFD;box-shadow:0 1px 2px #F0F0F0 inset}.post-type-inc_popup #post .all-rules,.post-type-inc_popup #post .active-rules{list-style:none;margin:0;padding:0}.post-type-inc_popup #post .all-rules>li,.post-type-inc_popup #post .active-rules>li{padding:5px;margin:0 0 5px;line-height:20px;min-height:30px;border-radius:2px;border:1px solid #E5E5E5;background:#FEFEFE;cursor:default;position:relative}.post-type-inc_popup #post .all-rules>li:last-child,.post-type-inc_popup #post .active-rules>li:last-child{margin:0}.post-type-inc_popup #post .all-rules>li:hover,.post-type-inc_popup #post .active-rules>li:hover{border-color:#AAA;color:#000;background:#FFF;box-shadow:0 1px 3px #E9E9E9}.post-type-inc_popup #post .all-rules .wpmui-toggle,.post-type-inc_popup #post .active-rules .wpmui-toggle{margin:2px 6px}.post-type-inc_popup #post .all-rules .rule{cursor:pointer}.post-type-inc_popup #post .all-rules .rule.inactive{cursor:default}.post-type-inc_popup #post .all-rules .rule.on{background:#F7FCFE;border-color:#2EA2CC}.post-type-inc_popup #post .active-rules .rule.off{display:none!important}.post-type-inc_popup #post .active-rules .rule-title{background:#E5E5E5;padding:5px;margin:-5px;cursor:pointer}.post-type-inc_popup #post .active-rules .rule-toggle{position:absolute;right:0;top:0;width:30px;height:30px;cursor:pointer;border-left:1px solid #DCDCDC}.post-type-inc_popup #post .active-rules .rule-toggle:before{content:'\f140';line-height:30px;color:#333}.post-type-inc_popup #post .active-rules .rule.open .rule-toggle:before{content:'\f142'}.post-type-inc_popup #post .active-rules .rule-inner{display:none;margin-top:10px;padding:3px}.post-type-inc_popup #post .active-rules .rule-form{margin-top:5px;padding-top:5px}.post-type-inc_popup #post .active-rules .rule.open .rule-inner{display:block}.post-type-inc_popup #post .col-colorpicker{width:41.66%;min-width:260px;margin-bottom:10px}.post-type-inc_popup #post .wp-picker-container{width:260px}.post-type-inc_popup #post .wp-picker-container *{box-sizing:content-box}.post-type-inc_popup #post .wp-picker-container .wp-picker-holder{position:absolute;z-index:10}.post-type-inc_popup #post .wp-picker-container .iris-picker{box-shadow:0 1px 5px rgba(0,0,0,.2)}.post-type-inc_popup #post hr{margin:16px -12px 6px;border-top:0;border-bottom:1px solid #EEE}.post-type-inc_popup #post .col-all-rules{width:320px}.post-type-inc_popup #post .col-active-rules{float:none;display:block}.post-type-inc_popup #post .wpmui-toggle{float:right;margin:6px}.post-type-inc_popup #post .slider-wrap .slider{margin:15px 10px 5px}.post-type-inc_popup #post .slider-wrap .slider-data{padding-bottom:10px;border-bottom:1px solid #EEE}#poststuff .postbox label h3{border:0;padding:0;cursor:default}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc;color:#222;font-weight:700}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6;font-weight:400;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada;font-weight:400;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff;font-weight:400;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.pro-only{position:relative;margin:3px 0;clear:both}.pro-only:after{content:' ';display:table;clear:both}.pro-only .pro-note{opacity:0;position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;text-align:center;background:rgba(0,0,0,.6);color:#FFF;font-family:"Source Sans Pro","Open Sans",sans-serif;font-weight:100;font-size:20px;z-index:9999;transition:opacity .2s}.pro-only .pro-note a{color:#7ed321}.pro-only:hover .pro-note{opacity:1}
css/tpl/old-default/style.css CHANGED
@@ -1 +1,80 @@
1
- #messagebox{position:absolute;background:transparent url(%styleurl%img/opaque.png) repeat;padding:10px;visibility:visible;z-index:999999}#messagebox .claimbutton{position:absolute;bottom:0;right:0;width:100%;background:transparent url(%styleurl%img/opaque.png) repeat;text-align:right;padding-top:5px;padding-bottom:5px;display:none}#messagebox .claimbutton a:visited,#messagebox .claimbutton a{font-family:"Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;color:#FFF;text-shadow:#000 1px 1px 0px;font-weight:bold;padding-right:5px}#messagebox .wdpu-close{position:absolute;width:30px;height:29px;background:transparent url(%styleurl%img/closemessagebland.png) no-repeat;top:-5px;left:-5px;z-index:5}#messagebox .wdpu-msg{position:relative;background:#fff;font:0.9em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;line-height:normal;height:100%;overflow:hidden}#messagebox .wdpu-msg.waiting{background:#fff url(%styleurl%img/loading.gif) no-repeat center center}#messagebox .wdpu-msg p{position:relative;clear:both}#messagebox .wdpu-msg h2{color:#000;font:bold 1.3em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;margin-top:0px}#messagebox .wdpu-msg h2 a{text-decoration:none;color:#000}#messagebox .wdpu-msg blockquote{padding:0px;font-weight:bold;border-left:5px solid #ccc}#messagebox .wdpu-msg blockquote p{padding:2px 5px}#messagebox .clear{clear:both}#messagebox .hide{display:none}#messagebox:hover .claimbutton{display:block}.wp-admin #messagebox{font-size:16px}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #messagebox {
2
+ position: absolute;
3
+ background: transparent url(%styleurl%img/opaque.png) repeat;
4
+ padding: 10px;
5
+ visibility: visible;
6
+ z-index: 999999;
7
+ }
8
+ #messagebox .claimbutton {
9
+ position: absolute;
10
+ bottom: 0;
11
+ right: 0;
12
+ width: 100%;
13
+ background: transparent url(%styleurl%img/opaque.png) repeat;
14
+ text-align: right;
15
+ padding-top: 5px;
16
+ padding-bottom: 5px;
17
+ display: none;
18
+ }
19
+ #messagebox .claimbutton a:visited,
20
+ #messagebox .claimbutton a {
21
+ font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
22
+ color: #FFF;
23
+ text-shadow: #000 1px 1px 0px;
24
+ font-weight: bold;
25
+ padding-right: 5px;
26
+ }
27
+ #messagebox .wdpu-close {
28
+ position: absolute;
29
+ width: 30px;
30
+ height: 29px;
31
+ background: transparent url(%styleurl%img/closemessagebland.png) no-repeat;
32
+ top: -5px;
33
+ left: -5px;
34
+ z-index: 5;
35
+ }
36
+ #messagebox .wdpu-msg {
37
+ position: relative;
38
+ background: #fff;
39
+ font: 0.9em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
40
+ line-height: normal;
41
+ height: 100%;
42
+ overflow: hidden;
43
+ }
44
+ #messagebox .wdpu-msg.waiting {
45
+ background: #fff url(%styleurl%img/loading.gif) no-repeat center center;
46
+ }
47
+ #messagebox .wdpu-msg p {
48
+ position: relative;
49
+ clear: both;
50
+ }
51
+ #messagebox .wdpu-msg h2 {
52
+ color: #000;
53
+ font: bold 1.3em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
54
+ margin-top: 0px;
55
+ }
56
+ #messagebox .wdpu-msg h2 a {
57
+ text-decoration: none;
58
+ color: #000;
59
+ }
60
+ #messagebox .wdpu-msg blockquote {
61
+ padding: 0px;
62
+ font-weight: bold;
63
+ border-left: 5px solid #ccc;
64
+ }
65
+ #messagebox .wdpu-msg blockquote p {
66
+ padding: 2px 5px;
67
+ }
68
+ #messagebox .clear {
69
+ clear: both;
70
+ }
71
+ #messagebox .hide {
72
+ display: none;
73
+ }
74
+ #messagebox:hover .claimbutton {
75
+ display: block;
76
+ }
77
+
78
+ .wp-admin #messagebox {
79
+ font-size: 16px;
80
+ }
css/tpl/old-fixed/style.css CHANGED
@@ -1 +1,80 @@
1
- #messagebox{position:fixed;background:transparent url(%styleurl%img/opaque.png) repeat;padding:10px;visibility:visible;z-index:999999}#messagebox .claimbutton{position:absolute;bottom:0;right:0;width:100%;background:transparent url(%styleurl%img/opaque.png) repeat;text-align:right;padding-top:5px;padding-bottom:5px;display:none}#messagebox .claimbutton a:visited,#messagebox .claimbutton a{font-family:"Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;color:#FFF;text-shadow:#000 1px 1px 0px;font-weight:bold;padding-right:5px}#messagebox .wdpu-close{position:absolute;width:30px;height:29px;background:transparent url(%styleurl%img/closemessagebland.png) no-repeat;top:-5px;left:-5px;z-index:5}#messagebox .wdpu-msg{position:relative;background:#fff;font:0.9em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;line-height:normal;height:100%;overflow:hidden}#messagebox .wdpu-msg.waiting{background:#fff url(%styleurl%img/loading.gif) no-repeat center center}#messagebox .wdpu-msg p{position:relative;clear:both}#messagebox .wdpu-msg h2{color:#000;font:bold 1.3em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;margin-top:0px}#messagebox .wdpu-msg h2 a{text-decoration:none;color:#000}#messagebox .wdpu-msg blockquote{padding:0px;font-weight:bold;border-left:5px solid #ccc}#messagebox .wdpu-msg blockquote p{padding:2px 5px}#messagebox .clear{clear:both}#messagebox .hide{display:none}#messagebox:hover .claimbutton{display:block}.wp-admin #messagebox{font-size:16px}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #messagebox {
2
+ position: fixed;
3
+ background: transparent url(%styleurl%img/opaque.png) repeat;
4
+ padding: 10px;
5
+ visibility: visible;
6
+ z-index: 999999;
7
+ }
8
+ #messagebox .claimbutton {
9
+ position: absolute;
10
+ bottom: 0;
11
+ right: 0;
12
+ width: 100%;
13
+ background: transparent url(%styleurl%img/opaque.png) repeat;
14
+ text-align: right;
15
+ padding-top: 5px;
16
+ padding-bottom: 5px;
17
+ display: none;
18
+ }
19
+ #messagebox .claimbutton a:visited,
20
+ #messagebox .claimbutton a {
21
+ font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
22
+ color: #FFF;
23
+ text-shadow: #000 1px 1px 0px;
24
+ font-weight: bold;
25
+ padding-right: 5px;
26
+ }
27
+ #messagebox .wdpu-close {
28
+ position: absolute;
29
+ width: 30px;
30
+ height: 29px;
31
+ background: transparent url(%styleurl%img/closemessagebland.png) no-repeat;
32
+ top: -5px;
33
+ left: -5px;
34
+ z-index: 5;
35
+ }
36
+ #messagebox .wdpu-msg {
37
+ position: relative;
38
+ background: #fff;
39
+ font: 0.9em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
40
+ line-height: normal;
41
+ height: 100%;
42
+ overflow: hidden;
43
+ }
44
+ #messagebox .wdpu-msg.waiting {
45
+ background: #fff url(%styleurl%img/loading.gif) no-repeat center center;
46
+ }
47
+ #messagebox .wdpu-msg p {
48
+ position: relative;
49
+ clear: both;
50
+ }
51
+ #messagebox .wdpu-msg h2 {
52
+ color: #000;
53
+ font: bold 1.3em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
54
+ margin-top: 0px;
55
+ }
56
+ #messagebox .wdpu-msg h2 a {
57
+ text-decoration: none;
58
+ color: #000;
59
+ }
60
+ #messagebox .wdpu-msg blockquote {
61
+ padding: 0px;
62
+ font-weight: bold;
63
+ border-left: 5px solid #ccc;
64
+ }
65
+ #messagebox .wdpu-msg blockquote p {
66
+ padding: 2px 5px;
67
+ }
68
+ #messagebox .clear {
69
+ clear: both;
70
+ }
71
+ #messagebox .hide {
72
+ display: none;
73
+ }
74
+ #messagebox:hover .claimbutton {
75
+ display: block;
76
+ }
77
+
78
+ .wp-admin #messagebox {
79
+ font-size: 16px;
80
+ }
css/tpl/old-fullbackground/style.css CHANGED
@@ -1 +1,91 @@
1
- #darkbackground{position:fixed;background:transparent url(%styleurl%img/opaque80.png) repeat;top:0;width:100%;left:0;height:100%;z-index:99999;visibility:visible}#messagebox{position:absolute;background:transparent url(%styleurl%img/opaque.png) repeat;padding:10px;visibility:visible;z-index:999999}#messagebox .claimbutton{position:absolute;bottom:0;right:0;width:100%;background:transparent url(%styleurl%img/opaque.png) repeat;text-align:right;padding-top:5px;padding-bottom:5px;display:none}#messagebox .claimbutton a:visited,#messagebox .claimbutton a{font-family:"Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;color:#FFF;text-shadow:#000 1px 1px 0px;font-weight:bold;padding-right:5px}#messagebox .wdpu-msg{position:relative;background:#fff;font:0.9em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;line-height:normal;height:100%;overflow:hidden}#messagebox .wdpu-msg.waiting{background:#fff url(%styleurl%img/loading.gif) no-repeat center center}#messagebox .wdpu-msg p{position:relative;clear:both}#messagebox .wdpu-msg h2{color:#000;font:bold 1.3em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;margin-top:0px}#messagebox .wdpu-msg h2 a{text-decoration:none;color:#000}#messagebox .wdpu-msg blockquote{padding:0px;font-weight:bold;border-left:5px solid #ccc}#messagebox .wdpu-msg blockquote p{padding:2px 5px}#messagebox .wdpu-close{position:absolute;width:30px;height:29px;background:transparent url(%styleurl%img/closemessagebland.png) no-repeat;top:-5px;left:-5px;z-index:5}#messagebox .clear{clear:both}#messagebox .hide{display:none}#messagebox:hover .claimbutton{display:block}.wp-admin #messagebox{font-size:16px}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #darkbackground {
2
+ position: fixed;
3
+ background: transparent url(%styleurl%img/opaque80.png) repeat;
4
+ top: 0;
5
+ width: 100%;
6
+ left: 0;
7
+ height: 100%;
8
+ z-index: 99999;
9
+ visibility: visible;
10
+ }
11
+
12
+ #messagebox {
13
+ position: absolute;
14
+ background: transparent url(%styleurl%img/opaque.png) repeat;
15
+ padding: 10px;
16
+ visibility: visible;
17
+ z-index: 999999;
18
+ }
19
+ #messagebox .claimbutton {
20
+ position: absolute;
21
+ bottom: 0;
22
+ right: 0;
23
+ width: 100%;
24
+ background: transparent url(%styleurl%img/opaque.png) repeat;
25
+ text-align: right;
26
+ padding-top: 5px;
27
+ padding-bottom: 5px;
28
+ display: none;
29
+ }
30
+ #messagebox .claimbutton a:visited,
31
+ #messagebox .claimbutton a {
32
+ font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
33
+ color: #FFF;
34
+ text-shadow: #000 1px 1px 0px;
35
+ font-weight: bold;
36
+ padding-right: 5px;
37
+ }
38
+ #messagebox .wdpu-msg {
39
+ position: relative;
40
+ background: #fff;
41
+ font: 0.9em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
42
+ line-height: normal;
43
+ height: 100%;
44
+ overflow: hidden;
45
+ }
46
+ #messagebox .wdpu-msg.waiting {
47
+ background: #fff url(%styleurl%img/loading.gif) no-repeat center center;
48
+ }
49
+ #messagebox .wdpu-msg p {
50
+ position: relative;
51
+ clear: both;
52
+ }
53
+ #messagebox .wdpu-msg h2 {
54
+ color: #000;
55
+ font: bold 1.3em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
56
+ margin-top: 0px;
57
+ }
58
+ #messagebox .wdpu-msg h2 a {
59
+ text-decoration: none;
60
+ color: #000;
61
+ }
62
+ #messagebox .wdpu-msg blockquote {
63
+ padding: 0px;
64
+ font-weight: bold;
65
+ border-left: 5px solid #ccc;
66
+ }
67
+ #messagebox .wdpu-msg blockquote p {
68
+ padding: 2px 5px;
69
+ }
70
+ #messagebox .wdpu-close {
71
+ position: absolute;
72
+ width: 30px;
73
+ height: 29px;
74
+ background: transparent url(%styleurl%img/closemessagebland.png) no-repeat;
75
+ top: -5px;
76
+ left: -5px;
77
+ z-index: 5;
78
+ }
79
+ #messagebox .clear {
80
+ clear: both;
81
+ }
82
+ #messagebox .hide {
83
+ display: none;
84
+ }
85
+ #messagebox:hover .claimbutton {
86
+ display: block;
87
+ }
88
+
89
+ .wp-admin #messagebox {
90
+ font-size: 16px;
91
+ }
css/tpl/simple/style.css CHANGED
@@ -1 +1,296 @@
1
- .has-popup{overflow:hidden}.has-popup body{overflow:hidden}#messagebox{position:fixed;z-index:100000;top:0;left:0;right:0;bottom:0;overflow:auto;background:rgba(0,0,0,0.5);padding:0 54px 0 50px}#messagebox.custom-size{padding:0}#messagebox.custom-size .wdpu-msg{position:absolute;display:inline-block;margin:0 0 30px}#messagebox .wdpu-msg{position:relative;display:block;margin:0 auto 30px;text-align:left;padding:5px;background-color:rgba(255,255,255,0.5);box-shadow:0 2px 40px rgba(0,0,0,0.3);font-size:15px;max-width:800px;min-width:100px}#messagebox .wdpu-msg p{font-size:15px}#messagebox .wdpu-msg p:first-child{margin-top:0}#messagebox .wdpu-msg p:last-child{margin-bottom:0}#messagebox .wdpu-msg .wdpu-close{position:absolute;top:-12px;right:-12px;width:30px;height:30px;text-decoration:none;opacity:.9;z-index:10;background:transparent url(%styleurl%img/close.png) no-repeat}@media only screen and (-webkit-min-device-pixel-ratio: 2){#messagebox .wdpu-msg .wdpu-close{background:transparent url(%styleurl%img/close@2x.png) no-repeat;background-size:30px 30px}}#messagebox .wdpu-msg .wdpu-close:hover{opacity:1}#messagebox .wdpu-msg-inner{margin:0px auto;background:#F2F2F2;position:relative;z-index:1;overflow:hidden;height:100%}#messagebox .wdpu-msg-inner.custom-size{max-width:none;min-width:0}#messagebox .wdpu-msg-inner .wdpu-text,#messagebox .wdpu-msg-inner .wdpu-image{vertical-align:middle;display:inline-block;box-sizing:border-box}#messagebox .wdpu-msg-inner .wdpu-text{padding:20px 20px 64px;background:#F2F2F2;position:relative;z-index:10;height:100%}#messagebox .wdpu-msg-inner .wdpu-image{position:absolute;top:0;bottom:0;overflow:hidden;z-index:-1}#messagebox .wdpu-msg-inner .wdpu-image img{height:100%;width:auto;position:relative}#messagebox .wdpu-msg-inner .wdpu-inner{overflow:auto;height:100%}#messagebox .wdpu-msg-inner .wdpu-inner.no-bm{margin:0}#messagebox .wdpu-msg-inner .wdpu-buttons{position:absolute;padding:20px;height:24px;margin:0 -20px -20px;white-space:nowrap}#messagebox a{color:#000001;text-decoration:underline;opacity:.9}#messagebox a:visited{color:#000001}#messagebox a:hover,#messagebox a:active,#messagebox a:focus{color:#000001;opacity:1}#messagebox .wdpu-head{border-bottom:1px solid #DDD;padding-bottom:.5em;margin-bottom:1em}#messagebox .wdpu-title,#messagebox .wdpu-subtitle{font-size:22.5px;line-height:1.3em;margin:0 0 .5em 0;color:#000001}#messagebox .wdpu-title{font-weight:bold}#messagebox .wdpu-subtitle{font-weight:100}#messagebox .wdpu-cta{line-height:1.2em;padding:10px 30px;opacity:.9;margin:0 20px 0 0;text-decoration:none;background:#000001;color:#000002}#messagebox .wdpu-cta:visited{color:#000002}#messagebox .wdpu-cta:hover,#messagebox .wdpu-cta:active,#messagebox .wdpu-cta:focus{color:#000002;opacity:1}#messagebox .wdpu-text{margin:0 40% 0 0;width:60%}#messagebox .wdpu-image{text-align:right;right:0;width:40%}#messagebox.img-left .wdpu-text{margin:0 0 0 40%;margin-right:0;width:60%}#messagebox.img-left .wdpu-image{text-align:left;right:auto;left:0}#messagebox.no-img .wdpu-text{margin:0;width:100%}#messagebox.no-img .wdpu-image{display:none}#messagebox.rounded .wdpu-cta{border-radius:5px}#messagebox.rounded .wdpu-msg{border-radius:10px}#messagebox.rounded .wdpu-msg-inner{border-radius:6px}@media screen and (max-width: 770px) and (min-width: 480px){#messagebox{padding:0 54px 0 50px}#messagebox .wdpu-image,#messagebox.img-right .wdpu-image,#messagebox.img-left .wdpu-image,#messagebox.no-img .wdpu-image{width:100%;position:relative;display:block;max-height:250px}#messagebox .wdpu-image img,#messagebox.img-right .wdpu-image img,#messagebox.img-left .wdpu-image img,#messagebox.no-img .wdpu-image img{height:auto;width:100%}#messagebox .wdpu-text,#messagebox.img-right .wdpu-text,#messagebox.img-left .wdpu-text,#messagebox.no-img .wdpu-text{margin:0;width:100%;padding-top:15px}#messagebox .wdpu-head,#messagebox.img-right .wdpu-head,#messagebox.img-left .wdpu-head,#messagebox.no-img .wdpu-head{margin-bottom:.5em;padding-bottom:.4em}#messagebox .wdpu-title,#messagebox .wdpu-subtitle,#messagebox.img-right .wdpu-title,#messagebox.img-right .wdpu-subtitle,#messagebox.img-left .wdpu-title,#messagebox.img-left .wdpu-subtitle,#messagebox.no-img .wdpu-title,#messagebox.no-img .wdpu-subtitle{margin-bottom:.2em}#messagebox p,#messagebox.img-right p,#messagebox.img-left p,#messagebox.no-img p{margin-bottom:16px}#messagebox.mobile-no-img .wdpu-image{display:none}}@media screen and (max-width: 480px){#messagebox{padding:0 14px 0 10px}#messagebox .wdpu-image,#messagebox.img-right .wdpu-image,#messagebox.img-left .wdpu-image,#messagebox.no-img .wdpu-image{width:100%;position:relative;display:block;max-height:150px}#messagebox .wdpu-image img,#messagebox.img-right .wdpu-image img,#messagebox.img-left .wdpu-image img,#messagebox.no-img .wdpu-image img{height:auto;width:100%}#messagebox .wdpu-text,#messagebox.img-right .wdpu-text,#messagebox.img-left .wdpu-text,#messagebox.no-img .wdpu-text{margin:0;width:100%;padding-top:10px}#messagebox .wdpu-head,#messagebox.img-right .wdpu-head,#messagebox.img-left .wdpu-head,#messagebox.no-img .wdpu-head{margin-bottom:.3em;padding-bottom:.2em}#messagebox .wdpu-title,#messagebox .wdpu-subtitle,#messagebox.img-right .wdpu-title,#messagebox.img-right .wdpu-subtitle,#messagebox.img-left .wdpu-title,#messagebox.img-left .wdpu-subtitle,#messagebox.no-img .wdpu-title,#messagebox.no-img .wdpu-subtitle{margin-bottom:.2em}#messagebox p,#messagebox.img-right p,#messagebox.img-left p,#messagebox.no-img p{margin-bottom:8px}#messagebox.mobile-no-img .wdpu-image{display:none}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Style: Simple
3
+ */
4
+ .has-popup.no-scroll {
5
+ overflow: hidden;
6
+ }
7
+ .has-popup.no-scroll body {
8
+ overflow: hidden;
9
+ }
10
+
11
+ .wdpu-loading {
12
+ position: relative;
13
+ }
14
+
15
+ .wdpu-loading:after {
16
+ content: '';
17
+ position: absolute;
18
+ left: 0;
19
+ top: 0;
20
+ right: 0;
21
+ bottom: 0;
22
+ background: rgba(255, 255, 255, 0.8) url(%styleurl%../../../inc/external/wpmu-lib/img/spinner.gif) center no-repeat;
23
+ z-index: 1000;
24
+ cursor: default;
25
+ }
26
+
27
+ #messagebox {
28
+ position: fixed;
29
+ z-index: 100000;
30
+ top: 0;
31
+ left: 0;
32
+ right: 0;
33
+ bottom: 0;
34
+ overflow: auto;
35
+ background: rgba(0, 0, 0, 0.5);
36
+ padding: 0 54px 0 50px;
37
+ /* wrap is positioned inside the #messagebox layer. */
38
+ /* Default: Image on right side */
39
+ }
40
+ #messagebox.custom-size {
41
+ padding: 0;
42
+ }
43
+ #messagebox.custom-pos .wdpu-msg {
44
+ position: absolute;
45
+ display: inline-block;
46
+ margin: 0 0 30px;
47
+ }
48
+ #messagebox .wdpu-msg {
49
+ position: relative;
50
+ display: block;
51
+ margin: 0 auto 30px;
52
+ text-align: left;
53
+ padding: 5px;
54
+ background-color: rgba(255, 255, 255, 0.5);
55
+ box-shadow: 0 2px 40px rgba(0, 0, 0, 0.3);
56
+ font-size: 15px;
57
+ /* Size / responsiveness */
58
+ max-width: 800px;
59
+ min-width: 100px;
60
+ }
61
+ #messagebox .wdpu-msg p {
62
+ font-size: 15px;
63
+ }
64
+ #messagebox .wdpu-msg p:first-child {
65
+ margin-top: 0;
66
+ }
67
+ #messagebox .wdpu-msg p:last-child {
68
+ margin-bottom: 0;
69
+ }
70
+ #messagebox .wdpu-msg .wdpu-close {
71
+ position: absolute;
72
+ top: -12px;
73
+ right: -12px;
74
+ width: 30px;
75
+ height: 30px;
76
+ text-decoration: none;
77
+ opacity: .9;
78
+ z-index: 10;
79
+ background: transparent url(%styleurl%img/close.png) no-repeat;
80
+ }
81
+ @media only screen and (-webkit-min-device-pixel-ratio: 2) {
82
+ #messagebox .wdpu-msg .wdpu-close {
83
+ background: transparent url(%styleurl%img/close@2x.png) no-repeat;
84
+ background-size: 30px 30px;
85
+ }
86
+ }
87
+ #messagebox .wdpu-msg .wdpu-close:hover {
88
+ opacity: 1;
89
+ }
90
+ #messagebox .wdpu-msg-inner {
91
+ margin: 0px auto;
92
+ background: #F2F2F2;
93
+ position: relative;
94
+ z-index: 1;
95
+ overflow: hidden;
96
+ height: 100%;
97
+ }
98
+ #messagebox .wdpu-msg-inner.custom-size {
99
+ max-width: none;
100
+ min-width: 0;
101
+ }
102
+ #messagebox .wdpu-msg-inner .wdpu-text,
103
+ #messagebox .wdpu-msg-inner .wdpu-image {
104
+ vertical-align: middle;
105
+ display: inline-block;
106
+ box-sizing: border-box;
107
+ }
108
+ #messagebox .wdpu-msg-inner .wdpu-text {
109
+ padding: 20px 20px 64px;
110
+ background: #F2F2F2;
111
+ position: relative;
112
+ z-index: 10;
113
+ height: 100%;
114
+ }
115
+ #messagebox .wdpu-msg-inner .wdpu-image {
116
+ position: absolute;
117
+ top: 0;
118
+ bottom: 0;
119
+ overflow: hidden;
120
+ z-index: -1;
121
+ }
122
+ #messagebox .wdpu-msg-inner .wdpu-image img {
123
+ height: 100%;
124
+ width: auto;
125
+ position: relative;
126
+ }
127
+ #messagebox .wdpu-msg-inner .wdpu-inner {
128
+ overflow: auto;
129
+ height: 100%;
130
+ }
131
+ #messagebox .wdpu-msg-inner .wdpu-inner.no-bm {
132
+ margin: 0;
133
+ }
134
+ #messagebox .wdpu-msg-inner .wdpu-buttons {
135
+ position: absolute;
136
+ padding: 20px;
137
+ height: 24px;
138
+ margin: 0 -20px -20px;
139
+ white-space: nowrap;
140
+ }
141
+ #messagebox a {
142
+ color: #000001;
143
+ text-decoration: underline;
144
+ opacity: .9;
145
+ }
146
+ #messagebox a:visited {
147
+ color: #000001;
148
+ }
149
+ #messagebox a:hover, #messagebox a:active, #messagebox a:focus {
150
+ color: #000001;
151
+ opacity: 1;
152
+ }
153
+ #messagebox .wdpu-head {
154
+ border-bottom: 1px solid #DDD;
155
+ padding-bottom: .5em;
156
+ margin-bottom: 1em;
157
+ }
158
+ #messagebox .wdpu-title,
159
+ #messagebox .wdpu-subtitle {
160
+ font-size: 22.5px;
161
+ line-height: 1.3em;
162
+ margin: 0 0 .5em 0;
163
+ color: #000001;
164
+ }
165
+ #messagebox .wdpu-title {
166
+ font-weight: bold;
167
+ }
168
+ #messagebox .wdpu-subtitle {
169
+ font-weight: 100;
170
+ }
171
+ #messagebox .wdpu-cta {
172
+ line-height: 1.2em;
173
+ padding: 10px 30px;
174
+ opacity: .9;
175
+ margin: 0 20px 0 0;
176
+ text-decoration: none;
177
+ background: #000001;
178
+ color: #000002;
179
+ }
180
+ #messagebox .wdpu-cta:visited {
181
+ color: #000002;
182
+ }
183
+ #messagebox .wdpu-cta:hover, #messagebox .wdpu-cta:active, #messagebox .wdpu-cta:focus {
184
+ color: #000002;
185
+ opacity: 1;
186
+ }
187
+ #messagebox .wdpu-text {
188
+ margin: 0 40% 0 0;
189
+ width: 60%;
190
+ }
191
+ #messagebox .wdpu-image {
192
+ text-align: right;
193
+ right: 0;
194
+ width: 40%;
195
+ }
196
+ #messagebox.img-left .wdpu-text {
197
+ margin: 0 0 0 40%;
198
+ margin-right: 0;
199
+ width: 60%;
200
+ }
201
+ #messagebox.img-left .wdpu-image {
202
+ text-align: left;
203
+ right: auto;
204
+ left: 0;
205
+ }
206
+ #messagebox.no-img .wdpu-text {
207
+ margin: 0;
208
+ width: 100%;
209
+ }
210
+ #messagebox.no-img .wdpu-image {
211
+ display: none;
212
+ }
213
+ #messagebox.rounded .wdpu-cta {
214
+ border-radius: 5px;
215
+ }
216
+ #messagebox.rounded .wdpu-msg {
217
+ border-radius: 10px;
218
+ }
219
+ #messagebox.rounded .wdpu-msg-inner {
220
+ border-radius: 6px;
221
+ }
222
+
223
+ @media screen and (max-width: 770px) and (min-width: 480px) {
224
+ #messagebox {
225
+ padding: 0 54px 0 50px;
226
+ }
227
+ #messagebox .wdpu-image, #messagebox.img-right .wdpu-image, #messagebox.img-left .wdpu-image, #messagebox.no-img .wdpu-image {
228
+ width: 100%;
229
+ position: relative;
230
+ display: block;
231
+ max-height: 250px;
232
+ }
233
+ #messagebox .wdpu-image img, #messagebox.img-right .wdpu-image img, #messagebox.img-left .wdpu-image img, #messagebox.no-img .wdpu-image img {
234
+ height: auto;
235
+ width: 100%;
236
+ }
237
+ #messagebox .wdpu-text, #messagebox.img-right .wdpu-text, #messagebox.img-left .wdpu-text, #messagebox.no-img .wdpu-text {
238
+ margin: 0;
239
+ width: 100%;
240
+ padding-top: 15px;
241
+ }
242
+ #messagebox .wdpu-head, #messagebox.img-right .wdpu-head, #messagebox.img-left .wdpu-head, #messagebox.no-img .wdpu-head {
243
+ margin-bottom: .5em;
244
+ padding-bottom: .4em;
245
+ }
246
+ #messagebox .wdpu-title,
247
+ #messagebox .wdpu-subtitle, #messagebox.img-right .wdpu-title,
248
+ #messagebox.img-right .wdpu-subtitle, #messagebox.img-left .wdpu-title,
249
+ #messagebox.img-left .wdpu-subtitle, #messagebox.no-img .wdpu-title,
250
+ #messagebox.no-img .wdpu-subtitle {
251
+ margin-bottom: .2em;
252
+ }
253
+ #messagebox p, #messagebox.img-right p, #messagebox.img-left p, #messagebox.no-img p {
254
+ margin-bottom: 16px;
255
+ }
256
+ #messagebox.mobile-no-img .wdpu-image {
257
+ display: none;
258
+ }
259
+ }
260
+ @media screen and (max-width: 480px) {
261
+ #messagebox {
262
+ padding: 0 14px 0 10px;
263
+ }
264
+ #messagebox .wdpu-image, #messagebox.img-right .wdpu-image, #messagebox.img-left .wdpu-image, #messagebox.no-img .wdpu-image {
265
+ width: 100%;
266
+ position: relative;
267
+ display: block;
268
+ max-height: 150px;
269
+ }
270
+ #messagebox .wdpu-image img, #messagebox.img-right .wdpu-image img, #messagebox.img-left .wdpu-image img, #messagebox.no-img .wdpu-image img {
271
+ height: auto;
272
+ width: 100%;
273
+ }
274
+ #messagebox .wdpu-text, #messagebox.img-right .wdpu-text, #messagebox.img-left .wdpu-text, #messagebox.no-img .wdpu-text {
275
+ margin: 0;
276
+ width: 100%;
277
+ padding-top: 10px;
278
+ }
279
+ #messagebox .wdpu-head, #messagebox.img-right .wdpu-head, #messagebox.img-left .wdpu-head, #messagebox.no-img .wdpu-head {
280
+ margin-bottom: .3em;
281
+ padding-bottom: .2em;
282
+ }
283
+ #messagebox .wdpu-title,
284
+ #messagebox .wdpu-subtitle, #messagebox.img-right .wdpu-title,
285
+ #messagebox.img-right .wdpu-subtitle, #messagebox.img-left .wdpu-title,
286
+ #messagebox.img-left .wdpu-subtitle, #messagebox.no-img .wdpu-title,
287
+ #messagebox.no-img .wdpu-subtitle {
288
+ margin-bottom: .2em;
289
+ }
290
+ #messagebox p, #messagebox.img-right p, #messagebox.img-left p, #messagebox.no-img p {
291
+ margin-bottom: 8px;
292
+ }
293
+ #messagebox.mobile-no-img .wdpu-image {
294
+ display: none;
295
+ }
296
+ }
css/tpl/simple/template.php CHANGED
@@ -32,14 +32,61 @@ if ( $this->round_corners ) { $msg_class .= 'rounded '; }
32
  if ( $this->custom_size ) { $msg_class .= 'custom-size '; }
33
  $msg_class .= 'wdpu-' . $this->id . ' ';
34
 
35
- $move_class = $this->custom_size ? '' : 'no-move-x';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
 
37
  ?>
38
  <div id="<?php echo esc_attr( $this->code->id ); ?>"
39
  class="style-simple wdpu-container wdpu-background <?php echo esc_attr( $msg_class ); ?>"
40
  style="display: none;">
41
 
42
- <div class="wdpu-msg resize move <?php echo esc_attr( $move_class ); ?>">
43
  <a href="#" class="wdpu-close" title="<?php _e( 'Close this box', PO_LANG ); ?>"></a>
44
 
45
  <div class="wdpu-msg-inner resize">
@@ -94,4 +141,4 @@ $move_class = $this->custom_size ? '' : 'no-move-x';
94
  <?php endif; ?>
95
  </div>
96
  </div>
97
- </div>
32
  if ( $this->custom_size ) { $msg_class .= 'custom-size '; }
33
  $msg_class .= 'wdpu-' . $this->id . ' ';
34
 
35
+ $move_class = '';
36
+
37
+ /**
38
+ * Allow users to manually position a Pop-up.
39
+ * Return value should be an array that defines either left/right/top/bottom.
40
+ * Important: Filter is only used when PopUp uses a custom size!
41
+ *
42
+ * Example:
43
+ * return array( 'left' => '20%', 'top' => '50px' );
44
+ *
45
+ * @var false|array
46
+ * @since 4.6.1.2
47
+ */
48
+ $pos = false;
49
+ $pos_style = '';
50
+ if ( $this->custom_size ) {
51
+ $pos = apply_filters( 'popup-template-position', $pos, $this->id, $this );
52
+
53
+ if ( is_array( $pos ) ) {
54
+ $pos_style .= 'position:absolute;';
55
+ $msg_class .= 'custom-pos ';
56
+
57
+ if ( isset( $pos['left'] ) || isset( $pos['right'] ) ) {
58
+ isset( $pos['left'] ) && $pos_style .= 'left:' . $pos['left'] . ';';
59
+ isset( $pos['right'] ) && $pos_style .= 'right:' . $pos['right'] . ';';
60
+ $move_class .= 'no-move-x ';
61
+ $pos_style .= 'margin-left:0;margin-right:0;';
62
+ }
63
+ if ( isset( $pos['top'] ) || isset( $pos['bottom'] ) ) {
64
+ isset( $pos['top'] ) && $pos_style .= 'top:' . $pos['top'] . ';';
65
+ isset( $pos['bottom'] ) && $pos_style .= 'bottom:' . $pos['bottom'] . ';';
66
+ $move_class .= 'no-move-y ';
67
+ $pos_style .= 'margin-top:0;margin-bottom:0;';
68
+ }
69
+ } else {
70
+ $move_class = 'no-move-x ';
71
+ }
72
+ } else {
73
+ $move_class = 'no-move-x ';
74
+ }
75
+
76
+ /**
77
+ * Allow users to add a custom CSS class to the Pop-up.
78
+ *
79
+ * @var string
80
+ * @since 4.6.1.2
81
+ */
82
+ $msg_class .= apply_filters( 'popup-template-class', '', $this->id, $this );
83
 
84
  ?>
85
  <div id="<?php echo esc_attr( $this->code->id ); ?>"
86
  class="style-simple wdpu-container wdpu-background <?php echo esc_attr( $msg_class ); ?>"
87
  style="display: none;">
88
 
89
+ <div class="wdpu-msg resize move <?php echo esc_attr( $move_class ); ?>" style="<?php echo esc_attr( $pos_style ); ?>">
90
  <a href="#" class="wdpu-close" title="<?php _e( 'Close this box', PO_LANG ); ?>"></a>
91
 
92
  <div class="wdpu-msg-inner resize">
141
  <?php endif; ?>
142
  </div>
143
  </div>
144
+ </div>
humans.txt CHANGED
@@ -12,4 +12,9 @@
12
  Developer: Ve Bailovity
13
  Contact: ve [at] incsub [dot] com
14
  Twitter: @vebailovity
15
- Location: Zrenjanin, Serbia
 
 
 
 
 
12
  Developer: Ve Bailovity
13
  Contact: ve [at] incsub [dot] com
14
  Twitter: @vebailovity
15
+ Location: Zrenjanin, Serbia
16
+
17
+ Developer: Philipp Stracker
18
+ Contact: philipp [at] incsub [dot] com
19
+ Twitter:
20
+ Location: Götzis, Austria
inc/addons/class-popup-addon-headerfooter.php CHANGED
@@ -21,21 +21,19 @@ class IncPopupAddon_HeaderFooter {
21
  * @since 4.6
22
  */
23
  static public function init() {
24
- // If test-head query var exists hook into wp_head
25
- if ( isset( $_GET['test-head'] ) ) {
 
26
  add_action(
27
  'wp_head',
28
  array( __CLASS__, 'test_head' ),
29
- 99999 // Some obscene priority, make sure we run last
30
  );
31
- }
32
 
33
- // If test-footer query var exists hook into wp_footer
34
- if ( isset( $_GET['test-footer'] ) ) {
35
  add_action(
36
  'wp_footer',
37
  array( __CLASS__, 'test_footer' ),
38
- 99999 // Some obscene priority, make sure we run last
39
  );
40
  }
41
  }
@@ -48,7 +46,7 @@ class IncPopupAddon_HeaderFooter {
48
  */
49
  static public function test_head() {
50
  self::test_shortcodes();
51
- echo '<!--wp_head-->';
52
  }
53
 
54
  /**
@@ -59,7 +57,7 @@ class IncPopupAddon_HeaderFooter {
59
  */
60
  static public function test_footer() {
61
  self::test_shortcodes();
62
- echo '<!--wp_footer-->';
63
  }
64
 
65
  /**
@@ -72,7 +70,7 @@ class IncPopupAddon_HeaderFooter {
72
  static public function test_shortcodes() {
73
  global $shortcode_tags;
74
  $shortcodes = array_keys( $shortcode_tags );
75
- echo '<!--shortcodes:[' . implode( ',', $shortcodes ) . ']-->';
76
  }
77
 
78
  /**
@@ -86,82 +84,80 @@ class IncPopupAddon_HeaderFooter {
86
  * @since 1.0.0
87
  */
88
  static public function check() {
 
89
  static $Resp = null;
90
 
91
- if ( null === $Resp ) {
 
 
 
 
 
 
92
 
93
- // Build the url to call, NOTE: uses home_url and thus requires WordPress 3.0
94
- $url = add_query_arg(
95
- array( 'test-head' => '', 'test-footer' => '' ),
96
- home_url()
97
- );
98
 
99
- // Perform the HTTP GET ignoring SSL errors
100
- $response = wp_remote_get(
101
- $url,
102
- array( 'sslverify' => false )
103
- );
 
 
 
 
 
104
 
105
- // Grab the response code and make sure the request was sucessful
106
- $code = (int) wp_remote_retrieve_response_code( $response );
 
 
 
 
107
 
108
- if ( $code !== 200 ) { return; }
109
 
110
- $Resp = (object) array(
111
- 'okay' => false,
112
- 'msg' => array(),
113
- 'shortcodes' => array(),
114
- );
115
-
116
- // Strip all tabs, line feeds, carriage returns and spaces
117
- $html = preg_replace(
118
- '/[\t\r\n\s]/',
119
- '',
120
- wp_remote_retrieve_body( $response )
121
- );
122
-
123
- if ( ! strstr( $html, '<!--wp_head-->' ) ) {
124
- // wp_head is missing
125
- $Resp->msg[] = __(
126
- 'Critical: Call to <code>wp_head();</code> is missing! It ' .
127
- 'should appear directly before <code>&lt;/head&gt;</code>', PO_LANG
128
- );
129
- } else if ( ! strstr( $html, '<!--wp_head--></head>' ) ) {
130
- // wp_head is not in correct location.
131
- $Resp->msg[] = __(
132
- 'Notice: Call to <code>wp_head();</code> exists but it is ' .
133
- 'not called directly before <code>&lt;/head&gt;</code>', PO_LANG
134
  );
135
- }
136
 
137
- if ( ! strstr( $html, '<!--wp_footer-->' ) ) {
138
- // wp_footer is missing.
139
  $Resp->msg[] = __(
140
- 'Critical: Call to <code>wp_footer();</code> is missing! It ' .
141
- 'should appear directly before <code>&lt;/body&gt;</code>', PO_LANG
142
- );
143
- } else if ( ! strstr( $html, '<!--wp_footer--></body>' ) ) {
144
- // wp_footer is not in correct location.
 
 
145
  $Resp->msg[] = __(
146
- 'Notice: Call to <code>wp_footer();</code> exists but it is ' .
147
- 'not called directly before <code>&lt;/body&gt;</code>', PO_LANG
148
- );
149
- }
150
 
151
- $matches = array();
152
- $has_shortcodes = preg_match( '/<!--shortcodes:\[([^\]]*)\]-->/', $html, $matches );
153
- if ( $has_shortcodes ) {
154
- $items = $matches[1];
155
  $Resp->shortcodes = explode( ',', $items );
156
- }
157
 
158
- // Display any errors that we found.
159
  if ( empty( $Resp->msg ) ) {
160
  $Resp->okay = true;
161
  $Resp->msg[] = __(
162
- 'Okay: Your current theme uses <code>wp_head();</code> and ' .
163
- '<code>wp_footer();</code> correctly!', PO_LANG
164
- );
165
  }
166
  }
167
 
21
  * @since 4.6
22
  */
23
  static public function init() {
24
+ if ( isset( $_GET['popup-headerfooter-check'] )
25
+ && '1' == $_GET['popup-headerfooter-check']
26
+ ) {
27
  add_action(
28
  'wp_head',
29
  array( __CLASS__, 'test_head' ),
30
+ 999999 // Some obscene priority, make sure we run last
31
  );
 
32
 
 
 
33
  add_action(
34
  'wp_footer',
35
  array( __CLASS__, 'test_footer' ),
36
+ 999999 // Some obscene priority, make sure we run last
37
  );
38
  }
39
  }
46
  */
47
  static public function test_head() {
48
  self::test_shortcodes();
49
+ echo '<wp_head>exists</wp_head>';
50
  }
51
 
52
  /**
57
  */
58
  static public function test_footer() {
59
  self::test_shortcodes();
60
+ echo '<wp_footer>exists</wp_footer>';
61
  }
62
 
63
  /**
70
  static public function test_shortcodes() {
71
  global $shortcode_tags;
72
  $shortcodes = array_keys( $shortcode_tags );
73
+ echo '<wp_shortcodes>' . implode( ',', $shortcodes ) . '</wp_shortcodes>';
74
  }
75
 
76
  /**
84
  * @since 1.0.0
85
  */
86
  static public function check() {
87
+ static $Init = false;
88
  static $Resp = null;
89
 
90
+ if ( false === $Init ) {
91
+ $Init = true;
92
+ $Resp = (object) array(
93
+ 'okay' => false,
94
+ 'msg' => array(),
95
+ 'shortcodes' => array(),
96
+ );
97
 
98
+ // Build the url to call, NOTE: uses home_url and thus requires WordPress 3.0
99
+ $url = add_query_arg(
100
+ array( 'popup-headerfooter-check' => '1' ),
101
+ home_url()
102
+ );
103
 
104
+ // Perform the HTTP GET ignoring SSL errors
105
+ $cookies = $_COOKIE;
106
+ unset( $cookies['PHPSESSID'] );
107
+ $response = wp_remote_get(
108
+ $url,
109
+ array(
110
+ 'sslverify' => false,
111
+ 'cookies' => $cookies,
112
+ )
113
+ );
114
 
115
+ // Grab the response code and make sure the request was sucessful
116
+ $code = (int) wp_remote_retrieve_response_code( $response );
117
+ if ( is_wp_error( $response ) ) {
118
+ WDev()->message( $response->get_error_message() );
119
+ return $Resp;
120
+ }
121
 
122
+ if ( $code !== 200 ) { return $Resp; }
123
 
124
+ // Strip all tabs, line feeds, carriage returns and spaces
125
+ $html = preg_replace(
126
+ '/[\t\r\n\s]/',
127
+ '',
128
+ wp_remote_retrieve_body( $response )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
  );
 
130
 
131
+ if ( ! strstr( $html, '<wp_head>exists</wp_head>' ) ) {
132
+ // wp_head is missing
133
  $Resp->msg[] = __(
134
+ 'Critical: Call to <code>wp_head();</code> is missing! It ' .
135
+ 'should appear directly before <code>&lt;/head&gt;</code>', PO_LANG
136
+ );
137
+ }
138
+
139
+ if ( ! strstr( $html, '<wp_footer>exists</wp_footer>' ) ) {
140
+ // wp_footer is missing.
141
  $Resp->msg[] = __(
142
+ 'Critical: Call to <code>wp_footer();</code> is missing! It ' .
143
+ 'should appear directly before <code>&lt;/body&gt;</code>', PO_LANG
144
+ );
145
+ }
146
 
147
+ $matches = array();
148
+ $has_shortcodes = preg_match( '#<wp_shortcodes>([^\<]*)</wp_shortcodes>#', $html, $matches );
149
+ if ( $has_shortcodes ) {
150
+ $items = $matches[1];
151
  $Resp->shortcodes = explode( ',', $items );
152
+ }
153
 
154
+ // Display any errors that we found.
155
  if ( empty( $Resp->msg ) ) {
156
  $Resp->okay = true;
157
  $Resp->msg[] = __(
158
+ 'Okay: Your current theme uses <code>wp_head();</code> and ' .
159
+ '<code>wp_footer();</code> correctly!', PO_LANG
160
+ );
161
  }
162
  }
163
 
inc/class-popup-admin.php CHANGED
@@ -85,7 +85,10 @@ class IncPopup extends IncPopupBase {
85
  * @since 4.6
86
  */
87
  static public function setup_module_specific( $hook ) {
88
- if ( IncPopupItem::POST_TYPE === @$hook->post_type ) {
 
 
 
89
  // WordPress core scripts
90
  WDev()->add_js( 'jquery-ui-slider' );
91
  WDev()->add_js( 'jquery-ui-sortable' );
@@ -93,11 +96,11 @@ class IncPopup extends IncPopupBase {
93
  WDev()->add_ui( 'core' );
94
  WDev()->add_ui( 'select' );
95
 
96
- WDev()->add_ui( PO_CSS_URL . 'popup-admin.css' );
97
  WDev()->add_ui( PO_JS_URL . 'popup-admin.min.js' );
98
  WDev()->add_ui( PO_JS_URL . 'public.min.js' ); // For Preview.
99
 
100
- if ( @$_REQUEST['post_status'] != 'trash' ) {
101
  WDev()->add_data(
102
  'po_bulk',
103
  array(
@@ -123,7 +126,7 @@ class IncPopup extends IncPopupBase {
123
 
124
  // -- PopUp LIST -----------------------
125
 
126
- if ( 'edit' === @$hook->base ) {
127
  // Customize the columns in the popup list.
128
  add_filter(
129
  'manage_' . IncPopupItem::POST_TYPE . '_posts_columns',
@@ -185,7 +188,7 @@ class IncPopup extends IncPopupBase {
185
 
186
  // -- PopUp EDITOR -----------------
187
 
188
- if ( 'post' === @$hook->base ) {
189
  WDev()->add_css( 'wp-color-picker' ); // WordPress core script
190
  WDev()->add_js( 'wp-color-picker' ); // WordPress core script
191
 
@@ -230,17 +233,20 @@ class IncPopup extends IncPopupBase {
230
  * @since 4.6
231
  */
232
  static public function admin_menus() {
 
 
233
  // correct_level checks:
234
  // PO_GLOBAL is true .. We have to be on network-admin/main blog.
235
  // PO_GLOBAL is false .. we have to be NOT on network-admin.
236
  if ( ! self::correct_level() ) { return; }
237
 
238
  if ( is_network_admin() ) {
239
- if ( 'hide' == @$_REQUEST['popup_network'] ) {
 
240
  IncPopupDatabase::set_flag( 'network_dismiss', true );
241
  wp_safe_redirect( admin_url( 'network' ) );
242
  die();
243
- } else if ( 'show' == @$_REQUEST['popup_network'] ) {
244
  IncPopupDatabase::set_flag( 'network_dismiss', false );
245
  }
246
 
@@ -276,7 +282,6 @@ class IncPopup extends IncPopupBase {
276
  array( 'IncPopup', 'network_menu_notice' )
277
  );
278
 
279
- global $submenu;
280
  $submenu[IncPopupItem::POST_TYPE . '-list'][0][0] = _x( 'Global PopUps', 'Post Type General Name', PO_LANG );
281
  } else {
282
  add_submenu_page(
@@ -306,11 +311,13 @@ class IncPopup extends IncPopupBase {
306
  * @since 4.6
307
  */
308
  static public function handle_ajax() {
309
- $action = @$_POST['do'];
 
 
310
 
311
  switch ( $action ) {
312
  case 'order':
313
- $order = explode( ',', @$_POST['order'] );
314
  self::post_order( $order );
315
  break;
316
 
@@ -352,17 +359,19 @@ class IncPopup extends IncPopupBase {
352
  * @since 4.6
353
  */
354
  static public function handle_settings_update() {
355
- if ( @$_POST['action'] == 'updatesettings' ) {
 
 
356
  check_admin_referer( 'update-popup-settings' );
357
 
358
  $old_settings = IncPopupDatabase::get_settings();
359
 
360
  $settings = array();
361
- $settings['loadingmethod'] = @$_POST['po_option']['loadingmethod'];
362
- $settings['geo_lookup'] = @$_POST['po_option']['geo_lookup'];
363
- $settings['geo_db'] = ( 'geo_db' == $settings['geo_lookup'] );
364
 
365
- $rules = @$_POST['po_option']['rules'];
366
  if ( ! is_array( $rules ) ) { $rules = array(); }
367
  $settings['rules'] = array_keys( $rules );
368
 
@@ -393,6 +402,7 @@ class IncPopup extends IncPopupBase {
393
  * @return array
394
  */
395
  static public function post_columns( $post_columns ) {
 
396
 
397
  $new_columns = array();
398
 
@@ -405,7 +415,7 @@ class IncPopup extends IncPopupBase {
405
  $new_columns['po_name'] = __( 'PopUp Name', PO_LANG );
406
  $new_columns['po_cond'] = __( 'Conditions', PO_LANG );
407
 
408
- if ( 'trash' != @$_REQUEST['post_status'] ) {
409
  $new_columns['po_pos'] = __( 'Order', PO_LANG );
410
  $new_columns['po_state'] = __( 'Active', PO_LANG );
411
  }
@@ -433,6 +443,7 @@ class IncPopup extends IncPopupBase {
433
  $actions['edit'] = array(
434
  'url' => get_edit_post_link( $post_id ),
435
  'title' => __( 'Edit this PopUp', PO_LANG ),
 
436
  'label' => __( 'Edit', PO_LANG )
437
  );
438
  }
@@ -444,6 +455,7 @@ class IncPopup extends IncPopupBase {
444
  $actions['deactivate'] = array(
445
  'url' => $the_url,
446
  'title' => __( 'Deactivate this PopUp', PO_LANG ),
 
447
  'label' => __( 'Deactivate', PO_LANG )
448
  );
449
  }
@@ -455,6 +467,7 @@ class IncPopup extends IncPopupBase {
455
  $actions['activate'] = array(
456
  'url' => $the_url,
457
  'title' => __( 'Activate this PopUp', PO_LANG ),
 
458
  'label' => __( 'Activate', PO_LANG )
459
  );
460
  }
@@ -474,6 +487,7 @@ class IncPopup extends IncPopupBase {
474
  $actions['untrash'] = array(
475
  'url' => $the_url,
476
  'title' => __( 'Restore this PopUp from the Trash', PO_LANG ),
 
477
  'label' => __( 'Restore', PO_LANG )
478
  );
479
  } elseif ( EMPTY_TRASH_DAYS ) {
@@ -511,10 +525,10 @@ class IncPopup extends IncPopupBase {
511
  $sep = ( $i == $action_count ) ? '' : ' | ';
512
  ?>
513
  <span class="<?php echo esc_attr( $action ); ?>">
514
- <a href="<?php echo esc_url( @$item['url'] ); ?>"
515
- title="<?php echo esc_attr( @$item['title'] ); ?>"
516
- <?php echo '' . @$item['attr']; ?>>
517
- <?php echo esc_html( @$item['label'] ); ?>
518
  </a><?php echo esc_html( $sep ); ?>
519
  </span>
520
  <?php
@@ -663,8 +677,10 @@ class IncPopup extends IncPopupBase {
663
  $wp_list_table = _get_list_table( 'WP_Posts_List_Table' );
664
  $action = $wp_list_table->current_action();
665
 
 
 
666
  if ( $action ) {
667
- if ( 'list' === @$_REQUEST['mode'] ) {
668
  // ----- Custom bulk-action.
669
  check_admin_referer( 'bulk-posts' );
670
  $post_ids = array();
@@ -726,9 +742,11 @@ class IncPopup extends IncPopupBase {
726
  }
727
  }
728
  else {
 
 
729
  // ----- Custom row-action.
730
- $nonce = @$_REQUEST['_wpnonce'];
731
- $post_id = absint( @$_REQUEST['post_id'] );
732
  $popup = IncPopupDatabase::get( $post_id );
733
 
734
  if ( ! $popup ) { return; }
@@ -830,7 +848,7 @@ class IncPopup extends IncPopupBase {
830
  }
831
 
832
  /**
833
- * Save the popup data to database
834
  *
835
  * @since 4.6
836
  * @param int $post_id Post ID that was saved/created
@@ -868,8 +886,10 @@ class IncPopup extends IncPopupBase {
868
  * @since 4.6
869
  */
870
  static protected function form_check_actions() {
871
- $popup_id = absint( @$_REQUEST['post'] );
872
- $action = @$_REQUEST['do'];
 
 
873
 
874
  if ( empty( $popup_id ) || empty( $action ) ) { return; }
875
 
@@ -907,7 +927,7 @@ class IncPopup extends IncPopupBase {
907
  __( 'PopUp Contents', PO_LANG ),
908
  array( 'IncPopup', 'meta_content' ),
909
  IncPopupItem::POST_TYPE,
910
- 'advanced',
911
  'high'
912
  );
913
 
@@ -916,7 +936,7 @@ class IncPopup extends IncPopupBase {
916
  __( 'Appearance', PO_LANG ),
917
  array( 'IncPopup', 'meta_appearance' ),
918
  IncPopupItem::POST_TYPE,
919
- 'advanced',
920
  'high'
921
  );
922
 
@@ -925,7 +945,7 @@ class IncPopup extends IncPopupBase {
925
  __( 'Behavior', PO_LANG ),
926
  array( 'IncPopup', 'meta_behavior' ),
927
  IncPopupItem::POST_TYPE,
928
- 'advanced',
929
  'high'
930
  );
931
 
@@ -934,7 +954,7 @@ class IncPopup extends IncPopupBase {
934
  __( 'Displaying Conditions (optional)', PO_LANG ),
935
  array( 'IncPopup', 'meta_rules' ),
936
  IncPopupItem::POST_TYPE,
937
- 'advanced',
938
  'default'
939
  );
940
 
@@ -1037,14 +1057,17 @@ class IncPopup extends IncPopupBase {
1037
  static public function form_save( $post_id, $post, $update ) {
1038
  $popup = IncPopupDatabase::get( $post_id );
1039
 
 
 
 
1040
  // Autosave is not processed.
1041
  if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { return; }
1042
 
1043
  // The nonce is invalid.
1044
- if ( ! wp_verify_nonce( @$_POST['popup-nonce'], 'save-popup' ) ) { return; }
1045
 
1046
  // This save event is for a different post type... ??
1047
- if ( IncPopupItem::POST_TYPE != @$_POST['post_type'] ) { return; }
1048
 
1049
  // Global PopUp modified in a Network-Blog that is not the Main-Blog.
1050
  if ( ! IncPopup::correct_level() ) { return; }
@@ -1052,7 +1075,7 @@ class IncPopup extends IncPopupBase {
1052
  // User does not have permissions for this.
1053
  if ( ! current_user_can( IncPopupPosttype::$perms ) ) { return; }
1054
 
1055
- $action = @$_POST['po-action'];
1056
  $status = false;
1057
  switch ( $action ) {
1058
  case 'save':
@@ -1100,6 +1123,9 @@ class IncPopup extends IncPopupBase {
1100
  array( 'IncPopup', 'form_redirect' ),
1101
  10, 2
1102
  );
 
 
 
1103
  }
1104
 
1105
  /**
85
  * @since 4.6
86
  */
87
  static public function setup_module_specific( $hook ) {
88
+ WDev()->load_fields( $hook, 'post_type', 'base' );
89
+ WDev()->load_request_fields( 'post_status' );
90
+
91
+ if ( IncPopupItem::POST_TYPE === $hook->post_type ) {
92
  // WordPress core scripts
93
  WDev()->add_js( 'jquery-ui-slider' );
94
  WDev()->add_js( 'jquery-ui-sortable' );
96
  WDev()->add_ui( 'core' );
97
  WDev()->add_ui( 'select' );
98
 
99
+ WDev()->add_ui( PO_CSS_URL . 'popup-admin.min.css' );
100
  WDev()->add_ui( PO_JS_URL . 'popup-admin.min.js' );
101
  WDev()->add_ui( PO_JS_URL . 'public.min.js' ); // For Preview.
102
 
103
+ if ( $_REQUEST['post_status'] !== 'trash' ) {
104
  WDev()->add_data(
105
  'po_bulk',
106
  array(
126
 
127
  // -- PopUp LIST -----------------------
128
 
129
+ if ( 'edit' === $hook->base ) {
130
  // Customize the columns in the popup list.
131
  add_filter(
132
  'manage_' . IncPopupItem::POST_TYPE . '_posts_columns',
188
 
189
  // -- PopUp EDITOR -----------------
190
 
191
+ if ( 'post' === $hook->base ) {
192
  WDev()->add_css( 'wp-color-picker' ); // WordPress core script
193
  WDev()->add_js( 'wp-color-picker' ); // WordPress core script
194
 
233
  * @since 4.6
234
  */
235
  static public function admin_menus() {
236
+ global $submenu;
237
+
238
  // correct_level checks:
239
  // PO_GLOBAL is true .. We have to be on network-admin/main blog.
240
  // PO_GLOBAL is false .. we have to be NOT on network-admin.
241
  if ( ! self::correct_level() ) { return; }
242
 
243
  if ( is_network_admin() ) {
244
+ WDev()->load_request_fields( 'popup_network' );
245
+ if ( 'hide' === $_REQUEST['popup_network'] ) {
246
  IncPopupDatabase::set_flag( 'network_dismiss', true );
247
  wp_safe_redirect( admin_url( 'network' ) );
248
  die();
249
+ } else if ( 'show' === $_REQUEST['popup_network'] ) {
250
  IncPopupDatabase::set_flag( 'network_dismiss', false );
251
  }
252
 
282
  array( 'IncPopup', 'network_menu_notice' )
283
  );
284
 
 
285
  $submenu[IncPopupItem::POST_TYPE . '-list'][0][0] = _x( 'Global PopUps', 'Post Type General Name', PO_LANG );
286
  } else {
287
  add_submenu_page(
311
  * @since 4.6
312
  */
313
  static public function handle_ajax() {
314
+ WDev()->load_post_fields( 'do', 'order' );
315
+
316
+ $action = $_POST['do'];
317
 
318
  switch ( $action ) {
319
  case 'order':
320
+ $order = explode( ',', $_POST['order'] );
321
  self::post_order( $order );
322
  break;
323
 
359
  * @since 4.6
360
  */
361
  static public function handle_settings_update() {
362
+ WDev()->load_post_fields( 'action', 'po_option' );
363
+
364
+ if ( $_POST['action'] == 'updatesettings' ) {
365
  check_admin_referer( 'update-popup-settings' );
366
 
367
  $old_settings = IncPopupDatabase::get_settings();
368
 
369
  $settings = array();
370
+ $settings['loadingmethod'] = $_POST['po_option']['loadingmethod'];
371
+ $settings['geo_lookup'] = $_POST['po_option']['geo_lookup'];
372
+ $settings['geo_db'] = ( 'geo_db' === $settings['geo_lookup'] );
373
 
374
+ $rules = $_POST['po_option']['rules'];
375
  if ( ! is_array( $rules ) ) { $rules = array(); }
376
  $settings['rules'] = array_keys( $rules );
377
 
402
  * @return array
403
  */
404
  static public function post_columns( $post_columns ) {
405
+ WDev()->load_request_fields( 'post_status' );
406
 
407
  $new_columns = array();
408
 
415
  $new_columns['po_name'] = __( 'PopUp Name', PO_LANG );
416
  $new_columns['po_cond'] = __( 'Conditions', PO_LANG );
417
 
418
+ if ( 'trash' !== $_REQUEST['post_status'] ) {
419
  $new_columns['po_pos'] = __( 'Order', PO_LANG );
420
  $new_columns['po_state'] = __( 'Active', PO_LANG );
421
  }
443
  $actions['edit'] = array(
444
  'url' => get_edit_post_link( $post_id ),
445
  'title' => __( 'Edit this PopUp', PO_LANG ),
446
+ 'attr' => '',
447
  'label' => __( 'Edit', PO_LANG )
448
  );
449
  }
455
  $actions['deactivate'] = array(
456
  'url' => $the_url,
457
  'title' => __( 'Deactivate this PopUp', PO_LANG ),
458
+ 'attr' => '',
459
  'label' => __( 'Deactivate', PO_LANG )
460
  );
461
  }
467
  $actions['activate'] = array(
468
  'url' => $the_url,
469
  'title' => __( 'Activate this PopUp', PO_LANG ),
470
+ 'attr' => '',
471
  'label' => __( 'Activate', PO_LANG )
472
  );
473
  }
487
  $actions['untrash'] = array(
488
  'url' => $the_url,
489
  'title' => __( 'Restore this PopUp from the Trash', PO_LANG ),
490
+ 'attr' => '',
491
  'label' => __( 'Restore', PO_LANG )
492
  );
493
  } elseif ( EMPTY_TRASH_DAYS ) {
525
  $sep = ( $i == $action_count ) ? '' : ' | ';
526
  ?>
527
  <span class="<?php echo esc_attr( $action ); ?>">
528
+ <a href="<?php echo esc_url( $item['url'] ); ?>"
529
+ title="<?php echo esc_attr( $item['title'] ); ?>"
530
+ <?php echo '' . $item['attr']; ?>>
531
+ <?php echo esc_html( $item['label'] ); ?>
532
  </a><?php echo esc_html( $sep ); ?>
533
  </span>
534
  <?php
677
  $wp_list_table = _get_list_table( 'WP_Posts_List_Table' );
678
  $action = $wp_list_table->current_action();
679
 
680
+ WDev()->load_request_fields( 'mode' );
681
+
682
  if ( $action ) {
683
+ if ( 'list' === $_REQUEST['mode'] ) {
684
  // ----- Custom bulk-action.
685
  check_admin_referer( 'bulk-posts' );
686
  $post_ids = array();
742
  }
743
  }
744
  else {
745
+ WDev()->load_request_fields( '_wpnonce', 'post_id' );
746
+
747
  // ----- Custom row-action.
748
+ $nonce = $_REQUEST['_wpnonce'];
749
+ $post_id = absint( $_REQUEST['post_id'] );
750
  $popup = IncPopupDatabase::get( $post_id );
751
 
752
  if ( ! $popup ) { return; }
848
  }
849
 
850
  /**
851
+ * Save the popup data to database.
852
  *
853
  * @since 4.6
854
  * @param int $post_id Post ID that was saved/created
886
  * @since 4.6
887
  */
888
  static protected function form_check_actions() {
889
+ WDev()->load_request_fields( 'post', 'do' );
890
+
891
+ $popup_id = absint( $_REQUEST['post'] );
892
+ $action = $_REQUEST['do'];
893
 
894
  if ( empty( $popup_id ) || empty( $action ) ) { return; }
895
 
927
  __( 'PopUp Contents', PO_LANG ),
928
  array( 'IncPopup', 'meta_content' ),
929
  IncPopupItem::POST_TYPE,
930
+ 'normal',
931
  'high'
932
  );
933
 
936
  __( 'Appearance', PO_LANG ),
937
  array( 'IncPopup', 'meta_appearance' ),
938
  IncPopupItem::POST_TYPE,
939
+ 'normal',
940
  'high'
941
  );
942
 
945
  __( 'Behavior', PO_LANG ),
946
  array( 'IncPopup', 'meta_behavior' ),
947
  IncPopupItem::POST_TYPE,
948
+ 'normal',
949
  'high'
950
  );
951
 
954
  __( 'Displaying Conditions (optional)', PO_LANG ),
955
  array( 'IncPopup', 'meta_rules' ),
956
  IncPopupItem::POST_TYPE,
957
+ 'normal',
958
  'default'
959
  );
960
 
1057
  static public function form_save( $post_id, $post, $update ) {
1058
  $popup = IncPopupDatabase::get( $post_id );
1059
 
1060
+ // Make sure the POST collection contains all required fields.
1061
+ if ( 0 !== WDev()->load_post_fields( 'popup-nonce', 'post_type', 'po-action' ) ) { return; }
1062
+
1063
  // Autosave is not processed.
1064
  if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { return; }
1065
 
1066
  // The nonce is invalid.
1067
+ if ( ! wp_verify_nonce( $_POST['popup-nonce'], 'save-popup' ) ) { return; }
1068
 
1069
  // This save event is for a different post type... ??
1070
+ if ( IncPopupItem::POST_TYPE != $_POST['post_type'] ) { return; }
1071
 
1072
  // Global PopUp modified in a Network-Blog that is not the Main-Blog.
1073
  if ( ! IncPopup::correct_level() ) { return; }
1075
  // User does not have permissions for this.
1076
  if ( ! current_user_can( IncPopupPosttype::$perms ) ) { return; }
1077
 
1078
+ $action = $_POST['po-action'];
1079
  $status = false;
1080
  switch ( $action ) {
1081
  case 'save':
1123
  array( 'IncPopup', 'form_redirect' ),
1124
  10, 2
1125
  );
1126
+
1127
+ // Update the PopUp object in WP-Cache.
1128
+ IncPopupDatabase::get( $post_id, true );
1129
  }
1130
 
1131
  /**
inc/class-popup-base.php CHANGED
@@ -27,6 +27,11 @@ abstract class IncPopupBase {
27
  */
28
  protected $popups = array();
29
 
 
 
 
 
 
30
 
31
 
32
  /**
@@ -36,9 +41,11 @@ abstract class IncPopupBase {
36
  $this->db = IncPopupDatabase::instance();
37
 
38
  // Prepare the URL
39
- $this->prepare_url();
40
- add_action( 'init', array( $this, 'revert_url' ), 999 ); // prevent 404.
41
- add_action( 'parse_query', array( $this, 'prepare_url' ) );
 
 
42
 
43
  WDev()->translate_plugin( PO_LANG, PO_LANG_DIR );
44
 
@@ -79,6 +86,22 @@ abstract class IncPopupBase {
79
  array( $this, 'ajax_load_popup' )
80
  );
81
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
  // Tell Add-ons and extensions that we are set up.
83
  do_action( 'popup-init' );
84
  }
@@ -171,12 +194,14 @@ abstract class IncPopupBase {
171
 
172
  // Add core styles to the response.
173
  foreach ( $core_styles as $key => $data ) {
 
 
174
  $list[ $key ] = (object) array(
175
  'url' => trailingslashit( PO_TPL_URL . $key ),
176
  'dir' => trailingslashit( PO_TPL_DIR . $key ),
177
  'name' => $data->name,
178
- 'pro' => (true == @$data->pro),
179
- 'deprecated' => (true == @$data->deprecated),
180
  );
181
  if ( isset( $urls[$data->name] ) ) { unset( $urls[$data->name] ); }
182
  if ( isset( $paths[$data->name] ) ) { unset( $paths[$data->name] ); }
@@ -184,9 +209,11 @@ abstract class IncPopupBase {
184
 
185
  // Add custom styles to the response.
186
  foreach ( $urls as $key => $url ) {
 
 
187
  $list[ $key ] = (object) array(
188
  'url' => $url,
189
- 'dir' => @$paths[$key],
190
  'name' => $key,
191
  'pro' => false,
192
  'deprecated' => false,
@@ -202,7 +229,7 @@ abstract class IncPopupBase {
202
  * @since 4.6
203
  * @return array List of rule-files.
204
  */
205
- public function get_rules() {
206
  $List = null;
207
 
208
  if ( null === $List ) {
@@ -225,7 +252,7 @@ abstract class IncPopupBase {
225
  *
226
  * @since 4.6
227
  */
228
- public function load_optional_files() {
229
  $settings = IncPopupDatabase::get_settings();
230
 
231
  if ( $settings['geo_db'] ) {
@@ -254,41 +281,61 @@ abstract class IncPopupBase {
254
  static protected function prepare_formdata( $form ) {
255
  if ( ! is_array( $form ) ) { $form = array(); }
256
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
257
 
258
  $data = array(
259
  // Meta: Content
260
- 'name' => @$form['po_name'],
261
- 'content' => stripslashes( @$form['po_content'] ),
262
- 'title' => @$form['po_heading'],
263
- 'subtitle' => @$form['po_subheading'],
264
- 'cta_label' => @$form['po_cta'],
265
- 'cta_link' => @$form['po_cta_link'],
266
- 'image' => @$form['po_image'],
267
- 'image_pos' => @$form['po_image_pos'],
268
  'image_mobile' => ! isset( $form['po_image_no_mobile'] ),
269
  'active' => isset( $form['po_active'] ),
270
 
271
  // Meta: Appearance
272
- 'style' => @$form['po_style'],
273
  'round_corners' => ! isset( $form['po_no_round_corners'] ),
 
274
  'custom_colors' => isset( $form['po_custom_colors'] ),
275
- 'color' => @$form['po_color'],
276
  'custom_size' => isset( $form['po_custom_size'] ),
277
  'size' => array(
278
- 'width' => @$form['po_size_width'],
279
- 'height' => @$form['po_size_height'],
280
  ),
281
 
282
  // Meta: Behavior
283
- 'display' => @$form['po_display'],
284
- 'display_data' => @$form['po_display_data'],
285
  'can_hide' => isset( $form['po_can_hide'] ),
286
  'close_hides' => isset( $form['po_close_hides'] ),
287
- 'hide_expire' => @$form['po_hide_expire'],
288
  'overlay_close' => ! isset( $form['po_overlay_close'] ),
289
 
290
  // Meta: Rules:
291
- 'rule' => @$form['po_rule'],
292
  'rule_data' => apply_filters( 'popup-save-rules', array() ),
293
  );
294
 
@@ -303,11 +350,14 @@ abstract class IncPopupBase {
303
  * @since 4.6
304
  */
305
  public function ajax_load_popup() {
306
- $action = @$_REQUEST['do'];
 
307
 
308
  switch ( $action ) {
309
  case 'get-data':
310
- if ( IncPopupItem::POST_TYPE == @$_REQUEST['data']['post_type'] ) {
 
 
311
  $this->popups = array();
312
  $this->popups[0] = new IncPopupItem();
313
  $data = self::prepare_formdata( $_REQUEST['data'] );
@@ -382,8 +432,9 @@ abstract class IncPopupBase {
382
  */
383
  protected function find_popups() {
384
  $popups = array();
 
385
 
386
- $popup_id = absint( @$_REQUEST['po_id'] );
387
  if ( $popup_id ) {
388
  // Check for forced popup.
389
  $active_ids = array( $popup_id );
@@ -398,9 +449,6 @@ abstract class IncPopupBase {
398
  // Forced popup ignores all conditions.
399
  $show = true;
400
  } else {
401
- // Ignore empty PopUps.
402
- if ( empty( $popup->content ) ) { continue; }
403
-
404
  // Apply the conditions to decide if the popup should be displayed.
405
  $show = apply_filters( 'popup-apply-rules', true, $popup );
406
  }
@@ -409,7 +457,7 @@ abstract class IncPopupBase {
409
  if ( ! $show ) { continue; }
410
 
411
  // Stop here if the user did choose to hide the popup.
412
- if ( ! @$_REQUEST['preview'] && $this->is_hidden( $id ) ) { continue; }
413
 
414
  $popups[] = $popup;
415
  }
@@ -446,15 +494,23 @@ abstract class IncPopupBase {
446
  /**
447
  * Change the Request-URI, so other plugins use the correct form action, etc.
448
  *
 
 
 
 
 
 
449
  * @since 4.6.1.1
450
  */
451
  public function prepare_url() {
452
- $this->orig_url = $_SERVER['REQUEST_URI'];
453
 
454
- // Remove internal commands from the query.
455
- if ( ! empty( $_REQUEST['thefrom'] ) ) {
456
- $_SERVER['REQUEST_URI'] = strtok( $_REQUEST['thefrom'], '#' );
457
  }
 
 
 
458
  }
459
 
460
  /**
@@ -463,9 +519,12 @@ abstract class IncPopupBase {
463
  * @since 4.6.1.1
464
  */
465
  public function revert_url() {
 
466
  if ( empty( $this->orig_url ) ) { return; }
 
467
  $_SERVER['REQUEST_URI'] = $this->orig_url;
468
  }
469
 
470
 
 
471
  };
27
  */
28
  protected $popups = array();
29
 
30
+ /**
31
+ * Data collection for compatibility with other plugins.
32
+ * @var array
33
+ */
34
+ protected $compat_data = array();
35
 
36
 
37
  /**
41
  $this->db = IncPopupDatabase::instance();
42
 
43
  // Prepare the URL
44
+ if ( ! empty( $_REQUEST['orig_request_uri'] ) ) {
45
+ $this->prepare_url();
46
+ add_action( 'init', array( $this, 'revert_url' ), 999 ); // prevent 404.
47
+ add_action( 'parse_query', array( $this, 'prepare_url' ) );
48
+ }
49
 
50
  WDev()->translate_plugin( PO_LANG, PO_LANG_DIR );
51
 
86
  array( $this, 'ajax_load_popup' )
87
  );
88
 
89
+ // Compatibility with plugins
90
+ if ( function_exists( 'get_rocket_option' ) && get_rocket_option( 'minify_js' ) ) {
91
+ foreach ( array( 'edit-inc_popup', 'inc_popup', 'inc_popup_page_settings' ) as $screen ) {
92
+ WDev()->message(
93
+ __(
94
+ 'You are using WP Rocket with JS Minification, which has ' .
95
+ 'caused some issues in the past. We recommend to disable ' .
96
+ 'the JS Minification setting in WP Rocket to avoid problems.',
97
+ PO_LANG
98
+ ),
99
+ 'err',
100
+ $screen
101
+ );
102
+ }
103
+ }
104
+
105
  // Tell Add-ons and extensions that we are set up.
106
  do_action( 'popup-init' );
107
  }
194
 
195
  // Add core styles to the response.
196
  foreach ( $core_styles as $key => $data ) {
197
+ WDev()->load_fields( $data, 'pro', 'deprecated' );
198
+
199
  $list[ $key ] = (object) array(
200
  'url' => trailingslashit( PO_TPL_URL . $key ),
201
  'dir' => trailingslashit( PO_TPL_DIR . $key ),
202
  'name' => $data->name,
203
+ 'pro' => $data->pro,
204
+ 'deprecated' => $data->deprecated,
205
  );
206
  if ( isset( $urls[$data->name] ) ) { unset( $urls[$data->name] ); }
207
  if ( isset( $paths[$data->name] ) ) { unset( $paths[$data->name] ); }
209
 
210
  // Add custom styles to the response.
211
  foreach ( $urls as $key => $url ) {
212
+ if ( ! isset( $paths[ $key ] ) ) { continue; }
213
+
214
  $list[ $key ] = (object) array(
215
  'url' => $url,
216
+ 'dir' => $paths[$key],
217
  'name' => $key,
218
  'pro' => false,
219
  'deprecated' => false,
229
  * @since 4.6
230
  * @return array List of rule-files.
231
  */
232
+ static public function get_rules() {
233
  $List = null;
234
 
235
  if ( null === $List ) {
252
  *
253
  * @since 4.6
254
  */
255
+ static public function load_optional_files() {
256
  $settings = IncPopupDatabase::get_settings();
257
 
258
  if ( $settings['geo_db'] ) {
281
  static protected function prepare_formdata( $form ) {
282
  if ( ! is_array( $form ) ) { $form = array(); }
283
 
284
+ WDev()->load_fields(
285
+ $form,
286
+ 'po_name',
287
+ 'po_content',
288
+ 'po_heading',
289
+ 'po_subheading',
290
+ 'po_cta',
291
+ 'po_cta_link',
292
+ 'po_image',
293
+ 'po_image_pos',
294
+ 'po_style',
295
+ 'po_color',
296
+ 'po_size_width',
297
+ 'po_size_height',
298
+ 'po_display',
299
+ 'po_display_data',
300
+ 'po_hide_expire',
301
+ 'po_rule'
302
+ );
303
 
304
  $data = array(
305
  // Meta: Content
306
+ 'name' => $form['po_name'],
307
+ 'content' => stripslashes( $form['po_content'] ),
308
+ 'title' => $form['po_heading'],
309
+ 'subtitle' => $form['po_subheading'],
310
+ 'cta_label' => $form['po_cta'],
311
+ 'cta_link' => $form['po_cta_link'],
312
+ 'image' => $form['po_image'],
313
+ 'image_pos' => $form['po_image_pos'],
314
  'image_mobile' => ! isset( $form['po_image_no_mobile'] ),
315
  'active' => isset( $form['po_active'] ),
316
 
317
  // Meta: Appearance
318
+ 'style' => $form['po_style'],
319
  'round_corners' => ! isset( $form['po_no_round_corners'] ),
320
+ 'scroll_body' => isset( $form['po_scroll_body'] ),
321
  'custom_colors' => isset( $form['po_custom_colors'] ),
322
+ 'color' => $form['po_color'],
323
  'custom_size' => isset( $form['po_custom_size'] ),
324
  'size' => array(
325
+ 'width' => $form['po_size_width'],
326
+ 'height' => $form['po_size_height'],
327
  ),
328
 
329
  // Meta: Behavior
330
+ 'display' => $form['po_display'],
331
+ 'display_data' => $form['po_display_data'],
332
  'can_hide' => isset( $form['po_can_hide'] ),
333
  'close_hides' => isset( $form['po_close_hides'] ),
334
+ 'hide_expire' => $form['po_hide_expire'],
335
  'overlay_close' => ! isset( $form['po_overlay_close'] ),
336
 
337
  // Meta: Rules:
338
+ 'rule' => $form['po_rule'],
339
  'rule_data' => apply_filters( 'popup-save-rules', array() ),
340
  );
341
 
350
  * @since 4.6
351
  */
352
  public function ajax_load_popup() {
353
+ WDev()->load_request_fields( 'do', 'data' );
354
+ $action = $_REQUEST['do'];
355
 
356
  switch ( $action ) {
357
  case 'get-data':
358
+ if ( isset( $_REQUEST['data']['post_type'] )
359
+ && IncPopupItem::POST_TYPE == $_REQUEST['data']['post_type']
360
+ ) {
361
  $this->popups = array();
362
  $this->popups[0] = new IncPopupItem();
363
  $data = self::prepare_formdata( $_REQUEST['data'] );
432
  */
433
  protected function find_popups() {
434
  $popups = array();
435
+ WDev()->load_request_fields( 'po_id', 'preview' );
436
 
437
+ $popup_id = absint( $_REQUEST['po_id'] );
438
  if ( $popup_id ) {
439
  // Check for forced popup.
440
  $active_ids = array( $popup_id );
449
  // Forced popup ignores all conditions.
450
  $show = true;
451
  } else {
 
 
 
452
  // Apply the conditions to decide if the popup should be displayed.
453
  $show = apply_filters( 'popup-apply-rules', true, $popup );
454
  }
457
  if ( ! $show ) { continue; }
458
 
459
  // Stop here if the user did choose to hide the popup.
460
+ if ( ! $_REQUEST['preview'] && $this->is_hidden( $id ) ) { continue; }
461
 
462
  $popups[] = $popup;
463
  }
494
  /**
495
  * Change the Request-URI, so other plugins use the correct form action, etc.
496
  *
497
+ * Example:
498
+ * Contact-Form-7 is included as shortcode in a PopUp.
499
+ * The PopUp is loaded via WordPress Ajax.
500
+ * When the Contact form is generated, the CF7 plugin will use the AJAX-URL
501
+ * for the contact form, instead of the URL of the host-page...
502
+ *
503
  * @since 4.6.1.1
504
  */
505
  public function prepare_url() {
506
+ if ( empty( $_REQUEST['orig_request_uri'] ) ) { return; }
507
 
508
+ if ( empty( $this->orig_url ) ) {
509
+ $this->orig_url = $_SERVER['REQUEST_URI'];
 
510
  }
511
+
512
+ // Remove internal commands from the query.
513
+ $_SERVER['REQUEST_URI'] = strtok( $_REQUEST['orig_request_uri'], '#' );
514
  }
515
 
516
  /**
519
  * @since 4.6.1.1
520
  */
521
  public function revert_url() {
522
+ if ( empty( $_REQUEST['orig_request_uri'] ) ) { return; }
523
  if ( empty( $this->orig_url ) ) { return; }
524
+
525
  $_SERVER['REQUEST_URI'] = $this->orig_url;
526
  }
527
 
528
 
529
+
530
  };
inc/class-popup-database.php CHANGED
@@ -66,29 +66,42 @@ class IncPopupDatabase {
66
  global $wpdb;
67
  static $Prefixed = array();
68
 
69
- if ( ! isset( $Prefixed[$table] ) ) {
 
 
 
 
 
 
 
 
 
 
 
70
  $Prefixed[$table] = $table;
71
 
72
  if ( defined( 'PO_GLOBAL' ) && true == PO_GLOBAL ) {
73
  if ( ! empty( $wpdb->base_prefix ) ) {
74
- $Prefixed[$table] = $wpdb->base_prefix . $table;
75
  } else {
76
- $Prefixed[$table] = $wpdb->prefix . $table;
77
  }
78
  } else {
79
- $Prefixed[$table] = $wpdb->prefix . $table;
80
  }
81
  }
82
 
83
- return $Prefixed[$table];
84
  }
85
 
86
  /**
87
  * Setup or migrate the database to current plugin version.
88
  *
 
 
89
  * @since 4.6
90
  */
91
- public function db_update() {
92
  // Required for dbDelta()
93
  require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
94
 
@@ -370,11 +383,18 @@ class IncPopupDatabase {
370
  *
371
  * @since 4.6
372
  * @param int $post_id ID of the PopUp
 
 
373
  * @return IncPopupItem
374
  */
375
- public function get( $post_id ) {
376
  $post_id = absint( $post_id );
 
 
 
 
377
  $popup = wp_cache_get( $post_id, IncPopupItem::POST_TYPE );
 
378
 
379
  if ( false === $popup ) {
380
  self::before_db();
@@ -392,7 +412,7 @@ class IncPopupDatabase {
392
  * @since 4.6
393
  * @return array List of active popups.
394
  */
395
- public function get_active_ids() {
396
  global $wpdb;
397
  static $List = null;
398
 
@@ -423,7 +443,7 @@ class IncPopupDatabase {
423
  * @since 4.6
424
  * @return int Next free order position; bottom of the list.
425
  */
426
- public function next_order() {
427
  global $wpdb;
428
  self::before_db();
429
 
@@ -450,7 +470,7 @@ class IncPopupDatabase {
450
  *
451
  * @since 4.6
452
  */
453
- public function refresh_order() {
454
  global $wpdb;
455
  self::before_db();
456
 
@@ -508,7 +528,7 @@ class IncPopupDatabase {
508
  * @param int $id Optional. Don't count this PopUp in the results.
509
  * @return int Number of active PopUps
510
  */
511
- public function count_active( $id = '' ) {
512
  global $wpdb;
513
 
514
  if ( ! is_scalar( $id ) ) { $id = ''; }
@@ -528,7 +548,7 @@ class IncPopupDatabase {
528
  *
529
  * @since 4.6
530
  */
531
- public function deactivate_all() {
532
  global $wpdb;
533
 
534
  $sql = "
@@ -606,7 +626,7 @@ class IncPopupDatabase {
606
  * @since 4.6
607
  * @return array.
608
  */
609
- public function get_settings() {
610
  $defaults = array(
611
  'loadingmethod' => 'ajax',
612
  'geo_lookup' => 'hostip',
@@ -640,7 +660,7 @@ class IncPopupDatabase {
640
  * @since 4.6
641
  * @param array $value The value to save.
642
  */
643
- public function set_settings( $value ) {
644
  self::_set_option( 'inc_popup-config', $value );
645
  }
646
 
@@ -652,12 +672,12 @@ class IncPopupDatabase {
652
  * @param string $key
653
  * @return mixed
654
  */
655
- public function get_flag( $key ) {
656
  $data = get_user_meta( get_current_user_id(), 'po_data', true );
657
  if ( is_object( $data ) ) { $data = (array) $data; }
658
  if ( ! is_array( $data ) ) { $data = array(); }
659
 
660
- return @$data[$key];
661
  }
662
 
663
  /**
@@ -668,7 +688,7 @@ class IncPopupDatabase {
668
  * @param string $key
669
  * @param mixed $value
670
  */
671
- public function set_flag( $key, $value ) {
672
  $data = get_user_meta( get_current_user_id(), 'po_data', true );
673
  if ( is_object( $data ) ) { $data = (array) $data; }
674
  if ( ! is_array( $data ) ) { $data = array(); }
@@ -686,11 +706,13 @@ class IncPopupDatabase {
686
  static protected function _get_option( $key, $default ) {
687
  $value = $default;
688
  self::before_db();
 
689
  if ( IncPopup::use_global() ) {
690
  $value = get_site_option( $key, $default );
691
  } else {
692
  $value = get_option( $key, $default );
693
  }
 
694
  self::after_db();
695
  return $value;
696
  }
@@ -703,11 +725,13 @@ class IncPopupDatabase {
703
  */
704
  static protected function _set_option( $key, $value ) {
705
  self::before_db();
 
706
  if ( IncPopup::use_global() ) {
707
  update_site_option( $key, $value );
708
  } else {
709
  update_option( $key, $value );
710
  }
 
711
  self::after_db();
712
  }
713
 
66
  global $wpdb;
67
  static $Prefixed = array();
68
 
69
+ // Handle issues where the blog is switched in code (switch_to_blog)
70
+ if ( is_multisite() ) {
71
+ global $blog_id;
72
+ } else {
73
+ $blog_id = 0;
74
+ }
75
+
76
+ if ( ! isset( $Prefixed[ $blog_id ] ) ) {
77
+ $Prefixed[ $blog_id ] = array();
78
+ }
79
+
80
+ if ( ! isset( $Prefixed[ $blog_id ][ $table ] ) ) {
81
  $Prefixed[$table] = $table;
82
 
83
  if ( defined( 'PO_GLOBAL' ) && true == PO_GLOBAL ) {
84
  if ( ! empty( $wpdb->base_prefix ) ) {
85
+ $Prefixed[ $blog_id ][ $table ] = $wpdb->base_prefix . $table;
86
  } else {
87
+ $Prefixed[ $blog_id ][ $table ] = $wpdb->prefix . $table;
88
  }
89
  } else {
90
+ $Prefixed[ $blog_id ][ $table ] = $wpdb->prefix . $table;
91
  }
92
  }
93
 
94
+ return $Prefixed[ $blog_id ][ $table ];
95
  }
96
 
97
  /**
98
  * Setup or migrate the database to current plugin version.
99
  *
100
+ * This function uses error suppression on purpose.
101
+ *
102
  * @since 4.6
103
  */
104
+ static public function db_update() {
105
  // Required for dbDelta()
106
  require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
107
 
383
  *
384
  * @since 4.6
385
  * @param int $post_id ID of the PopUp
386
+ * @param bool $clear If TRUE then a new object will be fetched from DB and
387
+ * not from cache.
388
  * @return IncPopupItem
389
  */
390
+ static public function get( $post_id, $clear = false ) {
391
  $post_id = absint( $post_id );
392
+
393
+ if ( $clear ) {
394
+ $popup = false;
395
+ } else {
396
  $popup = wp_cache_get( $post_id, IncPopupItem::POST_TYPE );
397
+ }
398
 
399
  if ( false === $popup ) {
400
  self::before_db();
412
  * @since 4.6
413
  * @return array List of active popups.
414
  */
415
+ static public function get_active_ids() {
416
  global $wpdb;
417
  static $List = null;
418
 
443
  * @since 4.6
444
  * @return int Next free order position; bottom of the list.
445
  */
446
+ static public function next_order() {
447
  global $wpdb;
448
  self::before_db();
449
 
470
  *
471
  * @since 4.6
472
  */
473
+ static public function refresh_order() {
474
  global $wpdb;
475
  self::before_db();
476
 
528
  * @param int $id Optional. Don't count this PopUp in the results.
529
  * @return int Number of active PopUps
530
  */
531
+ static public function count_active( $id = '' ) {
532
  global $wpdb;
533
 
534
  if ( ! is_scalar( $id ) ) { $id = ''; }
548
  *
549
  * @since 4.6
550
  */
551
+ static public function deactivate_all() {
552
  global $wpdb;
553
 
554
  $sql = "
626
  * @since 4.6
627
  * @return array.
628
  */
629
+ static public function get_settings() {
630
  $defaults = array(
631
  'loadingmethod' => 'ajax',
632
  'geo_lookup' => 'hostip',
660
  * @since 4.6
661
  * @param array $value The value to save.
662
  */
663
+ static public function set_settings( $value ) {
664
  self::_set_option( 'inc_popup-config', $value );
665
  }
666
 
672
  * @param string $key
673
  * @return mixed
674
  */
675
+ static public function get_flag( $key ) {
676
  $data = get_user_meta( get_current_user_id(), 'po_data', true );
677
  if ( is_object( $data ) ) { $data = (array) $data; }
678
  if ( ! is_array( $data ) ) { $data = array(); }
679
 
680
+ return isset( $data[$key] ) ? $data[$key] : '';
681
  }
682
 
683
  /**
688
  * @param string $key
689
  * @param mixed $value
690
  */
691
+ static public function set_flag( $key, $value ) {
692
  $data = get_user_meta( get_current_user_id(), 'po_data', true );
693
  if ( is_object( $data ) ) { $data = (array) $data; }
694
  if ( ! is_array( $data ) ) { $data = array(); }
706
  static protected function _get_option( $key, $default ) {
707
  $value = $default;
708
  self::before_db();
709
+
710
  if ( IncPopup::use_global() ) {
711
  $value = get_site_option( $key, $default );
712
  } else {
713
  $value = get_option( $key, $default );
714
  }
715
+
716
  self::after_db();
717
  return $value;
718
  }
725
  */
726
  static protected function _set_option( $key, $value ) {
727
  self::before_db();
728
+
729
  if ( IncPopup::use_global() ) {
730
  update_site_option( $key, $value );
731
  } else {
732
  update_option( $key, $value );
733
  }
734
+
735
  self::after_db();
736
  }
737
 
inc/class-popup-item.php CHANGED
@@ -86,6 +86,9 @@ class IncPopupItem {
86
  // CSS option "no rounded corners".
87
  public $round_corners = true;
88
 
 
 
 
89
  // -- "Never show again" options
90
 
91
  // Add button "Never show popup again".
@@ -187,6 +190,7 @@ class IncPopupItem {
187
  $this->style = 'minimal';
188
  $this->deprecated_style = false;
189
  $this->round_corners = true;
 
190
  $this->can_hide = false;
191
  $this->close_hides = false;
192
  $this->hide_expire = 365;
@@ -203,9 +207,12 @@ class IncPopupItem {
203
  $this->rule_files = array();
204
  $this->rule_data = array();
205
 
206
- $this->code = (object) array();
207
- $this->code->id = 'a' . md5( date( 'dis' ) );
208
- $this->code->colors = '';
 
 
 
209
  }
210
 
211
  /**
@@ -253,6 +260,7 @@ class IncPopupItem {
253
 
254
  in_array( @$data['style'], $style_keys ) && $this->style = $data['style'];
255
  isset( $data['round_corners'] ) && $this->round_corners = (true == $data['round_corners']);
 
256
  isset( $data['can_hide'] ) && $this->can_hide = (true == $data['can_hide']);
257
  isset( $data['close_hides'] ) && $this->close_hides = (true == $data['close_hides']);
258
  absint( @$data['hide_expire'] ) > 0 && $this->hide_expire = absint( $data['hide_expire'] );
@@ -302,6 +310,7 @@ class IncPopupItem {
302
  $this->custom_colors = (true == @$this->custom_colors);
303
  $this->deprecated_style = (true == @$this->deprecated_style);
304
  $this->round_corners = (true == @$this->round_corners);
 
305
  $this->can_hide = (true == @$this->can_hide);
306
  $this->close_hides = (true == @$this->close_hides);
307
  $this->overlay_close = (true == @$this->overlay_close);
@@ -368,6 +377,7 @@ class IncPopupItem {
368
  $this->script_data['overlay_close'] = $this->overlay_close;
369
  $this->script_data['display'] = $this->display;
370
  $this->script_data['display_data'] = $this->display_data;
 
371
 
372
  // Validation only done when editing popups.
373
  if ( is_admin() ) {
@@ -449,6 +459,7 @@ class IncPopupItem {
449
  $this->custom_colors = get_post_meta( $this->id, 'po_custom_colors', true );
450
  $this->style = get_post_meta( $this->id, 'po_style', true );
451
  $this->round_corners = get_post_meta( $this->id, 'po_round_corners', true );
 
452
  $this->can_hide = get_post_meta( $this->id, 'po_can_hide', true );
453
  $this->close_hides = get_post_meta( $this->id, 'po_close_hides', true );
454
  $this->hide_expire = get_post_meta( $this->id, 'po_hide_expire', true );
@@ -540,6 +551,7 @@ class IncPopupItem {
540
  update_post_meta( $this->id, 'po_custom_colors', $this->custom_colors );
541
  update_post_meta( $this->id, 'po_style', $this->style );
542
  update_post_meta( $this->id, 'po_round_corners', $this->round_corners );
 
543
  update_post_meta( $this->id, 'po_can_hide', $this->can_hide );
544
  update_post_meta( $this->id, 'po_close_hides', $this->close_hides );
545
  update_post_meta( $this->id, 'po_hide_expire', $this->hide_expire );
86
  // CSS option "no rounded corners".
87
  public $round_corners = true;
88
 
89
+ // Allow page to be scrolled while PopUp is open.
90
+ public $scroll_body = true;
91
+
92
  // -- "Never show again" options
93
 
94
  // Add button "Never show popup again".
190
  $this->style = 'minimal';
191
  $this->deprecated_style = false;
192
  $this->round_corners = true;
193
+ $this->scroll_body = false;
194
  $this->can_hide = false;
195
  $this->close_hides = false;
196
  $this->hide_expire = 365;
207
  $this->rule_files = array();
208
  $this->rule_data = array();
209
 
210
+ $this->code = (object) array(
211
+ 'id' => 'a' . md5( date( 'dis' ) ),
212
+ 'colors' => '',
213
+ 'color1' => '',
214
+ 'color2' => '',
215
+ );
216
  }
217
 
218
  /**
260
 
261
  in_array( @$data['style'], $style_keys ) && $this->style = $data['style'];
262
  isset( $data['round_corners'] ) && $this->round_corners = (true == $data['round_corners']);
263
+ isset( $data['scroll_body'] ) && $this->scroll_body = (true == $data['scroll_body']);
264
  isset( $data['can_hide'] ) && $this->can_hide = (true == $data['can_hide']);
265
  isset( $data['close_hides'] ) && $this->close_hides = (true == $data['close_hides']);
266
  absint( @$data['hide_expire'] ) > 0 && $this->hide_expire = absint( $data['hide_expire'] );
310
  $this->custom_colors = (true == @$this->custom_colors);
311
  $this->deprecated_style = (true == @$this->deprecated_style);
312
  $this->round_corners = (true == @$this->round_corners);
313
+ $this->scroll_body = (true == @$this->scroll_body);
314
  $this->can_hide = (true == @$this->can_hide);
315
  $this->close_hides = (true == @$this->close_hides);
316
  $this->overlay_close = (true == @$this->overlay_close);
377
  $this->script_data['overlay_close'] = $this->overlay_close;
378
  $this->script_data['display'] = $this->display;
379
  $this->script_data['display_data'] = $this->display_data;
380
+ $this->script_data['scroll_body'] = $this->scroll_body;
381
 
382
  // Validation only done when editing popups.
383
  if ( is_admin() ) {
459
  $this->custom_colors = get_post_meta( $this->id, 'po_custom_colors', true );
460
  $this->style = get_post_meta( $this->id, 'po_style', true );
461
  $this->round_corners = get_post_meta( $this->id, 'po_round_corners', true );
462
+ $this->scroll_body = get_post_meta( $this->id, 'po_scroll_body', true );
463
  $this->can_hide = get_post_meta( $this->id, 'po_can_hide', true );
464
  $this->close_hides = get_post_meta( $this->id, 'po_close_hides', true );
465
  $this->hide_expire = get_post_meta( $this->id, 'po_hide_expire', true );
551
  update_post_meta( $this->id, 'po_custom_colors', $this->custom_colors );
552
  update_post_meta( $this->id, 'po_style', $this->style );
553
  update_post_meta( $this->id, 'po_round_corners', $this->round_corners );
554
+ update_post_meta( $this->id, 'po_scroll_body', $this->scroll_body );
555
  update_post_meta( $this->id, 'po_can_hide', $this->can_hide );
556
  update_post_meta( $this->id, 'po_close_hides', $this->close_hides );
557
  update_post_meta( $this->id, 'po_hide_expire', $this->hide_expire );
inc/class-popup-public.php CHANGED
@@ -81,11 +81,17 @@ class IncPopup extends IncPopupBase {
81
  // Initialize javascript-data.
82
  $this->script_data['ajaxurl'] = '';
83
  $this->script_data['do'] = 'get-data';
 
84
 
85
  // Find the current loading method.
86
- $cur_method = @$settings['loadingmethod'];
87
  if ( empty( $cur_method ) ) { $cur_method = 'ajax'; }
88
 
 
 
 
 
 
89
  /*
90
  * Apply the specific loading method to include the popup on the page.
91
  * Details to the loading methods are documented in the header comment
@@ -99,7 +105,9 @@ class IncPopup extends IncPopupBase {
99
  case 'front': // former 'frontloading'
100
  $this->load_method_front();
101
 
102
- if ( @$_GET['action'] == 'inc_popup' ) {
 
 
103
  $this->ajax_load_popup();
104
  }
105
  break;
@@ -108,6 +116,10 @@ class IncPopup extends IncPopupBase {
108
  $this->load_method_footer();
109
  break;
110
 
 
 
 
 
111
  default:
112
  /**
113
  * Custom loading handler can be processed by an add-on.
@@ -166,6 +178,7 @@ class IncPopup extends IncPopupBase {
166
  if ( ! in_array( $pagenow, array( 'wp-login.php', 'wp-register.php' ) ) ) {
167
  // Data is loaded via a normal WordPress ajax request.
168
  $this->script_data['ajaxurl'] = admin_url( 'admin-ajax.php' );
 
169
  $this->load_scripts();
170
  }
171
  }
@@ -189,6 +202,7 @@ class IncPopup extends IncPopupBase {
189
  * some URL parameters.
190
  */
191
  $this->script_data['ajaxurl'] = '';
 
192
  $this->load_scripts();
193
  }
194
  }
@@ -208,7 +222,7 @@ class IncPopup extends IncPopupBase {
208
  * These values are used by some rules and need to be set manually here
209
  * In an ajax request they would already be defined by the ajax url.
210
  */
211
- $_REQUEST['thereferrer'] = @$_SERVER['HTTP_REFERER'];
212
  $_REQUEST['thefrom'] = WDev()->current_url();
213
 
214
  // Populates $this->popups
@@ -235,6 +249,36 @@ class IncPopup extends IncPopupBase {
235
  );
236
  }
237
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
238
  /**
239
  * Used by "load_method_footer" to print the popup CSS styles.
240
  *
81
  // Initialize javascript-data.
82
  $this->script_data['ajaxurl'] = '';
83
  $this->script_data['do'] = 'get-data';
84
+ $this->script_data['ajax_data'] = array();
85
 
86
  // Find the current loading method.
87
+ $cur_method = isset( $settings['loadingmethod'] ) ? $settings['loadingmethod'] : 'ajax';
88
  if ( empty( $cur_method ) ) { $cur_method = 'ajax'; }
89
 
90
+ if ( isset( $_POST['_po_method_'] ) ) { $cur_method = $_POST['_po_method_']; }
91
+
92
+ if ( ! empty( $_REQUEST['thefrom'] ) ) { $_REQUEST['thefrom'] = strrev( $_REQUEST['thefrom'] ); }
93
+ if ( ! empty( $_REQUEST['thereferrer'] ) ) { $_REQUEST['thereferrer'] = strrev( $_REQUEST['thereferrer'] ); }
94
+
95
  /*
96
  * Apply the specific loading method to include the popup on the page.
97
  * Details to the loading methods are documented in the header comment
105
  case 'front': // former 'frontloading'
106
  $this->load_method_front();
107
 
108
+ if ( isset( $_GET['action'] )
109
+ && $_GET['action'] == 'inc_popup'
110
+ ) {
111
  $this->ajax_load_popup();
112
  }
113
  break;
116
  $this->load_method_footer();
117
  break;
118
 
119
+ case 'raw': // Set via form field "_po_method_"
120
+ $this->load_method_raw();
121
+ break;
122
+
123
  default:
124
  /**
125
  * Custom loading handler can be processed by an add-on.
178
  if ( ! in_array( $pagenow, array( 'wp-login.php', 'wp-register.php' ) ) ) {
179
  // Data is loaded via a normal WordPress ajax request.
180
  $this->script_data['ajaxurl'] = admin_url( 'admin-ajax.php' );
181
+ $this->script_data['ajax_data']['orig_request_uri'] = $_SERVER['REQUEST_URI'];
182
  $this->load_scripts();
183
  }
184
  }
202
  * some URL parameters.
203
  */
204
  $this->script_data['ajaxurl'] = '';
205
+ $this->script_data['ajax_data']['request_uri'] = $_SERVER['REQUEST_URI'];
206
  $this->load_scripts();
207
  }
208
  }
222
  * These values are used by some rules and need to be set manually here
223
  * In an ajax request they would already be defined by the ajax url.
224
  */
225
+ $_REQUEST['thereferrer'] = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : '';
226
  $_REQUEST['thefrom'] = WDev()->current_url();
227
 
228
  // Populates $this->popups
249
  );
250
  }
251
 
252
+ /**
253
+ * Load-Method: Raw
254
+ *
255
+ * This is used when a form is submitted inside a PopUp - it means that we
256
+ * should only return the contents of the PopUp(s) and not the whole page.
257
+ * Set via form field "_po_method_".
258
+ *
259
+ * @since 4.6.1.2
260
+ */
261
+ protected function load_method_raw() {
262
+ /**
263
+ * Set up the rquest information from here.
264
+ * These values are used by some rules and need to be set manually here
265
+ * In an ajax request they would already be defined by the ajax url.
266
+ */
267
+ $_REQUEST['thereferrer'] = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : '';
268
+ $_REQUEST['thefrom'] = WDev()->current_url();
269
+
270
+ // Populates $this->popups
271
+ $this->select_popup();
272
+
273
+ if ( empty( $this->popups ) ) { die(); }
274
+
275
+ echo '<div>';
276
+ $this->show_footer();
277
+ echo '</div>';
278
+
279
+ die();
280
+ }
281
+
282
  /**
283
  * Used by "load_method_footer" to print the popup CSS styles.
284
  *
inc/class-popup-rule.php CHANGED
@@ -17,7 +17,7 @@ class IncPopupRules {
17
  * @param string $classname Class-name (not object!)
18
  */
19
  static public function register( $classname ) {
20
- self::$classes[] = new $classname();
21
  }
22
 
23
 
@@ -76,7 +76,7 @@ class IncPopupRules {
76
  *
77
  * @since 1.0.0
78
  */
79
- public function init() {
80
  add_filter(
81
  'popup-rule-label',
82
  array( __CLASS__, '_label' ),
@@ -333,7 +333,13 @@ abstract class IncPopupRule {
333
 
334
  $method = 'apply_' . $key;
335
  if ( method_exists( $this, $method ) ) {
336
- if ( ! $this->$method( @$popup->rule_data[$key], $popup ) ) {
 
 
 
 
 
 
337
  $show = false;
338
  }
339
  }
@@ -351,8 +357,14 @@ abstract class IncPopupRule {
351
  public function _form( $popup, $key ) {
352
  $method = 'form_' . $key;
353
  if ( method_exists( $this, $method ) ) {
 
 
 
 
 
 
354
  echo '<div class="rule-form">';
355
- $this->$method( @$popup->rule_data[$key] );
356
  echo '</div>';
357
  }
358
  }
@@ -409,6 +421,7 @@ abstract class IncPopupRule {
409
  public function _admin_rule_list( $key, $data, $popup ) {
410
  $active = $popup->uses_rule( $key );
411
  $class = $active ? 'on' : 'off';
 
412
  ?>
413
  <li class="rule rule-<?php echo esc_attr( $key ); ?> <?php echo esc_attr( $class ); ?>">
414
  <div class="wpmui-toggle">
@@ -416,7 +429,7 @@ abstract class IncPopupRule {
416
  class="wpmui-toggle-checkbox"
417
  id="rule-<?php echo esc_attr( $key ); ?>"
418
  data-form="#po-rule-<?php echo esc_attr( $key ); ?>"
419
- data-exclude="<?php echo esc_attr( @$data->exclude ); ?>"
420
  name="po_rule[]"
421
  value="<?php echo esc_attr( $key ); ?>"
422
  <?php checked( $active ); ?> />
@@ -430,4 +443,4 @@ abstract class IncPopupRule {
430
  <?php
431
  }
432
 
433
- };
17
  * @param string $classname Class-name (not object!)
18
  */
19
  static public function register( $classname ) {
20
+ self::$classes[$classname] = new $classname();
21
  }
22
 
23
 
76
  *
77
  * @since 1.0.0
78
  */
79
+ static public function init() {
80
  add_filter(
81
  'popup-rule-label',
82
  array( __CLASS__, '_label' ),
333
 
334
  $method = 'apply_' . $key;
335
  if ( method_exists( $this, $method ) ) {
336
+ if ( isset( $popup->rule_data[$key] ) ) {
337
+ $data = $popup->rule_data[$key];
338
+ } else {
339
+ $data = '';
340
+ }
341
+
342
+ if ( ! $this->$method( $data, $popup ) ) {
343
  $show = false;
344
  }
345
  }
357
  public function _form( $popup, $key ) {
358
  $method = 'form_' . $key;
359
  if ( method_exists( $this, $method ) ) {
360
+ if ( isset( $popup->rule_data[$key] ) ) {
361
+ $data = $popup->rule_data[$key];
362
+ } else {
363
+ $data = '';
364
+ }
365
+
366
  echo '<div class="rule-form">';
367
+ $this->$method( $data );
368
  echo '</div>';
369
  }
370
  }
421
  public function _admin_rule_list( $key, $data, $popup ) {
422
  $active = $popup->uses_rule( $key );
423
  $class = $active ? 'on' : 'off';
424
+ $exclude = isset( $data->exclude ) ? $data->exclude : '';
425
  ?>
426
  <li class="rule rule-<?php echo esc_attr( $key ); ?> <?php echo esc_attr( $class ); ?>">
427
  <div class="wpmui-toggle">
429
  class="wpmui-toggle-checkbox"
430
  id="rule-<?php echo esc_attr( $key ); ?>"
431
  data-form="#po-rule-<?php echo esc_attr( $key ); ?>"
432
+ data-exclude="<?php echo esc_attr( $exclude ); ?>"
433
  name="po_rule[]"
434
  value="<?php echo esc_attr( $key ); ?>"
435
  <?php checked( $active ); ?> />
443
  <?php
444
  }
445
 
446
+ };
inc/external/wpmu-lib/changelog.txt CHANGED
@@ -1,63 +1,86 @@
1
- Plugin Name: WPMU Dev code library
2
- Author: Philipp Stracker
3
-
4
- Change Log:
5
- ----------------------------------------------------------------------
6
-
7
- 1.0.11
8
- ----------------------------------------------------------------------
9
- - Fixed z-index of overlay and popup window (fixes issues in Firefox)
10
- - Fixed issue with dropdown lists that didn't close properly.
11
- - Fixed loading of plugin translations.
12
- - Add support for multiselect lists with ajax source.
13
-
14
- 1.0.10
15
- ----------------------------------------------------------------------
16
- - Fixed z-index of select2 dropdown list (fixes issues of multiselect in tickbox)
17
-
18
- 1.0.9 - 2014-08-15
19
- ----------------------------------------------------------------------
20
- - Add the UI files 'vnav': WDev()->add_ui( 'vnav' );
21
- - Fix bug that happened when enqueuing the very first script/style using WDev()
22
-
23
- 1.0.8 - 2014-08-12
24
- ----------------------------------------------------------------------
25
- - Methods now must be called via "WDev()->method()" and not "TheLib::method()".
26
- - Situations when plugins include different versions of the library are resolved correctly now.
27
-
28
- 1.0.7 - 2014-07-28
29
- ----------------------------------------------------------------------
30
- - Make message() persitent: Message is displayed even after redirect
31
- - add_js() and add_css() now accept a script-alias instead of url to load core WordPress scripts.
32
- - New function TheLib::current_url()
33
-
34
- 1.0.6 - 2014-07-21
35
- ----------------------------------------------------------------------
36
- - New javascript function "wpmUi.obj()": Convert JS array to object.
37
-
38
- 1.0.5 - 2014-07-11
39
- ----------------------------------------------------------------------
40
- - Fix buddypress warning caused by calling get_current_user_id too early.
41
- - Add new parameter to ajax().load_http() to specify the target frame.
42
- - Change function name "load_textlang" to "translate_plugin"
43
- - Fix issues with url translation (css_url / js_url)
44
-
45
- 1.0.4 - 2014-07-10
46
- ----------------------------------------------------------------------
47
- - Fix warning about static functions.
48
-
49
- 1.0.3 - 2014-07-09
50
- ----------------------------------------------------------------------
51
- - Support for Windows server (fixes javascript errors)
52
-
53
- 1.0.2 - 2014-07-09
54
- ----------------------------------------------------------------------
55
- - Correct the "pointer" function to dismis pointers correctly.
56
-
57
- 1.0.1 - 2014-07-09
58
- ----------------------------------------------------------------------
59
- - PHP 5.2 compatibility
60
-
61
- 1.0 - 2014-07-01
62
- ----------------------------------------------------------------------
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  - First version.
1
+ Plugin Name: WPMU Dev code library
2
+ Author: Philipp Stracker
3
+
4
+ Change Log:
5
+ ----------------------------------------------------------------------
6
+
7
+ 1.0.15
8
+ ----------------------------------------------------------------------
9
+ - Add new session storage functions: WDev()->store_add(), store_get()
10
+ - Add JS wpmUi.binary object to base-64 encode/decode data
11
+
12
+ 1.0.14
13
+ ----------------------------------------------------------------------
14
+ - Add support for popup-classes (JS)
15
+ - Add JS confirmation dialog: wpmUi.confirm()
16
+ - Add new PHP functions to sanitize missing array keys: WDev()->load_fields()
17
+ - Add new PHP debugging function: WDev()->debug()
18
+
19
+ 1.0.13
20
+ ----------------------------------------------------------------------
21
+ - Migrate project to grunt
22
+ - Add support for wp-config option: define('WDEV_UNMINIFIED', true)
23
+ - Fix javascript issue with dynamic form submit in WpmUiAjaxData
24
+
25
+ 1.0.12
26
+ ----------------------------------------------------------------------
27
+ - Fix issue with duplicate markup of cloned multiselect elements.
28
+ - Make JS auto-init optional by checking body class 'no-auto-init'.
29
+
30
+ 1.0.11
31
+ ----------------------------------------------------------------------
32
+ - Fixed z-index of overlay and popup window (fixes issues in Firefox)
33
+ - Fixed issue with dropdown lists that didn't close properly.
34
+ - Fixed loading of plugin translations.
35
+ - Add support for multiselect lists with ajax source.
36
+
37
+ 1.0.10
38
+ ----------------------------------------------------------------------
39
+ - Fixed z-index of select2 dropdown list (fixes issues of multiselect in tickbox)
40
+
41
+ 1.0.9 - 2014-08-15
42
+ ----------------------------------------------------------------------
43
+ - Add the UI files 'vnav': WDev()->add_ui( 'vnav' );
44
+ - Fix bug that happened when enqueuing the very first script/style using WDev()
45
+
46
+ 1.0.8 - 2014-08-12
47
+ ----------------------------------------------------------------------
48
+ - Methods now must be called via "WDev()->method()" and not "TheLib::method()".
49
+ - Situations when plugins include different versions of the library are resolved correctly now.
50
+
51
+ 1.0.7 - 2014-07-28
52
+ ----------------------------------------------------------------------
53
+ - Make message() persitent: Message is displayed even after redirect
54
+ - add_js() and add_css() now accept a script-alias instead of url to load core WordPress scripts.
55
+ - New function TheLib::current_url()
56
+
57
+ 1.0.6 - 2014-07-21
58
+ ----------------------------------------------------------------------
59
+ - New javascript function "wpmUi.obj()": Convert JS array to object.
60
+
61
+ 1.0.5 - 2014-07-11
62
+ ----------------------------------------------------------------------
63
+ - Fix buddypress warning caused by calling get_current_user_id too early.
64
+ - Add new parameter to ajax().load_http() to specify the target frame.
65
+ - Change function name "load_textlang" to "translate_plugin"
66
+ - Fix issues with url translation (css_url / js_url)
67
+
68
+ 1.0.4 - 2014-07-10
69
+ ----------------------------------------------------------------------
70
+ - Fix warning about static functions.
71
+
72
+ 1.0.3 - 2014-07-09
73
+ ----------------------------------------------------------------------
74
+ - Support for Windows server (fixes javascript errors)
75
+
76
+ 1.0.2 - 2014-07-09
77
+ ----------------------------------------------------------------------
78
+ - Correct the "pointer" function to dismis pointers correctly.
79
+
80
+ 1.0.1 - 2014-07-09
81
+ ----------------------------------------------------------------------
82
+ - PHP 5.2 compatibility
83
+
84
+ 1.0 - 2014-07-01
85
+ ----------------------------------------------------------------------
86
  - First version.
inc/external/wpmu-lib/core.php CHANGED
@@ -1,56 +1,63 @@
1
- <?php
2
- /*
3
- Plugin Name: WPMU Dev code library
4
- Plugin URI: http://premium.wpmudev.org/
5
- Description: Framework to support creating WordPress plugins and themes.
6
- Version: 1.0.11
7
- Author: WPMU DEV
8
- Author URI: http://premium.wpmudev.org/
9
- Textdomain: wpmu-lib
10
- */
11
-
12
- $version = '1.0.11'; // Remember to update the class-name in functions-wpmulib.php!!
13
-
14
- /**
15
- * Load TheLib class definition if not some other plugin already loaded it.
16
- */
17
- $dirname = dirname( __FILE__ ) . '/';
18
- $class_file = 'functions-wpmulib.php';
19
- $class_name = 'TheLib_' . str_replace( '.', '_', $version );
20
- if ( ! class_exists( $class_name ) && file_exists( $dirname . $class_file ) ) {
21
- require_once( $dirname . $class_file );
22
- }
23
-
24
- if ( ! class_exists( 'TheLibWrap' ) ) {
25
- /**
26
- * The wrapper class is used to handle situations when some plugins include
27
- * different versions of TheLib.
28
- *
29
- * TheLibWrap will always keep the latest version of TheLib for later usage.
30
- */
31
- class TheLibWrap {
32
- static public $version = '0.0.0';
33
- static public $object = null;
34
-
35
- static public function set_obj( $version, $obj ) {
36
- if ( version_compare( $version, self::$version, '>' ) ) {
37
- self::$version = $version;
38
- self::$object = $obj;
39
- }
40
- }
41
- };
42
- }
43
- $obj = new $class_name();
44
- TheLibWrap::set_obj( $version, $obj );
45
-
46
- if ( ! function_exists( 'WDev' ) ) {
47
- /**
48
- * This is a shortcut function to access the latest TheLib object.
49
- *
50
- * Usage:
51
- * WDev()->message();
52
- */
53
- function WDev() {
54
- return TheLibWrap::$object;
55
- }
56
- }
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ Plugin Name: WPMU Dev code library
4
+ Plugin URI: http://premium.wpmudev.org/
5
+ Description: Framework to support creating WordPress plugins and themes.
6
+ Version: 1.0.15
7
+ Author: WPMU DEV
8
+ Author URI: http://premium.wpmudev.org/
9
+ Textdomain: wpmu-lib
10
+ */
11
+
12
+ /**
13
+ * Constants for wp-config.php
14
+ *
15
+ * define( 'WDEV_UNMINIFIED', true ) // Load the unminified JS/CSS files
16
+ * define( 'WDEV_DEBUG', true ) // Activate WDev()->debug() without having to enable WP_DEBUG
17
+ */
18
+
19
+ $version = '1.0.15'; // Remember to update the class-name in functions-wpmulib.php!!
20
+
21
+ /**
22
+ * Load TheLib class definition if not some other plugin already loaded it.
23
+ */
24
+ $dirname = dirname( __FILE__ ) . '/';
25
+ $class_file = 'functions-wpmulib.php';
26
+ $class_name = 'TheLib_' . str_replace( '.', '_', $version );
27
+ if ( ! class_exists( $class_name ) && file_exists( $dirname . $class_file ) ) {
28
+ require_once( $dirname . $class_file );
29
+ }
30
+
31
+ if ( ! class_exists( 'TheLibWrap' ) ) {
32
+ /**
33
+ * The wrapper class is used to handle situations when some plugins include
34
+ * different versions of TheLib.
35
+ *
36
+ * TheLibWrap will always keep the latest version of TheLib for later usage.
37
+ */
38
+ class TheLibWrap {
39
+ static public $version = '0.0.0';
40
+ static public $object = null;
41
+
42
+ static public function set_obj( $version, $obj ) {
43
+ if ( version_compare( $version, self::$version, '>' ) ) {
44
+ self::$version = $version;
45
+ self::$object = $obj;
46
+ }
47
+ }
48
+ };
49
+ }
50
+ $obj = new $class_name();
51
+ TheLibWrap::set_obj( $version, $obj );
52
+
53
+ if ( ! function_exists( 'WDev' ) ) {
54
+ /**
55
+ * This is a shortcut function to access the latest TheLib object.
56
+ *
57
+ * Usage:
58
+ * WDev()->message();
59
+ */
60
+ function WDev() {
61
+ return TheLibWrap::$object;
62
+ }
63
+ }
inc/external/wpmu-lib/css/select2.css CHANGED
@@ -1 +1,682 @@
1
- .select2-container{margin:0;position:relative;display:inline-block;zoom:1;*display:inline;vertical-align:middle}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.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;background-image:-webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));background-image:-webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);background-image:-moz-linear-gradient(center bottom, #eee 0%, #fff 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);background-image:linear-gradient(to top, #eee 0%, #fff 50%)}html[dir="rtl"] .select2-container .select2-choice{padding:0 8px 0 0}.select2-container.select2-drop-above .select2-choice{border-bottom-color:#aaa;border-radius:0 0 4px 4px;background-image:-webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));background-image:-webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);background-image:-moz-linear-gradient(center bottom, #eee 0%, #fff 90%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);background-image:linear-gradient(to bottom, #eee 0%, #fff 90%)}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;float:none;width:auto}html[dir="rtl"] .select2-container .select2-choice>.select2-chosen{margin-left:26px;margin-right:0}.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?1404482879') right top no-repeat;cursor:pointer;outline:0}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block}.select2-container .select2-choice abbr:hover{background-position:right -11px;cursor:pointer}.select2-drop-mask{border:0;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;background-color:#fff;filter:alpha(opacity=0)}.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;-webkit-box-shadow:0 4px 5px rgba(0,0,0,0.15);box-shadow:0 4px 5px rgba(0,0,0,0.15)}.select2-drop.select2-drop-above{margin-top:1px;border-top:1px solid #aaa;border-bottom:0;border-radius:4px 4px 0 0;-webkit-box-shadow:0 -4px 5px rgba(0,0,0,0.15);box-shadow:0 -4px 5px rgba(0,0,0,0.15)}.select2-drop-active{border:1px solid #5897fb;border-top:none}.select2-drop.select2-drop-above.select2-drop-active{border-top:1px solid #5897fb}.select2-drop-auto-width{border-top:1px solid #aaa;width:auto}.select2-drop-auto-width .select2-search{padding-top:4px}.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;background-image:-webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));background-image:-webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);background-image:-moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);background-image:linear-gradient(to top, #ccc 0%, #eee 60%)}html[dir="rtl"] .select2-container .select2-choice .select2-arrow{left:0;right:auto;border-left:none;border-right:1px solid #aaa;border-radius:4px 0 0 4px}.select2-container .select2-choice .select2-arrow b{display:block;width:100%;height:100%;background:url('../img/select2.png?1404482879') no-repeat 0 1px}html[dir="rtl"] .select2-container .select2-choice .select2-arrow b{background-position:2px 1px}.select2-search{display:inline-block;width:100%;min-height:26px;margin:0;padding-left:4px;padding-right:4px;position:relative;z-index:10000;white-space:nowrap}.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;-webkit-box-shadow:none;box-shadow:none;background:#fff url('../img/select2.png?1404482879') no-repeat 100% -22px;background:url('../img/select2.png?1404482879') no-repeat 100% -22px,-webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));background:url('../img/select2.png?1404482879') no-repeat 100% -22px,-webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);background:url('../img/select2.png?1404482879') no-repeat 100% -22px,-moz-linear-gradient(center bottom, #fff 85%, #eee 99%);background:url('../img/select2.png?1404482879') no-repeat 100% -22px,linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0}html[dir="rtl"] .select2-search input{padding:4px 5px 4px 20px;background:#fff url('../img/select2.png?1404482879') no-repeat -37px -22px;background:url('../img/select2.png?1404482879') no-repeat -37px -22px,-webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));background:url('../img/select2.png?1404482879') no-repeat -37px -22px,-webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);background:url('../img/select2.png?1404482879') no-repeat -37px -22px,-moz-linear-gradient(center bottom, #fff 85%, #eee 99%);background:url('../img/select2.png?1404482879') no-repeat -37px -22px,linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0}.select2-drop.select2-drop-above .select2-search input{margin-top:4px}.select2-search input.select2-active{background:#fff url('../img/spinner.gif?1402931905') no-repeat 100%;background:url('../img/spinner.gif?1402931905') no-repeat 100%,-webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));background:url('../img/spinner.gif?1402931905') no-repeat 100%,-webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);background:url('../img/spinner.gif?1402931905') no-repeat 100%,-moz-linear-gradient(center bottom, #fff 85%, #eee 99%);background:url('../img/spinner.gif?1402931905') no-repeat 100%,linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0}.select2-container-active .select2-choice,.select2-container-active .select2-choices{border:1px solid #5897fb;outline:none;-webkit-box-shadow:0 0 5px rgba(0,0,0,0.3);box-shadow:0 0 5px rgba(0,0,0,0.3)}.select2-dropdown-open .select2-choice{border-bottom-color:transparent;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:#eee;background-image:-webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));background-image:-webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);background-image:-moz-linear-gradient(center bottom, #fff 0%, #eee 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);background-image:linear-gradient(to top, #fff 0%, #eee 50%)}.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{border:1px solid #5897fb;border-top-color:transparent;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));background-image:-webkit-linear-gradient(center top, #fff 0%, #eee 50%);background-image:-moz-linear-gradient(center top, #fff 0%, #eee 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%)}.select2-dropdown-open .select2-choice .select2-arrow{background:transparent;border-left:none;filter:none}html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow{border-right:none}.select2-dropdown-open .select2-choice .select2-arrow b{background-position:-18px 1px}html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow b{background-position:-16px 1px}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.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:transparent}html[dir="rtl"] .select2-results{padding:0 4px 0 0;margin:4px 0 4px 4px}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results li{list-style:none;display:list-item;background-image:none}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:bold}.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}.select2-results-dept-1 .select2-result-label{padding-left:20px}.select2-results-dept-2 .select2-result-label{padding-left:40px}.select2-results-dept-3 .select2-result-label{padding-left:60px}.select2-results-dept-4 .select2-result-label{padding-left:80px}.select2-results-dept-5 .select2-result-label{padding-left:100px}.select2-results-dept-6 .select2-result-label{padding-left:110px}.select2-results-dept-7 .select2-result-label{padding-left:120px}.select2-results .select2-highlighted{background:#3875d7;color:#fff}.select2-results li em{background:#feffde;font-style:normal}.select2-results .select2-highlighted em{background:transparent}.select2-results .select2-highlighted ul{background:#fff;color:#000}.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4;display:list-item;padding-left:5px}.select2-results .select2-disabled.select2-highlighted{color:#666;background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-disabled{background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:#f4f4f4 url('../img/spinner.gif?1402931905') no-repeat 100%}.select2-more-results{background:#f4f4f4;display:list-item}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background-color:#f4f4f4;background-image:none;border-left:0}.select2-container.select2-container-disabled .select2-choice abbr{display:none}.select2-container-multi .select2-choices{height:auto !important;height:1%;margin:0;padding:0 5px 0 0;position:relative;border:1px solid #aaa;cursor:text;overflow:hidden;background-color:#fff;background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));background-image:-webkit-linear-gradient(top, #eee 1%, #fff 15%);background-image:-moz-linear-gradient(top, #eee 1%, #fff 15%);background-image:linear-gradient(to bottom, #eee 1%, #fff 15%)}html[dir="rtl"] .select2-container-multi .select2-choices{padding:0 0 0 5px}.select2-locked{padding:3px 5px 3px 5px !important}.select2-container-multi .select2-choices{min-height:26px}.select2-container-multi.select2-container-active .select2-choices{border:1px solid #5897fb;outline:none;-webkit-box-shadow:0 0 5px rgba(0,0,0,0.3);box-shadow:0 0 5px rgba(0,0,0,0.3)}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir="rtl"] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{padding:5px;margin:1px 0;font-family:sans-serif;font-size:100%;color:#666;outline:0;border:0;-webkit-box-shadow:none;box-shadow:none;background:transparent !important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:#fff url('../img/spinner.gif?1402931905') no-repeat 100% !important}.select2-default{color:#999 !important}.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;-webkit-box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,0.05);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:-webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));background-image:-webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);background-image:-moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);background-image:linear-gradient(to top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%)}html[dir="rtl"] .select2-container-multi .select2-choices .select2-search-choice{margin:3px 5px 3px 0;padding:3px 18px 3px 5px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#d4d4d4}.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?1404482879') right top no-repeat}html[dir="rtl"] .select2-search-choice-close{right:auto;left:3px}.select2-container-multi .select2-search-choice-close{left:3px}html[dir="rtl"] .select2-container-multi .select2-search-choice-close{left:auto;right:2px}.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover{background-position:right -11px}.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close{background-position:right -11px}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.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}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:none}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.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}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx){.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?1404482879') !important;background-repeat:no-repeat !important;background-size:60px 40px !important}.select2-search input{background-position:100% -21px !important}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Version: 3.5.0 Timestamp: Mon Jun 16 19:29:44 EDT 2014
3
+ */
4
+ .select2-container {
5
+ margin: 0;
6
+ position: relative;
7
+ display: inline-block;
8
+ /* inline-block for ie7 */
9
+ zoom: 1;
10
+ *display: inline;
11
+ vertical-align: middle;
12
+ }
13
+
14
+ .select2-container,
15
+ .select2-drop,
16
+ .select2-search,
17
+ .select2-search input {
18
+ /*
19
+ Force border-box so that % widths fit the parent
20
+ container without overlap because of margin/padding.
21
+ More Info : http://www.quirksmode.org/css/box.html
22
+ */
23
+ -webkit-box-sizing: border-box;
24
+ /* webkit */
25
+ -moz-box-sizing: border-box;
26
+ /* firefox */
27
+ box-sizing: border-box;
28
+ /* css3 */
29
+ }
30
+
31
+ .select2-container .select2-choice {
32
+ display: block;
33
+ height: 26px;
34
+ padding: 0 0 0 8px;
35
+ overflow: hidden;
36
+ position: relative;
37
+ border: 1px solid #aaa;
38
+ white-space: nowrap;
39
+ line-height: 26px;
40
+ color: #444;
41
+ text-decoration: none;
42
+ border-radius: 4px;
43
+ background-clip: padding-box;
44
+ -webkit-touch-callout: none;
45
+ -webkit-user-select: none;
46
+ -moz-user-select: none;
47
+ -ms-user-select: none;
48
+ user-select: none;
49
+ background-color: #fff;
50
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));
51
+ background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);
52
+ background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);
53
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);
54
+ background-image: linear-gradient(to top, #eee 0%, #fff 50%);
55
+ }
56
+
57
+ html[dir="rtl"] .select2-container .select2-choice {
58
+ padding: 0 8px 0 0;
59
+ }
60
+
61
+ .select2-container.select2-drop-above .select2-choice {
62
+ border-bottom-color: #aaa;
63
+ border-radius: 0 0 4px 4px;
64
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));
65
+ background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);
66
+ background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);
67
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);
68
+ background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);
69
+ }
70
+
71
+ .select2-container.select2-allowclear .select2-choice .select2-chosen {
72
+ margin-right: 42px;
73
+ }
74
+
75
+ .select2-container .select2-choice > .select2-chosen {
76
+ margin-right: 26px;
77
+ display: block;
78
+ overflow: hidden;
79
+ white-space: nowrap;
80
+ text-overflow: ellipsis;
81
+ float: none;
82
+ width: auto;
83
+ }
84
+
85
+ html[dir="rtl"] .select2-container .select2-choice > .select2-chosen {
86
+ margin-left: 26px;
87
+ margin-right: 0;
88
+ }
89
+
90
+ .select2-container .select2-choice abbr {
91
+ display: none;
92
+ width: 12px;
93
+ height: 12px;
94
+ position: absolute;
95
+ right: 24px;
96
+ top: 8px;
97
+ font-size: 1px;
98
+ text-decoration: none;
99
+ border: 0;
100
+ background: image-url("select2.png") right top no-repeat;
101
+ cursor: pointer;
102
+ outline: 0;
103
+ }
104
+
105
+ .select2-container.select2-allowclear .select2-choice abbr {
106
+ display: inline-block;
107
+ }
108
+
109
+ .select2-container .select2-choice abbr:hover {
110
+ background-position: right -11px;
111
+ cursor: pointer;
112
+ }
113
+
114
+ .select2-drop-mask {
115
+ border: 0;
116
+ margin: 0;
117
+ padding: 0;
118
+ position: fixed;
119
+ left: 0;
120
+ top: 0;
121
+ min-height: 100%;
122
+ min-width: 100%;
123
+ height: auto;
124
+ width: auto;
125
+ opacity: 0;
126
+ z-index: 9998;
127
+ /* styles required for IE to work */
128
+ background-color: #fff;
129
+ filter: alpha(opacity=0);
130
+ }
131
+
132
+ .select2-drop {
133
+ width: 100%;
134
+ margin-top: -1px;
135
+ position: absolute;
136
+ z-index: 9999;
137
+ top: 100%;
138
+ background: #fff;
139
+ color: #000;
140
+ border: 1px solid #aaa;
141
+ border-top: 0;
142
+ border-radius: 0 0 4px 4px;
143
+ -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
144
+ box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
145
+ }
146
+
147
+ .select2-drop.select2-drop-above {
148
+ margin-top: 1px;
149
+ border-top: 1px solid #aaa;
150
+ border-bottom: 0;
151
+ border-radius: 4px 4px 0 0;
152
+ -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, 0.15);
153
+ box-shadow: 0 -4px 5px rgba(0, 0, 0, 0.15);
154
+ }
155
+
156
+ .select2-drop-active {
157
+ border: 1px solid #5897fb;
158
+ border-top: none;
159
+ }
160
+
161
+ .select2-drop.select2-drop-above.select2-drop-active {
162
+ border-top: 1px solid #5897fb;
163
+ }
164
+
165
+ .select2-drop-auto-width {
166
+ border-top: 1px solid #aaa;
167
+ width: auto;
168
+ }
169
+
170
+ .select2-drop-auto-width .select2-search {
171
+ padding-top: 4px;
172
+ }
173
+
174
+ .select2-container .select2-choice .select2-arrow {
175
+ display: inline-block;
176
+ width: 18px;
177
+ height: 100%;
178
+ position: absolute;
179
+ right: 0;
180
+ top: 0;
181
+ border-left: 1px solid #aaa;
182
+ border-radius: 0 4px 4px 0;
183
+ background-clip: padding-box;
184
+ background: #ccc;
185
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
186
+ background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
187
+ background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
188
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);
189
+ background-image: linear-gradient(to top, #ccc 0%, #eee 60%);
190
+ }
191
+
192
+ html[dir="rtl"] .select2-container .select2-choice .select2-arrow {
193
+ left: 0;
194
+ right: auto;
195
+ border-left: none;
196
+ border-right: 1px solid #aaa;
197
+ border-radius: 4px 0 0 4px;
198
+ }
199
+
200
+ .select2-container .select2-choice .select2-arrow b {
201
+ display: block;
202
+ width: 100%;
203
+ height: 100%;
204
+ background: image-url("select2.png") no-repeat 0 1px;
205
+ }
206
+
207
+ html[dir="rtl"] .select2-container .select2-choice .select2-arrow b {
208
+ background-position: 2px 1px;
209
+ }
210
+
211
+ .select2-search {
212
+ display: inline-block;
213
+ width: 100%;
214
+ min-height: 26px;
215
+ margin: 0;
216
+ padding-left: 4px;
217
+ padding-right: 4px;
218
+ position: relative;
219
+ z-index: 10000;
220
+ white-space: nowrap;
221
+ }
222
+
223
+ .select2-search input {
224
+ width: 100%;
225
+ height: auto !important;
226
+ min-height: 26px;
227
+ padding: 4px 20px 4px 5px;
228
+ margin: 0;
229
+ outline: 0;
230
+ font-family: sans-serif;
231
+ font-size: 1em;
232
+ border: 1px solid #aaa;
233
+ border-radius: 0;
234
+ -webkit-box-shadow: none;
235
+ box-shadow: none;
236
+ background: #fff image-url("select2.png") no-repeat 100% -22px;
237
+ background: image-url("select2.png") no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
238
+ background: image-url("select2.png") no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
239
+ background: image-url("select2.png") no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
240
+ background: image-url("select2.png") no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
241
+ }
242
+
243
+ html[dir="rtl"] .select2-search input {
244
+ padding: 4px 5px 4px 20px;
245
+ background: #fff image-url("select2.png") no-repeat -37px -22px;
246
+ background: image-url("select2.png") no-repeat -37px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
247
+ background: image-url("select2.png") no-repeat -37px -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
248
+ background: image-url("select2.png") no-repeat -37px -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
249
+ background: image-url("select2.png") no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
250
+ }
251
+
252
+ .select2-drop.select2-drop-above .select2-search input {
253
+ margin-top: 4px;
254
+ }
255
+
256
+ .select2-search input.select2-active {
257
+ background: #fff image-url("spinner.gif") no-repeat 100%;
258
+ background: image-url("spinner.gif") no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
259
+ background: image-url("spinner.gif") no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
260
+ background: image-url("spinner.gif") no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
261
+ background: image-url("spinner.gif") no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
262
+ }
263
+
264
+ .select2-container-active .select2-choice,
265
+ .select2-container-active .select2-choices {
266
+ border: 1px solid #5897fb;
267
+ outline: none;
268
+ -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
269
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
270
+ }
271
+
272
+ .select2-dropdown-open .select2-choice {
273
+ border-bottom-color: transparent;
274
+ -webkit-box-shadow: 0 1px 0 #fff inset;
275
+ box-shadow: 0 1px 0 #fff inset;
276
+ border-bottom-left-radius: 0;
277
+ border-bottom-right-radius: 0;
278
+ background-color: #eee;
279
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));
280
+ background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);
281
+ background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);
282
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
283
+ background-image: linear-gradient(to top, #fff 0%, #eee 50%);
284
+ }
285
+
286
+ .select2-dropdown-open.select2-drop-above .select2-choice,
287
+ .select2-dropdown-open.select2-drop-above .select2-choices {
288
+ border: 1px solid #5897fb;
289
+ border-top-color: transparent;
290
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));
291
+ background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);
292
+ background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);
293
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
294
+ background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);
295
+ }
296
+
297
+ .select2-dropdown-open .select2-choice .select2-arrow {
298
+ background: transparent;
299
+ border-left: none;
300
+ filter: none;
301
+ }
302
+
303
+ html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow {
304
+ border-right: none;
305
+ }
306
+
307
+ .select2-dropdown-open .select2-choice .select2-arrow b {
308
+ background-position: -18px 1px;
309
+ }
310
+
311
+ html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow b {
312
+ background-position: -16px 1px;
313
+ }
314
+
315
+ .select2-hidden-accessible {
316
+ border: 0;
317
+ clip: rect(0 0 0 0);
318
+ height: 1px;
319
+ margin: -1px;
320
+ overflow: hidden;
321
+ padding: 0;
322
+ position: absolute;
323
+ width: 1px;
324
+ }
325
+
326
+ /* results */
327
+ .select2-results {
328
+ max-height: 200px;
329
+ padding: 0 0 0 4px;
330
+ margin: 4px 4px 4px 0;
331
+ position: relative;
332
+ overflow-x: hidden;
333
+ overflow-y: auto;
334
+ -webkit-tap-highlight-color: transparent;
335
+ }
336
+
337
+ html[dir="rtl"] .select2-results {
338
+ padding: 0 4px 0 0;
339
+ margin: 4px 0 4px 4px;
340
+ }
341
+
342
+ .select2-results ul.select2-result-sub {
343
+ margin: 0;
344
+ padding-left: 0;
345
+ }
346
+
347
+ .select2-results li {
348
+ list-style: none;
349
+ display: list-item;
350
+ background-image: none;
351
+ }
352
+
353
+ .select2-results li.select2-result-with-children > .select2-result-label {
354
+ font-weight: bold;
355
+ }
356
+
357
+ .select2-results .select2-result-label {
358
+ padding: 3px 7px 4px;
359
+ margin: 0;
360
+ cursor: pointer;
361
+ min-height: 1em;
362
+ -webkit-touch-callout: none;
363
+ -webkit-user-select: none;
364
+ -moz-user-select: none;
365
+ -ms-user-select: none;
366
+ user-select: none;
367
+ }
368
+
369
+ .select2-results-dept-1 .select2-result-label {
370
+ padding-left: 20px;
371
+ }
372
+
373
+ .select2-results-dept-2 .select2-result-label {
374
+ padding-left: 40px;
375
+ }
376
+
377
+ .select2-results-dept-3 .select2-result-label {
378
+ padding-left: 60px;
379
+ }
380
+
381
+ .select2-results-dept-4 .select2-result-label {
382
+ padding-left: 80px;
383
+ }
384
+
385
+ .select2-results-dept-5 .select2-result-label {
386
+ padding-left: 100px;
387
+ }
388
+
389
+ .select2-results-dept-6 .select2-result-label {
390
+ padding-left: 110px;
391
+ }
392
+
393
+ .select2-results-dept-7 .select2-result-label {
394
+ padding-left: 120px;
395
+ }
396
+
397
+ .select2-results .select2-highlighted {
398
+ background: #3875d7;
399
+ color: #fff;
400
+ }
401
+
402
+ .select2-results li em {
403
+ background: #feffde;
404
+ font-style: normal;
405
+ }
406
+
407
+ .select2-results .select2-highlighted em {
408
+ background: transparent;
409
+ }
410
+
411
+ .select2-results .select2-highlighted ul {
412
+ background: #fff;
413
+ color: #000;
414
+ }
415
+
416
+ .select2-results .select2-no-results,
417
+ .select2-results .select2-searching,
418
+ .select2-results .select2-selection-limit {
419
+ background: #f4f4f4;
420
+ display: list-item;
421
+ padding-left: 5px;
422
+ }
423
+
424
+ /*
425
+ disabled look for disabled choices in the results dropdown
426
+ */
427
+ .select2-results .select2-disabled.select2-highlighted {
428
+ color: #666;
429
+ background: #f4f4f4;
430
+ display: list-item;
431
+ cursor: default;
432
+ }
433
+
434
+ .select2-results .select2-disabled {
435
+ background: #f4f4f4;
436
+ display: list-item;
437
+ cursor: default;
438
+ }
439
+
440
+ .select2-results .select2-selected {
441
+ display: none;
442
+ }
443
+
444
+ .select2-more-results.select2-active {
445
+ background: #f4f4f4 image-url("spinner.gif") no-repeat 100%;
446
+ }
447
+
448
+ .select2-more-results {
449
+ background: #f4f4f4;
450
+ display: list-item;
451
+ }
452
+
453
+ /* disabled styles */
454
+ .select2-container.select2-container-disabled .select2-choice {
455
+ background-color: #f4f4f4;
456
+ background-image: none;
457
+ border: 1px solid #ddd;
458
+ cursor: default;
459
+ }
460
+
461
+ .select2-container.select2-container-disabled .select2-choice .select2-arrow {
462
+ background-color: #f4f4f4;
463
+ background-image: none;
464
+ border-left: 0;
465
+ }
466
+
467
+ .select2-container.select2-container-disabled .select2-choice abbr {
468
+ display: none;
469
+ }
470
+
471
+ /* multiselect */
472
+ .select2-container-multi .select2-choices {
473
+ height: auto !important;
474
+ height: 1%;
475
+ margin: 0;
476
+ padding: 0 5px 0 0;
477
+ position: relative;
478
+ border: 1px solid #aaa;
479
+ cursor: text;
480
+ overflow: hidden;
481
+ background-color: #fff;
482
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));
483
+ background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);
484
+ background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);
485
+ background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);
486
+ }
487
+
488
+ html[dir="rtl"] .select2-container-multi .select2-choices {
489
+ padding: 0 0 0 5px;
490
+ }
491
+
492
+ .select2-locked {
493
+ padding: 3px 5px 3px 5px !important;
494
+ }
495
+
496
+ .select2-container-multi .select2-choices {
497
+ min-height: 26px;
498
+ }
499
+
500
+ .select2-container-multi.select2-container-active .select2-choices {
501
+ border: 1px solid #5897fb;
502
+ outline: none;
503
+ -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
504
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
505
+ }
506
+
507
+ .select2-container-multi .select2-choices li {
508
+ float: left;
509
+ list-style: none;
510
+ }
511
+
512
+ html[dir="rtl"] .select2-container-multi .select2-choices li {
513
+ float: right;
514
+ }
515
+
516
+ .select2-container-multi .select2-choices .select2-search-field {
517
+ margin: 0;
518
+ padding: 0;
519
+ white-space: nowrap;
520
+ }
521
+
522
+ .select2-container-multi .select2-choices .select2-search-field input {
523
+ padding: 5px;
524
+ margin: 1px 0;
525
+ font-family: sans-serif;
526
+ font-size: 100%;
527
+ color: #666;
528
+ outline: 0;
529
+ border: 0;
530
+ -webkit-box-shadow: none;
531
+ box-shadow: none;
532
+ background: transparent !important;
533
+ }
534
+
535
+ .select2-container-multi .select2-choices .select2-search-field input.select2-active {
536
+ background: #fff image-url("spinner.gif") no-repeat 100% !important;
537
+ }
538
+
539
+ .select2-default {
540
+ color: #999 !important;
541
+ }
542
+
543
+ .select2-container-multi .select2-choices .select2-search-choice {
544
+ padding: 3px 5px 3px 18px;
545
+ margin: 3px 0 3px 5px;
546
+ position: relative;
547
+ line-height: 13px;
548
+ color: #333;
549
+ cursor: default;
550
+ border: 1px solid #aaaaaa;
551
+ border-radius: 3px;
552
+ -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
553
+ box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
554
+ background-clip: padding-box;
555
+ -webkit-touch-callout: none;
556
+ -webkit-user-select: none;
557
+ -moz-user-select: none;
558
+ -ms-user-select: none;
559
+ user-select: none;
560
+ background-color: #e4e4e4;
561
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);
562
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));
563
+ background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
564
+ background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
565
+ background-image: linear-gradient(to top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
566
+ }
567
+
568
+ html[dir="rtl"] .select2-container-multi .select2-choices .select2-search-choice {
569
+ margin: 3px 5px 3px 0;
570
+ padding: 3px 18px 3px 5px;
571
+ }
572
+
573
+ .select2-container-multi .select2-choices .select2-search-choice .select2-chosen {
574
+ cursor: default;
575
+ }
576
+
577
+ .select2-container-multi .select2-choices .select2-search-choice-focus {
578
+ background: #d4d4d4;
579
+ }
580
+
581
+ .select2-search-choice-close {
582
+ display: block;
583
+ width: 12px;
584
+ height: 13px;
585
+ position: absolute;
586
+ right: 3px;
587
+ top: 4px;
588
+ font-size: 1px;
589
+ outline: none;
590
+ background: image-url("select2.png") right top no-repeat;
591
+ }
592
+
593
+ html[dir="rtl"] .select2-search-choice-close {
594
+ right: auto;
595
+ left: 3px;
596
+ }
597
+
598
+ .select2-container-multi .select2-search-choice-close {
599
+ left: 3px;
600
+ }
601
+
602
+ html[dir="rtl"] .select2-container-multi .select2-search-choice-close {
603
+ left: auto;
604
+ right: 2px;
605
+ }
606
+
607
+ .select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
608
+ background-position: right -11px;
609
+ }
610
+
611
+ .select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
612
+ background-position: right -11px;
613
+ }
614
+
615
+ /* disabled styles */
616
+ .select2-container-multi.select2-container-disabled .select2-choices {
617
+ background-color: #f4f4f4;
618
+ background-image: none;
619
+ border: 1px solid #ddd;
620
+ cursor: default;
621
+ }
622
+
623
+ .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
624
+ padding: 3px 5px 3px 5px;
625
+ border: 1px solid #ddd;
626
+ background-image: none;
627
+ background-color: #f4f4f4;
628
+ }
629
+
630
+ .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close {
631
+ display: none;
632
+ background: none;
633
+ }
634
+
635
+ /* end multiselect */
636
+ .select2-result-selectable .select2-match,
637
+ .select2-result-unselectable .select2-match {
638
+ text-decoration: underline;
639
+ }
640
+
641
+ .select2-offscreen, .select2-offscreen:focus {
642
+ clip: rect(0 0 0 0) !important;
643
+ width: 1px !important;
644
+ height: 1px !important;
645
+ border: 0 !important;
646
+ margin: 0 !important;
647
+ padding: 0 !important;
648
+ overflow: hidden !important;
649
+ position: absolute !important;
650
+ outline: 0 !important;
651
+ left: 0px !important;
652
+ top: 0px !important;
653
+ }
654
+
655
+ .select2-display-none {
656
+ display: none;
657
+ }
658
+
659
+ .select2-measure-scrollbar {
660
+ position: absolute;
661
+ top: -10000px;
662
+ left: -10000px;
663
+ width: 100px;
664
+ height: 100px;
665
+ overflow: scroll;
666
+ }
667
+
668
+ /* Retina-ize icons */
669
+ @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx) {
670
+ .select2-search input,
671
+ .select2-search-choice-close,
672
+ .select2-container .select2-choice abbr,
673
+ .select2-container .select2-choice .select2-arrow b {
674
+ background-image: image-url("select2x2.png") !important;
675
+ background-repeat: no-repeat !important;
676
+ background-size: 60px 40px !important;
677
+ }
678
+
679
+ .select2-search input {
680
+ background-position: 100% -21px !important;
681
+ }
682
+ }
inc/external/wpmu-lib/css/select2.min.css ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /*! WPMU Dev code library - v1.0.15
2
+ * http://premium.wpmudev.org/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+
5
+ .select2-container{margin:0;position:relative;display:inline-block;zoom:1;*display:inline;vertical-align:middle}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.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;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(0.5,#fff));background-image:-webkit-linear-gradient(center bottom,#eee 0,#fff 50%);background-image:-moz-linear-gradient(center bottom,#eee 0,#fff 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);background-image:linear-gradient(to top,#eee 0,#fff 50%)}html[dir=rtl] .select2-container .select2-choice{padding:0 8px 0 0}.select2-container.select2-drop-above .select2-choice{border-bottom-color:#aaa;border-radius:0 0 4px 4px;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(0.9,#fff));background-image:-webkit-linear-gradient(center bottom,#eee 0,#fff 90%);background-image:-moz-linear-gradient(center bottom,#eee 0,#fff 90%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);background-image:linear-gradient(to bottom,#eee 0,#fff 90%)}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;float:none;width:auto}html[dir=rtl] .select2-container .select2-choice>.select2-chosen{margin-left:26px;margin-right:0}.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:image-url(select2.png) right top no-repeat;cursor:pointer;outline:0}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block}.select2-container .select2-choice abbr:hover{background-position:right -11px;cursor:pointer}.select2-drop-mask{border:0;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;background-color:#fff;filter:alpha(opacity=0)}.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;-webkit-box-shadow:0 4px 5px rgba(0,0,0,.15);box-shadow:0 4px 5px rgba(0,0,0,.15)}.select2-drop.select2-drop-above{margin-top:1px;border-top:1px solid #aaa;border-bottom:0;border-radius:4px 4px 0 0;-webkit-box-shadow:0 -4px 5px rgba(0,0,0,.15);box-shadow:0 -4px 5px rgba(0,0,0,.15)}.select2-drop-active{border:1px solid #5897fb;border-top:0}.select2-drop.select2-drop-above.select2-drop-active{border-top:1px solid #5897fb}.select2-drop-auto-width{border-top:1px solid #aaa;width:auto}.select2-drop-auto-width .select2-search{padding-top:4px}.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;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#ccc),color-stop(0.6,#eee));background-image:-webkit-linear-gradient(center bottom,#ccc 0,#eee 60%);background-image:-moz-linear-gradient(center bottom,#ccc 0,#eee 60%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#cccccc', GradientType=0);background-image:linear-gradient(to top,#ccc 0,#eee 60%)}html[dir=rtl] .select2-container .select2-choice .select2-arrow{left:0;right:auto;border-left:0;border-right:1px solid #aaa;border-radius:4px 0 0 4px}.select2-container .select2-choice .select2-arrow b{display:block;width:100%;height:100%;background:image-url(select2.png) no-repeat 0 1px}html[dir=rtl] .select2-container .select2-choice .select2-arrow b{background-position:2px 1px}.select2-search{display:inline-block;width:100%;min-height:26px;margin:0;padding-left:4px;padding-right:4px;position:relative;z-index:10000;white-space:nowrap}.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;-webkit-box-shadow:none;box-shadow:none;background:#fff image-url(select2.png) no-repeat 100% -22px;background:image-url(select2.png) no-repeat 100% -22px,-webkit-gradient(linear,left bottom,left top,color-stop(0.85,#fff),color-stop(0.99,#eee));background:image-url(select2.png) no-repeat 100% -22px,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:image-url(select2.png) no-repeat 100% -22px,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:image-url(select2.png) no-repeat 100% -22px,linear-gradient(to bottom,#fff 85%,#eee 99%) 0 0}html[dir=rtl] .select2-search input{padding:4px 5px 4px 20px;background:#fff image-url(select2.png) no-repeat -37px -22px;background:image-url(select2.png) no-repeat -37px -22px,-webkit-gradient(linear,left bottom,left top,color-stop(0.85,#fff),color-stop(0.99,#eee));background:image-url(select2.png) no-repeat -37px -22px,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:image-url(select2.png) no-repeat -37px -22px,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:image-url(select2.png) no-repeat -37px -22px,linear-gradient(to bottom,#fff 85%,#eee 99%) 0 0}.select2-drop.select2-drop-above .select2-search input{margin-top:4px}.select2-search input.select2-active{background:#fff image-url(spinner.gif) no-repeat 100%;background:image-url(spinner.gif) no-repeat 100%,-webkit-gradient(linear,left bottom,left top,color-stop(0.85,#fff),color-stop(0.99,#eee));background:image-url(spinner.gif) no-repeat 100%,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:image-url(spinner.gif) no-repeat 100%,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:image-url(spinner.gif) no-repeat 100%,linear-gradient(to bottom,#fff 85%,#eee 99%) 0 0}.select2-container-active .select2-choice,.select2-container-active .select2-choices{border:1px solid #5897fb;outline:0;-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.select2-dropdown-open .select2-choice{border-bottom-color:transparent;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:#eee;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#fff),color-stop(0.5,#eee));background-image:-webkit-linear-gradient(center bottom,#fff 0,#eee 50%);background-image:-moz-linear-gradient(center bottom,#fff 0,#eee 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);background-image:linear-gradient(to top,#fff 0,#eee 50%)}.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{border:1px solid #5897fb;border-top-color:transparent;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(0.5,#eee));background-image:-webkit-linear-gradient(center top,#fff 0,#eee 50%);background-image:-moz-linear-gradient(center top,#fff 0,#eee 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);background-image:linear-gradient(to bottom,#fff 0,#eee 50%)}.select2-dropdown-open .select2-choice .select2-arrow{background:transparent;border-left:0;filter:none}html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow{border-right:0}.select2-dropdown-open .select2-choice .select2-arrow b{background-position:-18px 1px}html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow b{background-position:-16px 1px}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.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:transparent}html[dir=rtl] .select2-results{padding:0 4px 0 0;margin:4px 0 4px 4px}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results li{list-style:none;display:list-item;background-image:none}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700}.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}.select2-results-dept-1 .select2-result-label{padding-left:20px}.select2-results-dept-2 .select2-result-label{padding-left:40px}.select2-results-dept-3 .select2-result-label{padding-left:60px}.select2-results-dept-4 .select2-result-label{padding-left:80px}.select2-results-dept-5 .select2-result-label{padding-left:100px}.select2-results-dept-6 .select2-result-label{padding-left:110px}.select2-results-dept-7 .select2-result-label{padding-left:120px}.select2-results .select2-highlighted{background:#3875d7;color:#fff}.select2-results li em{background:#feffde;font-style:normal}.select2-results .select2-highlighted em{background:transparent}.select2-results .select2-highlighted ul{background:#fff;color:#000}.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4;display:list-item;padding-left:5px}.select2-results .select2-disabled.select2-highlighted{color:#666;background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-disabled{background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:#f4f4f4 image-url(spinner.gif) no-repeat 100%}.select2-more-results{background:#f4f4f4;display:list-item}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background-color:#f4f4f4;background-image:none;border-left:0}.select2-container.select2-container-disabled .select2-choice abbr{display:none}.select2-container-multi .select2-choices{height:auto!important;height:1%;margin:0;padding:0 5px 0 0;position:relative;border:1px solid #aaa;cursor:text;overflow:hidden;background-color:#fff;background-image:-webkit-gradient(linear,0 0,0 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(top,#eee 1%,#fff 15%);background-image:-moz-linear-gradient(top,#eee 1%,#fff 15%);background-image:linear-gradient(to bottom,#eee 1%,#fff 15%)}html[dir=rtl] .select2-container-multi .select2-choices{padding:0 0 0 5px}.select2-locked{padding:3px 5px!important}.select2-container-multi .select2-choices{min-height:26px}.select2-container-multi.select2-container-active .select2-choices{border:1px solid #5897fb;outline:0;-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{padding:5px;margin:1px 0;font-family:sans-serif;font-size:100%;color:#666;outline:0;border:0;-webkit-box-shadow:none;box-shadow:none;background:transparent!important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:#fff image-url(spinner.gif) no-repeat 100%!important}.select2-default{color:#999!important}.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 #aaa;border-radius:3px;-webkit-box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);box-shadow:0 0 2px #fff inset,0 1px 0 rgba(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:-webkit-gradient(linear,0 0,0 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(to top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%)}html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin:3px 5px 3px 0;padding:3px 18px 3px 5px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#d4d4d4}.select2-search-choice-close{display:block;width:12px;height:13px;position:absolute;right:3px;top:4px;font-size:1px;outline:0;background:image-url(select2.png) right top no-repeat}html[dir=rtl] .select2-search-choice-close{right:auto;left:3px}.select2-container-multi .select2-search-choice-close{left:3px}html[dir=rtl] .select2-container-multi .select2-search-choice-close{left:auto;right:2px}.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover{background-position:right -11px}.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close{background-position:right -11px}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.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:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:2dppx){.select2-search input,.select2-search-choice-close,.select2-container .select2-choice abbr,.select2-container .select2-choice .select2-arrow b{background-image:image-url(select2x2.png)!important;background-repeat:no-repeat!important;background-size:60px 40px!important}.select2-search input{background-position:100% -21px!important}}
inc/external/wpmu-lib/css/wpmu-ui.css CHANGED
@@ -1 +1,898 @@
1
- .wpmui-loading{position:relative}.wpmui-loading:after{content:'';position:absolute;left:0;top:0;right:0;bottom:0;background:rgba(255,255,255,0.8) url(../img/spinner.gif) center no-repeat;z-index:1000;cursor:default}.wpmui-overlay{background:#000;opacity:0.7;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:none}.wpmui-has-overlay .wpmui-overlay{display:block}.wpmui-has-overlay #wpwrap{-webkit-filter:grayscale(75%);-moz-filter:grayscale(75%);filter:gray;filter:grayscale(75%)}.wpmui-no-scroll{overflow:hidden}.wpmui-wnd{background:#F5F5F5;position:fixed;box-shadow:0 2px 20px rgba(0,0,0,0.4);z-index:10000;top:50%;left:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-wnd-title{line-height:50px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 70px 0 20px;border-bottom:1px solid #E5E5E5;background:#F8F8F8;height:50px;display:block;font-size:23px;font-weight:100;z-index:5}.wpmui-wnd-close{position:absolute;top:0;right:0;width:50px;line-height:50px;height:50px;text-align:center;text-decoration:none;color:#666;border-left:1px solid #E5E5E5;cursor:pointer;z-index:10}.wpmui-wnd-close .dashicons{line-height:50px}.wpmui-wnd-close:hover,.wpmui-wnd-close:focus,.wpmui-wnd-close:active{background:#FCFCFC;color:#333}.wpmui-wnd-content{position:absolute;top:51px;left:0;right:0;bottom:0;overflow:auto;padding:20px 20px 20px 20px;z-index:1}.wpmui-wnd-content:after{content:'';display:block;clear:both;padding:50px 0 0 0}.wpmui-wnd.no-buttons .wpmui-wnd-content:after{padding-top:0}.wpmui-wnd hr{margin:15px -20px;border:0;border-top:1px solid #E5E5E5}.wpmui-wnd .buttons{text-align:right;position:absolute;bottom:0;right:0;background:rgba(245,245,245,0.8);padding:10px 20px 10px;left:0;height:50px;border-top:1px solid #E5E5E5;margin:0;z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-msg{position:relative;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-msg .wpmui-close{float:right;margin-top:8px;width:20px;height:20px;line-height:20px;text-align:center;cursor:pointer;text-decoration:none;font-size:16px;padding:0;color:#CCC}.wpmui-msg .wpmui-close:hover,.wpmui-msg .wpmui-close:focus,.wpmui-msg .wpmui-close:active{color:#333}.wpmui-msg .debug{padding:5px;color:#666;font-size:12px;font-family:monospace;margin-bottom:0.5em;background:#F8F8F8}.wpmui-tip-box{position:relative}.wpmui-tip{position:absolute;display:none;padding:8px;z-index:100;background:#333;color:#EEE;box-shadow:0 1px 8px rgba(0,0,0,0.4);border-radius:2px}.wpmui-tip.wpmui-visible{display:block}.wpmui-tip:before{content:'';position:absolute;border:5px solid transparent;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.wpmui-tip.top:before{border-top-color:#333;bottom:-10px;top:auto}.wpmui-tip.bottom:before{border-bottom-color:#333;top:-5px}.wpmui-tip.left:before{border-left-color:#333;right:-10px;left:auto}.wpmui-tip.right:before{border-right-color:#333;left:-5px}.wpmui-pointer{margin-top:30px}.wpmui-pointer h3{background:transparent;color:#333;border:0;margin:0;padding:8px 15px 5px}.wpmui-pointer h3:before{content:'';display:none}.wpmui-pointer p{padding:0 15px;margin:2px 0}.wpmui-pointer .wp-pointer-content{border-left:2px solid #0074A2;background:#FAFDFF}.wpmui-pointer .wp-pointer-buttons{position:absolute;top:0;right:0;white-space:nowrap}.wpmui-pointer .wp-pointer-buttons a.close:before{position:static;float:right;line-height:14px;margin:3px 0 1px 5px}.wpmui-pointer .wp-pointer-arrow{border:0;position:absolute;top:50%;left:0;margin:-5px 0 0}.wpmui-pointer .wp-pointer-arrow:before{border:5px solid transparent;border-right-color:#0074A2;margin:0;left:-10px;position:absolute;top:0}.wpmui-pointer .wp-pointer-arrow-inner{display:none}.wpmui-pointer.wp-pointer-left{padding-left:8px}.wpmui-pointer.wp-pointer-left .wp-pointer-arrow{left:8px}.wpmui-form label{display:block;line-height:26px;font-size:14px;font-weight:500}.wpmui-form input[type='text'],.wpmui-form input[type='password'],.wpmui-form textarea,.wpmui-form select{width:100%;margin:0;display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-form .hint{color:#666;font-size:12px}.wpmui-form .button-link,.wpmui-wnd .button-link{display:inline-block;text-decoration:underline;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;white-space:nowrap;color:#0074A2;background:transparent;border:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-property:border, background, color;transition-property:border, background, color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wpmui-form .button-link:hover,.wpmui-form .button-link:active,.wpmui-form .button-link:focus{color:#2EA2CC}.wpmui-grid-8 *,.wpmui-grid-12 *,.wpmui-grid-8 *:after,.wpmui-grid-12 *:after,.wpmui-grid-8 *:before,.wpmui-grid-12 *:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-grid-8 [class*='col-'],.wpmui-grid-12 [class*='col-']{float:left;padding-right:20px}.wpmui-grid-8 [class*='col-']:last-of-type,.wpmui-grid-12 [class*='col-']:last-of-type{padding-right:0px}.wpmui-grid-8,.wpmui-grid-12{width:100%;margin:0;overflow:hidden;padding:10px 0 0}.wpmui-grid-8:after,.wpmui-grid-12:after{content:'';display:table;clear:both}.wpmui-grid-8 .col-8,.wpmui-grid-12 .col-12{width:100%}.wpmui-grid-12 .col-11{width:91.66%}.wpmui-grid-8 .col-7{width:87.5%}.wpmui-grid-12 .col-10{width:83.333%}.wpmui-grid-8 .col-6,.wpmui-grid-12 .col-9{width:75%}.wpmui-grid-12 .col-8{width:66.66%}.wpmui-grid-8 .col-5{width:62.5%}.wpmui-grid-12 .col-7{width:58.33%}.wpmui-grid-8 .col-4,.wpmui-grid-12 .col-6{width:50%}.wpmui-grid-12 .col-5{width:41.66%}.wpmui-grid-8 .col-3{width:37.5%}.wpmui-grid-12 .col-4{width:33.33%}.wpmui-grid-8 .col-2,.wpmui-grid-12 .col-3{width:25%}.wpmui-grid-12 .col-2{width:16.667%}.wpmui-grid-8 .col-1{width:12.5%}.wpmui-grid-12 .col-1{width:8.33%}@media handheld, only screen and (max-width: 767px){.wpmui-grid-8,.wpmui-grid-12{width:100%;min-width:0;margin-left:0px;margin-right:0px;padding-left:0px;padding-right:0px}.wpmui-grid-8 [class*='col-'],.wpmui-grid-12 [class*='col-']{width:auto;float:none;margin-left:0px;margin-right:0px;margin-top:10px;margin-bottom:10px;padding-left:20px;padding-right:20px}}.wpmui-box{margin-bottom:10px;padding:0;line-height:1;position:relative;min-width:255px;border:1px solid #E5E5E5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.04);box-shadow:0 1px 1px rgba(0,0,0,0.04);background:#FFF}.wpmui-box>h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;border-bottom:1px solid #EEE;cursor:pointer}.wpmui-box>h3 .toggle{cursor:pointer;float:right;width:36px;height:36px;color:#AAA;text-decoration:none;margin:-8px -12px;text-align:center;position:relative;line-height:36px}.wpmui-box>h3:hover .toggle,.wpmui-box .toggle:hover,.wpmui-box .toggle:focus,.wpmui-box .toggle:active{color:#777}.wpmui-box>h3 .toggle:before{content:'\f142';font:400 20px/36px dashicons;speak:none;display:inline-block;position:absolute;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none !important;width:100%;height:100%;top:0;right:0}.wpmui-box>.inside{margin:6px 0 0;position:relative;padding:0 12px 12px;line-height:1.4em;font-size:13px}.wpmui-box>.inside:after{content:'';display:table;clear:both}.wpmui-box.closed>h3 .toggle:before{content:'\f140'}.wpmui-box.closed>.inside{display:none}.wpmui-box.static>h3{cursor:default}.wpmui-box.static>h3 .toggle{display:none}.wpmui-box.static>.inside{display:block}.wpmui-tabs{border-bottom:1px solid #EEE;padding-bottom:0;padding-left:10px;list-style:none;margin:20px 0 0}.wpmui-tabs .tab{border:1px solid #EEE;background:#F0F0F0;color:#999;display:inline-block;text-decoration:none;margin:0 4px -1px 0;padding:0 12px;font-weight:600;font-size:13px;line-height:34px}.wpmui-tabs .tab:hover,.wpmui-tabs .tab:focus,.wpmui-tabs .tab:active{background:#F4F4F4;color:#777}.wpmui-tabs .tab.active{border-bottom:1px solid #FFF;background:#FFF;color:#444}.wpmui-tab-contents{padding:12px}.wpmui-tab-contents .tab{display:none}.wpmui-tab-contents .tab.active{display:block}.wpmui-box>.inside>.wpmui-tabs{margin-left:-12px;margin-right:-12px;padding-left:22px}.wpmui-box>.inside>.wpmui-tab-contents{margin-left:-12px;margin-right:-12px;margin-bottom:-12px}.select2-container a{transition:none !important}.select2-drop{z-index:1000500 !important}.select2-drop-mask{z-index:1000499 !important}.wpmui-toggle{position:relative;width:26px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.wpmui-toggle-checkbox{display:none !important}.wpmui-toggle-label{display:block;overflow:hidden;cursor:pointer;border:1px solid #CCC;border-radius:50px}.wpmui-toggle-inner{display:block;width:200%;margin-left:-100%;-moz-transition:margin 0.3s ease-in 0s;-webkit-transition:margin 0.3s ease-in 0s;-o-transition:margin 0.3s ease-in 0s;transition:margin 0.3s ease-in 0s}.wpmui-toggle-inner:before,.wpmui-toggle-inner:after{display:block;float:left;width:50%;height:5px;padding:0;line-height:5px;font-size:10px;color:white;font-family:Trebuchet, Arial, sans-serif;font-weight:bold;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;box-shadow:0 1px 0 rgba(0,0,0,0.2) inset}.wpmui-toggle-inner:before{content:"";padding-left:5px;background-color:#0074A2}.wpmui-toggle-inner:after{content:"";padding-right:5px;background-color:#EEEEEE;text-align:right}.wpmui-toggle-switch{display:block;width:14px;margin:-3.5px;background:#F8F8F8;border:1px solid #CCC;border-radius:15px;position:absolute;top:0;bottom:0;right:20px;-moz-transition:all 0.3s ease-in 0s;-webkit-transition:all 0.3s ease-in 0s;-o-transition:all 0.3s ease-in 0s;transition:all 0.3s ease-in 0s;box-shadow:-1px 1px 2px rgba(0,0,0,0.1)}.wpmui-toggle-checkbox:checked+.wpmui-toggle-label .wpmui-toggle-inner{margin-left:0}.wpmui-toggle-checkbox:checked+.wpmui-toggle-label .wpmui-toggle-switch{right:0px}.no-pad-top{padding-top:0 !important;margin-top:0 !important}.no-pad-bottom{padding-bottom:0 !important;margin-bottom:0 !important}.no-pad{padding-top:0 !important;padding-bottom:0 !important;margin-top:0 !important;margin-bottom:0 !important}.dashicons.light{opacity:.5}.cf:before,.cf:after{content:'';display:table}.cf:after{clear:both}.wpmui-left{float:left}.wpmui-right{float:right}.button .dashicons,.button-primary .dashicons{line-height:26px;height:26px;float:left;margin-right:6px}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WPMU Dev UI library
3
+ * (Philipp Stracker for WPMU Dev)
4
+ *
5
+ * This library provides a Javascript API via the global wpmuUI object.
6
+ *
7
+ * Content:
8
+ * 01. Modal overlays
9
+ * 02. Popup Windows
10
+ * 03. Messages
11
+ * 04. Tooltips
12
+ * 05. WordPress Pointers
13
+ * 06. Form Layout
14
+ * 07. Simple Grid
15
+ * 08. WordPress Accordeon Box
16
+ * 09. WordPress Tab-box
17
+ * 10. Select2
18
+ * 11. On Off Switch
19
+ * 12. Confirmation
20
+ * 99. General Styles
21
+ */
22
+ /**
23
+ * =============================================================================
24
+ * == 01. MODAL OVERLAYS
25
+ * =============================================================================
26
+ */
27
+ .wpmui-loading {
28
+ position: relative;
29
+ }
30
+
31
+ .wpmui-loading:after {
32
+ content: '';
33
+ position: absolute;
34
+ left: 0;
35
+ top: 0;
36
+ right: 0;
37
+ bottom: 0;
38
+ background: rgba(255, 255, 255, 0.8) url(../img/spinner.gif) center no-repeat;
39
+ z-index: 1000;
40
+ cursor: default;
41
+ }
42
+
43
+ .wpmui-overlay {
44
+ background: #000;
45
+ opacity: 0.7;
46
+ position: fixed;
47
+ top: 0;
48
+ right: 0;
49
+ bottom: 0;
50
+ left: 0;
51
+ z-index: 9999;
52
+ display: none;
53
+ }
54
+
55
+ .wpmui-has-overlay .wpmui-overlay {
56
+ display: block;
57
+ }
58
+
59
+ .wpmui-has-overlay #wpwrap {
60
+ -webkit-filter: grayscale(75%);
61
+ -moz-filter: grayscale(75%);
62
+ filter: gray;
63
+ filter: grayscale(75%);
64
+ }
65
+
66
+ .wpmui-no-scroll {
67
+ overflow: hidden;
68
+ }
69
+
70
+ /**
71
+ * =============================================================================
72
+ * == 02. POPUP WINDOWS
73
+ * =============================================================================
74
+ */
75
+ .wpmui-wnd {
76
+ background: #F5F5F5;
77
+ position: fixed;
78
+ box-shadow: 0 2px 20px rgba(0, 0, 0, 0.4);
79
+ z-index: 10000;
80
+ top: 50%;
81
+ left: 50%;
82
+ -webkit-box-sizing: border-box;
83
+ -moz-box-sizing: border-box;
84
+ box-sizing: border-box;
85
+ }
86
+
87
+ .wpmui-wnd-title {
88
+ line-height: 50px;
89
+ white-space: nowrap;
90
+ overflow: hidden;
91
+ text-overflow: ellipsis;
92
+ padding: 0 70px 0 20px;
93
+ border-bottom: 1px solid #E5E5E5;
94
+ background: #F8F8F8;
95
+ height: 50px;
96
+ display: block;
97
+ font-size: 23px;
98
+ font-weight: 100;
99
+ z-index: 5;
100
+ }
101
+
102
+ .wpmui-wnd-close {
103
+ position: absolute;
104
+ top: 0;
105
+ right: 0;
106
+ width: 50px;
107
+ line-height: 50px;
108
+ height: 50px;
109
+ text-align: center;
110
+ text-decoration: none;
111
+ color: #666;
112
+ border-left: 1px solid #E5E5E5;
113
+ cursor: pointer;
114
+ z-index: 10;
115
+ }
116
+
117
+ .wpmui-wnd-close .dashicons {
118
+ line-height: 50px;
119
+ }
120
+
121
+ .wpmui-wnd-close:hover,
122
+ .wpmui-wnd-close:focus,
123
+ .wpmui-wnd-close:active {
124
+ background: #FCFCFC;
125
+ color: #333;
126
+ }
127
+
128
+ .wpmui-wnd-content {
129
+ position: absolute;
130
+ top: 51px;
131
+ left: 0;
132
+ right: 0;
133
+ bottom: 0;
134
+ overflow: auto;
135
+ padding: 20px 20px 20px 20px;
136
+ z-index: 1;
137
+ }
138
+
139
+ .wpmui-wnd-content:after {
140
+ content: '';
141
+ display: block;
142
+ clear: both;
143
+ padding: 50px 0 0 0;
144
+ }
145
+
146
+ .wpmui-wnd.no-buttons .wpmui-wnd-content:after {
147
+ padding-top: 0;
148
+ }
149
+
150
+ .wpmui-wnd hr {
151
+ margin: 15px -20px;
152
+ border: 0;
153
+ border-top: 1px solid #E5E5E5;
154
+ }
155
+
156
+ .wpmui-wnd .buttons {
157
+ text-align: right;
158
+ position: absolute;
159
+ bottom: 0;
160
+ right: 0;
161
+ background: rgba(245, 245, 245, 0.8);
162
+ padding: 10px 20px 10px;
163
+ left: 0;
164
+ height: 50px;
165
+ border-top: 1px solid #E5E5E5;
166
+ margin: 0;
167
+ z-index: 2;
168
+ -webkit-box-sizing: border-box;
169
+ -moz-box-sizing: border-box;
170
+ box-sizing: border-box;
171
+ }
172
+
173
+ /**
174
+ * =============================================================================
175
+ * == 03. MESSAGES
176
+ * =============================================================================
177
+ */
178
+ .wpmui-msg {
179
+ position: relative;
180
+ min-height: 30px;
181
+ -webkit-box-sizing: border-box;
182
+ -moz-box-sizing: border-box;
183
+ box-sizing: border-box;
184
+ }
185
+
186
+ .wpmui-msg .wpmui-close {
187
+ float: right;
188
+ margin-top: 8px;
189
+ width: 20px;
190
+ height: 20px;
191
+ line-height: 20px;
192
+ text-align: center;
193
+ cursor: pointer;
194
+ text-decoration: none;
195
+ font-size: 16px;
196
+ padding: 0;
197
+ color: #CCC;
198
+ }
199
+
200
+ .wpmui-msg .wpmui-close:hover,
201
+ .wpmui-msg .wpmui-close:focus,
202
+ .wpmui-msg .wpmui-close:active {
203
+ color: #333;
204
+ }
205
+
206
+ .wpmui-msg .debug {
207
+ padding: 5px;
208
+ color: #666;
209
+ font-size: 12px;
210
+ font-family: monospace;
211
+ margin-bottom: 0.5em;
212
+ background: #F8F8F8;
213
+ }
214
+
215
+ /**
216
+ * =============================================================================
217
+ * == 04. TOOLTIPS
218
+ * =============================================================================
219
+ */
220
+ .wpmui-tip-box {
221
+ position: relative;
222
+ }
223
+
224
+ .wpmui-tip {
225
+ position: absolute;
226
+ display: none;
227
+ padding: 8px;
228
+ z-index: 100;
229
+ background: #333;
230
+ color: #EEE;
231
+ box-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
232
+ border-radius: 2px;
233
+ }
234
+ .wpmui-tip.wpmui-visible {
235
+ display: block;
236
+ }
237
+ .wpmui-tip:before {
238
+ content: '';
239
+ position: absolute;
240
+ border: 5px solid transparent;
241
+ left: 50%;
242
+ top: 50%;
243
+ margin-left: -5px;
244
+ margin-top: -5px;
245
+ }
246
+ .wpmui-tip.top:before {
247
+ border-top-color: #333;
248
+ bottom: -10px;
249
+ top: auto;
250
+ }
251
+ .wpmui-tip.bottom:before {
252
+ border-bottom-color: #333;
253
+ top: -5px;
254
+ }
255
+ .wpmui-tip.left:before {
256
+ border-left-color: #333;
257
+ right: -10px;
258
+ left: auto;
259
+ }
260
+ .wpmui-tip.right:before {
261
+ border-right-color: #333;
262
+ left: -5px;
263
+ }
264
+
265
+ /**
266
+ * =============================================================================
267
+ * == 05. WORDPRESS POINTERS
268
+ * =============================================================================
269
+ */
270
+ .wpmui-pointer {
271
+ margin-top: 30px;
272
+ }
273
+ .wpmui-pointer h3 {
274
+ background: transparent;
275
+ color: #333;
276
+ border: 0;
277
+ margin: 0;
278
+ padding: 8px 15px 5px;
279
+ }
280
+ .wpmui-pointer h3:before {
281
+ content: '';
282
+ display: none;
283
+ }
284
+ .wpmui-pointer p {
285
+ padding: 0 15px;
286
+ margin: 2px 0;
287
+ }
288
+ .wpmui-pointer .wp-pointer-content {
289
+ border-left: 2px solid #0074A2;
290
+ background: #FAFDFF;
291
+ }
292
+ .wpmui-pointer .wp-pointer-buttons {
293
+ position: absolute;
294
+ top: 0;
295
+ right: 0;
296
+ white-space: nowrap;
297
+ }
298
+ .wpmui-pointer .wp-pointer-buttons a.close:before {
299
+ position: static;
300
+ float: right;
301
+ line-height: 14px;
302
+ margin: 3px 0 1px 5px;
303
+ }
304
+ .wpmui-pointer .wp-pointer-arrow {
305
+ border: 0;
306
+ position: absolute;
307
+ top: 50%;
308
+ left: 0;
309
+ margin: -5px 0 0;
310
+ }
311
+ .wpmui-pointer .wp-pointer-arrow:before {
312
+ border: 5px solid transparent;
313
+ border-right-color: #0074A2;
314
+ margin: 0;
315
+ left: -10px;
316
+ position: absolute;
317
+ top: 0;
318
+ }
319
+ .wpmui-pointer .wp-pointer-arrow-inner {
320
+ display: none;
321
+ }
322
+ .wpmui-pointer.wp-pointer-left {
323
+ padding-left: 8px;
324
+ }
325
+ .wpmui-pointer.wp-pointer-left .wp-pointer-arrow {
326
+ left: 8px;
327
+ }
328
+
329
+ /**
330
+ * =============================================================================
331
+ * == 06. FORM LAYOUT
332
+ * =============================================================================
333
+ */
334
+ .wpmui-form label {
335
+ display: block;
336
+ line-height: 26px;
337
+ font-size: 14px;
338
+ font-weight: 500;
339
+ }
340
+
341
+ .wpmui-form input[type='text'],
342
+ .wpmui-form input[type='password'],
343
+ .wpmui-form textarea,
344
+ .wpmui-form select {
345
+ width: 100%;
346
+ margin: 0;
347
+ display: block;
348
+ -webkit-box-sizing: border-box;
349
+ -moz-box-sizing: border-box;
350
+ box-sizing: border-box;
351
+ }
352
+
353
+ .wpmui-form .hint {
354
+ color: #666;
355
+ font-size: 12px;
356
+ }
357
+
358
+ .wpmui-form .button-link,
359
+ .wpmui-wnd .button-link {
360
+ display: inline-block;
361
+ text-decoration: underline;
362
+ font-size: 13px;
363
+ line-height: 26px;
364
+ height: 28px;
365
+ margin: 0;
366
+ padding: 0 10px 1px;
367
+ cursor: pointer;
368
+ white-space: nowrap;
369
+ color: #0074A2;
370
+ background: transparent;
371
+ border: 0;
372
+ -webkit-box-sizing: border-box;
373
+ -moz-box-sizing: border-box;
374
+ box-sizing: border-box;
375
+ -webkit-transition-property: border, background, color;
376
+ transition-property: border, background, color;
377
+ -webkit-transition-duration: .05s;
378
+ transition-duration: .05s;
379
+ -webkit-transition-timing-function: ease-in-out;
380
+ transition-timing-function: ease-in-out;
381
+ }
382
+
383
+ .wpmui-form .button-link:hover,
384
+ .wpmui-form .button-link:active,
385
+ .wpmui-form .button-link:focus {
386
+ color: #2EA2CC;
387
+ }
388
+
389
+ /**
390
+ * =============================================================================
391
+ * == 07. SIMPLE GRID (modified)
392
+ * Project Page - http://thisisdallas.github.com/Simple-Grid/
393
+ * Author - Dallas Bass
394
+ * =============================================================================
395
+ */
396
+ .wpmui-grid-8 *,
397
+ .wpmui-grid-12 *,
398
+ .wpmui-grid-8 *:after,
399
+ .wpmui-grid-12 *:after,
400
+ .wpmui-grid-8 *:before,
401
+ .wpmui-grid-12 *:before {
402
+ -webkit-box-sizing: border-box;
403
+ -moz-box-sizing: border-box;
404
+ box-sizing: border-box;
405
+ }
406
+
407
+ .wpmui-grid-8 [class*='col-'],
408
+ .wpmui-grid-12 [class*='col-'] {
409
+ float: left;
410
+ padding-right: 20px;
411
+ }
412
+
413
+ .wpmui-grid-8 [class*='col-']:last-of-type,
414
+ .wpmui-grid-12 [class*='col-']:last-of-type {
415
+ padding-right: 0px;
416
+ }
417
+
418
+ .wpmui-grid-8,
419
+ .wpmui-grid-12 {
420
+ width: 100%;
421
+ margin: 0;
422
+ overflow: hidden;
423
+ padding: 10px 0 0;
424
+ }
425
+
426
+ .wpmui-grid-8:after,
427
+ .wpmui-grid-12:after {
428
+ content: '';
429
+ display: table;
430
+ clear: both;
431
+ }
432
+
433
+ .wpmui-grid-8 .col-8,
434
+ .wpmui-grid-12 .col-12 {
435
+ width: 100%;
436
+ }
437
+
438
+ .wpmui-grid-12 .col-11 {
439
+ width: 91.66%;
440
+ }
441
+
442
+ .wpmui-grid-8 .col-7 {
443
+ width: 87.5%;
444
+ }
445
+
446
+ .wpmui-grid-12 .col-10 {
447
+ width: 83.333%;
448
+ }
449
+
450
+ .wpmui-grid-8 .col-6,
451
+ .wpmui-grid-12 .col-9 {
452
+ width: 75%;
453
+ }
454
+
455
+ .wpmui-grid-12 .col-8 {
456
+ width: 66.66%;
457
+ }
458
+
459
+ .wpmui-grid-8 .col-5 {
460
+ width: 62.5%;
461
+ }
462
+
463
+ .wpmui-grid-12 .col-7 {
464
+ width: 58.33%;
465
+ }
466
+
467
+ .wpmui-grid-8 .col-4,
468
+ .wpmui-grid-12 .col-6 {
469
+ width: 50%;
470
+ }
471
+
472
+ .wpmui-grid-12 .col-5 {
473
+ width: 41.66%;
474
+ }
475
+
476
+ .wpmui-grid-8 .col-3 {
477
+ width: 37.5%;
478
+ }
479
+
480
+ .wpmui-grid-12 .col-4 {
481
+ width: 33.33%;
482
+ }
483
+
484
+ .wpmui-grid-8 .col-2,
485
+ .wpmui-grid-12 .col-3 {
486
+ width: 25%;
487
+ }
488
+
489
+ .wpmui-grid-12 .col-2 {
490
+ width: 16.667%;
491
+ }
492
+
493
+ .wpmui-grid-8 .col-1 {
494
+ width: 12.5%;
495
+ }
496
+
497
+ .wpmui-grid-12 .col-1 {
498
+ width: 8.33%;
499
+ }
500
+
501
+ @media handheld, only screen and (max-width: 767px) {
502
+ .wpmui-grid-8,
503
+ .wpmui-grid-12 {
504
+ width: 100%;
505
+ min-width: 0;
506
+ margin-left: 0px;
507
+ margin-right: 0px;
508
+ padding-left: 0px;
509
+ padding-right: 0px;
510
+ }
511
+
512
+ .wpmui-grid-8 [class*='col-'],
513
+ .wpmui-grid-12 [class*='col-'] {
514
+ width: auto;
515
+ float: none;
516
+ margin-left: 0px;
517
+ margin-right: 0px;
518
+ margin-top: 10px;
519
+ margin-bottom: 10px;
520
+ padding-left: 20px;
521
+ padding-right: 20px;
522
+ }
523
+ }
524
+ /**
525
+ * =============================================================================
526
+ * == 08. WORDPRESS ACCORDEON BOX
527
+ * =============================================================================
528
+ *
529
+ * Example:
530
+ *
531
+ * <div class="wpmui-box">
532
+ * <h3>
533
+ * <a href="#" class="toggle" title="<?php _e( 'Click to toggle' ); ?>"><br></a>
534
+ * <span>Title</span>
535
+ * </h3>
536
+ * <div class="inside">
537
+ * <p>Content...</p>
538
+ * </div>
539
+ * </div>
540
+ */
541
+ .wpmui-box {
542
+ margin-bottom: 10px;
543
+ padding: 0;
544
+ line-height: 1;
545
+ position: relative;
546
+ min-width: 255px;
547
+ border: 1px solid #E5E5E5;
548
+ -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
549
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
550
+ background: #FFF;
551
+ }
552
+ .wpmui-box > h3 {
553
+ font-size: 14px;
554
+ padding: 8px 12px;
555
+ margin: 0;
556
+ line-height: 1.4;
557
+ border-bottom: 1px solid #EEE;
558
+ cursor: pointer;
559
+ }
560
+ .wpmui-box > h3 .toggle {
561
+ cursor: pointer;
562
+ float: right;
563
+ width: 36px;
564
+ height: 36px;
565
+ color: #AAA;
566
+ text-decoration: none;
567
+ margin: -8px -12px;
568
+ text-align: center;
569
+ position: relative;
570
+ line-height: 36px;
571
+ }
572
+ .wpmui-box > h3:hover .toggle,
573
+ .wpmui-box .toggle:hover,
574
+ .wpmui-box .toggle:focus,
575
+ .wpmui-box .toggle:active {
576
+ color: #777;
577
+ }
578
+ .wpmui-box > h3 .toggle:before {
579
+ content: '\f142';
580
+ font: 400 20px/36px dashicons;
581
+ speak: none;
582
+ display: inline-block;
583
+ position: absolute;
584
+ -webkit-font-smoothing: antialiased;
585
+ -moz-osx-font-smoothing: grayscale;
586
+ text-decoration: none !important;
587
+ width: 100%;
588
+ height: 100%;
589
+ top: 0;
590
+ right: 0;
591
+ }
592
+ .wpmui-box > .inside {
593
+ margin: 6px 0 0;
594
+ position: relative;
595
+ padding: 0 12px 12px;
596
+ line-height: 1.4em;
597
+ font-size: 13px;
598
+ }
599
+ .wpmui-box > .inside:after {
600
+ content: '';
601
+ display: table;
602
+ clear: both;
603
+ }
604
+ .wpmui-box.closed > h3 .toggle:before {
605
+ content: '\f140';
606
+ }
607
+ .wpmui-box.closed > .inside {
608
+ display: none;
609
+ }
610
+ .wpmui-box.static > h3 {
611
+ cursor: default;
612
+ }
613
+ .wpmui-box.static > h3 .toggle {
614
+ display: none;
615
+ }
616
+ .wpmui-box.static > .inside {
617
+ display: block;
618
+ }
619
+
620
+ /**
621
+ * =============================================================================
622
+ * == 09. WORDPRESS TAB-BOX
623
+ * =============================================================================
624
+ *
625
+ * Example:
626
+ *
627
+ * <div class="wpmui-tabs">
628
+ * <a href="#config" class="tab active">Config</a>
629
+ * <a href="#archive" class="tab">Archive</a>
630
+ * </div>
631
+ * <div class="wpmui-tab-contents">
632
+ * <div class="tab active" id="config"></div>
633
+ * <div class="tab" id="archive"></div>
634
+ * </div>
635
+ */
636
+ .wpmui-tabs {
637
+ border-bottom: 1px solid #EEE;
638
+ padding-bottom: 0;
639
+ padding-left: 10px;
640
+ list-style: none;
641
+ margin: 20px 0 0;
642
+ }
643
+
644
+ .wpmui-tabs .tab {
645
+ border: 1px solid #EEE;
646
+ background: #F0F0F0;
647
+ color: #999;
648
+ display: inline-block;
649
+ text-decoration: none;
650
+ margin: 0 4px -1px 0;
651
+ padding: 0 12px;
652
+ font-weight: 600;
653
+ font-size: 13px;
654
+ line-height: 34px;
655
+ }
656
+
657
+ .wpmui-tabs .tab:hover,
658
+ .wpmui-tabs .tab:focus,
659
+ .wpmui-tabs .tab:active {
660
+ background: #F4F4F4;
661
+ color: #777;
662
+ }
663
+
664
+ .wpmui-tabs .tab.active {
665
+ border-bottom: 1px solid #FFF;
666
+ background: #FFF;
667
+ color: #444;
668
+ }
669
+
670
+ .wpmui-tab-contents {
671
+ padding: 12px;
672
+ }
673
+
674
+ .wpmui-tab-contents .tab {
675
+ display: none;
676
+ }
677
+
678
+ .wpmui-tab-contents .tab.active {
679
+ display: block;
680
+ }
681
+
682
+ .wpmui-box > .inside > .wpmui-tabs {
683
+ margin-left: -12px;
684
+ margin-right: -12px;
685
+ padding-left: 22px;
686
+ }
687
+
688
+ .wpmui-box > .inside > .wpmui-tab-contents {
689
+ margin-left: -12px;
690
+ margin-right: -12px;
691
+ margin-bottom: -12px;
692
+ }
693
+
694
+ /**
695
+ * =============================================================================
696
+ * == 10. SELECT2
697
+ * =============================================================================
698
+ */
699
+ .select2-container a {
700
+ transition: none !important;
701
+ }
702
+
703
+ .select2-drop {
704
+ z-index: 1000500 !important;
705
+ /* Thickbox modal background has 1000100 */
706
+ }
707
+
708
+ .select2-drop-mask {
709
+ z-index: 1000499 !important;
710
+ /* Thickbox modal background has 1000100 */
711
+ }
712
+
713
+ /**
714
+ * =============================================================================
715
+ * == 11. ON OFF SWITCH
716
+ * =============================================================================
717
+ *
718
+ * Example:
719
+ *
720
+ * <div class="wpmui-toggle">
721
+ * <input type="checkbox" class="wpmui-toggle-checkbox" id="toggle-1" checked="checked" />
722
+ * <label class="wpmui-toggle-label" for="toggle-1">
723
+ * <span class="wpmui-toggle-inner"></span>
724
+ * <span class="wpmui-toggle-switch"></span>
725
+ * </label>
726
+ * </div>
727
+ */
728
+ .wpmui-toggle {
729
+ position: relative;
730
+ width: 26px;
731
+ -webkit-user-select: none;
732
+ -moz-user-select: none;
733
+ -ms-user-select: none;
734
+ }
735
+
736
+ .wpmui-toggle-checkbox {
737
+ display: none !important;
738
+ }
739
+
740
+ .wpmui-toggle-label {
741
+ display: block;
742
+ overflow: hidden;
743
+ cursor: pointer;
744
+ border: 1px solid #CCC;
745
+ border-radius: 50px;
746
+ }
747
+
748
+ .wpmui-toggle-inner {
749
+ display: block;
750
+ width: 200%;
751
+ margin-left: -100%;
752
+ -moz-transition: margin 0.3s ease-in 0s;
753
+ -webkit-transition: margin 0.3s ease-in 0s;
754
+ -o-transition: margin 0.3s ease-in 0s;
755
+ transition: margin 0.3s ease-in 0s;
756
+ }
757
+ .wpmui-toggle-inner:before, .wpmui-toggle-inner:after {
758
+ display: block;
759
+ float: left;
760
+ width: 50%;
761
+ height: 5px;
762
+ padding: 0;
763
+ line-height: 5px;
764
+ font-size: 10px;
765
+ color: white;
766
+ font-family: Trebuchet, Arial, sans-serif;
767
+ font-weight: bold;
768
+ -moz-box-sizing: border-box;
769
+ -webkit-box-sizing: border-box;
770
+ box-sizing: border-box;
771
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset;
772
+ }
773
+ .wpmui-toggle-inner:before {
774
+ content: "";
775
+ padding-left: 5px;
776
+ background-color: #0074A2;
777
+ }
778
+ .wpmui-toggle-inner:after {
779
+ content: "";
780
+ padding-right: 5px;
781
+ background-color: #EEEEEE;
782
+ text-align: right;
783
+ }
784
+
785
+ .wpmui-toggle-switch {
786
+ display: block;
787
+ width: 14px;
788
+ margin: -3.5px;
789
+ background: #F8F8F8;
790
+ border: 1px solid #CCC;
791
+ border-radius: 15px;
792
+ position: absolute;
793
+ top: 0;
794
+ bottom: 0;
795
+ right: 20px;
796
+ -moz-transition: all 0.3s ease-in 0s;
797
+ -webkit-transition: all 0.3s ease-in 0s;
798
+ -o-transition: all 0.3s ease-in 0s;
799
+ transition: all 0.3s ease-in 0s;
800
+ box-shadow: -1px 1px 2px rgba(0, 0, 0, 0.1);
801
+ }
802
+
803
+ .wpmui-toggle-checkbox:checked + .wpmui-toggle-label .wpmui-toggle-inner {
804
+ margin-left: 0;
805
+ }
806
+
807
+ .wpmui-toggle-checkbox:checked + .wpmui-toggle-label .wpmui-toggle-switch {
808
+ right: 0px;
809
+ }
810
+
811
+ /**
812
+ * =============================================================================
813
+ * == 12. CONFIRMATION
814
+ * =============================================================================
815
+ */
816
+ .wmui-confirm-modal {
817
+ left: 0;
818
+ top: 0;
819
+ right: 0;
820
+ bottom: 0;
821
+ z-index: 99998;
822
+ background: #000;
823
+ opacity: .4;
824
+ }
825
+
826
+ .wpmui-confirm-box {
827
+ top: 25%;
828
+ width: 580px;
829
+ padding: 20px 20px 0;
830
+ left: 50%;
831
+ margin-left: -310px;
832
+ /* Include the padding! */
833
+ z-index: 99999;
834
+ background: #FFF;
835
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
836
+ }
837
+ .wpmui-confirm-box .wpmui-confirm-btn {
838
+ margin: 10px -20px 0px;
839
+ padding: 10px 20px;
840
+ text-align: right;
841
+ background: #FAFAFA;
842
+ border-top: 1px solid #E5E5E5;
843
+ }
844
+ .wpmui-confirm-box .wpmui-confirm-btn button {
845
+ margin-left: 10px;
846
+ }
847
+
848
+ /**
849
+ * =============================================================================
850
+ * == 99. GENERAL STYLES
851
+ * =============================================================================
852
+ */
853
+ .no-pad-top {
854
+ padding-top: 0 !important;
855
+ margin-top: 0 !important;
856
+ }
857
+
858
+ .no-pad-bottom {
859
+ padding-bottom: 0 !important;
860
+ margin-bottom: 0 !important;
861
+ }
862
+
863
+ .no-pad {
864
+ padding-top: 0 !important;
865
+ padding-bottom: 0 !important;
866
+ margin-top: 0 !important;
867
+ margin-bottom: 0 !important;
868
+ }
869
+
870
+ .dashicons.light {
871
+ opacity: .5;
872
+ }
873
+
874
+ .cf:before,
875
+ .cf:after {
876
+ content: '';
877
+ display: table;
878
+ }
879
+
880
+ .cf:after {
881
+ clear: both;
882
+ }
883
+
884
+ .wpmui-left {
885
+ float: left;
886
+ }
887
+
888
+ .wpmui-right {
889
+ float: right;
890
+ }
891
+
892
+ .button .dashicons,
893
+ .button-primary .dashicons {
894
+ line-height: 26px;
895
+ height: 26px;
896
+ float: left;
897
+ margin-right: 6px;
898
+ }
inc/external/wpmu-lib/css/wpmu-ui.min.css ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /*! WPMU Dev code library - v1.0.15
2
+ * http://premium.wpmudev.org/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+
5
+ .wpmui-loading{position:relative}.wpmui-loading:after{content:'';position:absolute;left:0;top:0;right:0;bottom:0;background:rgba(255,255,255,.8) url(../img/spinner.gif) center no-repeat;z-index:1000;cursor:default}.wpmui-overlay{background:#000;opacity:.7;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:none}.wpmui-has-overlay .wpmui-overlay{display:block}.wpmui-has-overlay #wpwrap{-webkit-filter:grayscale(75%);-moz-filter:grayscale(75%);filter:gray;filter:grayscale(75%)}.wpmui-no-scroll{overflow:hidden}.wpmui-wnd{background:#F5F5F5;position:fixed;box-shadow:0 2px 20px rgba(0,0,0,.4);z-index:10000;top:50%;left:50%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-wnd-title{line-height:50px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 70px 0 20px;border-bottom:1px solid #E5E5E5;background:#F8F8F8;height:50px;display:block;font-size:23px;font-weight:100;z-index:5}.wpmui-wnd-close{position:absolute;top:0;right:0;width:50px;line-height:50px;height:50px;text-align:center;text-decoration:none;color:#666;border-left:1px solid #E5E5E5;cursor:pointer;z-index:10}.wpmui-wnd-close .dashicons{line-height:50px}.wpmui-wnd-close:hover,.wpmui-wnd-close:focus,.wpmui-wnd-close:active{background:#FCFCFC;color:#333}.wpmui-wnd-content{position:absolute;top:51px;left:0;right:0;bottom:0;overflow:auto;padding:20px;z-index:1}.wpmui-wnd-content:after{content:'';display:block;clear:both;padding:50px 0 0}.wpmui-wnd.no-buttons .wpmui-wnd-content:after{padding-top:0}.wpmui-wnd hr{margin:15px -20px;border:0;border-top:1px solid #E5E5E5}.wpmui-wnd .buttons{text-align:right;position:absolute;bottom:0;right:0;background:rgba(245,245,245,.8);padding:10px 20px;left:0;height:50px;border-top:1px solid #E5E5E5;margin:0;z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-msg{position:relative;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-msg .wpmui-close{float:right;margin-top:8px;width:20px;height:20px;line-height:20px;text-align:center;cursor:pointer;text-decoration:none;font-size:16px;padding:0;color:#CCC}.wpmui-msg .wpmui-close:hover,.wpmui-msg .wpmui-close:focus,.wpmui-msg .wpmui-close:active{color:#333}.wpmui-msg .debug{padding:5px;color:#666;font-size:12px;font-family:monospace;margin-bottom:.5em;background:#F8F8F8}.wpmui-tip-box{position:relative}.wpmui-tip{position:absolute;display:none;padding:8px;z-index:100;background:#333;color:#EEE;box-shadow:0 1px 8px rgba(0,0,0,.4);border-radius:2px}.wpmui-tip.wpmui-visible{display:block}.wpmui-tip:before{content:'';position:absolute;border:5px solid transparent;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.wpmui-tip.top:before{border-top-color:#333;bottom:-10px;top:auto}.wpmui-tip.bottom:before{border-bottom-color:#333;top:-5px}.wpmui-tip.left:before{border-left-color:#333;right:-10px;left:auto}.wpmui-tip.right:before{border-right-color:#333;left:-5px}.wpmui-pointer{margin-top:30px}.wpmui-pointer h3{background:transparent;color:#333;border:0;margin:0;padding:8px 15px 5px}.wpmui-pointer h3:before{content:'';display:none}.wpmui-pointer p{padding:0 15px;margin:2px 0}.wpmui-pointer .wp-pointer-content{border-left:2px solid #0074A2;background:#FAFDFF}.wpmui-pointer .wp-pointer-buttons{position:absolute;top:0;right:0;white-space:nowrap}.wpmui-pointer .wp-pointer-buttons a.close:before{position:static;float:right;line-height:14px;margin:3px 0 1px 5px}.wpmui-pointer .wp-pointer-arrow{border:0;position:absolute;top:50%;left:0;margin:-5px 0 0}.wpmui-pointer .wp-pointer-arrow:before{border:5px solid transparent;border-right-color:#0074A2;margin:0;left:-10px;position:absolute;top:0}.wpmui-pointer .wp-pointer-arrow-inner{display:none}.wpmui-pointer.wp-pointer-left{padding-left:8px}.wpmui-pointer.wp-pointer-left .wp-pointer-arrow{left:8px}.wpmui-form label{display:block;line-height:26px;font-size:14px;font-weight:500}.wpmui-form input[type=text],.wpmui-form input[type=password],.wpmui-form textarea,.wpmui-form select{width:100%;margin:0;display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-form .hint{color:#666;font-size:12px}.wpmui-form .button-link,.wpmui-wnd .button-link{display:inline-block;text-decoration:underline;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;white-space:nowrap;color:#0074A2;background:transparent;border:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.wpmui-form .button-link:hover,.wpmui-form .button-link:active,.wpmui-form .button-link:focus{color:#2EA2CC}.wpmui-grid-8 *,.wpmui-grid-12 *,.wpmui-grid-8 :after,.wpmui-grid-12 :after,.wpmui-grid-8 :before,.wpmui-grid-12 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wpmui-grid-8 [class*=col-],.wpmui-grid-12 [class*=col-]{float:left;padding-right:20px}.wpmui-grid-8 [class*=col-]:last-of-type,.wpmui-grid-12 [class*=col-]:last-of-type{padding-right:0}.wpmui-grid-8,.wpmui-grid-12{width:100%;margin:0;overflow:hidden;padding:10px 0 0}.wpmui-grid-8:after,.wpmui-grid-12:after{content:'';display:table;clear:both}.wpmui-grid-8 .col-8,.wpmui-grid-12 .col-12{width:100%}.wpmui-grid-12 .col-11{width:91.66%}.wpmui-grid-8 .col-7{width:87.5%}.wpmui-grid-12 .col-10{width:83.333%}.wpmui-grid-8 .col-6,.wpmui-grid-12 .col-9{width:75%}.wpmui-grid-12 .col-8{width:66.66%}.wpmui-grid-8 .col-5{width:62.5%}.wpmui-grid-12 .col-7{width:58.33%}.wpmui-grid-8 .col-4,.wpmui-grid-12 .col-6{width:50%}.wpmui-grid-12 .col-5{width:41.66%}.wpmui-grid-8 .col-3{width:37.5%}.wpmui-grid-12 .col-4{width:33.33%}.wpmui-grid-8 .col-2,.wpmui-grid-12 .col-3{width:25%}.wpmui-grid-12 .col-2{width:16.667%}.wpmui-grid-8 .col-1{width:12.5%}.wpmui-grid-12 .col-1{width:8.33%}@media handheld,only screen and (max-width:767px){.wpmui-grid-8,.wpmui-grid-12{width:100%;min-width:0;margin-left:0;margin-right:0;padding-left:0;padding-right:0}.wpmui-grid-8 [class*=col-],.wpmui-grid-12 [class*=col-]{width:auto;float:none;margin-left:0;margin-right:0;margin-top:10px;margin-bottom:10px;padding-left:20px;padding-right:20px}}.wpmui-box{margin-bottom:10px;padding:0;line-height:1;position:relative;min-width:255px;border:1px solid #E5E5E5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#FFF}.wpmui-box>h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4;border-bottom:1px solid #EEE;cursor:pointer}.wpmui-box>h3 .toggle{cursor:pointer;float:right;width:36px;height:36px;color:#AAA;text-decoration:none;margin:-8px -12px;text-align:center;position:relative;line-height:36px}.wpmui-box>h3:hover .toggle,.wpmui-box .toggle:hover,.wpmui-box .toggle:focus,.wpmui-box .toggle:active{color:#777}.wpmui-box>h3 .toggle:before{content:'\f142';font:400 20px/36px dashicons;speak:none;display:inline-block;position:absolute;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;width:100%;height:100%;top:0;right:0}.wpmui-box>.inside{margin:6px 0 0;position:relative;padding:0 12px 12px;line-height:1.4em;font-size:13px}.wpmui-box>.inside:after{content:'';display:table;clear:both}.wpmui-box.closed>h3 .toggle:before{content:'\f140'}.wpmui-box.closed>.inside{display:none}.wpmui-box.static>h3{cursor:default}.wpmui-box.static>h3 .toggle{display:none}.wpmui-box.static>.inside{display:block}.wpmui-tabs{border-bottom:1px solid #EEE;padding-bottom:0;padding-left:10px;list-style:none;margin:20px 0 0}.wpmui-tabs .tab{border:1px solid #EEE;background:#F0F0F0;color:#999;display:inline-block;text-decoration:none;margin:0 4px -1px 0;padding:0 12px;font-weight:600;font-size:13px;line-height:34px}.wpmui-tabs .tab:hover,.wpmui-tabs .tab:focus,.wpmui-tabs .tab:active{background:#F4F4F4;color:#777}.wpmui-tabs .tab.active{border-bottom:1px solid #FFF;background:#FFF;color:#444}.wpmui-tab-contents{padding:12px}.wpmui-tab-contents .tab{display:none}.wpmui-tab-contents .tab.active{display:block}.wpmui-box>.inside>.wpmui-tabs{margin-left:-12px;margin-right:-12px;padding-left:22px}.wpmui-box>.inside>.wpmui-tab-contents{margin-left:-12px;margin-right:-12px;margin-bottom:-12px}.select2-container a{transition:none!important}.select2-drop{z-index:1000500!important}.select2-drop-mask{z-index:1000499!important}.wpmui-toggle{position:relative;width:26px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.wpmui-toggle-checkbox{display:none!important}.wpmui-toggle-label{display:block;overflow:hidden;cursor:pointer;border:1px solid #CCC;border-radius:50px}.wpmui-toggle-inner{display:block;width:200%;margin-left:-100%;-moz-transition:margin .3s ease-in 0s;-webkit-transition:margin .3s ease-in 0s;-o-transition:margin .3s ease-in 0s;transition:margin .3s ease-in 0s}.wpmui-toggle-inner:before,.wpmui-toggle-inner:after{display:block;float:left;width:50%;height:5px;padding:0;line-height:5px;font-size:10px;color:#fff;font-family:Trebuchet,Arial,sans-serif;font-weight:700;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;box-shadow:0 1px 0 rgba(0,0,0,.2) inset}.wpmui-toggle-inner:before{content:"";padding-left:5px;background-color:#0074A2}.wpmui-toggle-inner:after{content:"";padding-right:5px;background-color:#EEE;text-align:right}.wpmui-toggle-switch{display:block;width:14px;margin:-3.5px;background:#F8F8F8;border:1px solid #CCC;border-radius:15px;position:absolute;top:0;bottom:0;right:20px;-moz-transition:all .3s ease-in 0s;-webkit-transition:all .3s ease-in 0s;-o-transition:all .3s ease-in 0s;transition:all .3s ease-in 0s;box-shadow:-1px 1px 2px rgba(0,0,0,.1)}.wpmui-toggle-checkbox:checked+.wpmui-toggle-label .wpmui-toggle-inner{margin-left:0}.wpmui-toggle-checkbox:checked+.wpmui-toggle-label .wpmui-toggle-switch{right:0}.wmui-confirm-modal{left:0;top:0;right:0;bottom:0;z-index:99998;background:#000;opacity:.4}.wpmui-confirm-box{top:25%;width:580px;padding:20px 20px 0;left:50%;margin-left:-310px;z-index:99999;background:#FFF;box-shadow:0 0 10px rgba(0,0,0,.4)}.wpmui-confirm-box .wpmui-confirm-btn{margin:10px -20px 0;padding:10px 20px;text-align:right;background:#FAFAFA;border-top:1px solid #E5E5E5}.wpmui-confirm-box .wpmui-confirm-btn button{margin-left:10px}.no-pad-top{padding-top:0!important;margin-top:0!important}.no-pad-bottom{padding-bottom:0!important;margin-bottom:0!important}.no-pad{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}.dashicons.light{opacity:.5}.cf:before,.cf:after{content:'';display:table}.cf:after{clear:both}.wpmui-left{float:left}.wpmui-right{float:right}.button .dashicons,.button-primary .dashicons{line-height:26px;height:26px;float:left;margin-right:6px}
inc/external/wpmu-lib/css/wpmu-vnav.css CHANGED
@@ -1 +1,152 @@
1
- .lst-vnav{list-style:none;padding:0;position:relative}.lst-vnav-item{padding:0;margin:0}.lst-vnav-sep{border-bottom:1px solid #E8E8E8;padding:0;margin:0;padding-bottom:5px;margin-bottom:5px}.lst-vnav-item h3{width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 5px;margin:0;height:22px;line-height:22px;font-size:15px;color:#0074A2;cursor:pointer;position:relative;z-index:2;font-weight:normal;border:1px solid transparent}.lst-vnav-item h3:hover{color:#2EA2CC}.lst-vnav-item.active h3{color:#333;background-color:#FDFDFD;border:1px solid #DEDEDE;border-right-color:#FDFDFD}.lst-vnav-item>.data{display:none;margin:0;border:1px solid #DEDEDE;padding:10px;top:0;right:0;left:191px;position:absolute;background-color:#FDFDFD}.lst-vnav-item.active>.data{display:block;z-index:1}.lst-vnav-item .form-table tbody>tr:first-child>th,.lst-vnav-item .form-table tbody>tr:first-child>td{padding-top:0}.lst-vnav-item .form-table tbody>tr:last-child>th,.lst-vnav-item .form-table tbody>tr:last-child>td{padding-bottom:0}.lst-vnav-item .widefat thead>tr>th,.lst-vnav-item .widefat thead>tr>td,.lst-vnav-item .widefat tfoot>tr>th,.lst-vnav-item .widefat tfoot>tr>td{padding:8px 10px}@media screen and (max-width: 1024px){.lst-vnav-item h3{width:150px}.lst-vnav-item>.data{left:161px;padding:5px}.lst-vnav-item .form-table th{width:170px}}@media screen and (max-width: 782px){.lst-vnav{margin-bottom:40px}.lst-vnav-item h3{width:auto;background-color:#F8F8F8;display:none;font-weight:bold}.lst-vnav-item.active h3{display:block;background-color:#F1F1F1;border-bottom-color:transparent;border-right-color:#DEDEDE}.lst-vnav.open .lst-vnav-item h3{display:block;border-top-style:none;border-bottom-style:none;border-left-color:#999;border-right-color:#999}.lst-vnav.open .lst-vnav-item:first-child h3{border-top:1px solid #999}.lst-vnav.open .lst-vnav-item:last-child h3{border-bottom:1px solid #999}.lst-vnav-item>.data{left:0;top:30px;border-top-style:none;min-height:0 !important}.lst-vnav-item .form-table th{width:auto}.lst-vnav-item .form-table td{padding-left:16px}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * UI Pattern: Vertical navigation.
3
+ * Version: 1.0.0
4
+ */
5
+ .lst-vnav {
6
+ list-style: none;
7
+ padding: 0;
8
+ position: relative;
9
+ }
10
+
11
+ .lst-vnav-item {
12
+ padding: 0;
13
+ margin: 0;
14
+ }
15
+
16
+ .lst-vnav-sep {
17
+ border-bottom: 1px solid #E8E8E8;
18
+ padding: 0;
19
+ margin: 0;
20
+ padding-bottom: 5px;
21
+ margin-bottom: 5px;
22
+ }
23
+
24
+ .lst-vnav-item h3 {
25
+ width: 180px;
26
+ overflow: hidden;
27
+ text-overflow: ellipsis;
28
+ white-space: nowrap;
29
+ padding: 5px 5px;
30
+ margin: 0;
31
+ height: 22px;
32
+ line-height: 22px;
33
+ font-size: 15px;
34
+ color: #0074A2;
35
+ cursor: pointer;
36
+ position: relative;
37
+ z-index: 2;
38
+ font-weight: normal;
39
+ border: 1px solid transparent;
40
+ }
41
+
42
+ .lst-vnav-item h3:hover {
43
+ color: #2EA2CC;
44
+ }
45
+
46
+ .lst-vnav-item.active h3 {
47
+ color: #333;
48
+ background-color: #FDFDFD;
49
+ border: 1px solid #DEDEDE;
50
+ border-right-color: #FDFDFD;
51
+ }
52
+
53
+ .lst-vnav-item > .data {
54
+ display: none;
55
+ margin: 0;
56
+ border: 1px solid #DEDEDE;
57
+ padding: 10px;
58
+ top: 0;
59
+ right: 0;
60
+ left: 191px;
61
+ position: absolute;
62
+ background-color: #FDFDFD;
63
+ }
64
+
65
+ .lst-vnav-item.active > .data {
66
+ display: block;
67
+ z-index: 1;
68
+ }
69
+
70
+ .lst-vnav-item .form-table tbody > tr:first-child > th,
71
+ .lst-vnav-item .form-table tbody > tr:first-child > td {
72
+ padding-top: 0;
73
+ }
74
+
75
+ .lst-vnav-item .form-table tbody > tr:last-child > th,
76
+ .lst-vnav-item .form-table tbody > tr:last-child > td {
77
+ padding-bottom: 0;
78
+ }
79
+
80
+ .lst-vnav-item .widefat thead > tr > th,
81
+ .lst-vnav-item .widefat thead > tr > td,
82
+ .lst-vnav-item .widefat tfoot > tr > th,
83
+ .lst-vnav-item .widefat tfoot > tr > td {
84
+ padding: 8px 10px;
85
+ }
86
+
87
+ /* Condense the tabs/setting-headers on small screens */
88
+ @media screen and (max-width: 1024px) {
89
+ .lst-vnav-item h3 {
90
+ width: 150px;
91
+ }
92
+
93
+ .lst-vnav-item > .data {
94
+ left: 161px;
95
+ padding: 5px;
96
+ }
97
+
98
+ .lst-vnav-item .form-table th {
99
+ width: 170px;
100
+ }
101
+ }
102
+ /* Change vertical nav to accordeon style on mobile screens */
103
+ @media screen and (max-width: 782px) {
104
+ .lst-vnav {
105
+ margin-bottom: 40px;
106
+ }
107
+
108
+ .lst-vnav-item h3 {
109
+ width: auto;
110
+ background-color: #F8F8F8;
111
+ display: none;
112
+ font-weight: bold;
113
+ }
114
+
115
+ .lst-vnav-item.active h3 {
116
+ display: block;
117
+ background-color: #F1F1F1;
118
+ border-bottom-color: transparent;
119
+ border-right-color: #DEDEDE;
120
+ }
121
+
122
+ .lst-vnav.open .lst-vnav-item h3 {
123
+ display: block;
124
+ border-top-style: none;
125
+ border-bottom-style: none;
126
+ border-left-color: #999;
127
+ border-right-color: #999;
128
+ }
129
+
130
+ .lst-vnav.open .lst-vnav-item:first-child h3 {
131
+ border-top: 1px solid #999;
132
+ }
133
+
134
+ .lst-vnav.open .lst-vnav-item:last-child h3 {
135
+ border-bottom: 1px solid #999;
136
+ }
137
+
138
+ .lst-vnav-item > .data {
139
+ left: 0;
140
+ top: 30px;
141
+ border-top-style: none;
142
+ min-height: 0 !important;
143
+ }
144
+
145
+ .lst-vnav-item .form-table th {
146
+ width: auto;
147
+ }
148
+
149
+ .lst-vnav-item .form-table td {
150
+ padding-left: 16px;
151
+ }
152
+ }
inc/external/wpmu-lib/css/wpmu-vnav.min.css ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /*! WPMU Dev code library - v1.0.15
2
+ * http://premium.wpmudev.org/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+
5
+ .lst-vnav{list-style:none;padding:0;position:relative}.lst-vnav-item{padding:0;margin:0}.lst-vnav-sep{border-bottom:1px solid #E8E8E8;padding:0;margin:0;padding-bottom:5px;margin-bottom:5px}.lst-vnav-item h3{width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px;margin:0;height:22px;line-height:22px;font-size:15px;color:#0074A2;cursor:pointer;position:relative;z-index:2;font-weight:400;border:1px solid transparent}.lst-vnav-item h3:hover{color:#2EA2CC}.lst-vnav-item.active h3{color:#333;background-color:#FDFDFD;border:1px solid #DEDEDE;border-right-color:#FDFDFD}.lst-vnav-item>.data{display:none;margin:0;border:1px solid #DEDEDE;padding:10px;top:0;right:0;left:191px;position:absolute;background-color:#FDFDFD}.lst-vnav-item.active>.data{display:block;z-index:1}.lst-vnav-item .form-table tbody>tr:first-child>th,.lst-vnav-item .form-table tbody>tr:first-child>td{padding-top:0}.lst-vnav-item .form-table tbody>tr:last-child>th,.lst-vnav-item .form-table tbody>tr:last-child>td{padding-bottom:0}.lst-vnav-item .widefat thead>tr>th,.lst-vnav-item .widefat thead>tr>td,.lst-vnav-item .widefat tfoot>tr>th,.lst-vnav-item .widefat tfoot>tr>td{padding:8px 10px}@media screen and (max-width:1024px){.lst-vnav-item h3{width:150px}.lst-vnav-item>.data{left:161px;padding:5px}.lst-vnav-item .form-table th{width:170px}}@media screen and (max-width:782px){.lst-vnav{margin-bottom:40px}.lst-vnav-item h3{width:auto;background-color:#F8F8F8;display:none;font-weight:700}.lst-vnav-item.active h3{display:block;background-color:#F1F1F1;border-bottom-color:transparent;border-right-color:#DEDEDE}.lst-vnav.open .lst-vnav-item h3{display:block;border-top-style:none;border-bottom-style:none;border-left-color:#999;border-right-color:#999}.lst-vnav.open .lst-vnav-item:first-child h3{border-top:1px solid #999}.lst-vnav.open .lst-vnav-item:last-child h3{border-bottom:1px solid #999}.lst-vnav-item>.data{left:0;top:30px;border-top-style:none;min-height:0!important}.lst-vnav-item .form-table th{width:auto}.lst-vnav-item .form-table td{padding-left:16px}}
inc/external/wpmu-lib/functions-wpmulib.php CHANGED
@@ -1,592 +1,852 @@
1
- <?php
2
-
3
- // Based on Jigsaw plugin by Jared Novack (http://jigsaw.upstatement.com/)
4
- class TheLib_1_0_11 {
5
-
6
- // --- Start of 5.2 compatibility functions
7
-
8
- /**
9
- * Internal data collection used to pass arguments to callback functions.
10
- * Only used for 5.2 version as alternative to closures.
11
- * @var array
12
- */
13
- protected $data = array();
14
-
15
- protected function _have( $key ) {
16
- return isset( $this->data[ $key ] );
17
- }
18
-
19
- protected function _add( $key, $value ) {
20
- if ( ! is_array( @$this->data[ $key ] ) ) {
21
- $this->data[ $key ] = array();
22
- }
23
- $this->data[ $key ][] = $value;
24
- }
25
-
26
- protected function _get( $key ) {
27
- if ( ! is_array( @$this->data[ $key ] ) ) {
28
- $this->data[ $key ] = array();
29
- }
30
- return $this->data[ $key ];
31
- }
32
-
33
- protected function _clear( $key ) {
34
- $this->data[ $key ] = array();
35
- }
36
-
37
-
38
- // --- End of 5.2 compatibility functions
39
-
40
- // --- Start of Session access
41
-
42
- protected function _sess_have( $key ) {
43
- return isset( $_SESSION[ '_lib_persist_' . $key ] );
44
- }
45
-
46
- protected function _sess_add( $key, $value ) {
47
- if ( ! session_id() ) { session_start(); }
48
-
49
- if ( ! is_array( @$_SESSION[ '_lib_persist_' . $key ] ) ) {
50
- $_SESSION[ '_lib_persist_' . $key ] = array();
51
- }
52
- $_SESSION[ '_lib_persist_' . $key ][] = $value;
53
- }
54
-
55
- protected function _sess_get( $key ) {
56
- if ( ! session_id() ) { session_start(); }
57
-
58
- if ( ! is_array( @$_SESSION[ '_lib_persist_' . $key ] ) ) {
59
- $_SESSION[ '_lib_persist_' . $key ] = array();
60
- }
61
- return $_SESSION[ '_lib_persist_' . $key ];
62
- }
63
-
64
- protected function _sess_clear( $key ) {
65
- if ( ! session_id() ) { session_start(); }
66
-
67
- unset( $_SESSION[ '_lib_persist_' . $key ] );
68
- }
69
-
70
- // --- End of Session access
71
-
72
- public function __construct() {
73
- if ( ! session_id() ) { session_start(); }
74
-
75
- // Check for persistent data from last request that needs to be processed.
76
- $this->check_persistent_data();
77
- }
78
-
79
- /**
80
- * Returns the full URL to an internal CSS file of the code library.
81
- *
82
- * @since 1.0.0
83
- * @private
84
- * @param string $file The filename, relative to this plugins folder.
85
- * @return string
86
- */
87
- protected function _css_url( $file ) {
88
- static $Url = null;
89
- if ( null === $Url ) {
90
- $Url = plugins_url( 'css/', __FILE__ );
91
- }
92
- return $Url . $file;
93
- }
94
-
95
- /**
96
- * Returns the full URL to an internal JS file of the code library.
97
- *
98
- * @since 1.0.0
99
- * @private
100
- * @param string $file The filename, relative to this plugins folder.
101
- * @return string
102
- */
103
- protected function _js_url( $file ) {
104
- static $Url = null;
105
- if ( null === $Url ) {
106
- $Url = plugins_url( 'js/', __FILE__ );
107
- }
108
- return $Url . $file;
109
- }
110
-
111
- /**
112
- * Returns the full path to an internal php partial of the code library.
113
- *
114
- * @since 1.0.0
115
- * @private
116
- * @param string $file The filename, relative to this plugins folder.
117
- * @return string
118
- */
119
- protected function _include_path( $file ) {
120
- static $Path = null;
121
- if ( null === $Path ) {
122
- $basedir = dirname( __FILE__ ) . '/';
123
- $Path = $basedir . 'inc/';
124
- }
125
- return $Path . $file;
126
- }
127
-
128
-
129
-
130
- /**
131
- * Enqueue core UI files (CSS/JS).
132
- *
133
- * Defined modules:
134
- * - core
135
- * - scrollbar
136
- * - select
137
- *
138
- * @since 1.0.0
139
- * @param string $modules The module to load.
140
- * @param string $onpage A page hook; files will only be loaded on this page.
141
- */
142
- public function add_ui( $module = 'core', $onpage = null ) {
143
- switch ( $module ) {
144
- case 'core':
145
- $this->add_css( $this->_css_url( 'wpmu-ui.css' ), $onpage );
146
- $this->add_js( $this->_js_url( 'wpmu-ui.min.js' ), $onpage );
147
- break;
148
-
149
- case 'scrollbar':
150
- $this->add_js( $this->_js_url( 'tiny-scrollbar.min.js' ), $onpage );
151
- break;
152
-
153
- case 'select':
154
- $this->add_css( $this->_css_url( 'select2.css' ), $onpage );
155
- $this->add_js( $this->_js_url( 'select2.min.js' ), $onpage );
156
- break;
157
-
158
- case 'vnav':
159
- $this->add_css( $this->_css_url( 'wpmu-vnav.css' ), $onpage );
160
- $this->add_js( $this->_js_url( 'wpmu-vnav.min.js' ), $onpage );
161
- break;
162
-
163
- default:
164
- $ext = strrchr( $module, '.' );
165
- if ( '.css' === $ext ) {
166
- $this->add_css( $module, $onpage, 20 );
167
- } else if ( '.js' === $ext ) {
168
- $this->add_js( $module, $onpage, 20 );
169
- }
170
- }
171
- }
172
-
173
- /**
174
- * Adds a variable to javascript.
175
- *
176
- * @since 1.0.7
177
- * @param string $name Name of the variable
178
- * @param mixed $data Value of the variable
179
- */
180
- public function add_data( $name, $data ) {
181
- wp_localize_script( 'jquery', $name, $data );
182
- }
183
-
184
- /**
185
- * Enqueue a javascript file.
186
- *
187
- * @since 1.0.0
188
- * @param string $url Full URL to the javascript file.
189
- * @param string $onpage A page hook; files will only be loaded on this page.
190
- * @param int $priority Loading order. The higher the number, the later it is loaded.
191
- */
192
- public function add_js( $url, $onpage = null, $priority = 10 ) {
193
- $this->_prepare_js_or_css( $url, 'js', $onpage, $priority );
194
- }
195
-
196
- /**
197
- * Enqueue a css file.
198
- *
199
- * @since 1.0.0
200
- * @param string $url Full URL to the css filename.
201
- * @param string $onpage A page hook; files will only be loaded on this page.
202
- * @param int $priority Loading order. The higher the number, the later it is loaded.
203
- */
204
- public function add_css( $url, $onpage = null, $priority = 10 ) {
205
- $this->_prepare_js_or_css( $url, 'css', $onpage, $priority );
206
- }
207
-
208
- /**
209
- * Prepare to enqueue a javascript or css file.
210
- *
211
- * @since 1.0.7
212
- * @private
213
- * @param string $url Full URL to the javascript/css file.
214
- * @param string $type 'css' or 'js'
215
- * @param string $onpage A page hook; files will only be loaded on this page.
216
- * @param int $priority Loading order. The higher the number, the later it is loaded.
217
- */
218
- protected function _prepare_js_or_css( $url, $type, $onpage, $priority ) {
219
- $hooked = $this->_have( 'js_or_css' );
220
- $this->_add( 'js_or_css', compact( 'url', 'type', 'onpage', 'priority' ) );
221
-
222
- if ( ! did_action( 'init' ) ) {
223
- $hooked || add_action(
224
- 'init',
225
- array( $this, '_add_admin_js_or_css' )
226
- );
227
- } else {
228
- $this->_add_admin_js_or_css();
229
- }
230
- }
231
-
232
- /**
233
- * Returns the JS/CSS handle of the item.
234
- * This is a private helper function used by array_map()
235
- *
236
- * @since 1.0.7
237
- * @private
238
- */
239
- public function _get_script_handle( $item ) {
240
- return @$item->handle;
241
- }
242
-
243
- /**
244
- * Enqueues either a css or javascript file
245
- *
246
- * @since 1.0.0
247
- * @private
248
- */
249
- public function _add_admin_js_or_css() {
250
- if ( ! is_admin() ) {
251
- return;
252
- }
253
-
254
- $scripts = $this->_get( 'js_or_css' );
255
- $this->_clear( 'js_or_css' );
256
-
257
- foreach ( $scripts as $script ) {
258
- extract( $script ); // url, type, onpage, priority
259
-
260
- $type = ( 'css' == $type || 'style' == $type ? 'css' : 'js' );
261
-
262
- // The $handle values are intentionally not cached:
263
- // Any plugin/theme could add new handles at any moment...
264
- $handles = array();
265
- if ( 'css' == $type ) {
266
- global $wp_styles;
267
- if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
268
- $wp_styles = new WP_Styles();
269
- }
270
- $handles = array_values(
271
- array_map(
272
- array( $this, '_get_script_handle' ),
273
- $wp_styles->registered
274
- )
275
- );
276
- } else {
277
- global $wp_scripts;
278
- if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) {
279
- $wp_scripts = new WP_Scripts();
280
- }
281
- $handles = array_values(
282
- array_map(
283
- array( $this, '_get_script_handle' ),
284
- $wp_scripts->registered
285
- )
286
- );
287
- }
288
-
289
- if ( in_array( $url, $handles ) ) {
290
- $alias = $url;
291
- $url = '';
292
- } else {
293
- // Get the filename from the URL, then sanitize it and prefix "wpmu-"
294
- $urlparts = explode( '?', $url, 2 );
295
- $alias = 'wpmu-' . sanitize_title( basename( reset( $urlparts ) ) );
296
- }
297
- $onpage = empty( $onpage ) ? '' : $onpage;
298
-
299
- $item = compact( 'url', 'alias', 'onpage' );
300
- if ( 'css' == $type ) {
301
- $this->_have( 'css' ) || add_action(
302
- 'admin_enqueue_scripts',
303
- array( $this, '_enqueue_style_callback' ),
304
- 100 + $priority // Load custom styles a bit later than core styles.
305
- );
306
- $this->_add( 'css', $item );
307
- } else {
308
- $this->_have( 'js' ) || add_action(
309
- 'admin_enqueue_scripts',
310
- array( $this, '_enqueue_script_callback' ),
311
- 100 + $priority // Load custom scripts a bit later than core scripts.
312
- );
313
- $this->_add( 'js', $item );
314
- }
315
- }
316
- }
317
-
318
- /**
319
- * Action hook for enqueue style (for PHP <5.3 only)
320
- *
321
- * @since 1.0.1
322
- * @private
323
- * @param string $hook The current admin page that is rendered.
324
- */
325
- public function _enqueue_style_callback( $hook ) {
326
- $items = $this->_get( 'css' );
327
- foreach ( $items as $item ) {
328
- extract( $item ); // url, alias, onpage
329
- if ( '' !== $onpage && $hook != $onpage ) { continue; }
330
-
331
- if ( empty( $url ) ) {
332
- wp_enqueue_style( $alias );
333
- } else {
334
- wp_enqueue_style( $alias, $url );
335
- }
336
- }
337
- }
338
-
339
- /**
340
- * Action hook for enqueue script (for PHP <5.3 only)
341
- *
342
- * @since 1.0.1
343
- * @private
344
- * @param string $hook The current admin page that is rendered.
345
- */
346
- public function _enqueue_script_callback( $hook ) {
347
- $items = $this->_get( 'js' );
348
- foreach ( $items as $item ) {
349
- extract( $item ); // url, alias, onpage
350
- if ( '' !== $onpage && $hook != $onpage ) { continue; }
351
-
352
- if ( empty( $url ) ) {
353
- wp_enqueue_script( $alias );
354
- } else {
355
- wp_enqueue_script( $alias, $url, array( 'jquery' ), false, true );
356
- }
357
- }
358
- }
359
-
360
-
361
-
362
- /**
363
- * Displays a WordPress pointer on the current admin screen.
364
- *
365
- * @since 1.0.0
366
- * @param string $pointer_id Internal ID of the pointer, make sure it is unique!
367
- * @param string $html_el HTML element to point to (e.g. '#menu-appearance')
368
- * @param string $title The title of the pointer.
369
- * @param string $body Text of the pointer.
370
- */
371
- public function pointer( $pointer_id, $html_el, $title, $body ) {
372
- if ( ! is_admin() ) {
373
- return;
374
- }
375
-
376
- $this->_have( 'init_pointer' ) || add_action(
377
- 'init',
378
- array( $this, '_init_pointer' )
379
- );
380
- $this->_add( 'init_pointer', compact( 'pointer_id', 'html_el', 'title', 'body' ) );
381
- }
382
-
383
- /**
384
- * Action handler for plugins_loaded. This decides if the pointer will be displayed.
385
- *
386
- * @since 1.0.2
387
- * @private
388
- */
389
- public function _init_pointer() {
390
- $items = $this->_get( 'init_pointer' );
391
- foreach ( $items as $item ) {
392
- extract( $item );
393
-
394
- // Find out which pointer IDs this user has already seen.
395
- $seen = (string) get_user_meta(
396
- get_current_user_id(),
397
- 'dismissed_wp_pointers',
398
- true
399
- );
400
- $seen_list = explode( ',', $seen );
401
-
402
- // Handle our first pointer announcing the plugin's new settings screen.
403
- if ( ! in_array( $pointer_id, $seen_list ) ) {
404
- $this->_have( 'pointer' ) || add_action(
405
- 'admin_print_footer_scripts',
406
- array( $this, '_pointer_print_scripts' )
407
- );
408
- $this->_have( 'pointer' ) || add_action(
409
- 'admin_enqueue_scripts',
410
- array( $this, '_enqueue_pointer' )
411
- );
412
- $this->_add( 'pointer', $item );
413
- }
414
- }
415
- }
416
-
417
- /**
418
- * Enqueue wp-pointer (for PHP <5.3 only)
419
- *
420
- * @since 1.0.1
421
- * @private
422
- */
423
- public function _enqueue_pointer() {
424
- // Load the JS/CSS for WP Pointers
425
- wp_enqueue_script( 'wp-pointer' );
426
- wp_enqueue_style( 'wp-pointer' );
427
- }
428
-
429
- /**
430
- * Action hook for admin footer scripts (for PHP <5.3 only)
431
- *
432
- * @since 1.0.1
433
- * @private
434
- */
435
- public function _pointer_print_scripts() {
436
- $items = $this->_get( 'pointer' );
437
- foreach ( $items as $item ) {
438
- extract( $item ); // pointer_id, html_el, title, body
439
- include $this->_include_path( 'pointer.php' );
440
- }
441
- }
442
-
443
-
444
-
445
- /**
446
- * Display an admin notice.
447
- *
448
- * @since 1.0.0
449
- * @param string $text Text to display.
450
- * @param string $class Message-type [updated|error]
451
- * @param string $screen Limit message to this screen-ID
452
- */
453
- public function message( $text, $class = '', $screen = '' ) {
454
- if ( 'red' == $class || 'err' == $class || 'error' == $class ) {
455
- $class = 'error';
456
- } else {
457
- $class = 'updated';
458
- }
459
-
460
- // Check if the message is already queued...
461
- $items = $this->_sess_get( 'message' );
462
- foreach ( $items as $key => $data ) {
463
- if (
464
- $data['text'] == $text &&
465
- $data['class'] == $class &&
466
- $data['screen'] == $screen
467
- ) {
468
- return; // Don't add duplicate message to queue.
469
- }
470
- }
471
-
472
- $this->_sess_add( 'message', compact( 'text', 'class', 'screen' ) );
473
-
474
- if ( did_action( 'admin_notices' ) ) {
475
- $this->_admin_notice_callback();
476
- } else {
477
- $this->_have( '_admin_notice' ) || add_action(
478
- 'admin_notices',
479
- array( $this, '_admin_notice_callback' ),
480
- 1
481
- );
482
- $this->_add( '_admin_notice', true );
483
- }
484
- }
485
-
486
- /**
487
- * Action hook for admin notices (for PHP <5.3 only)
488
- *
489
- * @since 1.0.1
490
- * @private
491
- */
492
- public function _admin_notice_callback() {
493
- $items = $this->_sess_get( 'message' );
494
- $this->_sess_clear( 'message' );
495
- $screen_info = get_current_screen();
496
- $screen_id = $screen_info->id;
497
-
498
- foreach ( $items as $item ) {
499
- extract( $item ); // text, class, screen
500
- if ( empty( $screen ) || $screen_id == $screen ) {
501
- echo '<div class="' . esc_attr( $class ) . '"><p>' . $text . '</p></div>';
502
- }
503
- }
504
- }
505
-
506
-
507
-
508
- /**
509
- * Short way to load the textdomain of a plugin.
510
- *
511
- * @since 1.0.0
512
- * @param string $domain Translations will be mapped to this domain.
513
- * @param string $rel_dir Path to the dictionary folder; relative to ABSPATH.
514
- */
515
- public function translate_plugin( $domain, $rel_dir ) {
516
- $hooked = $this->_have( 'textdomain' );
517
-
518
- $this->_add( 'textdomain', compact( 'domain', 'rel_dir' ) );
519
-
520
- if ( ! did_action( 'plugins_loaded' ) ) {
521
- $hooked || add_action(
522
- 'plugins_loaded',
523
- array( $this, '_translate_plugin_callback' )
524
- );
525
- } else {
526
- $this->_translate_plugin_callback();
527
- }
528
- }
529
-
530
- /**
531
- * Create function callback for load textdomain (for PHP <5.3 only)
532
- *
533
- * @since 1.0.1
534
- * @private
535
- */
536
- public function _translate_plugin_callback() {
537
- $items = $this->_get( 'textdomain' );
538
- foreach ( $items as $item ) {
539
- extract( $item ); // domain, rel_dir
540
- load_plugin_textdomain( $domain, false, $rel_dir );
541
- }
542
- }
543
-
544
-
545
-
546
- /**
547
- * Checks the DB for persistent data from last request.
548
- * If persistent data exists the appropriate hooks are set to process them.
549
- *
550
- * @since 1.0.7
551
- */
552
- public function check_persistent_data() {
553
- // $this->message()
554
- if ( $this->_sess_have( 'message' ) ) {
555
- $this->_have( '_admin_notice' ) || add_action(
556
- 'admin_notices',
557
- array( $this, '_admin_notice_callback' ),
558
- 1
559
- );
560
- $this->_add( '_admin_notice', true );
561
- }
562
- }
563
-
564
- /**
565
- * Returns the current URL.
566
- * This URL is not guaranteed to look exactly same as the user sees it.
567
- * E.g. Hashtags are missing ("index.php#section-a")
568
- *
569
- * @since 1.0.7
570
- * @return string Full URL to current page.
571
- */
572
- public function current_url() {
573
- $Url = null;
574
-
575
- if ( null === $Url ) {
576
- if ( isset( $_SERVER['HTTPS'] ) && strtolower( $_SERVER['HTTPS'] ) == 'on' ) {
577
- $Url .= 'https://';
578
- } else {
579
- $Url = 'http://';
580
- }
581
-
582
- if ( $_SERVER['SERVER_PORT'] != '80' ) {
583
- $Url .= $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . $_SERVER['REQUEST_URI'];
584
- } else {
585
- $Url .= $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
586
- }
587
- $Url = trailingslashit( $Url );
588
- }
589
-
590
- return $Url;
591
- }
592
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // Based on Jigsaw plugin by Jared Novack (http://jigsaw.upstatement.com/)
4
+ class TheLib_1_0_15 {
5
+
6
+ // --- Start of 5.2 compatibility functions
7
+
8
+ /**
9
+ * Internal data collection used to pass arguments to callback functions.
10
+ * Only used for 5.2 version as alternative to closures.
11
+ * @var array
12
+ */
13
+ protected $data = array();
14
+
15
+ protected function _have( $key ) {
16
+ return isset( $this->data[ $key ] );
17
+ }
18
+
19
+ protected function _add( $key, $value ) {
20
+ if ( ! is_array( @$this->data[ $key ] ) ) {
21
+ $this->data[ $key ] = array();
22
+ }
23
+ $this->data[ $key ][] = $value;
24
+ }
25
+
26
+ protected function _get( $key ) {
27
+ if ( ! is_array( @$this->data[ $key ] ) ) {
28
+ $this->data[ $key ] = array();
29
+ }
30
+ return $this->data[ $key ];
31
+ }
32
+
33
+ protected function _clear( $key ) {
34
+ $this->data[ $key ] = array();
35
+ }
36
+
37
+
38
+ // --- End of 5.2 compatibility functions
39
+
40
+ // --- Start of Session access
41
+
42
+ protected function _sess_have( $key ) {
43
+ return isset( $_SESSION[ '_lib_persist_' . $key ] );
44
+ }
45
+
46
+ protected function _sess_add( $key, $value ) {
47
+ if ( ! is_array( @$_SESSION[ '_lib_persist_' . $key ] ) ) {
48
+ $_SESSION[ '_lib_persist_' . $key ] = array();
49
+ }
50
+ $_SESSION[ '_lib_persist_' . $key ][] = $value;
51
+ }
52
+
53
+ protected function _sess_get( $key ) {
54
+ if ( ! is_array( @$_SESSION[ '_lib_persist_' . $key ] ) ) {
55
+ $_SESSION[ '_lib_persist_' . $key ] = array();
56
+ }
57
+ return $_SESSION[ '_lib_persist_' . $key ];
58
+ }
59
+
60
+ protected function _sess_clear( $key ) {
61
+ unset( $_SESSION[ '_lib_persist_' . $key ] );
62
+ }
63
+
64
+ // --- End of Session access
65
+
66
+ public function __construct() {
67
+ if ( ! session_id() ) {
68
+ if ( ! headers_sent() ) {
69
+ session_start();
70
+ }
71
+ }
72
+
73
+ // Check for persistent data from last request that needs to be processed.
74
+ $this->check_persistent_data();
75
+ }
76
+
77
+ /**
78
+ * Returns the full URL to an internal CSS file of the code library.
79
+ *
80
+ * @since 1.0.0
81
+ * @private
82
+ * @param string $file The filename, relative to this plugins folder.
83
+ * @return string
84
+ */
85
+ protected function _css_url( $file ) {
86
+ static $Url = null;
87
+
88
+ if ( defined( 'WDEV_UNMINIFIED' ) && WDEV_UNMINIFIED ) {
89
+ $file = str_replace( '.min.css', '.css', $file );
90
+ }
91
+ if ( null === $Url ) {
92
+ $Url = plugins_url( 'css/', __FILE__ );
93
+ }
94
+ return $Url . $file;
95
+ }
96
+
97
+ /**
98
+ * Returns the full URL to an internal JS file of the code library.
99
+ *
100
+ * @since 1.0.0
101
+ * @private
102
+ * @param string $file The filename, relative to this plugins folder.
103
+ * @return string
104
+ */
105
+ protected function _js_url( $file ) {
106
+ static $Url = null;
107
+
108
+ if ( defined( 'WDEV_UNMINIFIED' ) && WDEV_UNMINIFIED ) {
109
+ $file = str_replace( '.min.js', '.js', $file );
110
+ }
111
+ if ( null === $Url ) {
112
+ $Url = plugins_url( 'js/', __FILE__ );
113
+ }
114
+ return $Url . $file;
115
+ }
116
+
117
+ /**
118
+ * Returns the full path to an internal php partial of the code library.
119
+ *
120
+ * @since 1.0.0
121
+ * @private
122
+ * @param string $file The filename, relative to this plugins folder.
123
+ * @return string
124
+ */
125
+ protected function _include_path( $file ) {
126
+ static $Path = null;
127
+ if ( null === $Path ) {
128
+ $basedir = dirname( __FILE__ ) . '/';
129
+ $Path = $basedir . 'inc/';
130
+ }
131
+ return $Path . $file;
132
+ }
133
+
134
+
135
+
136
+ /**
137
+ * Enqueue core UI files (CSS/JS).
138
+ *
139
+ * Defined modules:
140
+ * - core
141
+ * - scrollbar
142
+ * - select
143
+ * - vnav
144
+ *
145
+ * @since 1.0.0
146
+ * @param string $modules The module to load.
147
+ * @param string $onpage A page hook; files will only be loaded on this page.
148
+ */
149
+ public function add_ui( $module = 'core', $onpage = null ) {
150
+ switch ( $module ) {
151
+ case 'core':
152
+ $this->add_css( $this->_css_url( 'wpmu-ui.min.css' ), $onpage );
153
+ $this->add_js( $this->_js_url( 'wpmu-ui.min.js' ), $onpage );
154
+ break;
155
+
156
+ case 'scrollbar':
157
+ $this->add_js( $this->_js_url( 'tiny-scrollbar.min.js' ), $onpage );
158
+ break;
159
+
160
+ case 'select':
161
+ $this->add_css( $this->_css_url( 'select2.min.css' ), $onpage );
162
+ $this->add_js( $this->_js_url( 'select2.min.js' ), $onpage );
163
+ break;
164
+
165
+ case 'vnav':
166
+ $this->add_css( $this->_css_url( 'wpmu-vnav.min.css' ), $onpage );
167
+ $this->add_js( $this->_js_url( 'wpmu-vnav.min.js' ), $onpage );
168
+ break;
169
+
170
+ case 'media':
171
+ $this->add_js( 'wpmu:media', $onpage );
172
+ break;
173
+
174
+ default:
175
+ $ext = strrchr( $module, '.' );
176
+
177
+ if ( defined( 'WDEV_UNMINIFIED' ) && WDEV_UNMINIFIED ) {
178
+ $module = str_replace( '.min' . $ext, $ext, $module );
179
+ }
180
+ if ( '.css' === $ext ) {
181
+ $this->add_css( $module, $onpage, 20 );
182
+ } else if ( '.js' === $ext ) {
183
+ $this->add_js( $module, $onpage, 20 );
184
+ }
185
+ }
186
+ }
187
+
188
+ /**
189
+ * Adds a variable to javascript.
190
+ *
191
+ * @since 1.0.7
192
+ * @param string $name Name of the variable
193
+ * @param mixed $data Value of the variable
194
+ */
195
+ public function add_data( $name, $data, $onpage = null ) {
196
+ if ( did_action( 'wp_enqueue_scripts' ) || did_action( 'admin_enqueue_scripts' ) ) {
197
+ // Javascript sources already enqueued:
198
+ // Directly output the data right now.
199
+ printf(
200
+ '<script>window.%1$s = %2$s;</script>',
201
+ sanitize_html_class( $name ),
202
+ json_encode( $data )
203
+ );
204
+ } else {
205
+ // Enqueue the data for output with javascript sources.
206
+ $this->_add( 'js_data', array( $name, $data ) );
207
+ $this->_prepare_js_or_css( 'jquery', 'js', $onpage, 1 );
208
+ }
209
+ }
210
+
211
+ /**
212
+ * Enqueue a javascript file.
213
+ *
214
+ * @since 1.0.0
215
+ * @param string $url Full URL to the javascript file.
216
+ * @param string $onpage A page hook; files will only be loaded on this page.
217
+ * @param int $priority Loading order. The higher the number, the later it is loaded.
218
+ */
219
+ public function add_js( $url, $onpage = null, $priority = 10 ) {
220
+ $this->_prepare_js_or_css( $url, 'js', $onpage, $priority );
221
+ }
222
+
223
+ /**
224
+ * Enqueue a css file.
225
+ *
226
+ * @since 1.0.0
227
+ * @param string $url Full URL to the css filename.
228
+ * @param string $onpage A page hook; files will only be loaded on this page.
229
+ * @param int $priority Loading order. The higher the number, the later it is loaded.
230
+ */
231
+ public function add_css( $url, $onpage = null, $priority = 10 ) {
232
+ $this->_prepare_js_or_css( $url, 'css', $onpage, $priority );
233
+ }
234
+
235
+ /**
236
+ * Prepare to enqueue a javascript or css file.
237
+ *
238
+ * @since 1.0.7
239
+ * @private
240
+ * @param string $url Full URL to the javascript/css file.
241
+ * @param string $type 'css' or 'js'
242
+ * @param string $onpage A page hook; files will only be loaded on this page.
243
+ * @param int $priority Loading order. The higher the number, the later it is loaded.
244
+ */
245
+ protected function _prepare_js_or_css( $url, $type, $onpage, $priority ) {
246
+ $hooked = $this->_have( 'js_or_css' );
247
+ $this->_add( 'js_or_css', compact( 'url', 'type', 'onpage', 'priority' ) );
248
+
249
+ if ( ! did_action( 'init' ) ) {
250
+ $hooked || add_action(
251
+ 'init',
252
+ array( $this, '_add_js_or_css' )
253
+ );
254
+ } else {
255
+ $this->_add_js_or_css();
256
+ }
257
+ }
258
+
259
+ /**
260
+ * Returns the JS/CSS handle of the item.
261
+ * This is a private helper function used by array_map()
262
+ *
263
+ * @since 1.0.7
264
+ * @private
265
+ */
266
+ public function _get_script_handle( $item ) {
267
+ return @$item->handle;
268
+ }
269
+
270
+ /**
271
+ * Enqueues either a css or javascript file
272
+ *
273
+ * @since 1.0.0
274
+ * @private
275
+ */
276
+ public function _add_js_or_css() {
277
+ global $wp_styles, $wp_scripts;
278
+
279
+ $scripts = $this->_get( 'js_or_css' );
280
+ $this->_clear( 'js_or_css' );
281
+
282
+ // Prevent adding the same URL twice.
283
+ $done_urls = array();
284
+
285
+ foreach ( $scripts as $script ) {
286
+ extract( $script ); // url, type, onpage, priority
287
+
288
+ if ( 'front' === $onpage && is_admin() ) { continue; }
289
+
290
+ // Prevent adding the same URL twice.
291
+ if ( in_array( $url, $done_urls ) ) { continue; }
292
+ $done_urls[] = $url;
293
+
294
+ $type = ( 'css' === $type || 'style' === $type ? 'css' : 'js' );
295
+
296
+ // The $handle values are intentionally not cached:
297
+ // Any plugin/theme could add new handles at any moment...
298
+ $handles = array();
299
+ if ( 'css' == $type ) {
300
+ if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
301
+ $wp_styles = new WP_Styles();
302
+ }
303
+ $handles = array_values(
304
+ array_map(
305
+ array( $this, '_get_script_handle' ),
306
+ $wp_styles->registered
307
+ )
308
+ );
309
+ $type_callback = '_enqueue_style_callback';
310
+ } else {
311
+ if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) {
312
+ $wp_scripts = new WP_Scripts();
313
+ }
314
+ $handles = array_values(
315
+ array_map(
316
+ array( $this, '_get_script_handle' ),
317
+ $wp_scripts->registered
318
+ )
319
+ );
320
+ $type_callback = '_enqueue_script_callback';
321
+ }
322
+
323
+ if ( in_array( $url, $handles ) ) {
324
+ $alias = $url;
325
+ $url = '';
326
+ } else {
327
+ // Get the filename from the URL, then sanitize it and prefix "wpmu-"
328
+ $urlparts = explode( '?', $url, 2 );
329
+ $alias = 'wpmu-' . sanitize_title( basename( $urlparts[0] ) );
330
+ }
331
+ $onpage = empty( $onpage ) ? '' : $onpage;
332
+
333
+ if ( 'front' === $onpage && ! is_admin() ) {
334
+ $hook = 'wp_enqueue_scripts';
335
+ } else {
336
+ $hook = 'admin_enqueue_scripts';
337
+ }
338
+
339
+ $item = compact( 'url', 'alias', 'onpage' );
340
+ $hooked = $this->_have( $type );
341
+ $this->_add( $type, $item );
342
+
343
+ if ( ! did_action( $hook ) ) {
344
+ $hooked || add_action(
345
+ $hook,
346
+ array( $this, $type_callback ),
347
+ 100 + $priority // Load custom styles a bit later than core styles.
348
+ );
349
+ } else {
350
+ $this->$type_callback();
351
+ }
352
+ }
353
+ }
354
+
355
+ /**
356
+ * Action hook for enqueue style (for PHP <5.3 only)
357
+ *
358
+ * @since 1.0.1
359
+ * @private
360
+ * @param string $hook The current admin page that is rendered.
361
+ */
362
+ public function _enqueue_style_callback( $hook = '' ) {
363
+ $items = $this->_get( 'css' );
364
+
365
+ if ( empty( $hook ) ) { $hook = 'front'; }
366
+
367
+ foreach ( $items as $item ) {
368
+ extract( $item ); // url, alias, onpage
369
+ if ( '' !== $onpage && $hook !== $onpage ) { continue; }
370
+
371
+ if ( empty( $url ) ) {
372
+ wp_enqueue_style( $alias );
373
+ } else {
374
+ wp_enqueue_style( $alias, $url );
375
+ }
376
+ }
377
+ }
378
+
379
+ /**
380
+ * Action hook for enqueue script (for PHP <5.3 only)
381
+ *
382
+ * @since 1.0.1
383
+ * @private
384
+ * @param string $hook The current admin page that is rendered.
385
+ */
386
+ public function _enqueue_script_callback( $hook = '' ) {
387
+ $items = $this->_get( 'js' );
388
+
389
+ $data = $this->_get( 'js_data' );
390
+ $this->_clear( 'js_data' );
391
+
392
+ if ( empty( $hook ) ) { $hook = 'front'; }
393
+
394
+ foreach ( $items as $item ) {
395
+ extract( $item ); // url, alias, onpage
396
+
397
+ if ( '' !== $onpage && $hook !== $onpage ) { continue; }
398
+
399
+ // Load the Media-library functions.
400
+ if ( 'wpmu:media' === $url ) {
401
+ wp_enqueue_media();
402
+ continue;
403
+ }
404
+
405
+ // Register script if it has an URL.
406
+ if ( ! empty( $url ) ) {
407
+ wp_register_script( $alias, $url, array( 'jquery' ), false, true );
408
+ }
409
+
410
+ // Append javascript data to the script output.
411
+ if ( ! empty( $data ) ) {
412
+ foreach ( $data as $item ) {
413
+ wp_localize_script( $alias, $item[0], $item[1] );
414
+ }
415
+ $data = false;
416
+ }
417
+
418
+ // Enqueue the script for output in the page footer.
419
+ wp_enqueue_script( $alias );
420
+ }
421
+ }
422
+
423
+
424
+
425
+ /**
426
+ * Displays a WordPress pointer on the current admin screen.
427
+ *
428
+ * @since 1.0.0
429
+ * @param string $pointer_id Internal ID of the pointer, make sure it is unique!
430
+ * @param string $html_el HTML element to point to (e.g. '#menu-appearance')
431
+ * @param string $title The title of the pointer.
432
+ * @param string $body Text of the pointer.
433
+ */
434
+ public function pointer( $pointer_id, $html_el, $title, $body ) {
435
+ if ( ! is_admin() ) {
436
+ return;
437
+ }
438
+
439
+ $this->_have( 'init_pointer' ) || add_action(
440
+ 'init',
441
+ array( $this, '_init_pointer' )
442
+ );
443
+ $this->_add( 'init_pointer', compact( 'pointer_id', 'html_el', 'title', 'body' ) );
444
+ }
445
+
446
+ /**
447
+ * Action handler for plugins_loaded. This decides if the pointer will be displayed.
448
+ *
449
+ * @since 1.0.2
450
+ * @private
451
+ */
452
+ public function _init_pointer() {
453
+ $items = $this->_get( 'init_pointer' );
454
+ foreach ( $items as $item ) {
455
+ extract( $item );
456
+
457
+ // Find out which pointer IDs this user has already seen.
458
+ $seen = (string) get_user_meta(
459
+ get_current_user_id(),
460
+ 'dismissed_wp_pointers',
461
+ true
462
+ );
463
+ $seen_list = explode( ',', $seen );
464
+
465
+ // Handle our first pointer announcing the plugin's new settings screen.
466
+ if ( ! in_array( $pointer_id, $seen_list ) ) {
467
+ $this->_have( 'pointer' ) || add_action(
468
+ 'admin_print_footer_scripts',
469
+ array( $this, '_pointer_print_scripts' )
470
+ );
471
+ $this->_have( 'pointer' ) || add_action(
472
+ 'admin_enqueue_scripts',
473
+ array( $this, '_enqueue_pointer' )
474
+ );
475
+ $this->_add( 'pointer', $item );
476
+ }
477
+ }
478
+ }
479
+
480
+ /**
481
+ * Enqueue wp-pointer (for PHP <5.3 only)
482
+ *
483
+ * @since 1.0.1
484
+ * @private
485
+ */
486
+ public function _enqueue_pointer() {
487
+ // Load the JS/CSS for WP Pointers
488
+ wp_enqueue_script( 'wp-pointer' );
489
+ wp_enqueue_style( 'wp-pointer' );
490
+ }
491
+
492
+ /**
493
+ * Action hook for admin footer scripts (for PHP <5.3 only)
494
+ *
495
+ * @since 1.0.1
496
+ * @private
497
+ */
498
+ public function _pointer_print_scripts() {
499
+ $items = $this->_get( 'pointer' );
500
+ foreach ( $items as $item ) {
501
+ extract( $item ); // pointer_id, html_el, title, body
502
+ include $this->_include_path( 'pointer.php' );
503
+ }
504
+ }
505
+
506
+
507
+
508
+ /**
509
+ * Display an admin notice.
510
+ *
511
+ * @since 1.0.0
512
+ * @param string $text Text to display.
513
+ * @param string $class Message-type [updated|error]
514
+ * @param string $screen Limit message to this screen-ID
515
+ */
516
+ public function message( $text, $class = '', $screen = '' ) {
517
+ if ( 'red' == $class || 'err' == $class || 'error' == $class ) {
518
+ $class = 'error';
519
+ } else {
520
+ $class = 'updated';
521
+ }
522
+
523
+ // Check if the message is already queued...
524
+ $items = $this->_sess_get( 'message' );
525
+ foreach ( $items as $key => $data ) {
526
+ if (
527
+ $data['text'] == $text &&
528
+ $data['class'] == $class &&
529
+ $data['screen'] == $screen
530
+ ) {
531
+ return; // Don't add duplicate message to queue.
532
+ }
533
+ }
534
+
535
+ $this->_sess_add( 'message', compact( 'text', 'class', 'screen' ) );
536
+
537
+ if ( did_action( 'admin_notices' ) ) {
538
+ $this->_admin_notice_callback();
539
+ } else {
540
+ $this->_have( '_admin_notice' ) || add_action(
541
+ 'admin_notices',
542
+ array( $this, '_admin_notice_callback' ),
543
+ 1
544
+ );
545
+ $this->_add( '_admin_notice', true );
546
+ }
547
+ }
548
+
549
+ /**
550
+ * Action hook for admin notices (for PHP <5.3 only)
551
+ *
552
+ * @since 1.0.1
553
+ * @private
554
+ */
555
+ public function _admin_notice_callback() {
556
+ $items = $this->_sess_get( 'message' );
557
+ $this->_sess_clear( 'message' );
558
+ $screen_info = get_current_screen();
559
+ $screen_id = $screen_info->id;
560
+
561
+ foreach ( $items as $item ) {
562
+ extract( $item ); // text, class, screen
563
+ if ( empty( $screen ) || $screen_id == $screen ) {
564
+ echo '<div class="' . esc_attr( $class ) . '"><p>' . $text . '</p></div>';
565
+ }
566
+ }
567
+ }
568
+
569
+
570
+
571
+ /**
572
+ * Short way to load the textdomain of a plugin.
573
+ *
574
+ * @since 1.0.0
575
+ * @param string $domain Translations will be mapped to this domain.
576
+ * @param string $rel_dir Path to the dictionary folder; relative to ABSPATH.
577
+ */
578
+ public function translate_plugin( $domain, $rel_dir ) {
579
+ $hooked = $this->_have( 'textdomain' );
580
+
581
+ $this->_add( 'textdomain', compact( 'domain', 'rel_dir' ) );
582
+
583
+ if ( ! did_action( 'plugins_loaded' ) ) {
584
+ $hooked || add_action(
585
+ 'plugins_loaded',
586
+ array( $this, '_translate_plugin_callback' )
587
+ );
588
+ } else {
589
+ $this->_translate_plugin_callback();
590
+ }
591
+ }
592
+
593
+ /**
594
+ * Create function callback for load textdomain (for PHP <5.3 only)
595
+ *
596
+ * @since 1.0.1
597
+ * @private
598
+ */
599
+ public function _translate_plugin_callback() {
600
+ $items = $this->_get( 'textdomain' );
601
+ foreach ( $items as $item ) {
602
+ extract( $item ); // domain, rel_dir
603
+ load_plugin_textdomain( $domain, false, $rel_dir );
604
+ }
605
+ }
606
+
607
+
608
+
609
+ /**
610
+ * Checks the DB for persistent data from last request.
611
+ * If persistent data exists the appropriate hooks are set to process them.
612
+ *
613
+ * @since 1.0.7
614
+ */
615
+ public function check_persistent_data() {
616
+ // $this->message()
617
+ if ( $this->_sess_have( 'message' ) ) {
618
+ $this->_have( '_admin_notice' ) || add_action(
619
+ 'admin_notices',
620
+ array( $this, '_admin_notice_callback' ),
621
+ 1
622
+ );
623
+ $this->_add( '_admin_notice', true );
624
+ }
625
+ }
626
+
627
+ /**
628
+ * Returns the current URL.
629
+ * This URL is not guaranteed to look exactly same as the user sees it.
630
+ * E.g. Hashtags are missing ("index.php#section-a")
631
+ *
632
+ * @since 1.0.7
633
+ * @return string Full URL to current page.
634
+ */
635
+ public function current_url() {
636
+ $Url = null;
637
+
638
+ if ( null === $Url ) {
639
+ if ( isset( $_SERVER['HTTPS'] ) && strtolower( $_SERVER['HTTPS'] ) == 'on' ) {
640
+ $Url .= 'https://';
641
+ } else {
642
+ $Url = 'http://';
643
+ }
644
+
645
+ if ( $_SERVER['SERVER_PORT'] != '80' ) {
646
+ $Url .= $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . $_SERVER['REQUEST_URI'];
647
+ } else {
648
+ $Url .= $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
649
+ }
650
+ $Url = trailingslashit( $Url );
651
+ }
652
+
653
+ return $Url;
654
+ }
655
+
656
+ /**
657
+ * Adds a value to the data collection in the user session.
658
+ *
659
+ * @since 1.0.15
660
+ * @param string $key The key of the value.
661
+ * @param mixed $value Value to store.
662
+ */
663
+ public function store_add( $key, $value ) {
664
+ $this->_sess_add( 'store:' . $key, $value );
665
+ }
666
+
667
+ /**
668
+ * Returns the current data array of the specified value from user session.
669
+ *
670
+ * @since 1.0.15
671
+ * @param string $key The key of the value.
672
+ * @return array The value, or an empty array if no value was assigned yet.
673
+ */
674
+ public function store_get( $key ) {
675
+ $vals = $this->_sess_get( 'store:' . $key );
676
+ foreach ( $vals as $key => $val ) {
677
+ if ( null === $val ) { unset( $vals[ $key ] ); }
678
+ }
679
+ $vals = array_values( $vals );
680
+ return $vals;
681
+ }
682
+
683
+ /**
684
+ * Returns the current data array of the specified value from user session
685
+ * and then clears the values from the session.
686
+ *
687
+ * @since 1.0.15
688
+ * @param string $key The key of the value.
689
+ * @return array The value, or an empty array if no value was assigned yet.
690
+ */
691
+ public function store_get_clear( $key ) {
692
+ $val = $this->store_get( $key );
693
+ $this->_sess_clear( 'store:' . $key );
694
+ return $val;
695
+ }
696
+
697
+ /**
698
+ * If the specified variable is an array it will be returned. Otherwise
699
+ * an empty array is returned.
700
+ *
701
+ * @since 1.0.14
702
+ * @param mixed $val1 Value that maybe is an array.
703
+ * @param mixed $val2 Optional, Second value that maybe is an array.
704
+ * @return array
705
+ */
706
+ public function get_array( &$val1, $val2 = array() ) {
707
+ if ( is_array( $val1 ) ) {
708
+ return $val1;
709
+ } else if ( is_array( $val2 ) ) {
710
+ return $val2;
711
+ } else {
712
+ return array();
713
+ }
714
+ }
715
+
716
+ /**
717
+ * Checks if the given array contains all the specified fields.
718
+ * If fields are not defined then they will be added to the source array
719
+ * with the boolean value false.
720
+ *
721
+ * This function is used to initialize optional fields.
722
+ * It is optimized and tested to yield best performance.
723
+ *
724
+ * @since 1.0.14
725
+ * @param Array|Object $arr The array or object to check.
726
+ * @param strings|Array $fields List of fields to check for.
727
+ * @return int Number of missing fields that were initialized.
728
+ */
729
+ public function load_fields( &$arr, $fields ) {
730
+ $missing = 0;
731
+ $is_obj = false;
732
+
733
+ if ( is_object( $arr ) ) { $is_obj = true; }
734
+ else if ( ! is_array( $arr ) ) { return -1; }
735
+
736
+ if ( ! is_array( $fields ) ) {
737
+ $fields = func_get_args();
738
+ array_shift( $fields ); // Remove $arr from the field list.
739
+ }
740
+
741
+ foreach ( $fields as $field ) {
742
+ if ( $is_obj ) {
743
+ if ( ! isset( $arr->$field ) ) {
744
+ $arr->$field = false;
745
+ $missing += 1;
746
+ }
747
+ } else {
748
+ if ( ! isset( $arr[ $field ] ) ) {
749
+ $arr[ $field ] = false;
750
+ $missing += 1;
751
+ }
752
+ }
753
+ }
754
+
755
+ return $missing;
756
+ }
757
+
758
+ /**
759
+ * Short function for WDev()->load_fields( $_POST, ... )
760
+ *
761
+ * @since 1.0.14
762
+ * @param strings|Array <param list>
763
+ * @return int Number of missing fields that were initialized.
764
+ */
765
+ public function load_post_fields( $fields ) {
766
+ return $this->load_fields(
767
+ $_POST,
768
+ is_array( $fields ) ? $fields : func_get_args()
769
+ );
770
+ }
771
+
772
+ /**
773
+ * Short function for WDev()->load_fields( $_REQUEST, ... )
774
+ *
775
+ * @since 1.0.14
776
+ * @param strings|Array <param list>
777
+ * @return int Number of missing fields that were initialized.
778
+ */
779
+ public function load_request_fields( $fields ) {
780
+ return $this->load_fields(
781
+ $_REQUEST,
782
+ is_array( $fields ) ? $fields : func_get_args()
783
+ );
784
+ }
785
+
786
+ /**
787
+ * Displays a debug message at the current position on the page.
788
+ *
789
+ * @since 1.0.14
790
+ * @param mixed <dynamic> Each param will be dumped
791
+ */
792
+ public function debug() {
793
+ static $Need_styles = true;
794
+
795
+ if ( ( ! defined( 'WDEV_DEBUG' ) || ! WDEV_DEBUG )
796
+ && ( ! defined( 'WP_DEBUG' ) || ! WP_DEBUG )
797
+ ) { return; }
798
+
799
+ if ( $Need_styles ) {
800
+ ?>
801
+ <style>
802
+ .wdev-debug {
803
+ break: both;
804
+ border: 1px solid #C00;
805
+ background: rgba(255, 200, 200, 0.8);
806
+ padding: 10px;
807
+ margin: 10px;
808
+ position: relative;
809
+ z-index: 99999;
810
+ box-shadow: 0 1px 5px rgba(0,0,0,0.3);
811
+ font-size: 12px;
812
+ }
813
+ .wdev-debug:before {
814
+ content: 'DEBUG';
815
+ font-size: 11px;
816
+ position: absolute;
817
+ right: 0;
818
+ top: 0;
819
+ color: #FFF;
820
+ background-color: #D88;
821
+ padding: 2px 8px;
822
+ }
823
+ .wdev-debug .wdev-debug-wrap {
824
+ box-shadow: 0 1px 5px rgba(0,0,0,0.18);
825
+ }
826
+ .wdev-debug pre {
827
+ font-size: 12px !important;
828
+ margin: 1px 0 !important;
829
+ background: rgba(255, 200, 200, 0.8);
830
+ }
831
+ </style>
832
+ <?php
833
+ $Need_styles = false;
834
+ }
835
+
836
+ echo '<div class="wdev-debug"><div class="wdev-debug-wrap">';
837
+ foreach ( func_get_args() as $param ) {
838
+ var_dump( $param );
839
+ }
840
+ echo '<table class="wdev-trace" cellspacing="0" cellpadding="2" border="1">';
841
+ foreach ( debug_backtrace() as $id => $item ) {
842
+ printf(
843
+ '<tr><td>%1$s</td><td>%2$s : %3$s</td></tr>',
844
+ $id,
845
+ @$item['file'],
846
+ @$item['line']
847
+ );
848
+ }
849
+ echo '</table>';
850
+ echo '</div></div>';
851
+ }
852
+ };
inc/external/wpmu-lib/js/select2.js ADDED
@@ -0,0 +1,3513 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! WPMU Dev code library - v1.0.15
2
+ * http://premium.wpmudev.org/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+ /*!
5
+ https://github.com/ivaynberg/select2/releases
6
+ Copyright 2012 Igor Vaynberg
7
+
8
+ Version: 3.5.1 Timestamp: Tue Jul 22 18:58:56 EDT 2014
9
+
10
+ This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
11
+ General Public License version 2 (the "GPL License"). You may choose either license to govern your
12
+ use of this software only upon the condition that you accept all of the terms of either the Apache
13
+ License or the GPL License.
14
+
15
+ You may obtain a copy of the Apache License and the GPL License at:
16
+
17
+ http://www.apache.org/licenses/LICENSE-2.0
18
+ http://www.gnu.org/licenses/gpl-2.0.html
19
+
20
+ Unless required by applicable law or agreed to in writing, software distributed under the
21
+ Apache License or the GPL License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
22
+ CONDITIONS OF ANY KIND, either express or implied. See the Apache License and the GPL License for
23
+ the specific language governing permissions and limitations under the Apache License and the GPL License.
24
+ */
25
+
26
+ (function ($) {
27
+ if(typeof $.fn.each2 == "undefined") {
28
+ $.extend($.fn, {
29
+ /*
30
+ * 4-10 times faster .each replacement
31
+ * use it carefully, as it overrides jQuery context of element on each iteration
32
+ */
33
+ each2 : function (c) {
34
+ var j = $([0]), i = -1, l = this.length;
35
+ while (
36
+ ++i < l
37
+ && (j.context = j[0] = this[i])
38
+ && c.call(j[0], i, j) !== false //"this"=DOM, i=index, j=jQuery object
39
+ );
40
+ return this;
41
+ }
42
+ });
43
+ }
44
+ })(jQuery);
45
+
46
+ (function ($, undefined) {
47
+ "use strict";
48
+ /*global document, window, jQuery, console */
49
+
50
+ if (window.Select2 !== undefined) {
51
+ return;
52
+ }
53
+
54
+ var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer,
55
+ lastMousePosition={x:0,y:0}, $document, scrollBarDimensions,
56
+
57
+ KEY = {
58
+ TAB: 9,
59
+ ENTER: 13,
60
+ ESC: 27,
61
+ SPACE: 32,
62
+ LEFT: 37,
63
+ UP: 38,
64
+ RIGHT: 39,
65
+ DOWN: 40,
66
+ SHIFT: 16,
67
+ CTRL: 17,
68
+ ALT: 18,
69
+ PAGE_UP: 33,
70
+ PAGE_DOWN: 34,
71
+ HOME: 36,
72
+ END: 35,
73
+ BACKSPACE: 8,
74
+ DELETE: 46,
75
+ isArrow: function (k) {
76
+ k = k.which ? k.which : k;
77
+ switch (k) {
78
+ case KEY.LEFT:
79
+ case KEY.RIGHT:
80
+ case KEY.UP:
81
+ case KEY.DOWN:
82
+ return true;
83
+ }
84
+ return false;
85
+ },
86
+ isControl: function (e) {
87
+ var k = e.which;
88
+ switch (k) {
89
+ case KEY.SHIFT:
90
+ case KEY.CTRL:
91
+ case KEY.ALT:
92
+ return true;
93
+ }
94
+
95
+ if (e.metaKey) return true;
96
+
97
+ return false;
98
+ },
99
+ isFunctionKey: function (k) {
100
+ k = k.which ? k.which : k;
101
+ return k >= 112 && k <= 123;
102
+ }
103
+ },
104
+ MEASURE_SCROLLBAR_TEMPLATE = "<div class='select2-measure-scrollbar'></div>",
105
+
106
+ DIACRITICS = {"\u24B6":"A","\uFF21":"A","\u00C0":"A","\u00C1":"A","\u00C2":"A","\u1EA6":"A","\u1EA4":"A","\u1EAA":"A","\u1EA8":"A","\u00C3":"A","\u0100":"A","\u0102":"A","\u1EB0":"A","\u1EAE":"A","\u1EB4":"A","\u1EB2":"A","\u0226":"A","\u01E0":"A","\u00C4":"A","\u01DE":"A","\u1EA2":"A","\u00C5":"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","\u00C6":"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","\u00C7":"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","\u00C8":"E","\u00C9":"E","\u00CA":"E","\u1EC0":"E","\u1EBE":"E","\u1EC4":"E","\u1EC2":"E","\u1EBC":"E","\u0112":"E","\u1E14":"E","\u1E16":"E","\u0114":"E","\u0116":"E","\u00CB":"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","\u00CC":"I","\u00CD":"I","\u00CE":"I","\u0128":"I","\u012A":"I","\u012C":"I","\u0130":"I","\u00CF":"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","\u00D1":"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","\u00D2":"O","\u00D3":"O","\u00D4":"O","\u1ED2":"O","\u1ED0":"O","\u1ED6":"O","\u1ED4":"O","\u00D5":"O","\u1E4C":"O","\u022C":"O","\u1E4E":"O","\u014C":"O","\u1E50":"O","\u1E52":"O","\u014E":"O","\u022E":"O","\u0230":"O","\u00D6":"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","\u00D8":"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","\u00D9":"U","\u00DA":"U","\u00DB":"U","\u0168":"U","\u1E78":"U","\u016A":"U","\u1E7A":"U","\u016C":"U","\u00DC":"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","\u00DD":"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","\u00E0":"a","\u00E1":"a","\u00E2":"a","\u1EA7":"a","\u1EA5":"a","\u1EAB":"a","\u1EA9":"a","\u00E3":"a","\u0101":"a","\u0103":"a","\u1EB1":"a","\u1EAF":"a","\u1EB5":"a","\u1EB3":"a","\u0227":"a","\u01E1":"a","\u00E4":"a","\u01DF":"a","\u1EA3":"a","\u00E5":"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","\u00E6":"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","\u00E7":"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","\u00E8":"e","\u00E9":"e","\u00EA":"e","\u1EC1":"e","\u1EBF":"e","\u1EC5":"e","\u1EC3":"e","\u1EBD":"e","\u0113":"e","\u1E15":"e","\u1E17":"e","\u0115":"e","\u0117":"e","\u00EB":"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","\u00EC":"i","\u00ED":"i","\u00EE":"i","\u0129":"i","\u012B":"i","\u012D":"i","\u00EF":"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","\u00F1":"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","\u00F2":"o","\u00F3":"o","\u00F4":"o","\u1ED3":"o","\u1ED1":"o","\u1ED7":"o","\u1ED5":"o","\u00F5":"o","\u1E4D":"o","\u022D":"o","\u1E4F":"o","\u014D":"o","\u1E51":"o","\u1E53":"o","\u014F":"o","\u022F":"o","\u0231":"o","\u00F6":"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","\u00F8":"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","\u00DF":"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","\u00F9":"u","\u00FA":"u","\u00FB":"u","\u0169":"u","\u1E79":"u","\u016B":"u","\u1E7B":"u","\u016D":"u","\u00FC":"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","\u00FD":"y","\u0177":"y","\u1EF9":"y","\u0233":"y","\u1E8F":"y","\u00FF":"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"};
107
+
108
+ $document = $(document);
109
+
110
+ nextUid=(function() { var counter=1; return function() { return counter++; }; }());
111
+
112
+
113
+ function reinsertElement(element) {
114
+ var placeholder = $(document.createTextNode(''));
115
+
116
+ element.before(placeholder);
117
+ placeholder.before(element);
118
+ placeholder.remove();
119
+ }
120
+
121
+ function stripDiacritics(str) {
122
+ // Used 'uni range + named function' from http://jsperf.com/diacritics/18
123
+ function match(a) {
124
+ return DIACRITICS[a] || a;
125
+ }
126
+
127
+ return str.replace(/[^\u0000-\u007E]/g, match);
128
+ }
129
+
130
+ function indexOf(value, array) {
131
+ var i = 0, l = array.length;
132
+ for (; i < l; i = i + 1) {
133
+ if (equal(value, array[i])) return i;
134
+ }
135
+ return -1;
136
+ }
137
+
138
+ function measureScrollbar () {
139
+ var $template = $( MEASURE_SCROLLBAR_TEMPLATE );
140
+ $template.appendTo('body');
141
+
142
+ var dim = {
143
+ width: $template.width() - $template[0].clientWidth,
144
+ height: $template.height() - $template[0].clientHeight
145
+ };
146
+ $template.remove();
147
+
148
+ return dim;
149
+ }
150
+
151
+ /**
152
+ * Compares equality of a and b
153
+ * @param a
154
+ * @param b
155
+ */
156
+ function equal(a, b) {
157
+ if (a === b) return true;
158
+ if (a === undefined || b === undefined) return false;
159
+ if (a === null || b === null) return false;
160
+ // Check whether 'a' or 'b' is a string (primitive or object).
161
+ // The concatenation of an empty string (+'') converts its argument to a string's primitive.
162
+ if (a.constructor === String) return a+'' === b+''; // a+'' - in case 'a' is a String object
163
+ if (b.constructor === String) return b+'' === a+''; // b+'' - in case 'b' is a String object
164
+ return false;
165
+ }
166
+
167
+ /**
168
+ * Splits the string into an array of values, trimming each value. An empty array is returned for nulls or empty
169
+ * strings
170
+ * @param string
171
+ * @param separator
172
+ */
173
+ function splitVal(string, separator) {
174
+ var val, i, l;
175
+ if (string === null || string.length < 1) return [];
176
+ val = string.split(separator);
177
+ for (i = 0, l = val.length; i < l; i = i + 1) val[i] = $.trim(val[i]);
178
+ return val;
179
+ }
180
+
181
+ function getSideBorderPadding(element) {
182
+ return element.outerWidth(false) - element.width();
183
+ }
184
+
185
+ function installKeyUpChangeEvent(element) {
186
+ var key="keyup-change-value";
187
+ element.on("keydown", function () {
188
+ if ($.data(element, key) === undefined) {
189
+ $.data(element, key, element.val());
190
+ }
191
+ });
192
+ element.on("keyup", function () {
193
+ var val= $.data(element, key);
194
+ if (val !== undefined && element.val() !== val) {
195
+ $.removeData(element, key);
196
+ element.trigger("keyup-change");
197
+ }
198
+ });
199
+ }
200
+
201
+
202
+ /**
203
+ * filters mouse events so an event is fired only if the mouse moved.
204
+ *
205
+ * filters out mouse events that occur when mouse is stationary but
206
+ * the elements under the pointer are scrolled.
207
+ */
208
+ function installFilteredMouseMove(element) {
209
+ element.on("mousemove", function (e) {
210
+ var lastpos = lastMousePosition;
211
+ if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) {
212
+ $(e.target).trigger("mousemove-filtered", e);
213
+ }
214
+ });
215
+ }
216
+
217
+ /**
218
+ * Debounces a function. Returns a function that calls the original fn function only if no invocations have been made
219
+ * within the last quietMillis milliseconds.
220
+ *
221
+ * @param quietMillis number of milliseconds to wait before invoking fn
222
+ * @param fn function to be debounced
223
+ * @param ctx object to be used as this reference within fn
224
+ * @return debounced version of fn
225
+ */
226
+ function debounce(quietMillis, fn, ctx) {
227
+ ctx = ctx || undefined;
228
+ var timeout;
229
+ return function () {
230
+ var args = arguments;
231
+ window.clearTimeout(timeout);
232
+ timeout = window.setTimeout(function() {
233
+ fn.apply(ctx, args);
234
+ }, quietMillis);
235
+ };
236
+ }
237
+
238
+ function installDebouncedScroll(threshold, element) {
239
+ var notify = debounce(threshold, function (e) { element.trigger("scroll-debounced", e);});
240
+ element.on("scroll", function (e) {
241
+ if (indexOf(e.target, element.get()) >= 0) notify(e);
242
+ });
243
+ }
244
+
245
+ function focus($el) {
246
+ if ($el[0] === document.activeElement) return;
247
+
248
+ /* set the focus in a 0 timeout - that way the focus is set after the processing
249
+ of the current event has finished - which seems like the only reliable way
250
+ to set focus */
251
+ window.setTimeout(function() {
252
+ var el=$el[0], pos=$el.val().length, range;
253
+
254
+ $el.focus();
255
+
256
+ /* make sure el received focus so we do not error out when trying to manipulate the caret.
257
+ sometimes modals or others listeners may steal it after its set */
258
+ var isVisible = (el.offsetWidth > 0 || el.offsetHeight > 0);
259
+ if (isVisible && el === document.activeElement) {
260
+
261
+ /* after the focus is set move the caret to the end, necessary when we val()
262
+ just before setting focus */
263
+ if(el.setSelectionRange)
264
+ {
265
+ el.setSelectionRange(pos, pos);
266
+ }
267
+ else if (el.createTextRange) {
268
+ range = el.createTextRange();
269
+ range.collapse(false);
270
+ range.select();
271
+ }
272
+ }
273
+ }, 0);
274
+ }
275
+
276
+ function getCursorInfo(el) {
277
+ el = $(el)[0];
278
+ var offset = 0;
279
+ var length = 0;
280
+ if ('selectionStart' in el) {
281
+ offset = el.selectionStart;
282
+ length = el.selectionEnd - offset;
283
+ } else if ('selection' in document) {
284
+ el.focus();
285
+ var sel = document.selection.createRange();
286
+ length = document.selection.createRange().text.length;
287
+ sel.moveStart('character', -el.value.length);
288
+ offset = sel.text.length - length;
289
+ }
290
+ return { offset: offset, length: length };
291
+ }
292
+
293
+ function killEvent(event) {
294
+ event.preventDefault();
295
+ event.stopPropagation();
296
+ }
297
+ function killEventImmediately(event) {
298
+ event.preventDefault();
299
+ event.stopImmediatePropagation();
300
+ }
301
+
302
+ function measureTextWidth(e) {
303
+ if (!sizer){
304
+ var style = e[0].currentStyle || window.getComputedStyle(e[0], null);
305
+ sizer = $(document.createElement("div")).css({
306
+ position: "absolute",
307
+ left: "-10000px",
308
+ top: "-10000px",
309
+ display: "none",
310
+ fontSize: style.fontSize,
311
+ fontFamily: style.fontFamily,
312
+ fontStyle: style.fontStyle,
313
+ fontWeight: style.fontWeight,
314
+ letterSpacing: style.letterSpacing,
315
+ textTransform: style.textTransform,
316
+ whiteSpace: "nowrap"
317
+ });
318
+ sizer.attr("class","select2-sizer");
319
+ $("body").append(sizer);
320
+ }
321
+ sizer.text(e.val());
322
+ return sizer.width();
323
+ }
324
+
325
+ function syncCssClasses(dest, src, adapter) {
326
+ var classes, replacements = [], adapted;
327
+
328
+ classes = $.trim(dest.attr("class"));
329
+
330
+ if (classes) {
331
+ classes = '' + classes; // for IE which returns object
332
+
333
+ $(classes.split(/\s+/)).each2(function() {
334
+ if (this.indexOf("select2-") === 0) {
335
+ replacements.push(this);
336
+ }
337
+ });
338
+ }
339
+
340
+ classes = $.trim(src.attr("class"));
341
+
342
+ if (classes) {
343
+ classes = '' + classes; // for IE which returns object
344
+
345
+ $(classes.split(/\s+/)).each2(function() {
346
+ if (this.indexOf("select2-") !== 0) {
347
+ adapted = adapter(this);
348
+
349
+ if (adapted) {
350
+ replacements.push(adapted);
351
+ }
352
+ }
353
+ });
354
+ }
355
+
356
+ dest.attr("class", replacements.join(" "));
357
+ }
358
+
359
+
360
+ function markMatch(text, term, markup, escapeMarkup) {
361
+ var match=stripDiacritics(text.toUpperCase()).indexOf(stripDiacritics(term.toUpperCase())),
362
+ tl=term.length;
363
+
364
+ if (match<0) {
365
+ markup.push(escapeMarkup(text));
366
+ return;
367
+ }
368
+
369
+ markup.push(escapeMarkup(text.substring(0, match)));
370
+ markup.push("<span class='select2-match'>");
371
+ markup.push(escapeMarkup(text.substring(match, match + tl)));
372
+ markup.push("</span>");
373
+ markup.push(escapeMarkup(text.substring(match + tl, text.length)));
374
+ }
375
+
376
+ function defaultEscapeMarkup(markup) {
377
+ var replace_map = {
378
+ '\\': '&#92;',
379
+ '&': '&amp;',
380
+ '<': '&lt;',
381
+ '>': '&gt;',
382
+ '"': '&quot;',
383
+ "'": '&#39;',
384
+ "/": '&#47;'
385
+ };
386
+
387
+ return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
388
+ return replace_map[match];
389
+ });
390
+ }
391
+
392
+ /**
393
+ * Produces an ajax-based query function
394
+ *
395
+ * @param options object containing configuration parameters
396
+ * @param options.params parameter map for the transport ajax call, can contain such options as cache, jsonpCallback, etc. see $.ajax
397
+ * @param options.transport function that will be used to execute the ajax request. must be compatible with parameters supported by $.ajax
398
+ * @param options.url url for the data
399
+ * @param options.data a function(searchTerm, pageNumber, context) that should return an object containing query string parameters for the above url.
400
+ * @param options.dataType request data type: ajax, jsonp, other datatypes supported by jQuery's $.ajax function or the transport function if specified
401
+ * @param options.quietMillis (optional) milliseconds to wait before making the ajaxRequest, helps debounce the ajax function if invoked too often
402
+ * @param options.results a function(remoteData, pageNumber, query) that converts data returned form the remote request to the format expected by Select2.
403
+ * The expected format is an object containing the following keys:
404
+ * results array of objects that will be used as choices
405
+ * more (optional) boolean indicating whether there are more results available
406
+ * Example: {results:[{id:1, text:'Red'},{id:2, text:'Blue'}], more:true}
407
+ */
408
+ function ajax(options) {
409
+ var timeout, // current scheduled but not yet executed request
410
+ handler = null,
411
+ quietMillis = options.quietMillis || 100,
412
+ ajaxUrl = options.url,
413
+ self = this;
414
+
415
+ return function (query) {
416
+ window.clearTimeout(timeout);
417
+ timeout = window.setTimeout(function () {
418
+ var data = options.data, // ajax data function
419
+ url = ajaxUrl, // ajax url string or function
420
+ transport = options.transport || $.fn.select2.ajaxDefaults.transport,
421
+ // deprecated - to be removed in 4.0 - use params instead
422
+ deprecated = {
423
+ type: options.type || 'GET', // set type of request (GET or POST)
424
+ cache: options.cache || false,
425
+ jsonpCallback: options.jsonpCallback||undefined,
426
+ dataType: options.dataType||"json"
427
+ },
428
+ params = $.extend({}, $.fn.select2.ajaxDefaults.params, deprecated);
429
+
430
+ data = data ? data.call(self, query.term, query.page, query.context) : null;
431
+ url = (typeof url === 'function') ? url.call(self, query.term, query.page, query.context) : url;
432
+
433
+ if (handler && typeof handler.abort === "function") { handler.abort(); }
434
+
435
+ if (options.params) {
436
+ if ($.isFunction(options.params)) {
437
+ $.extend(params, options.params.call(self));
438
+ } else {
439
+ $.extend(params, options.params);
440
+ }
441
+ }
442
+
443
+ $.extend(params, {
444
+ url: url,
445
+ dataType: options.dataType,
446
+ data: data,
447
+ success: function (data) {
448
+ // TODO - replace query.page with query so users have access to term, page, etc.
449
+ // added query as third paramter to keep backwards compatibility
450
+ var results = options.results(data, query.page, query);
451
+ query.callback(results);
452
+ },
453
+ error: function(jqXHR, textStatus, errorThrown){
454
+ var results = {
455
+ hasError: true,
456
+ jqXHR: jqXHR,
457
+ textStatus: textStatus,
458
+ errorThrown: errorThrown,
459
+ };
460
+
461
+ query.callback(results);
462
+ }
463
+ });
464
+ handler = transport.call(self, params);
465
+ }, quietMillis);
466
+ };
467
+ }
468
+
469
+ /**
470
+ * Produces a query function that works with a local array
471
+ *
472
+ * @param options object containing configuration parameters. The options parameter can either be an array or an
473
+ * object.
474
+ *
475
+ * If the array form is used it is assumed that it contains objects with 'id' and 'text' keys.
476
+ *
477
+ * If the object form is used it is assumed that it contains 'data' and 'text' keys. The 'data' key should contain
478
+ * an array of objects that will be used as choices. These objects must contain at least an 'id' key. The 'text'
479
+ * key can either be a String in which case it is expected that each element in the 'data' array has a key with the
480
+ * value of 'text' which will be used to match choices. Alternatively, text can be a function(item) that can extract
481
+ * the text.
482
+ */
483
+ function local(options) {
484
+ var data = options, // data elements
485
+ dataText,
486
+ tmp,
487
+ text = function (item) { return ""+item.text; }; // function used to retrieve the text portion of a data item that is matched against the search
488
+
489
+ if ($.isArray(data)) {
490
+ tmp = data;
491
+ data = { results: tmp };
492
+ }
493
+
494
+ if ($.isFunction(data) === false) {
495
+ tmp = data;
496
+ data = function() { return tmp; };
497
+ }
498
+
499
+ var dataItem = data();
500
+ if (dataItem.text) {
501
+ text = dataItem.text;
502
+ // if text is not a function we assume it to be a key name
503
+ if (!$.isFunction(text)) {
504
+ dataText = dataItem.text; // we need to store this in a separate variable because in the next step data gets reset and data.text is no longer available
505
+ text = function (item) { return item[dataText]; };
506
+ }
507
+ }
508
+
509
+ return function (query) {
510
+ var t = query.term, filtered = { results: [] }, process;
511
+ if (t === "") {
512
+ query.callback(data());
513
+ return;
514
+ }
515
+
516
+ process = function(datum, collection) {
517
+ var group, attr;
518
+ datum = datum[0];
519
+ if (datum.children) {
520
+ group = {};
521
+ for (attr in datum) {
522
+ if (datum.hasOwnProperty(attr)) group[attr]=datum[attr];
523
+ }
524
+ group.children=[];
525
+ $(datum.children).each2(function(i, childDatum) { process(childDatum, group.children); });
526
+ if (group.children.length || query.matcher(t, text(group), datum)) {
527
+ collection.push(group);
528
+ }
529
+ } else {
530
+ if (query.matcher(t, text(datum), datum)) {
531
+ collection.push(datum);
532
+ }
533
+ }
534
+ };
535
+
536
+ $(data().results).each2(function(i, datum) { process(datum, filtered.results); });
537
+ query.callback(filtered);
538
+ };
539
+ }
540
+
541
+ // TODO javadoc
542
+ function tags(data) {
543
+ var isFunc = $.isFunction(data);
544
+ return function (query) {
545
+ var t = query.term, filtered = {results: []};
546
+ var result = isFunc ? data(query) : data;
547
+ if ($.isArray(result)) {
548
+ $(result).each(function () {
549
+ var isObject = this.text !== undefined,
550
+ text = isObject ? this.text : this;
551
+ if (t === "" || query.matcher(t, text)) {
552
+ filtered.results.push(isObject ? this : {id: this, text: this});
553
+ }
554
+ });
555
+ query.callback(filtered);
556
+ }
557
+ };
558
+ }
559
+
560
+ /**
561
+ * Checks if the formatter function should be used.
562
+ *
563
+ * Throws an error if it is not a function. Returns true if it should be used,
564
+ * false if no formatting should be performed.
565
+ *
566
+ * @param formatter
567
+ */
568
+ function checkFormatter(formatter, formatterName) {
569
+ if ($.isFunction(formatter)) return true;
570
+ if (!formatter) return false;
571
+ if (typeof(formatter) === 'string') return true;
572
+ throw new Error(formatterName +" must be a string, function, or falsy value");
573
+ }
574
+
575
+ /**
576
+ * Returns a given value
577
+ * If given a function, returns its output
578
+ *
579
+ * @param val string|function
580
+ * @param context value of "this" to be passed to function
581
+ * @returns {*}
582
+ */
583
+ function evaluate(val, context) {
584
+ if ($.isFunction(val)) {
585
+ var args = Array.prototype.slice.call(arguments, 2);
586
+ return val.apply(context, args);
587
+ }
588
+ return val;
589
+ }
590
+
591
+ function countResults(results) {
592
+ var count = 0;
593
+ $.each(results, function(i, item) {
594
+ if (item.children) {
595
+ count += countResults(item.children);
596
+ } else {
597
+ count++;
598
+ }
599
+ });
600
+ return count;
601
+ }
602
+
603
+ /**
604
+ * Default tokenizer. This function uses breaks the input on substring match of any string from the
605
+ * opts.tokenSeparators array and uses opts.createSearchChoice to create the choice object. Both of those
606
+ * two options have to be defined in order for the tokenizer to work.
607
+ *
608
+ * @param input text user has typed so far or pasted into the search field
609
+ * @param selection currently selected choices
610
+ * @param selectCallback function(choice) callback tho add the choice to selection
611
+ * @param opts select2's opts
612
+ * @return undefined/null to leave the current input unchanged, or a string to change the input to the returned value
613
+ */
614
+ function defaultTokenizer(input, selection, selectCallback, opts) {
615
+ var original = input, // store the original so we can compare and know if we need to tell the search to update its text
616
+ dupe = false, // check for whether a token we extracted represents a duplicate selected choice
617
+ token, // token
618
+ index, // position at which the separator was found
619
+ i, l, // looping variables
620
+ separator; // the matched separator
621
+
622
+ if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1) return undefined;
623
+
624
+ while (true) {
625
+ index = -1;
626
+
627
+ for (i = 0, l = opts.tokenSeparators.length; i < l; i++) {
628
+ separator = opts.tokenSeparators[i];
629
+ index = input.indexOf(separator);
630
+ if (index >= 0) break;
631
+ }
632
+
633
+ if (index < 0) break; // did not find any token separator in the input string, bail
634
+
635
+ token = input.substring(0, index);
636
+ input = input.substring(index + separator.length);
637
+
638
+ if (token.length > 0) {
639
+ token = opts.createSearchChoice.call(this, token, selection);
640
+ if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) {
641
+ dupe = false;
642
+ for (i = 0, l = selection.length; i < l; i++) {
643
+ if (equal(opts.id(token), opts.id(selection[i]))) {
644
+ dupe = true; break;
645
+ }
646
+ }
647
+
648
+ if (!dupe) selectCallback(token);
649
+ }
650
+ }
651
+ }
652
+
653
+ if (original!==input) return input;
654
+ }
655
+
656
+ function cleanupJQueryElements() {
657
+ var self = this;
658
+
659
+ $.each(arguments, function (i, element) {
660
+ self[element].remove();
661
+ self[element] = null;
662
+ });
663
+ }
664
+
665
+ /**
666
+ * Creates a new class
667
+ *
668
+ * @param superClass
669
+ * @param methods
670
+ */
671
+ function clazz(SuperClass, methods) {
672
+ var constructor = function () {};
673
+ constructor.prototype = new SuperClass;
674
+ constructor.prototype.constructor = constructor;
675
+ constructor.prototype.parent = SuperClass.prototype;
676
+ constructor.prototype = $.extend(constructor.prototype, methods);
677
+ return constructor;
678
+ }
679
+
680
+ AbstractSelect2 = clazz(Object, {
681
+
682
+ // abstract
683
+ bind: function (func) {
684
+ var self = this;
685
+ return function () {
686
+ func.apply(self, arguments);
687
+ };
688
+ },
689
+
690
+ // abstract
691
+ init: function (opts) {
692
+ var results, search, resultsSelector = ".select2-results";
693
+
694
+ // prepare options
695
+ this.opts = opts = this.prepareOpts(opts);
696
+
697
+ this.id=opts.id;
698
+
699
+ // destroy if called on an existing component
700
+ if (opts.element.data("select2") !== undefined &&
701
+ opts.element.data("select2") !== null) {
702
+ opts.element.data("select2").destroy();
703
+ }
704
+
705
+ this.container = this.createContainer();
706
+
707
+ this.liveRegion = $("<span>", {
708
+ role: "status",
709
+ "aria-live": "polite"
710
+ })
711
+ .addClass("select2-hidden-accessible")
712
+ .appendTo(document.body);
713
+
714
+ this.containerId="s2id_"+(opts.element.attr("id") || "autogen"+nextUid());
715
+ this.containerEventName= this.containerId
716
+ .replace(/([.])/g, '_')
717
+ .replace(/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');
718
+ this.container.attr("id", this.containerId);
719
+
720
+ this.container.attr("title", opts.element.attr("title"));
721
+
722
+ this.body = $("body");
723
+
724
+ syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);
725
+
726
+ this.container.attr("style", opts.element.attr("style"));
727
+ this.container.css(evaluate(opts.containerCss, this.opts.element));
728
+ this.container.addClass(evaluate(opts.containerCssClass, this.opts.element));
729
+
730
+ this.elementTabIndex = this.opts.element.attr("tabindex");
731
+
732
+ // swap container for the element
733
+ this.opts.element
734
+ .data("select2", this)
735
+ .attr("tabindex", "-1")
736
+ .before(this.container)
737
+ .on("click.select2", killEvent); // do not leak click events
738
+
739
+ this.container.data("select2", this);
740
+
741
+ this.dropdown = this.container.find(".select2-drop");
742
+
743
+ syncCssClasses(this.dropdown, this.opts.element, this.opts.adaptDropdownCssClass);
744
+
745
+ this.dropdown.addClass(evaluate(opts.dropdownCssClass, this.opts.element));
746
+ this.dropdown.data("select2", this);
747
+ this.dropdown.on("click", killEvent);
748
+
749
+ this.results = results = this.container.find(resultsSelector);
750
+ this.search = search = this.container.find("input.select2-input");
751
+
752
+ this.queryCount = 0;
753
+ this.resultsPage = 0;
754
+ this.context = null;
755
+
756
+ // initialize the container
757
+ this.initContainer();
758
+
759
+ this.container.on("click", killEvent);
760
+
761
+ installFilteredMouseMove(this.results);
762
+
763
+ this.dropdown.on("mousemove-filtered", resultsSelector, this.bind(this.highlightUnderEvent));
764
+ this.dropdown.on("touchstart touchmove touchend", resultsSelector, this.bind(function (event) {
765
+ this._touchEvent = true;
766
+ this.highlightUnderEvent(event);
767
+ }));
768
+ this.dropdown.on("touchmove", resultsSelector, this.bind(this.touchMoved));
769
+ this.dropdown.on("touchstart touchend", resultsSelector, this.bind(this.clearTouchMoved));
770
+
771
+ // Waiting for a click event on touch devices to select option and hide dropdown
772
+ // otherwise click will be triggered on an underlying element
773
+ this.dropdown.on('click', this.bind(function (event) {
774
+ if (this._touchEvent) {
775
+ this._touchEvent = false;
776
+ this.selectHighlighted();
777
+ }
778
+ }));
779
+
780
+ installDebouncedScroll(80, this.results);
781
+ this.dropdown.on("scroll-debounced", resultsSelector, this.bind(this.loadMoreIfNeeded));
782
+
783
+ // do not propagate change event from the search field out of the component
784
+ $(this.container).on("change", ".select2-input", function(e) {e.stopPropagation();});
785
+ $(this.dropdown).on("change", ".select2-input", function(e) {e.stopPropagation();});
786
+
787
+ // if jquery.mousewheel plugin is installed we can prevent out-of-bounds scrolling of results via mousewheel
788
+ if ($.fn.mousewheel) {
789
+ results.mousewheel(function (e, delta, deltaX, deltaY) {
790
+ var top = results.scrollTop();
791
+ if (deltaY > 0 && top - deltaY <= 0) {
792
+ results.scrollTop(0);
793
+ killEvent(e);
794
+ } else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) {
795
+ results.scrollTop(results.get(0).scrollHeight - results.height());
796
+ killEvent(e);
797
+ }
798
+ });
799
+ }
800
+
801
+ installKeyUpChangeEvent(search);
802
+ search.on("keyup-change input paste", this.bind(this.updateResults));
803
+ search.on("focus", function () { search.addClass("select2-focused"); });
804
+ search.on("blur", function () { search.removeClass("select2-focused");});
805
+
806
+ this.dropdown.on("mouseup", resultsSelector, this.bind(function (e) {
807
+ if ($(e.target).closest(".select2-result-selectable").length > 0) {
808
+ this.highlightUnderEvent(e);
809
+ this.selectHighlighted(e);
810
+ }
811
+ }));
812
+
813
+ // trap all mouse events from leaving the dropdown. sometimes there may be a modal that is listening
814
+ // for mouse events outside of itself so it can close itself. since the dropdown is now outside the select2's
815
+ // dom it will trigger the popup close, which is not what we want
816
+ // focusin can cause focus wars between modals and select2 since the dropdown is outside the modal.
817
+ this.dropdown.on("click mouseup mousedown touchstart touchend focusin", function (e) { e.stopPropagation(); });
818
+
819
+ this.nextSearchTerm = undefined;
820
+
821
+ if ($.isFunction(this.opts.initSelection)) {
822
+ // initialize selection based on the current value of the source element
823
+ this.initSelection();
824
+
825
+ // if the user has provided a function that can set selection based on the value of the source element
826
+ // we monitor the change event on the element and trigger it, allowing for two way synchronization
827
+ this.monitorSource();
828
+ }
829
+
830
+ if (opts.maximumInputLength !== null) {
831
+ this.search.attr("maxlength", opts.maximumInputLength);
832
+ }
833
+
834
+ var disabled = opts.element.prop("disabled");
835
+ if (disabled === undefined) disabled = false;
836
+ this.enable(!disabled);
837
+
838
+ var readonly = opts.element.prop("readonly");
839
+ if (readonly === undefined) readonly = false;
840
+ this.readonly(readonly);
841
+
842
+ // Calculate size of scrollbar
843
+ scrollBarDimensions = scrollBarDimensions || measureScrollbar();
844
+
845
+ this.autofocus = opts.element.prop("autofocus");
846
+ opts.element.prop("autofocus", false);
847
+ if (this.autofocus) this.focus();
848
+
849
+ this.search.attr("placeholder", opts.searchInputPlaceholder);
850
+ },
851
+
852
+ // abstract
853
+ destroy: function () {
854
+ var element=this.opts.element, select2 = element.data("select2"), self = this;
855
+
856
+ this.close();
857
+
858
+ if (element.length && element[0].detachEvent) {
859
+ element.each(function () {
860
+ this.detachEvent("onpropertychange", self._sync);
861
+ });
862
+ }
863
+ if (this.propertyObserver) {
864
+ this.propertyObserver.disconnect();
865
+ this.propertyObserver = null;
866
+ }
867
+ this._sync = null;
868
+
869
+ if (select2 !== undefined) {
870
+ select2.container.remove();
871
+ select2.liveRegion.remove();
872
+ select2.dropdown.remove();
873
+ element
874
+ .removeClass("select2-offscreen")
875
+ .removeData("select2")
876
+ .off(".select2")
877
+ .prop("autofocus", this.autofocus || false);
878
+ if (this.elementTabIndex) {
879
+ element.attr({tabindex: this.elementTabIndex});
880
+ } else {
881
+ element.removeAttr("tabindex");
882
+ }
883
+ element.show();
884
+ }
885
+
886
+ cleanupJQueryElements.call(this,
887
+ "container",
888
+ "liveRegion",
889
+ "dropdown",
890
+ "results",
891
+ "search"
892
+ );
893
+ },
894
+
895
+ // abstract
896
+ optionToData: function(element) {
897
+ if (element.is("option")) {
898
+ return {
899
+ id:element.prop("value"),
900
+ text:element.text(),
901
+ element: element.get(),
902
+ css: element.attr("class"),
903
+ disabled: element.prop("disabled"),
904
+ locked: equal(element.attr("locked"), "locked") || equal(element.data("locked"), true)
905
+ };
906
+ } else if (element.is("optgroup")) {
907
+ return {
908
+ text:element.attr("label"),
909
+ children:[],
910
+ element: element.get(),
911
+ css: element.attr("class")
912
+ };
913
+ }
914
+ },
915
+
916
+ // abstract
917
+ prepareOpts: function (opts) {
918
+ var element, select, idKey, ajaxUrl, self = this;
919
+
920
+ element = opts.element;
921
+
922
+ if (element.get(0).tagName.toLowerCase() === "select") {
923
+ this.select = select = opts.element;
924
+ }
925
+
926
+ if (select) {
927
+ // these options are not allowed when attached to a select because they are picked up off the element itself
928
+ $.each(["id", "multiple", "ajax", "query", "createSearchChoice", "initSelection", "data", "tags"], function () {
929
+ if (this in opts) {
930
+ throw new Error("Option '" + this + "' is not allowed for Select2 when attached to a <select> element.");
931
+ }
932
+ });
933
+ }
934
+
935
+ opts = $.extend({}, {
936
+ populateResults: function(container, results, query) {
937
+ var populate, id=this.opts.id, liveRegion=this.liveRegion;
938
+
939
+ populate=function(results, container, depth) {
940
+
941
+ var i, l, result, selectable, disabled, compound, node, label, innerContainer, formatted;
942
+
943
+ results = opts.sortResults(results, container, query);
944
+
945
+ // collect the created nodes for bulk append
946
+ var nodes = [];
947
+ for (i = 0, l = results.length; i < l; i = i + 1) {
948
+
949
+ result=results[i];
950
+
951
+ disabled = (result.disabled === true);
952
+ selectable = (!disabled) && (id(result) !== undefined);
953
+
954
+ compound=result.children && result.children.length > 0;
955
+
956
+ node=$("<li></li>");
957
+ node.addClass("select2-results-dept-"+depth);
958
+ node.addClass("select2-result");
959
+ node.addClass(selectable ? "select2-result-selectable" : "select2-result-unselectable");
960
+ if (disabled) { node.addClass("select2-disabled"); }
961
+ if (compound) { node.addClass("select2-result-with-children"); }
962
+ node.addClass(self.opts.formatResultCssClass(result));
963
+ node.attr("role", "presentation");
964
+
965
+ label=$(document.createElement("div"));
966
+ label.addClass("select2-result-label");
967
+ label.attr("id", "select2-result-label-" + nextUid());
968
+ label.attr("role", "option");
969
+
970
+ formatted=opts.formatResult(result, label, query, self.opts.escapeMarkup);
971
+ if (formatted!==undefined) {
972
+ label.html(formatted);
973
+ node.append(label);
974
+ }
975
+
976
+
977
+ if (compound) {
978
+
979
+ innerContainer=$("<ul></ul>");
980
+ innerContainer.addClass("select2-result-sub");
981
+ populate(result.children, innerContainer, depth+1);
982
+ node.append(innerContainer);
983
+ }
984
+
985
+ node.data("select2-data", result);
986
+ nodes.push(node[0]);
987
+ }
988
+
989
+ // bulk append the created nodes
990
+ container.append(nodes);
991
+ liveRegion.text(opts.formatMatches(results.length));
992
+ };
993
+
994
+ populate(results, container, 0);
995
+ }
996
+ }, $.fn.select2.defaults, opts);
997
+
998
+ if (typeof(opts.id) !== "function") {
999
+ idKey = opts.id;
1000
+ opts.id = function (e) { return e[idKey]; };
1001
+ }
1002
+
1003
+ if ($.isArray(opts.element.data("select2Tags"))) {
1004
+ if ("tags" in opts) {
1005
+ throw "tags specified as both an attribute 'data-select2-tags' and in options of Select2 " + opts.element.attr("id");
1006
+ }
1007
+ opts.tags=opts.element.data("select2Tags");
1008
+ }
1009
+
1010
+ if (select) {
1011
+ opts.query = this.bind(function (query) {
1012
+ var data = { results: [], more: false },
1013
+ term = query.term,
1014
+ children, placeholderOption, process;
1015
+
1016
+ process=function(element, collection) {
1017
+ var group;
1018
+ if (element.is("option")) {
1019
+ if (query.matcher(term, element.text(), element)) {
1020
+ collection.push(self.optionToData(element));
1021
+ }
1022
+ } else if (element.is("optgroup")) {
1023
+ group=self.optionToData(element);
1024
+ element.children().each2(function(i, elm) { process(elm, group.children); });
1025
+ if (group.children.length>0) {
1026
+ collection.push(group);
1027
+ }
1028
+ }
1029
+ };
1030
+
1031
+ children=element.children();
1032
+
1033
+ // ignore the placeholder option if there is one
1034
+ if (this.getPlaceholder() !== undefined && children.length > 0) {
1035
+ placeholderOption = this.getPlaceholderOption();
1036
+ if (placeholderOption) {
1037
+ children=children.not(placeholderOption);
1038
+ }
1039
+ }
1040
+
1041
+ children.each2(function(i, elm) { process(elm, data.results); });
1042
+
1043
+ query.callback(data);
1044
+ });
1045
+ // this is needed because inside val() we construct choices from options and their id is hardcoded
1046
+ opts.id=function(e) { return e.id; };
1047
+ } else {
1048
+ if (!("query" in opts)) {
1049
+
1050
+ if ("ajax" in opts) {
1051
+ ajaxUrl = opts.element.data("ajax-url");
1052
+ if (ajaxUrl && ajaxUrl.length > 0) {
1053
+ opts.ajax.url = ajaxUrl;
1054
+ }
1055
+ opts.query = ajax.call(opts.element, opts.ajax);
1056
+ } else if ("data" in opts) {
1057
+ opts.query = local(opts.data);
1058
+ } else if ("tags" in opts) {
1059
+ opts.query = tags(opts.tags);
1060
+ if (opts.createSearchChoice === undefined) {
1061
+ opts.createSearchChoice = function (term) { return {id: $.trim(term), text: $.trim(term)}; };
1062
+ }
1063
+ if (opts.initSelection === undefined) {
1064
+ opts.initSelection = function (element, callback) {
1065
+ var data = [];
1066
+ $(splitVal(element.val(), opts.separator)).each(function () {
1067
+ var obj = { id: this, text: this },
1068
+ tags = opts.tags;
1069
+ if ($.isFunction(tags)) tags=tags();
1070
+ $(tags).each(function() { if (equal(this.id, obj.id)) { obj = this; return false; } });
1071
+ data.push(obj);
1072
+ });
1073
+
1074
+ callback(data);
1075
+ };
1076
+ }
1077
+ }
1078
+ }
1079
+ }
1080
+ if (typeof(opts.query) !== "function") {
1081
+ throw "query function not defined for Select2 " + opts.element.attr("id");
1082
+ }
1083
+
1084
+ if (opts.createSearchChoicePosition === 'top') {
1085
+ opts.createSearchChoicePosition = function(list, item) { list.unshift(item); };
1086
+ }
1087
+ else if (opts.createSearchChoicePosition === 'bottom') {
1088
+ opts.createSearchChoicePosition = function(list, item) { list.push(item); };
1089
+ }
1090
+ else if (typeof(opts.createSearchChoicePosition) !== "function") {
1091
+ throw "invalid createSearchChoicePosition option must be 'top', 'bottom' or a custom function";
1092
+ }
1093
+
1094
+ return opts;
1095
+ },
1096
+
1097
+ /**
1098
+ * Monitor the original element for changes and update select2 accordingly
1099
+ */
1100
+ // abstract
1101
+ monitorSource: function () {
1102
+ var el = this.opts.element, observer, self = this;
1103
+
1104
+ el.on("change.select2", this.bind(function (e) {
1105
+ if (this.opts.element.data("select2-change-triggered") !== true) {
1106
+ this.initSelection();
1107
+ }
1108
+ }));
1109
+
1110
+ this._sync = this.bind(function () {
1111
+
1112
+ // sync enabled state
1113
+ var disabled = el.prop("disabled");
1114
+ if (disabled === undefined) disabled = false;
1115
+ this.enable(!disabled);
1116
+
1117
+ var readonly = el.prop("readonly");
1118
+ if (readonly === undefined) readonly = false;
1119
+ this.readonly(readonly);
1120
+
1121
+ syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);
1122
+ this.container.addClass(evaluate(this.opts.containerCssClass, this.opts.element));
1123
+
1124
+ syncCssClasses(this.dropdown, this.opts.element, this.opts.adaptDropdownCssClass);
1125
+ this.dropdown.addClass(evaluate(this.opts.dropdownCssClass, this.opts.element));
1126
+
1127
+ });
1128
+
1129
+ // IE8-10 (IE9/10 won't fire propertyChange via attachEventListener)
1130
+ if (el.length && el[0].attachEvent) {
1131
+ el.each(function() {
1132
+ this.attachEvent("onpropertychange", self._sync);
1133
+ });
1134
+ }
1135
+
1136
+ // safari, chrome, firefox, IE11
1137
+ observer = window.MutationObserver || window.WebKitMutationObserver|| window.MozMutationObserver;
1138
+ if (observer !== undefined) {
1139
+ if (this.propertyObserver) { delete this.propertyObserver; this.propertyObserver = null; }
1140
+ this.propertyObserver = new observer(function (mutations) {
1141
+ $.each(mutations, self._sync);
1142
+ });
1143
+ this.propertyObserver.observe(el.get(0), { attributes:true, subtree:false });
1144
+ }
1145
+ },
1146
+
1147
+ // abstract
1148
+ triggerSelect: function(data) {
1149
+ var evt = $.Event("select2-selecting", { val: this.id(data), object: data, choice: data });
1150
+ this.opts.element.trigger(evt);
1151
+ return !evt.isDefaultPrevented();
1152
+ },
1153
+
1154
+ /**
1155
+ * Triggers the change event on the source element
1156
+ */
1157
+ // abstract
1158
+ triggerChange: function (details) {
1159
+
1160
+ details = details || {};
1161
+ details= $.extend({}, details, { type: "change", val: this.val() });
1162
+ // prevents recursive triggering
1163
+ this.opts.element.data("select2-change-triggered", true);
1164
+ this.opts.element.trigger(details);
1165
+ this.opts.element.data("select2-change-triggered", false);
1166
+
1167
+ // some validation frameworks ignore the change event and listen instead to keyup, click for selects
1168
+ // so here we trigger the click event manually
1169
+ this.opts.element.click();
1170
+
1171
+ // ValidationEngine ignores the change event and listens instead to blur
1172
+ // so here we trigger the blur event manually if so desired
1173
+ if (this.opts.blurOnChange)
1174
+ this.opts.element.blur();
1175
+ },
1176
+
1177
+ //abstract
1178
+ isInterfaceEnabled: function()
1179
+ {
1180
+ return this.enabledInterface === true;
1181
+ },
1182
+
1183
+ // abstract
1184
+ enableInterface: function() {
1185
+ var enabled = this._enabled && !this._readonly,
1186
+ disabled = !enabled;
1187
+
1188
+ if (enabled === this.enabledInterface) return false;
1189
+
1190
+ this.container.toggleClass("select2-container-disabled", disabled);
1191
+ this.close();
1192
+ this.enabledInterface = enabled;
1193
+
1194
+ return true;
1195
+ },
1196
+
1197
+ // abstract
1198
+ enable: function(enabled) {
1199
+ if (enabled === undefined) enabled = true;
1200
+ if (this._enabled === enabled) return;
1201
+ this._enabled = enabled;
1202
+
1203
+ this.opts.element.prop("disabled", !enabled);
1204
+ this.enableInterface();
1205
+ },
1206
+
1207
+ // abstract
1208
+ disable: function() {
1209
+ this.enable(false);
1210
+ },
1211
+
1212
+ // abstract
1213
+ readonly: function(enabled) {
1214
+ if (enabled === undefined) enabled = false;
1215
+ if (this._readonly === enabled) return;
1216
+ this._readonly = enabled;
1217
+
1218
+ this.opts.element.prop("readonly", enabled);
1219
+ this.enableInterface();
1220
+ },
1221
+
1222
+ // abstract
1223
+ opened: function () {
1224
+ return (this.container) ? this.container.hasClass("select2-dropdown-open") : false;
1225
+ },
1226
+
1227
+ // abstract
1228
+ positionDropdown: function() {
1229
+ var $dropdown = this.dropdown,
1230
+ offset = this.container.offset(),
1231
+ height = this.container.outerHeight(false),
1232
+ width = this.container.outerWidth(false),
1233
+ dropHeight = $dropdown.outerHeight(false),
1234
+ $window = $(window),
1235
+ windowWidth = $window.width(),
1236
+ windowHeight = $window.height(),
1237
+ viewPortRight = $window.scrollLeft() + windowWidth,
1238
+ viewportBottom = $window.scrollTop() + windowHeight,
1239
+ dropTop = offset.top + height,
1240
+ dropLeft = offset.left,
1241
+ enoughRoomBelow = dropTop + dropHeight <= viewportBottom,
1242
+ enoughRoomAbove = (offset.top - dropHeight) >= $window.scrollTop(),
1243
+ dropWidth = $dropdown.outerWidth(false),
1244
+ enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight,
1245
+ aboveNow = $dropdown.hasClass("select2-drop-above"),
1246
+ bodyOffset,
1247
+ above,
1248
+ changeDirection,
1249
+ css,
1250
+ resultsListNode;
1251
+
1252
+ // always prefer the current above/below alignment, unless there is not enough room
1253
+ if (aboveNow) {
1254
+ above = true;
1255
+ if (!enoughRoomAbove && enoughRoomBelow) {
1256
+ changeDirection = true;
1257
+ above = false;
1258
+ }
1259
+ } else {
1260
+ above = false;
1261
+ if (!enoughRoomBelow && enoughRoomAbove) {
1262
+ changeDirection = true;
1263
+ above = true;
1264
+ }
1265
+ }
1266
+
1267
+ //if we are changing direction we need to get positions when dropdown is hidden;
1268
+ if (changeDirection) {
1269
+ $dropdown.hide();
1270
+ offset = this.container.offset();
1271
+ height = this.container.outerHeight(false);
1272
+ width = this.container.outerWidth(false);
1273
+ dropHeight = $dropdown.outerHeight(false);
1274
+ viewPortRight = $window.scrollLeft() + windowWidth;
1275
+ viewportBottom = $window.scrollTop() + windowHeight;
1276
+ dropTop = offset.top + height;
1277
+ dropLeft = offset.left;
1278
+ dropWidth = $dropdown.outerWidth(false);
1279
+ enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight;
1280
+ $dropdown.show();
1281
+
1282
+ // fix so the cursor does not move to the left within the search-textbox in IE
1283
+ this.focusSearch();
1284
+ }
1285
+
1286
+ if (this.opts.dropdownAutoWidth) {
1287
+ resultsListNode = $('.select2-results', $dropdown)[0];
1288
+ $dropdown.addClass('select2-drop-auto-width');
1289
+ $dropdown.css('width', '');
1290
+ // Add scrollbar width to dropdown if vertical scrollbar is present
1291
+ dropWidth = $dropdown.outerWidth(false) + (resultsListNode.scrollHeight === resultsListNode.clientHeight ? 0 : scrollBarDimensions.width);
1292
+ dropWidth > width ? width = dropWidth : dropWidth = width;
1293
+ dropHeight = $dropdown.outerHeight(false);
1294
+ enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight;
1295
+ }
1296
+ else {
1297
+ this.container.removeClass('select2-drop-auto-width');
1298
+ }
1299
+
1300
+ //console.log("below/ droptop:", dropTop, "dropHeight", dropHeight, "sum", (dropTop+dropHeight)+" viewport bottom", viewportBottom, "enough?", enoughRoomBelow);
1301
+ //console.log("above/ offset.top", offset.top, "dropHeight", dropHeight, "top", (offset.top-dropHeight), "scrollTop", this.body.scrollTop(), "enough?", enoughRoomAbove);
1302
+
1303
+ // fix positioning when body has an offset and is not position: static
1304
+ if (this.body.css('position') !== 'static') {
1305
+ bodyOffset = this.body.offset();
1306
+ dropTop -= bodyOffset.top;
1307
+ dropLeft -= bodyOffset.left;
1308
+ }
1309
+
1310
+ if (!enoughRoomOnRight) {
1311
+ dropLeft = offset.left + this.container.outerWidth(false) - dropWidth;
1312
+ }
1313
+
1314
+ css = {
1315
+ left: dropLeft,
1316
+ width: width
1317
+ };
1318
+
1319
+ if (above) {
1320
+ css.top = offset.top - dropHeight;
1321
+ css.bottom = 'auto';
1322
+ this.container.addClass("select2-drop-above");
1323
+ $dropdown.addClass("select2-drop-above");
1324
+ }
1325
+ else {
1326
+ css.top = dropTop;
1327
+ css.bottom = 'auto';
1328
+ this.container.removeClass("select2-drop-above");
1329
+ $dropdown.removeClass("select2-drop-above");
1330
+ }
1331
+ css = $.extend(css, evaluate(this.opts.dropdownCss, this.opts.element));
1332
+
1333
+ $dropdown.css(css);
1334
+ },
1335
+
1336
+ // abstract
1337
+ shouldOpen: function() {
1338
+ var event;
1339
+
1340
+ if (this.opened()) return false;
1341
+
1342
+ if (this._enabled === false || this._readonly === true) return false;
1343
+
1344
+ event = $.Event("select2-opening");
1345
+ this.opts.element.trigger(event);
1346
+ return !event.isDefaultPrevented();
1347
+ },
1348
+
1349
+ // abstract
1350
+ clearDropdownAlignmentPreference: function() {
1351
+ // clear the classes used to figure out the preference of where the dropdown should be opened
1352
+ this.container.removeClass("select2-drop-above");
1353
+ this.dropdown.removeClass("select2-drop-above");
1354
+ },
1355
+
1356
+ /**
1357
+ * Opens the dropdown
1358
+ *
1359
+ * @return {Boolean} whether or not dropdown was opened. This method will return false if, for example,
1360
+ * the dropdown is already open, or if the 'open' event listener on the element called preventDefault().
1361
+ */
1362
+ // abstract
1363
+ open: function () {
1364
+
1365
+ if (!this.shouldOpen()) return false;
1366
+
1367
+ this.opening();
1368
+
1369
+ // Only bind the document mousemove when the dropdown is visible
1370
+ $document.on("mousemove.select2Event", function (e) {
1371
+ lastMousePosition.x = e.pageX;
1372
+ lastMousePosition.y = e.pageY;
1373
+ });
1374
+
1375
+ return true;
1376
+ },
1377
+
1378
+ /**
1379
+ * Performs the opening of the dropdown
1380
+ */
1381
+ // abstract
1382
+ opening: function() {
1383
+ var cid = this.containerEventName,
1384
+ scroll = "scroll." + cid,
1385
+ resize = "resize."+cid,
1386
+ orient = "orientationchange."+cid,
1387
+ mask;
1388
+
1389
+ this.container.addClass("select2-dropdown-open").addClass("select2-container-active");
1390
+
1391
+ this.clearDropdownAlignmentPreference();
1392
+
1393
+ if(this.dropdown[0] !== this.body.children().last()[0]) {
1394
+ this.dropdown.detach().appendTo(this.body);
1395
+ }
1396
+
1397
+ // create the dropdown mask if doesn't already exist
1398
+ mask = $("#select2-drop-mask");
1399
+ if (mask.length == 0) {
1400
+ mask = $(document.createElement("div"));
1401
+ mask.attr("id","select2-drop-mask").attr("class","select2-drop-mask");
1402
+ mask.hide();
1403
+ mask.appendTo(this.body);
1404
+ mask.on("mousedown touchstart click", function (e) {
1405
+ // Prevent IE from generating a click event on the body
1406
+ reinsertElement(mask);
1407
+
1408
+ var dropdown = $("#select2-drop"), self;
1409
+ if (dropdown.length > 0) {
1410
+ self=dropdown.data("select2");
1411
+ if (self.opts.selectOnBlur) {
1412
+ self.selectHighlighted({noFocus: true});
1413
+ }
1414
+ self.close();
1415
+ e.preventDefault();
1416
+ e.stopPropagation();
1417
+ }
1418
+ });
1419
+ }
1420
+
1421
+ // ensure the mask is always right before the dropdown
1422
+ if (this.dropdown.prev()[0] !== mask[0]) {
1423
+ this.dropdown.before(mask);
1424
+ }
1425
+
1426
+ // move the global id to the correct dropdown
1427
+ $("#select2-drop").removeAttr("id");
1428
+ this.dropdown.attr("id", "select2-drop");
1429
+
1430
+ // show the elements
1431
+ mask.show();
1432
+
1433
+ this.positionDropdown();
1434
+ this.dropdown.show();
1435
+ this.positionDropdown();
1436
+
1437
+ this.dropdown.addClass("select2-drop-active");
1438
+
1439
+ // attach listeners to events that can change the position of the container and thus require
1440
+ // the position of the dropdown to be updated as well so it does not come unglued from the container
1441
+ var that = this;
1442
+ this.container.parents().add(window).each(function () {
1443
+ $(this).on(resize+" "+scroll+" "+orient, function (e) {
1444
+ if (that.opened()) that.positionDropdown();
1445
+ });
1446
+ });
1447
+
1448
+
1449
+ },
1450
+
1451
+ // abstract
1452
+ close: function () {
1453
+ if (!this.opened()) return;
1454
+
1455
+ var cid = this.containerEventName,
1456
+ scroll = "scroll." + cid,
1457
+ resize = "resize."+cid,
1458
+ orient = "orientationchange."+cid;
1459
+
1460
+ // unbind event listeners
1461
+ this.container.parents().add(window).each(function () { $(this).off(scroll).off(resize).off(orient); });
1462
+
1463
+ this.clearDropdownAlignmentPreference();
1464
+
1465
+ $("#select2-drop-mask").hide();
1466
+ this.dropdown.removeAttr("id"); // only the active dropdown has the select2-drop id
1467
+ this.dropdown.hide();
1468
+ this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active");
1469
+ this.results.empty();
1470
+
1471
+ // Now that the dropdown is closed, unbind the global document mousemove event
1472
+ $document.off("mousemove.select2Event");
1473
+
1474
+ this.clearSearch();
1475
+ this.search.removeClass("select2-active");
1476
+ this.opts.element.trigger($.Event("select2-close"));
1477
+ },
1478
+
1479
+ /**
1480
+ * Opens control, sets input value, and updates results.
1481
+ */
1482
+ // abstract
1483
+ externalSearch: function (term) {
1484
+ this.open();
1485
+ this.search.val(term);
1486
+ this.updateResults(false);
1487
+ },
1488
+
1489
+ // abstract
1490
+ clearSearch: function () {
1491
+
1492
+ },
1493
+
1494
+ //abstract
1495
+ getMaximumSelectionSize: function() {
1496
+ return evaluate(this.opts.maximumSelectionSize, this.opts.element);
1497
+ },
1498
+
1499
+ // abstract
1500
+ ensureHighlightVisible: function () {
1501
+ var results = this.results, children, index, child, hb, rb, y, more, topOffset;
1502
+
1503
+ index = this.highlight();
1504
+
1505
+ if (index < 0) return;
1506
+
1507
+ if (index == 0) {
1508
+
1509
+ // if the first element is highlighted scroll all the way to the top,
1510
+ // that way any unselectable headers above it will also be scrolled
1511
+ // into view
1512
+
1513
+ results.scrollTop(0);
1514
+ return;
1515
+ }
1516
+
1517
+ children = this.findHighlightableChoices().find('.select2-result-label');
1518
+
1519
+ child = $(children[index]);
1520
+
1521
+ topOffset = (child.offset() || {}).top || 0;
1522
+
1523
+ hb = topOffset + child.outerHeight(true);
1524
+
1525
+ // if this is the last child lets also make sure select2-more-results is visible
1526
+ if (index === children.length - 1) {
1527
+ more = results.find("li.select2-more-results");
1528
+ if (more.length > 0) {
1529
+ hb = more.offset().top + more.outerHeight(true);
1530
+ }
1531
+ }
1532
+
1533
+ rb = results.offset().top + results.outerHeight(true);
1534
+ if (hb > rb) {
1535
+ results.scrollTop(results.scrollTop() + (hb - rb));
1536
+ }
1537
+ y = topOffset - results.offset().top;
1538
+
1539
+ // make sure the top of the element is visible
1540
+ if (y < 0 && child.css('display') != 'none' ) {
1541
+ results.scrollTop(results.scrollTop() + y); // y is negative
1542
+ }
1543
+ },
1544
+
1545
+ // abstract
1546
+ findHighlightableChoices: function() {
1547
+ return this.results.find(".select2-result-selectable:not(.select2-disabled):not(.select2-selected)");
1548
+ },
1549
+
1550
+ // abstract
1551
+ moveHighlight: function (delta) {
1552
+ var choices = this.findHighlightableChoices(),
1553
+ index = this.highlight();
1554
+
1555
+ while (index > -1 && index < choices.length) {
1556
+ index += delta;
1557
+ var choice = $(choices[index]);
1558
+ if (choice.hasClass("select2-result-selectable") && !choice.hasClass("select2-disabled") && !choice.hasClass("select2-selected")) {
1559
+ this.highlight(index);
1560
+ break;
1561
+ }
1562
+ }
1563
+ },
1564
+
1565
+ // abstract
1566
+ highlight: function (index) {
1567
+ var choices = this.findHighlightableChoices(),
1568
+ choice,
1569
+ data;
1570
+
1571
+ if (arguments.length === 0) {
1572
+ return indexOf(choices.filter(".select2-highlighted")[0], choices.get());
1573
+ }
1574
+
1575
+ if (index >= choices.length) index = choices.length - 1;
1576
+ if (index < 0) index = 0;
1577
+
1578
+ this.removeHighlight();
1579
+
1580
+ choice = $(choices[index]);
1581
+ choice.addClass("select2-highlighted");
1582
+
1583
+ // ensure assistive technology can determine the active choice
1584
+ this.search.attr("aria-activedescendant", choice.find(".select2-result-label").attr("id"));
1585
+
1586
+ this.ensureHighlightVisible();
1587
+
1588
+ this.liveRegion.text(choice.text());
1589
+
1590
+ data = choice.data("select2-data");
1591
+ if (data) {
1592
+ this.opts.element.trigger({ type: "select2-highlight", val: this.id(data), choice: data });
1593
+ }
1594
+ },
1595
+
1596
+ removeHighlight: function() {
1597
+ this.results.find(".select2-highlighted").removeClass("select2-highlighted");
1598
+ },
1599
+
1600
+ touchMoved: function() {
1601
+ this._touchMoved = true;
1602
+ },
1603
+
1604
+ clearTouchMoved: function() {
1605
+ this._touchMoved = false;
1606
+ },
1607
+
1608
+ // abstract
1609
+ countSelectableResults: function() {
1610
+ return this.findHighlightableChoices().length;
1611
+ },
1612
+
1613
+ // abstract
1614
+ highlightUnderEvent: function (event) {
1615
+ var el = $(event.target).closest(".select2-result-selectable");
1616
+ if (el.length > 0 && !el.is(".select2-highlighted")) {
1617
+ var choices = this.findHighlightableChoices();
1618
+ this.highlight(choices.index(el));
1619
+ } else if (el.length == 0) {
1620
+ // if we are over an unselectable item remove all highlights
1621
+ this.removeHighlight();
1622
+ }
1623
+ },
1624
+
1625
+ // abstract
1626
+ loadMoreIfNeeded: function () {
1627
+ var results = this.results,
1628
+ more = results.find("li.select2-more-results"),
1629
+ below, // pixels the element is below the scroll fold, below==0 is when the element is starting to be visible
1630
+ page = this.resultsPage + 1,
1631
+ self=this,
1632
+ term=this.search.val(),
1633
+ context=this.context;
1634
+
1635
+ if (more.length === 0) return;
1636
+ below = more.offset().top - results.offset().top - results.height();
1637
+
1638
+ if (below <= this.opts.loadMorePadding) {
1639
+ more.addClass("select2-active");
1640
+ this.opts.query({
1641
+ element: this.opts.element,
1642
+ term: term,
1643
+ page: page,
1644
+ context: context,
1645
+ matcher: this.opts.matcher,
1646
+ callback: this.bind(function (data) {
1647
+
1648
+ // ignore a response if the select2 has been closed before it was received
1649
+ if (!self.opened()) return;
1650
+
1651
+
1652
+ self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context:context});
1653
+ self.postprocessResults(data, false, false);
1654
+
1655
+ if (data.more===true) {
1656
+ more.detach().appendTo(results).text(evaluate(self.opts.formatLoadMore, self.opts.element, page+1));
1657
+ window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
1658
+ } else {
1659
+ more.remove();
1660
+ }
1661
+ self.positionDropdown();
1662
+ self.resultsPage = page;
1663
+ self.context = data.context;
1664
+ this.opts.element.trigger({ type: "select2-loaded", items: data });
1665
+ })});
1666
+ }
1667
+ },
1668
+
1669
+ /**
1670
+ * Default tokenizer function which does nothing
1671
+ */
1672
+ tokenize: function() {
1673
+
1674
+ },
1675
+
1676
+ /**
1677
+ * @param initial whether or not this is the call to this method right after the dropdown has been opened
1678
+ */
1679
+ // abstract
1680
+ updateResults: function (initial) {
1681
+ var search = this.search,
1682
+ results = this.results,
1683
+ opts = this.opts,
1684
+ data,
1685
+ self = this,
1686
+ input,
1687
+ term = search.val(),
1688
+ lastTerm = $.data(this.container, "select2-last-term"),
1689
+ // sequence number used to drop out-of-order responses
1690
+ queryNumber;
1691
+
1692
+ // prevent duplicate queries against the same term
1693
+ if (initial !== true && lastTerm && equal(term, lastTerm)) return;
1694
+
1695
+ $.data(this.container, "select2-last-term", term);
1696
+
1697
+ // if the search is currently hidden we do not alter the results
1698
+ if (initial !== true && (this.showSearchInput === false || !this.opened())) {
1699
+ return;
1700
+ }
1701
+
1702
+ function postRender() {
1703
+ search.removeClass("select2-active");
1704
+ self.positionDropdown();
1705
+ if (results.find('.select2-no-results,.select2-selection-limit,.select2-searching').length) {
1706
+ self.liveRegion.text(results.text());
1707
+ }
1708
+ else {
1709
+ self.liveRegion.text(self.opts.formatMatches(results.find('.select2-result-selectable').length));
1710
+ }
1711
+ }
1712
+
1713
+ function render(html) {
1714
+ results.html(html);
1715
+ postRender();
1716
+ }
1717
+
1718
+ queryNumber = ++this.queryCount;
1719
+
1720
+ var maxSelSize = this.getMaximumSelectionSize();
1721
+ if (maxSelSize >=1) {
1722
+ data = this.data();
1723
+ if ($.isArray(data) && data.length >= maxSelSize && checkFormatter(opts.formatSelectionTooBig, "formatSelectionTooBig")) {
1724
+ render("<li class='select2-selection-limit'>" + evaluate(opts.formatSelectionTooBig, opts.element, maxSelSize) + "</li>");
1725
+ return;
1726
+ }
1727
+ }
1728
+
1729
+ if (search.val().length < opts.minimumInputLength) {
1730
+ if (checkFormatter(opts.formatInputTooShort, "formatInputTooShort")) {
1731
+ render("<li class='select2-no-results'>" + evaluate(opts.formatInputTooShort, opts.element, search.val(), opts.minimumInputLength) + "</li>");
1732
+ } else {
1733
+ render("");
1734
+ }
1735
+ if (initial && this.showSearch) this.showSearch(true);
1736
+ return;
1737
+ }
1738
+
1739
+ if (opts.maximumInputLength && search.val().length > opts.maximumInputLength) {
1740
+ if (checkFormatter(opts.formatInputTooLong, "formatInputTooLong")) {
1741
+ render("<li class='select2-no-results'>" + evaluate(opts.formatInputTooLong, opts.element, search.val(), opts.maximumInputLength) + "</li>");
1742
+ } else {
1743
+ render("");
1744
+ }
1745
+ return;
1746
+ }
1747
+
1748
+ if (opts.formatSearching && this.findHighlightableChoices().length === 0) {
1749
+ render("<li class='select2-searching'>" + evaluate(opts.formatSearching, opts.element) + "</li>");
1750
+ }
1751
+
1752
+ search.addClass("select2-active");
1753
+
1754
+ this.removeHighlight();
1755
+
1756
+ // give the tokenizer a chance to pre-process the input
1757
+ input = this.tokenize();
1758
+ if (input != undefined && input != null) {
1759
+ search.val(input);
1760
+ }
1761
+
1762
+ this.resultsPage = 1;
1763
+
1764
+ opts.query({
1765
+ element: opts.element,
1766
+ term: search.val(),
1767
+ page: this.resultsPage,
1768
+ context: null,
1769
+ matcher: opts.matcher,
1770
+ callback: this.bind(function (data) {
1771
+ var def; // default choice
1772
+
1773
+ // ignore old responses
1774
+ if (queryNumber != this.queryCount) {
1775
+ return;
1776
+ }
1777
+
1778
+ // ignore a response if the select2 has been closed before it was received
1779
+ if (!this.opened()) {
1780
+ this.search.removeClass("select2-active");
1781
+ return;
1782
+ }
1783
+
1784
+ // handle ajax error
1785
+ if(data.hasError !== undefined && checkFormatter(opts.formatAjaxError, "formatAjaxError")) {
1786
+ render("<li class='select2-ajax-error'>" + evaluate(opts.formatAjaxError, opts.element, data.jqXHR, data.textStatus, data.errorThrown) + "</li>");
1787
+ return;
1788
+ }
1789
+
1790
+ // save context, if any
1791
+ this.context = (data.context===undefined) ? null : data.context;
1792
+ // create a default choice and prepend it to the list
1793
+ if (this.opts.createSearchChoice && search.val() !== "") {
1794
+ def = this.opts.createSearchChoice.call(self, search.val(), data.results);
1795
+ if (def !== undefined && def !== null && self.id(def) !== undefined && self.id(def) !== null) {
1796
+ if ($(data.results).filter(
1797
+ function () {
1798
+ return equal(self.id(this), self.id(def));
1799
+ }).length === 0) {
1800
+ this.opts.createSearchChoicePosition(data.results, def);
1801
+ }
1802
+ }
1803
+ }
1804
+
1805
+ if (data.results.length === 0 && checkFormatter(opts.formatNoMatches, "formatNoMatches")) {
1806
+ render("<li class='select2-no-results'>" + evaluate(opts.formatNoMatches, opts.element, search.val()) + "</li>");
1807
+ return;
1808
+ }
1809
+
1810
+ results.empty();
1811
+ self.opts.populateResults.call(this, results, data.results, {term: search.val(), page: this.resultsPage, context:null});
1812
+
1813
+ if (data.more === true && checkFormatter(opts.formatLoadMore, "formatLoadMore")) {
1814
+ results.append("<li class='select2-more-results'>" + opts.escapeMarkup(evaluate(opts.formatLoadMore, opts.element, this.resultsPage)) + "</li>");
1815
+ window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
1816
+ }
1817
+
1818
+ this.postprocessResults(data, initial);
1819
+
1820
+ postRender();
1821
+
1822
+ this.opts.element.trigger({ type: "select2-loaded", items: data });
1823
+ })});
1824
+ },
1825
+
1826
+ // abstract
1827
+ cancel: function () {
1828
+ this.close();
1829
+ },
1830
+
1831
+ // abstract
1832
+ blur: function () {
1833
+ // if selectOnBlur == true, select the currently highlighted option
1834
+ if (this.opts.selectOnBlur)
1835
+ this.selectHighlighted({noFocus: true});
1836
+
1837
+ this.close();
1838
+ this.container.removeClass("select2-container-active");
1839
+ // synonymous to .is(':focus'), which is available in jquery >= 1.6
1840
+ if (this.search[0] === document.activeElement) { this.search.blur(); }
1841
+ this.clearSearch();
1842
+ this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
1843
+ },
1844
+
1845
+ // abstract
1846
+ focusSearch: function () {
1847
+ focus(this.search);
1848
+ },
1849
+
1850
+ // abstract
1851
+ selectHighlighted: function (options) {
1852
+ if (this._touchMoved) {
1853
+ this.clearTouchMoved();
1854
+ return;
1855
+ }
1856
+ var index=this.highlight(),
1857
+ highlighted=this.results.find(".select2-highlighted"),
1858
+ data = highlighted.closest('.select2-result').data("select2-data");
1859
+
1860
+ if (data) {
1861
+ this.highlight(index);
1862
+ this.onSelect(data, options);
1863
+ } else if (options && options.noFocus) {
1864
+ this.close();
1865
+ }
1866
+ },
1867
+
1868
+ // abstract
1869
+ getPlaceholder: function () {
1870
+ var placeholderOption;
1871
+ return this.opts.element.attr("placeholder") ||
1872
+ this.opts.element.attr("data-placeholder") || // jquery 1.4 compat
1873
+ this.opts.element.data("placeholder") ||
1874
+ this.opts.placeholder ||
1875
+ ((placeholderOption = this.getPlaceholderOption()) !== undefined ? placeholderOption.text() : undefined);
1876
+ },
1877
+
1878
+ // abstract
1879
+ getPlaceholderOption: function() {
1880
+ if (this.select) {
1881
+ var firstOption = this.select.children('option').first();
1882
+ if (this.opts.placeholderOption !== undefined ) {
1883
+ //Determine the placeholder option based on the specified placeholderOption setting
1884
+ return (this.opts.placeholderOption === "first" && firstOption) ||
1885
+ (typeof this.opts.placeholderOption === "function" && this.opts.placeholderOption(this.select));
1886
+ } else if ($.trim(firstOption.text()) === "" && firstOption.val() === "") {
1887
+ //No explicit placeholder option specified, use the first if it's blank
1888
+ return firstOption;
1889
+ }
1890
+ }
1891
+ },
1892
+
1893
+ /**
1894
+ * Get the desired width for the container element. This is
1895
+ * derived first from option `width` passed to select2, then
1896
+ * the inline 'style' on the original element, and finally
1897
+ * falls back to the jQuery calculated element width.
1898
+ */
1899
+ // abstract
1900
+ initContainerWidth: function () {
1901
+ function resolveContainerWidth() {
1902
+ var style, attrs, matches, i, l, attr;
1903
+
1904
+ if (this.opts.width === "off") {
1905
+ return null;
1906
+ } else if (this.opts.width === "element"){
1907
+ return this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px';
1908
+ } else if (this.opts.width === "copy" || this.opts.width === "resolve") {
1909
+ // check if there is inline style on the element that contains width
1910
+ style = this.opts.element.attr('style');
1911
+ if (style !== undefined) {
1912
+ attrs = style.split(';');
1913
+ for (i = 0, l = attrs.length; i < l; i = i + 1) {
1914
+ attr = attrs[i].replace(/\s/g, '');
1915
+ matches = attr.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i);
1916
+ if (matches !== null && matches.length >= 1)
1917
+ return matches[1];
1918
+ }
1919
+ }
1920
+
1921
+ if (this.opts.width === "resolve") {
1922
+ // next check if css('width') can resolve a width that is percent based, this is sometimes possible
1923
+ // when attached to input type=hidden or elements hidden via css
1924
+ style = this.opts.element.css('width');
1925
+ if (style.indexOf("%") > 0) return style;
1926
+
1927
+ // finally, fallback on the calculated width of the element
1928
+ return (this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px');
1929
+ }
1930
+
1931
+ return null;
1932
+ } else if ($.isFunction(this.opts.width)) {
1933
+ return this.opts.width();
1934
+ } else {
1935
+ return this.opts.width;
1936
+ }
1937
+ };
1938
+
1939
+ var width = resolveContainerWidth.call(this);
1940
+ if (width !== null) {
1941
+ this.container.css("width", width);
1942
+ }
1943
+ }
1944
+ });
1945
+
1946
+ SingleSelect2 = clazz(AbstractSelect2, {
1947
+
1948
+ // single
1949
+
1950
+ createContainer: function () {
1951
+ var container = $(document.createElement("div")).attr({
1952
+ "class": "select2-container"
1953
+ }).html([
1954
+ "<a href='javascript:void(0)' class='select2-choice' tabindex='-1'>",
1955
+ " <span class='select2-chosen'>&#160;</span><abbr class='select2-search-choice-close'></abbr>",
1956
+ " <span class='select2-arrow' role='presentation'><b role='presentation'></b></span>",
1957
+ "</a>",
1958
+ "<label for='' class='select2-offscreen'></label>",
1959
+ "<input class='select2-focusser select2-offscreen' type='text' aria-haspopup='true' role='button' />",
1960
+ "<div class='select2-drop select2-display-none'>",
1961
+ " <div class='select2-search'>",
1962
+ " <label for='' class='select2-offscreen'></label>",
1963
+ " <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input' role='combobox' aria-expanded='true'",
1964
+ " aria-autocomplete='list' />",
1965
+ " </div>",
1966
+ " <ul class='select2-results' role='listbox'>",
1967
+ " </ul>",
1968
+ "</div>"].join(""));
1969
+ return container;
1970
+ },
1971
+
1972
+ // single
1973
+ enableInterface: function() {
1974
+ if (this.parent.enableInterface.apply(this, arguments)) {
1975
+ this.focusser.prop("disabled", !this.isInterfaceEnabled());
1976
+ }
1977
+ },
1978
+
1979
+ // single
1980
+ opening: function () {
1981
+ var el, range, len;
1982
+
1983
+ if (this.opts.minimumResultsForSearch >= 0) {
1984
+ this.showSearch(true);
1985
+ }
1986
+
1987
+ this.parent.opening.apply(this, arguments);
1988
+
1989
+ if (this.showSearchInput !== false) {
1990
+ // IE appends focusser.val() at the end of field :/ so we manually insert it at the beginning using a range
1991
+ // all other browsers handle this just fine
1992
+
1993
+ this.search.val(this.focusser.val());
1994
+ }
1995
+ if (this.opts.shouldFocusInput(this)) {
1996
+ this.search.focus();
1997
+ // move the cursor to the end after focussing, otherwise it will be at the beginning and
1998
+ // new text will appear *before* focusser.val()
1999
+ el = this.search.get(0);
2000
+ if (el.createTextRange) {
2001
+ range = el.createTextRange();
2002
+ range.collapse(false);
2003
+ range.select();
2004
+ } else if (el.setSelectionRange) {
2005
+ len = this.search.val().length;
2006
+ el.setSelectionRange(len, len);
2007
+ }
2008
+ }
2009
+
2010
+ // initializes search's value with nextSearchTerm (if defined by user)
2011
+ // ignore nextSearchTerm if the dropdown is opened by the user pressing a letter
2012
+ if(this.search.val() === "") {
2013
+ if(this.nextSearchTerm != undefined){
2014
+ this.search.val(this.nextSearchTerm);
2015
+ this.search.select();
2016
+ }
2017
+ }
2018
+
2019
+ this.focusser.prop("disabled", true).val("");
2020
+ this.updateResults(true);
2021
+ this.opts.element.trigger($.Event("select2-open"));
2022
+ },
2023
+
2024
+ // single
2025
+ close: function () {
2026
+ if (!this.opened()) return;
2027
+ this.parent.close.apply(this, arguments);
2028
+
2029
+ this.focusser.prop("disabled", false);
2030
+
2031
+ if (this.opts.shouldFocusInput(this)) {
2032
+ this.focusser.focus();
2033
+ }
2034
+ },
2035
+
2036
+ // single
2037
+ focus: function () {
2038
+ if (this.opened()) {
2039
+ this.close();
2040
+ } else {
2041
+ this.focusser.prop("disabled", false);
2042
+ if (this.opts.shouldFocusInput(this)) {
2043
+ this.focusser.focus();
2044
+ }
2045
+ }
2046
+ },
2047
+
2048
+ // single
2049
+ isFocused: function () {
2050
+ return this.container.hasClass("select2-container-active");
2051
+ },
2052
+
2053
+ // single
2054
+ cancel: function () {
2055
+ this.parent.cancel.apply(this, arguments);
2056
+ this.focusser.prop("disabled", false);
2057
+
2058
+ if (this.opts.shouldFocusInput(this)) {
2059
+ this.focusser.focus();
2060
+ }
2061
+ },
2062
+
2063
+ // single
2064
+ destroy: function() {
2065
+ $("label[for='" + this.focusser.attr('id') + "']")
2066
+ .attr('for', this.opts.element.attr("id"));
2067
+ this.parent.destroy.apply(this, arguments);
2068
+
2069
+ cleanupJQueryElements.call(this,
2070
+ "selection",
2071
+ "focusser"
2072
+ );
2073
+ },
2074
+
2075
+ // single
2076
+ initContainer: function () {
2077
+
2078
+ var selection,
2079
+ container = this.container,
2080
+ dropdown = this.dropdown,
2081
+ idSuffix = nextUid(),
2082
+ elementLabel;
2083
+
2084
+ if (this.opts.minimumResultsForSearch < 0) {
2085
+ this.showSearch(false);
2086
+ } else {
2087
+ this.showSearch(true);
2088
+ }
2089
+
2090
+ this.selection = selection = container.find(".select2-choice");
2091
+
2092
+ this.focusser = container.find(".select2-focusser");
2093
+
2094
+ // add aria associations
2095
+ selection.find(".select2-chosen").attr("id", "select2-chosen-"+idSuffix);
2096
+ this.focusser.attr("aria-labelledby", "select2-chosen-"+idSuffix);
2097
+ this.results.attr("id", "select2-results-"+idSuffix);
2098
+ this.search.attr("aria-owns", "select2-results-"+idSuffix);
2099
+
2100
+ // rewrite labels from original element to focusser
2101
+ this.focusser.attr("id", "s2id_autogen"+idSuffix);
2102
+
2103
+ elementLabel = $("label[for='" + this.opts.element.attr("id") + "']");
2104
+
2105
+ this.focusser.prev()
2106
+ .text(elementLabel.text())
2107
+ .attr('for', this.focusser.attr('id'));
2108
+
2109
+ // Ensure the original element retains an accessible name
2110
+ var originalTitle = this.opts.element.attr("title");
2111
+ this.opts.element.attr("title", (originalTitle || elementLabel.text()));
2112
+
2113
+ this.focusser.attr("tabindex", this.elementTabIndex);
2114
+
2115
+ // write label for search field using the label from the focusser element
2116
+ this.search.attr("id", this.focusser.attr('id') + '_search');
2117
+
2118
+ this.search.prev()
2119
+ .text($("label[for='" + this.focusser.attr('id') + "']").text())
2120
+ .attr('for', this.search.attr('id'));
2121
+
2122
+ this.search.on("keydown", this.bind(function (e) {
2123
+ if (!this.isInterfaceEnabled()) return;
2124
+
2125
+ // filter 229 keyCodes (input method editor is processing key input)
2126
+ if (229 == e.keyCode) return;
2127
+
2128
+ if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
2129
+ // prevent the page from scrolling
2130
+ killEvent(e);
2131
+ return;
2132
+ }
2133
+
2134
+ switch (e.which) {
2135
+ case KEY.UP:
2136
+ case KEY.DOWN:
2137
+ this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
2138
+ killEvent(e);
2139
+ return;
2140
+ case KEY.ENTER:
2141
+ this.selectHighlighted();
2142
+ killEvent(e);
2143
+ return;
2144
+ case KEY.TAB:
2145
+ this.selectHighlighted({noFocus: true});
2146
+ return;
2147
+ case KEY.ESC:
2148
+ this.cancel(e);
2149
+ killEvent(e);
2150
+ return;
2151
+ }
2152
+ }));
2153
+
2154
+ this.search.on("blur", this.bind(function(e) {
2155
+ // a workaround for chrome to keep the search field focussed when the scroll bar is used to scroll the dropdown.
2156
+ // without this the search field loses focus which is annoying
2157
+ if (document.activeElement === this.body.get(0)) {
2158
+ window.setTimeout(this.bind(function() {
2159
+ if (this.opened()) {
2160
+ this.search.focus();
2161
+ }
2162
+ }), 0);
2163
+ }
2164
+ }));
2165
+
2166
+ this.focusser.on("keydown", this.bind(function (e) {
2167
+ if (!this.isInterfaceEnabled()) return;
2168
+
2169
+ if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {
2170
+ return;
2171
+ }
2172
+
2173
+ if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
2174
+ killEvent(e);
2175
+ return;
2176
+ }
2177
+
2178
+ if (e.which == KEY.DOWN || e.which == KEY.UP
2179
+ || (e.which == KEY.ENTER && this.opts.openOnEnter)) {
2180
+
2181
+ if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) return;
2182
+
2183
+ this.open();
2184
+ killEvent(e);
2185
+ return;
2186
+ }
2187
+
2188
+ if (e.which == KEY.DELETE || e.which == KEY.BACKSPACE) {
2189
+ if (this.opts.allowClear) {
2190
+ this.clear();
2191
+ }
2192
+ killEvent(e);
2193
+ return;
2194
+ }
2195
+ }));
2196
+
2197
+
2198
+ installKeyUpChangeEvent(this.focusser);
2199
+ this.focusser.on("keyup-change input", this.bind(function(e) {
2200
+ if (this.opts.minimumResultsForSearch >= 0) {
2201
+ e.stopPropagation();
2202
+ if (this.opened()) return;
2203
+ this.open();
2204
+ }
2205
+ }));
2206
+
2207
+ selection.on("mousedown touchstart", "abbr", this.bind(function (e) {
2208
+ if (!this.isInterfaceEnabled()) return;
2209
+ this.clear();
2210
+ killEventImmediately(e);
2211
+ this.close();
2212
+ this.selection.focus();
2213
+ }));
2214
+
2215
+ selection.on("mousedown touchstart", this.bind(function (e) {
2216
+ // Prevent IE from generating a click event on the body
2217
+ reinsertElement(selection);
2218
+
2219
+ if (!this.container.hasClass("select2-container-active")) {
2220
+ this.opts.element.trigger($.Event("select2-focus"));
2221
+ }
2222
+
2223
+ if (this.opened()) {
2224
+ this.close();
2225
+ } else if (this.isInterfaceEnabled()) {
2226
+ this.open();
2227
+ }
2228
+
2229
+ killEvent(e);
2230
+ }));
2231
+
2232
+ dropdown.on("mousedown touchstart", this.bind(function() {
2233
+ if (this.opts.shouldFocusInput(this)) {
2234
+ this.search.focus();
2235
+ }
2236
+ }));
2237
+
2238
+ selection.on("focus", this.bind(function(e) {
2239
+ killEvent(e);
2240
+ }));
2241
+
2242
+ this.focusser.on("focus", this.bind(function(){
2243
+ if (!this.container.hasClass("select2-container-active")) {
2244
+ this.opts.element.trigger($.Event("select2-focus"));
2245
+ }
2246
+ this.container.addClass("select2-container-active");
2247
+ })).on("blur", this.bind(function() {
2248
+ if (!this.opened()) {
2249
+ this.container.removeClass("select2-container-active");
2250
+ this.opts.element.trigger($.Event("select2-blur"));
2251
+ }
2252
+ }));
2253
+ this.search.on("focus", this.bind(function(){
2254
+ if (!this.container.hasClass("select2-container-active")) {
2255
+ this.opts.element.trigger($.Event("select2-focus"));
2256
+ }
2257
+ this.container.addClass("select2-container-active");
2258
+ }));
2259
+
2260
+ this.initContainerWidth();
2261
+ this.opts.element.addClass("select2-offscreen");
2262
+ this.setPlaceholder();
2263
+
2264
+ },
2265
+
2266
+ // single
2267
+ clear: function(triggerChange) {
2268
+ var data=this.selection.data("select2-data");
2269
+ if (data) { // guard against queued quick consecutive clicks
2270
+ var evt = $.Event("select2-clearing");
2271
+ this.opts.element.trigger(evt);
2272
+ if (evt.isDefaultPrevented()) {
2273
+ return;
2274
+ }
2275
+ var placeholderOption = this.getPlaceholderOption();
2276
+ this.opts.element.val(placeholderOption ? placeholderOption.val() : "");
2277
+ this.selection.find(".select2-chosen").empty();
2278
+ this.selection.removeData("select2-data");
2279
+ this.setPlaceholder();
2280
+
2281
+ if (triggerChange !== false){
2282
+ this.opts.element.trigger({ type: "select2-removed", val: this.id(data), choice: data });
2283
+ this.triggerChange({removed:data});
2284
+ }
2285
+ }
2286
+ },
2287
+
2288
+ /**
2289
+ * Sets selection based on source element's value
2290
+ */
2291
+ // single
2292
+ initSelection: function () {
2293
+ var selected;
2294
+ if (this.isPlaceholderOptionSelected()) {
2295
+ this.updateSelection(null);
2296
+ this.close();
2297
+ this.setPlaceholder();
2298
+ } else {
2299
+ var self = this;
2300
+ this.opts.initSelection.call(null, this.opts.element, function(selected){
2301
+ if (selected !== undefined && selected !== null) {
2302
+ self.updateSelection(selected);
2303
+ self.close();
2304
+ self.setPlaceholder();
2305
+ self.nextSearchTerm = self.opts.nextSearchTerm(selected, self.search.val());
2306
+ }
2307
+ });
2308
+ }
2309
+ },
2310
+
2311
+ isPlaceholderOptionSelected: function() {
2312
+ var placeholderOption;
2313
+ if (this.getPlaceholder() === undefined) return false; // no placeholder specified so no option should be considered
2314
+ return ((placeholderOption = this.getPlaceholderOption()) !== undefined && placeholderOption.prop("selected"))
2315
+ || (this.opts.element.val() === "")
2316
+ || (this.opts.element.val() === undefined)
2317
+ || (this.opts.element.val() === null);
2318
+ },
2319
+
2320
+ // single
2321
+ prepareOpts: function () {
2322
+ var opts = this.parent.prepareOpts.apply(this, arguments),
2323
+ self=this;
2324
+
2325
+ if (opts.element.get(0).tagName.toLowerCase() === "select") {
2326
+ // install the selection initializer
2327
+ opts.initSelection = function (element, callback) {
2328
+ var selected = element.find("option").filter(function() { return this.selected && !this.disabled });
2329
+ // a single select box always has a value, no need to null check 'selected'
2330
+ callback(self.optionToData(selected));
2331
+ };
2332
+ } else if ("data" in opts) {
2333
+ // install default initSelection when applied to hidden input and data is local
2334
+ opts.initSelection = opts.initSelection || function (element, callback) {
2335
+ var id = element.val();
2336
+ //search in data by id, storing the actual matching item
2337
+ var match = null;
2338
+ opts.query({
2339
+ matcher: function(term, text, el){
2340
+ var is_match = equal(id, opts.id(el));
2341
+ if (is_match) {
2342
+ match = el;
2343
+ }
2344
+ return is_match;
2345
+ },
2346
+ callback: !$.isFunction(callback) ? $.noop : function() {
2347
+ callback(match);
2348
+ }
2349
+ });
2350
+ };
2351
+ }
2352
+
2353
+ return opts;
2354
+ },
2355
+
2356
+ // single
2357
+ getPlaceholder: function() {
2358
+ // if a placeholder is specified on a single select without a valid placeholder option ignore it
2359
+ if (this.select) {
2360
+ if (this.getPlaceholderOption() === undefined) {
2361
+ return undefined;
2362
+ }
2363
+ }
2364
+
2365
+ return this.parent.getPlaceholder.apply(this, arguments);
2366
+ },
2367
+
2368
+ // single
2369
+ setPlaceholder: function () {
2370
+ var placeholder = this.getPlaceholder();
2371
+
2372
+ if (this.isPlaceholderOptionSelected() && placeholder !== undefined) {
2373
+
2374
+ // check for a placeholder option if attached to a select
2375
+ if (this.select && this.getPlaceholderOption() === undefined) return;
2376
+
2377
+ this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(placeholder));
2378
+
2379
+ this.selection.addClass("select2-default");
2380
+
2381
+ this.container.removeClass("select2-allowclear");
2382
+ }
2383
+ },
2384
+
2385
+ // single
2386
+ postprocessResults: function (data, initial, noHighlightUpdate) {
2387
+ var selected = 0, self = this, showSearchInput = true;
2388
+
2389
+ // find the selected element in the result list
2390
+
2391
+ this.findHighlightableChoices().each2(function (i, elm) {
2392
+ if (equal(self.id(elm.data("select2-data")), self.opts.element.val())) {
2393
+ selected = i;
2394
+ return false;
2395
+ }
2396
+ });
2397
+
2398
+ // and highlight it
2399
+ if (noHighlightUpdate !== false) {
2400
+ if (initial === true && selected >= 0) {
2401
+ this.highlight(selected);
2402
+ } else {
2403
+ this.highlight(0);
2404
+ }
2405
+ }
2406
+
2407
+ // hide the search box if this is the first we got the results and there are enough of them for search
2408
+
2409
+ if (initial === true) {
2410
+ var min = this.opts.minimumResultsForSearch;
2411
+ if (min >= 0) {
2412
+ this.showSearch(countResults(data.results) >= min);
2413
+ }
2414
+ }
2415
+ },
2416
+
2417
+ // single
2418
+ showSearch: function(showSearchInput) {
2419
+ if (this.showSearchInput === showSearchInput) return;
2420
+
2421
+ this.showSearchInput = showSearchInput;
2422
+
2423
+ this.dropdown.find(".select2-search").toggleClass("select2-search-hidden", !showSearchInput);
2424
+ this.dropdown.find(".select2-search").toggleClass("select2-offscreen", !showSearchInput);
2425
+ //add "select2-with-searchbox" to the container if search box is shown
2426
+ $(this.dropdown, this.container).toggleClass("select2-with-searchbox", showSearchInput);
2427
+ },
2428
+
2429
+ // single
2430
+ onSelect: function (data, options) {
2431
+
2432
+ if (!this.triggerSelect(data)) { return; }
2433
+
2434
+ var old = this.opts.element.val(),
2435
+ oldData = this.data();
2436
+
2437
+ this.opts.element.val(this.id(data));
2438
+ this.updateSelection(data);
2439
+
2440
+ this.opts.element.trigger({ type: "select2-selected", val: this.id(data), choice: data });
2441
+
2442
+ this.nextSearchTerm = this.opts.nextSearchTerm(data, this.search.val());
2443
+ this.close();
2444
+
2445
+ if ((!options || !options.noFocus) && this.opts.shouldFocusInput(this)) {
2446
+ this.focusser.focus();
2447
+ }
2448
+
2449
+ if (!equal(old, this.id(data))) {
2450
+ this.triggerChange({ added: data, removed: oldData });
2451
+ }
2452
+ },
2453
+
2454
+ // single
2455
+ updateSelection: function (data) {
2456
+
2457
+ var container=this.selection.find(".select2-chosen"), formatted, cssClass;
2458
+
2459
+ this.selection.data("select2-data", data);
2460
+
2461
+ container.empty();
2462
+ if (data !== null) {
2463
+ formatted=this.opts.formatSelection(data, container, this.opts.escapeMarkup);
2464
+ }
2465
+ if (formatted !== undefined) {
2466
+ container.append(formatted);
2467
+ }
2468
+ cssClass=this.opts.formatSelectionCssClass(data, container);
2469
+ if (cssClass !== undefined) {
2470
+ container.addClass(cssClass);
2471
+ }
2472
+
2473
+ this.selection.removeClass("select2-default");
2474
+
2475
+ if (this.opts.allowClear && this.getPlaceholder() !== undefined) {
2476
+ this.container.addClass("select2-allowclear");
2477
+ }
2478
+ },
2479
+
2480
+ // single
2481
+ val: function () {
2482
+ var val,
2483
+ triggerChange = false,
2484
+ data = null,
2485
+ self = this,
2486
+ oldData = this.data();
2487
+
2488
+ if (arguments.length === 0) {
2489
+ return this.opts.element.val();
2490
+ }
2491
+
2492
+ val = arguments[0];
2493
+
2494
+ if (arguments.length > 1) {
2495
+ triggerChange = arguments[1];
2496
+ }
2497
+
2498
+ if (this.select) {
2499
+ this.select
2500
+ .val(val)
2501
+ .find("option").filter(function() { return this.selected }).each2(function (i, elm) {
2502
+ data = self.optionToData(elm);
2503
+ return false;
2504
+ });
2505
+ this.updateSelection(data);
2506
+ this.setPlaceholder();
2507
+ if (triggerChange) {
2508
+ this.triggerChange({added: data, removed:oldData});
2509
+ }
2510
+ } else {
2511
+ // val is an id. !val is true for [undefined,null,'',0] - 0 is legal
2512
+ if (!val && val !== 0) {
2513
+ this.clear(triggerChange);
2514
+ return;
2515
+ }
2516
+ if (this.opts.initSelection === undefined) {
2517
+ throw new Error("cannot call val() if initSelection() is not defined");
2518
+ }
2519
+ this.opts.element.val(val);
2520
+ this.opts.initSelection(this.opts.element, function(data){
2521
+ self.opts.element.val(!data ? "" : self.id(data));
2522
+ self.updateSelection(data);
2523
+ self.setPlaceholder();
2524
+ if (triggerChange) {
2525
+ self.triggerChange({added: data, removed:oldData});
2526
+ }
2527
+ });
2528
+ }
2529
+ },
2530
+
2531
+ // single
2532
+ clearSearch: function () {
2533
+ this.search.val("");
2534
+ this.focusser.val("");
2535
+ },
2536
+
2537
+ // single
2538
+ data: function(value) {
2539
+ var data,
2540
+ triggerChange = false;
2541
+
2542
+ if (arguments.length === 0) {
2543
+ data = this.selection.data("select2-data");
2544
+ if (data == undefined) data = null;
2545
+ return data;
2546
+ } else {
2547
+ if (arguments.length > 1) {
2548
+ triggerChange = arguments[1];
2549
+ }
2550
+ if (!value) {
2551
+ this.clear(triggerChange);
2552
+ } else {
2553
+ data = this.data();
2554
+ this.opts.element.val(!value ? "" : this.id(value));
2555
+ this.updateSelection(value);
2556
+ if (triggerChange) {
2557
+ this.triggerChange({added: value, removed:data});
2558
+ }
2559
+ }
2560
+ }
2561
+ }
2562
+ });
2563
+
2564
+ MultiSelect2 = clazz(AbstractSelect2, {
2565
+
2566
+ // multi
2567
+ createContainer: function () {
2568
+ var container = $(document.createElement("div")).attr({
2569
+ "class": "select2-container select2-container-multi"
2570
+ }).html([
2571
+ "<ul class='select2-choices'>",
2572
+ " <li class='select2-search-field'>",
2573
+ " <label for='' class='select2-offscreen'></label>",
2574
+ " <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'>",
2575
+ " </li>",
2576
+ "</ul>",
2577
+ "<div class='select2-drop select2-drop-multi select2-display-none'>",
2578
+ " <ul class='select2-results'>",
2579
+ " </ul>",
2580
+ "</div>"].join(""));
2581
+ return container;
2582
+ },
2583
+
2584
+ // multi
2585
+ prepareOpts: function () {
2586
+ var opts = this.parent.prepareOpts.apply(this, arguments),
2587
+ self=this;
2588
+
2589
+ // TODO validate placeholder is a string if specified
2590
+
2591
+ if (opts.element.get(0).tagName.toLowerCase() === "select") {
2592
+ // install the selection initializer
2593
+ opts.initSelection = function (element, callback) {
2594
+
2595
+ var data = [];
2596
+
2597
+ element.find("option").filter(function() { return this.selected && !this.disabled }).each2(function (i, elm) {
2598
+ data.push(self.optionToData(elm));
2599
+ });
2600
+ callback(data);
2601
+ };
2602
+ } else if ("data" in opts) {
2603
+ // install default initSelection when applied to hidden input and data is local
2604
+ opts.initSelection = opts.initSelection || function (element, callback) {
2605
+ var ids = splitVal(element.val(), opts.separator);
2606
+ //search in data by array of ids, storing matching items in a list
2607
+ var matches = [];
2608
+ opts.query({
2609
+ matcher: function(term, text, el){
2610
+ var is_match = $.grep(ids, function(id) {
2611
+ return equal(id, opts.id(el));
2612
+ }).length;
2613
+ if (is_match) {
2614
+ matches.push(el);
2615
+ }
2616
+ return is_match;
2617
+ },
2618
+ callback: !$.isFunction(callback) ? $.noop : function() {
2619
+ // reorder matches based on the order they appear in the ids array because right now
2620
+ // they are in the order in which they appear in data array
2621
+ var ordered = [];
2622
+ for (var i = 0; i < ids.length; i++) {
2623
+ var id = ids[i];
2624
+ for (var j = 0; j < matches.length; j++) {
2625
+ var match = matches[j];
2626
+ if (equal(id, opts.id(match))) {
2627
+ ordered.push(match);
2628
+ matches.splice(j, 1);
2629
+ break;
2630
+ }
2631
+ }
2632
+ }
2633
+ callback(ordered);
2634
+ }
2635
+ });
2636
+ };
2637
+ }
2638
+
2639
+ return opts;
2640
+ },
2641
+
2642
+ // multi
2643
+ selectChoice: function (choice) {
2644
+
2645
+ var selected = this.container.find(".select2-search-choice-focus");
2646
+ if (selected.length && choice && choice[0] == selected[0]) {
2647
+
2648
+ } else {
2649
+ if (selected.length) {
2650
+ this.opts.element.trigger("choice-deselected", selected);
2651
+ }
2652
+ selected.removeClass("select2-search-choice-focus");
2653
+ if (choice && choice.length) {
2654
+ this.close();
2655
+ choice.addClass("select2-search-choice-focus");
2656
+ this.opts.element.trigger("choice-selected", choice);
2657
+ }
2658
+ }
2659
+ },
2660
+
2661
+ // multi
2662
+ destroy: function() {
2663
+ $("label[for='" + this.search.attr('id') + "']")
2664
+ .attr('for', this.opts.element.attr("id"));
2665
+ this.parent.destroy.apply(this, arguments);
2666
+
2667
+ cleanupJQueryElements.call(this,
2668
+ "searchContainer",
2669
+ "selection"
2670
+ );
2671
+ },
2672
+
2673
+ // multi
2674
+ initContainer: function () {
2675
+
2676
+ var selector = ".select2-choices", selection;
2677
+
2678
+ this.searchContainer = this.container.find(".select2-search-field");
2679
+ this.selection = selection = this.container.find(selector);
2680
+
2681
+ var _this = this;
2682
+ this.selection.on("click", ".select2-search-choice:not(.select2-locked)", function (e) {
2683
+ //killEvent(e);
2684
+ _this.search[0].focus();
2685
+ _this.selectChoice($(this));
2686
+ });
2687
+
2688
+ // rewrite labels from original element to focusser
2689
+ this.search.attr("id", "s2id_autogen"+nextUid());
2690
+
2691
+ this.search.prev()
2692
+ .text($("label[for='" + this.opts.element.attr("id") + "']").text())
2693
+ .attr('for', this.search.attr('id'));
2694
+
2695
+ this.search.on("input paste", this.bind(function() {
2696
+ if (this.search.attr('placeholder') && this.search.val().length == 0) return;
2697
+ if (!this.isInterfaceEnabled()) return;
2698
+ if (!this.opened()) {
2699
+ this.open();
2700
+ }
2701
+ }));
2702
+
2703
+ this.search.attr("tabindex", this.elementTabIndex);
2704
+
2705
+ this.keydowns = 0;
2706
+ this.search.on("keydown", this.bind(function (e) {
2707
+ if (!this.isInterfaceEnabled()) return;
2708
+
2709
+ ++this.keydowns;
2710
+ var selected = selection.find(".select2-search-choice-focus");
2711
+ var prev = selected.prev(".select2-search-choice:not(.select2-locked)");
2712
+ var next = selected.next(".select2-search-choice:not(.select2-locked)");
2713
+ var pos = getCursorInfo(this.search);
2714
+
2715
+ if (selected.length &&
2716
+ (e.which == KEY.LEFT || e.which == KEY.RIGHT || e.which == KEY.BACKSPACE || e.which == KEY.DELETE || e.which == KEY.ENTER)) {
2717
+ var selectedChoice = selected;
2718
+ if (e.which == KEY.LEFT && prev.length) {
2719
+ selectedChoice = prev;
2720
+ }
2721
+ else if (e.which == KEY.RIGHT) {
2722
+ selectedChoice = next.length ? next : null;
2723
+ }
2724
+ else if (e.which === KEY.BACKSPACE) {
2725
+ if (this.unselect(selected.first())) {
2726
+ this.search.width(10);
2727
+ selectedChoice = prev.length ? prev : next;
2728
+ }
2729
+ } else if (e.which == KEY.DELETE) {
2730
+ if (this.unselect(selected.first())) {
2731
+ this.search.width(10);
2732
+ selectedChoice = next.length ? next : null;
2733
+ }
2734
+ } else if (e.which == KEY.ENTER) {
2735
+ selectedChoice = null;
2736
+ }
2737
+
2738
+ this.selectChoice(selectedChoice);
2739
+ killEvent(e);
2740
+ if (!selectedChoice || !selectedChoice.length) {
2741
+ this.open();
2742
+ }
2743
+ return;
2744
+ } else if (((e.which === KEY.BACKSPACE && this.keydowns == 1)
2745
+ || e.which == KEY.LEFT) && (pos.offset == 0 && !pos.length)) {
2746
+
2747
+ this.selectChoice(selection.find(".select2-search-choice:not(.select2-locked)").last());
2748
+ killEvent(e);
2749
+ return;
2750
+ } else {
2751
+ this.selectChoice(null);
2752
+ }
2753
+
2754
+ if (this.opened()) {
2755
+ switch (e.which) {
2756
+ case KEY.UP:
2757
+ case KEY.DOWN:
2758
+ this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
2759
+ killEvent(e);
2760
+ return;
2761
+ case KEY.ENTER:
2762
+ this.selectHighlighted();
2763
+ killEvent(e);
2764
+ return;
2765
+ case KEY.TAB:
2766
+ this.selectHighlighted({noFocus:true});
2767
+ this.close();
2768
+ return;
2769
+ case KEY.ESC:
2770
+ this.cancel(e);
2771
+ killEvent(e);
2772
+ return;
2773
+ }
2774
+ }
2775
+
2776
+ if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e)
2777
+ || e.which === KEY.BACKSPACE || e.which === KEY.ESC) {
2778
+ return;
2779
+ }
2780
+
2781
+ if (e.which === KEY.ENTER) {
2782
+ if (this.opts.openOnEnter === false) {
2783
+ return;
2784
+ } else if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) {
2785
+ return;
2786
+ }
2787
+ }
2788
+
2789
+ this.open();
2790
+
2791
+ if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
2792
+ // prevent the page from scrolling
2793
+ killEvent(e);
2794
+ }
2795
+
2796
+ if (e.which === KEY.ENTER) {
2797
+ // prevent form from being submitted
2798
+ killEvent(e);
2799
+ }
2800
+
2801
+ }));
2802
+
2803
+ this.search.on("keyup", this.bind(function (e) {
2804
+ this.keydowns = 0;
2805
+ this.resizeSearch();
2806
+ })
2807
+ );
2808
+
2809
+ this.search.on("blur", this.bind(function(e) {
2810
+ this.container.removeClass("select2-container-active");
2811
+ this.search.removeClass("select2-focused");
2812
+ this.selectChoice(null);
2813
+ if (!this.opened()) this.clearSearch();
2814
+ e.stopImmediatePropagation();
2815
+ this.opts.element.trigger($.Event("select2-blur"));
2816
+ }));
2817
+
2818
+ this.container.on("click", selector, this.bind(function (e) {
2819
+ if (!this.isInterfaceEnabled()) return;
2820
+ if ($(e.target).closest(".select2-search-choice").length > 0) {
2821
+ // clicked inside a select2 search choice, do not open
2822
+ return;
2823
+ }
2824
+ this.selectChoice(null);
2825
+ this.clearPlaceholder();
2826
+ if (!this.container.hasClass("select2-container-active")) {
2827
+ this.opts.element.trigger($.Event("select2-focus"));
2828
+ }
2829
+ this.open();
2830
+ this.focusSearch();
2831
+ e.preventDefault();
2832
+ }));
2833
+
2834
+ this.container.on("focus", selector, this.bind(function () {
2835
+ if (!this.isInterfaceEnabled()) return;
2836
+ if (!this.container.hasClass("select2-container-active")) {
2837
+ this.opts.element.trigger($.Event("select2-focus"));
2838
+ }
2839
+ this.container.addClass("select2-container-active");
2840
+ this.dropdown.addClass("select2-drop-active");
2841
+ this.clearPlaceholder();
2842
+ }));
2843
+
2844
+ this.initContainerWidth();
2845
+ this.opts.element.addClass("select2-offscreen");
2846
+
2847
+ // set the placeholder if necessary
2848
+ this.clearSearch();
2849
+ },
2850
+
2851
+ // multi
2852
+ enableInterface: function() {
2853
+ if (this.parent.enableInterface.apply(this, arguments)) {
2854
+ this.search.prop("disabled", !this.isInterfaceEnabled());
2855
+ }
2856
+ },
2857
+
2858
+ // multi
2859
+ initSelection: function () {
2860
+ var data;
2861
+ if (this.opts.element.val() === "" && this.opts.element.text() === "") {
2862
+ this.updateSelection([]);
2863
+ this.close();
2864
+ // set the placeholder if necessary
2865
+ this.clearSearch();
2866
+ }
2867
+ if (this.select || this.opts.element.val() !== "") {
2868
+ var self = this;
2869
+ this.opts.initSelection.call(null, this.opts.element, function(data){
2870
+ if (data !== undefined && data !== null) {
2871
+ self.updateSelection(data);
2872
+ self.close();
2873
+ // set the placeholder if necessary
2874
+ self.clearSearch();
2875
+ }
2876
+ });
2877
+ }
2878
+ },
2879
+
2880
+ // multi
2881
+ clearSearch: function () {
2882
+ var placeholder = this.getPlaceholder(),
2883
+ maxWidth = this.getMaxSearchWidth();
2884
+
2885
+ if (placeholder !== undefined && this.getVal().length === 0 && this.search.hasClass("select2-focused") === false) {
2886
+ this.search.val(placeholder).addClass("select2-default");
2887
+ // stretch the search box to full width of the container so as much of the placeholder is visible as possible
2888
+ // we could call this.resizeSearch(), but we do not because that requires a sizer and we do not want to create one so early because of a firefox bug, see #944
2889
+ this.search.width(maxWidth > 0 ? maxWidth : this.container.css("width"));
2890
+ } else {
2891
+ this.search.val("").width(10);
2892
+ }
2893
+ },
2894
+
2895
+ // multi
2896
+ clearPlaceholder: function () {
2897
+ if (this.search.hasClass("select2-default")) {
2898
+ this.search.val("").removeClass("select2-default");
2899
+ }
2900
+ },
2901
+
2902
+ // multi
2903
+ opening: function () {
2904
+ this.clearPlaceholder(); // should be done before super so placeholder is not used to search
2905
+ this.resizeSearch();
2906
+
2907
+ this.parent.opening.apply(this, arguments);
2908
+
2909
+ this.focusSearch();
2910
+
2911
+ // initializes search's value with nextSearchTerm (if defined by user)
2912
+ // ignore nextSearchTerm if the dropdown is opened by the user pressing a letter
2913
+ if(this.search.val() === "") {
2914
+ if(this.nextSearchTerm != undefined){
2915
+ this.search.val(this.nextSearchTerm);
2916
+ this.search.select();
2917
+ }
2918
+ }
2919
+
2920
+ this.updateResults(true);
2921
+ if (this.opts.shouldFocusInput(this)) {
2922
+ this.search.focus();
2923
+ }
2924
+ this.opts.element.trigger($.Event("select2-open"));
2925
+ },
2926
+
2927
+ // multi
2928
+ close: function () {
2929
+ if (!this.opened()) return;
2930
+ this.parent.close.apply(this, arguments);
2931
+ },
2932
+
2933
+ // multi
2934
+ focus: function () {
2935
+ this.close();
2936
+ this.search.focus();
2937
+ },
2938
+
2939
+ // multi
2940
+ isFocused: function () {
2941
+ return this.search.hasClass("select2-focused");
2942
+ },
2943
+
2944
+ // multi
2945
+ updateSelection: function (data) {
2946
+ var ids = [], filtered = [], self = this;
2947
+
2948
+ // filter out duplicates
2949
+ $(data).each(function () {
2950
+ if (indexOf(self.id(this), ids) < 0) {
2951
+ ids.push(self.id(this));
2952
+ filtered.push(this);
2953
+ }
2954
+ });
2955
+ data = filtered;
2956
+
2957
+ this.selection.find(".select2-search-choice").remove();
2958
+ $(data).each(function () {
2959
+ self.addSelectedChoice(this);
2960
+ });
2961
+ self.postprocessResults();
2962
+ },
2963
+
2964
+ // multi
2965
+ tokenize: function() {
2966
+ var input = this.search.val();
2967
+ input = this.opts.tokenizer.call(this, input, this.data(), this.bind(this.onSelect), this.opts);
2968
+ if (input != null && input != undefined) {
2969
+ this.search.val(input);
2970
+ if (input.length > 0) {
2971
+ this.open();
2972
+ }
2973
+ }
2974
+
2975
+ },
2976
+
2977
+ // multi
2978
+ onSelect: function (data, options) {
2979
+
2980
+ if (!this.triggerSelect(data) || data.text === "") { return; }
2981
+
2982
+ this.addSelectedChoice(data);
2983
+
2984
+ this.opts.element.trigger({ type: "selected", val: this.id(data), choice: data });
2985
+
2986
+ // keep track of the search's value before it gets cleared
2987
+ this.nextSearchTerm = this.opts.nextSearchTerm(data, this.search.val());
2988
+
2989
+ this.clearSearch();
2990
+ this.updateResults();
2991
+
2992
+ if (this.select || !this.opts.closeOnSelect) this.postprocessResults(data, false, this.opts.closeOnSelect===true);
2993
+
2994
+ if (this.opts.closeOnSelect) {
2995
+ this.close();
2996
+ this.search.width(10);
2997
+ } else {
2998
+ if (this.countSelectableResults()>0) {
2999
+ this.search.width(10);
3000
+ this.resizeSearch();
3001
+ if (this.getMaximumSelectionSize() > 0 && this.val().length >= this.getMaximumSelectionSize()) {
3002
+ // if we reached max selection size repaint the results so choices
3003
+ // are replaced with the max selection reached message
3004
+ this.updateResults(true);
3005
+ } else {
3006
+ // initializes search's value with nextSearchTerm and update search result
3007
+ if(this.nextSearchTerm != undefined){
3008
+ this.search.val(this.nextSearchTerm);
3009
+ this.updateResults();
3010
+ this.search.select();
3011
+ }
3012
+ }
3013
+ this.positionDropdown();
3014
+ } else {
3015
+ // if nothing left to select close
3016
+ this.close();
3017
+ this.search.width(10);
3018
+ }
3019
+ }
3020
+
3021
+ // since its not possible to select an element that has already been
3022
+ // added we do not need to check if this is a new element before firing change
3023
+ this.triggerChange({ added: data });
3024
+
3025
+ if (!options || !options.noFocus)
3026
+ this.focusSearch();
3027
+ },
3028
+
3029
+ // multi
3030
+ cancel: function () {
3031
+ this.close();
3032
+ this.focusSearch();
3033
+ },
3034
+
3035
+ addSelectedChoice: function (data) {
3036
+ var enableChoice = !data.locked,
3037
+ enabledItem = $(
3038
+ "<li class='select2-search-choice'>" +
3039
+ " <div></div>" +
3040
+ " <a href='#' class='select2-search-choice-close' tabindex='-1'></a>" +
3041
+ "</li>"),
3042
+ disabledItem = $(
3043
+ "<li class='select2-search-choice select2-locked'>" +
3044
+ "<div></div>" +
3045
+ "</li>");
3046
+ var choice = enableChoice ? enabledItem : disabledItem,
3047
+ id = this.id(data),
3048
+ val = this.getVal(),
3049
+ formatted,
3050
+ cssClass;
3051
+
3052
+ formatted=this.opts.formatSelection(data, choice.find("div"), this.opts.escapeMarkup);
3053
+ if (formatted != undefined) {
3054
+ choice.find("div").replaceWith("<div>"+formatted+"</div>");
3055
+ }
3056
+ cssClass=this.opts.formatSelectionCssClass(data, choice.find("div"));
3057
+ if (cssClass != undefined) {
3058
+ choice.addClass(cssClass);
3059
+ }
3060
+
3061
+ if(enableChoice){
3062
+ choice.find(".select2-search-choice-close")
3063
+ .on("mousedown", killEvent)
3064
+ .on("click dblclick", this.bind(function (e) {
3065
+ if (!this.isInterfaceEnabled()) return;
3066
+
3067
+ this.unselect($(e.target));
3068
+ this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
3069
+ killEvent(e);
3070
+ this.close();
3071
+ this.focusSearch();
3072
+ })).on("focus", this.bind(function () {
3073
+ if (!this.isInterfaceEnabled()) return;
3074
+ this.container.addClass("select2-container-active");
3075
+ this.dropdown.addClass("select2-drop-active");
3076
+ }));
3077
+ }
3078
+
3079
+ choice.data("select2-data", data);
3080
+ choice.insertBefore(this.searchContainer);
3081
+
3082
+ val.push(id);
3083
+ this.setVal(val);
3084
+ },
3085
+
3086
+ // multi
3087
+ unselect: function (selected) {
3088
+ var val = this.getVal(),
3089
+ data,
3090
+ index;
3091
+ selected = selected.closest(".select2-search-choice");
3092
+
3093
+ if (selected.length === 0) {
3094
+ throw "Invalid argument: " + selected + ". Must be .select2-search-choice";
3095
+ }
3096
+
3097
+ data = selected.data("select2-data");
3098
+
3099
+ if (!data) {
3100
+ // prevent a race condition when the 'x' is clicked really fast repeatedly the event can be queued
3101
+ // and invoked on an element already removed
3102
+ return;
3103
+ }
3104
+
3105
+ var evt = $.Event("select2-removing");
3106
+ evt.val = this.id(data);
3107
+ evt.choice = data;
3108
+ this.opts.element.trigger(evt);
3109
+
3110
+ if (evt.isDefaultPrevented()) {
3111
+ return false;
3112
+ }
3113
+
3114
+ while((index = indexOf(this.id(data), val)) >= 0) {
3115
+ val.splice(index, 1);
3116
+ this.setVal(val);
3117
+ if (this.select) this.postprocessResults();
3118
+ }
3119
+
3120
+ selected.remove();
3121
+
3122
+ this.opts.element.trigger({ type: "select2-removed", val: this.id(data), choice: data });
3123
+ this.triggerChange({ removed: data });
3124
+
3125
+ return true;
3126
+ },
3127
+
3128
+ // multi
3129
+ postprocessResults: function (data, initial, noHighlightUpdate) {
3130
+ var val = this.getVal(),
3131
+ choices = this.results.find(".select2-result"),
3132
+ compound = this.results.find(".select2-result-with-children"),
3133
+ self = this;
3134
+
3135
+ choices.each2(function (i, choice) {
3136
+ var id = self.id(choice.data("select2-data"));
3137
+ if (indexOf(id, val) >= 0) {
3138
+ choice.addClass("select2-selected");
3139
+ // mark all children of the selected parent as selected
3140
+ choice.find(".select2-result-selectable").addClass("select2-selected");
3141
+ }
3142
+ });
3143
+
3144
+ compound.each2(function(i, choice) {
3145
+ // hide an optgroup if it doesn't have any selectable children
3146
+ if (!choice.is('.select2-result-selectable')
3147
+ && choice.find(".select2-result-selectable:not(.select2-selected)").length === 0) {
3148
+ choice.addClass("select2-selected");
3149
+ }
3150
+ });
3151
+
3152
+ if (this.highlight() == -1 && noHighlightUpdate !== false){
3153
+ self.highlight(0);
3154
+ }
3155
+
3156
+ //If all results are chosen render formatNoMatches
3157
+ if(!this.opts.createSearchChoice && !choices.filter('.select2-result:not(.select2-selected)').length > 0){
3158
+ if(!data || data && !data.more && this.results.find(".select2-no-results").length === 0) {
3159
+ if (checkFormatter(self.opts.formatNoMatches, "formatNoMatches")) {
3160
+ this.results.append("<li class='select2-no-results'>" + evaluate(self.opts.formatNoMatches, self.opts.element, self.search.val()) + "</li>");
3161
+ }
3162
+ }
3163
+ }
3164
+
3165
+ },
3166
+
3167
+ // multi
3168
+ getMaxSearchWidth: function() {
3169
+ return this.selection.width() - getSideBorderPadding(this.search);
3170
+ },
3171
+
3172
+ // multi
3173
+ resizeSearch: function () {
3174
+ var minimumWidth, left, maxWidth, containerLeft, searchWidth,
3175
+ sideBorderPadding = getSideBorderPadding(this.search);
3176
+
3177
+ minimumWidth = measureTextWidth(this.search) + 10;
3178
+
3179
+ left = this.search.offset().left;
3180
+
3181
+ maxWidth = this.selection.width();
3182
+ containerLeft = this.selection.offset().left;
3183
+
3184
+ searchWidth = maxWidth - (left - containerLeft) - sideBorderPadding;
3185
+
3186
+ if (searchWidth < minimumWidth) {
3187
+ searchWidth = maxWidth - sideBorderPadding;
3188
+ }
3189
+
3190
+ if (searchWidth < 40) {
3191
+ searchWidth = maxWidth - sideBorderPadding;
3192
+ }
3193
+
3194
+ if (searchWidth <= 0) {
3195
+ searchWidth = minimumWidth;
3196
+ }
3197
+
3198
+ this.search.width(Math.floor(searchWidth));
3199
+ },
3200
+
3201
+ // multi
3202
+ getVal: function () {
3203
+ var val;
3204
+ if (this.select) {
3205
+ val = this.select.val();
3206
+ return val === null ? [] : val;
3207
+ } else {
3208
+ val = this.opts.element.val();
3209
+ return splitVal(val, this.opts.separator);
3210
+ }
3211
+ },
3212
+
3213
+ // multi
3214
+ setVal: function (val) {
3215
+ var unique;
3216
+ if (this.select) {
3217
+ this.select.val(val);
3218
+ } else {
3219
+ unique = [];
3220
+ // filter out duplicates
3221
+ $(val).each(function () {
3222
+ if (indexOf(this, unique) < 0) unique.push(this);
3223
+ });
3224
+ this.opts.element.val(unique.length === 0 ? "" : unique.join(this.opts.separator));
3225
+ }
3226
+ },
3227
+
3228
+ // multi
3229
+ buildChangeDetails: function (old, current) {
3230
+ var current = current.slice(0),
3231
+ old = old.slice(0);
3232
+
3233
+ // remove intersection from each array
3234
+ for (var i = 0; i < current.length; i++) {
3235
+ for (var j = 0; j < old.length; j++) {
3236
+ if (equal(this.opts.id(current[i]), this.opts.id(old[j]))) {
3237
+ current.splice(i, 1);
3238
+ if(i>0){
3239
+ i--;
3240
+ }
3241
+ old.splice(j, 1);
3242
+ j--;
3243
+ }
3244
+ }
3245
+ }
3246
+
3247
+ return {added: current, removed: old};
3248
+ },
3249
+
3250
+
3251
+ // multi
3252
+ val: function (val, triggerChange) {
3253
+ var oldData, self=this;
3254
+
3255
+ if (arguments.length === 0) {
3256
+ return this.getVal();
3257
+ }
3258
+
3259
+ oldData=this.data();
3260
+ if (!oldData.length) oldData=[];
3261
+
3262
+ // val is an id. !val is true for [undefined,null,'',0] - 0 is legal
3263
+ if (!val && val !== 0) {
3264
+ this.opts.element.val("");
3265
+ this.updateSelection([]);
3266
+ this.clearSearch();
3267
+ if (triggerChange) {
3268
+ this.triggerChange({added: this.data(), removed: oldData});
3269
+ }
3270
+ return;
3271
+ }
3272
+
3273
+ // val is a list of ids
3274
+ this.setVal(val);
3275
+
3276
+ if (this.select) {
3277
+ this.opts.initSelection(this.select, this.bind(this.updateSelection));
3278
+ if (triggerChange) {
3279
+ this.triggerChange(this.buildChangeDetails(oldData, this.data()));
3280
+ }
3281
+ } else {
3282
+ if (this.opts.initSelection === undefined) {
3283
+ throw new Error("val() cannot be called if initSelection() is not defined");
3284
+ }
3285
+
3286
+ this.opts.initSelection(this.opts.element, function(data){
3287
+ var ids=$.map(data, self.id);
3288
+ self.setVal(ids);
3289
+ self.updateSelection(data);
3290
+ self.clearSearch();
3291
+ if (triggerChange) {
3292
+ self.triggerChange(self.buildChangeDetails(oldData, self.data()));
3293
+ }
3294
+ });
3295
+ }
3296
+ this.clearSearch();
3297
+ },
3298
+
3299
+ // multi
3300
+ onSortStart: function() {
3301
+ if (this.select) {
3302
+ throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");
3303
+ }
3304
+
3305
+ // collapse search field into 0 width so its container can be collapsed as well
3306
+ this.search.width(0);
3307
+ // hide the container
3308
+ this.searchContainer.hide();
3309
+ },
3310
+
3311
+ // multi
3312
+ onSortEnd:function() {
3313
+
3314
+ var val=[], self=this;
3315
+
3316
+ // show search and move it to the end of the list
3317
+ this.searchContainer.show();
3318
+ // make sure the search container is the last item in the list
3319
+ this.searchContainer.appendTo(this.searchContainer.parent());
3320
+ // since we collapsed the width in dragStarted, we resize it here
3321
+ this.resizeSearch();
3322
+
3323
+ // update selection
3324
+ this.selection.find(".select2-search-choice").each(function() {
3325
+ val.push(self.opts.id($(this).data("select2-data")));
3326
+ });
3327
+ this.setVal(val);
3328
+ this.triggerChange();
3329
+ },
3330
+
3331
+ // multi
3332
+ data: function(values, triggerChange) {
3333
+ var self=this, ids, old;
3334
+ if (arguments.length === 0) {
3335
+ return this.selection
3336
+ .children(".select2-search-choice")
3337
+ .map(function() { return $(this).data("select2-data"); })
3338
+ .get();
3339
+ } else {
3340
+ old = this.data();
3341
+ if (!values) { values = []; }
3342
+ ids = $.map(values, function(e) { return self.opts.id(e); });
3343
+ this.setVal(ids);
3344
+ this.updateSelection(values);
3345
+ this.clearSearch();
3346
+ if (triggerChange) {
3347
+ this.triggerChange(this.buildChangeDetails(old, this.data()));
3348
+ }
3349
+ }
3350
+ }
3351
+ });
3352
+
3353
+ $.fn.select2 = function () {
3354
+
3355
+ var args = Array.prototype.slice.call(arguments, 0),
3356
+ opts,
3357
+ select2,
3358
+ method, value, multiple,
3359
+ allowedMethods = ["val", "destroy", "opened", "open", "close", "focus", "isFocused", "container", "dropdown", "onSortStart", "onSortEnd", "enable", "disable", "readonly", "positionDropdown", "data", "search"],
3360
+ valueMethods = ["opened", "isFocused", "container", "dropdown"],
3361
+ propertyMethods = ["val", "data"],
3362
+ methodsMap = { search: "externalSearch" };
3363
+
3364
+ this.each(function () {
3365
+ if (args.length === 0 || typeof(args[0]) === "object") {
3366
+ opts = args.length === 0 ? {} : $.extend({}, args[0]);
3367
+ opts.element = $(this);
3368
+
3369
+ if (opts.element.get(0).tagName.toLowerCase() === "select") {
3370
+ multiple = opts.element.prop("multiple");
3371
+ } else {
3372
+ multiple = opts.multiple || false;
3373
+ if ("tags" in opts) {opts.multiple = multiple = true;}
3374
+ }
3375
+
3376
+ select2 = multiple ? new window.Select2["class"].multi() : new window.Select2["class"].single();
3377
+ select2.init(opts);
3378
+ } else if (typeof(args[0]) === "string") {
3379
+
3380
+ if (indexOf(args[0], allowedMethods) < 0) {
3381
+ throw "Unknown method: " + args[0];
3382
+ }
3383
+
3384
+ value = undefined;
3385
+ select2 = $(this).data("select2");
3386
+ if (select2 === undefined) return;
3387
+
3388
+ method=args[0];
3389
+
3390
+ if (method === "container") {
3391
+ value = select2.container;
3392
+ } else if (method === "dropdown") {
3393
+ value = select2.dropdown;
3394
+ } else {
3395
+ if (methodsMap[method]) method = methodsMap[method];
3396
+
3397
+ value = select2[method].apply(select2, args.slice(1));
3398
+ }
3399
+ if (indexOf(args[0], valueMethods) >= 0
3400
+ || (indexOf(args[0], propertyMethods) >= 0 && args.length == 1)) {
3401
+ return false; // abort the iteration, ready to return first matched value
3402
+ }
3403
+ } else {
3404
+ throw "Invalid arguments to select2 plugin: " + args;
3405
+ }
3406
+ });
3407
+ return (value === undefined) ? this : value;
3408
+ };
3409
+
3410
+ // plugin defaults, accessible to users
3411
+ $.fn.select2.defaults = {
3412
+ width: "copy",
3413
+ loadMorePadding: 0,
3414
+ closeOnSelect: true,
3415
+ openOnEnter: true,
3416
+ containerCss: {},
3417
+ dropdownCss: {},
3418
+ containerCssClass: "",
3419
+ dropdownCssClass: "",
3420
+ formatResult: function(result, container, query, escapeMarkup) {
3421
+ var markup=[];
3422
+ markMatch(result.text, query.term, markup, escapeMarkup);
3423
+ return markup.join("");
3424
+ },
3425
+ formatSelection: function (data, container, escapeMarkup) {
3426
+ return data ? escapeMarkup(data.text) : undefined;
3427
+ },
3428
+ sortResults: function (results, container, query) {
3429
+ return results;
3430
+ },
3431
+ formatResultCssClass: function(data) {return data.css;},
3432
+ formatSelectionCssClass: function(data, container) {return undefined;},
3433
+ minimumResultsForSearch: 0,
3434
+ minimumInputLength: 0,
3435
+ maximumInputLength: null,
3436
+ maximumSelectionSize: 0,
3437
+ id: function (e) { return e == undefined ? null : e.id; },
3438
+ matcher: function(term, text) {
3439
+ return stripDiacritics(''+text).toUpperCase().indexOf(stripDiacritics(''+term).toUpperCase()) >= 0;
3440
+ },
3441
+ separator: ",",
3442
+ tokenSeparators: [],
3443
+ tokenizer: defaultTokenizer,
3444
+ escapeMarkup: defaultEscapeMarkup,
3445
+ blurOnChange: false,
3446
+ selectOnBlur: false,
3447
+ adaptContainerCssClass: function(c) { return c; },
3448
+ adaptDropdownCssClass: function(c) { return null; },
3449
+ nextSearchTerm: function(selectedObject, currentSearchTerm) { return undefined; },
3450
+ searchInputPlaceholder: '',
3451
+ createSearchChoicePosition: 'top',
3452
+ shouldFocusInput: function (instance) {
3453
+ // Attempt to detect touch devices
3454
+ var supportsTouchEvents = (('ontouchstart' in window) ||
3455
+ (navigator.msMaxTouchPoints > 0));
3456
+
3457
+ // Only devices which support touch events should be special cased
3458
+ if (!supportsTouchEvents) {
3459
+ return true;
3460
+ }
3461
+
3462
+ // Never focus the input if search is disabled
3463
+ if (instance.opts.minimumResultsForSearch < 0) {
3464
+ return false;
3465
+ }
3466
+
3467
+ return true;
3468
+ }
3469
+ };
3470
+
3471
+ $.fn.select2.locales = [];
3472
+
3473
+ $.fn.select2.locales['en'] = {
3474
+ formatMatches: function (matches) { if (matches === 1) { return "One result is available, press enter to select it."; } return matches + " results are available, use up and down arrow keys to navigate."; },
3475
+ formatNoMatches: function () { return "No matches found"; },
3476
+ formatAjaxError: function (jqXHR, textStatus, errorThrown) { return "Loading failed"; },
3477
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "Please enter " + n + " or more character" + (n == 1 ? "" : "s"); },
3478
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "Please delete " + n + " character" + (n == 1 ? "" : "s"); },
3479
+ formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); },
3480
+ formatLoadMore: function (pageNumber) { return "Loading more results…"; },
3481
+ formatSearching: function () { return "Searching…"; },
3482
+ };
3483
+
3484
+ $.extend($.fn.select2.defaults, $.fn.select2.locales['en']);
3485
+
3486
+ $.fn.select2.ajaxDefaults = {
3487
+ transport: $.ajax,
3488
+ params: {
3489
+ type: "GET",
3490
+ cache: false,
3491
+ dataType: "json"
3492
+ }
3493
+ };
3494
+
3495
+ // exports
3496
+ window.Select2 = {
3497
+ query: {
3498
+ ajax: ajax,
3499
+ local: local,
3500
+ tags: tags
3501
+ }, util: {
3502
+ debounce: debounce,
3503
+ markMatch: markMatch,
3504
+ escapeMarkup: defaultEscapeMarkup,
3505
+ stripDiacritics: stripDiacritics
3506
+ }, "class": {
3507
+ "abstract": AbstractSelect2,
3508
+ "single": SingleSelect2,
3509
+ "multi": MultiSelect2
3510
+ }
3511
+ };
3512
+
3513
+ }(jQuery));
inc/external/wpmu-lib/js/select2.min.js CHANGED
@@ -1,2 +1,5 @@
1
- !function(e){"undefined"==typeof e.fn.each2&&e.extend(e.fn,{each2:function(t){for(var s=e([0]),i=-1,n=this.length;++i<n&&(s.context=s[0]=this[i])&&t.call(s[0],i,s)!==!1;);return this}})}(jQuery),function(e,t){"use strict";function s(t){var s=e(document.createTextNode(""));t.before(s),s.before(t),s.remove()}function i(e){function t(e){return j[e]||e}return e.replace(/[^\u0000-\u007E]/g,t)}function n(e,t){for(var s=0,i=t.length;i>s;s+=1)if(a(e,t[s]))return s;return-1}function o(){var t=e(z);t.appendTo("body");var s={width:t.width()-t[0].clientWidth,height:t.height()-t[0].clientHeight};return t.remove(),s}function a(e,s){return e===s?!0:e===t||s===t?!1:null===e||null===s?!1:e.constructor===String?e+""==s+"":s.constructor===String?s+""==e+"":!1}function r(t,s){var i,n,o;if(null===t||t.length<1)return[];for(i=t.split(s),n=0,o=i.length;o>n;n+=1)i[n]=e.trim(i[n]);return i}function c(e){return e.outerWidth(!1)-e.width()}function l(s){var i="keyup-change-value";s.on("keydown",function(){e.data(s,i)===t&&e.data(s,i,s.val())}),s.on("keyup",function(){var n=e.data(s,i);n!==t&&s.val()!==n&&(e.removeData(s,i),s.trigger("keyup-change"))})}function h(s){s.on("mousemove",function(s){var i=F;(i===t||i.x!==s.pageX||i.y!==s.pageY)&&e(s.target).trigger("mousemove-filtered",s)})}function u(e,s,i){i=i||t;var n;return function(){var t=arguments;window.clearTimeout(n),n=window.setTimeout(function(){s.apply(i,t)},e)}}function d(e,t){var s=u(e,function(e){t.trigger("scroll-debounced",e)});t.on("scroll",function(e){n(e.target,t.get())>=0&&s(e)})}function p(e){e[0]!==document.activeElement&&window.setTimeout(function(){var t,s=e[0],i=e.val().length;e.focus();var n=s.offsetWidth>0||s.offsetHeight>0;n&&s===document.activeElement&&(s.setSelectionRange?s.setSelectionRange(i,i):s.createTextRange&&(t=s.createTextRange(),t.collapse(!1),t.select()))},0)}function f(t){t=e(t)[0];var s=0,i=0;if("selectionStart"in t)s=t.selectionStart,i=t.selectionEnd-s;else if("selection"in document){t.focus();var n=document.selection.createRange();i=document.selection.createRange().text.length,n.moveStart("character",-t.value.length),s=n.text.length-i}return{offset:s,length:i}}function g(e){e.preventDefault(),e.stopPropagation()}function m(e){e.preventDefault(),e.stopImmediatePropagation()}function v(t){if(!L){var s=t[0].currentStyle||window.getComputedStyle(t[0],null);L=e(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:s.fontSize,fontFamily:s.fontFamily,fontStyle:s.fontStyle,fontWeight:s.fontWeight,letterSpacing:s.letterSpacing,textTransform:s.textTransform,whiteSpace:"nowrap"}),L.attr("class","select2-sizer"),e("body").append(L)}return L.text(t.val()),L.width()}function w(t,s,i){var n,o,a=[];n=e.trim(t.attr("class")),n&&(n=""+n,e(n.split(/\s+/)).each2(function(){0===this.indexOf("select2-")&&a.push(this)})),n=e.trim(s.attr("class")),n&&(n=""+n,e(n.split(/\s+/)).each2(function(){0!==this.indexOf("select2-")&&(o=i(this),o&&a.push(o))})),t.attr("class",a.join(" "))}function b(e,t,s,n){var o=i(e.toUpperCase()).indexOf(i(t.toUpperCase())),a=t.length;return 0>o?(s.push(n(e)),void 0):(s.push(n(e.substring(0,o))),s.push("<span class='select2-match'>"),s.push(n(e.substring(o,o+a))),s.push("</span>"),s.push(n(e.substring(o+a,e.length))),void 0)}function C(e){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})}function S(s){var i,n=null,o=s.quietMillis||100,a=s.url,r=this;return function(c){window.clearTimeout(i),i=window.setTimeout(function(){var i=s.data,o=a,l=s.transport||e.fn.select2.ajaxDefaults.transport,h={type:s.type||"GET",cache:s.cache||!1,jsonpCallback:s.jsonpCallback||t,dataType:s.dataType||"json"},u=e.extend({},e.fn.select2.ajaxDefaults.params,h);i=i?i.call(r,c.term,c.page,c.context):null,o="function"==typeof o?o.call(r,c.term,c.page,c.context):o,n&&"function"==typeof n.abort&&n.abort(),s.params&&(e.isFunction(s.params)?e.extend(u,s.params.call(r)):e.extend(u,s.params)),e.extend(u,{url:o,dataType:s.dataType,data:i,success:function(e){var t=s.results(e,c.page,c);c.callback(t)},error:function(e,t,s){var i={hasError:!0,jqXHR:e,textStatus:t,errorThrown:s};c.callback(i)}}),n=l.call(r,u)},o)}}function y(t){var s,i,n=t,o=function(e){return""+e.text};e.isArray(n)&&(i=n,n={results:i}),e.isFunction(n)===!1&&(i=n,n=function(){return i});var a=n();return a.text&&(o=a.text,e.isFunction(o)||(s=a.text,o=function(e){return e[s]})),function(t){var s,i=t.term,a={results:[]};return""===i?(t.callback(n()),void 0):(s=function(n,a){var r,c;if(n=n[0],n.children){r={};for(c in n)n.hasOwnProperty(c)&&(r[c]=n[c]);r.children=[],e(n.children).each2(function(e,t){s(t,r.children)}),(r.children.length||t.matcher(i,o(r),n))&&a.push(r)}else t.matcher(i,o(n),n)&&a.push(n)},e(n().results).each2(function(e,t){s(t,a.results)}),t.callback(a),void 0)}}function E(s){var i=e.isFunction(s);return function(n){var o=n.term,a={results:[]},r=i?s(n):s;e.isArray(r)&&(e(r).each(function(){var e=this.text!==t,s=e?this.text:this;(""===o||n.matcher(o,s))&&a.results.push(e?this:{id:this,text:this})}),n.callback(a))}}function x(t,s){if(e.isFunction(t))return!0;if(!t)return!1;if("string"==typeof t)return!0;throw new Error(s+" must be a string, function, or falsy value")}function T(t,s){if(e.isFunction(t)){var i=Array.prototype.slice.call(arguments,2);return t.apply(s,i)}return t}function O(t){var s=0;return e.each(t,function(e,t){t.children?s+=O(t.children):s++}),s}function P(e,s,i,n){var o,r,c,l,h,u=e,d=!1;if(!n.createSearchChoice||!n.tokenSeparators||n.tokenSeparators.length<1)return t;for(;;){for(r=-1,c=0,l=n.tokenSeparators.length;l>c&&(h=n.tokenSeparators[c],r=e.indexOf(h),!(r>=0));c++);if(0>r)break;if(o=e.substring(0,r),e=e.substring(r+h.length),o.length>0&&(o=n.createSearchChoice.call(this,o,s),o!==t&&null!==o&&n.id(o)!==t&&null!==n.id(o))){for(d=!1,c=0,l=s.length;l>c;c++)if(a(n.id(o),n.id(s[c]))){d=!0;break}d||i(o)}}return u!==e?e:void 0}function I(){var t=this;e.each(arguments,function(e,s){t[s].remove(),t[s]=null})}function k(t,s){var i=function(){};return i.prototype=new t,i.prototype.constructor=i,i.prototype.parent=t.prototype,i.prototype=e.extend(i.prototype,s),i}if(window.Select2===t){var A,R,D,H,M,L,N,U,F={x:0,y:0},A={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(e){switch(e=e.which?e.which:e){case A.LEFT:case A.RIGHT:case A.UP:case A.DOWN:return!0}return!1},isControl:function(e){var t=e.which;switch(t){case A.SHIFT:case A.CTRL:case A.ALT:return!0}return e.metaKey?!0:!1},isFunctionKey:function(e){return e=e.which?e.which:e,e>=112&&123>=e}},z="<div class='select2-measure-scrollbar'></div>",j={"Ⓐ":"A",A:"A",À:"A",Á:"A",Â:"A",Ầ:"A",Ấ:"A",Ẫ:"A",Ẩ:"A",Ã:"A",Ā:"A",Ă:"A",Ằ:"A",Ắ:"A",Ẵ:"A",Ẳ:"A",Ȧ:"A",Ǡ:"A",Ä:"A",Ǟ:"A",Ả:"A",Å:"A",Ǻ:"A",Ǎ:"A",Ȁ:"A",Ȃ:"A",Ạ:"A",Ậ:"A",Ặ:"A",Ḁ:"A",Ą:"A",Ⱥ:"A",Ɐ:"A",Ꜳ:"AA",Æ:"AE",Ǽ:"AE",Ǣ:"AE",Ꜵ:"AO",Ꜷ:"AU",Ꜹ:"AV",Ꜻ:"AV",Ꜽ:"AY","Ⓑ":"B",B:"B",Ḃ:"B",Ḅ:"B",Ḇ:"B",Ƀ:"B",Ƃ:"B",Ɓ:"B","Ⓒ":"C",C:"C",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",Ç:"C",Ḉ:"C",Ƈ:"C",Ȼ:"C",Ꜿ:"C","Ⓓ":"D",D:"D",Ḋ:"D",Ď:"D",Ḍ:"D",Ḑ:"D",Ḓ:"D",Ḏ:"D",Đ:"D",Ƌ:"D",Ɗ:"D",Ɖ:"D",Ꝺ:"D",DZ:"DZ",DŽ:"DZ",Dz:"Dz",Dž:"Dz","Ⓔ":"E",E:"E",È:"E",É:"E",Ê:"E",Ề:"E",Ế:"E",Ễ:"E",Ể:"E",Ẽ:"E",Ē:"E",Ḕ:"E",Ḗ:"E",Ĕ:"E",Ė:"E",Ë:"E",Ẻ:"E",Ě:"E",Ȅ:"E",Ȇ:"E",Ẹ:"E",Ệ:"E",Ȩ:"E",Ḝ:"E",Ę:"E",Ḙ:"E",Ḛ:"E",Ɛ:"E",Ǝ:"E","Ⓕ":"F",F:"F",Ḟ:"F",Ƒ:"F",Ꝼ:"F","Ⓖ":"G",G:"G",Ǵ:"G",Ĝ:"G",Ḡ:"G",Ğ:"G",Ġ:"G",Ǧ:"G",Ģ:"G",Ǥ:"G",Ɠ:"G","Ꞡ":"G",Ᵹ:"G",Ꝿ:"G","Ⓗ":"H",H:"H",Ĥ:"H",Ḣ:"H",Ḧ:"H",Ȟ:"H",Ḥ:"H",Ḩ:"H",Ḫ:"H",Ħ:"H",Ⱨ:"H",Ⱶ:"H","Ɥ":"H","Ⓘ":"I",I:"I",Ì:"I",Í:"I",Î:"I",Ĩ:"I",Ī:"I",Ĭ:"I",İ:"I",Ï:"I",Ḯ:"I",Ỉ:"I",Ǐ:"I",Ȉ:"I",Ȋ:"I",Ị:"I",Į:"I",Ḭ:"I",Ɨ:"I","Ⓙ":"J",J:"J",Ĵ:"J",Ɉ:"J","Ⓚ":"K",K:"K",Ḱ:"K",Ǩ:"K",Ḳ:"K",Ķ:"K",Ḵ:"K",Ƙ:"K",Ⱪ:"K",Ꝁ:"K",Ꝃ:"K",Ꝅ:"K","Ꞣ":"K","Ⓛ":"L",L:"L",Ŀ:"L",Ĺ:"L",Ľ:"L",Ḷ:"L",Ḹ:"L",Ļ:"L",Ḽ:"L",Ḻ:"L",Ł:"L",Ƚ:"L",Ɫ:"L",Ⱡ:"L",Ꝉ:"L",Ꝇ:"L",Ꞁ:"L",LJ:"LJ",Lj:"Lj","Ⓜ":"M",M:"M",Ḿ:"M",Ṁ:"M",Ṃ:"M",Ɱ:"M",Ɯ:"M","Ⓝ":"N",N:"N",Ǹ:"N",Ń:"N",Ñ:"N",Ṅ:"N",Ň:"N",Ṇ:"N",Ņ:"N",Ṋ:"N",Ṉ:"N",Ƞ:"N",Ɲ:"N","Ꞑ":"N","Ꞥ":"N",NJ:"NJ",Nj:"Nj","Ⓞ":"O",O:"O",Ò:"O",Ó:"O",Ô:"O",Ồ:"O",Ố:"O",Ỗ:"O",Ổ:"O",Õ:"O",Ṍ:"O",Ȭ:"O",Ṏ:"O",Ō:"O",Ṑ:"O",Ṓ:"O",Ŏ:"O",Ȯ:"O",Ȱ:"O",Ö:"O",Ȫ:"O",Ỏ:"O",Ő:"O",Ǒ:"O",Ȍ:"O",Ȏ:"O",Ơ:"O",Ờ:"O",Ớ:"O",Ỡ:"O",Ở:"O",Ợ:"O",Ọ:"O",Ộ:"O",Ǫ:"O",Ǭ:"O",Ø:"O",Ǿ:"O",Ɔ:"O",Ɵ:"O",Ꝋ:"O",Ꝍ:"O",Ƣ:"OI",Ꝏ:"OO",Ȣ:"OU","Ⓟ":"P",P:"P",Ṕ:"P",Ṗ:"P",Ƥ:"P",Ᵽ:"P",Ꝑ:"P",Ꝓ:"P",Ꝕ:"P","Ⓠ":"Q",Q:"Q",Ꝗ:"Q",Ꝙ:"Q",Ɋ:"Q","Ⓡ":"R",R:"R",Ŕ:"R",Ṙ:"R",Ř:"R",Ȑ:"R",Ȓ:"R",Ṛ:"R",Ṝ:"R",Ŗ:"R",Ṟ:"R",Ɍ:"R",Ɽ:"R",Ꝛ:"R","Ꞧ":"R",Ꞃ:"R","Ⓢ":"S",S:"S",ẞ:"S",Ś:"S",Ṥ:"S",Ŝ:"S",Ṡ:"S",Š:"S",Ṧ:"S",Ṣ:"S",Ṩ:"S",Ș:"S",Ş:"S","Ȿ":"S","Ꞩ":"S",Ꞅ:"S","Ⓣ":"T",T:"T",Ṫ:"T",Ť:"T",Ṭ:"T",Ț:"T",Ţ:"T",Ṱ:"T",Ṯ:"T",Ŧ:"T",Ƭ:"T",Ʈ:"T",Ⱦ:"T",Ꞇ:"T",Ꜩ:"TZ","Ⓤ":"U",U:"U",Ù:"U",Ú:"U",Û:"U",Ũ:"U",Ṹ:"U",Ū:"U",Ṻ:"U",Ŭ:"U",Ü:"U",Ǜ:"U",Ǘ:"U",Ǖ:"U",Ǚ:"U",Ủ:"U",Ů:"U",Ű:"U",Ǔ:"U",Ȕ:"U",Ȗ:"U",Ư:"U",Ừ:"U",Ứ:"U",Ữ:"U",Ử:"U",Ự:"U",Ụ:"U",Ṳ:"U",Ų:"U",Ṷ:"U",Ṵ:"U",Ʉ:"U","Ⓥ":"V",V:"V",Ṽ:"V",Ṿ:"V",Ʋ:"V",Ꝟ:"V",Ʌ:"V",Ꝡ:"VY","Ⓦ":"W",W:"W",Ẁ:"W",Ẃ:"W",Ŵ:"W",Ẇ:"W",Ẅ:"W",Ẉ:"W",Ⱳ:"W","Ⓧ":"X",X:"X",Ẋ:"X",Ẍ:"X","Ⓨ":"Y",Y:"Y",Ỳ:"Y",Ý:"Y",Ŷ:"Y",Ỹ:"Y",Ȳ:"Y",Ẏ:"Y",Ÿ:"Y",Ỷ:"Y",Ỵ:"Y",Ƴ:"Y",Ɏ:"Y",Ỿ:"Y","Ⓩ":"Z",Z:"Z",Ź:"Z",Ẑ:"Z",Ż:"Z",Ž:"Z",Ẓ:"Z",Ẕ:"Z",Ƶ:"Z",Ȥ:"Z","Ɀ":"Z",Ⱬ:"Z",Ꝣ:"Z","ⓐ":"a",a:"a",ẚ:"a",à:"a",á:"a",â:"a",ầ:"a",ấ:"a",ẫ:"a",ẩ:"a",ã:"a",ā:"a",ă:"a",ằ:"a",ắ:"a",ẵ:"a",ẳ:"a",ȧ:"a",ǡ:"a",ä:"a",ǟ:"a",ả:"a",å:"a",ǻ:"a",ǎ:"a",ȁ:"a",ȃ:"a",ạ:"a",ậ:"a",ặ:"a",ḁ:"a",ą:"a",ⱥ:"a",ɐ:"a",ꜳ:"aa",æ:"ae",ǽ:"ae",ǣ:"ae",ꜵ:"ao",ꜷ:"au",ꜹ:"av",ꜻ:"av",ꜽ:"ay","ⓑ":"b",b:"b",ḃ:"b",ḅ:"b",ḇ:"b",ƀ:"b",ƃ:"b",ɓ:"b","ⓒ":"c",c:"c",ć:"c",ĉ:"c",ċ:"c",č:"c",ç:"c",ḉ:"c",ƈ:"c",ȼ:"c",ꜿ:"c",ↄ:"c","ⓓ":"d",d:"d",ḋ:"d",ď:"d",ḍ:"d",ḑ:"d",ḓ:"d",ḏ:"d",đ:"d",ƌ:"d",ɖ:"d",ɗ:"d",ꝺ:"d",dz:"dz",dž:"dz","ⓔ":"e",e:"e",è:"e",é:"e",ê:"e",ề:"e",ế:"e",ễ:"e",ể:"e",ẽ:"e",ē:"e",ḕ:"e",ḗ:"e",ĕ:"e",ė:"e",ë:"e",ẻ:"e",ě:"e",ȅ:"e",ȇ:"e",ẹ:"e",ệ:"e",ȩ:"e",ḝ:"e",ę:"e",ḙ:"e",ḛ:"e",ɇ:"e",ɛ:"e",ǝ:"e","ⓕ":"f",f:"f",ḟ:"f",ƒ:"f",ꝼ:"f","ⓖ":"g",g:"g",ǵ:"g",ĝ:"g",ḡ:"g",ğ:"g",ġ:"g",ǧ:"g",ģ:"g",ǥ:"g",ɠ:"g","ꞡ":"g",ᵹ:"g",ꝿ:"g","ⓗ":"h",h:"h",ĥ:"h",ḣ:"h",ḧ:"h",ȟ:"h",ḥ:"h",ḩ:"h",ḫ:"h",ẖ:"h",ħ:"h",ⱨ:"h",ⱶ:"h",ɥ:"h",ƕ:"hv","ⓘ":"i",i:"i",ì:"i",í:"i",î:"i",ĩ:"i",ī:"i",ĭ:"i",ï:"i",ḯ:"i",ỉ:"i",ǐ:"i",ȉ:"i",ȋ:"i",ị:"i",į:"i",ḭ:"i",ɨ:"i",ı:"i","ⓙ":"j",j:"j",ĵ:"j",ǰ:"j",ɉ:"j","ⓚ":"k",k:"k",ḱ:"k",ǩ:"k",ḳ:"k",ķ:"k",ḵ:"k",ƙ:"k",ⱪ:"k",ꝁ:"k",ꝃ:"k",ꝅ:"k","ꞣ":"k","ⓛ":"l",l:"l",ŀ:"l",ĺ:"l",ľ:"l",ḷ:"l",ḹ:"l",ļ:"l",ḽ:"l",ḻ:"l",ſ:"l",ł:"l",ƚ:"l",ɫ:"l",ⱡ:"l",ꝉ:"l",ꞁ:"l",ꝇ:"l",lj:"lj","ⓜ":"m",m:"m",ḿ:"m",ṁ:"m",ṃ:"m",ɱ:"m",ɯ:"m","ⓝ":"n",n:"n",ǹ:"n",ń:"n",ñ:"n",ṅ:"n",ň:"n",ṇ:"n",ņ:"n",ṋ:"n",ṉ:"n",ƞ:"n",ɲ:"n",ʼn:"n","ꞑ":"n","ꞥ":"n",nj:"nj","ⓞ":"o",o:"o",ò:"o",ó:"o",ô:"o",ồ:"o",ố:"o",ỗ:"o",ổ:"o",õ:"o",ṍ:"o",ȭ:"o",ṏ:"o",ō:"o",ṑ:"o",ṓ:"o",ŏ:"o",ȯ:"o",ȱ:"o",ö:"o",ȫ:"o",ỏ:"o",ő:"o",ǒ:"o",ȍ:"o",ȏ:"o",ơ:"o",ờ:"o",ớ:"o",ỡ:"o",ở:"o",ợ:"o",ọ:"o",ộ:"o",ǫ:"o",ǭ:"o",ø:"o",ǿ:"o",ɔ:"o",ꝋ:"o",ꝍ:"o",ɵ:"o",ƣ:"oi",ȣ:"ou",ꝏ:"oo","ⓟ":"p",p:"p",ṕ:"p",ṗ:"p",ƥ:"p",ᵽ:"p",ꝑ:"p",ꝓ:"p",ꝕ:"p","ⓠ":"q",q:"q",ɋ:"q",ꝗ:"q",ꝙ:"q","ⓡ":"r",r:"r",ŕ:"r",ṙ:"r",ř:"r",ȑ:"r",ȓ:"r",ṛ:"r",ṝ:"r",ŗ:"r",ṟ:"r",ɍ:"r",ɽ:"r",ꝛ:"r","ꞧ":"r",ꞃ:"r","ⓢ":"s",s:"s",ß:"s",ś:"s",ṥ:"s",ŝ:"s",ṡ:"s",š:"s",ṧ:"s",ṣ:"s",ṩ:"s",ș:"s",ş:"s",ȿ:"s","ꞩ":"s",ꞅ:"s",ẛ:"s","ⓣ":"t",t:"t",ṫ:"t",ẗ:"t",ť:"t",ṭ:"t",ț:"t",ţ:"t",ṱ:"t",ṯ:"t",ŧ:"t",ƭ:"t",ʈ:"t",ⱦ:"t",ꞇ:"t",ꜩ:"tz","ⓤ":"u",u:"u",ù:"u",ú:"u",û:"u",ũ:"u",ṹ:"u",ū:"u",ṻ:"u",ŭ:"u",ü:"u",ǜ:"u",ǘ:"u",ǖ:"u",ǚ:"u",ủ:"u",ů:"u",ű:"u",ǔ:"u",ȕ:"u",ȗ:"u",ư:"u",ừ:"u",ứ:"u",ữ:"u",ử:"u",ự:"u",ụ:"u",ṳ:"u",ų:"u",ṷ:"u",ṵ:"u",ʉ:"u","ⓥ":"v",v:"v",ṽ:"v",ṿ:"v",ʋ:"v",ꝟ:"v",ʌ:"v",ꝡ:"vy","ⓦ":"w",w:"w",ẁ:"w",ẃ:"w",ŵ:"w",ẇ:"w",ẅ:"w",ẘ:"w",ẉ:"w",ⱳ:"w","ⓧ":"x",x:"x",ẋ:"x",ẍ:"x","ⓨ":"y",y:"y",ỳ:"y",ý:"y",ŷ:"y",ỹ:"y",ȳ:"y",ẏ:"y",ÿ:"y",ỷ:"y",ẙ:"y",ỵ:"y",ƴ:"y",ɏ:"y",ỿ:"y","ⓩ":"z",z:"z",ź:"z",ẑ:"z",ż:"z",ž:"z",ẓ:"z",ẕ:"z",ƶ:"z",ȥ:"z",ɀ:"z",ⱬ:"z",ꝣ:"z",Ά:"Α",Έ:"Ε",Ή:"Η",Ί:"Ι",Ϊ:"Ι",Ό:"Ο",Ύ:"Υ",Ϋ:"Υ",Ώ:"Ω",ά:"α",έ:"ε",ή:"η",ί:"ι",ϊ:"ι",ΐ:"ι",ό:"ο",ύ:"υ",ϋ:"υ",ΰ:"υ",ω:"ω",ς:"σ"};N=e(document),M=function(){var e=1;return function(){return e++}}(),R=k(Object,{bind:function(e){var t=this;return function(){e.apply(t,arguments)}},init:function(s){var i,n,a=".select2-results";this.opts=s=this.prepareOpts(s),this.id=s.id,s.element.data("select2")!==t&&null!==s.element.data("select2")&&s.element.data("select2").destroy(),this.container=this.createContainer(),this.liveRegion=e("<span>",{role:"status","aria-live":"polite"}).addClass("select2-hidden-accessible").appendTo(document.body),this.containerId="s2id_"+(s.element.attr("id")||"autogen"+M()),this.containerEventName=this.containerId.replace(/([.])/g,"_").replace(/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.container.attr("title",s.element.attr("title")),this.body=e("body"),w(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.attr("style",s.element.attr("style")),this.container.css(T(s.containerCss,this.opts.element)),this.container.addClass(T(s.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",g),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),w(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(T(s.dropdownCssClass,this.opts.element)),this.dropdown.data("select2",this),this.dropdown.on("click",g),this.results=i=this.container.find(a),this.search=n=this.container.find("input.select2-input"),this.queryCount=0,this.resultsPage=0,this.context=null,this.initContainer(),this.container.on("click",g),h(this.results),this.dropdown.on("mousemove-filtered",a,this.bind(this.highlightUnderEvent)),this.dropdown.on("touchstart touchmove touchend",a,this.bind(function(e){this._touchEvent=!0,this.highlightUnderEvent(e)})),this.dropdown.on("touchmove",a,this.bind(this.touchMoved)),this.dropdown.on("touchstart touchend",a,this.bind(this.clearTouchMoved)),this.dropdown.on("click",this.bind(function(){this._touchEvent&&(this._touchEvent=!1,this.selectHighlighted())})),d(80,this.results),this.dropdown.on("scroll-debounced",a,this.bind(this.loadMoreIfNeeded)),e(this.container).on("change",".select2-input",function(e){e.stopPropagation()}),e(this.dropdown).on("change",".select2-input",function(e){e.stopPropagation()}),e.fn.mousewheel&&i.mousewheel(function(e,t,s,n){var o=i.scrollTop();n>0&&0>=o-n?(i.scrollTop(0),g(e)):0>n&&i.get(0).scrollHeight-i.scrollTop()+n<=i.height()&&(i.scrollTop(i.get(0).scrollHeight-i.height()),g(e))}),l(n),n.on("keyup-change input paste",this.bind(this.updateResults)),n.on("focus",function(){n.addClass("select2-focused")}),n.on("blur",function(){n.removeClass("select2-focused")}),this.dropdown.on("mouseup",a,this.bind(function(t){e(t.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(t),this.selectHighlighted(t))})),this.dropdown.on("click mouseup mousedown touchstart touchend focusin",function(e){e.stopPropagation()}),this.nextSearchTerm=t,e.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==s.maximumInputLength&&this.search.attr("maxlength",s.maximumInputLength);var r=s.element.prop("disabled");r===t&&(r=!1),this.enable(!r);var c=s.element.prop("readonly");c===t&&(c=!1),this.readonly(c),U=U||o(),this.autofocus=s.element.prop("autofocus"),s.element.prop("autofocus",!1),this.autofocus&&this.focus(),this.search.attr("placeholder",s.searchInputPlaceholder)},destroy:function(){var e=this.opts.element,s=e.data("select2"),i=this;this.close(),e.length&&e[0].detachEvent&&e.each(function(){this.detachEvent("onpropertychange",i._sync)}),this.propertyObserver&&(this.propertyObserver.disconnect(),this.propertyObserver=null),this._sync=null,s!==t&&(s.container.remove(),s.liveRegion.remove(),s.dropdown.remove(),e.removeClass("select2-offscreen").removeData("select2").off(".select2").prop("autofocus",this.autofocus||!1),this.elementTabIndex?e.attr({tabindex:this.elementTabIndex}):e.removeAttr("tabindex"),e.show()),I.call(this,"container","liveRegion","dropdown","results","search")},optionToData:function(e){return e.is("option")?{id:e.prop("value"),text:e.text(),element:e.get(),css:e.attr("class"),disabled:e.prop("disabled"),locked:a(e.attr("locked"),"locked")||a(e.data("locked"),!0)}:e.is("optgroup")?{text:e.attr("label"),children:[],element:e.get(),css:e.attr("class")}:void 0},prepareOpts:function(s){var i,n,o,c,l=this;if(i=s.element,"select"===i.get(0).tagName.toLowerCase()&&(this.select=n=s.element),n&&e.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in s)throw new Error("Option '"+this+"' is not allowed for Select2 when attached to a <select> element.")}),s=e.extend({},{populateResults:function(i,n,o){var a,r=this.opts.id,c=this.liveRegion;a=function(i,n,h){var u,d,p,f,g,m,v,w,b,C;i=s.sortResults(i,n,o);var S=[];for(u=0,d=i.length;d>u;u+=1)p=i[u],g=p.disabled===!0,f=!g&&r(p)!==t,m=p.children&&p.children.length>0,v=e("<li></li>"),v.addClass("select2-results-dept-"+h),v.addClass("select2-result"),v.addClass(f?"select2-result-selectable":"select2-result-unselectable"),g&&v.addClass("select2-disabled"),m&&v.addClass("select2-result-with-children"),v.addClass(l.opts.formatResultCssClass(p)),v.attr("role","presentation"),w=e(document.createElement("div")),w.addClass("select2-result-label"),w.attr("id","select2-result-label-"+M()),w.attr("role","option"),C=s.formatResult(p,w,o,l.opts.escapeMarkup),C!==t&&(w.html(C),v.append(w)),m&&(b=e("<ul></ul>"),b.addClass("select2-result-sub"),a(p.children,b,h+1),v.append(b)),v.data("select2-data",p),S.push(v[0]);n.append(S),c.text(s.formatMatches(i.length))},a(n,i,0)}},e.fn.select2.defaults,s),"function"!=typeof s.id&&(o=s.id,s.id=function(e){return e[o]}),e.isArray(s.element.data("select2Tags"))){if("tags"in s)throw"tags specified as both an attribute 'data-select2-tags' and in options of Select2 "+s.element.attr("id");s.tags=s.element.data("select2Tags")}if(n?(s.query=this.bind(function(e){var s,n,o,a={results:[],more:!1},r=e.term;o=function(t,s){var i;t.is("option")?e.matcher(r,t.text(),t)&&s.push(l.optionToData(t)):t.is("optgroup")&&(i=l.optionToData(t),t.children().each2(function(e,t){o(t,i.children)}),i.children.length>0&&s.push(i))},s=i.children(),this.getPlaceholder()!==t&&s.length>0&&(n=this.getPlaceholderOption(),n&&(s=s.not(n))),s.each2(function(e,t){o(t,a.results)}),e.callback(a)}),s.id=function(e){return e.id}):"query"in s||("ajax"in s?(c=s.element.data("ajax-url"),c&&c.length>0&&(s.ajax.url=c),s.query=S.call(s.element,s.ajax)):"data"in s?s.query=y(s.data):"tags"in s&&(s.query=E(s.tags),s.createSearchChoice===t&&(s.createSearchChoice=function(t){return{id:e.trim(t),text:e.trim(t)}}),s.initSelection===t&&(s.initSelection=function(t,i){var n=[];e(r(t.val(),s.separator)).each(function(){var t={id:this,text:this},i=s.tags;e.isFunction(i)&&(i=i()),e(i).each(function(){return a(this.id,t.id)?(t=this,!1):void 0}),n.push(t)}),i(n)}))),"function"!=typeof s.query)throw"query function not defined for Select2 "+s.element.attr("id");if("top"===s.createSearchChoicePosition)s.createSearchChoicePosition=function(e,t){e.unshift(t)};else if("bottom"===s.createSearchChoicePosition)s.createSearchChoicePosition=function(e,t){e.push(t)};else if("function"!=typeof s.createSearchChoicePosition)throw"invalid createSearchChoicePosition option must be 'top', 'bottom' or a custom function";return s},monitorSource:function(){var s,i=this.opts.element,n=this;i.on("change.select2",this.bind(function(){this.opts.element.data("select2-change-triggered")!==!0&&this.initSelection()})),this._sync=this.bind(function(){var e=i.prop("disabled");e===t&&(e=!1),this.enable(!e);var s=i.prop("readonly");s===t&&(s=!1),this.readonly(s),w(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.addClass(T(this.opts.containerCssClass,this.opts.element)),w(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(T(this.opts.dropdownCssClass,this.opts.element))}),i.length&&i[0].attachEvent&&i.each(function(){this.attachEvent("onpropertychange",n._sync)}),s=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,s!==t&&(this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),this.propertyObserver=new s(function(t){e.each(t,n._sync)}),this.propertyObserver.observe(i.get(0),{attributes:!0,subtree:!1}))},triggerSelect:function(t){var s=e.Event("select2-selecting",{val:this.id(t),object:t,choice:t});return this.opts.element.trigger(s),!s.isDefaultPrevented()},triggerChange:function(t){t=t||{},t=e.extend({},t,{type:"change",val:this.val()}),this.opts.element.data("select2-change-triggered",!0),this.opts.element.trigger(t),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 e=this._enabled&&!this._readonly,t=!e;return e===this.enabledInterface?!1:(this.container.toggleClass("select2-container-disabled",t),this.close(),this.enabledInterface=e,!0)},enable:function(e){e===t&&(e=!0),this._enabled!==e&&(this._enabled=e,this.opts.element.prop("disabled",!e),this.enableInterface())},disable:function(){this.enable(!1)},readonly:function(e){e===t&&(e=!1),this._readonly!==e&&(this._readonly=e,this.opts.element.prop("readonly",e),this.enableInterface())},opened:function(){return this.container?this.container.hasClass("select2-dropdown-open"):!1},positionDropdown:function(){var t,s,i,n,o,a=this.dropdown,r=this.container.offset(),c=this.container.outerHeight(!1),l=this.container.outerWidth(!1),h=a.outerHeight(!1),u=e(window),d=u.width(),p=u.height(),f=u.scrollLeft()+d,g=u.scrollTop()+p,m=r.top+c,v=r.left,w=g>=m+h,b=r.top-h>=u.scrollTop(),C=a.outerWidth(!1),S=f>=v+C,y=a.hasClass("select2-drop-above");y?(s=!0,!b&&w&&(i=!0,s=!1)):(s=!1,!w&&b&&(i=!0,s=!0)),i&&(a.hide(),r=this.container.offset(),c=this.container.outerHeight(!1),l=this.container.outerWidth(!1),h=a.outerHeight(!1),f=u.scrollLeft()+d,g=u.scrollTop()+p,m=r.top+c,v=r.left,C=a.outerWidth(!1),S=f>=v+C,a.show(),this.focusSearch()),this.opts.dropdownAutoWidth?(o=e(".select2-results",a)[0],a.addClass("select2-drop-auto-width"),a.css("width",""),C=a.outerWidth(!1)+(o.scrollHeight===o.clientHeight?0:U.width),C>l?l=C:C=l,h=a.outerHeight(!1),S=f>=v+C):this.container.removeClass("select2-drop-auto-width"),"static"!==this.body.css("position")&&(t=this.body.offset(),m-=t.top,v-=t.left),S||(v=r.left+this.container.outerWidth(!1)-C),n={left:v,width:l},s?(n.top=r.top-h,n.bottom="auto",this.container.addClass("select2-drop-above"),a.addClass("select2-drop-above")):(n.top=m,n.bottom="auto",this.container.removeClass("select2-drop-above"),a.removeClass("select2-drop-above")),n=e.extend(n,T(this.opts.dropdownCss,this.opts.element)),a.css(n)},shouldOpen:function(){var t;return this.opened()?!1:this._enabled===!1||this._readonly===!0?!1:(t=e.Event("select2-opening"),this.opts.element.trigger(t),!t.isDefaultPrevented())},clearDropdownAlignmentPreference:function(){this.container.removeClass("select2-drop-above"),this.dropdown.removeClass("select2-drop-above")},open:function(){return this.shouldOpen()?(this.opening(),N.on("mousemove.select2Event",function(e){F.x=e.pageX,F.y=e.pageY}),!0):!1},opening:function(){var t,i=this.containerEventName,n="scroll."+i,o="resize."+i,a="orientationchange."+i;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),t=e("#select2-drop-mask"),0==t.length&&(t=e(document.createElement("div")),t.attr("id","select2-drop-mask").attr("class","select2-drop-mask"),t.hide(),t.appendTo(this.body),t.on("mousedown touchstart click",function(i){s(t);var n,o=e("#select2-drop");o.length>0&&(n=o.data("select2"),n.opts.selectOnBlur&&n.selectHighlighted({noFocus:!0}),n.close(),i.preventDefault(),i.stopPropagation())})),this.dropdown.prev()[0]!==t[0]&&this.dropdown.before(t),e("#select2-drop").removeAttr("id"),this.dropdown.attr("id","select2-drop"),t.show(),this.positionDropdown(),this.dropdown.show(),this.positionDropdown(),this.dropdown.addClass("select2-drop-active");var r=this;this.container.parents().add(window).each(function(){e(this).on(o+" "+n+" "+a,function(){r.opened()&&r.positionDropdown()})})},close:function(){if(this.opened()){var t=this.containerEventName,s="scroll."+t,i="resize."+t,n="orientationchange."+t;this.container.parents().add(window).each(function(){e(this).off(s).off(i).off(n)}),this.clearDropdownAlignmentPreference(),e("#select2-drop-mask").hide(),this.dropdown.removeAttr("id"),this.dropdown.hide(),this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active"),this.results.empty(),N.off("mousemove.select2Event"),this.clearSearch(),this.search.removeClass("select2-active"),this.opts.element.trigger(e.Event("select2-close"))}},externalSearch:function(e){this.open(),this.search.val(e),this.updateResults(!1)},clearSearch:function(){},getMaximumSelectionSize:function(){return T(this.opts.maximumSelectionSize,this.opts.element)},ensureHighlightVisible:function(){var t,s,i,n,o,a,r,c,l=this.results;if(s=this.highlight(),!(0>s)){if(0==s)return l.scrollTop(0),void 0;t=this.findHighlightableChoices().find(".select2-result-label"),i=e(t[s]),c=(i.offset()||{}).top||0,n=c+i.outerHeight(!0),s===t.length-1&&(r=l.find("li.select2-more-results"),r.length>0&&(n=r.offset().top+r.outerHeight(!0))),o=l.offset().top+l.outerHeight(!0),n>o&&l.scrollTop(l.scrollTop()+(n-o)),a=c-l.offset().top,0>a&&"none"!=i.css("display")&&l.scrollTop(l.scrollTop()+a)}},findHighlightableChoices:function(){return this.results.find(".select2-result-selectable:not(.select2-disabled):not(.select2-selected)")},moveHighlight:function(t){for(var s=this.findHighlightableChoices(),i=this.highlight();i>-1&&i<s.length;){i+=t;var n=e(s[i]);if(n.hasClass("select2-result-selectable")&&!n.hasClass("select2-disabled")&&!n.hasClass("select2-selected")){this.highlight(i);break}}},highlight:function(t){var s,i,o=this.findHighlightableChoices();return 0===arguments.length?n(o.filter(".select2-highlighted")[0],o.get()):(t>=o.length&&(t=o.length-1),0>t&&(t=0),this.removeHighlight(),s=e(o[t]),s.addClass("select2-highlighted"),this.search.attr("aria-activedescendant",s.find(".select2-result-label").attr("id")),this.ensureHighlightVisible(),this.liveRegion.text(s.text()),i=s.data("select2-data"),i&&this.opts.element.trigger({type:"select2-highlight",val:this.id(i),choice:i}),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(t){var s=e(t.target).closest(".select2-result-selectable");if(s.length>0&&!s.is(".select2-highlighted")){var i=this.findHighlightableChoices();this.highlight(i.index(s))}else 0==s.length&&this.removeHighlight()},loadMoreIfNeeded:function(){var e,t=this.results,s=t.find("li.select2-more-results"),i=this.resultsPage+1,n=this,o=this.search.val(),a=this.context;0!==s.length&&(e=s.offset().top-t.offset().top-t.height(),e<=this.opts.loadMorePadding&&(s.addClass("select2-active"),this.opts.query({element:this.opts.element,term:o,page:i,context:a,matcher:this.opts.matcher,callback:this.bind(function(e){n.opened()&&(n.opts.populateResults.call(this,t,e.results,{term:o,page:i,context:a}),n.postprocessResults(e,!1,!1),e.more===!0?(s.detach().appendTo(t).text(T(n.opts.formatLoadMore,n.opts.element,i+1)),window.setTimeout(function(){n.loadMoreIfNeeded()},10)):s.remove(),n.positionDropdown(),n.resultsPage=i,n.context=e.context,this.opts.element.trigger({type:"select2-loaded",items:e}))})})))},tokenize:function(){},updateResults:function(s){function i(){l.removeClass("select2-active"),d.positionDropdown(),h.find(".select2-no-results,.select2-selection-limit,.select2-searching").length?d.liveRegion.text(h.text()):d.liveRegion.text(d.opts.formatMatches(h.find(".select2-result-selectable").length))}function n(e){h.html(e),i()}var o,r,c,l=this.search,h=this.results,u=this.opts,d=this,p=l.val(),f=e.data(this.container,"select2-last-term");if((s===!0||!f||!a(p,f))&&(e.data(this.container,"select2-last-term",p),s===!0||this.showSearchInput!==!1&&this.opened())){c=++this.queryCount;var g=this.getMaximumSelectionSize();if(g>=1&&(o=this.data(),e.isArray(o)&&o.length>=g&&x(u.formatSelectionTooBig,"formatSelectionTooBig")))return n("<li class='select2-selection-limit'>"+T(u.formatSelectionTooBig,u.element,g)+"</li>"),void 0;if(l.val().length<u.minimumInputLength)return x(u.formatInputTooShort,"formatInputTooShort")?n("<li class='select2-no-results'>"+T(u.formatInputTooShort,u.element,l.val(),u.minimumInputLength)+"</li>"):n(""),s&&this.showSearch&&this.showSearch(!0),void 0;if(u.maximumInputLength&&l.val().length>u.maximumInputLength)return x(u.formatInputTooLong,"formatInputTooLong")?n("<li class='select2-no-results'>"+T(u.formatInputTooLong,u.element,l.val(),u.maximumInputLength)+"</li>"):n(""),void 0;u.formatSearching&&0===this.findHighlightableChoices().length&&n("<li class='select2-searching'>"+T(u.formatSearching,u.element)+"</li>"),l.addClass("select2-active"),this.removeHighlight(),r=this.tokenize(),r!=t&&null!=r&&l.val(r),this.resultsPage=1,u.query({element:u.element,term:l.val(),page:this.resultsPage,context:null,matcher:u.matcher,callback:this.bind(function(o){var r;if(c==this.queryCount){if(!this.opened())return this.search.removeClass("select2-active"),void 0;if(o.hasError!==t&&x(u.formatAjaxError,"formatAjaxError"))return n("<li class='select2-ajax-error'>"+T(u.formatAjaxError,u.element,o.jqXHR,o.textStatus,o.errorThrown)+"</li>"),void 0;if(this.context=o.context===t?null:o.context,this.opts.createSearchChoice&&""!==l.val()&&(r=this.opts.createSearchChoice.call(d,l.val(),o.results),r!==t&&null!==r&&d.id(r)!==t&&null!==d.id(r)&&0===e(o.results).filter(function(){return a(d.id(this),d.id(r))}).length&&this.opts.createSearchChoicePosition(o.results,r)),0===o.results.length&&x(u.formatNoMatches,"formatNoMatches"))return n("<li class='select2-no-results'>"+T(u.formatNoMatches,u.element,l.val())+"</li>"),void 0;h.empty(),d.opts.populateResults.call(this,h,o.results,{term:l.val(),page:this.resultsPage,context:null}),o.more===!0&&x(u.formatLoadMore,"formatLoadMore")&&(h.append("<li class='select2-more-results'>"+u.escapeMarkup(T(u.formatLoadMore,u.element,this.resultsPage))+"</li>"),window.setTimeout(function(){d.loadMoreIfNeeded()},10)),this.postprocessResults(o,s),i(),this.opts.element.trigger({type:"select2-loaded",items:o})}})})}},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(){p(this.search)},selectHighlighted:function(e){if(this._touchMoved)return this.clearTouchMoved(),void 0;var t=this.highlight(),s=this.results.find(".select2-highlighted"),i=s.closest(".select2-result").data("select2-data");i?(this.highlight(t),this.onSelect(i,e)):e&&e.noFocus&&this.close()},getPlaceholder:function(){var e;return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||this.opts.placeholder||((e=this.getPlaceholderOption())!==t?e.text():t)},getPlaceholderOption:function(){if(this.select){var s=this.select.children("option").first();
2
- if(this.opts.placeholderOption!==t)return"first"===this.opts.placeholderOption&&s||"function"==typeof this.opts.placeholderOption&&this.opts.placeholderOption(this.select);if(""===e.trim(s.text())&&""===s.val())return s}},initContainerWidth:function(){function s(){var s,i,n,o,a,r;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(s=this.opts.element.attr("style"),s!==t)for(i=s.split(";"),o=0,a=i.length;a>o;o+=1)if(r=i[o].replace(/\s/g,""),n=r.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),null!==n&&n.length>=1)return n[1];return"resolve"===this.opts.width?(s=this.opts.element.css("width"),s.indexOf("%")>0?s:0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px"):null}return e.isFunction(this.opts.width)?this.opts.width():this.opts.width}var i=s.call(this);null!==i&&this.container.css("width",i)}}),D=k(R,{createContainer:function(){var t=e(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 t},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var s,i,n;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(),s=this.search.get(0),s.createTextRange?(i=s.createTextRange(),i.collapse(!1),i.select()):s.setSelectionRange&&(n=this.search.val().length,s.setSelectionRange(n,n))),""===this.search.val()&&this.nextSearchTerm!=t&&(this.search.val(this.nextSearchTerm),this.search.select()),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(e.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(){e("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),I.call(this,"selection","focusser")},initContainer:function(){var t,i,n=this.container,o=this.dropdown,a=M();this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=t=n.find(".select2-choice"),this.focusser=n.find(".select2-focusser"),t.find(".select2-chosen").attr("id","select2-chosen-"+a),this.focusser.attr("aria-labelledby","select2-chosen-"+a),this.results.attr("id","select2-results-"+a),this.search.attr("aria-owns","select2-results-"+a),this.focusser.attr("id","s2id_autogen"+a),i=e("label[for='"+this.opts.element.attr("id")+"']"),this.focusser.prev().text(i.text()).attr("for",this.focusser.attr("id"));var r=this.opts.element.attr("title");this.opts.element.attr("title",r||i.text()),this.focusser.attr("tabindex",this.elementTabIndex),this.search.attr("id",this.focusser.attr("id")+"_search"),this.search.prev().text(e("label[for='"+this.focusser.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("keydown",this.bind(function(e){if(this.isInterfaceEnabled()&&229!=e.keyCode){if(e.which===A.PAGE_UP||e.which===A.PAGE_DOWN)return g(e),void 0;switch(e.which){case A.UP:case A.DOWN:return this.moveHighlight(e.which===A.UP?-1:1),g(e),void 0;case A.ENTER:return this.selectHighlighted(),g(e),void 0;case A.TAB:return this.selectHighlighted({noFocus:!0}),void 0;case A.ESC:return this.cancel(e),g(e),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(e){if(this.isInterfaceEnabled()&&e.which!==A.TAB&&!A.isControl(e)&&!A.isFunctionKey(e)&&e.which!==A.ESC){if(this.opts.openOnEnter===!1&&e.which===A.ENTER)return g(e),void 0;if(e.which==A.DOWN||e.which==A.UP||e.which==A.ENTER&&this.opts.openOnEnter){if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey)return;return this.open(),g(e),void 0}return e.which==A.DELETE||e.which==A.BACKSPACE?(this.opts.allowClear&&this.clear(),g(e),void 0):void 0}})),l(this.focusser),this.focusser.on("keyup-change input",this.bind(function(e){if(this.opts.minimumResultsForSearch>=0){if(e.stopPropagation(),this.opened())return;this.open()}})),t.on("mousedown touchstart","abbr",this.bind(function(e){this.isInterfaceEnabled()&&(this.clear(),m(e),this.close(),this.selection.focus())})),t.on("mousedown touchstart",this.bind(function(i){s(t),this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),g(i)})),o.on("mousedown touchstart",this.bind(function(){this.opts.shouldFocusInput(this)&&this.search.focus()})),t.on("focus",this.bind(function(e){g(e)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.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(e.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.setPlaceholder()},clear:function(t){var s=this.selection.data("select2-data");if(s){var i=e.Event("select2-clearing");if(this.opts.element.trigger(i),i.isDefaultPrevented())return;var n=this.getPlaceholderOption();this.opts.element.val(n?n.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),t!==!1&&(this.opts.element.trigger({type:"select2-removed",val:this.id(s),choice:s}),this.triggerChange({removed:s}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var e=this;this.opts.initSelection.call(null,this.opts.element,function(s){s!==t&&null!==s&&(e.updateSelection(s),e.close(),e.setPlaceholder(),e.nextSearchTerm=e.opts.nextSearchTerm(s,e.search.val()))})}},isPlaceholderOptionSelected:function(){var e;return this.getPlaceholder()===t?!1:(e=this.getPlaceholderOption())!==t&&e.prop("selected")||""===this.opts.element.val()||this.opts.element.val()===t||null===this.opts.element.val()},prepareOpts:function(){var t=this.parent.prepareOpts.apply(this,arguments),s=this;return"select"===t.element.get(0).tagName.toLowerCase()?t.initSelection=function(e,t){var i=e.find("option").filter(function(){return this.selected&&!this.disabled});t(s.optionToData(i))}:"data"in t&&(t.initSelection=t.initSelection||function(s,i){var n=s.val(),o=null;t.query({matcher:function(e,s,i){var r=a(n,t.id(i));return r&&(o=i),r},callback:e.isFunction(i)?function(){i(o)}:e.noop})}),t},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===t?t:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var e=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&e!==t){if(this.select&&this.getPlaceholderOption()===t)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(e)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(e,t,s){var i=0,n=this;if(this.findHighlightableChoices().each2(function(e,t){return a(n.id(t.data("select2-data")),n.opts.element.val())?(i=e,!1):void 0}),s!==!1&&(t===!0&&i>=0?this.highlight(i):this.highlight(0)),t===!0){var o=this.opts.minimumResultsForSearch;o>=0&&this.showSearch(O(e.results)>=o)}},showSearch:function(t){this.showSearchInput!==t&&(this.showSearchInput=t,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!t),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!t),e(this.dropdown,this.container).toggleClass("select2-with-searchbox",t))},onSelect:function(e,t){if(this.triggerSelect(e)){var s=this.opts.element.val(),i=this.data();this.opts.element.val(this.id(e)),this.updateSelection(e),this.opts.element.trigger({type:"select2-selected",val:this.id(e),choice:e}),this.nextSearchTerm=this.opts.nextSearchTerm(e,this.search.val()),this.close(),t&&t.noFocus||!this.opts.shouldFocusInput(this)||this.focusser.focus(),a(s,this.id(e))||this.triggerChange({added:e,removed:i})}},updateSelection:function(e){var s,i,n=this.selection.find(".select2-chosen");this.selection.data("select2-data",e),n.empty(),null!==e&&(s=this.opts.formatSelection(e,n,this.opts.escapeMarkup)),s!==t&&n.append(s),i=this.opts.formatSelectionCssClass(e,n),i!==t&&n.addClass(i),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==t&&this.container.addClass("select2-allowclear")},val:function(){var e,s=!1,i=null,n=this,o=this.data();if(0===arguments.length)return this.opts.element.val();if(e=arguments[0],arguments.length>1&&(s=arguments[1]),this.select)this.select.val(e).find("option").filter(function(){return this.selected}).each2(function(e,t){return i=n.optionToData(t),!1}),this.updateSelection(i),this.setPlaceholder(),s&&this.triggerChange({added:i,removed:o});else{if(!e&&0!==e)return this.clear(s),void 0;if(this.opts.initSelection===t)throw new Error("cannot call val() if initSelection() is not defined");this.opts.element.val(e),this.opts.initSelection(this.opts.element,function(e){n.opts.element.val(e?n.id(e):""),n.updateSelection(e),n.setPlaceholder(),s&&n.triggerChange({added:e,removed:o})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(e){var s,i=!1;return 0===arguments.length?(s=this.selection.data("select2-data"),s==t&&(s=null),s):(arguments.length>1&&(i=arguments[1]),e?(s=this.data(),this.opts.element.val(e?this.id(e):""),this.updateSelection(e),i&&this.triggerChange({added:e,removed:s})):this.clear(i),void 0)}}),H=k(R,{createContainer:function(){var t=e(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 t},prepareOpts:function(){var t=this.parent.prepareOpts.apply(this,arguments),s=this;return"select"===t.element.get(0).tagName.toLowerCase()?t.initSelection=function(e,t){var i=[];e.find("option").filter(function(){return this.selected&&!this.disabled}).each2(function(e,t){i.push(s.optionToData(t))}),t(i)}:"data"in t&&(t.initSelection=t.initSelection||function(s,i){var n=r(s.val(),t.separator),o=[];t.query({matcher:function(s,i,r){var c=e.grep(n,function(e){return a(e,t.id(r))}).length;return c&&o.push(r),c},callback:e.isFunction(i)?function(){for(var e=[],s=0;s<n.length;s++)for(var r=n[s],c=0;c<o.length;c++){var l=o[c];if(a(r,t.id(l))){e.push(l),o.splice(c,1);break}}i(e)}:e.noop})}),t},selectChoice:function(e){var t=this.container.find(".select2-search-choice-focus");t.length&&e&&e[0]==t[0]||(t.length&&this.opts.element.trigger("choice-deselected",t),t.removeClass("select2-search-choice-focus"),e&&e.length&&(this.close(),e.addClass("select2-search-choice-focus"),this.opts.element.trigger("choice-selected",e)))},destroy:function(){e("label[for='"+this.search.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),I.call(this,"searchContainer","selection")},initContainer:function(){var t,s=".select2-choices";this.searchContainer=this.container.find(".select2-search-field"),this.selection=t=this.container.find(s);var i=this;this.selection.on("click",".select2-search-choice:not(.select2-locked)",function(){i.search[0].focus(),i.selectChoice(e(this))}),this.search.attr("id","s2id_autogen"+M()),this.search.prev().text(e("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(e){if(this.isInterfaceEnabled()){++this.keydowns;var s=t.find(".select2-search-choice-focus"),i=s.prev(".select2-search-choice:not(.select2-locked)"),n=s.next(".select2-search-choice:not(.select2-locked)"),o=f(this.search);if(s.length&&(e.which==A.LEFT||e.which==A.RIGHT||e.which==A.BACKSPACE||e.which==A.DELETE||e.which==A.ENTER)){var a=s;return e.which==A.LEFT&&i.length?a=i:e.which==A.RIGHT?a=n.length?n:null:e.which===A.BACKSPACE?this.unselect(s.first())&&(this.search.width(10),a=i.length?i:n):e.which==A.DELETE?this.unselect(s.first())&&(this.search.width(10),a=n.length?n:null):e.which==A.ENTER&&(a=null),this.selectChoice(a),g(e),a&&a.length||this.open(),void 0}if((e.which===A.BACKSPACE&&1==this.keydowns||e.which==A.LEFT)&&0==o.offset&&!o.length)return this.selectChoice(t.find(".select2-search-choice:not(.select2-locked)").last()),g(e),void 0;if(this.selectChoice(null),this.opened())switch(e.which){case A.UP:case A.DOWN:return this.moveHighlight(e.which===A.UP?-1:1),g(e),void 0;case A.ENTER:return this.selectHighlighted(),g(e),void 0;case A.TAB:return this.selectHighlighted({noFocus:!0}),this.close(),void 0;case A.ESC:return this.cancel(e),g(e),void 0}if(e.which!==A.TAB&&!A.isControl(e)&&!A.isFunctionKey(e)&&e.which!==A.BACKSPACE&&e.which!==A.ESC){if(e.which===A.ENTER){if(this.opts.openOnEnter===!1)return;if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey)return}this.open(),(e.which===A.PAGE_UP||e.which===A.PAGE_DOWN)&&g(e),e.which===A.ENTER&&g(e)}}})),this.search.on("keyup",this.bind(function(){this.keydowns=0,this.resizeSearch()})),this.search.on("blur",this.bind(function(t){this.container.removeClass("select2-container-active"),this.search.removeClass("select2-focused"),this.selectChoice(null),this.opened()||this.clearSearch(),t.stopImmediatePropagation(),this.opts.element.trigger(e.Event("select2-blur"))})),this.container.on("click",s,this.bind(function(t){this.isInterfaceEnabled()&&(e(t.target).closest(".select2-search-choice").length>0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.open(),this.focusSearch(),t.preventDefault()))})),this.container.on("focus",s,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.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 e=this;this.opts.initSelection.call(null,this.opts.element,function(s){s!==t&&null!==s&&(e.updateSelection(s),e.close(),e.clearSearch())})}},clearSearch:function(){var e=this.getPlaceholder(),s=this.getMaxSearchWidth();e!==t&&0===this.getVal().length&&this.search.hasClass("select2-focused")===!1?(this.search.val(e).addClass("select2-default"),this.search.width(s>0?s: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!=t&&(this.search.val(this.nextSearchTerm),this.search.select()),this.updateResults(!0),this.opts.shouldFocusInput(this)&&this.search.focus(),this.opts.element.trigger(e.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(t){var s=[],i=[],o=this;e(t).each(function(){n(o.id(this),s)<0&&(s.push(o.id(this)),i.push(this))}),t=i,this.selection.find(".select2-search-choice").remove(),e(t).each(function(){o.addSelectedChoice(this)}),o.postprocessResults()},tokenize:function(){var e=this.search.val();e=this.opts.tokenizer.call(this,e,this.data(),this.bind(this.onSelect),this.opts),null!=e&&e!=t&&(this.search.val(e),e.length>0&&this.open())},onSelect:function(e,s){this.triggerSelect(e)&&""!==e.text&&(this.addSelectedChoice(e),this.opts.element.trigger({type:"selected",val:this.id(e),choice:e}),this.nextSearchTerm=this.opts.nextSearchTerm(e,this.search.val()),this.clearSearch(),this.updateResults(),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(e,!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!=t&&(this.search.val(this.nextSearchTerm),this.updateResults(),this.search.select()),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:e}),s&&s.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(s){var i,n,o=!s.locked,a=e("<li class='select2-search-choice'> <div></div> <a href='#' class='select2-search-choice-close' tabindex='-1'></a></li>"),r=e("<li class='select2-search-choice select2-locked'><div></div></li>"),c=o?a:r,l=this.id(s),h=this.getVal();i=this.opts.formatSelection(s,c.find("div"),this.opts.escapeMarkup),i!=t&&c.find("div").replaceWith("<div>"+i+"</div>"),n=this.opts.formatSelectionCssClass(s,c.find("div")),n!=t&&c.addClass(n),o&&c.find(".select2-search-choice-close").on("mousedown",g).on("click dblclick",this.bind(function(t){this.isInterfaceEnabled()&&(this.unselect(e(t.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),g(t),this.close(),this.focusSearch())})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),c.data("select2-data",s),c.insertBefore(this.searchContainer),h.push(l),this.setVal(h)},unselect:function(t){var s,i,o=this.getVal();if(t=t.closest(".select2-search-choice"),0===t.length)throw"Invalid argument: "+t+". Must be .select2-search-choice";if(s=t.data("select2-data")){var a=e.Event("select2-removing");if(a.val=this.id(s),a.choice=s,this.opts.element.trigger(a),a.isDefaultPrevented())return!1;for(;(i=n(this.id(s),o))>=0;)o.splice(i,1),this.setVal(o),this.select&&this.postprocessResults();return t.remove(),this.opts.element.trigger({type:"select2-removed",val:this.id(s),choice:s}),this.triggerChange({removed:s}),!0}},postprocessResults:function(e,t,s){var i=this.getVal(),o=this.results.find(".select2-result"),a=this.results.find(".select2-result-with-children"),r=this;o.each2(function(e,t){var s=r.id(t.data("select2-data"));n(s,i)>=0&&(t.addClass("select2-selected"),t.find(".select2-result-selectable").addClass("select2-selected"))}),a.each2(function(e,t){t.is(".select2-result-selectable")||0!==t.find(".select2-result-selectable:not(.select2-selected)").length||t.addClass("select2-selected")}),-1==this.highlight()&&s!==!1&&r.highlight(0),!this.opts.createSearchChoice&&!o.filter(".select2-result:not(.select2-selected)").length>0&&(!e||e&&!e.more&&0===this.results.find(".select2-no-results").length)&&x(r.opts.formatNoMatches,"formatNoMatches")&&this.results.append("<li class='select2-no-results'>"+T(r.opts.formatNoMatches,r.opts.element,r.search.val())+"</li>")},getMaxSearchWidth:function(){return this.selection.width()-c(this.search)},resizeSearch:function(){var e,t,s,i,n,o=c(this.search);e=v(this.search)+10,t=this.search.offset().left,s=this.selection.width(),i=this.selection.offset().left,n=s-(t-i)-o,e>n&&(n=s-o),40>n&&(n=s-o),0>=n&&(n=e),this.search.width(Math.floor(n))},getVal:function(){var e;return this.select?(e=this.select.val(),null===e?[]:e):(e=this.opts.element.val(),r(e,this.opts.separator))},setVal:function(t){var s;this.select?this.select.val(t):(s=[],e(t).each(function(){n(this,s)<0&&s.push(this)}),this.opts.element.val(0===s.length?"":s.join(this.opts.separator)))},buildChangeDetails:function(e,t){for(var t=t.slice(0),e=e.slice(0),s=0;s<t.length;s++)for(var i=0;i<e.length;i++)a(this.opts.id(t[s]),this.opts.id(e[i]))&&(t.splice(s,1),s>0&&s--,e.splice(i,1),i--);return{added:t,removed:e}},val:function(s,i){var n,o=this;if(0===arguments.length)return this.getVal();if(n=this.data(),n.length||(n=[]),!s&&0!==s)return this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),i&&this.triggerChange({added:this.data(),removed:n}),void 0;if(this.setVal(s),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),i&&this.triggerChange(this.buildChangeDetails(n,this.data()));else{if(this.opts.initSelection===t)throw new Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(t){var s=e.map(t,o.id);o.setVal(s),o.updateSelection(t),o.clearSearch(),i&&o.triggerChange(o.buildChangeDetails(n,o.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 t=[],s=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){t.push(s.opts.id(e(this).data("select2-data")))}),this.setVal(t),this.triggerChange()},data:function(t,s){var i,n,o=this;return 0===arguments.length?this.selection.children(".select2-search-choice").map(function(){return e(this).data("select2-data")}).get():(n=this.data(),t||(t=[]),i=e.map(t,function(e){return o.opts.id(e)}),this.setVal(i),this.updateSelection(t),this.clearSearch(),s&&this.triggerChange(this.buildChangeDetails(n,this.data())),void 0)}}),e.fn.select2=function(){var s,i,o,a,r,c=Array.prototype.slice.call(arguments,0),l=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],h=["opened","isFocused","container","dropdown"],u=["val","data"],d={search:"externalSearch"};return this.each(function(){if(0===c.length||"object"==typeof c[0])s=0===c.length?{}:e.extend({},c[0]),s.element=e(this),"select"===s.element.get(0).tagName.toLowerCase()?r=s.element.prop("multiple"):(r=s.multiple||!1,"tags"in s&&(s.multiple=r=!0)),i=r?new window.Select2["class"].multi:new window.Select2["class"].single,i.init(s);else{if("string"!=typeof c[0])throw"Invalid arguments to select2 plugin: "+c;if(n(c[0],l)<0)throw"Unknown method: "+c[0];if(a=t,i=e(this).data("select2"),i===t)return;if(o=c[0],"container"===o?a=i.container:"dropdown"===o?a=i.dropdown:(d[o]&&(o=d[o]),a=i[o].apply(i,c.slice(1))),n(c[0],h)>=0||n(c[0],u)>=0&&1==c.length)return!1}}),a===t?this:a},e.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(e,t,s,i){var n=[];return b(e.text,s.term,n,i),n.join("")},formatSelection:function(e,s,i){return e?i(e.text):t},sortResults:function(e){return e},formatResultCssClass:function(e){return e.css},formatSelectionCssClass:function(){return t},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(e){return e==t?null:e.id},matcher:function(e,t){return i(""+t).toUpperCase().indexOf(i(""+e).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:P,escapeMarkup:C,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(e){return e},adaptDropdownCssClass:function(){return null},nextSearchTerm:function(){return t},searchInputPlaceholder:"",createSearchChoicePosition:"top",shouldFocusInput:function(e){var t="ontouchstart"in window||navigator.msMaxTouchPoints>0;return t?e.opts.minimumResultsForSearch<0?!1:!0:!0}},e.fn.select2.locales=[],e.fn.select2.locales.en={formatMatches:function(e){return 1===e?"One result is available, press enter to select it.":e+" results are available, use up and down arrow keys to navigate."},formatNoMatches:function(){return"No matches found"},formatAjaxError:function(){return"Loading failed"},formatInputTooShort:function(e,t){var s=t-e.length;return"Please enter "+s+" or more character"+(1==s?"":"s")},formatInputTooLong:function(e,t){var s=e.length-t;return"Please delete "+s+" character"+(1==s?"":"s")},formatSelectionTooBig:function(e){return"You can only select "+e+" item"+(1==e?"":"s")},formatLoadMore:function(){return"Loading more results…"},formatSearching:function(){return"Searching…"}},e.extend(e.fn.select2.defaults,e.fn.select2.locales.en),e.fn.select2.ajaxDefaults={transport:e.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:S,local:y,tags:E},util:{debounce:u,markMatch:b,escapeMarkup:C,stripDiacritics:i},"class":{"abstract":R,single:D,multi:H}}}}(jQuery);
 
 
 
1
+ /*! WPMU Dev code library - v1.0.15
2
+ * http://premium.wpmudev.org/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+ (function(e){e.fn.each2===void 0&&e.extend(e.fn,{each2:function(t){for(var s=e([0]),i=-1,n=this.length;n>++i&&(s.context=s[0]=this[i])&&t.call(s[0],i,s)!==!1;);return this}})})(jQuery),function(e,t){"use strict";function s(t){var s=e(document.createTextNode(""));t.before(s),s.before(t),s.remove()}function i(e){function t(e){return j[e]||e}return e.replace(/[^\u0000-\u007E]/g,t)}function n(e,t){for(var s=0,i=t.length;i>s;s+=1)if(a(e,t[s]))return s;return-1}function o(){var t=e(z);t.appendTo("body");var s={width:t.width()-t[0].clientWidth,height:t.height()-t[0].clientHeight};return t.remove(),s}function a(e,s){return e===s?!0:e===t||s===t?!1:null===e||null===s?!1:e.constructor===String?e+""==s+"":s.constructor===String?s+""==e+"":!1}function r(t,s){var i,n,o;if(null===t||1>t.length)return[];for(i=t.split(s),n=0,o=i.length;o>n;n+=1)i[n]=e.trim(i[n]);return i}function c(e){return e.outerWidth(!1)-e.width()}function l(s){var i="keyup-change-value";s.on("keydown",function(){e.data(s,i)===t&&e.data(s,i,s.val())}),s.on("keyup",function(){var n=e.data(s,i);n!==t&&s.val()!==n&&(e.removeData(s,i),s.trigger("keyup-change"))})}function h(s){s.on("mousemove",function(s){var i=F;(i===t||i.x!==s.pageX||i.y!==s.pageY)&&e(s.target).trigger("mousemove-filtered",s)})}function u(e,s,i){i=i||t;var n;return function(){var t=arguments;window.clearTimeout(n),n=window.setTimeout(function(){s.apply(i,t)},e)}}function d(e,t){var s=u(e,function(e){t.trigger("scroll-debounced",e)});t.on("scroll",function(e){n(e.target,t.get())>=0&&s(e)})}function p(e){e[0]!==document.activeElement&&window.setTimeout(function(){var t,s=e[0],i=e.val().length;e.focus();var n=s.offsetWidth>0||s.offsetHeight>0;n&&s===document.activeElement&&(s.setSelectionRange?s.setSelectionRange(i,i):s.createTextRange&&(t=s.createTextRange(),t.collapse(!1),t.select()))},0)}function f(t){t=e(t)[0];var s=0,i=0;if("selectionStart"in t)s=t.selectionStart,i=t.selectionEnd-s;else if("selection"in document){t.focus();var n=document.selection.createRange();i=document.selection.createRange().text.length,n.moveStart("character",-t.value.length),s=n.text.length-i}return{offset:s,length:i}}function g(e){e.preventDefault(),e.stopPropagation()}function m(e){e.preventDefault(),e.stopImmediatePropagation()}function v(t){if(!L){var s=t[0].currentStyle||window.getComputedStyle(t[0],null);L=e(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:s.fontSize,fontFamily:s.fontFamily,fontStyle:s.fontStyle,fontWeight:s.fontWeight,letterSpacing:s.letterSpacing,textTransform:s.textTransform,whiteSpace:"nowrap"}),L.attr("class","select2-sizer"),e("body").append(L)}return L.text(t.val()),L.width()}function b(t,s,i){var n,o,a=[];n=e.trim(t.attr("class")),n&&(n=""+n,e(n.split(/\s+/)).each2(function(){0===this.indexOf("select2-")&&a.push(this)})),n=e.trim(s.attr("class")),n&&(n=""+n,e(n.split(/\s+/)).each2(function(){0!==this.indexOf("select2-")&&(o=i(this),o&&a.push(o))})),t.attr("class",a.join(" "))}function w(e,s,n,o){var a=i(e.toUpperCase()).indexOf(i(s.toUpperCase())),r=s.length;return 0>a?(n.push(o(e)),t):(n.push(o(e.substring(0,a))),n.push("<span class='select2-match'>"),n.push(o(e.substring(a,a+r))),n.push("</span>"),n.push(o(e.substring(a+r,e.length))),t)}function C(e){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return(e+"").replace(/[&<>"'\/\\]/g,function(e){return t[e]})}function S(s){var i,n=null,o=s.quietMillis||100,a=s.url,r=this;return function(c){window.clearTimeout(i),i=window.setTimeout(function(){var i=s.data,o=a,l=s.transport||e.fn.select2.ajaxDefaults.transport,h={type:s.type||"GET",cache:s.cache||!1,jsonpCallback:s.jsonpCallback||t,dataType:s.dataType||"json"},u=e.extend({},e.fn.select2.ajaxDefaults.params,h);i=i?i.call(r,c.term,c.page,c.context):null,o="function"==typeof o?o.call(r,c.term,c.page,c.context):o,n&&"function"==typeof n.abort&&n.abort(),s.params&&(e.isFunction(s.params)?e.extend(u,s.params.call(r)):e.extend(u,s.params)),e.extend(u,{url:o,dataType:s.dataType,data:i,success:function(e){var t=s.results(e,c.page,c);c.callback(t)},error:function(e,t,s){var i={hasError:!0,jqXHR:e,textStatus:t,errorThrown:s};c.callback(i)}}),n=l.call(r,u)},o)}}function y(s){var i,n,o=s,a=function(e){return""+e.text};e.isArray(o)&&(n=o,o={results:n}),e.isFunction(o)===!1&&(n=o,o=function(){return n});var r=o();return r.text&&(a=r.text,e.isFunction(a)||(i=r.text,a=function(e){return e[i]})),function(s){var i,n=s.term,r={results:[]};return""===n?(s.callback(o()),t):(i=function(t,o){var r,c;if(t=t[0],t.children){r={};for(c in t)t.hasOwnProperty(c)&&(r[c]=t[c]);r.children=[],e(t.children).each2(function(e,t){i(t,r.children)}),(r.children.length||s.matcher(n,a(r),t))&&o.push(r)}else s.matcher(n,a(t),t)&&o.push(t)},e(o().results).each2(function(e,t){i(t,r.results)}),s.callback(r),t)}}function E(s){var i=e.isFunction(s);return function(n){var o=n.term,a={results:[]},r=i?s(n):s;e.isArray(r)&&(e(r).each(function(){var e=this.text!==t,s=e?this.text:this;(""===o||n.matcher(o,s))&&a.results.push(e?this:{id:this,text:this})}),n.callback(a))}}function x(t,s){if(e.isFunction(t))return!0;if(!t)return!1;if("string"==typeof t)return!0;throw Error(s+" must be a string, function, or falsy value")}function T(t,s){if(e.isFunction(t)){var i=Array.prototype.slice.call(arguments,2);return t.apply(s,i)}return t}function O(t){var s=0;return e.each(t,function(e,t){t.children?s+=O(t.children):s++}),s}function P(e,s,i,n){var o,r,c,l,h,u=e,d=!1;if(!n.createSearchChoice||!n.tokenSeparators||1>n.tokenSeparators.length)return t;for(;;){for(r=-1,c=0,l=n.tokenSeparators.length;l>c&&(h=n.tokenSeparators[c],r=e.indexOf(h),!(r>=0));c++);if(0>r)break;if(o=e.substring(0,r),e=e.substring(r+h.length),o.length>0&&(o=n.createSearchChoice.call(this,o,s),o!==t&&null!==o&&n.id(o)!==t&&null!==n.id(o))){for(d=!1,c=0,l=s.length;l>c;c++)if(a(n.id(o),n.id(s[c]))){d=!0;break}d||i(o)}}return u!==e?e:t}function I(){var t=this;e.each(arguments,function(e,s){t[s].remove(),t[s]=null})}function k(t,s){var i=function(){};return i.prototype=new t,i.prototype.constructor=i,i.prototype.parent=t.prototype,i.prototype=e.extend(i.prototype,s),i}if(window.Select2===t){var A,R,D,H,M,L,N,U,F={x:0,y:0},A={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(e){switch(e=e.which?e.which:e){case A.LEFT:case A.RIGHT:case A.UP:case A.DOWN:return!0}return!1},isControl:function(e){var t=e.which;switch(t){case A.SHIFT:case A.CTRL:case A.ALT:return!0}return e.metaKey?!0:!1},isFunctionKey:function(e){return e=e.which?e.which:e,e>=112&&123>=e}},z="<div class='select2-measure-scrollbar'></div>",j={"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};N=e(document),M=function(){var e=1;return function(){return e++}}(),R=k(Object,{bind:function(e){var t=this;return function(){e.apply(t,arguments)}},init:function(s){var i,n,a=".select2-results";this.opts=s=this.prepareOpts(s),this.id=s.id,s.element.data("select2")!==t&&null!==s.element.data("select2")&&s.element.data("select2").destroy(),this.container=this.createContainer(),this.liveRegion=e("<span>",{role:"status","aria-live":"polite"}).addClass("select2-hidden-accessible").appendTo(document.body),this.containerId="s2id_"+(s.element.attr("id")||"autogen"+M()),this.containerEventName=this.containerId.replace(/([.])/g,"_").replace(/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.container.attr("title",s.element.attr("title")),this.body=e("body"),b(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.attr("style",s.element.attr("style")),this.container.css(T(s.containerCss,this.opts.element)),this.container.addClass(T(s.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",g),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),b(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(T(s.dropdownCssClass,this.opts.element)),this.dropdown.data("select2",this),this.dropdown.on("click",g),this.results=i=this.container.find(a),this.search=n=this.container.find("input.select2-input"),this.queryCount=0,this.resultsPage=0,this.context=null,this.initContainer(),this.container.on("click",g),h(this.results),this.dropdown.on("mousemove-filtered",a,this.bind(this.highlightUnderEvent)),this.dropdown.on("touchstart touchmove touchend",a,this.bind(function(e){this._touchEvent=!0,this.highlightUnderEvent(e)})),this.dropdown.on("touchmove",a,this.bind(this.touchMoved)),this.dropdown.on("touchstart touchend",a,this.bind(this.clearTouchMoved)),this.dropdown.on("click",this.bind(function(){this._touchEvent&&(this._touchEvent=!1,this.selectHighlighted())})),d(80,this.results),this.dropdown.on("scroll-debounced",a,this.bind(this.loadMoreIfNeeded)),e(this.container).on("change",".select2-input",function(e){e.stopPropagation()}),e(this.dropdown).on("change",".select2-input",function(e){e.stopPropagation()}),e.fn.mousewheel&&i.mousewheel(function(e,t,s,n){var o=i.scrollTop();n>0&&0>=o-n?(i.scrollTop(0),g(e)):0>n&&i.get(0).scrollHeight-i.scrollTop()+n<=i.height()&&(i.scrollTop(i.get(0).scrollHeight-i.height()),g(e))}),l(n),n.on("keyup-change input paste",this.bind(this.updateResults)),n.on("focus",function(){n.addClass("select2-focused")}),n.on("blur",function(){n.removeClass("select2-focused")}),this.dropdown.on("mouseup",a,this.bind(function(t){e(t.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(t),this.selectHighlighted(t))})),this.dropdown.on("click mouseup mousedown touchstart touchend focusin",function(e){e.stopPropagation()}),this.nextSearchTerm=t,e.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==s.maximumInputLength&&this.search.attr("maxlength",s.maximumInputLength);var r=s.element.prop("disabled");r===t&&(r=!1),this.enable(!r);var c=s.element.prop("readonly");c===t&&(c=!1),this.readonly(c),U=U||o(),this.autofocus=s.element.prop("autofocus"),s.element.prop("autofocus",!1),this.autofocus&&this.focus(),this.search.attr("placeholder",s.searchInputPlaceholder)},destroy:function(){var e=this.opts.element,s=e.data("select2"),i=this;this.close(),e.length&&e[0].detachEvent&&e.each(function(){this.detachEvent("onpropertychange",i._sync)}),this.propertyObserver&&(this.propertyObserver.disconnect(),this.propertyObserver=null),this._sync=null,s!==t&&(s.container.remove(),s.liveRegion.remove(),s.dropdown.remove(),e.removeClass("select2-offscreen").removeData("select2").off(".select2").prop("autofocus",this.autofocus||!1),this.elementTabIndex?e.attr({tabindex:this.elementTabIndex}):e.removeAttr("tabindex"),e.show()),I.call(this,"container","liveRegion","dropdown","results","search")},optionToData:function(e){return e.is("option")?{id:e.prop("value"),text:e.text(),element:e.get(),css:e.attr("class"),disabled:e.prop("disabled"),locked:a(e.attr("locked"),"locked")||a(e.data("locked"),!0)}:e.is("optgroup")?{text:e.attr("label"),children:[],element:e.get(),css:e.attr("class")}:t},prepareOpts:function(s){var i,n,o,c,l=this;if(i=s.element,"select"===i.get(0).tagName.toLowerCase()&&(this.select=n=s.element),n&&e.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in s)throw Error("Option '"+this+"' is not allowed for Select2 when attached to a <select> element.")}),s=e.extend({},{populateResults:function(i,n,o){var a,r=this.opts.id,c=this.liveRegion;a=function(i,n,h){var u,d,p,f,g,m,v,b,w,C;i=s.sortResults(i,n,o);var S=[];for(u=0,d=i.length;d>u;u+=1)p=i[u],g=p.disabled===!0,f=!g&&r(p)!==t,m=p.children&&p.children.length>0,v=e("<li></li>"),v.addClass("select2-results-dept-"+h),v.addClass("select2-result"),v.addClass(f?"select2-result-selectable":"select2-result-unselectable"),g&&v.addClass("select2-disabled"),m&&v.addClass("select2-result-with-children"),v.addClass(l.opts.formatResultCssClass(p)),v.attr("role","presentation"),b=e(document.createElement("div")),b.addClass("select2-result-label"),b.attr("id","select2-result-label-"+M()),b.attr("role","option"),C=s.formatResult(p,b,o,l.opts.escapeMarkup),C!==t&&(b.html(C),v.append(b)),m&&(w=e("<ul></ul>"),w.addClass("select2-result-sub"),a(p.children,w,h+1),v.append(w)),v.data("select2-data",p),S.push(v[0]);n.append(S),c.text(s.formatMatches(i.length))},a(n,i,0)}},e.fn.select2.defaults,s),"function"!=typeof s.id&&(o=s.id,s.id=function(e){return e[o]}),e.isArray(s.element.data("select2Tags"))){if("tags"in s)throw"tags specified as both an attribute 'data-select2-tags' and in options of Select2 "+s.element.attr("id");s.tags=s.element.data("select2Tags")}if(n?(s.query=this.bind(function(e){var s,n,o,a={results:[],more:!1},r=e.term;o=function(t,s){var i;t.is("option")?e.matcher(r,t.text(),t)&&s.push(l.optionToData(t)):t.is("optgroup")&&(i=l.optionToData(t),t.children().each2(function(e,t){o(t,i.children)}),i.children.length>0&&s.push(i))},s=i.children(),this.getPlaceholder()!==t&&s.length>0&&(n=this.getPlaceholderOption(),n&&(s=s.not(n))),s.each2(function(e,t){o(t,a.results)}),e.callback(a)}),s.id=function(e){return e.id}):"query"in s||("ajax"in s?(c=s.element.data("ajax-url"),c&&c.length>0&&(s.ajax.url=c),s.query=S.call(s.element,s.ajax)):"data"in s?s.query=y(s.data):"tags"in s&&(s.query=E(s.tags),s.createSearchChoice===t&&(s.createSearchChoice=function(t){return{id:e.trim(t),text:e.trim(t)}}),s.initSelection===t&&(s.initSelection=function(i,n){var o=[];e(r(i.val(),s.separator)).each(function(){var i={id:this,text:this},n=s.tags;e.isFunction(n)&&(n=n()),e(n).each(function(){return a(this.id,i.id)?(i=this,!1):t}),o.push(i)}),n(o)}))),"function"!=typeof s.query)throw"query function not defined for Select2 "+s.element.attr("id");if("top"===s.createSearchChoicePosition)s.createSearchChoicePosition=function(e,t){e.unshift(t)};else if("bottom"===s.createSearchChoicePosition)s.createSearchChoicePosition=function(e,t){e.push(t)};else if("function"!=typeof s.createSearchChoicePosition)throw"invalid createSearchChoicePosition option must be 'top', 'bottom' or a custom function";return s},monitorSource:function(){var s,i=this.opts.element,n=this;i.on("change.select2",this.bind(function(){this.opts.element.data("select2-change-triggered")!==!0&&this.initSelection()})),this._sync=this.bind(function(){var e=i.prop("disabled");e===t&&(e=!1),this.enable(!e);var s=i.prop("readonly");s===t&&(s=!1),this.readonly(s),b(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.addClass(T(this.opts.containerCssClass,this.opts.element)),b(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(T(this.opts.dropdownCssClass,this.opts.element))}),i.length&&i[0].attachEvent&&i.each(function(){this.attachEvent("onpropertychange",n._sync)}),s=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,s!==t&&(this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),this.propertyObserver=new s(function(t){e.each(t,n._sync)}),this.propertyObserver.observe(i.get(0),{attributes:!0,subtree:!1}))},triggerSelect:function(t){var s=e.Event("select2-selecting",{val:this.id(t),object:t,choice:t});return this.opts.element.trigger(s),!s.isDefaultPrevented()},triggerChange:function(t){t=t||{},t=e.extend({},t,{type:"change",val:this.val()}),this.opts.element.data("select2-change-triggered",!0),this.opts.element.trigger(t),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 e=this._enabled&&!this._readonly,t=!e;return e===this.enabledInterface?!1:(this.container.toggleClass("select2-container-disabled",t),this.close(),this.enabledInterface=e,!0)},enable:function(e){e===t&&(e=!0),this._enabled!==e&&(this._enabled=e,this.opts.element.prop("disabled",!e),this.enableInterface())},disable:function(){this.enable(!1)},readonly:function(e){e===t&&(e=!1),this._readonly!==e&&(this._readonly=e,this.opts.element.prop("readonly",e),this.enableInterface())},opened:function(){return this.container?this.container.hasClass("select2-dropdown-open"):!1},positionDropdown:function(){var t,s,i,n,o,a=this.dropdown,r=this.container.offset(),c=this.container.outerHeight(!1),l=this.container.outerWidth(!1),h=a.outerHeight(!1),u=e(window),d=u.width(),p=u.height(),f=u.scrollLeft()+d,g=u.scrollTop()+p,m=r.top+c,v=r.left,b=g>=m+h,w=r.top-h>=u.scrollTop(),C=a.outerWidth(!1),S=f>=v+C,y=a.hasClass("select2-drop-above");y?(s=!0,!w&&b&&(i=!0,s=!1)):(s=!1,!b&&w&&(i=!0,s=!0)),i&&(a.hide(),r=this.container.offset(),c=this.container.outerHeight(!1),l=this.container.outerWidth(!1),h=a.outerHeight(!1),f=u.scrollLeft()+d,g=u.scrollTop()+p,m=r.top+c,v=r.left,C=a.outerWidth(!1),S=f>=v+C,a.show(),this.focusSearch()),this.opts.dropdownAutoWidth?(o=e(".select2-results",a)[0],a.addClass("select2-drop-auto-width"),a.css("width",""),C=a.outerWidth(!1)+(o.scrollHeight===o.clientHeight?0:U.width),C>l?l=C:C=l,h=a.outerHeight(!1),S=f>=v+C):this.container.removeClass("select2-drop-auto-width"),"static"!==this.body.css("position")&&(t=this.body.offset(),m-=t.top,v-=t.left),S||(v=r.left+this.container.outerWidth(!1)-C),n={left:v,width:l},s?(n.top=r.top-h,n.bottom="auto",this.container.addClass("select2-drop-above"),a.addClass("select2-drop-above")):(n.top=m,n.bottom="auto",this.container.removeClass("select2-drop-above"),a.removeClass("select2-drop-above")),n=e.extend(n,T(this.opts.dropdownCss,this.opts.element)),a.css(n)},shouldOpen:function(){var t;return this.opened()?!1:this._enabled===!1||this._readonly===!0?!1:(t=e.Event("select2-opening"),this.opts.element.trigger(t),!t.isDefaultPrevented())},clearDropdownAlignmentPreference:function(){this.container.removeClass("select2-drop-above"),this.dropdown.removeClass("select2-drop-above")},open:function(){return this.shouldOpen()?(this.opening(),N.on("mousemove.select2Event",function(e){F.x=e.pageX,F.y=e.pageY}),!0):!1},opening:function(){var t,i=this.containerEventName,n="scroll."+i,o="resize."+i,a="orientationchange."+i;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),t=e("#select2-drop-mask"),0==t.length&&(t=e(document.createElement("div")),t.attr("id","select2-drop-mask").attr("class","select2-drop-mask"),t.hide(),t.appendTo(this.body),t.on("mousedown touchstart click",function(i){s(t);var n,o=e("#select2-drop");o.length>0&&(n=o.data("select2"),n.opts.selectOnBlur&&n.selectHighlighted({noFocus:!0}),n.close(),i.preventDefault(),i.stopPropagation())})),this.dropdown.prev()[0]!==t[0]&&this.dropdown.before(t),e("#select2-drop").removeAttr("id"),this.dropdown.attr("id","select2-drop"),t.show(),this.positionDropdown(),this.dropdown.show(),this.positionDropdown(),this.dropdown.addClass("select2-drop-active");var r=this;this.container.parents().add(window).each(function(){e(this).on(o+" "+n+" "+a,function(){r.opened()&&r.positionDropdown()})})},close:function(){if(this.opened()){var t=this.containerEventName,s="scroll."+t,i="resize."+t,n="orientationchange."+t;this.container.parents().add(window).each(function(){e(this).off(s).off(i).off(n)}),this.clearDropdownAlignmentPreference(),e("#select2-drop-mask").hide(),this.dropdown.removeAttr("id"),this.dropdown.hide(),this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active"),this.results.empty(),N.off("mousemove.select2Event"),this.clearSearch(),this.search.removeClass("select2-active"),this.opts.element.trigger(e.Event("select2-close"))}},externalSearch:function(e){this.open(),this.search.val(e),this.updateResults(!1)},clearSearch:function(){},getMaximumSelectionSize:function(){return T(this.opts.maximumSelectionSize,this.opts.element)},ensureHighlightVisible:function(){var s,i,n,o,a,r,c,l,h=this.results;if(i=this.highlight(),!(0>i)){if(0==i)return h.scrollTop(0),t;s=this.findHighlightableChoices().find(".select2-result-label"),n=e(s[i]),l=(n.offset()||{}).top||0,o=l+n.outerHeight(!0),i===s.length-1&&(c=h.find("li.select2-more-results"),c.length>0&&(o=c.offset().top+c.outerHeight(!0))),a=h.offset().top+h.outerHeight(!0),o>a&&h.scrollTop(h.scrollTop()+(o-a)),r=l-h.offset().top,0>r&&"none"!=n.css("display")&&h.scrollTop(h.scrollTop()+r)}},findHighlightableChoices:function(){return this.results.find(".select2-result-selectable:not(.select2-disabled):not(.select2-selected)")},moveHighlight:function(t){for(var s=this.findHighlightableChoices(),i=this.highlight();i>-1&&s.length>i;){i+=t;var n=e(s[i]);if(n.hasClass("select2-result-selectable")&&!n.hasClass("select2-disabled")&&!n.hasClass("select2-selected")){this.highlight(i);break}}},highlight:function(s){var i,o,a=this.findHighlightableChoices();return 0===arguments.length?n(a.filter(".select2-highlighted")[0],a.get()):(s>=a.length&&(s=a.length-1),0>s&&(s=0),this.removeHighlight(),i=e(a[s]),i.addClass("select2-highlighted"),this.search.attr("aria-activedescendant",i.find(".select2-result-label").attr("id")),this.ensureHighlightVisible(),this.liveRegion.text(i.text()),o=i.data("select2-data"),o&&this.opts.element.trigger({type:"select2-highlight",val:this.id(o),choice:o}),t)},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(t){var s=e(t.target).closest(".select2-result-selectable");if(s.length>0&&!s.is(".select2-highlighted")){var i=this.findHighlightableChoices();this.highlight(i.index(s))}else 0==s.length&&this.removeHighlight()},loadMoreIfNeeded:function(){var e,t=this.results,s=t.find("li.select2-more-results"),i=this.resultsPage+1,n=this,o=this.search.val(),a=this.context;0!==s.length&&(e=s.offset().top-t.offset().top-t.height(),this.opts.loadMorePadding>=e&&(s.addClass("select2-active"),this.opts.query({element:this.opts.element,term:o,page:i,context:a,matcher:this.opts.matcher,callback:this.bind(function(e){n.opened()&&(n.opts.populateResults.call(this,t,e.results,{term:o,page:i,context:a}),n.postprocessResults(e,!1,!1),e.more===!0?(s.detach().appendTo(t).text(T(n.opts.formatLoadMore,n.opts.element,i+1)),window.setTimeout(function(){n.loadMoreIfNeeded()},10)):s.remove(),n.positionDropdown(),n.resultsPage=i,n.context=e.context,this.opts.element.trigger({type:"select2-loaded",items:e}))})})))},tokenize:function(){},updateResults:function(s){function i(){l.removeClass("select2-active"),d.positionDropdown(),h.find(".select2-no-results,.select2-selection-limit,.select2-searching").length?d.liveRegion.text(h.text()):d.liveRegion.text(d.opts.formatMatches(h.find(".select2-result-selectable").length))}function n(e){h.html(e),i()}var o,r,c,l=this.search,h=this.results,u=this.opts,d=this,p=l.val(),f=e.data(this.container,"select2-last-term");if((s===!0||!f||!a(p,f))&&(e.data(this.container,"select2-last-term",p),s===!0||this.showSearchInput!==!1&&this.opened())){c=++this.queryCount;var g=this.getMaximumSelectionSize();if(g>=1&&(o=this.data(),e.isArray(o)&&o.length>=g&&x(u.formatSelectionTooBig,"formatSelectionTooBig")))return n("<li class='select2-selection-limit'>"+T(u.formatSelectionTooBig,u.element,g)+"</li>"),t;if(l.val().length<u.minimumInputLength)return x(u.formatInputTooShort,"formatInputTooShort")?n("<li class='select2-no-results'>"+T(u.formatInputTooShort,u.element,l.val(),u.minimumInputLength)+"</li>"):n(""),s&&this.showSearch&&this.showSearch(!0),t;if(u.maximumInputLength&&l.val().length>u.maximumInputLength)return x(u.formatInputTooLong,"formatInputTooLong")?n("<li class='select2-no-results'>"+T(u.formatInputTooLong,u.element,l.val(),u.maximumInputLength)+"</li>"):n(""),t;u.formatSearching&&0===this.findHighlightableChoices().length&&n("<li class='select2-searching'>"+T(u.formatSearching,u.element)+"</li>"),l.addClass("select2-active"),this.removeHighlight(),r=this.tokenize(),r!=t&&null!=r&&l.val(r),this.resultsPage=1,u.query({element:u.element,term:l.val(),page:this.resultsPage,context:null,matcher:u.matcher,callback:this.bind(function(o){var r;if(c==this.queryCount){if(!this.opened())return this.search.removeClass("select2-active"),t;if(o.hasError!==t&&x(u.formatAjaxError,"formatAjaxError"))return n("<li class='select2-ajax-error'>"+T(u.formatAjaxError,u.element,o.jqXHR,o.textStatus,o.errorThrown)+"</li>"),t;if(this.context=o.context===t?null:o.context,this.opts.createSearchChoice&&""!==l.val()&&(r=this.opts.createSearchChoice.call(d,l.val(),o.results),r!==t&&null!==r&&d.id(r)!==t&&null!==d.id(r)&&0===e(o.results).filter(function(){return a(d.id(this),d.id(r))}).length&&this.opts.createSearchChoicePosition(o.results,r)),0===o.results.length&&x(u.formatNoMatches,"formatNoMatches"))return n("<li class='select2-no-results'>"+T(u.formatNoMatches,u.element,l.val())+"</li>"),t;
5
+ h.empty(),d.opts.populateResults.call(this,h,o.results,{term:l.val(),page:this.resultsPage,context:null}),o.more===!0&&x(u.formatLoadMore,"formatLoadMore")&&(h.append("<li class='select2-more-results'>"+u.escapeMarkup(T(u.formatLoadMore,u.element,this.resultsPage))+"</li>"),window.setTimeout(function(){d.loadMoreIfNeeded()},10)),this.postprocessResults(o,s),i(),this.opts.element.trigger({type:"select2-loaded",items:o})}})})}},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(){p(this.search)},selectHighlighted:function(e){if(this._touchMoved)return this.clearTouchMoved(),t;var s=this.highlight(),i=this.results.find(".select2-highlighted"),n=i.closest(".select2-result").data("select2-data");n?(this.highlight(s),this.onSelect(n,e)):e&&e.noFocus&&this.close()},getPlaceholder:function(){var e;return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||this.opts.placeholder||((e=this.getPlaceholderOption())!==t?e.text():t)},getPlaceholderOption:function(){if(this.select){var s=this.select.children("option").first();if(this.opts.placeholderOption!==t)return"first"===this.opts.placeholderOption&&s||"function"==typeof this.opts.placeholderOption&&this.opts.placeholderOption(this.select);if(""===e.trim(s.text())&&""===s.val())return s}},initContainerWidth:function(){function s(){var s,i,n,o,a,r;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(s=this.opts.element.attr("style"),s!==t)for(i=s.split(";"),o=0,a=i.length;a>o;o+=1)if(r=i[o].replace(/\s/g,""),n=r.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),null!==n&&n.length>=1)return n[1];return"resolve"===this.opts.width?(s=this.opts.element.css("width"),s.indexOf("%")>0?s:0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px"):null}return e.isFunction(this.opts.width)?this.opts.width():this.opts.width}var i=s.call(this);null!==i&&this.container.css("width",i)}}),D=k(R,{createContainer:function(){var t=e(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 t},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var s,i,n;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(),s=this.search.get(0),s.createTextRange?(i=s.createTextRange(),i.collapse(!1),i.select()):s.setSelectionRange&&(n=this.search.val().length,s.setSelectionRange(n,n))),""===this.search.val()&&this.nextSearchTerm!=t&&(this.search.val(this.nextSearchTerm),this.search.select()),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(e.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(){e("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),I.call(this,"selection","focusser")},initContainer:function(){var i,n,o=this.container,a=this.dropdown,r=M();0>this.opts.minimumResultsForSearch?this.showSearch(!1):this.showSearch(!0),this.selection=i=o.find(".select2-choice"),this.focusser=o.find(".select2-focusser"),i.find(".select2-chosen").attr("id","select2-chosen-"+r),this.focusser.attr("aria-labelledby","select2-chosen-"+r),this.results.attr("id","select2-results-"+r),this.search.attr("aria-owns","select2-results-"+r),this.focusser.attr("id","s2id_autogen"+r),n=e("label[for='"+this.opts.element.attr("id")+"']"),this.focusser.prev().text(n.text()).attr("for",this.focusser.attr("id"));var c=this.opts.element.attr("title");this.opts.element.attr("title",c||n.text()),this.focusser.attr("tabindex",this.elementTabIndex),this.search.attr("id",this.focusser.attr("id")+"_search"),this.search.prev().text(e("label[for='"+this.focusser.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("keydown",this.bind(function(e){if(this.isInterfaceEnabled()&&229!=e.keyCode){if(e.which===A.PAGE_UP||e.which===A.PAGE_DOWN)return g(e),t;switch(e.which){case A.UP:case A.DOWN:return this.moveHighlight(e.which===A.UP?-1:1),g(e),t;case A.ENTER:return this.selectHighlighted(),g(e),t;case A.TAB:return this.selectHighlighted({noFocus:!0}),t;case A.ESC:return this.cancel(e),g(e),t}}})),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(e){if(this.isInterfaceEnabled()&&e.which!==A.TAB&&!A.isControl(e)&&!A.isFunctionKey(e)&&e.which!==A.ESC){if(this.opts.openOnEnter===!1&&e.which===A.ENTER)return g(e),t;if(e.which==A.DOWN||e.which==A.UP||e.which==A.ENTER&&this.opts.openOnEnter){if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey)return;return this.open(),g(e),t}return e.which==A.DELETE||e.which==A.BACKSPACE?(this.opts.allowClear&&this.clear(),g(e),t):t}})),l(this.focusser),this.focusser.on("keyup-change input",this.bind(function(e){if(this.opts.minimumResultsForSearch>=0){if(e.stopPropagation(),this.opened())return;this.open()}})),i.on("mousedown touchstart","abbr",this.bind(function(e){this.isInterfaceEnabled()&&(this.clear(),m(e),this.close(),this.selection.focus())})),i.on("mousedown touchstart",this.bind(function(t){s(i),this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),g(t)})),a.on("mousedown touchstart",this.bind(function(){this.opts.shouldFocusInput(this)&&this.search.focus()})),i.on("focus",this.bind(function(e){g(e)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.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(e.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.setPlaceholder()},clear:function(t){var s=this.selection.data("select2-data");if(s){var i=e.Event("select2-clearing");if(this.opts.element.trigger(i),i.isDefaultPrevented())return;var n=this.getPlaceholderOption();this.opts.element.val(n?n.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),t!==!1&&(this.opts.element.trigger({type:"select2-removed",val:this.id(s),choice:s}),this.triggerChange({removed:s}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var e=this;this.opts.initSelection.call(null,this.opts.element,function(s){s!==t&&null!==s&&(e.updateSelection(s),e.close(),e.setPlaceholder(),e.nextSearchTerm=e.opts.nextSearchTerm(s,e.search.val()))})}},isPlaceholderOptionSelected:function(){var e;return this.getPlaceholder()===t?!1:(e=this.getPlaceholderOption())!==t&&e.prop("selected")||""===this.opts.element.val()||this.opts.element.val()===t||null===this.opts.element.val()},prepareOpts:function(){var t=this.parent.prepareOpts.apply(this,arguments),s=this;return"select"===t.element.get(0).tagName.toLowerCase()?t.initSelection=function(e,t){var i=e.find("option").filter(function(){return this.selected&&!this.disabled});t(s.optionToData(i))}:"data"in t&&(t.initSelection=t.initSelection||function(s,i){var n=s.val(),o=null;t.query({matcher:function(e,s,i){var r=a(n,t.id(i));return r&&(o=i),r},callback:e.isFunction(i)?function(){i(o)}:e.noop})}),t},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===t?t:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var e=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&e!==t){if(this.select&&this.getPlaceholderOption()===t)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(e)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(e,s,i){var n=0,o=this;if(this.findHighlightableChoices().each2(function(e,s){return a(o.id(s.data("select2-data")),o.opts.element.val())?(n=e,!1):t}),i!==!1&&(s===!0&&n>=0?this.highlight(n):this.highlight(0)),s===!0){var r=this.opts.minimumResultsForSearch;r>=0&&this.showSearch(O(e.results)>=r)}},showSearch:function(t){this.showSearchInput!==t&&(this.showSearchInput=t,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!t),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!t),e(this.dropdown,this.container).toggleClass("select2-with-searchbox",t))},onSelect:function(e,t){if(this.triggerSelect(e)){var s=this.opts.element.val(),i=this.data();this.opts.element.val(this.id(e)),this.updateSelection(e),this.opts.element.trigger({type:"select2-selected",val:this.id(e),choice:e}),this.nextSearchTerm=this.opts.nextSearchTerm(e,this.search.val()),this.close(),t&&t.noFocus||!this.opts.shouldFocusInput(this)||this.focusser.focus(),a(s,this.id(e))||this.triggerChange({added:e,removed:i})}},updateSelection:function(e){var s,i,n=this.selection.find(".select2-chosen");this.selection.data("select2-data",e),n.empty(),null!==e&&(s=this.opts.formatSelection(e,n,this.opts.escapeMarkup)),s!==t&&n.append(s),i=this.opts.formatSelectionCssClass(e,n),i!==t&&n.addClass(i),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==t&&this.container.addClass("select2-allowclear")},val:function(){var e,s=!1,i=null,n=this,o=this.data();if(0===arguments.length)return this.opts.element.val();if(e=arguments[0],arguments.length>1&&(s=arguments[1]),this.select)this.select.val(e).find("option").filter(function(){return this.selected}).each2(function(e,t){return i=n.optionToData(t),!1}),this.updateSelection(i),this.setPlaceholder(),s&&this.triggerChange({added:i,removed:o});else{if(!e&&0!==e)return this.clear(s),t;if(this.opts.initSelection===t)throw Error("cannot call val() if initSelection() is not defined");this.opts.element.val(e),this.opts.initSelection(this.opts.element,function(e){n.opts.element.val(e?n.id(e):""),n.updateSelection(e),n.setPlaceholder(),s&&n.triggerChange({added:e,removed:o})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(e){var s,i=!1;return 0===arguments.length?(s=this.selection.data("select2-data"),s==t&&(s=null),s):(arguments.length>1&&(i=arguments[1]),e?(s=this.data(),this.opts.element.val(e?this.id(e):""),this.updateSelection(e),i&&this.triggerChange({added:e,removed:s})):this.clear(i),t)}}),H=k(R,{createContainer:function(){var t=e(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 t},prepareOpts:function(){var t=this.parent.prepareOpts.apply(this,arguments),s=this;return"select"===t.element.get(0).tagName.toLowerCase()?t.initSelection=function(e,t){var i=[];e.find("option").filter(function(){return this.selected&&!this.disabled}).each2(function(e,t){i.push(s.optionToData(t))}),t(i)}:"data"in t&&(t.initSelection=t.initSelection||function(s,i){var n=r(s.val(),t.separator),o=[];t.query({matcher:function(s,i,r){var c=e.grep(n,function(e){return a(e,t.id(r))}).length;return c&&o.push(r),c},callback:e.isFunction(i)?function(){for(var e=[],s=0;n.length>s;s++)for(var r=n[s],c=0;o.length>c;c++){var l=o[c];if(a(r,t.id(l))){e.push(l),o.splice(c,1);break}}i(e)}:e.noop})}),t},selectChoice:function(e){var t=this.container.find(".select2-search-choice-focus");t.length&&e&&e[0]==t[0]||(t.length&&this.opts.element.trigger("choice-deselected",t),t.removeClass("select2-search-choice-focus"),e&&e.length&&(this.close(),e.addClass("select2-search-choice-focus"),this.opts.element.trigger("choice-selected",e)))},destroy:function(){e("label[for='"+this.search.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),I.call(this,"searchContainer","selection")},initContainer:function(){var s,i=".select2-choices";this.searchContainer=this.container.find(".select2-search-field"),this.selection=s=this.container.find(i);var n=this;this.selection.on("click",".select2-search-choice:not(.select2-locked)",function(){n.search[0].focus(),n.selectChoice(e(this))}),this.search.attr("id","s2id_autogen"+M()),this.search.prev().text(e("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(e){if(this.isInterfaceEnabled()){++this.keydowns;var i=s.find(".select2-search-choice-focus"),n=i.prev(".select2-search-choice:not(.select2-locked)"),o=i.next(".select2-search-choice:not(.select2-locked)"),a=f(this.search);if(i.length&&(e.which==A.LEFT||e.which==A.RIGHT||e.which==A.BACKSPACE||e.which==A.DELETE||e.which==A.ENTER)){var r=i;return e.which==A.LEFT&&n.length?r=n:e.which==A.RIGHT?r=o.length?o:null:e.which===A.BACKSPACE?this.unselect(i.first())&&(this.search.width(10),r=n.length?n:o):e.which==A.DELETE?this.unselect(i.first())&&(this.search.width(10),r=o.length?o:null):e.which==A.ENTER&&(r=null),this.selectChoice(r),g(e),r&&r.length||this.open(),t}if((e.which===A.BACKSPACE&&1==this.keydowns||e.which==A.LEFT)&&0==a.offset&&!a.length)return this.selectChoice(s.find(".select2-search-choice:not(.select2-locked)").last()),g(e),t;if(this.selectChoice(null),this.opened())switch(e.which){case A.UP:case A.DOWN:return this.moveHighlight(e.which===A.UP?-1:1),g(e),t;case A.ENTER:return this.selectHighlighted(),g(e),t;case A.TAB:return this.selectHighlighted({noFocus:!0}),this.close(),t;case A.ESC:return this.cancel(e),g(e),t}if(e.which!==A.TAB&&!A.isControl(e)&&!A.isFunctionKey(e)&&e.which!==A.BACKSPACE&&e.which!==A.ESC){if(e.which===A.ENTER){if(this.opts.openOnEnter===!1)return;if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey)return}this.open(),(e.which===A.PAGE_UP||e.which===A.PAGE_DOWN)&&g(e),e.which===A.ENTER&&g(e)}}})),this.search.on("keyup",this.bind(function(){this.keydowns=0,this.resizeSearch()})),this.search.on("blur",this.bind(function(t){this.container.removeClass("select2-container-active"),this.search.removeClass("select2-focused"),this.selectChoice(null),this.opened()||this.clearSearch(),t.stopImmediatePropagation(),this.opts.element.trigger(e.Event("select2-blur"))})),this.container.on("click",i,this.bind(function(t){this.isInterfaceEnabled()&&(e(t.target).closest(".select2-search-choice").length>0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.open(),this.focusSearch(),t.preventDefault()))})),this.container.on("focus",i,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.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 e=this;this.opts.initSelection.call(null,this.opts.element,function(s){s!==t&&null!==s&&(e.updateSelection(s),e.close(),e.clearSearch())})}},clearSearch:function(){var e=this.getPlaceholder(),s=this.getMaxSearchWidth();e!==t&&0===this.getVal().length&&this.search.hasClass("select2-focused")===!1?(this.search.val(e).addClass("select2-default"),this.search.width(s>0?s: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!=t&&(this.search.val(this.nextSearchTerm),this.search.select()),this.updateResults(!0),this.opts.shouldFocusInput(this)&&this.search.focus(),this.opts.element.trigger(e.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(t){var s=[],i=[],o=this;e(t).each(function(){0>n(o.id(this),s)&&(s.push(o.id(this)),i.push(this))}),t=i,this.selection.find(".select2-search-choice").remove(),e(t).each(function(){o.addSelectedChoice(this)}),o.postprocessResults()},tokenize:function(){var e=this.search.val();e=this.opts.tokenizer.call(this,e,this.data(),this.bind(this.onSelect),this.opts),null!=e&&e!=t&&(this.search.val(e),e.length>0&&this.open())},onSelect:function(e,s){this.triggerSelect(e)&&""!==e.text&&(this.addSelectedChoice(e),this.opts.element.trigger({type:"selected",val:this.id(e),choice:e}),this.nextSearchTerm=this.opts.nextSearchTerm(e,this.search.val()),this.clearSearch(),this.updateResults(),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(e,!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!=t&&(this.search.val(this.nextSearchTerm),this.updateResults(),this.search.select()),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:e}),s&&s.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(s){var i,n,o=!s.locked,a=e("<li class='select2-search-choice'> <div></div> <a href='#' class='select2-search-choice-close' tabindex='-1'></a></li>"),r=e("<li class='select2-search-choice select2-locked'><div></div></li>"),c=o?a:r,l=this.id(s),h=this.getVal();i=this.opts.formatSelection(s,c.find("div"),this.opts.escapeMarkup),i!=t&&c.find("div").replaceWith("<div>"+i+"</div>"),n=this.opts.formatSelectionCssClass(s,c.find("div")),n!=t&&c.addClass(n),o&&c.find(".select2-search-choice-close").on("mousedown",g).on("click dblclick",this.bind(function(t){this.isInterfaceEnabled()&&(this.unselect(e(t.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),g(t),this.close(),this.focusSearch())})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),c.data("select2-data",s),c.insertBefore(this.searchContainer),h.push(l),this.setVal(h)},unselect:function(t){var s,i,o=this.getVal();if(t=t.closest(".select2-search-choice"),0===t.length)throw"Invalid argument: "+t+". Must be .select2-search-choice";if(s=t.data("select2-data")){var a=e.Event("select2-removing");if(a.val=this.id(s),a.choice=s,this.opts.element.trigger(a),a.isDefaultPrevented())return!1;for(;(i=n(this.id(s),o))>=0;)o.splice(i,1),this.setVal(o),this.select&&this.postprocessResults();return t.remove(),this.opts.element.trigger({type:"select2-removed",val:this.id(s),choice:s}),this.triggerChange({removed:s}),!0}},postprocessResults:function(e,t,s){var i=this.getVal(),o=this.results.find(".select2-result"),a=this.results.find(".select2-result-with-children"),r=this;o.each2(function(e,t){var s=r.id(t.data("select2-data"));n(s,i)>=0&&(t.addClass("select2-selected"),t.find(".select2-result-selectable").addClass("select2-selected"))}),a.each2(function(e,t){t.is(".select2-result-selectable")||0!==t.find(".select2-result-selectable:not(.select2-selected)").length||t.addClass("select2-selected")}),-1==this.highlight()&&s!==!1&&r.highlight(0),!this.opts.createSearchChoice&&!o.filter(".select2-result:not(.select2-selected)").length>0&&(!e||e&&!e.more&&0===this.results.find(".select2-no-results").length)&&x(r.opts.formatNoMatches,"formatNoMatches")&&this.results.append("<li class='select2-no-results'>"+T(r.opts.formatNoMatches,r.opts.element,r.search.val())+"</li>")},getMaxSearchWidth:function(){return this.selection.width()-c(this.search)},resizeSearch:function(){var e,t,s,i,n,o=c(this.search);e=v(this.search)+10,t=this.search.offset().left,s=this.selection.width(),i=this.selection.offset().left,n=s-(t-i)-o,e>n&&(n=s-o),40>n&&(n=s-o),0>=n&&(n=e),this.search.width(Math.floor(n))},getVal:function(){var e;return this.select?(e=this.select.val(),null===e?[]:e):(e=this.opts.element.val(),r(e,this.opts.separator))},setVal:function(t){var s;this.select?this.select.val(t):(s=[],e(t).each(function(){0>n(this,s)&&s.push(this)}),this.opts.element.val(0===s.length?"":s.join(this.opts.separator)))},buildChangeDetails:function(e,t){for(var t=t.slice(0),e=e.slice(0),s=0;t.length>s;s++)for(var i=0;e.length>i;i++)a(this.opts.id(t[s]),this.opts.id(e[i]))&&(t.splice(s,1),s>0&&s--,e.splice(i,1),i--);return{added:t,removed:e}},val:function(s,i){var n,o=this;if(0===arguments.length)return this.getVal();if(n=this.data(),n.length||(n=[]),!s&&0!==s)return this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),i&&this.triggerChange({added:this.data(),removed:n}),t;if(this.setVal(s),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),i&&this.triggerChange(this.buildChangeDetails(n,this.data()));else{if(this.opts.initSelection===t)throw Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(t){var s=e.map(t,o.id);o.setVal(s),o.updateSelection(t),o.clearSearch(),i&&o.triggerChange(o.buildChangeDetails(n,o.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw 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 t=[],s=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){t.push(s.opts.id(e(this).data("select2-data")))}),this.setVal(t),this.triggerChange()},data:function(s,i){var n,o,a=this;return 0===arguments.length?this.selection.children(".select2-search-choice").map(function(){return e(this).data("select2-data")}).get():(o=this.data(),s||(s=[]),n=e.map(s,function(e){return a.opts.id(e)}),this.setVal(n),this.updateSelection(s),this.clearSearch(),i&&this.triggerChange(this.buildChangeDetails(o,this.data())),t)}}),e.fn.select2=function(){var s,i,o,a,r,c=Array.prototype.slice.call(arguments,0),l=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],h=["opened","isFocused","container","dropdown"],u=["val","data"],d={search:"externalSearch"};return this.each(function(){if(0===c.length||"object"==typeof c[0])s=0===c.length?{}:e.extend({},c[0]),s.element=e(this),"select"===s.element.get(0).tagName.toLowerCase()?r=s.element.prop("multiple"):(r=s.multiple||!1,"tags"in s&&(s.multiple=r=!0)),i=r?new window.Select2["class"].multi:new window.Select2["class"].single,i.init(s);else{if("string"!=typeof c[0])throw"Invalid arguments to select2 plugin: "+c;if(0>n(c[0],l))throw"Unknown method: "+c[0];if(a=t,i=e(this).data("select2"),i===t)return;if(o=c[0],"container"===o?a=i.container:"dropdown"===o?a=i.dropdown:(d[o]&&(o=d[o]),a=i[o].apply(i,c.slice(1))),n(c[0],h)>=0||n(c[0],u)>=0&&1==c.length)return!1}}),a===t?this:a},e.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(e,t,s,i){var n=[];return w(e.text,s.term,n,i),n.join("")},formatSelection:function(e,s,i){return e?i(e.text):t},sortResults:function(e){return e},formatResultCssClass:function(e){return e.css},formatSelectionCssClass:function(){return t},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(e){return e==t?null:e.id},matcher:function(e,t){return i(""+t).toUpperCase().indexOf(i(""+e).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:P,escapeMarkup:C,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(e){return e},adaptDropdownCssClass:function(){return null},nextSearchTerm:function(){return t},searchInputPlaceholder:"",createSearchChoicePosition:"top",shouldFocusInput:function(e){var t="ontouchstart"in window||navigator.msMaxTouchPoints>0;return t?0>e.opts.minimumResultsForSearch?!1:!0:!0}},e.fn.select2.locales=[],e.fn.select2.locales.en={formatMatches:function(e){return 1===e?"One result is available, press enter to select it.":e+" results are available, use up and down arrow keys to navigate."},formatNoMatches:function(){return"No matches found"},formatAjaxError:function(){return"Loading failed"},formatInputTooShort:function(e,t){var s=t-e.length;return"Please enter "+s+" or more character"+(1==s?"":"s")},formatInputTooLong:function(e,t){var s=e.length-t;return"Please delete "+s+" character"+(1==s?"":"s")},formatSelectionTooBig:function(e){return"You can only select "+e+" item"+(1==e?"":"s")},formatLoadMore:function(){return"Loading more results…"},formatSearching:function(){return"Searching…"}},e.extend(e.fn.select2.defaults,e.fn.select2.locales.en),e.fn.select2.ajaxDefaults={transport:e.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:S,local:y,tags:E},util:{debounce:u,markMatch:w,escapeMarkup:C,stripDiacritics:i},"class":{"abstract":R,single:D,multi:H}}}}(jQuery);
inc/external/wpmu-lib/js/tiny-scrollbar.js ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! WPMU Dev code library - v1.0.15
2
+ * http://premium.wpmudev.org/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+ /*! tinyscrollbar - v2.1.7 - 2014-05-21
5
+ * http://www.baijs.com/tinyscrollbar
6
+ *
7
+ * Copyright (c) 2014 Maarten Baijs <wieringen@gmail.com>;
8
+ * Licensed under the MIT license */
9
+
10
+ ! function(a) {
11
+ "function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof exports ? a(require("jquery")) : a(jQuery)
12
+ }(function(a) {
13
+ "use strict";
14
+
15
+ function b(b, e) {
16
+ function f() {
17
+ return m.update(), h(), m
18
+ }
19
+
20
+ function g() {
21
+ r.css(x, m.contentPosition / m.trackRatio), o.css(x, -m.contentPosition), p.css(w, m.trackSize), q.css(w, m.trackSize), r.css(w, m.thumbSize)
22
+ }
23
+
24
+ function h() {
25
+ u ? n[0].ontouchstart = function(a) {
26
+ 1 === a.touches.length && (a.stopPropagation(), i(a.touches[0]))
27
+ } : (r.bind("mousedown", i), q.bind("mousedown", k)), a(window).resize(function() {
28
+ m.update("relative")
29
+ }), m.options.wheel && window.addEventListener ? b[0].addEventListener(v, j, !1) : m.options.wheel && (b[0].onmousewheel = j)
30
+ }
31
+
32
+ function i(b) {
33
+ a("body").addClass("noSelect"), s = t ? b.pageX : b.pageY, m.thumbPosition = parseInt(r.css(x), 10) || 0, u ? (document.ontouchmove = function(a) {
34
+ a.preventDefault(), k(a.touches[0])
35
+ }, document.ontouchend = l) : (a(document).bind("mousemove", k), a(document).bind("mouseup", l), r.bind("mouseup", l))
36
+ }
37
+
38
+ function j(c) {
39
+ if (m.contentRatio < 1) {
40
+ var d = c || window.event,
41
+ e = "delta" + m.options.axis.toUpperCase(),
42
+ f = -(d[e] || d.detail || -1 / 3 * d.wheelDelta) / 40;
43
+ m.contentPosition -= f * m.options.wheelSpeed, m.contentPosition = Math.min(m.contentSize - m.viewportSize, Math.max(0, m.contentPosition)), b.trigger("move"), r.css(x, m.contentPosition / m.trackRatio), o.css(x, -m.contentPosition), (m.options.wheelLock || m.contentPosition !== m.contentSize - m.viewportSize && 0 !== m.contentPosition) && (d = a.event.fix(d), d.preventDefault())
44
+ }
45
+ }
46
+
47
+ function k(a) {
48
+ if (m.contentRatio < 1) {
49
+ var c = t ? a.pageX : a.pageY,
50
+ d = c - s;
51
+ m.options.scrollInvert && u && (d = s - c);
52
+ var e = Math.min(m.trackSize - m.thumbSize, Math.max(0, m.thumbPosition + d));
53
+ m.contentPosition = e * m.trackRatio, b.trigger("move"), r.css(x, e), o.css(x, -m.contentPosition)
54
+ }
55
+ }
56
+
57
+ function l() {
58
+ a("body").removeClass("noSelect"), a(document).unbind("mousemove", k), a(document).unbind("mouseup", l), r.unbind("mouseup", l), document.ontouchmove = document.ontouchend = null
59
+ }
60
+ this.options = a.extend({}, d, e), this._defaults = d, this._name = c;
61
+ var m = this,
62
+ n = b.find(".viewport"),
63
+ o = b.find(".overview"),
64
+ p = b.find(".scrollbar"),
65
+ q = p.find(".track"),
66
+ r = p.find(".thumb"),
67
+ s = 0,
68
+ t = "x" === this.options.axis,
69
+ u = "ontouchstart" in document.documentElement,
70
+ v = "onwheel" in document || document.documentMode >= 9 ? "wheel" : void 0 !== document.onmousewheel ? "mousewheel" : "DOMMouseScroll",
71
+ w = t ? "width" : "height",
72
+ x = t ? "left" : "top";
73
+ return this.contentPosition = 0, this.viewportSize = 0, this.contentSize = 0, this.contentRatio = 0, this.trackSize = 0, this.trackRatio = 0, this.thumbSize = 0, this.thumbPosition = 0, this.update = function(a) {
74
+ var b = w.charAt(0).toUpperCase() + w.slice(1).toLowerCase();
75
+ switch (this.viewportSize = n[0]["offset" + b], this.contentSize = o[0]["scroll" + b], this.contentRatio = this.viewportSize / this.contentSize, this.trackSize = this.options.trackSize || this.viewportSize, this.thumbSize = Math.min(this.trackSize, Math.max(0, this.options.thumbSize || this.trackSize * this.contentRatio)), this.trackRatio = this.options.thumbSize ? (this.contentSize - this.viewportSize) / (this.trackSize - this.thumbSize) : this.contentSize / this.trackSize, p.toggleClass("disable", this.contentRatio >= 1), a) {
76
+ case "bottom":
77
+ this.contentPosition = this.contentSize - this.viewportSize;
78
+ break;
79
+ case "relative":
80
+ this.contentPosition = Math.min(Math.max(this.contentSize - this.viewportSize, 0), Math.max(0, this.contentPosition));
81
+ break;
82
+ default:
83
+ this.contentPosition = parseInt(a, 10) || 0
84
+ }
85
+ return g(), m
86
+ }, f()
87
+ }
88
+ var c = "tinyscrollbar",
89
+ d = {
90
+ axis: "y",
91
+ wheel: !0,
92
+ wheelSpeed: 40,
93
+ wheelLock: !0,
94
+ scrollInvert: !1,
95
+ trackSize: !1,
96
+ thumbSize: !1
97
+ };
98
+ a.fn[c] = function(d) {
99
+ return this.each(function() {
100
+ a.data(this, "plugin_" + c) || a.data(this, "plugin_" + c, new b(a(this), d))
101
+ })
102
+ }
103
+ });
inc/external/wpmu-lib/js/tiny-scrollbar.min.js CHANGED
@@ -1 +1,4 @@
1
- !function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?t(require("jquery")):t(jQuery)}(function(t){"use strict";function e(e,n){function s(){return m.update(),h(),m}function c(){z.css(g,m.contentPosition/m.trackRatio),l.css(g,-m.contentPosition),S.css(P,m.trackSize),f.css(P,m.trackSize),z.css(P,m.thumbSize)}function h(){b?p[0].ontouchstart=function(t){1===t.touches.length&&(t.stopPropagation(),a(t.touches[0]))}:(z.bind("mousedown",a),f.bind("mousedown",r)),t(window).resize(function(){m.update("relative")}),m.options.wheel&&window.addEventListener?e[0].addEventListener(k,u,!1):m.options.wheel&&(e[0].onmousewheel=u)}function a(e){t("body").addClass("noSelect"),v=w?e.pageX:e.pageY,m.thumbPosition=parseInt(z.css(g),10)||0,b?(document.ontouchmove=function(t){t.preventDefault(),r(t.touches[0])},document.ontouchend=d):(t(document).bind("mousemove",r),t(document).bind("mouseup",d),z.bind("mouseup",d))}function u(i){if(m.contentRatio<1){var o=i||window.event,n="delta"+m.options.axis.toUpperCase(),s=-(o[n]||o.detail||-1/3*o.wheelDelta)/40;m.contentPosition-=s*m.options.wheelSpeed,m.contentPosition=Math.min(m.contentSize-m.viewportSize,Math.max(0,m.contentPosition)),e.trigger("move"),z.css(g,m.contentPosition/m.trackRatio),l.css(g,-m.contentPosition),(m.options.wheelLock||m.contentPosition!==m.contentSize-m.viewportSize&&0!==m.contentPosition)&&(o=t.event.fix(o),o.preventDefault())}}function r(t){if(m.contentRatio<1){var i=w?t.pageX:t.pageY,o=i-v;m.options.scrollInvert&&b&&(o=v-i);var n=Math.min(m.trackSize-m.thumbSize,Math.max(0,m.thumbPosition+o));m.contentPosition=n*m.trackRatio,e.trigger("move"),z.css(g,n),l.css(g,-m.contentPosition)}}function d(){t("body").removeClass("noSelect"),t(document).unbind("mousemove",r),t(document).unbind("mouseup",d),z.unbind("mouseup",d),document.ontouchmove=document.ontouchend=null}this.options=t.extend({},o,n),this._defaults=o,this._name=i;var m=this,p=e.find(".viewport"),l=e.find(".overview"),S=e.find(".scrollbar"),f=S.find(".track"),z=S.find(".thumb"),v=0,w="x"===this.options.axis,b="ontouchstart"in document.documentElement,k="onwheel"in document||document.documentMode>=9?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll",P=w?"width":"height",g=w?"left":"top";return this.contentPosition=0,this.viewportSize=0,this.contentSize=0,this.contentRatio=0,this.trackSize=0,this.trackRatio=0,this.thumbSize=0,this.thumbPosition=0,this.update=function(t){var e=P.charAt(0).toUpperCase()+P.slice(1).toLowerCase();switch(this.viewportSize=p[0]["offset"+e],this.contentSize=l[0]["scroll"+e],this.contentRatio=this.viewportSize/this.contentSize,this.trackSize=this.options.trackSize||this.viewportSize,this.thumbSize=Math.min(this.trackSize,Math.max(0,this.options.thumbSize||this.trackSize*this.contentRatio)),this.trackRatio=this.options.thumbSize?(this.contentSize-this.viewportSize)/(this.trackSize-this.thumbSize):this.contentSize/this.trackSize,S.toggleClass("disable",this.contentRatio>=1),t){case"bottom":this.contentPosition=this.contentSize-this.viewportSize;break;case"relative":this.contentPosition=Math.min(Math.max(this.contentSize-this.viewportSize,0),Math.max(0,this.contentPosition));break;default:this.contentPosition=parseInt(t,10)||0}return c(),m},s()}var i="tinyscrollbar",o={axis:"y",wheel:!0,wheelSpeed:40,wheelLock:!0,scrollInvert:!1,trackSize:!1,thumbSize:!1};t.fn[i]=function(o){return this.each(function(){t.data(this,"plugin_"+i)||t.data(this,"plugin_"+i,new e(t(this),o))})}});
 
 
 
1
+ /*! WPMU Dev code library - v1.0.15
2
+ * http://premium.wpmudev.org/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+ !function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports?t(require("jquery")):t(jQuery)}(function(t){"use strict";function e(e,n){function o(){return d.update(),r(),d}function a(){v.css(x,d.contentPosition/d.trackRatio),f.css(x,-d.contentPosition),g.css(y,d.trackSize),m.css(y,d.trackSize),v.css(y,d.thumbSize)}function r(){S?p[0].ontouchstart=function(t){1===t.touches.length&&(t.stopPropagation(),c(t.touches[0]))}:(v.bind("mousedown",c),m.bind("mousedown",h)),t(window).resize(function(){d.update("relative")}),d.options.wheel&&window.addEventListener?e[0].addEventListener(C,l,!1):d.options.wheel&&(e[0].onmousewheel=l)}function c(e){t("body").addClass("noSelect"),w=b?e.pageX:e.pageY,d.thumbPosition=parseInt(v.css(x),10)||0,S?(document.ontouchmove=function(t){t.preventDefault(),h(t.touches[0])},document.ontouchend=u):(t(document).bind("mousemove",h),t(document).bind("mouseup",u),v.bind("mouseup",u))}function l(s){if(1>d.contentRatio){var i=s||window.event,n="delta"+d.options.axis.toUpperCase(),o=-(i[n]||i.detail||-1/3*i.wheelDelta)/40;d.contentPosition-=o*d.options.wheelSpeed,d.contentPosition=Math.min(d.contentSize-d.viewportSize,Math.max(0,d.contentPosition)),e.trigger("move"),v.css(x,d.contentPosition/d.trackRatio),f.css(x,-d.contentPosition),(d.options.wheelLock||d.contentPosition!==d.contentSize-d.viewportSize&&0!==d.contentPosition)&&(i=t.event.fix(i),i.preventDefault())}}function h(t){if(1>d.contentRatio){var s=b?t.pageX:t.pageY,i=s-w;d.options.scrollInvert&&S&&(i=w-s);var n=Math.min(d.trackSize-d.thumbSize,Math.max(0,d.thumbPosition+i));d.contentPosition=n*d.trackRatio,e.trigger("move"),v.css(x,n),f.css(x,-d.contentPosition)}}function u(){t("body").removeClass("noSelect"),t(document).unbind("mousemove",h),t(document).unbind("mouseup",u),v.unbind("mouseup",u),document.ontouchmove=document.ontouchend=null}this.options=t.extend({},i,n),this._defaults=i,this._name=s;var d=this,p=e.find(".viewport"),f=e.find(".overview"),g=e.find(".scrollbar"),m=g.find(".track"),v=g.find(".thumb"),w=0,b="x"===this.options.axis,S="ontouchstart"in document.documentElement,C="onwheel"in document||document.documentMode>=9?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll",y=b?"width":"height",x=b?"left":"top";return this.contentPosition=0,this.viewportSize=0,this.contentSize=0,this.contentRatio=0,this.trackSize=0,this.trackRatio=0,this.thumbSize=0,this.thumbPosition=0,this.update=function(t){var e=y.charAt(0).toUpperCase()+y.slice(1).toLowerCase();switch(this.viewportSize=p[0]["offset"+e],this.contentSize=f[0]["scroll"+e],this.contentRatio=this.viewportSize/this.contentSize,this.trackSize=this.options.trackSize||this.viewportSize,this.thumbSize=Math.min(this.trackSize,Math.max(0,this.options.thumbSize||this.trackSize*this.contentRatio)),this.trackRatio=this.options.thumbSize?(this.contentSize-this.viewportSize)/(this.trackSize-this.thumbSize):this.contentSize/this.trackSize,g.toggleClass("disable",this.contentRatio>=1),t){case"bottom":this.contentPosition=this.contentSize-this.viewportSize;break;case"relative":this.contentPosition=Math.min(Math.max(this.contentSize-this.viewportSize,0),Math.max(0,this.contentPosition));break;default:this.contentPosition=parseInt(t,10)||0}return a(),d},o()}var s="tinyscrollbar",i={axis:"y",wheel:!0,wheelSpeed:40,wheelLock:!0,scrollInvert:!1,trackSize:!1,thumbSize:!1};t.fn[s]=function(i){return this.each(function(){t.data(this,"plugin_"+s)||t.data(this,"plugin_"+s,new e(t(this),i))})}});
inc/external/wpmu-lib/js/wpmu-ui.js ADDED
@@ -0,0 +1,2098 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! WPMU Dev code library - v1.0.15
2
+ * http://premium.wpmudev.org/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+ /*!
5
+ * WPMU Dev UI library
6
+ * (Philipp Stracker for WPMU Dev)
7
+ *
8
+ * This library provides a Javascript API via the global wpmUi object.
9
+ *
10
+ * @version 1.0.0
11
+ * @author Philipp Stracker for WPMU Dev
12
+ * @link http://appendto.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-1/
13
+ * @requires jQuery
14
+ */
15
+ /*global jQuery:false */
16
+ /*global window:false */
17
+ /*global document:false */
18
+ /*global XMLHttpRequest:false */
19
+
20
+ (function( wpmUi ) {
21
+
22
+ /**
23
+ * The document element.
24
+ *
25
+ * @type jQuery object
26
+ * @since 1.0.0
27
+ * @private
28
+ */
29
+ var _doc = null;
30
+
31
+ /**
32
+ * The html element.
33
+ *
34
+ * @type jQuery object
35
+ * @since 1.0.0
36
+ * @private
37
+ */
38
+ var _html = null;
39
+
40
+ /**
41
+ * The body element.
42
+ *
43
+ * @type jQuery object
44
+ * @since 1.0.0
45
+ * @private
46
+ */
47
+ var _body = null;
48
+
49
+ /**
50
+ * Modal overlay, created by this object.
51
+ *
52
+ * @type jQuery object
53
+ * @since 1.0.0
54
+ * @private
55
+ */
56
+ var _modal_overlay = null;
57
+
58
+
59
+ // ==========
60
+ // == Public UI functions ==================================================
61
+ // ==========
62
+
63
+
64
+ /**
65
+ * Opens a new popup layer.
66
+ *
67
+ * @since 1.0.0
68
+ * @return WpmUiWindow A new popup window.
69
+ */
70
+ wpmUi.popup = function popup() {
71
+ _init();
72
+ return new WpmUiWindow();
73
+ };
74
+
75
+ /**
76
+ * Creates a new formdata object.
77
+ * With this object we can load or submit data via ajax.
78
+ *
79
+ * @since 1.0.0
80
+ * @param string ajaxurl URL to the ajax handler.
81
+ * @param string default_action The action to use when an ajax function
82
+ * does not specify an action.
83
+ * @return WpmUiAjaxData A new formdata object.
84
+ */
85
+ wpmUi.ajax = function ajax( ajaxurl, default_action ) {
86
+ _init();
87
+ return new WpmUiAjaxData( ajaxurl, default_action );
88
+ };
89
+
90
+ /**
91
+ * Upgrades normal multiselect fields to chosen-input fields.
92
+ *
93
+ * This function is a bottle-neck in Firefox -> el.chosen() takes quite long
94
+ *
95
+ * @since 1.0.0
96
+ * @param jQuery|string base All children of this base element will be
97
+ * checked. If empty then the body element is used.
98
+ */
99
+ wpmUi.upgrade_multiselect = function upgrade_multiselect( base ) {
100
+ _init();
101
+ base = jQuery( base || _body );
102
+
103
+ var items = base.find( 'select[multiple]' ),
104
+ ajax_items = base.find( 'input[data-select-ajax]' );
105
+
106
+ // When an DOM container is *cloned* it may contain markup for a select2
107
+ // listbox that is not attached to any event handler. Clean this up.
108
+ var clean_ghosts = function clean_ghosts( el ) {
109
+ var id = el.attr( 'id' ),
110
+ s2id = '#s2id_' + id,
111
+ ghosts = el.parent().find( s2id );
112
+
113
+ ghosts.remove();
114
+ };
115
+
116
+ // Initialize normal select or multiselect list.
117
+ var upgrade_item = function upgrade_item() {
118
+ var el = jQuery( this ),
119
+ options = {
120
+ 'closeOnSelect': false,
121
+ 'width': '100%'
122
+ };
123
+
124
+ if ( el.data( 'wpmui-select' ) === '1' ) { return; }
125
+ el.data( 'wpmui-select', '1' );
126
+ clean_ghosts( el );
127
+
128
+ // Prevent lags during page load by making this asynchronous.
129
+ window.setTimeout( function() {
130
+ el.select2(options);
131
+ }, 1);
132
+ };
133
+
134
+ // Initialize select list with ajax source.
135
+ var upgrade_ajax = function upgrade_ajax() {
136
+ var format_item = function format_item( item ) {
137
+ return item.val;
138
+ };
139
+
140
+ var get_id = function get_id( item ) {
141
+ return item.key;
142
+ };
143
+
144
+ var init_selection = function init_selection( me, callback ) {
145
+ var vals = me.val(),
146
+ data = [],
147
+ plain = [];
148
+
149
+ jQuery( vals.split(',') ).each(function () {
150
+ var item = this.split('::');
151
+ plain.push( item[0] );
152
+ data.push( { key: item[0], val: item[1] } );
153
+ });
154
+
155
+ me.val( plain.join(',') );
156
+ callback( data );
157
+ };
158
+
159
+ var el = jQuery( this ),
160
+ options = {
161
+ 'closeOnSelect': false,
162
+ 'width': '100%',
163
+ 'multiple': true,
164
+ 'minimumInputLength': 1,
165
+ 'ajax': {
166
+ url: el.attr( 'data-select-ajax' ),
167
+ dataType: 'json',
168
+ quietMillis: 100,
169
+ cache: true,
170
+ data: function(term, page) {
171
+ return {
172
+ q: term,
173
+ };
174
+ },
175
+ results: function(data, page) {
176
+ return {
177
+ results: data.items
178
+ };
179
+ }
180
+ },
181
+ 'id': get_id,
182
+ 'formatResult': format_item,
183
+ 'formatSelection': format_item,
184
+ 'initSelection': init_selection
185
+ };
186
+
187
+ if ( el.data( 'wpmui-select' ) === '1' ) { return; }
188
+ el.data( 'wpmui-select', '1' );
189
+ clean_ghosts( el );
190
+
191
+ // Prevent lags during page load by making this asynchronous.
192
+ window.setTimeout( function() {
193
+ el.select2(options);
194
+ }, 1);
195
+ };
196
+
197
+ if ( 'function' === typeof jQuery.fn.each2 ) {
198
+ items.each2( upgrade_item );
199
+ ajax_items.each2( upgrade_ajax );
200
+ } else {
201
+ items.each( upgrade_item );
202
+ ajax_items.each( upgrade_ajax );
203
+ }
204
+
205
+ };
206
+
207
+ /**
208
+ * Displays a WordPress-like message to the user.
209
+ *
210
+ * @since 1.0.0
211
+ * @param string|object args Message options object or message-text.
212
+ * args: {
213
+ * 'message': '...'
214
+ * 'type': 'ok|err' // Style
215
+ * 'close': true // Show close button?
216
+ * 'parent': '.wrap' // Element that displays the message
217
+ * 'insert_after': 'h2' // Inside the parent the message
218
+ * // will be displayed after the
219
+ * // first element of this type.
220
+ * // Set to false to insert at top.
221
+ * 'id': 'msg-ok' // When set to a string value then the
222
+ * // the first call to "message()" will
223
+ * // insert a new message and the next
224
+ * // call will update the existing element.
225
+ * 'class': 'msg1' // Additional CSS class.
226
+ * 'details': obj // Details for error-type message.
227
+ * }
228
+ */
229
+ wpmUi.message = function message( args ) {
230
+ var parent, msg_box, btn_close, need_insert, debug;
231
+ _init();
232
+
233
+ // Hides the message again, e.g. when user clicks the close icon.
234
+ var hide_message = function hide_message( ev ) {
235
+ ev.preventDefault();
236
+ msg_box.remove();
237
+ return false;
238
+ };
239
+
240
+ // Toggle the error-details
241
+ var toggle_debug = function toggle_debug( ev ) {
242
+ var me = jQuery( this ).closest( '.wpmui-msg' );
243
+ me.find( '.debug' ).toggle();
244
+ };
245
+
246
+ if ( 'undefined' === typeof args ) { return false; }
247
+
248
+ if ( 'string' === typeof args || args instanceof Array ) {
249
+ args = { 'message': args };
250
+ }
251
+
252
+ if ( args['message'] instanceof Array ) {
253
+ args['message'] = args['message'].join( '<br />' );
254
+ }
255
+
256
+ if ( ! args['message'] ) { return false; }
257
+
258
+ args['type'] = undefined === args['type'] ? 'ok' : args['type'].toString().toLowerCase();
259
+ args['close'] = undefined === args['close'] ? true : args['close'];
260
+ args['parent'] = undefined === args['parent'] ? '.wrap' : args['parent'];
261
+ args['insert_after'] = undefined === args['insert_after'] ? 'h2' : args['insert_after'];
262
+ args['id'] = undefined === args['id'] ? '' : args['id'].toString().toLowerCase();
263
+ args['class'] = undefined === args['class'] ? '' : args['class'].toString().toLowerCase();
264
+ args['details'] = undefined === args['details'] ? false : args['details'];
265
+
266
+ if ( args['type'] === 'error' || args['type'] === 'red' ) { args['type'] = 'err'; }
267
+ if ( args['type'] === 'success' || args['type'] === 'green' ) { args['type'] = 'ok'; }
268
+
269
+ parent = jQuery( args['parent'] ).first();
270
+ if ( ! parent.length ) { return false; }
271
+
272
+ if ( args['id'] && jQuery( '.wpmui-msg[data-id="' + args['id'] + '"]' ).length ) {
273
+ msg_box = jQuery( '.wpmui-msg[data-id="' + args['id'] + '"]' ).first();
274
+ need_insert = false;
275
+ } else {
276
+ msg_box = jQuery( '<div><p></p></div>' );
277
+ if ( args['id'] ) { msg_box.attr( 'data-id', args['id'] ); }
278
+ need_insert = true;
279
+ }
280
+ msg_box.find( 'p' ).html( args['message'] );
281
+
282
+ if ( args['type'] === 'err' && args['details'] && window.JSON ) {
283
+ jQuery( '<div class="debug" style="display:none"></div>' )
284
+ .appendTo( msg_box )
285
+ .text( JSON.stringify( args['details'] ) );
286
+ jQuery( '<i class="dashicons dashicons-editor-help light"></i>' )
287
+ .prependTo( msg_box.find( 'p:first' ) )
288
+ .click( toggle_debug )
289
+ .after( ' ' );
290
+ }
291
+
292
+ msg_box.removeClass().addClass( 'updated wpmui-msg ' + args['class'] );
293
+ if ( 'err' === args['type'] ) {
294
+ msg_box.addClass( 'error' );
295
+ }
296
+
297
+ if ( need_insert ) {
298
+ if ( args['close'] ) {
299
+ btn_close = jQuery( '<a href="#" class="wpmui-close">&times;</a>' );
300
+ btn_close.prependTo( msg_box );
301
+
302
+ btn_close.click( hide_message );
303
+ }
304
+
305
+ if ( args['insert_after'] && parent.find( args['insert_after'] ).length ) {
306
+ parent = parent.find( args['insert_after'] ).first();
307
+ parent.after( msg_box );
308
+ } else {
309
+ parent.prepend( msg_box );
310
+ }
311
+ }
312
+
313
+ return true;
314
+ };
315
+
316
+ /**
317
+ * Displays confirmation box to the user.
318
+ *
319
+ * The layer is displayed in the upper half of the parent element and is by
320
+ * default modal.
321
+ * Note that the confirmation is asynchronous and the functions return value
322
+ * only indicates if the confirmation message was created, and not the users
323
+ * response!
324
+ *
325
+ * Also this is a "disponsable" function which does not create DOM elements
326
+ * that can be re-used. All elements are temporary and are removed when the
327
+ * confirmation is closed. Only 1 confirmation should be displayed at a time.
328
+ *
329
+ * @since 1.0.14
330
+ * @param object args {
331
+ * Confirmation options.
332
+ *
333
+ * string message
334
+ * bool modal
335
+ * string layout 'fixed' or 'absolute'
336
+ * jQuery parent A jQuery object or selector
337
+ * array buttons Default is ['OK']
338
+ * function(key) callback Receives array-index of the pressed button
339
+ * }
340
+ * @return bool True if the confirmation is created correctly.
341
+ */
342
+ wpmUi.confirm = function confirm( args ) {
343
+ var parent, modal, container, el_msg, el_btn, ind, item, primary_button;
344
+
345
+ if ( ! args instanceof Object ) { return false; }
346
+ if ( undefined === args['message'] ) { return false; }
347
+
348
+ args['modal'] = undefined === args['modal'] ? true : args['modal'];
349
+ args['layout'] = undefined === args['layout'] ? 'fixed' : args['layout'];
350
+ args['parent'] = undefined === args['parent'] ? _body : args['parent'];
351
+ args['buttons'] = undefined === args['buttons'] ? ['OK'] : args['buttons'];
352
+ args['callback'] = undefined === args['callback'] ? false : args['callback'];
353
+
354
+ parent = jQuery( args['parent'] );
355
+
356
+ function handle_close() {
357
+ var me = jQuery( this ),
358
+ key = parseInt( me.data( 'key' ) );
359
+
360
+ modal.remove();
361
+ container.remove();
362
+
363
+ if ( 'function' === typeof args['callback'] ) {
364
+ args['callback']( key );
365
+ }
366
+ }
367
+
368
+ if ( args['modal'] ) {
369
+ modal = jQuery( '<div class="wmui-confirm-modal"></div>' )
370
+ .css( { 'position': args['layout'] } )
371
+ .appendTo( parent );
372
+ }
373
+
374
+ container = jQuery( '<div class="wpmui-confirm-box"></div>' )
375
+ .css( { 'position': args['layout'] } )
376
+ .appendTo( parent );
377
+
378
+ el_msg = jQuery( '<div class="wpmui-confirm-msg"></div>' )
379
+ .html( args['message'] );
380
+
381
+ el_btn = jQuery( '<div class="wpmui-confirm-btn"></div>' );
382
+ primary_button = true;
383
+ for ( ind = 0; ind < args['buttons'].length; ind += 1 ) {
384
+ item = jQuery( '<button></button>' )
385
+ .html( args['buttons'][ind] )
386
+ .addClass( primary_button ? 'button-primary' : 'button-secondary' )
387
+ .data( 'key', ind )
388
+ .click( handle_close )
389
+ .prependTo( el_btn );
390
+ primary_button = false;
391
+ }
392
+
393
+ el_msg.appendTo( container );
394
+ el_btn.appendTo( container );
395
+
396
+ return true;
397
+ };
398
+
399
+ /**
400
+ * Attaches a tooltip to the specified element.
401
+ *
402
+ * @since 1.0.0
403
+ * @param jQuery el The host element that receives the tooltip.
404
+ * @param object|string args The tooltip options. Either a string containing
405
+ * the toolip message (HTML code) or an object with details:
406
+ * - content
407
+ * - trigger [hover|click]
408
+ * - pos [top|bottom|left|right]
409
+ * - class
410
+ */
411
+ wpmUi.tooltip = function tooltip( el, args ) {
412
+ var tip, parent;
413
+ _init();
414
+
415
+ // Positions the tooltip according to the function args.
416
+ var position_tip = function position_tip( tip ) {
417
+ var tip_width = tip.outerWidth(),
418
+ tip_height = tip.outerHeight(),
419
+ tip_padding = 5,
420
+ el_width = el.outerWidth(),
421
+ el_height = el.outerHeight(),
422
+ pos = {};
423
+
424
+ pos['left'] = (el_width - tip_width) / 2;
425
+ pos['top'] = (el_height - tip_height) / 2;
426
+ pos[ args['pos'] ] = 'auto';
427
+
428
+ switch ( args['pos'] ) {
429
+ case 'top': pos['bottom'] = el_height + tip_padding; break;
430
+ case 'bottom': pos['top'] = el_height + tip_padding; break;
431
+ case 'left': pos['right'] = el_width + tip_padding; break;
432
+ case 'right': pos['left'] = el_width + tip_padding; break;
433
+ }
434
+ tip.css(pos);
435
+ };
436
+
437
+ // Make the tooltip visible.
438
+ var show_tip = function show_tip( ev ) {
439
+ var tip = jQuery( this )
440
+ .closest( '.wpmui-tip-box' )
441
+ .find( '.wpmui-tip' );
442
+
443
+ tip.addClass( 'wpmui-visible' );
444
+ tip.show();
445
+ position_tip( tip );
446
+ window.setTimeout( function() { position_tip( tip ); }, 35 );
447
+ };
448
+
449
+ // Hide the tooltip.
450
+ var hide_tip = function hide_tip( ev ) {
451
+ var tip = jQuery( this )
452
+ .closest( '.wpmui-tip-box' )
453
+ .find( '.wpmui-tip' );
454
+
455
+ tip.removeClass( 'wpmui-visible' );
456
+ tip.hide();
457
+ };
458
+
459
+ // Toggle the tooltip state.
460
+ var toggle_tip = function toggle_tip( ev ) {
461
+ if ( tip.hasClass( 'wpmui-visible' ) ) {
462
+ hide_tip.call(this, ev);
463
+ } else {
464
+ show_tip.call(this, ev);
465
+ }
466
+ };
467
+
468
+ if ( 'string' === typeof args ) {
469
+ args = { 'content': args };
470
+ }
471
+ if ( undefined === args['content'] ) {
472
+ return false;
473
+ }
474
+ el = jQuery( el );
475
+ if ( ! el.length ) {
476
+ return false;
477
+ }
478
+
479
+ args['trigger'] = undefined === args['trigger'] ? 'hover' : args['trigger'].toString().toLowerCase();
480
+ args['pos'] = undefined === args['pos'] ? 'top' : args['pos'].toString().toLowerCase();
481
+ args['class'] = undefined === args['class'] ? '' : args['class'].toString().toLowerCase();
482
+
483
+ parent = el.parent();
484
+ if ( ! parent.hasClass( 'wpmui-tip-box' ) ) {
485
+ parent = el
486
+ .wrap( '<span class="wpmui-tip-box"></span>' )
487
+ .parent()
488
+ .addClass( args['class'] + '-box' );
489
+ }
490
+
491
+ tip = parent.find( '> .wpmui-tip' );
492
+ el.off();
493
+
494
+ if ( ! tip.length ) {
495
+ tip = jQuery( '<div class="wpmui-tip"></div>' );
496
+ tip
497
+ .addClass( args['class'] )
498
+ .addClass( args['pos'] )
499
+ .appendTo( el.parent() )
500
+ .hide();
501
+
502
+ if ( ! isNaN( args['width'] ) ) {
503
+ tip.width( args['width'] );
504
+ }
505
+ }
506
+
507
+ if ( 'hover' === args['trigger'] ) {
508
+ el.on( 'mouseenter', show_tip ).on( 'mouseleave', hide_tip );
509
+ } else if ( 'click' === args['trigger'] ) {
510
+ el.on( 'click', toggle_tip );
511
+ }
512
+
513
+ tip.html( args['content'] );
514
+
515
+ return true;
516
+ };
517
+
518
+ /**
519
+ * Checks the DOM and creates tooltips for the DOM Elements that specify
520
+ * tooltip details.
521
+ *
522
+ * Function can be called repeatedly and will refresh the tooltip contents
523
+ * if they changed since last call.
524
+ *
525
+ * @since 1.0.8
526
+ */
527
+ wpmUi.upgrade_tooltips = function upgrade_tooltips() {
528
+ var el = jQuery( '[data-tooltip]' );
529
+
530
+ el.each(function() {
531
+ var me = jQuery( this ),
532
+ args = {
533
+ 'content': me.attr( 'data-tooltip' ),
534
+ 'pos': me.attr( 'data-pos' ),
535
+ 'trigger': me.attr( 'data-trigger' ),
536
+ 'class': me.attr( 'data-class' ),
537
+ 'width': me.attr( 'data-width' )
538
+ };
539
+
540
+ wpmUi.tooltip( me, args );
541
+ });
542
+ };
543
+
544
+ /*
545
+ * Converts any value to an object.
546
+ * Typically used to convert an array to an object.
547
+ *
548
+ * @since 1.0.6
549
+ * @param mixed value This value is converted to an JS-object.
550
+ * @return object
551
+ */
552
+ wpmUi.obj = function( value ) {
553
+ var obj = {};
554
+
555
+ if ( value instanceof Object ) {
556
+ obj = value;
557
+ }
558
+ else if ( value instanceof Array ) {
559
+ if ( typeof value.reduce === 'function' ) {
560
+ obj = value.reduce(function(o, v, i) {
561
+ o[i] = v;
562
+ return o;
563
+ }, {});
564
+ } else {
565
+ for ( var i = value.length - 1; i > 0; i -= 1 ) {
566
+ if ( value[i] !== undefined ) {
567
+ obj[i] = value[i];
568
+ }
569
+ }
570
+ }
571
+ }
572
+ else if ( typeof value === 'string' ) {
573
+ obj.scalar = value;
574
+ }
575
+ else if ( typeof value === 'number' ) {
576
+ obj.scalar = value;
577
+ }
578
+ else if ( typeof value === 'boolean' ) {
579
+ obj.scalar = value;
580
+ }
581
+
582
+ return obj;
583
+ };
584
+
585
+
586
+ // ==========
587
+ // == Private helper functions =============================================
588
+ // ==========
589
+
590
+
591
+ /**
592
+ * Initialize the object
593
+ *
594
+ * @since 1.0.0
595
+ * @private
596
+ */
597
+ function _init() {
598
+ if ( null !== _html ) { return; }
599
+
600
+ _doc = jQuery( document );
601
+ _html = jQuery( 'html' );
602
+ _body = jQuery( 'body' );
603
+
604
+ _init_boxes();
605
+ _init_tabs();
606
+
607
+ if ( ! _body.hasClass( 'no-auto-init' ) ) {
608
+ wpmUi.upgrade_multiselect();
609
+ wpmUi.upgrade_tooltips();
610
+ }
611
+
612
+ wpmUi.binary = new WpmUiBinary();
613
+ }
614
+
615
+ /**
616
+ * Shows a modal background layer
617
+ *
618
+ * @since 1.0.0
619
+ * @private
620
+ */
621
+ function _make_modal() {
622
+ if ( null === _modal_overlay ) {
623
+ _modal_overlay = jQuery( '<div></div>' )
624
+ .addClass( 'wpmui-overlay' )
625
+ .appendTo( _body );
626
+ }
627
+ _body.addClass( 'wpmui-has-overlay' );
628
+ _html.addClass( 'wpmui-no-scroll' );
629
+ }
630
+
631
+ /**
632
+ * Closes the modal background layer again.
633
+ *
634
+ * @since 1.0.0
635
+ * @private
636
+ */
637
+ function _close_modal() {
638
+ _body.removeClass( 'wpmui-has-overlay' );
639
+ _html.removeClass( 'wpmui-no-scroll' );
640
+ }
641
+
642
+ /**
643
+ * Initialize the WordPress-ish accordeon boxes:
644
+ * Open or close boxes when user clicks the toggle icon.
645
+ *
646
+ * @since 1.0.0
647
+ */
648
+ function _init_boxes() {
649
+ // Toggle the box state (open/closed)
650
+ var toggle_box = function toggle_box( ev ) {
651
+ var box = jQuery( this ).closest( '.wpmui-box' );
652
+ ev.preventDefault();
653
+
654
+ // Don't toggle the box if it is static.
655
+ if ( box.hasClass( 'static' ) ) { return false; }
656
+
657
+ box.toggleClass( 'closed' );
658
+ return false;
659
+ };
660
+
661
+ _body.on( 'click', '.wpmui-box > h3', toggle_box );
662
+ _body.on( 'click', '.wpmui-box > h3 > .toggle', toggle_box );
663
+ }
664
+
665
+ /**
666
+ * Initialize the WordPress-ish tab navigation:
667
+ * Change the tab on click.
668
+ *
669
+ * @since 1.0.0
670
+ */
671
+ function _init_tabs() {
672
+ // Toggle the box state (open/closed)
673
+ var activate_tab = function activate_tab( ev ) {
674
+ var tab = jQuery( this ),
675
+ all_tabs = tab.closest( '.wpmui-tabs' ),
676
+ content = all_tabs.next( '.wpmui-tab-contents' ),
677
+ active = all_tabs.find( '.active.tab' ),
678
+ sel_tab = tab.attr( 'href' ),
679
+ sel_active = active.attr( 'href' ),
680
+ content_tab = content.find( sel_tab ),
681
+ content_active = content.find( sel_active );
682
+
683
+ // Close previous tab.
684
+ if ( ! tab.hasClass( 'active' ) ) {
685
+ active.removeClass( 'active' );
686
+ content_active.removeClass( 'active' );
687
+ }
688
+
689
+ // Open selected tab.
690
+ tab.addClass( 'active' );
691
+ content_tab.addClass( 'active' );
692
+
693
+ ev.preventDefault();
694
+ return false;
695
+ };
696
+
697
+ _body.on( 'click', '.wpmui-tabs .tab', activate_tab );
698
+ }
699
+
700
+ // Initialize the object.
701
+ jQuery(function() {
702
+ _init();
703
+ });
704
+
705
+
706
+
707
+
708
+
709
+
710
+
711
+
712
+
713
+ /*============================*\
714
+ ================================
715
+ == ==
716
+ == WINDOW ==
717
+ == ==
718
+ ================================
719
+ \*============================*/
720
+
721
+
722
+
723
+ /**
724
+ * Popup window.
725
+ *
726
+ * @type WpmUiWindow
727
+ * @since 1.0.0
728
+ */
729
+ var WpmUiWindow = function() {
730
+
731
+ /**
732
+ * Backreference to the WpmUiWindow object.
733
+ *
734
+ * @since 1.0.0
735
+ * @private
736
+ */
737
+ var _me = this;
738
+
739
+
740
+ /**
741
+ * Stores the state of the window.
742
+ *
743
+ * @since 1.0.0
744
+ * @private
745
+ */
746
+ var _visible = false;
747
+
748
+ /**
749
+ * Defines if a modal background should be visible.
750
+ *
751
+ * @since 1.0.0
752
+ * @private
753
+ */
754
+ var _modal = false;
755
+
756
+ /**
757
+ * Size of the window.
758
+ *
759
+ * @since 1.0.0
760
+ * @private
761
+ */
762
+ var _width = 740;
763
+
764
+ /**
765
+ * Size of the window.
766
+ *
767
+ * @since 1.0.0
768
+ * @private
769
+ */
770
+ var _height = 400;
771
+
772
+ /**
773
+ * Title of the window.
774
+ *
775
+ * @since 1.0.0
776
+ * @private
777
+ */
778
+ var _title = 'Window';
779
+
780
+ /**
781
+ * Content of the window. Either a jQuery selector/object or HTML code.
782
+ *
783
+ * @since 1.0.0
784
+ * @private
785
+ */
786
+ var _content = '';
787
+
788
+ /**
789
+ * Class names to add to the popup window
790
+ *
791
+ * @since 1.0.14
792
+ * @private
793
+ */
794
+ var _classes = '';
795
+
796
+ /**
797
+ * Is set to true when new content is assigned to the window.
798
+ *
799
+ * @since 1.0.0
800
+ * @private
801
+ */
802
+ var _content_changed = false;
803
+
804
+ /**
805
+ * Flag is set to true when the window size was changed.
806
+ * After the window was updated we will additionally check if it is
807
+ * visible in the current viewport.
808
+ *
809
+ * @since 1.0.0
810
+ * @private
811
+ */
812
+ var _need_check_size = false;
813
+
814
+
815
+ /**
816
+ * Called after the window is made visible.
817
+ *
818
+ * @type Callback function.
819
+ * @since 1.0.0
820
+ * @private
821
+ */
822
+ var _onshow = null;
823
+
824
+ /**
825
+ * Called after the window was hidden.
826
+ *
827
+ * @type Callback function.
828
+ * @since 1.0.0
829
+ * @private
830
+ */
831
+ var _onhide = null;
832
+
833
+ /**
834
+ * Called after the window was hidden + destroyed.
835
+ *
836
+ * @type Callback function.
837
+ * @since 1.0.0
838
+ * @private
839
+ */
840
+ var _onclose = null;
841
+
842
+
843
+ /**
844
+ * The popup window element.
845
+ *
846
+ * @type jQuery object.
847
+ * @since 1.0.0
848
+ * @private
849
+ */
850
+ var _wnd = null;
851
+
852
+ /**
853
+ * Title bar inside the window.
854
+ *
855
+ * @type jQuery object.
856
+ * @since 1.0.0
857
+ * @private
858
+ */
859
+ var _el_title = null;
860
+
861
+ /**
862
+ * Close button inside the title bar.
863
+ *
864
+ * @type jQuery object.
865
+ * @since 1.0.0
866
+ * @private
867
+ */
868
+ var _btn_close = null;
869
+
870
+ /**
871
+ * Content section of the window.
872
+ *
873
+ * @type jQuery object.
874
+ * @since 1.0.0
875
+ * @private
876
+ */
877
+ var _el_content = null;
878
+
879
+ /**
880
+ * Window status: visible, hidden, closing
881
+ *
882
+ * @type string
883
+ * @since 1.0.14
884
+ * @private
885
+ */
886
+ var _status = 'hidden';
887
+
888
+
889
+ // ==============================
890
+ // == Public functions ==========
891
+
892
+
893
+ /**
894
+ * Sets the modal property.
895
+ *
896
+ * @since 1.0.0
897
+ */
898
+ this.modal = function modal( state ) {
899
+ _modal = ( state ? true : false );
900
+
901
+ _update_window();
902
+ return _me;
903
+ };
904
+
905
+ /**
906
+ * Sets the window size.
907
+ *
908
+ * @since 1.0.0
909
+ */
910
+ this.size = function size( width, height ) {
911
+ var new_width = Math.abs( parseFloat( width ) ),
912
+ new_height = Math.abs( parseFloat( height ) );
913
+
914
+ if ( ! isNaN( new_width ) ) { _width = new_width; }
915
+ if ( ! isNaN( new_height ) ) { _height = new_height; }
916
+
917
+ _need_check_size = true;
918
+ _update_window();
919
+ return _me;
920
+ };
921
+
922
+ /**
923
+ * Sets the window title.
924
+ *
925
+ * @since 1.0.0
926
+ */
927
+ this.title = function title( new_title ) {
928
+ _title = new_title;
929
+
930
+ _update_window();
931
+ return _me;
932
+ };
933
+
934
+ /**
935
+ * Sets the window content.
936
+ *
937
+ * @since 1.0.0
938
+ */
939
+ this.content = function content( data ) {
940
+ _content = data;
941
+ _need_check_size = true;
942
+ _content_changed = true;
943
+
944
+ _update_window();
945
+ return _me;
946
+ };
947
+
948
+ /**
949
+ * Sets optional classes for the main window element.
950
+ *
951
+ * @since 1.0.14
952
+ */
953
+ this.set_class = function set_class( class_names ) {
954
+ _classes = class_names;
955
+ _content_changed = true;
956
+
957
+ _update_window();
958
+ return _me;
959
+ };
960
+
961
+ /**
962
+ * Define a callback that is executed after popup is made visible.
963
+ *
964
+ * @since 1.0.0
965
+ */
966
+ this.onshow = function onshow( callback ) {
967
+ _onshow = callback;
968
+ return _me;
969
+ };
970
+
971
+ /**
972
+ * Define a callback that is executed after popup is hidden.
973
+ *
974
+ * @since 1.0.0
975
+ */
976
+ this.onhide = function onhide( callback ) {
977
+ _onhide = callback;
978
+ return _me;
979
+ };
980
+
981
+ /**
982
+ * Define a callback that is executed after popup was destroyed.
983
+ *
984
+ * @since 1.0.0
985
+ */
986
+ this.onclose = function onclose( callback ) {
987
+ _onclose = callback;
988
+ return _me;
989
+ };
990
+
991
+ /**
992
+ * Add a loading-overlay to the popup or remove the overlay again.
993
+ *
994
+ * @since 1.0.0
995
+ * @param bool state True will add the overlay, false removes it.
996
+ */
997
+ this.loading = function loading( state ) {
998
+ if ( state ) {
999
+ _wnd.addClass( 'wpmui-loading' );
1000
+ } else {
1001
+ _wnd.removeClass( 'wpmui-loading' );
1002
+ }
1003
+ return _me;
1004
+ };
1005
+
1006
+ /**
1007
+ * Shows a confirmation box inside the popup
1008
+ *
1009
+ * @since 1.0.14
1010
+ * @param object args Message options
1011
+ */
1012
+ this.confirm = function confirm( args ) {
1013
+ if ( _status !== 'visible' ) { return _me; }
1014
+ if ( ! args instanceof Object ) { return _me; }
1015
+
1016
+ args['layout'] = 'absolute';
1017
+ args['parent'] = _wnd;
1018
+
1019
+ wpmUi.confirm( args );
1020
+
1021
+ return _me;
1022
+ };
1023
+
1024
+ /**
1025
+ * Show the popup window.
1026
+ *
1027
+ * @since 1.0.0
1028
+ */
1029
+ this.show = function show() {
1030
+ _visible = true;
1031
+ _need_check_size = true;
1032
+ _status = 'visible';
1033
+
1034
+ _update_window();
1035
+
1036
+ if ( typeof _onshow === 'function' ) {
1037
+ _onshow.apply( _me, [ _me.$() ] );
1038
+ }
1039
+ return _me;
1040
+ };
1041
+
1042
+ /**
1043
+ * Hide the popup window.
1044
+ *
1045
+ * @since 1.0.0
1046
+ */
1047
+ this.hide = function hide() {
1048
+ _visible = false;
1049
+ _status = 'hidden';
1050
+
1051
+ _update_window();
1052
+
1053
+ if ( typeof _onhide === 'function' ) {
1054
+ _onhide.apply( _me, [ _me.$() ] );
1055
+ }
1056
+ return _me;
1057
+ };
1058
+
1059
+ /**
1060
+ * Completely removes the popup window.
1061
+ *
1062
+ * @since 1.0.0
1063
+ */
1064
+ this.close = function close() {
1065
+ // Prevent infinite loop when calling .close inside onclose handler.
1066
+ if ( _status === 'closing' ) { return; }
1067
+
1068
+ _me.hide();
1069
+
1070
+ _status = 'closing';
1071
+
1072
+ if ( typeof _onclose === 'function' ) {
1073
+ _onclose.apply( _me, [ _me.$() ] );
1074
+ }
1075
+
1076
+ _unhook();
1077
+ _wnd.remove();
1078
+ _wnd = null;
1079
+ };
1080
+
1081
+ /**
1082
+ * Returns the jQuery object of the window
1083
+ *
1084
+ * @since 1.0.0
1085
+ */
1086
+ this.$ = function $() {
1087
+ return _wnd;
1088
+ };
1089
+
1090
+
1091
+ // ==============================
1092
+ // == Private functions =========
1093
+
1094
+
1095
+ /**
1096
+ * Create the DOM elements for the window.
1097
+ *
1098
+ * @since 1.0.0
1099
+ * @private
1100
+ */
1101
+ function _init() {
1102
+ // Create the DOM elements.
1103
+ _wnd = jQuery( '<div class="wpmui-wnd"></div>' );
1104
+ _el_title = jQuery( '<div class="wpmui-wnd-title"><span class="the-title"></span></div>' );
1105
+ _btn_close = jQuery( '<a href="#" class="wpmui-wnd-close"><i class="dashicons dashicons-no-alt"></i></a>' );
1106
+ _el_content = jQuery( '<div class="wpmui-wnd-content"></div>' );
1107
+
1108
+ // Attach the window to the current page.
1109
+ _el_title.appendTo( _wnd );
1110
+ _el_content.appendTo( _wnd );
1111
+ _btn_close.appendTo( _el_title );
1112
+ _wnd.appendTo( _body ).hide();
1113
+
1114
+ // Add event handlers.
1115
+ _hook();
1116
+
1117
+ // Refresh the window layout.
1118
+ _visible = false;
1119
+ _update_window();
1120
+ }
1121
+
1122
+ /**
1123
+ * Add event listeners.
1124
+ *
1125
+ * @since 1.0.0
1126
+ * @private
1127
+ */
1128
+ function _hook() {
1129
+ if ( _wnd ) {
1130
+ _wnd.on( 'click', '.wpmui-wnd-close', _me.close );
1131
+ _wnd.on( 'click', 'thead .check-column :checkbox', _toggle_checkboxes );
1132
+ _wnd.on( 'click', 'tfoot .check-column :checkbox', _toggle_checkboxes );
1133
+ _wnd.on( 'click', 'tbody .check-column :checkbox', _check_checkboxes );
1134
+ jQuery( window ).on( 'resize', _check_size );
1135
+ }
1136
+ }
1137
+
1138
+ /**
1139
+ * Remove all event listeners.
1140
+ *
1141
+ * @since 1.0.0
1142
+ * @private
1143
+ */
1144
+ function _unhook() {
1145
+ if ( _wnd ) {
1146
+ _wnd.off( 'click', '.wpmui-wnd-close', _me.close );
1147
+ _wnd.off( 'click', '.check-column :checkbox', _toggle_checkboxes );
1148
+ jQuery( window ).off( 'resize', _check_size );
1149
+ }
1150
+ }
1151
+
1152
+ /**
1153
+ * Updates the size and position of the window.
1154
+ *
1155
+ * @since 1.0.0
1156
+ * @private
1157
+ */
1158
+ function _update_window( width, height ) {
1159
+ if ( ! _wnd ) { return false; }
1160
+
1161
+ width = width || _width;
1162
+ height = height || _height;
1163
+
1164
+ var styles = {
1165
+ 'width': width,
1166
+ 'height': height,
1167
+ 'margin-left': -1 * (width / 2),
1168
+ 'margin-top': -1 * (height / 2)
1169
+ };
1170
+
1171
+ // Window title.
1172
+ _el_title.find( '.the-title' ).text( _title );
1173
+
1174
+ // Display a copy of the specified content.
1175
+ if ( _content_changed ) {
1176
+ // Remove the current button bar.
1177
+ _wnd.find( '.buttons' ).remove();
1178
+ _wnd.removeClass();
1179
+ _wnd.addClass( 'wpmui-wnd no-buttons' );
1180
+
1181
+ // Update the content.
1182
+ if ( _content instanceof jQuery ) {
1183
+ _el_content.html( _content.html() );
1184
+ } else {
1185
+ _el_content.html( jQuery( _content ).html() );
1186
+ }
1187
+
1188
+ // Move the buttons out of the content area.
1189
+ var buttons = _el_content.find( '.buttons' );
1190
+ if ( buttons.length ) {
1191
+ buttons.appendTo( _wnd );
1192
+ _wnd.removeClass( 'no-buttons' );
1193
+ }
1194
+
1195
+ // Add custom class to the popup.
1196
+ _wnd.addClass( _classes );
1197
+
1198
+ _content_changed = false;
1199
+ }
1200
+
1201
+ // Size and position.
1202
+ if ( _wnd.is( ':visible' ) ) {
1203
+ _wnd.animate(styles, 200);
1204
+ } else {
1205
+ _wnd.css(styles);
1206
+ }
1207
+
1208
+ if ( _modal_overlay instanceof jQuery ) {
1209
+ _modal_overlay.off( 'click', _modal_close );
1210
+ }
1211
+
1212
+ // Show or hide the window and modal background.
1213
+ if ( _visible ) {
1214
+ _wnd.show();
1215
+ if ( _modal ) { _make_modal(); }
1216
+ _modal_overlay.on( 'click', _modal_close );
1217
+
1218
+ if ( _need_check_size ) {
1219
+ _need_check_size = false;
1220
+ _check_size();
1221
+ }
1222
+ } else {
1223
+ _wnd.hide();
1224
+ _close_modal();
1225
+ }
1226
+ }
1227
+
1228
+ /**
1229
+ * Closes the window when user clicks on the modal overlay
1230
+ *
1231
+ * @since 1.0.0
1232
+ * @private
1233
+ */
1234
+ function _modal_close() {
1235
+ if ( ! _wnd ) { return false; }
1236
+ if ( ! _modal_overlay instanceof jQuery ) { return false; }
1237
+
1238
+ _modal_overlay.off( 'click', _modal_close );
1239
+ _me.close();
1240
+ }
1241
+
1242
+
1243
+ /**
1244
+ * Makes sure that the popup window is not bigger than the viewport.
1245
+ *
1246
+ * @since 1.0.0
1247
+ * @private
1248
+ */
1249
+ function _check_size() {
1250
+ if ( ! _wnd ) { return false; }
1251
+
1252
+ var me = jQuery( this ), // this is jQuery( window )
1253
+ window_width = me.innerWidth(),
1254
+ window_height = me.innerHeight(),
1255
+ real_width = _width,
1256
+ real_height = _height;
1257
+
1258
+ if ( window_width < _width ) {
1259
+ real_width = window_width;
1260
+ }
1261
+ if ( window_height < _height ) {
1262
+ real_height = window_height;
1263
+ }
1264
+ _update_window( real_width, real_height );
1265
+ }
1266
+
1267
+ /**
1268
+ * Toggle all checkboxes in a WordPress-ish table when the user clicks
1269
+ * the check-all checkbox in the header or footer.
1270
+ *
1271
+ * @since 1.0.0
1272
+ * @private
1273
+ */
1274
+ function _toggle_checkboxes( ev ) {
1275
+ var chk = jQuery( this ),
1276
+ c = chk.prop( 'checked' ),
1277
+ toggle = (ev.shiftKey);
1278
+
1279
+ // Toggle checkboxes inside the table body
1280
+ chk
1281
+ .closest( 'table' )
1282
+ .children( 'tbody, thead, tfoot' )
1283
+ .filter( ':visible' )
1284
+ .children()
1285
+ .children( '.check-column' )
1286
+ .find( ':checkbox' )
1287
+ .prop( 'checked', c);
1288
+ }
1289
+
1290
+ /**
1291
+ * Toggle the check-all checkexbox in the header/footer in a
1292
+ * WordPress-ish table when a single checkbox in the body is changed.
1293
+ *
1294
+ * @since 1.0.0
1295
+ */
1296
+ function _check_checkboxes( ev ) {
1297
+ var chk = jQuery( this ),
1298
+ unchecked = chk
1299
+ .closest( 'tbody' )
1300
+ .find( ':checkbox' )
1301
+ .filter( ':visible' )
1302
+ .not( ':checked' );
1303
+
1304
+ chk
1305
+ .closest( 'table' )
1306
+ .children( 'thead, tfoot' )
1307
+ .find( ':checkbox' )
1308
+ .prop( 'checked', ( 0 === unchecked.length ) );
1309
+
1310
+ return true;
1311
+ }
1312
+
1313
+ // Initialize the popup window.
1314
+ _me = this;
1315
+ _init();
1316
+
1317
+ }; /* ** End: WpmUiWindow ** */
1318
+
1319
+
1320
+
1321
+
1322
+
1323
+
1324
+
1325
+
1326
+
1327
+ /*===============================*\
1328
+ ===================================
1329
+ == ==
1330
+ == AJAX-DATA ==
1331
+ == ==
1332
+ ===================================
1333
+ \*===============================*/
1334
+
1335
+
1336
+
1337
+
1338
+
1339
+ /**
1340
+ * Form Data object that is used to load or submit data via ajax.
1341
+ *
1342
+ * @type WpmUiAjaxData
1343
+ * @since 1.0.0
1344
+ */
1345
+ var WpmUiAjaxData = function( _ajaxurl, _default_action ) {
1346
+
1347
+ /**
1348
+ * Backreference to the WpmUiAjaxData object.
1349
+ *
1350
+ * @since 1.0.0
1351
+ * @private
1352
+ */
1353
+ var _me = this;
1354
+
1355
+ /**
1356
+ * An invisible iframe with name "wpmui_void", created by this object.
1357
+ *
1358
+ * @type jQuery object
1359
+ * @since 1.0.0
1360
+ * @private
1361
+ */
1362
+ var _void_frame = null;
1363
+
1364
+ /**
1365
+ * Data that is sent to the server.
1366
+ *
1367
+ * @type Object
1368
+ * @since 1.0.0
1369
+ * @private
1370
+ */
1371
+ var _data = {};
1372
+
1373
+ /**
1374
+ * Progress handler during upload/download.
1375
+ * Signature function( progress )
1376
+ * - progress .. Percentage complete or "-1" for "unknown"
1377
+ *
1378
+ * @type Callback function.
1379
+ * @since 1.0.0
1380
+ * @private
1381
+ */
1382
+ var _onprogress = null;
1383
+
1384
+ /**
1385
+ * Receives the server response after ajax call is finished.
1386
+ * Signature: function( response, okay, xhr )
1387
+ * - response .. Data received from the server.
1388
+ * - okay .. bool; false means an error occured.
1389
+ * - xhr .. XMLHttpRequest object.
1390
+ *
1391
+ * @type Callback function.
1392
+ * @since 1.0.0
1393
+ * @private
1394
+ */
1395
+ var _ondone = null;
1396
+
1397
+ /**
1398
+ * Feature detection: HTML5 upload/download progress events.
1399
+ *
1400
+ * @type bool
1401
+ * @since 1.0.0
1402
+ * @private
1403
+ */
1404
+ var _support_progress = false;
1405
+
1406
+ /**
1407
+ * Feature detection: HTML5 file API.
1408
+ *
1409
+ * @type bool
1410
+ * @since 1.0.0
1411
+ * @private
1412
+ */
1413
+ var _support_file_api = false;
1414
+
1415
+ /**
1416
+ * Feature detection: HTML5 FormData object.
1417
+ *
1418
+ * @type bool
1419
+ * @since 1.0.0
1420
+ * @private
1421
+ */
1422
+ var _support_form_data = false;
1423
+
1424
+
1425
+ // ==============================
1426
+ // == Public functions ==========
1427
+
1428
+
1429
+ /**
1430
+ * Define the data that is sent to the server.
1431
+ *
1432
+ * @since 1.0.0
1433
+ * @param mixed Data that is sent to the server. Either:
1434
+ * - Normal javascript object interpreted as key/value pairs.
1435
+ * - A jQuery object of the whole form element
1436
+ * - An URL-encoded string ("key=val&key2=val2")
1437
+ */
1438
+ this.data = function data( obj ) {
1439
+ _data = obj;
1440
+ return _me;
1441
+ };
1442
+
1443
+ /**
1444
+ * Returns an ajax-compatible version of the data object passed in.
1445
+ * This data object can be any of the values that is recognized by the
1446
+ * data() method above.
1447
+ *
1448
+ * @since 1.0.7
1449
+ * @param mixed obj
1450
+ * @return Object
1451
+ */
1452
+ this.extract_data = function extract_data( obj ) {
1453
+ _data = obj;
1454
+ return _get_data( '', false );
1455
+ };
1456
+
1457
+ /**
1458
+ * Define the upload/download progress callback.
1459
+ *
1460
+ * @since 1.0.0
1461
+ * @param function callback Progress handler.
1462
+ */
1463
+ this.onprogress = function onprogress( callback ) {
1464
+ _onprogress = callback;
1465
+ return _me;
1466
+ };
1467
+
1468
+ /**
1469
+ * Callback that receives the server response of the ajax request.
1470
+ *
1471
+ * @since 1.0.0
1472
+ * @param function callback
1473
+ */
1474
+ this.ondone = function ondone( callback ) {
1475
+ _ondone = callback;
1476
+ return _me;
1477
+ };
1478
+
1479
+ /**
1480
+ * Reset all configurations.
1481
+ *
1482
+ * @since 1.0.0
1483
+ */
1484
+ this.reset = function reset() {
1485
+ _data = {};
1486
+ _onprogress = null;
1487
+ _ondone = null;
1488
+ return _me;
1489
+ };
1490
+
1491
+ /**
1492
+ * Submit the specified data to the ajaxurl and pass the response to a
1493
+ * callback function. Server response can be any string.
1494
+ *
1495
+ * @since 1.0.0
1496
+ * @param action string The ajax action to execute.
1497
+ */
1498
+ this.load_text = function load_text( action ) {
1499
+ action = action || _default_action;
1500
+ _load( action, 'text' );
1501
+
1502
+ return _me;
1503
+ };
1504
+
1505
+ /**
1506
+ * Submit the specified data to the ajaxurl and pass the response to a
1507
+ * callback function. Server response must be a valid JSON string!
1508
+ *
1509
+ * @since 1.0.0
1510
+ * @param action string The ajax action to execute.
1511
+ */
1512
+ this.load_json = function load_json( action ) {
1513
+ action = action || _default_action;
1514
+ _load( action, 'json' );
1515
+
1516
+ return _me;
1517
+ };
1518
+
1519
+ /**
1520
+ * Submit the specified data to the ajaxurl and let the browser process
1521
+ * the response.
1522
+ * Use this function for example when the server returns a file that
1523
+ * should be downloaded.
1524
+ *
1525
+ * @since 1.0.0
1526
+ * @param string target Optional. The frame to target.
1527
+ * @param string action Optional. The ajax action to execute.
1528
+ */
1529
+ this.load_http = function load_http( target, action ) {
1530
+ target = target || 'wpmui_void';
1531
+ action = action || _default_action;
1532
+ _form_submit( action, target );
1533
+
1534
+ return _me;
1535
+ };
1536
+
1537
+
1538
+ // ==============================
1539
+ // == Private functions =========
1540
+
1541
+
1542
+ /**
1543
+ * Initialize the formdata object
1544
+ *
1545
+ * @since 1.0.0
1546
+ * @private
1547
+ */
1548
+ function _init() {
1549
+ // Initialize missing Ajax-URL: Use WordPress ajaxurl if possible.
1550
+ if ( ! _ajaxurl && typeof window.ajaxurl === 'string') {
1551
+ _ajaxurl = window.ajaxurl;
1552
+ }
1553
+
1554
+ // Initialize an invisible iframe for file downloads.
1555
+ _void_frame = _body.find( '#wpmui_void' );
1556
+
1557
+ if ( ! _void_frame.length ) {
1558
+ /**
1559
+ * Create the invisible iframe.
1560
+ * Usage: <form target="wpmui_void">...</form>
1561
+ */
1562
+ _void_frame = jQuery('<iframe></iframe>')
1563
+ .attr( 'name', 'wpmui_void' )
1564
+ .attr( 'id', 'wpmui_void' )
1565
+ .css({
1566
+ 'width': 1,
1567
+ 'height': 1,
1568
+ 'display': 'none',
1569
+ 'visibility': 'hidden',
1570
+ 'position': 'absolute',
1571
+ 'left': -1000,
1572
+ 'top': -1000
1573
+ })
1574
+ .hide()
1575
+ .appendTo( _body );
1576
+ }
1577
+
1578
+ // Find out what HTML5 feature we can use.
1579
+ _what_is_supported();
1580
+
1581
+ // Reset all configurations.
1582
+ _me.reset();
1583
+ }
1584
+
1585
+ /**
1586
+ * Feature detection
1587
+ *
1588
+ * @since 1.0.0
1589
+ * @private
1590
+ * @return bool
1591
+ */
1592
+ function _what_is_supported() {
1593
+ var inp = document.createElement( 'INPUT' );
1594
+ var xhr = new XMLHttpRequest();
1595
+
1596
+ // HTML 5 files API
1597
+ inp.type = 'file';
1598
+ _support_file_api = 'files' in inp;
1599
+
1600
+ // HTML5 ajax upload "progress" events
1601
+ _support_progress = !! (xhr && ( 'upload' in xhr ) && ( 'onprogress' in xhr.upload ));
1602
+
1603
+ // HTML5 FormData object
1604
+ _support_form_data = !! window.FormData;
1605
+ }
1606
+
1607
+ /**
1608
+ * Creates the XMLHttpReqest object used for the jQuery ajax calls.
1609
+ *
1610
+ * @since 1.0.0
1611
+ * @private
1612
+ * @return XMLHttpRequest
1613
+ */
1614
+ function _create_xhr() {
1615
+ var xhr = new window.XMLHttpRequest();
1616
+
1617
+ if ( _support_progress ) {
1618
+ // Upload progress
1619
+ xhr.upload.addEventListener( "progress", function( evt ) {
1620
+ if ( evt.lengthComputable ) {
1621
+ var percentComplete = evt.loaded / evt.total;
1622
+ _call_progress( percentComplete );
1623
+ } else {
1624
+ _call_progress( -1 );
1625
+ }
1626
+ }, false );
1627
+
1628
+ // Download progress
1629
+ xhr.addEventListener( "progress", function( evt ) {
1630
+ if ( evt.lengthComputable ) {
1631
+ var percentComplete = evt.loaded / evt.total;
1632
+ _call_progress( percentComplete );
1633
+ } else {
1634
+ _call_progress( -1 );
1635
+ }
1636
+ }, false );
1637
+ }
1638
+
1639
+ return xhr;
1640
+ }
1641
+
1642
+ /**
1643
+ * Calls the "onprogress" callback
1644
+ *
1645
+ * @since 1.0.0
1646
+ * @private
1647
+ * @param float value Percentage complete / -1 for "unknown"
1648
+ */
1649
+ function _call_progress( value ) {
1650
+ if ( _support_progress && typeof _onprogress === 'function' ) {
1651
+ _onprogress( value );
1652
+ }
1653
+ }
1654
+
1655
+ /**
1656
+ * Calls the "onprogress" callback
1657
+ *
1658
+ * @since 1.0.0
1659
+ * @private
1660
+ * @param response mixed The parsed server response.
1661
+ * @param okay bool False means there was an error.
1662
+ * @param xhr XMLHttpRequest
1663
+ */
1664
+ function _call_done( response, okay, xhr ) {
1665
+ _call_progress( 100 );
1666
+ if ( typeof _ondone === 'function' ) {
1667
+ _ondone( response, okay, xhr );
1668
+ }
1669
+ }
1670
+
1671
+ /**
1672
+ * Returns data object containing the data to submit.
1673
+ * The data object is either a plain javascript object or a FormData
1674
+ * object; this depends on the parameter "use_formdata" and browser-
1675
+ * support for FormData.
1676
+ *
1677
+ * @since 1.0.0
1678
+ * @private
1679
+ * @param string action
1680
+ * @param boolean use_formdata If set to true then we return FormData
1681
+ * when the browser supports it. If support is missing or
1682
+ * use_formdata is not true then the response is an object.
1683
+ * @return Object or FormData
1684
+ */
1685
+ function _get_data( action, use_formdata ) {
1686
+ var data = {};
1687
+ use_formdata = use_formdata && _support_form_data;
1688
+
1689
+ if ( _data instanceof jQuery ) {
1690
+
1691
+ // ===== CONVERT <form> to data object.
1692
+
1693
+ // WP-Editor needs some special attention first:
1694
+ _data.find( '.wp-editor-area' ).each(function() {
1695
+ var id = jQuery( this ).attr( 'id' ),
1696
+ sel = '#wp-' + id + '-wrap',
1697
+ container = jQuery( sel ),
1698
+ editor = window.tinyMCE.get( id );
1699
+
1700
+ if ( editor && container.hasClass( 'tmce-active' ) ) {
1701
+ editor.save(); // Update the textarea content.
1702
+ }
1703
+ });
1704
+
1705
+ if ( use_formdata ) {
1706
+ data = new window.FormData( _data[0] );
1707
+ } else {
1708
+ data = {};
1709
+
1710
+ // Convert a jQuery object to data object.
1711
+
1712
+ // ----- Start: Convert FORM to OBJECT
1713
+ // http://stackoverflow.com/a/8407771/313501
1714
+ var push_counters = {},
1715
+ patterns = {
1716
+ "validate": /^[a-zA-Z][a-zA-Z0-9_-]*(?:\[(?:\d*|[a-zA-Z0-9_]+)\])*$/,
1717
+ "key": /[a-zA-Z0-9_-]+|(?=\[\])/g,
1718
+ "push": /^$/,
1719
+ "fixed": /^\d+$/,
1720
+ "named": /^[a-zA-Z0-9_-]+$/
1721
+ };
1722
+
1723
+ var _build = function( base, key, value ) {
1724
+ base[key] = value;
1725
+ return base;
1726
+ };
1727
+
1728
+ var _push_counter = function( key ) {
1729
+ if ( push_counters[key] === undefined ) {
1730
+ push_counters[key] = 0;
1731
+ }
1732
+ return push_counters[key]++;
1733
+ };
1734
+
1735
+ jQuery.each( _data.serializeArray(), function() {
1736
+ // skip invalid keys
1737
+ if ( ! patterns.validate.test( this.name ) ) { return; }
1738
+
1739
+ var k,
1740
+ keys = this.name.match(patterns.key),
1741
+ merge = this.value,
1742
+ reverse_key = this.name;
1743
+
1744
+ while ( ( k = keys.pop() ) !== undefined ) {
1745
+
1746
+ // adjust reverse_key
1747
+ reverse_key = reverse_key.replace( new RegExp( "\\[" + k + "\\]$" ), '' );
1748
+
1749
+ // push
1750
+ if ( k.match( patterns.push ) ) {
1751
+ merge = _build( [], _push_counter( reverse_key ), merge );
1752
+ }
1753
+
1754
+ // fixed
1755
+ else if ( k.match( patterns.fixed ) ) {
1756
+ merge = _build([], k, merge);
1757
+ }
1758
+
1759
+ // named
1760
+ else if ( k.match( patterns.named ) ) {
1761
+ merge = _build( {}, k, merge );
1762
+ }
1763
+ }
1764
+
1765
+ data = jQuery.extend( true, data, merge );
1766
+ });
1767
+
1768
+ // ----- End: Convert FORM to OBJECT
1769
+
1770
+ // Add file fields
1771
+ _data.find( 'input[type=file]' ).each( function() {
1772
+ var me = jQuery( this ),
1773
+ name = me.attr( 'name' ),
1774
+ inp = me.clone( true )[0];
1775
+ data[':files'] = data[':files'] || {};
1776
+ data[':files'][name] = inp;
1777
+ });
1778
+ }
1779
+ } else if ( typeof _data === 'string' ) {
1780
+
1781
+ // ===== PARSE STRING to data object.
1782
+
1783
+ var temp = _data.split( '&' ).map( function (kv) {
1784
+ return kv.split( '=', 2 );
1785
+ });
1786
+
1787
+ data = ( use_formdata ? new window.FormData() : {} );
1788
+ for ( var ind in temp ) {
1789
+ var name = decodeURI( temp[ind][0] ),
1790
+ val = decodeURI( temp[ind][1] );
1791
+
1792
+ if ( use_formdata ) {
1793
+ data.append( name, val );
1794
+ } else {
1795
+ if ( undefined !== data[name] ) {
1796
+ if ( 'object' !== typeof data[name] ) {
1797
+ data[name] = [ data[name] ];
1798
+ }
1799
+ data[name].push( val );
1800
+ } else {
1801
+ data[name] = val;
1802
+ }
1803
+ }
1804
+ }
1805
+ } else if ( typeof _data === 'object' ) {
1806
+
1807
+ // ===== USE OBJECT to populate data object.
1808
+
1809
+ if ( use_formdata ) {
1810
+ data = new window.FormData();
1811
+ for ( var data_key in _data ) {
1812
+ if ( _data.hasOwnProperty( data_key ) ) {
1813
+ data.append( data_key, _data[data_key] );
1814
+ }
1815
+ }
1816
+ } else {
1817
+ data = jQuery.extend( {}, _data );
1818
+ }
1819
+ }
1820
+
1821
+ if ( data instanceof window.FormData ) {
1822
+ data.append('action', action);
1823
+ } else {
1824
+ data.action = action;
1825
+ }
1826
+
1827
+ return data;
1828
+ }
1829
+
1830
+ /**
1831
+ * Submit the data.
1832
+ *
1833
+ * @since 1.0.0
1834
+ * @private
1835
+ * @param string action The ajax action to execute.
1836
+ */
1837
+ function _load( action, type ) {
1838
+ var data = _get_data( action, true ),
1839
+ ajax_args = {},
1840
+ response = null,
1841
+ okay = false;
1842
+
1843
+ if ( type !== 'json' ) { type = 'text'; }
1844
+
1845
+ _call_progress( -1 );
1846
+
1847
+ ajax_args = {
1848
+ url: _ajaxurl,
1849
+ type: 'POST',
1850
+ dataType: 'html',
1851
+ data: data,
1852
+ xhr: _create_xhr,
1853
+ success: function( resp, status, xhr ) {
1854
+ okay = true;
1855
+ response = resp;
1856
+ if ( 'json' === type ) {
1857
+ try {
1858
+ response = jQuery.parseJSON( resp );
1859
+ } catch(ignore) {
1860
+ response = { 'status': 'ERR', 'data': resp };
1861
+ }
1862
+ }
1863
+ },
1864
+ error: function( xhr, status, error ) {
1865
+ okay = false;
1866
+ response = error;
1867
+ },
1868
+ complete: function( xhr, status ) {
1869
+ if ( response instanceof Object && 'ERR' === response.status ) {
1870
+ okay = false;
1871
+ }
1872
+ _call_done( response, okay, xhr );
1873
+ }
1874
+ };
1875
+
1876
+ if ( data instanceof window.FormData ) {
1877
+ ajax_args.processData = false; // tell jQuery not to process the data
1878
+ ajax_args.contentType = false; // tell jQuery not to set contentType
1879
+ }
1880
+
1881
+ jQuery.ajax(ajax_args);
1882
+ }
1883
+
1884
+ /**
1885
+ * Send data via a normal form submit targeted at the invisible iframe.
1886
+ *
1887
+ * @since 1.0.0
1888
+ * @private
1889
+ * @param string action The ajax action to execute.
1890
+ * @param string target The frame to refresh.
1891
+ */
1892
+ function _form_submit( action, target ) {
1893
+ var data = _get_data( action, false ),
1894
+ form = jQuery( '<form></form>' ),
1895
+ ajax_action = '';
1896
+
1897
+ // Append all data fields to the form.
1898
+ for ( var name in data ) {
1899
+ if ( data.hasOwnProperty( name ) ) {
1900
+ if ( name === ':files' ) {
1901
+ for ( var file in data[name] ) {
1902
+ var inp = data[name][file];
1903
+ form.append( inp );
1904
+ }
1905
+ } else if ( name === 'action') {
1906
+ ajax_action = name + '=' + data[name].toString();
1907
+ } else {
1908
+ jQuery('<input type="hidden" />')
1909
+ .attr( 'name', name )
1910
+ .attr( 'value', data[name] )
1911
+ .appendTo( form );
1912
+ }
1913
+ }
1914
+ }
1915
+
1916
+ if ( _ajaxurl.indexOf( '?' ) === -1 ) {
1917
+ ajax_action = '?' + ajax_action;
1918
+ } else {
1919
+ ajax_action = '&' + ajax_action;
1920
+ }
1921
+
1922
+ // Set correct form properties.
1923
+ form.attr( 'action', _ajaxurl + ajax_action )
1924
+ .attr( 'method', 'POST' )
1925
+ .attr( 'enctype', 'multipart/form-data' )
1926
+ .attr( 'target', target )
1927
+ .hide()
1928
+ .appendTo( _body );
1929
+
1930
+ // Submit the form.
1931
+ form.submit();
1932
+ }
1933
+
1934
+
1935
+ // Initialize the formdata object
1936
+ _me = this;
1937
+ _init();
1938
+
1939
+ }; /* ** End: WpmUiAjaxData ** */
1940
+
1941
+
1942
+
1943
+
1944
+
1945
+
1946
+
1947
+
1948
+
1949
+ /*===============================*\
1950
+ ===================================
1951
+ == ==
1952
+ == UTF8-DATA ==
1953
+ == ==
1954
+ ===================================
1955
+ \*===============================*/
1956
+
1957
+
1958
+
1959
+
1960
+
1961
+ /**
1962
+ * Handles conversions of binary <-> text.
1963
+ *
1964
+ * @type WpmUiBinary
1965
+ * @since 1.0.0
1966
+ */
1967
+ var WpmUiBinary = function() {
1968
+ var map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
1969
+
1970
+ WpmUiBinary.utf8_encode = function utf8_encode( string ) {
1971
+ if ( typeof string !== 'string' ) {
1972
+ return string;
1973
+ } else {
1974
+ string = string.replace(/\r\n/g, "\n");
1975
+ }
1976
+ var output = '', i = 0, charCode;
1977
+
1978
+ for ( i; i < string.length; i++ ) {
1979
+ charCode = string.charCodeAt(i);
1980
+
1981
+ if ( charCode < 128 ) {
1982
+ output += String.fromCharCode( charCode );
1983
+ } else if ( (charCode > 127) && (charCode < 2048) ) {
1984
+ output += String.fromCharCode( (charCode >> 6) | 192 );
1985
+ output += String.fromCharCode( (charCode & 63) | 128 );
1986
+ } else {
1987
+ output += String.fromCharCode( (charCode >> 12) | 224 );
1988
+ output += String.fromCharCode( ((charCode >> 6) & 63) | 128 );
1989
+ output += String.fromCharCode( (charCode & 63) | 128 );
1990
+ }
1991
+ }
1992
+
1993
+ return output;
1994
+ };
1995
+
1996
+ WpmUiBinary.utf8_decode = function utf8_decode( string ) {
1997
+ if ( typeof string !== 'string' ) {
1998
+ return string;
1999
+ }
2000
+
2001
+ var output = '', i = 0, charCode = 0;
2002
+
2003
+ while ( i < string.length ) {
2004
+ charCode = string.charCodeAt(i);
2005
+
2006
+ if ( charCode < 128 ) {
2007
+ output += String.fromCharCode( charCode );
2008
+ i += 1;
2009
+ } else if ( (charCode > 191) && (charCode < 224) ) {
2010
+ output += String.fromCharCode(((charCode & 31) << 6) | (string.charCodeAt(i + 1) & 63));
2011
+ i += 2;
2012
+ } else {
2013
+ output += String.fromCharCode(((charCode & 15) << 12) | ((string.charCodeAt(i + 1) & 63) << 6) | (string.charCodeAt(i + 2) & 63));
2014
+ i += 3;
2015
+ }
2016
+ }
2017
+
2018
+ return output;
2019
+ };
2020
+
2021
+ /**
2022
+ * Converts a utf-8 string into an base64 encoded string
2023
+ *
2024
+ * @since 1.0.15
2025
+ * @param string input A string with any encoding.
2026
+ * @return string
2027
+ */
2028
+ WpmUiBinary.base64_encode = function base64_encode( input ) {
2029
+ if ( typeof input !== 'string' ) {
2030
+ return input;
2031
+ }
2032
+ else {
2033
+ input = WpmUiBinary.utf8_encode( input );
2034
+ }
2035
+ var output = '', a, b, c, d, e, f, g, i = 0;
2036
+
2037
+ while ( i < input.length ) {
2038
+ a = input.charCodeAt(i++);
2039
+ b = input.charCodeAt(i++);
2040
+ c = input.charCodeAt(i++);
2041
+ d = a >> 2;
2042
+ e = ((a & 3) << 4) | (b >> 4);
2043
+ f = ((b & 15) << 2) | (c >> 6);
2044
+ g = c & 63;
2045
+
2046
+ if ( isNaN( b ) ) {
2047
+ f = g = 64;
2048
+ } else if ( isNaN( c ) ) {
2049
+ g = 64;
2050
+ }
2051
+
2052
+ output += map.charAt( d ) + map.charAt( e ) + map.charAt( f ) + map.charAt( g );
2053
+ }
2054
+
2055
+ return output;
2056
+ };
2057
+
2058
+ /**
2059
+ * Converts a base64 string into the original (binary) data
2060
+ *
2061
+ * @since 1.0.15
2062
+ * @param string input Base 64 encoded text
2063
+ * @return string
2064
+ */
2065
+ WpmUiBinary.base64_decode = function base64_decode( input ) {
2066
+ if ( typeof input !== 'string' ) {
2067
+ return input;
2068
+ } else {
2069
+ input.replace(/[^A-Za-z0-9\+\/\=]/g, '');
2070
+ }
2071
+ var output = '', a, b, c, d, e, f, g, i = 0;
2072
+
2073
+ while ( i < input.length ) {
2074
+ d = map.indexOf( input.charAt( i++ ) );
2075
+ e = map.indexOf( input.charAt( i++ ) );
2076
+ f = map.indexOf( input.charAt( i++ ) );
2077
+ g = map.indexOf( input.charAt( i++ ) );
2078
+
2079
+ a = (d << 2) | (e >> 4);
2080
+ b = ((e & 15) << 4) | (f >> 2);
2081
+ c = ((f & 3) << 6) | g;
2082
+
2083
+ output += String.fromCharCode( a );
2084
+ if ( f !== 64 ) {
2085
+ output += String.fromCharCode( b );
2086
+ }
2087
+ if ( g !== 64 ) {
2088
+ output += String.fromCharCode( c );
2089
+ }
2090
+ }
2091
+
2092
+ return WpmUiBinary.utf8_decode( output );
2093
+ };
2094
+
2095
+ }; /* ** End: WpmUiBinary ** */
2096
+
2097
+ }( window.wpmUi = window.wpmUi || {} ));
2098
+
inc/external/wpmu-lib/js/wpmu-ui.min.js CHANGED
@@ -1 +1,4 @@
1
- !function(t){function e(){null==s&&(r=jQuery(document),s=jQuery("html"),c=jQuery("body"),a(),o(),t.upgrade_multiselect(),t.upgrade_tooltips())}function i(){null===u&&(u=jQuery("<div></div>").addClass("wpmui-overlay").appendTo(c)),c.addClass("wpmui-has-overlay"),s.addClass("wpmui-no-scroll")}function n(){c.removeClass("wpmui-has-overlay"),s.removeClass("wpmui-no-scroll")}function a(){var t=function(t){var e=jQuery(this).closest(".wpmui-box");return t.preventDefault(),e.hasClass("static")?!1:(e.toggleClass("closed"),!1)};c.on("click",".wpmui-box > h3",t),c.on("click",".wpmui-box > h3 > .toggle",t)}function o(){var t=function(t){var e=jQuery(this),i=e.closest(".wpmui-tabs"),n=i.next(".wpmui-tab-contents"),a=i.find(".active.tab"),o=e.attr("href"),r=a.attr("href"),s=n.find(o);return content_active=n.find(r),e.hasClass("active")||(a.removeClass("active"),content_active.removeClass("active")),e.addClass("active"),s.addClass("active"),t.preventDefault(),!1};c.on("click",".wpmui-tabs .tab",t)}var r=null,s=null,c=null,u=null;t.popup=function(){return e(),new l},t.ajax=function(t,i){return e(),new d(t,i)},t.upgrade_multiselect=function(t){e(),t=jQuery(t||c);var i=t.find("select[multiple]"),n=t.find("input[data-select-ajax]"),a=function(){var t=jQuery(this),e={closeOnSelect:!1,width:"100%"};"1"!=t.data("wpmui-select")&&(t.data("wpmui-select","1"),window.setTimeout(function(){t.select2(e)},1))},o=function(){var t=function(t){return t.val},e=function(t){return t.key},i=function(t,e){var i=t.val(),n=[];plain=[],jQuery(i.split(",")).each(function(){var t=this.split("::");plain.push(t[0]),n.push({key:t[0],val:t[1]})}),t.val(plain.join(",")),e(n)},n=jQuery(this),a={closeOnSelect:!1,width:"100%",multiple:!0,minimumInputLength:1,ajax:{url:n.attr("data-select-ajax"),dataType:"json",quietMillis:100,cache:!0,data:function(t){return{q:t}},results:function(t){return{results:t.items}}},id:e,formatResult:t,formatSelection:t,initSelection:i};"1"!=n.data("wpmui-select")&&(n.data("wpmui-select","1"),window.setTimeout(function(){n.select2(a)},1))};"function"==typeof jQuery.fn.each2?(i.each2(a),n.each2(o)):(i.each(a),n.each(o))},t.message=function(t){var i,n,a,o;e();var r=function(t){return t.preventDefault(),n.remove(),!1},s=function(){var t=jQuery(this).closest(".wpmui-msg");t.find(".debug").toggle()};return"undefined"==typeof t?!1:(("string"==typeof t||t instanceof Array)&&(t={message:t}),t.message instanceof Array&&(t.message=t.message.join("<br />")),t.message?(t.type=void 0==t.type?"ok":t.type.toString().toLowerCase(),t.close=void 0==t.close?!0:t.close,t.parent=void 0==t.parent?".wrap":t.parent,t.insert_after=void 0==t.insert_after?"h2":t.insert_after,t.id=void 0==t.id?"":t.id.toString().toLowerCase(),t["class"]=void 0==t["class"]?"":t["class"].toString().toLowerCase(),t.details=void 0==t.details?!1:t.details,("error"==t.type||"red"==t.type)&&(t.type="err"),("success"==t.type||"green"==t.type)&&(t.type="ok"),i=jQuery(t.parent).first(),i.length?(t.id&&jQuery('.wpmui-msg[data-id="'+t.id+'"]').length?(n=jQuery('.wpmui-msg[data-id="'+t.id+'"]').first(),o=!1):(n=jQuery("<div><p></p></div>"),t.id&&n.attr("data-id",t.id),o=!0),n.find("p").html(t.message),"err"==t.type&&t.details&&window.JSON&&(jQuery('<div class="debug" style="display:none"></div>').appendTo(n).text(JSON.stringify(t.details)),jQuery('<i class="dashicons dashicons-editor-help light"></i>').prependTo(n.find("p:first")).click(s).after(" ")),n.removeClass().addClass("updated wpmui-msg "+t["class"]),"err"==t.type&&n.addClass("error"),o&&(t.close&&(a=jQuery('<a href="#" class="wpmui-close">&times;</a>'),a.prependTo(n),a.click(r)),t.insert_after&&i.find(t.insert_after).length?(i=i.find(t.insert_after).first(),i.after(n)):i.prepend(n)),!0):!1):!1)},t.tooltip=function(t,i){var n,a;e();var o=function(e){var n=e.outerWidth(),a=e.outerHeight(),o=5,r=t.outerWidth(),s=t.outerHeight(),c={};switch(c.left=(r-n)/2,c.top=(s-a)/2,c[i.pos]="auto",i.pos){case"top":c.bottom=s+o;break;case"bottom":c.top=s+o;break;case"left":c.right=r+o;break;case"right":c.left=r+o}e.css(c)},r=function(){var t=jQuery(this).closest(".wpmui-tip-box").find(".wpmui-tip");t.addClass("wpmui-visible"),t.show(),o(t),setTimeout(function(){o(t)},35)},s=function(){var t=jQuery(this).closest(".wpmui-tip-box").find(".wpmui-tip");t.removeClass("wpmui-visible"),t.hide()},c=function(t){n.hasClass("wpmui-visible")?s.call(this,t):r.call(this,t)};return"string"==typeof i&&(i={content:i}),void 0===i.content?!1:(t=jQuery(t),t.length?(i.trigger=void 0==i.trigger?"hover":i.trigger.toString().toLowerCase(),i.pos=void 0==i.pos?"top":i.pos.toString().toLowerCase(),i["class"]=void 0==i["class"]?"":i["class"].toString().toLowerCase(),a=t.parent(),a.hasClass("wpmui-tip-box")||(a=t.wrap('<span class="wpmui-tip-box"></span>').parent().addClass(i["class"]+"-box")),n=a.find("> .wpmui-tip"),n.length||(n=jQuery('<div class="wpmui-tip"></div>'),n.addClass(i["class"]).addClass(i.pos).appendTo(t.parent()).hide(),isNaN(i.width)||n.width(i.width),"hover"==i.trigger?t.hover(r,s):"click"==i.trigger&&t.click(c)),n.html(i.content),!0):!1)},t.upgrade_tooltips=function(){var e=jQuery("[data-tooltip]");e.each(function(){var e=jQuery(this),i={content:e.attr("data-tooltip"),pos:e.attr("data-pos"),trigger:e.attr("data-trigger"),"class":e.attr("data-class"),width:e.attr("data-width")};t.tooltip(e,i)})},t.obj=function(t){var e={};if(t instanceof Object)e=t;else if(t instanceof Array)if("function"==typeof t.reduce)e=t.reduce(function(t,e,i){return t[i]=e,t},{});else for(var i=t.length-1;i>0;i-=1)void 0!==t[i]&&(e[i]=t[i]);else"string"==typeof t?e.scalar=t:"number"==typeof t?e.scalar=t:"boolean"==typeof t&&(e.scalar=t);return e},jQuery(function(){e()});var l=function(){function t(){x=jQuery('<div class="wpmui-wnd"></div>'),C=jQuery('<div class="wpmui-wnd-title"><span class="the-title"></span></div>'),_=jQuery('<a href="#" class="wpmui-wnd-close"><i class="dashicons dashicons-no-alt"></i></a>'),T=jQuery('<div class="wpmui-wnd-content"></div>'),C.appendTo(x),T.appendTo(x),_.appendTo(C),x.appendTo(c).hide(),e(),f=!1,o()}function e(){x&&(x.on("click",".wpmui-wnd-close",p.close),x.on("click","thead .check-column :checkbox",l),x.on("click","tfoot .check-column :checkbox",l),x.on("click","tbody .check-column :checkbox",d),jQuery(window).on("resize",s))}function a(){x&&(x.off("click",".wpmui-wnd-close",p.close),x.off("click",".check-column :checkbox",l),jQuery(window).off("resize",s))}function o(t,e){if(!x)return!1;t=t||m,e=e||v;var a={width:t,height:e,"margin-left":-1*(t/2),"margin-top":-1*(e/2)};if(C.find(".the-title").text(y),g){x.find(".buttons").remove(),x.addClass("no-buttons"),w instanceof jQuery?T.html(w.html()):T.html(jQuery(w).html());var o=T.find(".buttons");o.length&&(o.appendTo(x),x.removeClass("no-buttons")),g=!1}x.is(":visible")?x.animate(a,200):x.css(a),u instanceof jQuery&&u.off("click",r),f?(x.show(),h&&i(),u.on("click",r),j&&(j=!1,s())):(x.hide(),n())}function r(){return x?!u instanceof jQuery?!1:(u.off("click",r),p.close(),void 0):!1}function s(){if(!x)return!1;var t=jQuery(this),e=t.innerWidth(),i=t.innerHeight(),n=m,a=v;m>e&&(n=e),v>i&&(a=i),o(n,a)}function l(t){{var e=jQuery(this),i=e.prop("checked");t.shiftKey}e.closest("table").children("tbody, thead, tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",i)}function d(){var t=jQuery(this),e=t.closest("tbody").find(":checkbox").filter(":visible").not(":checked");return t.closest("table").children("thead, tfoot").find(":checkbox").prop("checked",0===e.length),!0}var p=this,f=!1,h=!1,m=740,v=400,y="Window",w="",g=!1,j=!1,b=null,Q=null,k=null,x=null,C=null,_=null,T=null;this.modal=function(t){return h=t?!0:!1,o(),p},this.size=function(t,e){var i=Math.abs(parseFloat(t)),n=Math.abs(parseFloat(e));return isNaN(i)||(m=i),isNaN(n)||(v=n),j=!0,o(),p},this.title=function S(S){return y=S,o(),p},this.content=function(t){return w=t,j=!0,g=!0,o(),p},this.onshow=function(t){return b=t,p},this.onhide=function(t){return Q=t,p},this.onclose=function(t){return k=t,p},this.loading=function(t){return t?x.addClass("wpmui-loading"):x.removeClass("wpmui-loading"),p},this.show=function(){return f=!0,j=!0,o(),"function"==typeof b&&b.apply(p,[p.$()]),p},this.hide=function(){return f=!1,o(),"function"==typeof Q&&Q.apply(p,[p.$()]),p},this.close=function(){p.hide(),"function"==typeof k&&k.apply(p,[p.$()]),a(),x.remove(),x=null},this.$=function(){return x},p=this,t()},d=function(t,e){function i(){t||"string"!=typeof window.ajaxurl||(t=window.ajaxurl),p=c.find("#wpmui_void"),p.length||(p=jQuery("<iframe></iframe>").attr("name","wpmui_void").attr("id","wpmui_void").css({width:1,height:1,display:"none",visibility:"hidden",position:"absolute",left:-1e3,top:-1e3}).hide().appendTo(c)),n(),d.reset()}function n(){var t=document.createElement("INPUT"),e=new XMLHttpRequest;t.type="file",y="files"in t,v=!!(e&&"upload"in e&&"onprogress"in e.upload),w=!!window.FormData}function a(){var t=new window.XMLHttpRequest;return v&&(t.upload.addEventListener("progress",function(t){if(t.lengthComputable){var e=t.loaded/t.total;o(e)}else o(-1)},!1),t.addEventListener("progress",function(t){if(t.lengthComputable){var e=t.loaded/t.total;o(e)}else o(-1)},!1)),t}function o(t){v&&"function"==typeof h&&h(t)}function r(t,e,i){o(100),"function"==typeof m&&m(t,e,i)}function s(t,e){var i={};if(e=e&&w,f instanceof jQuery)if(f.find(".wp-editor-area").each(function(){var t=jQuery(this).attr("id"),e="#wp-"+t+"-wrap",i=jQuery(e),n=tinyMCE.get(t);n&&i.hasClass("tmce-active")&&n.save()}),e)i=new FormData(f[0]);else{i={};var n={},a={validate:/^[a-zA-Z][a-zA-Z0-9_-]*(?:\[(?:\d*|[a-zA-Z0-9_]+)\])*$/,key:/[a-zA-Z0-9_-]+|(?=\[\])/g,push:/^$/,fixed:/^\d+$/,named:/^[a-zA-Z0-9_-]+$/},o=function(t,e,i){return t[e]=i,t},r=function(t){return void 0===n[t]&&(n[t]=0),n[t]++};jQuery.each(f.serializeArray(),function(){if(a.validate.test(this.name)){for(var t,e=this.name.match(a.key),n=this.value,s=this.name;void 0!==(t=e.pop());)s=s.replace(new RegExp("\\["+t+"\\]$"),""),t.match(a.push)?n=o([],r(s),n):t.match(a.fixed)?n=o([],t,n):t.match(a.named)&&(n=o({},t,n));i=jQuery.extend(!0,i,n)}}),f.find("input[type=file]").each(function(){var t=jQuery(this),e=t.attr("name"),n=t.clone(!0)[0];i[":files"]=i[":files"]||{},i[":files"][e]=n})}else if("string"==typeof f){temp=f.split("&").map(function(t){return t.split("=",2)}),i=e?new FormData:{};for(var s in temp){var c=decodeURI(temp[s][0]),u=decodeURI(temp[s][1]);e?i.append(c,u):void 0!==i[c]?("object"!=typeof i[c]&&(i[c]=[i[c]]),i[c].push(u)):i[c]=u}}else if("object"==typeof f)if(e){i=new FormData;for(var c in f)f.hasOwnProperty(c)&&i.append(c,f[c])}else i=jQuery.extend({},f);return i instanceof FormData?i.append("action",t):i.action=t,i}function u(e,i){var n=s(e,!0),c={},u=null,l=!1;"json"!=i&&(i="text"),o(-1),c={url:t,type:"POST",dataType:"html",data:n,xhr:a,success:function(t){if(l=!0,u=t,"json"==i)try{u=jQuery.parseJSON(t)}catch(e){u={status:"ERR",data:t}}},error:function(t,e,i){l=!1,u=i},complete:function(t){u instanceof Object&&"ERR"==u.status&&(l=!1),r(u,l,t)}},n instanceof FormData&&(c.processData=!1,c.contentType=!1),jQuery.ajax(c)}function l(e,i){var n=s(e,!1),a=jQuery("<form></form>"),o="";for(var r in n)if(n.hasOwnProperty(r))if(":files"==r)for(var c in n[r]){var u=n[r][c];a.append(u)}else"action"==r?o=r+"="+n[r].toString():jQuery('<input type="hidden" />').attr("name",r).attr("value",n[r]).appendTo(a);o=-1==t.indexOf("?")?"?"+o:"&"+o,a.attr("action",t+o).attr("method","POST").attr("enctype","multipart/form-data").attr("target",i),a.submit()}var d=this,p=null,f={},h=null,m=null,v=!1,y=!1,w=!1;this.data=function(t){return f=t,d},this.extract_data=function(t){return f=t,s("",!1)},this.onprogress=function(t){return h=t,d},this.ondone=function(t){return m=t,d},this.reset=function(){return f={},h=null,m=null,d},this.load_text=function(t){return t=t||e,u(t,"text"),d},this.load_json=function(t){return t=t||e,u(t,"json"),d},this.load_http=function(t,i){return t=t||"wpmui_void",i=i||e,l(i,t),d},d=this,i()}}(window.wpmUi=window.wpmUi||{});
 
 
 
1
+ /*! WPMU Dev code library - v1.0.15
2
+ * http://premium.wpmudev.org/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+ (function(t){function e(){null===r&&(a=jQuery(document),r=jQuery("html"),c=jQuery("body"),n(),o(),c.hasClass("no-auto-init")||(t.upgrade_multiselect(),t.upgrade_tooltips()),t.binary=new d)}function s(){null===l&&(l=jQuery("<div></div>").addClass("wpmui-overlay").appendTo(c)),c.addClass("wpmui-has-overlay"),r.addClass("wpmui-no-scroll")}function i(){c.removeClass("wpmui-has-overlay"),r.removeClass("wpmui-no-scroll")}function n(){var t=function t(t){var e=jQuery(this).closest(".wpmui-box");return t.preventDefault(),e.hasClass("static")?!1:(e.toggleClass("closed"),!1)};c.on("click",".wpmui-box > h3",t),c.on("click",".wpmui-box > h3 > .toggle",t)}function o(){var t=function t(t){var e=jQuery(this),s=e.closest(".wpmui-tabs"),i=s.next(".wpmui-tab-contents"),n=s.find(".active.tab"),o=e.attr("href"),a=n.attr("href"),r=i.find(o),c=i.find(a);return e.hasClass("active")||(n.removeClass("active"),c.removeClass("active")),e.addClass("active"),r.addClass("active"),t.preventDefault(),!1};c.on("click",".wpmui-tabs .tab",t)}var a=null,r=null,c=null,l=null;t.popup=function(){return e(),new h},t.ajax=function(t,s){return e(),new u(t,s)},t.upgrade_multiselect=function(t){e(),t=jQuery(t||c);var s=t.find("select[multiple]"),i=t.find("input[data-select-ajax]"),n=function n(t){var e=t.attr("id"),s="#s2id_"+e,i=t.parent().find(s);i.remove()},o=function o(){var t=jQuery(this),e={closeOnSelect:!1,width:"100%"};"1"!==t.data("wpmui-select")&&(t.data("wpmui-select","1"),n(t),window.setTimeout(function(){t.select2(e)},1))},a=function a(){var t=function t(t){return t.val},e=function e(t){return t.key},s=function s(t,e){var s=t.val(),i=[],n=[];jQuery(s.split(",")).each(function(){var t=this.split("::");n.push(t[0]),i.push({key:t[0],val:t[1]})}),t.val(n.join(",")),e(i)},i=jQuery(this),o={closeOnSelect:!1,width:"100%",multiple:!0,minimumInputLength:1,ajax:{url:i.attr("data-select-ajax"),dataType:"json",quietMillis:100,cache:!0,data:function(t){return{q:t}},results:function(t){return{results:t.items}}},id:e,formatResult:t,formatSelection:t,initSelection:s};"1"!==i.data("wpmui-select")&&(i.data("wpmui-select","1"),n(i),window.setTimeout(function(){i.select2(o)},1))};"function"==typeof jQuery.fn.each2?(s.each2(o),i.each2(a)):(s.each(o),i.each(a))},t.message=function(t){var s,i,n,o;e();var a=function a(t){return t.preventDefault(),i.remove(),!1},r=function r(){var t=jQuery(this).closest(".wpmui-msg");t.find(".debug").toggle()};return t===void 0?!1:(("string"==typeof t||t instanceof Array)&&(t={message:t}),t.message instanceof Array&&(t.message=t.message.join("<br />")),t.message?(t.type=void 0===t.type?"ok":(""+t.type).toLowerCase(),t.close=void 0===t.close?!0:t.close,t.parent=void 0===t.parent?".wrap":t.parent,t.insert_after=void 0===t.insert_after?"h2":t.insert_after,t.id=void 0===t.id?"":(""+t.id).toLowerCase(),t["class"]=void 0===t["class"]?"":(""+t["class"]).toLowerCase(),t.details=void 0===t.details?!1:t.details,("error"===t.type||"red"===t.type)&&(t.type="err"),("success"===t.type||"green"===t.type)&&(t.type="ok"),s=jQuery(t.parent).first(),s.length?(t.id&&jQuery('.wpmui-msg[data-id="'+t.id+'"]').length?(i=jQuery('.wpmui-msg[data-id="'+t.id+'"]').first(),o=!1):(i=jQuery("<div><p></p></div>"),t.id&&i.attr("data-id",t.id),o=!0),i.find("p").html(t.message),"err"===t.type&&t.details&&window.JSON&&(jQuery('<div class="debug" style="display:none"></div>').appendTo(i).text(JSON.stringify(t.details)),jQuery('<i class="dashicons dashicons-editor-help light"></i>').prependTo(i.find("p:first")).click(r).after(" ")),i.removeClass().addClass("updated wpmui-msg "+t["class"]),"err"===t.type&&i.addClass("error"),o&&(t.close&&(n=jQuery('<a href="#" class="wpmui-close">&times;</a>'),n.prependTo(i),n.click(a)),t.insert_after&&s.find(t.insert_after).length?(s=s.find(t.insert_after).first(),s.after(i)):s.prepend(i)),!0):!1):!1)},t.confirm=function(t){function e(){var e=jQuery(this),s=parseInt(e.data("key"));i.remove(),n.remove(),"function"==typeof t.callback&&t.callback(s)}var s,i,n,o,a,r,l,h;if(!t instanceof Object)return!1;if(void 0===t.message)return!1;for(t.modal=void 0===t.modal?!0:t.modal,t.layout=void 0===t.layout?"fixed":t.layout,t.parent=void 0===t.parent?c:t.parent,t.buttons=void 0===t.buttons?["OK"]:t.buttons,t.callback=void 0===t.callback?!1:t.callback,s=jQuery(t.parent),t.modal&&(i=jQuery('<div class="wmui-confirm-modal"></div>').css({position:t.layout}).appendTo(s)),n=jQuery('<div class="wpmui-confirm-box"></div>').css({position:t.layout}).appendTo(s),o=jQuery('<div class="wpmui-confirm-msg"></div>').html(t.message),a=jQuery('<div class="wpmui-confirm-btn"></div>'),h=!0,r=0;t.buttons.length>r;r+=1)l=jQuery("<button></button>").html(t.buttons[r]).addClass(h?"button-primary":"button-secondary").data("key",r).click(e).prependTo(a),h=!1;return o.appendTo(n),a.appendTo(n),!0},t.tooltip=function(t,s){var i,n;e();var o=function o(e){var i=e.outerWidth(),n=e.outerHeight(),o=5,a=t.outerWidth(),r=t.outerHeight(),c={};switch(c.left=(a-i)/2,c.top=(r-n)/2,c[s.pos]="auto",s.pos){case"top":c.bottom=r+o;break;case"bottom":c.top=r+o;break;case"left":c.right=a+o;break;case"right":c.left=a+o}e.css(c)},a=function a(){var t=jQuery(this).closest(".wpmui-tip-box").find(".wpmui-tip");t.addClass("wpmui-visible"),t.show(),o(t),window.setTimeout(function(){o(t)},35)},r=function r(){var t=jQuery(this).closest(".wpmui-tip-box").find(".wpmui-tip");t.removeClass("wpmui-visible"),t.hide()},c=function c(t){i.hasClass("wpmui-visible")?r.call(this,t):a.call(this,t)};return"string"==typeof s&&(s={content:s}),void 0===s.content?!1:(t=jQuery(t),t.length?(s.trigger=void 0===s.trigger?"hover":(""+s.trigger).toLowerCase(),s.pos=void 0===s.pos?"top":(""+s.pos).toLowerCase(),s["class"]=void 0===s["class"]?"":(""+s["class"]).toLowerCase(),n=t.parent(),n.hasClass("wpmui-tip-box")||(n=t.wrap('<span class="wpmui-tip-box"></span>').parent().addClass(s["class"]+"-box")),i=n.find("> .wpmui-tip"),t.off(),i.length||(i=jQuery('<div class="wpmui-tip"></div>'),i.addClass(s["class"]).addClass(s.pos).appendTo(t.parent()).hide(),isNaN(s.width)||i.width(s.width)),"hover"===s.trigger?t.on("mouseenter",a).on("mouseleave",r):"click"===s.trigger&&t.on("click",c),i.html(s.content),!0):!1)},t.upgrade_tooltips=function(){var e=jQuery("[data-tooltip]");e.each(function(){var e=jQuery(this),s={content:e.attr("data-tooltip"),pos:e.attr("data-pos"),trigger:e.attr("data-trigger"),"class":e.attr("data-class"),width:e.attr("data-width")};t.tooltip(e,s)})},t.obj=function(t){var e={};if(t instanceof Object)e=t;else if(t instanceof Array)if("function"==typeof t.reduce)e=t.reduce(function(t,e,s){return t[s]=e,t},{});else for(var s=t.length-1;s>0;s-=1)void 0!==t[s]&&(e[s]=t[s]);else"string"==typeof t?e.scalar=t:"number"==typeof t?e.scalar=t:"boolean"==typeof t&&(e.scalar=t);return e},jQuery(function(){e()});var h=function(){function e(){T=jQuery('<div class="wpmui-wnd"></div>'),O=jQuery('<div class="wpmui-wnd-title"><span class="the-title"></span></div>'),P=jQuery('<a href="#" class="wpmui-wnd-close"><i class="dashicons dashicons-no-alt"></i></a>'),j=jQuery('<div class="wpmui-wnd-content"></div>'),O.appendTo(T),j.appendTo(T),P.appendTo(O),T.appendTo(c).hide(),n(),f=!1,a()}function n(){T&&(T.on("click",".wpmui-wnd-close",p.close),T.on("click","thead .check-column :checkbox",u),T.on("click","tfoot .check-column :checkbox",u),T.on("click","tbody .check-column :checkbox",d),jQuery(window).on("resize",h))}function o(){T&&(T.off("click",".wpmui-wnd-close",p.close),T.off("click",".check-column :checkbox",u),jQuery(window).off("resize",h))}function a(t,e){if(!T)return!1;t=t||g,e=e||v;var n={width:t,height:e,"margin-left":-1*(t/2),"margin-top":-1*(e/2)};if(O.find(".the-title").text(w),C){T.find(".buttons").remove(),T.removeClass(),T.addClass("wpmui-wnd no-buttons"),b instanceof jQuery?j.html(b.html()):j.html(jQuery(b).html());var o=j.find(".buttons");o.length&&(o.appendTo(T),T.removeClass("no-buttons")),T.addClass(y),C=!1}T.is(":visible")?T.animate(n,200):T.css(n),l instanceof jQuery&&l.off("click",r),f?(T.show(),m&&s(),l.on("click",r),S&&(S=!1,h())):(T.hide(),i())}function r(){return T?!l instanceof jQuery?!1:(l.off("click",r),p.close(),void 0):!1}function h(){if(!T)return!1;var t=jQuery(this),e=t.innerWidth(),s=t.innerHeight(),i=g,n=v;g>e&&(i=e),v>s&&(n=s),a(i,n)}function u(t){var e=jQuery(this),s=e.prop("checked");t.shiftKey,e.closest("table").children("tbody, thead, tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",s)}function d(){var t=jQuery(this),e=t.closest("tbody").find(":checkbox").filter(":visible").not(":checked");return t.closest("table").children("thead, tfoot").find(":checkbox").prop("checked",0===e.length),!0}var p=this,f=!1,m=!1,g=740,v=400,w="Window",b="",y="",C=!1,S=!1,x=null,E=null,k=null,T=null,O=null,P=null,j=null,A="hidden";this.modal=function(t){return m=t?!0:!1,a(),p},this.size=function(t,e){var s=Math.abs(parseFloat(t)),i=Math.abs(parseFloat(e));return isNaN(s)||(g=s),isNaN(i)||(v=i),S=!0,a(),p},this.title=function(t){return w=t,a(),p},this.content=function(t){return b=t,S=!0,C=!0,a(),p},this.set_class=function(t){return y=t,C=!0,a(),p},this.onshow=function(t){return x=t,p},this.onhide=function(t){return E=t,p},this.onclose=function(t){return k=t,p},this.loading=function(t){return t?T.addClass("wpmui-loading"):T.removeClass("wpmui-loading"),p},this.confirm=function(e){return"visible"!==A?p:!e instanceof Object?p:(e.layout="absolute",e.parent=T,t.confirm(e),p)},this.show=function(){return f=!0,S=!0,A="visible",a(),"function"==typeof x&&x.apply(p,[p.$()]),p},this.hide=function(){return f=!1,A="hidden",a(),"function"==typeof E&&E.apply(p,[p.$()]),p},this.close=function(){"closing"!==A&&(p.hide(),A="closing","function"==typeof k&&k.apply(p,[p.$()]),o(),T.remove(),T=null)},this.$=function(){return T},p=this,e()},u=function(t,e){function s(){t||"string"!=typeof window.ajaxurl||(t=window.ajaxurl),d=c.find("#wpmui_void"),d.length||(d=jQuery("<iframe></iframe>").attr("name","wpmui_void").attr("id","wpmui_void").css({width:1,height:1,display:"none",visibility:"hidden",position:"absolute",left:-1e3,top:-1e3}).hide().appendTo(c)),i(),u.reset()}function i(){var t=document.createElement("INPUT"),e=new XMLHttpRequest;t.type="file",v="files"in t,g=!!(e&&"upload"in e&&"onprogress"in e.upload),w=!!window.FormData}function n(){var t=new window.XMLHttpRequest;return g&&(t.upload.addEventListener("progress",function(t){if(t.lengthComputable){var e=t.loaded/t.total;o(e)}else o(-1)},!1),t.addEventListener("progress",function(t){if(t.lengthComputable){var e=t.loaded/t.total;o(e)}else o(-1)},!1)),t}function o(t){g&&"function"==typeof f&&f(t)}function a(t,e,s){o(100),"function"==typeof m&&m(t,e,s)}function r(t,e){var s={};if(e=e&&w,p instanceof jQuery)if(p.find(".wp-editor-area").each(function(){var t=jQuery(this).attr("id"),e="#wp-"+t+"-wrap",s=jQuery(e),i=window.tinyMCE.get(t);i&&s.hasClass("tmce-active")&&i.save()}),e)s=new window.FormData(p[0]);else{s={};var i={},n={validate:/^[a-zA-Z][a-zA-Z0-9_-]*(?:\[(?:\d*|[a-zA-Z0-9_]+)\])*$/,key:/[a-zA-Z0-9_-]+|(?=\[\])/g,push:/^$/,fixed:/^\d+$/,named:/^[a-zA-Z0-9_-]+$/},o=function(t,e,s){return t[e]=s,t},a=function(t){return void 0===i[t]&&(i[t]=0),i[t]++};jQuery.each(p.serializeArray(),function(){if(n.validate.test(this.name)){for(var t,e=this.name.match(n.key),i=this.value,r=this.name;void 0!==(t=e.pop());)r=r.replace(RegExp("\\["+t+"\\]$"),""),t.match(n.push)?i=o([],a(r),i):t.match(n.fixed)?i=o([],t,i):t.match(n.named)&&(i=o({},t,i));s=jQuery.extend(!0,s,i)}}),p.find("input[type=file]").each(function(){var t=jQuery(this),e=t.attr("name"),i=t.clone(!0)[0];s[":files"]=s[":files"]||{},s[":files"][e]=i})}else if("string"==typeof p){var r=p.split("&").map(function(t){return t.split("=",2)});s=e?new window.FormData:{};for(var c in r){var l=decodeURI(r[c][0]),h=decodeURI(r[c][1]);e?s.append(l,h):void 0!==s[l]?("object"!=typeof s[l]&&(s[l]=[s[l]]),s[l].push(h)):s[l]=h}}else if("object"==typeof p)if(e){s=new window.FormData;for(var u in p)p.hasOwnProperty(u)&&s.append(u,p[u])}else s=jQuery.extend({},p);return s instanceof window.FormData?s.append("action",t):s.action=t,s}function l(e,s){var i=r(e,!0),c={},l=null,h=!1;"json"!==s&&(s="text"),o(-1),c={url:t,type:"POST",dataType:"html",data:i,xhr:n,success:function(t){if(h=!0,l=t,"json"===s)try{l=jQuery.parseJSON(t)}catch(e){l={status:"ERR",data:t}}},error:function(t,e,s){h=!1,l=s},complete:function(t){l instanceof Object&&"ERR"===l.status&&(h=!1),a(l,h,t)}},i instanceof window.FormData&&(c.processData=!1,c.contentType=!1),jQuery.ajax(c)}function h(e,s){var i=r(e,!1),n=jQuery("<form></form>"),o="";for(var a in i)if(i.hasOwnProperty(a))if(":files"===a)for(var l in i[a]){var h=i[a][l];n.append(h)}else"action"===a?o=a+"="+(""+i[a]):jQuery('<input type="hidden" />').attr("name",a).attr("value",i[a]).appendTo(n);o=-1===t.indexOf("?")?"?"+o:"&"+o,n.attr("action",t+o).attr("method","POST").attr("enctype","multipart/form-data").attr("target",s).hide().appendTo(c),n.submit()}var u=this,d=null,p={},f=null,m=null,g=!1,v=!1,w=!1;this.data=function(t){return p=t,u},this.extract_data=function(t){return p=t,r("",!1)},this.onprogress=function(t){return f=t,u},this.ondone=function(t){return m=t,u},this.reset=function(){return p={},f=null,m=null,u},this.load_text=function(t){return t=t||e,l(t,"text"),u},this.load_json=function(t){return t=t||e,l(t,"json"),u},this.load_http=function(t,s){return t=t||"wpmui_void",s=s||e,h(s,t),u},u=this,s()},d=function(){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";d.utf8_encode=function(t){if("string"!=typeof t)return t;t=t.replace(/\r\n/g,"\n");var e,s="",i=0;for(i;t.length>i;i++)e=t.charCodeAt(i),128>e?s+=String.fromCharCode(e):e>127&&2048>e?(s+=String.fromCharCode(192|e>>6),s+=String.fromCharCode(128|63&e)):(s+=String.fromCharCode(224|e>>12),s+=String.fromCharCode(128|63&e>>6),s+=String.fromCharCode(128|63&e));return s},d.utf8_decode=function(t){if("string"!=typeof t)return t;for(var e="",s=0,i=0;t.length>s;)i=t.charCodeAt(s),128>i?(e+=String.fromCharCode(i),s+=1):i>191&&224>i?(e+=String.fromCharCode((31&i)<<6|63&t.charCodeAt(s+1)),s+=2):(e+=String.fromCharCode((15&i)<<12|(63&t.charCodeAt(s+1))<<6|63&t.charCodeAt(s+2)),s+=3);return e},d.base64_encode=function(e){if("string"!=typeof e)return e;e=d.utf8_encode(e);for(var s,i,n,o,a,r,c,l="",h=0;e.length>h;)s=e.charCodeAt(h++),i=e.charCodeAt(h++),n=e.charCodeAt(h++),o=s>>2,a=(3&s)<<4|i>>4,r=(15&i)<<2|n>>6,c=63&n,isNaN(i)?r=c=64:isNaN(n)&&(c=64),l+=t.charAt(o)+t.charAt(a)+t.charAt(r)+t.charAt(c);return l},d.base64_decode=function(e){if("string"!=typeof e)return e;e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var s,i,n,o,a,r,c,l="",h=0;e.length>h;)o=t.indexOf(e.charAt(h++)),a=t.indexOf(e.charAt(h++)),r=t.indexOf(e.charAt(h++)),c=t.indexOf(e.charAt(h++)),s=o<<2|a>>4,i=(15&a)<<4|r>>2,n=(3&r)<<6|c,l+=String.fromCharCode(s),64!==r&&(l+=String.fromCharCode(i)),64!==c&&(l+=String.fromCharCode(n));return d.utf8_decode(l)}}})(window.wpmUi=window.wpmUi||{});
inc/external/wpmu-lib/js/wpmu-vnav.js ADDED
@@ -0,0 +1,141 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! WPMU Dev code library - v1.0.15
2
+ * http://premium.wpmudev.org/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+ /*!
5
+ * UI Pattern: Vertical navigation.
6
+ * Version: 1.0.0
7
+ */
8
+ /*global jQuery:false */
9
+ /*global window:false */
10
+ /*global document:false */
11
+
12
+ jQuery(function init_vnav() {
13
+ var context = jQuery( '.vnav' ),
14
+ $referer = jQuery( 'input[name=_wp_http_referer]' );
15
+
16
+ if ( ! context.length ) {
17
+ // No vnav box found on the page: Stop right here.
18
+ return;
19
+ }
20
+
21
+ // We look for all h3 tags inside the context element.
22
+ // Each h3 element starts a new navigation section.
23
+ var ind, section, parts, title, body, $list, key,
24
+ list_height = 0,
25
+ $window = jQuery( window ),
26
+ html = context.html(),
27
+ sections = html.split( '<h3>' ),
28
+ act_key = window.location.hash.replace(/^#/, ''),
29
+ act_class = (! act_key.length ? ' active' : '');
30
+
31
+ // Now we have split the sections, we can build the vnav-layout.
32
+ html = '<ul class="lst-vnav">';
33
+ for ( ind = 0; ind < sections.length; ind += 1 ) {
34
+ section = sections[ ind ];
35
+ // Split section title from section body.
36
+ parts = section.split( '</h3>' );
37
+
38
+ if ( 2 === parts.length && parts[0].length ) {
39
+ if ( parts[0] === '-' ) {
40
+ html += '<li class="lst-vnav-sep"></li>';
41
+ } else {
42
+ key = parts[0]
43
+ .toLowerCase()
44
+ .replace( /\W\W*/g, ' ' )
45
+ .replace( /^\s|\s$/g, '' )
46
+ .replace( /\s/g, '-' );
47
+
48
+ if ( act_key.length && act_key === key ) {
49
+ act_class = ' active';
50
+ }
51
+ title = '<h3 data-key="' + key + '">' + parts[0] + '</h3>';
52
+ body = '<div class="data">' + parts[1] + '</div>';
53
+ html += '<li class="lst-vnav-item' + act_class + '">' + title + body + '</li>';
54
+ act_class = '';
55
+ }
56
+ }
57
+ }
58
+ html += '</ul>';
59
+
60
+ // Update the settings with new vertical navigation code!
61
+ context.html( html );
62
+ $list = jQuery( '.lst-vnav', context ).first();
63
+
64
+ // Remove row-header columns when all row-headers of a section are empty.
65
+ context.find( '.lst-vnav-item > .data > table' ).each(function() {
66
+ var $me = jQuery( this ),
67
+ all_th = $me.find( '> tbody > tr > th, > tr > th' ),
68
+ empty_th = all_th.filter( ':empty' );
69
+
70
+ if ( all_th.length === empty_th.length ) {
71
+ all_th.remove();
72
+ }
73
+ });
74
+
75
+ // Define click handler.
76
+ var activate_section = function activate_section( ev ) {
77
+ var $me = jQuery( this ),
78
+ $item = $me.parents( '.lst-vnav-item' ).first(),
79
+ $prev_item = jQuery( '.lst-vnav-item.active', $list ),
80
+ key = $me.data( 'key' ),
81
+ new_referer = '';
82
+
83
+ window.location.hash = key;
84
+ $referer.each( function() {
85
+ var $ref = jQuery( this );
86
+ new_referer = $ref.val().split( '#' ).shift();
87
+ new_referer += '#' + key;
88
+ $ref.val( new_referer );
89
+ });
90
+ $prev_item.removeClass( 'active' );
91
+ $item.addClass( 'active' );
92
+
93
+ resize_content();
94
+ };
95
+
96
+ // Resize the content area.
97
+ var resize_content = function resize_content( ev ) {
98
+ var $item = jQuery( '.lst-vnav-item.active', $list ),
99
+ $item_data = jQuery( '> .data', $item ).first(),
100
+ data_height = $item_data.outerHeight();
101
+
102
+ if ( ! list_height ) {
103
+ list_height = $list.outerHeight();
104
+ }
105
+
106
+ $list.css( {
107
+ "min-height": data_height + "px"
108
+ } );
109
+ $item_data.css( {
110
+ "min-height": list_height + 'px'
111
+ } );
112
+ };
113
+
114
+ // Mobile screen size functions.
115
+ var toggle_sections = function toggle_sections( ev ) {
116
+ if ( $list.hasClass( 'open' ) ) {
117
+ close_sections( ev );
118
+ } else {
119
+ open_sections( ev );
120
+ }
121
+ };
122
+
123
+ var open_sections = function open_sections( ev ) {
124
+ $list.addClass( 'open' );
125
+ };
126
+
127
+ var close_sections = function close_sections( ev ) {
128
+ $list.removeClass( 'open' );
129
+ };
130
+
131
+ // Add click hander to change the section.
132
+ context.on( 'click', 'h3', activate_section );
133
+ context.on( 'click', 'h3', toggle_sections );
134
+
135
+ // Hide the section list on window resize (mobile screens only).
136
+ $window.resize( resize_content );
137
+ $window.resize( close_sections );
138
+
139
+ // Timeout of 50ms: Screen needs to refresh once before this works.
140
+ window.setTimeout( function() { jQuery( '.active h3', context ).click(); }, 50 );
141
+ });
inc/external/wpmu-lib/js/wpmu-vnav.min.js CHANGED
@@ -1 +1,4 @@
1
- jQuery(function(){var t=jQuery(".vnav"),e=jQuery("input[name=_wp_http_referer]");if(t.length){var a,i,n,s,l,r,v,h=0,c=jQuery(window),o=t.html(),u=o.split("<h3>"),f=window.location.hash.replace(/^#/,""),p=f.length?"":" active";for(o='<ul class="lst-vnav">',a=0;a<u.length;a+=1)i=u[a],n=i.split("</h3>"),2==n.length&&n[0].length&&("-"==n[0]?o+='<li class="lst-vnav-sep"></li>':(v=n[0].toLowerCase().replace(/\W\W*/g," ").replace(/^\s|\s$/g,"").replace(/\s/g,"-"),f.length&&f==v&&(p=" active"),s='<h3 data-key="'+v+'">'+n[0]+"</h3>",l='<div class="data">'+n[1]+"</div>",o+='<li class="lst-vnav-item'+p+'">'+s+l+"</li>",p=""));o+="</ul>",t.html(o),r=jQuery(".lst-vnav",t).first(),t.find(".lst-vnav-item > .data > table").each(function(){var t=jQuery(this),e=t.find("> tbody > tr > th, > tr > th"),a=e.filter(":empty");e.length==a.length&&e.remove()});var d=function(){var t=jQuery(this),a=t.parents(".lst-vnav-item").first(),i=jQuery(".lst-vnav-item.active",r),n=t.data("key"),s="";window.location.hash=n,e.each(function(){var t=jQuery(this);s=t.val().split("#").shift(),s+="#"+n,t.val(s)}),i.removeClass("active"),a.addClass("active"),y()},y=function(){var t=jQuery(".lst-vnav-item.active",r),e=jQuery("> .data",t).first(),a=e.outerHeight();h||(h=r.outerHeight()),r.css({"min-height":a+"px"}),e.css({"min-height":h+"px"})},g=function(t){r.hasClass("open")?j(t):m(t)},m=function(){r.addClass("open")},j=function(){r.removeClass("open")};t.on("click","h3",d),t.on("click","h3",g),c.resize(y),c.resize(j),setTimeout(function(){jQuery(".active h3",t).click()},50)}});
 
 
 
1
+ /*! WPMU Dev code library - v1.0.15
2
+ * http://premium.wpmudev.org/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+ jQuery(function(){var t=jQuery(".vnav"),e=jQuery("input[name=_wp_http_referer]");if(t.length){var s,i,n,o,a,r,c,l=0,h=jQuery(window),u=t.html(),d=u.split("<h3>"),p=window.location.hash.replace(/^#/,""),f=p.length?"":" active";for(u='<ul class="lst-vnav">',s=0;d.length>s;s+=1)i=d[s],n=i.split("</h3>"),2===n.length&&n[0].length&&("-"===n[0]?u+='<li class="lst-vnav-sep"></li>':(c=n[0].toLowerCase().replace(/\W\W*/g," ").replace(/^\s|\s$/g,"").replace(/\s/g,"-"),p.length&&p===c&&(f=" active"),o='<h3 data-key="'+c+'">'+n[0]+"</h3>",a='<div class="data">'+n[1]+"</div>",u+='<li class="lst-vnav-item'+f+'">'+o+a+"</li>",f=""));u+="</ul>",t.html(u),r=jQuery(".lst-vnav",t).first(),t.find(".lst-vnav-item > .data > table").each(function(){var t=jQuery(this),e=t.find("> tbody > tr > th, > tr > th"),s=e.filter(":empty");e.length===s.length&&e.remove()});var m=function m(){var t=jQuery(this),s=t.parents(".lst-vnav-item").first(),i=jQuery(".lst-vnav-item.active",r),n=t.data("key"),o="";window.location.hash=n,e.each(function(){var t=jQuery(this);o=t.val().split("#").shift(),o+="#"+n,t.val(o)}),i.removeClass("active"),s.addClass("active"),g()},g=function g(){var t=jQuery(".lst-vnav-item.active",r),e=jQuery("> .data",t).first(),s=e.outerHeight();l||(l=r.outerHeight()),r.css({"min-height":s+"px"}),e.css({"min-height":l+"px"})},v=function v(t){r.hasClass("open")?b(t):w(t)},w=function w(){r.addClass("open")},b=function b(){r.removeClass("open")};t.on("click","h3",m),t.on("click","h3",v),h.resize(g),h.resize(b),window.setTimeout(function(){jQuery(".active h3",t).click()},50)}});
inc/rules/class-popup-rule-popup.php CHANGED
@@ -14,7 +14,7 @@ This filename is saved as metadata with each popup that uses these rules.
14
  Renaming the file will DISABLE the rules, which is very bad!
15
  */
16
 
17
- class IncPopupRule_Count extends IncPopupRule {
18
 
19
  /**
20
  * Initialize the rule object.
@@ -97,4 +97,4 @@ class IncPopupRule_Count extends IncPopupRule {
97
 
98
  };
99
 
100
- IncPopupRules::register( 'IncPopupRule_Count' );
14
  Renaming the file will DISABLE the rules, which is very bad!
15
  */
16
 
17
+ class IncPopupRule_Popup extends IncPopupRule {
18
 
19
  /**
20
  * Initialize the rule object.
97
 
98
  };
99
 
100
+ IncPopupRules::register( 'IncPopupRule_Popup' );
inc/rules/class-popup-rule-referrer.php CHANGED
@@ -6,7 +6,7 @@ Description: Examine how the visitor arrived on the current page.
6
  Author: Philipp (Incsub)
7
  Author URI: http://premium.wpmudev.org
8
  Type: Rule
9
- Rules: From a specific referrer, Not from an internal link, From a search engine
10
  Version: 1.0
11
 
12
  NOTE: DON'T RENAME THIS FILE!!
@@ -33,6 +33,15 @@ class IncPopupRule_Referrer extends IncPopupRule {
33
  15
34
  );
35
 
 
 
 
 
 
 
 
 
 
36
  // 'no_internal' rule.
37
  $this->add_rule(
38
  'no_internal',
@@ -85,7 +94,7 @@ class IncPopupRule_Referrer extends IncPopupRule {
85
  else { $referrer = ''; }
86
  ?>
87
  <label for="po-rule-data-referrer">
88
- <?php _e( 'Referrers (one per line):', PO_LANG ); ?>
89
  </label>
90
  <textarea name="po_rule_data[referrer]" id="po-rule-data-referrer" class="block"><?php
91
  echo esc_attr( $referrer );
@@ -104,6 +113,56 @@ class IncPopupRule_Referrer extends IncPopupRule {
104
  }
105
 
106
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  /*=================================*\
108
  =====================================
109
  == ==
@@ -165,7 +224,7 @@ class IncPopupRule_Referrer extends IncPopupRule {
165
  * @param array $list List of referers to check.
166
  * @return bool
167
  */
168
- protected function test_referrer( $list ) {
169
  $response = false;
170
  if ( is_string( $list ) ) { $list = array( $list ); }
171
  if ( ! is_array( $list ) ) { return true; }
@@ -173,7 +232,7 @@ class IncPopupRule_Referrer extends IncPopupRule {
173
  $referrer = $this->get_referrer();
174
 
175
  if ( empty( $referrer ) ) {
176
- $response = true;
177
  } else {
178
  foreach ( $list as $item ) {
179
  $item = trim( $item );
@@ -194,7 +253,7 @@ class IncPopupRule_Referrer extends IncPopupRule {
194
  * @since 4.6
195
  * @return bool
196
  */
197
- protected function test_searchengine() {
198
  $response = false;
199
  $referrer = $this->get_referrer();
200
 
@@ -204,6 +263,7 @@ class IncPopupRule_Referrer extends IncPopupRule {
204
  'web.info.com',
205
  'search.',
206
  'del.icio.us/search',
 
207
  'soso.com',
208
  '/search/',
209
  '.yahoo.',
@@ -234,7 +294,7 @@ class IncPopupRule_Referrer extends IncPopupRule {
234
  * @param string $referrer
235
  * @return bool
236
  */
237
- protected function is_googlesearch( $referrer = '' ) {
238
  $response = true;
239
 
240
  // Get the query strings and check its a web source.
@@ -261,7 +321,7 @@ class IncPopupRule_Referrer extends IncPopupRule {
261
  * @since 4.6
262
  * @return string
263
  */
264
- protected function get_referrer() {
265
  $referrer = '';
266
  if ( isset( $_REQUEST['thereferrer'] ) ) {
267
  $referrer = $_REQUEST['thereferrer'];
6
  Author: Philipp (Incsub)
7
  Author URI: http://premium.wpmudev.org
8
  Type: Rule
9
+ Rules: From a specific referrer, Not from a specific referrer, Not from an internal link, From a search engine
10
  Version: 1.0
11
 
12
  NOTE: DON'T RENAME THIS FILE!!
33
  15
34
  );
35
 
36
+ // 'no_referrer' rule.
37
+ $this->add_rule(
38
+ 'no_referrer',
39
+ __( 'Not from a specific referrer', PO_LANG ),
40
+ __( 'Hides the PopUp if the user arrived via a specific referrer.', PO_LANG ),
41
+ '',
42
+ 15
43
+ );
44
+
45
  // 'no_internal' rule.
46
  $this->add_rule(
47
  'no_internal',
94
  else { $referrer = ''; }
95
  ?>
96
  <label for="po-rule-data-referrer">
97
+ <?php _e( 'Referrers. Can be full URL or a pattern like ".example.com" (one per line):', PO_LANG ); ?>
98
  </label>
99
  <textarea name="po_rule_data[referrer]" id="po-rule-data-referrer" class="block"><?php
100
  echo esc_attr( $referrer );
113
  }
114
 
115
 
116
+ /*==============================*\
117
+ ==================================
118
+ == ==
119
+ == NO_REFERRER ==
120
+ == ==
121
+ ==================================
122
+ \*==============================*/
123
+
124
+ /**
125
+ * Apply the rule-logic to the specified popup
126
+ *
127
+ * @since 4.6
128
+ * @param mixed $data Rule-data which was saved via the save_() handler.
129
+ * @return bool Decission to display popup or not.
130
+ */
131
+ protected function apply_no_referrer( $data ) {
132
+ return ! $this->test_referrer( $data );
133
+ }
134
+
135
+ /**
136
+ * Output the Admin-Form for the active rule.
137
+ *
138
+ * @since 4.6
139
+ * @param mixed $data Rule-data which was saved via the save_() handler.
140
+ */
141
+ protected function form_no_referrer( $data ) {
142
+ if ( is_string( $data ) ) { $no_referrer = $data; }
143
+ else if ( is_array( $data ) ) { $no_referrer = implode( "\n", $data ); }
144
+ else { $no_referrer = ''; }
145
+ ?>
146
+ <label for="po-rule-data-no_referrer">
147
+ <?php _e( 'Referrers. Can be full URL or a pattern like ".example.com" (one per line):', PO_LANG ); ?>
148
+ </label>
149
+ <textarea name="po_rule_data[no_referrer]" id="po-rule-data-no_referrer" class="block"><?php
150
+ echo esc_attr( $no_referrer );
151
+ ?></textarea>
152
+ <?php
153
+ }
154
+
155
+ /**
156
+ * Update and return the $settings array to save the form values.
157
+ *
158
+ * @since 4.6
159
+ * @return mixed Data collection of this rule.
160
+ */
161
+ protected function save_no_referrer() {
162
+ return explode( "\n", @$_POST['po_rule_data']['no_referrer'] );
163
+ }
164
+
165
+
166
  /*=================================*\
167
  =====================================
168
  == ==
224
  * @param array $list List of referers to check.
225
  * @return bool
226
  */
227
+ public function test_referrer( $list ) {
228
  $response = false;
229
  if ( is_string( $list ) ) { $list = array( $list ); }
230
  if ( ! is_array( $list ) ) { return true; }
232
  $referrer = $this->get_referrer();
233
 
234
  if ( empty( $referrer ) ) {
235
+ $response = false;
236
  } else {
237
  foreach ( $list as $item ) {
238
  $item = trim( $item );
253
  * @since 4.6
254
  * @return bool
255
  */
256
+ public function test_searchengine() {
257
  $response = false;
258
  $referrer = $this->get_referrer();
259
 
263
  'web.info.com',
264
  'search.',
265
  'del.icio.us/search',
266
+ 'delicious.com/search',
267
  'soso.com',
268
  '/search/',
269
  '.yahoo.',
294
  * @param string $referrer
295
  * @return bool
296
  */
297
+ public function is_googlesearch( $referrer = '' ) {
298
  $response = true;
299
 
300
  // Get the query strings and check its a web source.
321
  * @since 4.6
322
  * @return string
323
  */
324
+ public function get_referrer() {
325
  $referrer = '';
326
  if ( isset( $_REQUEST['thereferrer'] ) ) {
327
  $referrer = $_REQUEST['thereferrer'];
inc/rules/class-popup-rule-url.php CHANGED
@@ -78,7 +78,7 @@ class IncPopupRule_Url extends IncPopupRule {
78
  $urls = implode( "\n", $data );
79
  ?>
80
  <label for="po-rule-data-url">
81
- <?php _e( 'URLs (one per line):', PO_LANG ); ?>
82
  </label>
83
  <textarea name="po_rule_data[url]" id="po-rule-data-url" class="block"><?php
84
  echo esc_html( $urls );
@@ -131,7 +131,7 @@ class IncPopupRule_Url extends IncPopupRule {
131
  $urls = implode( "\n", $data );
132
  ?>
133
  <label for="po-rule-data-no-url">
134
- <?php _e( 'URLs (one per line):', PO_LANG ); ?>
135
  </label>
136
  <textarea name="po_rule_data[no_url]" id="po-rule-data-no-url" class="block"><?php
137
  echo esc_html( $urls );
@@ -182,7 +182,7 @@ class IncPopupRule_Url extends IncPopupRule {
182
  * @since 4.6
183
  * @return string
184
  */
185
- protected function current_url() {
186
  global $wp;
187
  $current_url = '';
188
 
@@ -203,14 +203,17 @@ class IncPopupRule_Url extends IncPopupRule {
203
  * @param array $list List of URL-patterns to test against.
204
  * @return bool
205
  */
206
- protected function check_url( $test_url, $list ) {
207
  $response = false;
208
  $list = array_map( 'trim', $list );
 
209
 
210
  if ( empty( $list ) ) {
211
  $response = true;
212
  } else {
213
  foreach ( $list as $match ) {
 
 
214
  if ( false === strpos( $match, '://' ) ) {
215
  $match = 'https?://' . $match;
216
  }
@@ -219,7 +222,8 @@ class IncPopupRule_Url extends IncPopupRule {
219
  } else {
220
  $match .= '?';
221
  }
222
- $res = preg_match( '#^' . $match . '$#i', $test_url );
 
223
  if ( $res ) {
224
  $response = true;
225
  break;
@@ -227,9 +231,10 @@ class IncPopupRule_Url extends IncPopupRule {
227
  }
228
  }
229
 
 
230
  return $response;
231
  }
232
 
233
  };
234
 
235
- IncPopupRules::register( 'IncPopupRule_Url' );
78
  $urls = implode( "\n", $data );
79
  ?>
80
  <label for="po-rule-data-url">
81
+ <?php _e( 'Full URLs (one per line):', PO_LANG ); ?>
82
  </label>
83
  <textarea name="po_rule_data[url]" id="po-rule-data-url" class="block"><?php
84
  echo esc_html( $urls );
131
  $urls = implode( "\n", $data );
132
  ?>
133
  <label for="po-rule-data-no-url">
134
+ <?php _e( 'Full URLs (one per line):', PO_LANG ); ?>
135
  </label>
136
  <textarea name="po_rule_data[no_url]" id="po-rule-data-no-url" class="block"><?php
137
  echo esc_html( $urls );
182
  * @since 4.6
183
  * @return string
184
  */
185
+ public function current_url() {
186
  global $wp;
187
  $current_url = '';
188
 
203
  * @param array $list List of URL-patterns to test against.
204
  * @return bool
205
  */
206
+ public function check_url( $test_url, $list ) {
207
  $response = false;
208
  $list = array_map( 'trim', $list );
209
+ $test_url = strtok( $test_url, '#' );
210
 
211
  if ( empty( $list ) ) {
212
  $response = true;
213
  } else {
214
  foreach ( $list as $match ) {
215
+ $match = preg_quote( strtok( $match, '#' ) );
216
+
217
  if ( false === strpos( $match, '://' ) ) {
218
  $match = 'https?://' . $match;
219
  }
222
  } else {
223
  $match .= '?';
224
  }
225
+ $exp = '#^' . $match . '$#i';
226
+ $res = preg_match( $exp, $test_url );
227
  if ( $res ) {
228
  $response = true;
229
  break;
231
  }
232
  }
233
 
234
+
235
  return $response;
236
  }
237
 
238
  };
239
 
240
+ IncPopupRules::register( 'IncPopupRule_Url' );
inc/rules/class-popup-rule-user.php CHANGED
@@ -194,4 +194,4 @@ class IncPopupRule_User extends IncPopupRule {
194
 
195
  };
196
 
197
- IncPopupRules::register( 'IncPopupRule_User' );
194
 
195
  };
196
 
197
+ IncPopupRules::register( 'IncPopupRule_User' );
js/popup-admin.js ADDED
@@ -0,0 +1,552 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! PopUp Free - v4.6.14
2
+ * https://wordpress.org/plugins/wordpress-popup/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+ /*global window:false */
5
+ /*global document:false */
6
+ /*global wp:false */
7
+ /*global wpmUi:false */
8
+
9
+ /**
10
+ * Admin Javascript functions for PopUp
11
+ */
12
+
13
+ jQuery(function init_admin() {
14
+
15
+ // ----- POPUP EDITOR --
16
+
17
+ // Disables dragging of metaboxes: Users cannot change the metabox order.
18
+ function disable_metabox_dragging() {
19
+ var boxes = jQuery( '.meta-box-sortables' ),
20
+ handles = jQuery( '.postbox .hndle' );
21
+
22
+ if ( ! boxes.length ) { return; }
23
+
24
+ boxes.sortable({
25
+ disabled: true
26
+ });
27
+ handles.css( 'cursor', 'pointer' );
28
+ }
29
+
30
+ // Keeps the submitdiv always visible, even when scrolling.
31
+ function scrolling_submitdiv() {
32
+ var scroll_top,
33
+ top_offset,
34
+ submitdiv = jQuery( '#submitdiv' ),
35
+ postbody = jQuery( '#post-body' ),
36
+ body = jQuery( 'body' ),
37
+ padding = 20;
38
+
39
+ if ( ! submitdiv.length ) { return; }
40
+ top_offset = submitdiv.position().top;
41
+
42
+ var small_make_sticky = function() {
43
+ if ( ! body.hasClass( 'sticky-submit' ) ) {
44
+ body.addClass( 'sticky-submit' );
45
+ submitdiv.css({ 'marginTop': 0 } );
46
+ submitdiv.find( '.sticky-actions' ).show();
47
+ submitdiv.find( '.non-sticky' ).hide();
48
+ }
49
+ };
50
+
51
+ var small_remove_sticky = function() {
52
+ if ( body.hasClass( 'sticky-submit' ) ) {
53
+ body.removeClass( 'sticky-submit' );
54
+ submitdiv.find( '.sticky-actions' ).hide();
55
+ submitdiv.find( '.non-sticky' ).show();
56
+ }
57
+ };
58
+
59
+ jQuery( window ).resize(function() {
60
+ var is_small = jQuery( window ).width() <= 850;
61
+
62
+ if ( is_small ) {
63
+ if ( ! body.hasClass( 'po-small' ) ) {
64
+ body.addClass( 'po-small' );
65
+ }
66
+ } else {
67
+ if ( body.hasClass( 'po-small' ) ) {
68
+ body.removeClass( 'po-small' );
69
+ small_remove_sticky();
70
+ }
71
+ }
72
+ }).scroll(function(){
73
+ if ( postbody.hasClass( 'columns-1' ) || body.hasClass( 'po-small' ) ) {
74
+ // 1-column view:
75
+ // The div stays as sticky toolbar when scrolling down.
76
+
77
+ scroll_top = jQuery( window ).scrollTop() - top_offset;
78
+
79
+ if ( scroll_top > 0 ) {
80
+ small_make_sticky();
81
+ } else {
82
+ small_remove_sticky();
83
+ }
84
+ } else {
85
+ // 2-column view:
86
+ // The div scrolls with the page to stay visible.
87
+
88
+ scroll_top = jQuery( window ).scrollTop() - top_offset + padding;
89
+
90
+ if ( scroll_top > 0 ) {
91
+ submitdiv.css({ 'marginTop': scroll_top } );
92
+ } else {
93
+ submitdiv.css({ 'marginTop': 0 } );
94
+ }
95
+ }
96
+ });
97
+
98
+ window.setTimeout( function() {
99
+ jQuery( window ).trigger( 'scroll' );
100
+ }, 100 );
101
+ }
102
+
103
+ // Change the text-fields to colorpicker fields.
104
+ function init_colorpicker() {
105
+ var inp = jQuery( '.colorpicker' );
106
+
107
+ if ( ! inp.length || 'function' !== typeof inp.wpColorPicker ) { return; }
108
+
109
+ var maybe_hide_picker = function maybe_hide_picker( ev ) {
110
+ var el = jQuery( ev.target ),
111
+ cp = el.closest( '.wp-picker-container' ),
112
+ me = cp.find( '.colorpicker' ),
113
+ do_hide = jQuery( '.colorpicker' );
114
+
115
+ if ( cp.length ) {
116
+ do_hide = do_hide.not( me );
117
+ }
118
+
119
+ do_hide.each( function() {
120
+ var picker = jQuery( this ),
121
+ wrap = picker.closest( '.wp-picker-container' );
122
+
123
+ picker.iris( 'hide' );
124
+
125
+ // As mentioned: Color picker does not like to hide properly...
126
+ picker.hide();
127
+ wrap.find( '.wp-picker-clear').addClass( 'hidden' );
128
+ wrap.find( '.wp-picker-open').removeClass( 'wp-picker-open' );
129
+ });
130
+ };
131
+
132
+ inp.wpColorPicker();
133
+
134
+ // Don't ask why the handler is hooked three times ;-)
135
+ // The Color picker is a bit bitchy when it comes to hiding it...
136
+ jQuery( document ).on( 'mousedown', maybe_hide_picker );
137
+ jQuery( document ).on( 'click', maybe_hide_picker );
138
+ jQuery( document ).on( 'mouseup', maybe_hide_picker );
139
+ }
140
+
141
+ // Add event handlers for editor UI controls (i.e. to checkboxes)
142
+ function init_edit_controls() {
143
+ var chk_colors = jQuery( '#po-custom-colors' ),
144
+ chk_size = jQuery( '#po-custom-size' ),
145
+ opt_display = jQuery( '[name=po_display]' ),
146
+ chk_can_hide = jQuery( '#po-can-hide' ),
147
+ chk_close_hides = jQuery( '#po-close-hides' );
148
+
149
+ if ( ! chk_colors.length ) { return; }
150
+
151
+ var toggle_section = function toggle_section() {
152
+ var group,
153
+ me = jQuery( this ),
154
+ sel = me.data( 'toggle' ),
155
+ sect = jQuery( sel ),
156
+ group_or = me.data( 'or' ),
157
+ group_and = me.data( 'and' ),
158
+ is_active = false;
159
+
160
+ if ( group_or ) {
161
+ group = jQuery( group_or );
162
+ is_active = ( group.filter( ':checked' ).length > 0);
163
+ } else if ( group_and ) {
164
+ group = jQuery( group_and );
165
+ is_active = ( group.length === group.filter( ':checked' ).length );
166
+ } else {
167
+ is_active = me.prop( 'checked' );
168
+ }
169
+
170
+ if ( is_active ) {
171
+ sect.removeClass( 'inactive' );
172
+ sect.find( 'input,select,textarea,a' )
173
+ .prop( 'readonly', false )
174
+ .removeClass( 'disabled' );
175
+ } else {
176
+ sect.addClass( 'inactive' );
177
+ // Do NOT set .prop('disabled', true)!
178
+ sect.find( 'input,select,textarea,a' )
179
+ .prop( 'readonly', true )
180
+ .addClass( 'disabled' );
181
+ }
182
+ sect.addClass( 'inactive-anim' );
183
+ };
184
+
185
+ var toggle_section_group = function toggle_section_group() {
186
+ var me = jQuery( this ),
187
+ name = me.attr( 'name' ),
188
+ group = jQuery( '[name="' + name + '"]' );
189
+
190
+ group.each(function() {
191
+ toggle_section.call( this );
192
+ });
193
+ };
194
+
195
+ var create_sliders = function create_sliders() {
196
+ jQuery( '.slider' ).each(function() {
197
+ var me = jQuery( this ),
198
+ wrap = me.closest( '.slider-wrap' ),
199
+ inp_base = me.data( 'input' ),
200
+ inp_min = wrap.find( inp_base + 'min' ),
201
+ inp_max = wrap.find( inp_base + 'max' ),
202
+ min_input = wrap.find( '.slider-min-input' ),
203
+ min_ignore = wrap.find( '.slider-min-ignore' ),
204
+ max_input = wrap.find( '.slider-max-input' ),
205
+ max_ignore = wrap.find( '.slider-max-ignore' ),
206
+ min = me.data( 'min' ),
207
+ max = me.data( 'max' );
208
+
209
+ if ( isNaN( min ) ) { min = 0; }
210
+ if ( isNaN( max ) ) { max = 9999; }
211
+ inp_min.prop( 'readonly', true );
212
+ inp_max.prop( 'readonly', true );
213
+
214
+ var update_fields = function update_fields( val1, val2 ) {
215
+ inp_min.val( val1 );
216
+ inp_max.val( val2 );
217
+
218
+ if ( val1 === min ) {
219
+ min_input.hide();
220
+ min_ignore.show();
221
+ } else {
222
+ min_input.show();
223
+ min_ignore.hide();
224
+ }
225
+ if ( val2 === max ) {
226
+ max_input.hide();
227
+ max_ignore.show();
228
+ } else {
229
+ max_input.show();
230
+ max_ignore.hide();
231
+ }
232
+ };
233
+
234
+ me.slider({
235
+ range: true,
236
+ min: min,
237
+ max: max,
238
+ values: [ inp_min.val(), inp_max.val() ],
239
+ slide: function( event, ui ) {
240
+ update_fields( ui.values[0], ui.values[1] );
241
+ }
242
+ });
243
+
244
+ update_fields( inp_min.val(), inp_max.val() );
245
+ });
246
+ };
247
+
248
+ chk_colors.click( toggle_section );
249
+ chk_size.click( toggle_section );
250
+ chk_can_hide.click( toggle_section );
251
+ chk_close_hides.click( toggle_section );
252
+ opt_display.click( toggle_section_group );
253
+
254
+ toggle_section.call( chk_colors );
255
+ toggle_section.call( chk_size );
256
+ toggle_section.call( chk_can_hide );
257
+ toggle_section.call( chk_close_hides );
258
+
259
+ opt_display.each(function() {
260
+ toggle_section.call( jQuery( this ) );
261
+ });
262
+
263
+ create_sliders();
264
+ }
265
+
266
+ // Toggle rules on/off
267
+ function init_rules() {
268
+ var all_rules = jQuery( '#meta-rules .all-rules' ),
269
+ active_rules = jQuery( '#meta-rules .active-rules' );
270
+
271
+ if ( ! all_rules.length ) { return; }
272
+
273
+ var toggle_checkbox = function toggle_checkbox( ev ) {
274
+ var me = jQuery( ev.target ),
275
+ chk = me.find( 'input.wpmui-toggle-checkbox' );
276
+
277
+ if ( me.closest( '.wpmui-toggle' ).length ) { return; }
278
+ if ( me.hasClass( 'inactive' ) ) { return false; }
279
+ chk.trigger( 'click' );
280
+ };
281
+
282
+ var toggle_rule = function toggle_rule() {
283
+ var me = jQuery( this ),
284
+ rule = me.closest( '.rule' ),
285
+ sel = me.data( 'form' ),
286
+ form = active_rules.find( sel ),
287
+ active = me.prop( 'checked' );
288
+
289
+ if ( active ) {
290
+ rule.removeClass( 'off' ).addClass( 'on' );
291
+ form.removeClass( 'off' ).addClass( 'on open' );
292
+ } else {
293
+ rule.removeClass( 'on' ).addClass( 'off' );
294
+ form.removeClass( 'on' ).addClass( 'off' );
295
+ }
296
+
297
+ exclude_rules( me, active );
298
+ };
299
+
300
+ var exclude_rules = function exclude_rules( checkbox, active ) {
301
+ var ind, excl1, excl2,
302
+ excl = checkbox.data( 'exclude' ),
303
+ keys = (excl ? excl.split( ',' ) : []);
304
+
305
+ // Exclude other rules.
306
+ for ( ind = keys.length - 1; ind >= 0; ind -= 1 ) {
307
+ excl1 = all_rules.find( '.rule-' + keys[ ind ] );
308
+ excl2 = active_rules.find( '#po-rule-' + keys[ ind ] );
309
+
310
+ if ( excl1.hasClass( 'on' ) ) {
311
+ // Rule is active; possibly migrated from old PopUp editor
312
+ // so we cannot disable the rule now...
313
+ continue;
314
+ }
315
+
316
+ excl1.prop( 'disabled', active );
317
+ if ( active ) {
318
+ excl1.addClass( 'inactive off' ).removeClass( 'on' );
319
+ excl2.addClass( 'off' ).removeClass( 'on' );
320
+ } else {
321
+ excl1.removeClass( 'inactive off' );
322
+ }
323
+ }
324
+ };
325
+
326
+ var toggle_form = function toggle_form() {
327
+ var me = jQuery( this ),
328
+ form = me.closest( '.rule' );
329
+
330
+ form.toggleClass( 'open' );
331
+ };
332
+
333
+ all_rules.find( 'input.wpmui-toggle-checkbox' ).click( toggle_rule );
334
+ all_rules.find( '.rule' ).click( toggle_checkbox );
335
+ active_rules.on( 'click', '.rule-title,.rule-toggle', toggle_form );
336
+
337
+ // Exclude rules.
338
+ all_rules.find( '.rule.on input.wpmui-toggle-checkbox' ).each(function() {
339
+ exclude_rules( jQuery( this ), true );
340
+ });
341
+ jQuery( '.init-loading' ).removeClass( 'wpmui-loading' );
342
+ }
343
+
344
+ // Hook up the "Featured image" button.
345
+ function init_image() {
346
+ // Uploading files
347
+ var box = jQuery( '.content-image' ),
348
+ btn = box.find( '.add_image' ),
349
+ dropzone = box.find( '.featured-img' ),
350
+ reset = box.find( '.reset' ),
351
+ inp = box.find( '.po-image' ),
352
+ img_preview = box.find( '.img-preview' ),
353
+ img_label = box.find( '.lbl-empty' ),
354
+ img_pos = box.find( '.img-pos' ),
355
+ file_frame;
356
+
357
+ // User selected an image (via drag-drop or file_frame)
358
+ var use_image = function use_image( url ) {
359
+ inp.val( url );
360
+ img_preview.attr( 'src', url ).show();
361
+ img_label.hide();
362
+ img_pos.show();
363
+ dropzone.addClass( 'has-image' );
364
+ };
365
+
366
+ // User selected an image (via drag-drop or file_frame)
367
+ var reset_image = function reset_image( url ) {
368
+ inp.val( '' );
369
+ img_preview.attr( 'src', '' ).hide();
370
+ img_label.show();
371
+ img_pos.hide();
372
+ dropzone.removeClass( 'has-image' );
373
+ };
374
+
375
+ // User clicks on the "Add image" button.
376
+ var select_clicked = function select_clicked( ev ) {
377
+ ev.preventDefault();
378
+
379
+ // If the media frame already exists, reopen it.
380
+ if ( file_frame ) {
381
+ file_frame.open();
382
+ return;
383
+ }
384
+
385
+ // Create the media frame.
386
+ file_frame = wp.media.frames.file_frame = wp.media({
387
+ title: btn.attr( 'data-title' ),
388
+ button: {
389
+ text: btn.attr( 'data-button' )
390
+ },
391
+ multiple: false // Set to true to allow multiple files to be selected
392
+ });
393
+
394
+ // When an image is selected, run a callback.
395
+ file_frame.on( 'select', function() {
396
+ // We set multiple to false so only get one image from the uploader
397
+ var attachment = file_frame.state().get('selection').first().toJSON();
398
+
399
+ // Do something with attachment.id and/or attachment.url here
400
+ use_image( attachment.url );
401
+ });
402
+
403
+ // Finally, open the modal
404
+ file_frame.open();
405
+ };
406
+
407
+ var select_pos = function select_pos( ev ) {
408
+ var me = jQuery( this );
409
+
410
+ img_pos.find( '.option' ).removeClass( 'selected' );
411
+ me.addClass( 'selected' );
412
+ };
413
+
414
+ btn.on( 'click', select_clicked );
415
+ reset.on( 'click', reset_image );
416
+ img_pos.on( 'click', '.option', select_pos );
417
+ }
418
+
419
+ // ----- POPUP LIST --
420
+
421
+ // Adds custom bulk actions to the popup list.
422
+ function bulk_actions() {
423
+ var key,
424
+ ba1 = jQuery( 'select[name="action"] '),
425
+ ba2 = jQuery( 'select[name="action2"] ');
426
+
427
+ if ( ! ba1.length || 'object' !== typeof window.po_bulk ) { return; }
428
+
429
+ for ( key in window.po_bulk ) {
430
+ jQuery( '<option>' )
431
+ .val( key )
432
+ .text( window.po_bulk[key] )
433
+ .appendTo( ba1 )
434
+ .clone()
435
+ .appendTo( ba2 );
436
+ }
437
+ }
438
+
439
+ // Makes the post-list sortable (to change popup-order)
440
+ function sortable_list() {
441
+ var table = jQuery( 'table.posts' ),
442
+ tbody = table.find( '#the-list' );
443
+
444
+ if ( ! tbody.length ) { return; }
445
+
446
+ var ajax_done = function ajax_done( resp, okay ) {
447
+ table.removeClass( 'wpmui-loading' );
448
+ if ( okay ) {
449
+ for ( var id in resp ) {
450
+ if ( ! resp.hasOwnProperty( id ) ) { continue; }
451
+ tbody.find( '#post-' + id + ' .the-pos' ).text( resp[id] );
452
+ }
453
+ }
454
+ };
455
+
456
+ var save_order = function save_order( event, ui ) {
457
+ var i,
458
+ rows = tbody.find('tr'),
459
+ order = [];
460
+
461
+ for ( i = 0; i < rows.length; i+= 1 ) {
462
+ order.push( jQuery( rows[i] ).attr( 'id' ) );
463
+ }
464
+
465
+ table.addClass( 'wpmui-loading' );
466
+ wpmUi.ajax( null, 'po-ajax' )
467
+ .data({
468
+ 'do': 'order',
469
+ 'order': order
470
+ })
471
+ .ondone( ajax_done )
472
+ .load_json();
473
+ };
474
+
475
+ tbody.sortable({
476
+ placeholder: 'ui-sortable-placeholder',
477
+ axis: 'y',
478
+ handle: '.column-po_order',
479
+ helper: 'clone',
480
+ opacity: 0.75,
481
+ update: save_order
482
+ });
483
+ tbody.disableSelection();
484
+ }
485
+
486
+ // Shows a preview of the current PopUp.
487
+ function init_preview() {
488
+ var doc = jQuery( document ),
489
+ body = jQuery( '#wpcontent' );
490
+
491
+ var handle_list_click = function handle_list_click( ev ) {
492
+ var me = jQuery( this ),
493
+ po_id = me.data( 'id' );
494
+
495
+ ev.preventDefault();
496
+ if ( undefined === window.inc_popup ) { return false; }
497
+
498
+ body.addClass( 'wpmui-loading' );
499
+ window.inc_popup.load( po_id );
500
+ return false;
501
+ };
502
+
503
+ var handle_editor_click = function handle_editor_click( ev ) {
504
+ var data,
505
+ me = jQuery( this ),
506
+ form = jQuery( '#post' ),
507
+ ajax = wpmUi.ajax();
508
+
509
+ ev.preventDefault();
510
+ if ( undefined === window.inc_popup ) { return false; }
511
+
512
+ data = ajax.extract_data( form );
513
+ body.addClass( 'wpmui-loading' );
514
+ window.inc_popup.load( 0, data );
515
+ return false;
516
+ };
517
+
518
+ var show_popup = function show_popup( ev, popup ) {
519
+ body.removeClass( 'wpmui-loading' );
520
+ popup.init();
521
+ };
522
+
523
+ doc.on( 'click', '.posts .po-preview', handle_list_click );
524
+ doc.on( 'click', '#post .preview', handle_editor_click );
525
+ doc.on( 'popup-initialized', show_popup );
526
+ }
527
+
528
+ if ( ! jQuery( 'body.post-type-inc_popup' ).length ) {
529
+ return;
530
+ }
531
+
532
+ // EDITOR
533
+ if ( jQuery( 'body.post-php' ).length || jQuery( 'body.post-new-php' ).length ) {
534
+ disable_metabox_dragging();
535
+ scrolling_submitdiv();
536
+ init_colorpicker();
537
+ init_edit_controls();
538
+ init_rules();
539
+ init_preview();
540
+ init_image();
541
+
542
+ wpmUi.upgrade_multiselect();
543
+ }
544
+
545
+ // POPUP LIST
546
+ else if ( jQuery( 'body.edit-php' ).length ) {
547
+ sortable_list();
548
+ bulk_actions();
549
+ init_preview();
550
+ }
551
+
552
+ });
js/popup-admin.min.js CHANGED
@@ -1 +1,4 @@
1
- jQuery(function(){function e(){var e=jQuery(".meta-box-sortables"),i=jQuery(".postbox .hndle");e.length&&(e.sortable({disabled:!0}),i.css("cursor","pointer"))}function i(){var e,i=20,o=jQuery("#submitdiv"),a=jQuery("#post-body"),n=jQuery("body"),i=20;if(o.length){e=o.position().top;var t=function(){n.hasClass("sticky-submit")||(n.addClass("sticky-submit"),o.css({marginTop:0}),o.find(".sticky-actions").show(),o.find(".non-sticky").hide())},s=function(){n.hasClass("sticky-submit")&&(n.removeClass("sticky-submit"),o.find(".sticky-actions").hide(),o.find(".non-sticky").show())};jQuery(window).resize(function(){var e=jQuery(window).width()<=850;e?n.hasClass("po-small")||n.addClass("po-small"):n.hasClass("po-small")&&(n.removeClass("po-small"),s())}).scroll(function(){if(a.hasClass("columns-1")||n.hasClass("po-small")){var l=jQuery(window).scrollTop()-e;l>0?t():s()}else{var l=jQuery(window).scrollTop()-e+i;l>0?o.css({marginTop:l}):o.css({marginTop:0})}}),setTimeout(function(){jQuery(window).trigger("scroll")},100)}}function o(){var e=jQuery(".colorpicker");if(e.length&&"function"==typeof e.wpColorPicker){var i=function(e){var i=jQuery(e.target),o=i.closest(".wp-picker-container"),a=o.find(".colorpicker"),n=jQuery(".colorpicker");o.length&&(n=n.not(a)),n.each(function(){var e=jQuery(this),i=e.closest(".wp-picker-container");e.iris("hide"),e.hide(),i.find(".wp-picker-clear").addClass("hidden"),i.find(".wp-picker-open").removeClass("wp-picker-open")})};e.wpColorPicker(),jQuery(document).on("mousedown",i),jQuery(document).on("click",i),jQuery(document).on("mouseup",i)}}function a(){var e=jQuery("#po-custom-colors"),i=jQuery("#po-custom-size"),o=jQuery("[name=po_display]"),a=jQuery("#po-can-hide"),n=jQuery("#po-close-hides");if(e.length){var t=function(){var e=jQuery(this),i=e.data("toggle"),o=jQuery(i),a=e.data("or"),n=e.data("and"),t=!1;if(a){var s=jQuery(a);t=s.filter(":checked").length>0}else if(n){var s=jQuery(n);t=s.length==s.filter(":checked").length}else t=e.prop("checked");t?(o.removeClass("inactive"),o.find("input,select,textarea,a").prop("readonly",!1).removeClass("disabled")):(o.addClass("inactive"),o.find("input,select,textarea,a").prop("readonly",!0).addClass("disabled")),o.addClass("inactive-anim")},s=function(){var e=jQuery(this),i=e.attr("name"),o=jQuery('[name="'+i+'"]');o.each(function(){t.call(this)})},l=function(){jQuery(".slider").each(function(){var e=jQuery(this),i=e.closest(".slider-wrap"),o=e.data("input"),a=i.find(o+"min"),n=i.find(o+"max"),t=i.find(".slider-min-input"),s=i.find(".slider-min-ignore"),l=i.find(".slider-max-input"),r=i.find(".slider-max-ignore"),d=e.data("min"),c=e.data("max");isNaN(d)&&(d=0),isNaN(c)&&(c=9999),a.prop("readonly",!0),n.prop("readonly",!0);var u=function(e,i){a.val(e),n.val(i),e==d?(t.hide(),s.show()):(t.show(),s.hide()),i==c?(l.hide(),r.show()):(l.show(),r.hide())};e.slider({range:!0,min:d,max:c,values:[a.val(),n.val()],slide:function(e,i){u(i.values[0],i.values[1])}}),u(a.val(),n.val())})};e.click(t),i.click(t),a.click(t),n.click(t),o.click(s),t.call(e),t.call(i),t.call(a),t.call(n),o.each(function(){t.call(jQuery(this))}),l()}}function n(){var e=jQuery("#meta-rules .all-rules"),i=jQuery("#meta-rules .active-rules");if(e.length){var o=function(e){var i=jQuery(e.target),o=i.find("input.wpmui-toggle-checkbox");if(!i.closest(".wpmui-toggle").length)return i.hasClass("inactive")?!1:(o.trigger("click"),void 0)},a=function(){var e=jQuery(this),o=e.closest(".rule"),a=e.data("form"),t=i.find(a),s=e.prop("checked");s?(o.removeClass("off").addClass("on"),t.removeClass("off").addClass("on open")):(o.removeClass("on").addClass("off"),t.removeClass("on").addClass("off")),n(e,s)},n=function(o,a){var n,t,s,l=o.data("exclude"),r=l?l.split(","):[];for(n=r.length-1;n>=0;n-=1)t=e.find(".rule-"+r[n]),s=i.find("#po-rule-"+r[n]),t.hasClass("on")||(t.prop("disabled",a),a?(t.addClass("inactive off").removeClass("on"),s.addClass("off").removeClass("on")):t.removeClass("inactive off"))},t=function(){var e=jQuery(this),i=e.closest(".rule");i.toggleClass("open")};e.find("input.wpmui-toggle-checkbox").click(a),e.find(".rule").click(o),i.on("click",".rule-title,.rule-toggle",t),e.find(".rule.on input.wpmui-toggle-checkbox").each(function(){n(jQuery(this),!0)}),jQuery(".init-loading").removeClass("wpmui-loading")}}function t(){var e,i=jQuery(".content-image"),o=i.find(".add_image"),a=i.find(".featured-img"),n=i.find(".reset"),t=i.find(".po-image"),s=i.find(".img-preview"),l=i.find(".lbl-empty"),r=i.find(".img-pos"),d=function(e){t.val(e),s.attr("src",e).show(),l.hide(),r.show(),a.addClass("has-image")},c=function(){t.val(""),s.attr("src","").hide(),l.show(),r.hide(),a.removeClass("has-image")},u=function(i){return i.preventDefault(),e?(e.open(),void 0):(e=wp.media.frames.file_frame=wp.media({title:o.attr("data-title"),button:{text:o.attr("data-button")},multiple:!1}),e.on("select",function(){attachment=e.state().get("selection").first().toJSON(),d(attachment.url)}),e.open(),void 0)},p=function(){var e=jQuery(this);r.find(".option").removeClass("selected"),e.addClass("selected")};o.on("click",u),n.on("click",c),r.on("click",".option",p)}function s(){var e,i=jQuery('select[name="action"] '),o=jQuery('select[name="action2"] ');if(i.length&&"object"==typeof window.po_bulk)for(e in po_bulk)jQuery("<option>").val(e).text(po_bulk[e]).appendTo(i).clone().appendTo(o)}function l(){var e=jQuery("table.posts");if(tbody=e.find("#the-list"),tbody.length){var i=function(i,o){if(e.removeClass("wpmui-loading"),o)for(var a in i)i.hasOwnProperty(a)&&tbody.find("#post-"+a+" .the-pos").text(i[a])},o=function(){var o,a=tbody.find("tr"),n=[];for(o=0;o<a.length;o+=1)n.push(jQuery(a[o]).attr("id"));e.addClass("wpmui-loading"),wpmUi.ajax(null,"po-ajax").data({"do":"order",order:n}).ondone(i).load_json()};tbody.sortable({placeholder:"ui-sortable-placeholder",axis:"y",handle:".column-po_order",helper:"clone",opacity:.75,update:o}),tbody.disableSelection()}}function r(){var e=jQuery(document);body=jQuery("#wpcontent");var i=function(e){var i=jQuery(this),o=i.data("id");return e.preventDefault(),void 0===window.inc_popup?!1:(body.addClass("wpmui-loading"),inc_popup.load(o),!1)},o=function(e){var i=(jQuery(this),jQuery("#post")),o=wpmUi.ajax();return e.preventDefault(),void 0===window.inc_popup?!1:(data=o.extract_data(i),body.addClass("wpmui-loading"),inc_popup.load(0,data),!1)},a=function(e,i){body.removeClass("wpmui-loading"),i.init()};e.on("click",".posts .po-preview",i),e.on("click","#post .preview",o),e.on("popup-initialized",a)}jQuery("body.post-type-inc_popup").length&&(jQuery("body.post-php").length||jQuery("body.post-new-php").length?(e(),i(),o(),a(),n(),r(),t(),wpmUi.upgrade_multiselect()):jQuery("body.edit-php").length&&(l(),s(),r()))});
 
 
 
1
+ /*! PopUp Free - v4.6.14
2
+ * https://wordpress.org/plugins/wordpress-popup/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+ jQuery(function(){function e(){var e=jQuery(".meta-box-sortables"),i=jQuery(".postbox .hndle");e.length&&(e.sortable({disabled:!0}),i.css("cursor","pointer"))}function i(){var e,i,o=jQuery("#submitdiv"),n=jQuery("#post-body"),a=jQuery("body"),t=20;if(o.length){i=o.position().top;var s=function(){a.hasClass("sticky-submit")||(a.addClass("sticky-submit"),o.css({marginTop:0}),o.find(".sticky-actions").show(),o.find(".non-sticky").hide())},l=function(){a.hasClass("sticky-submit")&&(a.removeClass("sticky-submit"),o.find(".sticky-actions").hide(),o.find(".non-sticky").show())};jQuery(window).resize(function(){var e=850>=jQuery(window).width();e?a.hasClass("po-small")||a.addClass("po-small"):a.hasClass("po-small")&&(a.removeClass("po-small"),l())}).scroll(function(){n.hasClass("columns-1")||a.hasClass("po-small")?(e=jQuery(window).scrollTop()-i,e>0?s():l()):(e=jQuery(window).scrollTop()-i+t,e>0?o.css({marginTop:e}):o.css({marginTop:0}))}),window.setTimeout(function(){jQuery(window).trigger("scroll")},100)}}function o(){var e=jQuery(".colorpicker");if(e.length&&"function"==typeof e.wpColorPicker){var i=function i(e){var i=jQuery(e.target),o=i.closest(".wp-picker-container"),n=o.find(".colorpicker"),a=jQuery(".colorpicker");o.length&&(a=a.not(n)),a.each(function(){var e=jQuery(this),i=e.closest(".wp-picker-container");e.iris("hide"),e.hide(),i.find(".wp-picker-clear").addClass("hidden"),i.find(".wp-picker-open").removeClass("wp-picker-open")})};e.wpColorPicker(),jQuery(document).on("mousedown",i),jQuery(document).on("click",i),jQuery(document).on("mouseup",i)}}function n(){var e=jQuery("#po-custom-colors"),i=jQuery("#po-custom-size"),o=jQuery("[name=po_display]"),n=jQuery("#po-can-hide"),a=jQuery("#po-close-hides");if(e.length){var t=function t(){var e,i=jQuery(this),o=i.data("toggle"),n=jQuery(o),a=i.data("or"),t=i.data("and"),s=!1;a?(e=jQuery(a),s=e.filter(":checked").length>0):t?(e=jQuery(t),s=e.length===e.filter(":checked").length):s=i.prop("checked"),s?(n.removeClass("inactive"),n.find("input,select,textarea,a").prop("readonly",!1).removeClass("disabled")):(n.addClass("inactive"),n.find("input,select,textarea,a").prop("readonly",!0).addClass("disabled")),n.addClass("inactive-anim")},s=function s(){var e=jQuery(this),i=e.attr("name"),o=jQuery('[name="'+i+'"]');o.each(function(){t.call(this)})},l=function l(){jQuery(".slider").each(function(){var e=jQuery(this),i=e.closest(".slider-wrap"),o=e.data("input"),n=i.find(o+"min"),a=i.find(o+"max"),t=i.find(".slider-min-input"),s=i.find(".slider-min-ignore"),l=i.find(".slider-max-input"),r=i.find(".slider-max-ignore"),d=e.data("min"),c=e.data("max");isNaN(d)&&(d=0),isNaN(c)&&(c=9999),n.prop("readonly",!0),a.prop("readonly",!0);var u=function u(e,i){n.val(e),a.val(i),e===d?(t.hide(),s.show()):(t.show(),s.hide()),i===c?(l.hide(),r.show()):(l.show(),r.hide())};e.slider({range:!0,min:d,max:c,values:[n.val(),a.val()],slide:function(e,i){u(i.values[0],i.values[1])}}),u(n.val(),a.val())})};e.click(t),i.click(t),n.click(t),a.click(t),o.click(s),t.call(e),t.call(i),t.call(n),t.call(a),o.each(function(){t.call(jQuery(this))}),l()}}function a(){var e=jQuery("#meta-rules .all-rules"),i=jQuery("#meta-rules .active-rules");if(e.length){var o=function o(e){var i=jQuery(e.target),o=i.find("input.wpmui-toggle-checkbox");if(!i.closest(".wpmui-toggle").length)return i.hasClass("inactive")?!1:(o.trigger("click"),void 0)},n=function n(){var e=jQuery(this),o=e.closest(".rule"),n=e.data("form"),t=i.find(n),s=e.prop("checked");s?(o.removeClass("off").addClass("on"),t.removeClass("off").addClass("on open")):(o.removeClass("on").addClass("off"),t.removeClass("on").addClass("off")),a(e,s)},a=function a(o,n){var a,t,s,l=o.data("exclude"),r=l?l.split(","):[];for(a=r.length-1;a>=0;a-=1)t=e.find(".rule-"+r[a]),s=i.find("#po-rule-"+r[a]),t.hasClass("on")||(t.prop("disabled",n),n?(t.addClass("inactive off").removeClass("on"),s.addClass("off").removeClass("on")):t.removeClass("inactive off"))},t=function t(){var e=jQuery(this),i=e.closest(".rule");i.toggleClass("open")};e.find("input.wpmui-toggle-checkbox").click(n),e.find(".rule").click(o),i.on("click",".rule-title,.rule-toggle",t),e.find(".rule.on input.wpmui-toggle-checkbox").each(function(){a(jQuery(this),!0)}),jQuery(".init-loading").removeClass("wpmui-loading")}}function t(){var e,i=jQuery(".content-image"),o=i.find(".add_image"),n=i.find(".featured-img"),a=i.find(".reset"),t=i.find(".po-image"),s=i.find(".img-preview"),l=i.find(".lbl-empty"),r=i.find(".img-pos"),d=function d(e){t.val(e),s.attr("src",e).show(),l.hide(),r.show(),n.addClass("has-image")},c=function c(){t.val(""),s.attr("src","").hide(),l.show(),r.hide(),n.removeClass("has-image")},u=function u(i){return i.preventDefault(),e?(e.open(),void 0):(e=wp.media.frames.file_frame=wp.media({title:o.attr("data-title"),button:{text:o.attr("data-button")},multiple:!1}),e.on("select",function(){var i=e.state().get("selection").first().toJSON();d(i.url)}),e.open(),void 0)},p=function p(){var e=jQuery(this);r.find(".option").removeClass("selected"),e.addClass("selected")};o.on("click",u),a.on("click",c),r.on("click",".option",p)}function s(){var e,i=jQuery('select[name="action"] '),o=jQuery('select[name="action2"] ');if(i.length&&"object"==typeof window.po_bulk)for(e in window.po_bulk)jQuery("<option>").val(e).text(window.po_bulk[e]).appendTo(i).clone().appendTo(o)}function l(){var e=jQuery("table.posts"),i=e.find("#the-list");if(i.length){var o=function o(o,n){if(e.removeClass("wpmui-loading"),n)for(var a in o)o.hasOwnProperty(a)&&i.find("#post-"+a+" .the-pos").text(o[a])},n=function n(){var n,a=i.find("tr"),t=[];for(n=0;a.length>n;n+=1)t.push(jQuery(a[n]).attr("id"));e.addClass("wpmui-loading"),wpmUi.ajax(null,"po-ajax").data({"do":"order",order:t}).ondone(o).load_json()};i.sortable({placeholder:"ui-sortable-placeholder",axis:"y",handle:".column-po_order",helper:"clone",opacity:.75,update:n}),i.disableSelection()}}function r(){var e=jQuery(document),i=jQuery("#wpcontent"),o=function o(e){var o=jQuery(this),n=o.data("id");return e.preventDefault(),void 0===window.inc_popup?!1:(i.addClass("wpmui-loading"),window.inc_popup.load(n),!1)},n=function n(e){var o,n=(jQuery(this),jQuery("#post")),a=wpmUi.ajax();return e.preventDefault(),void 0===window.inc_popup?!1:(o=a.extract_data(n),i.addClass("wpmui-loading"),window.inc_popup.load(0,o),!1)},a=function a(e,o){i.removeClass("wpmui-loading"),o.init()};e.on("click",".posts .po-preview",o),e.on("click","#post .preview",n),e.on("popup-initialized",a)}jQuery("body.post-type-inc_popup").length&&(jQuery("body.post-php").length||jQuery("body.post-new-php").length?(e(),i(),o(),n(),a(),r(),t(),wpmUi.upgrade_multiselect()):jQuery("body.edit-php").length&&(l(),s(),r()))});
js/public.js ADDED
@@ -0,0 +1,828 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! PopUp Free - v4.6.14
2
+ * https://wordpress.org/plugins/wordpress-popup/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+ /*global window:false */
5
+ /*global document:false */
6
+ /*global _popup_data:false */
7
+ /*jslint evil: true */ // Allows us to keep the `fn = new Function()` line
8
+
9
+ ;(function () {
10
+ var recent_ajax_calls = [],
11
+ doing_ajax = false;
12
+
13
+ var Popup = function( _options ) {
14
+
15
+ var me = this,
16
+ $doc = jQuery( document ),
17
+ $win = jQuery( window ),
18
+ $po_div = null,
19
+ $po_msg = null,
20
+ $po_close = null,
21
+ $po_hide = null,
22
+ $po_move = null,
23
+ $po_resize = null,
24
+ $po_img = null,
25
+ $po_back = null
26
+ ;
27
+
28
+ this.data = {};
29
+ this.have_popup = false;
30
+ this.ajax_data = {};
31
+ this.opened = 0;
32
+
33
+ /**
34
+ * Close PopUp and set the "never see again" flag.
35
+ */
36
+ this.close_forever = function close_forever() {
37
+ var expiry = me.data.expiry || 365;
38
+
39
+ me.close_popup();
40
+ if ( _options['preview'] ) { return false; }
41
+
42
+ me.set_cookie( 'po_h', 1, expiry );
43
+ return false;
44
+ };
45
+
46
+ /**
47
+ * Close PopUp.
48
+ * Depending on the "multi_open" flag it can be opened again.
49
+ */
50
+ this.close_popup = function close_popup() {
51
+ jQuery( 'html' ).removeClass( 'has-popup' );
52
+
53
+ if ( me.data.display_data['click_multi'] ) {
54
+ $po_back.hide();
55
+ $po_div.hide();
56
+ } else {
57
+ $po_back.remove();
58
+ $po_div.remove();
59
+
60
+ me.have_popup = false;
61
+ }
62
+
63
+ $doc.trigger( 'popup-closed' );
64
+ // Legacy trigger.
65
+ $doc.trigger( 'popover-closed' );
66
+
67
+ popup_close( me );
68
+ return false;
69
+ };
70
+
71
+ /**
72
+ * When user clicked on the background-layer.
73
+ */
74
+ this.background_clicked = function background_clicked( ev ) {
75
+ var el = jQuery( ev.target );
76
+
77
+ if ( el.hasClass( 'wdpu-background' ) ) {
78
+ if ( ! me.data.overlay_close ) { return; }
79
+
80
+ if ( me.data.close_hide ) {
81
+ me.close_forever();
82
+ } else {
83
+ me.close_popup();
84
+ }
85
+ }
86
+ };
87
+
88
+ /**
89
+ * Resize and move the PopUp. Triggered when PopUp is loaded and
90
+ * window is resized.
91
+ */
92
+ this.move_popup = function move_popup() {
93
+ var new_width, new_height, reduce_el, reduce_w_by = 0, reduce_h_by = 0;
94
+
95
+ // Resize, if custom-size is active.
96
+ if ( me.data.custom_size ) {
97
+ if ( me.data.height && ! isNaN( me.data.height ) ) {
98
+ if ( $po_resize.data( 'reduce-height' ) ) {
99
+ reduce_el = jQuery( $po_resize.data( 'reduce-height' ) );
100
+ reduce_h_by = reduce_el.outerHeight();
101
+ }
102
+ new_height = me.data.height - reduce_h_by;
103
+ if ( new_height < 100 ) { new_height = 100; }
104
+ $po_resize.height( new_height );
105
+ }
106
+
107
+ if ( me.data.width && ! isNaN( me.data.width ) ) {
108
+ if ( $po_resize.data( 'reduce-width' ) ) {
109
+ reduce_el = jQuery( $po_resize.data( 'reduce-width' ) );
110
+ reduce_w_by = reduce_el.outerWidth();
111
+ }
112
+ new_width = me.data.width - reduce_w_by;
113
+ if ( new_width < 100 ) { new_width = 100; }
114
+ $po_resize.width( new_width );
115
+ }
116
+ }
117
+
118
+ // This function centers the PopUp and the featured image.
119
+ var update_position = function update_position() {
120
+ if ( ! $po_move.hasClass( 'no-move-x' ) ) {
121
+ var win_width = $win.width(),
122
+ msg_width = $po_msg.outerWidth(),
123
+ msg_left = (win_width - msg_width) / 2;
124
+
125
+ // Move window horizontally.
126
+ if ( msg_left < 10 ) { msg_left = 10; }
127
+ $po_move.css({ 'left': msg_left });
128
+ }
129
+
130
+ if ( ! $po_move.hasClass( 'no-move-y' ) ) {
131
+ var win_height = $win.height(),
132
+ msg_height = $po_msg.outerHeight(),
133
+ msg_top = (win_height - msg_height) / 2;
134
+
135
+ // Move window vertically.
136
+ if ( msg_top < 10 ) { msg_top = 10; }
137
+ $po_move.css({ 'top': msg_top });
138
+ }
139
+
140
+ // Move the image.
141
+ if ( $po_img.length ) {
142
+ var offset_x, offset_y,
143
+ img_width = $po_img.width(),
144
+ img_height = $po_img.height(),
145
+ box_width = $po_img.parent().width(),
146
+ box_height = $po_img.parent().height();
147
+
148
+ // Center horizontally.
149
+ if ( img_width > box_width ) {
150
+ // Center image.
151
+ offset_x = (box_width - img_width) / 2;
152
+ $po_img.css({ 'margin-left': offset_x });
153
+ } else {
154
+ // Align image according to layout.
155
+ $po_img.css({ 'margin-left': 0 });
156
+ }
157
+
158
+ // Center vertially.
159
+ if ( img_height > box_height ) {
160
+ // Center image.
161
+ offset_y = (box_height - img_height) / 2;
162
+ $po_img.css({ 'margin-top': offset_y });
163
+ } else {
164
+ // Align image according to layout.
165
+ $po_img.css({ 'margin-top': 0 });
166
+ }
167
+ }
168
+ };
169
+
170
+ // Short delay before positioning the popup to give the browser time
171
+ // to show/resize the popup (20ms ~ 1 screen refresh)
172
+ window.setTimeout(update_position, 20);
173
+ update_position();
174
+ };
175
+
176
+ /**
177
+ * Reject the current PopUp: Do not display it.
178
+ */
179
+ this.reject = function reject() {
180
+ me.have_popup = false;
181
+ me.data = {};
182
+ };
183
+
184
+ /**
185
+ * Check if the PopUp is ready to be displayed.
186
+ * If it is ready then it is displayed.
187
+ */
188
+ this.prepare = function prepare() {
189
+ me.fetch_dom();
190
+
191
+ // Move the PopUp out of the viewport but make it visible.
192
+ // This way the browser will start to render the contents and there
193
+ // will be no delay when the PopUp is made visible later.
194
+ $po_div.css({
195
+ 'opacity': 0,
196
+ 'z-index': -1,
197
+ 'position': 'fixed',
198
+ 'left': -1000,
199
+ 'width': 100,
200
+ 'right': 'auto',
201
+ 'top': -1000,
202
+ 'height': 100,
203
+ 'bottom': 'auto'
204
+ }).show();
205
+
206
+ $doc.trigger( 'popup-init', [me, me.data] );
207
+
208
+ if ( me.have_popup ) {
209
+ switch ( me.data.display ) {
210
+ case 'scroll':
211
+ $win.on( 'scroll', me.show_at_position );
212
+ break;
213
+
214
+ case 'anchor':
215
+ $win.on( 'scroll', me.show_at_element );
216
+ break;
217
+
218
+ case 'delay':
219
+ var delay = me.data.display_data.delay * 1000;
220
+ if ( 'm' === me.data.display_data.delay_type ) {
221
+ delay *= 60;
222
+ }
223
+
224
+ window.setTimeout( function() {
225
+ popup_open( me );
226
+ }, delay );
227
+ break;
228
+
229
+ default:
230
+ // A custom action will show the PopUp (e.g. click/leave)
231
+ window.setTimeout(function() {
232
+ if ( 'function' === typeof me.custom_handler ) {
233
+ me.custom_handler( me );
234
+ }
235
+ }, 20);
236
+ }
237
+
238
+ } else {
239
+ // PopUp was rejected during popup-init event. Do not display.
240
+ }
241
+ };
242
+
243
+ /**
244
+ * Observe the scroll-top to trigger the PopUp.
245
+ */
246
+ this.show_at_position = function show_at_position( ev ) {
247
+ var height, perc,
248
+ el = jQuery( this ),
249
+ top = el.scrollTop();
250
+
251
+ if ( 'px' === me.data.display_data.scroll_type ) {
252
+ if ( top >= me.data.display_data.scroll ) {
253
+ $win.off( 'scroll', me.show_at_position );
254
+ popup_open( me );
255
+ }
256
+ } else { // this handles '%'
257
+ height = $doc.height() - $win.height();
258
+ perc = 100 * top / height;
259
+
260
+ if ( perc >= me.data.display_data.scroll ) {
261
+ $win.off( 'scroll', me.show_at_position );
262
+ popup_open( me );
263
+ }
264
+ }
265
+ };
266
+
267
+ /**
268
+ * Tests if a specific HTML element is visible to trigger the PopUp.
269
+ * We intentionally calculate el_top every time this function is called
270
+ * because the element may be hidden or not present at page load.
271
+ */
272
+ this.show_at_element = function show_at_element( ev ) {
273
+ var anchor = jQuery( me.data.display_data.anchor ),
274
+ view_top = $win.scrollTop(),
275
+ view_bottom = view_top + $win.height(),
276
+ el_top = anchor.offset().top,
277
+ offset = view_bottom - el_top;
278
+
279
+ // When 10px of the element are visible show the PopUp.
280
+ if ( offset > 10 ) {
281
+ $win.off( 'scroll', me.show_at_element );
282
+ popup_open( me );
283
+ }
284
+ };
285
+
286
+ /**
287
+ * Can be used from custom_handler() to make a Popup visible.
288
+ */
289
+ this.show_popup = function show_popup() {
290
+ popup_open( me );
291
+ };
292
+
293
+ /**
294
+ * Display the PopUp!
295
+ * This function is called by popup_open() below!!!
296
+ */
297
+ this._show = function _show() {
298
+ var count;
299
+
300
+ // If for some reason the popup container is missing then exit.
301
+ if ( ! $po_div.length ) {
302
+ return false;
303
+ }
304
+
305
+ count = parseInt( me.get_cookie('po_c'), 10 );
306
+ if ( isNaN( count ) ) { count = 0; }
307
+ me.set_cookie( 'po_c', count + 1 );
308
+
309
+ me.opened += 1;
310
+ $po_back.on( 'click', me.background_clicked );
311
+
312
+ $win.off("resize.popup")
313
+ .on("resize.popup", function () { me.move_popup(me.data); });
314
+
315
+ $po_div.removeAttr( 'style' ).show();
316
+ $po_back.show();
317
+
318
+ if ( me.data.scroll_body ) {
319
+ jQuery( 'html' ).addClass( 'has-popup can-scroll' );
320
+ } else {
321
+ jQuery( 'html' ).addClass( 'has-popup no-scroll' );
322
+ }
323
+
324
+ // Fix issue where Buttons are not available in Chrome
325
+ // https://app.asana.com/0/11388810124414/18688920614102
326
+ $po_msg.hide();
327
+ window.setTimeout(function() {
328
+ // The timer is so short that the element will *not* be hidden
329
+ // but webkit will still redraw the element.
330
+ $po_msg.show();
331
+ }, 2);
332
+
333
+ me.move_popup(me.data);
334
+ me.setup_popup();
335
+
336
+ return true;
337
+ };
338
+
339
+ /**
340
+ * Add event handlers to the PopUp controls.
341
+ */
342
+ this.setup_popup = function setup_popup() {
343
+ $po_hide.off( 'click', me.close_forever )
344
+ .on( 'click', me.close_forever );
345
+
346
+ if ( me.data && me.data.close_hide ) {
347
+ $po_close.off( 'click', me.close_forever )
348
+ .on( 'click', me.close_forever );
349
+ } else {
350
+ $po_close.off( 'click', me.close_popup )
351
+ .on( 'click', me.close_popup );
352
+ }
353
+
354
+ $po_msg.hover(function() {
355
+ jQuery( '.claimbutton' ).removeClass( 'hide' );
356
+ }, function() {
357
+ jQuery( '.claimbutton' ).addClass( 'hide' );
358
+ });
359
+
360
+ $doc.trigger( 'popup-displayed', [me.data, me] );
361
+ // Legacy trigger.
362
+ $doc.trigger( 'popover-displayed', [me.data, me] );
363
+
364
+ $po_div.on( 'submit', 'form', me.form_submit );
365
+ };
366
+
367
+
368
+ /*----- Dynamically load PopUps ------*/
369
+
370
+
371
+ /**
372
+ * Finds the PopUp DOM elements and stores them in protected member
373
+ * variables for easy access.
374
+ */
375
+ this.fetch_dom = function fetch_dom() {
376
+ // The top container of the PopUp.
377
+ $po_div = jQuery( '#' + me.data['html_id'] );
378
+
379
+ // Reject this PopUp if the HTML element is missing.
380
+ if ( ! $po_div.length ) { me.reject(); }
381
+
382
+ // The container that should be resized (custom size).
383
+ $po_resize = $po_div.find( '.resize' );
384
+
385
+ // The container that should be moved (centered on screen).
386
+ $po_move = $po_div.find( '.move' );
387
+
388
+ // The container that holds the message:
389
+ // For new styles this is same as $po_resize.
390
+ // For old popup styles this is a different contianer...
391
+ $po_msg = $po_div.find( '.wdpu-msg' );
392
+
393
+ // Close button.
394
+ $po_close = $po_div.find( '.wdpu-close' );
395
+
396
+ // Hide forever button.
397
+ $po_hide = $po_div.find( '.wdpu-hide-forever' );
398
+
399
+ // Featured image.
400
+ $po_img = $po_div.find( '.wdpu-image > img' );
401
+
402
+ // The modal background.
403
+ if ( $po_div.hasClass( 'wdpu-background' ) ) {
404
+ $po_back = $po_div;
405
+ } else {
406
+ $po_back = $po_div.find( '.wdpu-background' );
407
+
408
+ if ( ! $po_back.length ) {
409
+ $po_back = $po_div.parents( '.wdpu-background' );
410
+ }
411
+ }
412
+
413
+ if ( ! $po_move.length ) { $po_move = $po_div; }
414
+ if ( ! $po_resize.length ) { $po_resize = $po_div; }
415
+ };
416
+
417
+ /**
418
+ * Load popup data via ajax.
419
+ */
420
+ this.load_popup = function load_popup( id, data ) {
421
+ if ( undefined === id && _options.preview ) { return; }
422
+ me.have_popup = false; // This object cannot display a PopUp...
423
+ load_popups( _options, id, data );
424
+ };
425
+
426
+ /**
427
+ * A form inside the PopUp is submitted.
428
+ */
429
+ this.form_submit = function form_submit( ev ) {
430
+ var tmr_check, duration, frame, form = jQuery( this ),
431
+ popup = form.parents( '.wdpu-container' ).first(),
432
+ msg = popup.find( '.wdpu-msg' ),
433
+ inp_popup = jQuery( '<input type="hidden" name="_po_method_" />' ),
434
+ po_id = '.wdpu-' + me.data.popup_id,
435
+ iteration;
436
+
437
+ if ( ! popup.length ) { return true; }
438
+
439
+ frame = jQuery( '<iframe id="wdpu-frame" name="wdpu-frame"></iframe>' )
440
+ .hide()
441
+ .appendTo( 'body' );
442
+
443
+ // Set form target to the hidden frame.
444
+ form.attr( 'target', 'wdpu-frame' );
445
+ inp_popup.appendTo( form ).val( 'raw' );
446
+
447
+ msg.addClass( 'wdpu-loading' );
448
+
449
+ // Frequently checks the loading state of the hidden iframe.
450
+ function check_state() {
451
+ var is_done = false;
452
+
453
+ if ( 'complete' === frame[0].contentDocument.readyState &&
454
+ ! doing_ajax
455
+ ) {
456
+ is_done = true;
457
+ } else {
458
+ iteration += 1; // 20 iterations is equal to 1 second.
459
+
460
+ // 200 iterations are 10 seconds.
461
+ if ( iteration > 200 ) { is_done = true; }
462
+ }
463
+
464
+ if ( is_done ) {
465
+ window.clearInterval( tmr_check );
466
+ process_document();
467
+ }
468
+ }
469
+
470
+ // Executed once the iframe is fully loaded.
471
+ // This will remove the loading animation and update the popup
472
+ // contents if required.
473
+ function process_document() {
474
+ var inner_new, inner_old, html, external;
475
+
476
+ // Allow other javascript functions to pre-process the event.
477
+ $doc.trigger( 'popup-submit-process', [frame, me, me.data] );
478
+
479
+ try {
480
+ // grab the HTML from the body, using the raw DOM node (frame[0])
481
+ // and more specifically, it's `contentDocument` property.
482
+ html = jQuery( po_id, frame[0].contentDocument );
483
+ external = ( 0 === html.length );
484
+ } catch ( err ) {
485
+ // In case the iframe link was an external website the above
486
+ // line will most likely cause a security issue.
487
+ html = jQuery( '<html></html>' );
488
+ external = true;
489
+ }
490
+
491
+ msg.removeClass( 'wdpu-loading' );
492
+
493
+ // Get the new and old Popup Contents.
494
+ inner_new = html.find( '.wdpu-msg-inner' );
495
+ inner_old = popup.find( '.wdpu-msg-inner' );
496
+
497
+ // remove the temporary iframe.
498
+ jQuery( "#wdpu-frame" ).remove();
499
+
500
+ // For external pages we have no access to the response:
501
+ // Close the popup!
502
+ if ( external ) {
503
+ me.data.close_popup = true;
504
+
505
+ me.data.ajax_history = recent_ajax_calls;
506
+ if ( recent_ajax_calls.length ) {
507
+ me.data.last_ajax = recent_ajax_calls[0];
508
+ } else {
509
+ me.data.last_ajax = false;
510
+ }
511
+
512
+ $doc.trigger( 'popup-submit-done', [me, me.data] );
513
+
514
+ if ( me.data.close_popup ) {
515
+ me.close_popup();
516
+ }
517
+ return;
518
+ }
519
+
520
+ // The PopUp is completely empty, possibly another ajax-handler
521
+ // did process the form. Keep the popup open.
522
+ if ( ! html.html().length ) {
523
+ $doc.trigger( 'popup-submit-done', [me, me.data] );
524
+ return;
525
+ }
526
+
527
+ // A new page was loaded that does not contain new content for
528
+ // the current PopUp. Close the popup!
529
+ if ( ! inner_old.length || ! inner_new.length || ! inner_new.text().length ) {
530
+ $doc.trigger( 'popup-submit-done', [me, me.data] );
531
+ me.close_popup();
532
+ return;
533
+ }
534
+
535
+ // Update the Popup contents.
536
+ inner_old.replaceWith( inner_new );
537
+
538
+ // Re-initialize the local DOM cache.
539
+ me.fetch_dom();
540
+ $doc.trigger( 'popup-init', [me, me.data] );
541
+
542
+ me.move_popup();
543
+ me.setup_popup();
544
+
545
+ $doc.trigger( 'popup-submit-done', [me, me.data] );
546
+ }
547
+
548
+ iteration = 0;
549
+ tmr_check = window.setInterval( check_state, 50 );
550
+
551
+ return true;
552
+ };
553
+
554
+
555
+ /*----- Init ------*/
556
+
557
+
558
+ this.init = function init() {
559
+ if ( ! _options['popup'] ) {
560
+ me.load_popup();
561
+ } else {
562
+ me.have_popup = true;
563
+ me.data = _options['popup'];
564
+ me.exec_scripts();
565
+ me.prepare();
566
+ }
567
+ };
568
+
569
+ /**
570
+ * If the popup provides custom javascript code we execute it here.
571
+ * Custom script might be provided by rules that are executed in JS such
572
+ * as the window-width rule or on-click behavior.
573
+ */
574
+ this.exec_scripts = function exec_scripts() {
575
+ var fn;
576
+ if ( undefined !== me.data.script ) {
577
+ fn = new Function( 'me', me.data.script );
578
+ fn( me );
579
+ }
580
+ };
581
+
582
+
583
+ /*======================================*\
584
+ ==========================================
585
+ == ==
586
+ == HELPER FUNCTIONS ==
587
+ == ==
588
+ ==========================================
589
+ \*======================================*/
590
+
591
+
592
+ // Get a cookie value.
593
+ this.get_cookie = function get_cookie( name ) {
594
+ var i, c, cookie_name, value,
595
+ ca = document.cookie.split( ';' );
596
+
597
+ if ( me.data && me.data.popup_id ) {
598
+ cookie_name = name + '-' + me.data.popup_id + "=";
599
+ } else {
600
+ cookie_name = name + "=";
601
+ }
602
+
603
+ for ( i = 0; i < ca.length; i += 1 ) {
604
+ c = ca[i];
605
+ while ( c.charAt(0) === ' ' ) {
606
+ c = c.substring( 1, c.length );
607
+ }
608
+ if (c.indexOf( cookie_name ) === 0 ) {
609
+ return c.substring( cookie_name.length, c.length );
610
+ }
611
+ }
612
+ return null;
613
+ };
614
+
615
+ // Saves the value into a cookie.
616
+ this.set_cookie = function set_cookie( name, value, days ) {
617
+ var date, expires, cookie_name;
618
+
619
+ if ( _options['preview'] ) { return; }
620
+
621
+ if ( ! isNaN( days ) ) {
622
+ date = new Date();
623
+ date.setTime( date.getTime() + ( days * 24 * 60 * 60 * 1000 ) );
624
+ expires = "; expires=" + date.toGMTString();
625
+ } else {
626
+ expires = "";
627
+ }
628
+
629
+ if ( me.data && me.data.popup_id ) {
630
+ cookie_name = name + '-' + me.data.popup_id;
631
+ } else {
632
+ cookie_name = name;
633
+ }
634
+
635
+ document.cookie = cookie_name + "=" + value + expires + "; path=/";
636
+ };
637
+
638
+ /*----- Finished ------*/
639
+
640
+ // Only expose the "init" and "load" functions of the PopUp.
641
+ return {
642
+ init: me.init,
643
+ load: me.load_popup,
644
+ extend: me
645
+ };
646
+ };
647
+
648
+ // Local variables used by popup_open() and popup_close()
649
+ var po_status = 'closed',
650
+ po_queue = [],
651
+ po_current = null;
652
+
653
+ /**
654
+ * Either opens the PopUp or enqueues it to be opened as soon as the current
655
+ * PopUp is closed.
656
+ */
657
+ function popup_open( popup ) {
658
+ if ( 'closed' === po_status ) {
659
+ if ( popup._show() ) {
660
+ po_current = popup;
661
+ po_status = 'open';
662
+ } else {
663
+ // The PopUp could not be opened due to some error...
664
+ popup_close( popup );
665
+ }
666
+ } else {
667
+ po_queue[po_queue.length] = popup;
668
+ }
669
+ }
670
+
671
+ /**
672
+ * Marks the specified PopUp as closed and opens the next enqueued PopUp.
673
+ */
674
+ function popup_close( popup ) {
675
+ po_status = 'closed';
676
+ po_current = null;
677
+
678
+ // PopUp was closed, check if there is another PopUp in open-queue.
679
+ if ( po_queue.length > 0 ) {
680
+ var item = po_queue.shift();
681
+ popup_open( item );
682
+ }
683
+ }
684
+
685
+ /**
686
+ * Load popup data via ajax.
687
+ * This function will create new Popup objects.
688
+ */
689
+ function load_popups( options, id, data ) {
690
+ var ajax_args, ajax_data,
691
+ po_id = 0,
692
+ thefrom = str_reverse( window.location.toString() ),
693
+ thereferrer = str_reverse( document.referrer.toString() ),
694
+ the_data = null;
695
+
696
+ var handle_done = function handle_done( data ) {
697
+ the_data = jQuery.extend( {}, options );
698
+ the_data.popup = data;
699
+
700
+ // This will create new Popup objects.
701
+ initialize( the_data );
702
+ };
703
+
704
+ // Legacy: force_popover = load a popup_id by ID.
705
+ if ( window.force_popover !== undefined ) {
706
+ po_id = window.force_popover.toString();
707
+ }
708
+
709
+ // New way of specifying popup ID is via param: load(id)
710
+ if ( id !== undefined ) {
711
+ po_id = id.toString();
712
+ }
713
+
714
+ options['ajax_data'] = options['ajax_data'] || {};
715
+ ajax_data = jQuery.extend( {}, options['ajax_data'] );
716
+
717
+ ajax_data['action'] = 'inc_popup';
718
+ ajax_data['do'] = options['do'];
719
+ ajax_data['thefrom'] = thefrom;
720
+ ajax_data['thereferrer'] = thereferrer;
721
+
722
+ if ( po_id ) { ajax_data['po_id'] = po_id; }
723
+ if ( data ) { ajax_data['data'] = data; }
724
+ if ( options['preview'] ) { ajax_data['preview'] = true; }
725
+
726
+ ajax_args = {
727
+ url: options['ajaxurl'],
728
+ dataType: 'jsonp',
729
+ jsonpCallback: 'po_data',
730
+ data: ajax_data,
731
+ success: function( data ) {
732
+ handle_done( data );
733
+ },
734
+ complete: function() {
735
+ jQuery( document ).trigger( 'popup-load-done', [the_data] );
736
+ }
737
+ };
738
+
739
+ return jQuery.ajax(ajax_args);
740
+ }
741
+
742
+ /**
743
+ * Create and initialize new Popup objects
744
+ */
745
+ function initialize( popup_data ) {
746
+ if ( undefined === popup_data ) { return; }
747
+
748
+ // Initlize a single PopUp.
749
+ var spawn_popup = function spawn_popup( data ) {
750
+ if ( undefined === data ) { return; }
751
+
752
+ // Insert the PopUp CSS and HTML as hidden elements into the DOM.
753
+ if ( undefined !== data.popup && undefined !== data.popup['html'] ) {
754
+ jQuery( '<style type="text/css">' + data.popup['styles'] + '</style>' )
755
+ .appendTo('head');
756
+
757
+ jQuery( data.popup['html'] )
758
+ .appendTo('body')
759
+ .hide();
760
+ }
761
+
762
+ // inc_popup .. the most recently created Popup object.
763
+ window.inc_popup = new Popup( data );
764
+
765
+ // inc_popups .. collection of all Popup objects on current page.
766
+ window.inc_popups[window.inc_popups.length] = window.inc_popup;
767
+
768
+ jQuery( document ).trigger( 'popup-initialized', [window.inc_popup] );
769
+
770
+ if ( data['noinit'] || data['preview'] ) { return; }
771
+ window.inc_popup.init();
772
+ };
773
+
774
+ // Initialize a single or multiple PopUps, depending on provided data.
775
+ if ( popup_data.popup instanceof Array ) {
776
+ for ( var i = 0; i < popup_data.popup.length; i+= 1 ) {
777
+ var data = jQuery.extend( {}, popup_data );
778
+ data.popup = popup_data.popup[i];
779
+ spawn_popup( data );
780
+ }
781
+ } else if ( popup_data instanceof Object ) {
782
+ spawn_popup( popup_data );
783
+ }
784
+ }
785
+
786
+ // Reverse a string preserving utf characters
787
+ function str_reverse( str ) {
788
+ var charArray = [];
789
+
790
+ for (var i = 0; i < str.length; i++) {
791
+ if ( i + 1 < str.length ) {
792
+ var value = str.charCodeAt( i );
793
+ var nextValue = str.charCodeAt(i+1);
794
+ if ( ( value >= 0xD800 && value <= 0xDBFF &&
795
+ (nextValue & 0xFC00) === 0xDC00) || // Surrogate pair
796
+ (nextValue >= 0x0300 && nextValue <= 0x036F) // Combining marks
797
+ ) {
798
+ charArray.unshift( str.substring(i, i+2) );
799
+ i++; // Skip the other half
800
+ continue;
801
+ }
802
+ }
803
+
804
+ // Otherwise we just have a rogue surrogate marker or a plain old character.
805
+ charArray.unshift( str[i] );
806
+ }
807
+
808
+ return charArray.join( '' );
809
+ }
810
+
811
+ // Store flag whether ajax request is processed
812
+ jQuery( document ).ajaxStart(function(ev) {
813
+ doing_ajax = true;
814
+ });
815
+
816
+ // Store all Ajax responses
817
+ jQuery( document ).ajaxComplete(function(ev, jqXHR, settings) {
818
+ doing_ajax = false;
819
+ recent_ajax_calls.unshift( jqXHR );
820
+ });
821
+
822
+ // Initialize the PopUp one the page is loaded.
823
+ jQuery(function() {
824
+ window.inc_popups = [];
825
+ initialize( _popup_data );
826
+ });
827
+
828
+ })();
js/public.min.js CHANGED
@@ -1 +1,4 @@
1
- !function(){function e(e){"closed"===p?e._show()?(d=e,p="open"):t(e):n[n.length]=e}function t(){p="closed",d=null,n.length>0&&(item=n.shift(),e(item))}function o(e,t,o){var a,p,n=0,d=window.location,r=document.referrer,u=null,s=function(t){u=jQuery.extend({},e),u.popup=t,i(u)};return"undefined"!=typeof force_popover&&(n=force_popover.toString()),"undefined"!=typeof t&&(n=t.toString()),e.ajax_data=e.ajax_data||{},p=jQuery.extend({},e.ajax_data),p.action="inc_popup",p["do"]=e["do"],p.thefrom=d.toString(),p.thereferrer=r.toString(),n&&(p.po_id=n),o&&(p.data=o),e.preview&&(p.preview=!0),a={url:e.ajaxurl,dataType:"jsonp",jsonpCallback:"po_data",data:p,success:function(e){s(e)},complete:function(){jQuery(document).trigger("popup-load-done",[u])}},jQuery.ajax(a)}function i(e){if(void 0!==e){var t=function(e){void 0!==e&&(void 0!==e.popup&&void 0!==e.popup.html&&(jQuery('<style type="text/css">'+e.popup.styles+"</style>").appendTo("head"),jQuery(e.popup.html).appendTo("body").hide()),window.inc_popup=new a(e),window.inc_popups[window.inc_popups.length]=window.inc_popup,jQuery(document).trigger("popup-initialized",[window.inc_popup]),e.noinit||e.preview||inc_popup.init())};if(e.popup instanceof Array)for(var o=0;o<e.popup.length;o+=1){var i=jQuery.extend({},e);i.popup=e.popup[o],t(i)}else e instanceof Object&&t(e)}}var a=function(i){var a=this,p=jQuery(document),n=jQuery(window),d=null,r=null,u=null,s=null,c=null,l=null,h=null,f=null;return this.data={},this.have_popup=!1,this.ajax_data={},this.opened=0,this.close_forever=function(){var e=a.data.expiry||365;return a.close_popup(),i.preview?!1:(a.set_cookie("po_h",1,e),!1)},this.close_popup=function(){return jQuery("html").removeClass("has-popup"),a.data.display_data.click_multi?(f.hide(),d.hide()):(f.remove(),d.remove(),a.have_popup=!1),p.trigger("popup-closed"),p.trigger("popover-closed"),t(a),!1},this.background_clicked=function(e){var t=jQuery(e.target);if(t.hasClass("wdpu-background")){if(!a.data.overlay_close)return;a.data.close_hide?a.close_forever():a.close_popup()}},this.move_popup=function(){var e,t,o,i=0,p=0;a.data.custom_size&&(a.data.height&&!isNaN(a.data.height)&&(l.data("reduce-height")&&(o=jQuery(l.data("reduce-height")),p=o.outerHeight()),t=a.data.height-p,100>t&&(t=100),l.height(t)),a.data.width&&!isNaN(a.data.width)&&(l.data("reduce-width")&&(o=jQuery(l.data("reduce-width")),i=o.outerWidth()),e=a.data.width-i,100>e&&(e=100),l.width(e)));var d=function(){if(!c.hasClass("no-move-x")){var e=n.width(),t=r.outerWidth(),o=(e-t)/2;10>o&&(o=10),c.css({left:o})}if(!c.hasClass("no-move-y")){var i=n.height(),a=r.outerHeight(),p=(i-a)/2;10>p&&(p=10),c.css({top:p})}if(h.length){var d,u,s=h.width(),l=h.height(),f=h.parent().width(),_=h.parent().height();s>f?(d=(f-s)/2,h.css({"margin-left":d})):h.css({"margin-left":0}),l>_?(u=(_-l)/2,h.css({"margin-top":u})):h.css({"margin-top":0})}};window.setTimeout(d,20),d()},this.reject=function(){a.have_popup=!1,a.data={}},this.prepare=function(){if(a.fetch_dom(),d.css({opacity:0,"z-index":-1,position:"absolute",left:-1e3,width:100,right:"auto",top:-1e3,height:100,bottom:"auto"}).show(),p.trigger("popup-init",[a,a.data]),a.have_popup)switch(a.data.display){case"scroll":n.on("scroll",a.show_at_position);break;case"anchor":n.on("scroll",a.show_at_element);break;case"delay":var t=1e3*a.data.display_data.delay;"m"==a.data.display_data.delay_type&&(t*=60),window.setTimeout(function(){e(a)},t);break;default:setTimeout(function(){"function"==typeof a.custom_handler&&a.custom_handler(a)},20)}},this.show_at_position=function(){var t,o,i=jQuery(this),d=i.scrollTop();switch(a.data.display_data.scroll_type){case"px":d>=a.data.display_data.scroll&&(n.off("scroll",a.show_at_position),e(a));break;case"%":default:t=p.height()-n.height(),o=100*d/t,o>=a.data.display_data.scroll&&(n.off("scroll",a.show_at_position),e(a))}},this.show_at_element=function(){var t=jQuery(a.data.display_data.anchor),o=n.scrollTop(),i=o+n.height(),p=t.offset().top,d=i-p;d>10&&(n.off("scroll",a.show_at_element),e(a))},this.show_popup=function(){e(a)},this._show=function(){return d.length?(count=parseInt(a.get_cookie("po_c")),isNaN(count)&&(count=0),a.set_cookie("po_c",count+1),a.opened+=1,f.on("click",a.background_clicked),n.off("resize.popup").on("resize.popup",function(){a.move_popup(a.data)}),d.show().removeAttr("style"),f.show(),jQuery("html").addClass("has-popup"),a.move_popup(a.data),s.off("click",a.close_forever).on("click",a.close_forever),a.data&&a.data.close_hide?u.off("click",a.close_forever).on("click",a.close_forever):u.off("click",a.close_popup).on("click",a.close_popup),r.hover(function(){jQuery(".claimbutton").removeClass("hide")},function(){jQuery(".claimbutton").addClass("hide")}),p.trigger("popup-displayed",[a.data,a]),p.trigger("popover-displayed",[a.data,a]),!0):!1},this.fetch_dom=function(){d=jQuery("#"+a.data.html_id),d.length||a.reject(),l=d.find(".resize"),c=d.find(".move"),r=d.find(".wdpu-msg"),u=d.find(".wdpu-close"),s=d.find(".wdpu-hide-forever"),h=d.find(".wdpu-image > img"),d.hasClass("wdpu-background")?f=d:(f=d.find(".wdpu-background"),f.length||(f=d.parents(".wdpu-background"))),c.length||(c=d),l.length||(l=d)},this.load_popup=function(e,t){(void 0!==e||1!=i.preview)&&(a.have_popup=!1,o(i,e,t))},this.init=function(){i.popup?(a.have_popup=!0,a.data=i.popup,a.exec_scripts(),a.prepare()):a.load_popup()},this.exec_scripts=function(){if(void 0!==a.data.script){var e=new Function("me",a.data.script);e(a)}},this.get_cookie=function(e){var t,o,i,p=document.cookie.split(";");for(i=a.data&&a.data.popup_id?e+"-"+a.data.popup_id+"=":e+"=",t=0;t<p.length;t+=1){for(o=p[t];" "===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(i))return o.substring(i.length,o.length)}return null},this.set_cookie=function(e,t,o){var p,n,d;i.preview||(isNaN(o)?n="":(p=new Date,p.setTime(p.getTime()+24*o*60*60*1e3),n="; expires="+p.toGMTString()),d=a.data&&a.data.popup_id?e+"-"+a.data.popup_id:e,document.cookie=d+"="+t+n+"; path=/")},{init:a.init,load:a.load_popup,extend:a}},p="closed",n=[],d=null;jQuery(function(){window.inc_popups=[],i(_popup_data)})}();
 
 
 
1
+ /*! PopUp Free - v4.6.14
2
+ * https://wordpress.org/plugins/wordpress-popup/
3
+ * Copyright (c) 2014; * Licensed GPLv2+ */
4
+ (function(){function e(e){"closed"===s?e._show()?(u=e,s="open"):o(e):d[d.length]=e}function o(){if(s="closed",u=null,d.length>0){var o=d.shift();e(o)}}function t(e,o,t){var n,r,p=0,s=a(""+window.location),d=a(""+document.referrer),u=null,l=function l(o){u=jQuery.extend({},e),u.popup=o,i(u)};return void 0!==window.force_popover&&(p=""+window.force_popover),void 0!==o&&(p=""+o),e.ajax_data=e.ajax_data||{},r=jQuery.extend({},e.ajax_data),r.action="inc_popup",r["do"]=e["do"],r.thefrom=s,r.thereferrer=d,p&&(r.po_id=p),t&&(r.data=t),e.preview&&(r.preview=!0),n={url:e.ajaxurl,dataType:"jsonp",jsonpCallback:"po_data",data:r,success:function(e){l(e)},complete:function(){jQuery(document).trigger("popup-load-done",[u])}},jQuery.ajax(n)}function i(e){if(void 0!==e){var o=function o(e){void 0!==e&&(void 0!==e.popup&&void 0!==e.popup.html&&(jQuery('<style type="text/css">'+e.popup.styles+"</style>").appendTo("head"),jQuery(e.popup.html).appendTo("body").hide()),window.inc_popup=new p(e),window.inc_popups[window.inc_popups.length]=window.inc_popup,jQuery(document).trigger("popup-initialized",[window.inc_popup]),e.noinit||e.preview||window.inc_popup.init())};if(e.popup instanceof Array)for(var t=0;e.popup.length>t;t+=1){var i=jQuery.extend({},e);i.popup=e.popup[t],o(i)}else e instanceof Object&&o(e)}}function a(e){for(var o=[],t=0;e.length>t;t++){if(e.length>t+1){var i=e.charCodeAt(t),a=e.charCodeAt(t+1);if(i>=55296&&56319>=i&&56320===(64512&a)||a>=768&&879>=a){o.unshift(e.substring(t,t+2)),t++;continue}}o.unshift(e[t])}return o.join("")}var n=[],r=!1,p=function(i){var a=this,p=jQuery(document),s=jQuery(window),d=null,u=null,l=null,c=null,h=null,f=null,m=null,v=null;return this.data={},this.have_popup=!1,this.ajax_data={},this.opened=0,this.close_forever=function(){var e=a.data.expiry||365;return a.close_popup(),i.preview?!1:(a.set_cookie("po_h",1,e),!1)},this.close_popup=function(){return jQuery("html").removeClass("has-popup"),a.data.display_data.click_multi?(v.hide(),d.hide()):(v.remove(),d.remove(),a.have_popup=!1),p.trigger("popup-closed"),p.trigger("popover-closed"),o(a),!1},this.background_clicked=function(e){var o=jQuery(e.target);if(o.hasClass("wdpu-background")){if(!a.data.overlay_close)return;a.data.close_hide?a.close_forever():a.close_popup()}},this.move_popup=function(){var e,o,t,i=0,n=0;a.data.custom_size&&(a.data.height&&!isNaN(a.data.height)&&(f.data("reduce-height")&&(t=jQuery(f.data("reduce-height")),n=t.outerHeight()),o=a.data.height-n,100>o&&(o=100),f.height(o)),a.data.width&&!isNaN(a.data.width)&&(f.data("reduce-width")&&(t=jQuery(f.data("reduce-width")),i=t.outerWidth()),e=a.data.width-i,100>e&&(e=100),f.width(e)));var r=function r(){if(!h.hasClass("no-move-x")){var e=s.width(),o=u.outerWidth(),t=(e-o)/2;10>t&&(t=10),h.css({left:t})}if(!h.hasClass("no-move-y")){var i=s.height(),a=u.outerHeight(),n=(i-a)/2;10>n&&(n=10),h.css({top:n})}if(m.length){var r,p,d=m.width(),l=m.height(),c=m.parent().width(),f=m.parent().height();d>c?(r=(c-d)/2,m.css({"margin-left":r})):m.css({"margin-left":0}),l>f?(p=(f-l)/2,m.css({"margin-top":p})):m.css({"margin-top":0})}};window.setTimeout(r,20),r()},this.reject=function(){a.have_popup=!1,a.data={}},this.prepare=function(){if(a.fetch_dom(),d.css({opacity:0,"z-index":-1,position:"fixed",left:-1e3,width:100,right:"auto",top:-1e3,height:100,bottom:"auto"}).show(),p.trigger("popup-init",[a,a.data]),a.have_popup)switch(a.data.display){case"scroll":s.on("scroll",a.show_at_position);break;case"anchor":s.on("scroll",a.show_at_element);break;case"delay":var o=1e3*a.data.display_data.delay;"m"===a.data.display_data.delay_type&&(o*=60),window.setTimeout(function(){e(a)},o);break;default:window.setTimeout(function(){"function"==typeof a.custom_handler&&a.custom_handler(a)},20)}},this.show_at_position=function(){var o,t,i=jQuery(this),n=i.scrollTop();"px"===a.data.display_data.scroll_type?n>=a.data.display_data.scroll&&(s.off("scroll",a.show_at_position),e(a)):(o=p.height()-s.height(),t=100*n/o,t>=a.data.display_data.scroll&&(s.off("scroll",a.show_at_position),e(a)))},this.show_at_element=function(){var o=jQuery(a.data.display_data.anchor),t=s.scrollTop(),i=t+s.height(),n=o.offset().top,r=i-n;r>10&&(s.off("scroll",a.show_at_element),e(a))},this.show_popup=function(){e(a)},this._show=function(){var e;return d.length?(e=parseInt(a.get_cookie("po_c"),10),isNaN(e)&&(e=0),a.set_cookie("po_c",e+1),a.opened+=1,v.on("click",a.background_clicked),s.off("resize.popup").on("resize.popup",function(){a.move_popup(a.data)}),d.removeAttr("style").show(),v.show(),a.data.scroll_body?jQuery("html").addClass("has-popup can-scroll"):jQuery("html").addClass("has-popup no-scroll"),u.hide(),window.setTimeout(function(){u.show()},2),a.move_popup(a.data),a.setup_popup(),!0):!1},this.setup_popup=function(){c.off("click",a.close_forever).on("click",a.close_forever),a.data&&a.data.close_hide?l.off("click",a.close_forever).on("click",a.close_forever):l.off("click",a.close_popup).on("click",a.close_popup),u.hover(function(){jQuery(".claimbutton").removeClass("hide")},function(){jQuery(".claimbutton").addClass("hide")}),p.trigger("popup-displayed",[a.data,a]),p.trigger("popover-displayed",[a.data,a]),d.on("submit","form",a.form_submit)},this.fetch_dom=function(){d=jQuery("#"+a.data.html_id),d.length||a.reject(),f=d.find(".resize"),h=d.find(".move"),u=d.find(".wdpu-msg"),l=d.find(".wdpu-close"),c=d.find(".wdpu-hide-forever"),m=d.find(".wdpu-image > img"),d.hasClass("wdpu-background")?v=d:(v=d.find(".wdpu-background"),v.length||(v=d.parents(".wdpu-background"))),h.length||(h=d),f.length||(f=d)},this.load_popup=function(e,o){void 0===e&&i.preview||(a.have_popup=!1,t(i,e,o))},this.form_submit=function(){function e(){var e=!1;"complete"!==i[0].contentDocument.readyState||r?(s+=1,s>200&&(e=!0)):e=!0,e&&(window.clearInterval(t),o())}function o(){var e,o,t,r;p.trigger("popup-submit-process",[i,a,a.data]);try{t=jQuery(h,i[0].contentDocument),r=0===t.length}catch(s){t=jQuery("<html></html>"),r=!0}return l.removeClass("wdpu-loading"),e=t.find(".wdpu-msg-inner"),o=u.find(".wdpu-msg-inner"),jQuery("#wdpu-frame").remove(),r?(a.data.close_popup=!0,a.data.ajax_history=n,a.data.last_ajax=n.length?n[0]:!1,p.trigger("popup-submit-done",[a,a.data]),a.data.close_popup&&a.close_popup(),void 0):t.html().length?o.length&&e.length&&e.text().length?(o.replaceWith(e),a.fetch_dom(),p.trigger("popup-init",[a,a.data]),a.move_popup(),a.setup_popup(),p.trigger("popup-submit-done",[a,a.data]),void 0):(p.trigger("popup-submit-done",[a,a.data]),a.close_popup(),void 0):(p.trigger("popup-submit-done",[a,a.data]),void 0)}var t,i,s,d=jQuery(this),u=d.parents(".wdpu-container").first(),l=u.find(".wdpu-msg"),c=jQuery('<input type="hidden" name="_po_method_" />'),h=".wdpu-"+a.data.popup_id;return u.length?(i=jQuery('<iframe id="wdpu-frame" name="wdpu-frame"></iframe>').hide().appendTo("body"),d.attr("target","wdpu-frame"),c.appendTo(d).val("raw"),l.addClass("wdpu-loading"),s=0,t=window.setInterval(e,50),!0):!0},this.init=function(){i.popup?(a.have_popup=!0,a.data=i.popup,a.exec_scripts(),a.prepare()):a.load_popup()},this.exec_scripts=function(){var e;void 0!==a.data.script&&(e=Function("me",a.data.script),e(a))},this.get_cookie=function(e){var o,t,i,n=document.cookie.split(";");for(i=a.data&&a.data.popup_id?e+"-"+a.data.popup_id+"=":e+"=",o=0;n.length>o;o+=1){for(t=n[o];" "===t.charAt(0);)t=t.substring(1,t.length);if(0===t.indexOf(i))return t.substring(i.length,t.length)}return null},this.set_cookie=function(e,o,t){var n,r,p;i.preview||(isNaN(t)?r="":(n=new Date,n.setTime(n.getTime()+1e3*60*60*24*t),r="; expires="+n.toGMTString()),p=a.data&&a.data.popup_id?e+"-"+a.data.popup_id:e,document.cookie=p+"="+o+r+"; path=/")},{init:a.init,load:a.load_popup,extend:a}},s="closed",d=[],u=null;jQuery(document).ajaxStart(function(){r=!0}),jQuery(document).ajaxComplete(function(e,o){r=!1,n.unshift(o)}),jQuery(function(){window.inc_popups=[],i(_popup_data)})})();
lang/popover-en_EN.mo CHANGED
Binary file
lang/popover-en_EN.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: PopUp\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2014-08-28 22:04+0100\n"
6
- "PO-Revision-Date: 2014-08-28 22:05+0100\n"
7
  "Last-Translator: Philipp Stracker <philipp@stracker.net>\n"
8
  "Language-Team: \n"
9
  "Language: en\n"
@@ -12,52 +12,88 @@ msgstr ""
12
  "Content-Transfer-Encoding: 8bit\n"
13
  "X-Poedit-KeywordsList: __;gettext;gettext_noop;_e;_x;_ex\n"
14
  "X-Poedit-Basepath: ..\n"
15
- "X-Generator: Poedit 1.6.8\n"
16
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17
  "X-Poedit-SourceCharset: UTF-8\n"
18
  "X-Poedit-SearchPath-0: .\n"
19
 
20
- #: css/tpl/cabriolet/style.php:2
 
21
  msgid "Cabriolet"
22
  msgstr "Cabriolet"
23
 
24
- #: css/tpl/cabriolet/template.php:61 css/tpl/minimal/template.php:46
25
  #: css/tpl/old-default/template.php:24 css/tpl/old-fixed/template.php:24
26
- #: css/tpl/old-fullbackground/template.php:24 css/tpl/simple/template.php:43
 
 
 
 
 
 
 
 
 
 
 
 
27
  msgid "Close this box"
28
  msgstr "Close this box"
29
 
30
- #: css/tpl/cabriolet/template.php:87 css/tpl/minimal/template.php:90
31
  #: css/tpl/old-default/template.php:33 css/tpl/old-fixed/template.php:33
32
- #: css/tpl/old-fullbackground/template.php:33 css/tpl/simple/template.php:83
 
 
 
 
 
 
 
 
 
 
 
 
33
  msgid "Never see this message again."
34
  msgstr "Never see this message again."
35
 
36
- #: css/tpl/minimal/style.php:2
 
37
  msgid "Minimal"
38
  msgstr "Minimal"
39
 
40
  #: css/tpl/old-default/style.php:2
 
 
41
  msgid "Default"
42
  msgstr "Default"
43
 
44
- #: css/tpl/old-fixed/style.php:2
 
45
  msgid "Default Fixed"
46
  msgstr "Default Fixed"
47
 
48
  #: css/tpl/old-fullbackground/style.php:2
 
 
49
  msgid "Dark Background Fixed"
50
  msgstr "Dark Background Fixed"
51
 
52
- #: css/tpl/simple/style.php:2
 
53
  msgid "Simple"
54
  msgstr "Simple"
55
 
56
  #: inc/addons/class-popup-addon-anonymous.php:80
 
 
57
  msgid "Anonymous Script"
58
  msgstr "Anonymous Script"
59
 
60
  #: inc/addons/class-popup-addon-anonymous.php:82
 
 
61
  msgid ""
62
  "Load PopUp like WordPress AJAX, but the URL to the JavaScript file will be "
63
  "masked."
@@ -65,7 +101,9 @@ msgstr ""
65
  "Load PopUp like WordPress AJAX, but the URL to the JavaScript file will be "
66
  "masked."
67
 
68
- #: inc/addons/class-popup-addon-headerfooter.php:122
 
 
69
  msgid ""
70
  "Critical: Call to <code>wp_head();</code> is missing! It should appear "
71
  "directly before <code>&lt;/head&gt;</code>"
@@ -73,15 +111,9 @@ msgstr ""
73
  "Critical: Call to <code>wp_head();</code> is missing! It should appear "
74
  "directly before <code>&lt;/head&gt;</code>"
75
 
76
- #: inc/addons/class-popup-addon-headerfooter.php:128
77
- msgid ""
78
- "Notice: Call to <code>wp_head();</code> exists but it is not called directly "
79
- "before <code>&lt;/head&gt;</code>"
80
- msgstr ""
81
- "Notice: Call to <code>wp_head();</code> exists but it is not called directly "
82
- "before <code>&lt;/head&gt;</code>"
83
-
84
- #: inc/addons/class-popup-addon-headerfooter.php:136
85
  msgid ""
86
  "Critical: Call to <code>wp_footer();</code> is missing! It should appear "
87
  "directly before <code>&lt;/body&gt;</code>"
@@ -89,15 +121,9 @@ msgstr ""
89
  "Critical: Call to <code>wp_footer();</code> is missing! It should appear "
90
  "directly before <code>&lt;/body&gt;</code>"
91
 
92
- #: inc/addons/class-popup-addon-headerfooter.php:142
93
- msgid ""
94
- "Notice: Call to <code>wp_footer();</code> exists but it is not called "
95
- "directly before <code>&lt;/body&gt;</code>"
96
- msgstr ""
97
- "Notice: Call to <code>wp_footer();</code> exists but it is not called "
98
- "directly before <code>&lt;/body&gt;</code>"
99
-
100
- #: inc/addons/class-popup-addon-headerfooter.php:158
101
  msgid ""
102
  "Okay: Your current theme uses <code>wp_head();</code> and <code>wp_footer();"
103
  "</code> correctly!"
@@ -105,189 +131,334 @@ msgstr ""
105
  "Okay: Your current theme uses <code>wp_head();</code> and <code>wp_footer();"
106
  "</code> correctly!"
107
 
108
- #: inc/class-popup-admin.php:103 inc/class-popup-admin.php:448
 
 
 
 
109
  msgid "Activate"
110
  msgstr "Activate"
111
 
112
- #: inc/class-popup-admin.php:104 inc/class-popup-admin.php:437
 
 
 
 
113
  msgid "Deactivate"
114
  msgstr "Deactivate"
115
 
116
- #: inc/class-popup-admin.php:105
 
117
  msgid "Toggle activation"
118
  msgstr "Toggle activation"
119
 
120
- #: inc/class-popup-admin.php:251 inc/class-popup-admin.php:252
121
  #: inc/class-popup-posttype.php:76 inc/class-popup-posttype.php:77
122
  #: inc/class-popup-posttype.php:97
 
 
 
 
 
 
 
 
 
 
123
  msgid "PopUp"
124
  msgstr "PopUp"
125
 
126
- #: inc/class-popup-admin.php:262 inc/class-popup-admin.php:263
127
  #: inc/class-popup-posttype.php:82
 
 
 
 
 
 
128
  msgid "Add New"
129
  msgstr "Add New"
130
 
131
- #: inc/class-popup-admin.php:271 inc/class-popup-admin.php:272
132
- #: inc/class-popup-admin.php:283 inc/class-popup-admin.php:284
 
 
 
 
 
 
 
 
133
  msgid "Settings"
134
  msgstr "Settings"
135
 
136
- #: inc/class-popup-admin.php:279 inc/class-popup-posttype.php:91
137
- #: inc/class-popup-posttype.php:93 views/network.php:29
 
 
 
 
 
 
 
 
138
  msgid "Global PopUps"
139
  msgstr "Global PopUps"
140
 
141
- #: inc/class-popup-admin.php:361
 
 
 
 
 
 
142
  msgid "Your settings have been updated."
143
  msgstr "Your settings have been updated."
144
 
145
- #: inc/class-popup-admin.php:395
 
146
  msgid "PopUp Name"
147
  msgstr "PopUp Name"
148
 
149
- #: inc/class-popup-admin.php:396
 
150
  msgid "Conditions"
151
  msgstr "Conditions"
152
 
153
- #: inc/class-popup-admin.php:399
 
154
  msgid "Order"
155
  msgstr "Order"
156
 
157
- #: inc/class-popup-admin.php:400 inc/class-popup-item.php:737
 
 
 
 
158
  msgid "Active"
159
  msgstr "Active"
160
 
161
- #: inc/class-popup-admin.php:425 inc/class-popup-admin.php:489
 
 
 
 
162
  msgid "Edit this PopUp"
163
  msgstr "Edit this PopUp"
164
 
165
- #: inc/class-popup-admin.php:426
166
- #, fuzzy
167
  msgid "Edit"
168
  msgstr "Edit"
169
 
170
- #: inc/class-popup-admin.php:436
 
171
  msgid "Deactivate this PopUp"
172
  msgstr "Deactivate this PopUp"
173
 
174
- #: inc/class-popup-admin.php:447
 
175
  msgid "Activate this PopUp"
176
  msgstr "Activate this PopUp"
177
 
178
- #: inc/class-popup-admin.php:454
 
179
  msgid "Preview this PopUp"
180
  msgstr "Preview this PopUp"
181
 
182
- #: inc/class-popup-admin.php:456 views/settings.php:258
183
- #, fuzzy
 
 
184
  msgid "Preview"
185
  msgstr "Preview"
186
 
187
- #: inc/class-popup-admin.php:466
 
188
  msgid "Restore this PopUp from the Trash"
189
  msgstr "Restore this PopUp from the Trash"
190
 
191
- #: inc/class-popup-admin.php:467
 
192
  msgid "Restore"
193
  msgstr "Restore"
194
 
195
- #: inc/class-popup-admin.php:472
 
196
  msgid "Move this PopUp to the Trash"
197
  msgstr "Move this PopUp to the Trash"
198
 
199
- #: inc/class-popup-admin.php:474
 
200
  msgid "Trash"
201
  msgstr "Trash"
202
 
203
- #: inc/class-popup-admin.php:480
 
204
  msgid "Delete this PopUp permanently"
205
  msgstr "Delete this PopUp permanently"
206
 
207
- #: inc/class-popup-admin.php:482
 
208
  msgid "Delete Permanently"
209
  msgstr "Delete Permanently"
210
 
211
- #: inc/class-popup-admin.php:527
 
212
  msgid "Always Show PopUp"
213
  msgstr "Always Show PopUp"
214
 
215
- #: inc/class-popup-admin.php:566
 
216
  #, php-format
217
  msgid "All <span class=\"count\">(%1$s)</span>"
218
  msgstr "All <span class=\"count\">(%1$s)</span>"
219
 
220
- #: inc/class-popup-admin.php:567
 
221
  #, php-format
222
  msgid "Active <span class=\"count\">(%1$s)</span>"
223
  msgstr "Active <span class=\"count\">(%1$s)</span>"
224
 
225
- #: inc/class-popup-admin.php:568
 
226
  #, php-format
227
  msgid "Inactive <span class=\"count\">(%1$s)</span>"
228
  msgstr "Inactive <span class=\"count\">(%1$s)</span>"
229
 
230
- #: inc/class-popup-admin.php:569
 
231
  #, php-format
232
  msgid "Trash <span class=\"count\">(%1$s)</span>"
233
  msgstr "Trash <span class=\"count\">(%1$s)</span>"
234
 
235
- #: inc/class-popup-admin.php:697
 
236
  msgid "One PopUp activated"
237
  msgstr "One PopUp activated"
238
 
239
- #: inc/class-popup-admin.php:698
 
240
  #, php-format
241
  msgid "%1$s PopUps activated"
242
  msgstr "%1$s PopUps activated"
243
 
244
- #: inc/class-popup-admin.php:703
 
245
  msgid "One PopUp deactivated"
246
  msgstr "One PopUp deactivated"
247
 
248
- #: inc/class-popup-admin.php:704
 
249
  #, php-format
250
  msgid "%1$s PopUps deactivated"
251
  msgstr "%1$s PopUps deactivated"
252
 
253
- #: inc/class-popup-admin.php:709
 
254
  msgid "One PopUp toggled"
255
  msgstr "One PopUp toggled"
256
 
257
- #: inc/class-popup-admin.php:710
 
258
  #, php-format
259
  msgid "%1$s PopUps toggled"
260
  msgstr "%1$s PopUps toggled"
261
 
262
- #: inc/class-popup-admin.php:897
 
263
  msgid "PopUp Contents"
264
  msgstr "PopUp Contents"
265
 
266
- #: inc/class-popup-admin.php:906
 
267
  msgid "Appearance"
268
  msgstr "Appearance"
269
 
270
- #: inc/class-popup-admin.php:915
 
271
  msgid "Behavior"
272
  msgstr "Behavior"
273
 
274
- #: inc/class-popup-admin.php:924
 
275
  msgid "Displaying Conditions (optional)"
276
  msgstr "Displaying Conditions (optional)"
277
 
278
- #: inc/class-popup-admin.php:933
 
279
  msgid "Save PopUp"
280
  msgstr "Save PopUp"
281
 
282
- #: inc/class-popup-admin.php:955
 
283
  msgid "PopUp Name (not displayed on the PopUp)"
284
  msgstr "PopUp Name (not displayed on the PopUp)"
285
 
286
- #: inc/class-popup-admin.php:958
 
287
  msgid "Name this PopUp"
288
  msgstr "Name this PopUp"
289
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
290
  #: inc/class-popup-database.php:294
 
 
291
  #, php-format
292
  msgid ""
293
  "<strong>PopUp Pro</strong><br />Your installation was successfully updated "
@@ -300,177 +471,308 @@ msgstr ""
300
  "changed or were replaced. You should have a look at your <a href=\"%s"
301
  "\">PopUps</a> to see if they still look as intended.</em>"
302
 
303
- #: inc/class-popup-item.php:376
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
304
  msgid "New PopUp"
305
  msgstr "New PopUp"
306
 
307
- #: inc/class-popup-item.php:537
 
308
  #, php-format
309
  msgid "Saved PopUp \"<strong>%1$s</strong>\""
310
  msgstr "Saved PopUp \"<strong>%1$s</strong>\""
311
 
312
- #: inc/class-popup-item.php:541
 
313
  #, php-format
314
  msgid "Activated PopUp \"<strong>%1$s</strong>\"."
315
  msgstr "Activated PopUp \"<strong>%1$s</strong>\"."
316
 
317
- #: inc/class-popup-item.php:545
 
318
  #, php-format
319
  msgid "Deactivated PopUp \"<strong>%1$s</strong>\"."
320
  msgstr "Deactivated PopUp \"<strong>%1$s</strong>\"."
321
 
322
- #: inc/class-popup-item.php:549
 
323
  #, php-format
324
  msgid "Moved PopUp \"<strong>%1$s</strong>\" to trash."
325
  msgstr "Moved PopUp \"<strong>%1$s</strong>\" to trash."
326
 
327
- #: inc/class-popup-item.php:553
 
328
  #, php-format
329
  msgid "Saved PopUp \"<strong>%1$s</strong>\"."
330
  msgstr "Saved PopUp \"<strong>%1$s</strong>\"."
331
 
332
- #: inc/class-popup-item.php:559
 
333
  msgid "Could not save PopUp."
334
  msgstr "Could not save PopUp."
335
 
336
- #: inc/class-popup-item.php:712 inc/rules/class-popup-rule-user.php:30
 
 
 
 
337
  msgid "Visitor is logged in"
338
  msgstr "Visitor is logged in"
339
 
340
- #: inc/class-popup-item.php:713 inc/rules/class-popup-rule-user.php:39
 
 
 
 
341
  msgid "Visitor is not logged in"
342
  msgstr "Visitor is not logged in"
343
 
344
- #: inc/class-popup-item.php:714 inc/rules/class-popup-rule-url.php:30
 
 
 
 
345
  msgid "On specific URL"
346
  msgstr "On specific URL"
347
 
348
- #: inc/class-popup-item.php:715 inc/rules/class-popup-rule-url.php:39
 
 
 
 
349
  msgid "Not on specific URL"
350
  msgstr "Not on specific URL"
351
 
352
- #: inc/class-popup-item.php:716
 
353
  msgid "In a specific country"
354
  msgstr "In a specific country"
355
 
356
- #: inc/class-popup-item.php:717
 
357
  msgid "Not in a specific country"
358
  msgstr "Not in a specific country"
359
 
360
- #: inc/class-popup-item.php:718
 
361
  msgid "Site is not a Pro-site"
362
  msgstr "Site is not a Pro-site"
363
 
364
- #: inc/class-popup-item.php:719
 
365
  msgid "Visit via a search engine"
366
  msgstr "Visit via a search engine"
367
 
368
- #: inc/class-popup-item.php:720 inc/rules/class-popup-rule-user.php:61
 
 
 
 
369
  msgid "Visitor has never commented"
370
  msgstr "Visitor has never commented"
371
 
372
- #: inc/class-popup-item.php:721
 
373
  msgid "Visit not via an Internal link"
374
  msgstr "Visit not via an Internal link"
375
 
376
- #: inc/class-popup-item.php:722
 
377
  msgid "Visit via specific referer"
378
  msgstr "Visit via specific referer"
379
 
380
- #: inc/class-popup-item.php:723
 
381
  msgid "Popover shown less than x times"
382
  msgstr "Popover shown less than x times"
383
 
384
- #: inc/class-popup-item.php:738
 
385
  msgid "Inactive"
386
  msgstr "Inactive"
387
 
388
- #: inc/class-popup-item.php:739
 
389
  msgid "Trashed"
390
  msgstr "Trashed"
391
 
392
  #: inc/class-popup-posttype.php:75 inc/class-popup-posttype.php:79
 
 
 
 
393
  msgid "PopUps"
394
  msgstr "PopUps"
395
 
396
  #: inc/class-popup-posttype.php:78
 
 
397
  msgid "Parent Item:"
398
  msgstr "Parent Item:"
399
 
400
  #: inc/class-popup-posttype.php:80
 
 
401
  msgid "View Item"
402
  msgstr "View Item"
403
 
404
  #: inc/class-popup-posttype.php:81
 
 
405
  msgid "Add New PopUp"
406
  msgstr "Add New PopUp"
407
 
408
  #: inc/class-popup-posttype.php:83
 
 
409
  msgid "Edit PopUp"
410
  msgstr "Edit PopUp"
411
 
412
  #: inc/class-popup-posttype.php:84
 
 
413
  msgid "Update PopUp"
414
  msgstr "Update PopUp"
415
 
416
  #: inc/class-popup-posttype.php:85
 
 
417
  msgid "Search PopUp"
418
  msgstr "Search PopUp"
419
 
420
  #: inc/class-popup-posttype.php:86
 
 
421
  msgid "Not found"
422
  msgstr "Not found"
423
 
424
  #: inc/class-popup-posttype.php:87
 
 
425
  msgid "No PopUp found in Trash"
426
  msgstr "No PopUp found in Trash"
427
 
428
  #: inc/class-popup-posttype.php:92
 
 
429
  msgid "Global PopUp"
430
  msgstr "Global PopUp"
431
 
432
  #: inc/class-popup-posttype.php:98
 
 
433
  msgid "Display PopUp messages on your website!"
434
  msgstr "Display PopUp messages on your website!"
435
 
436
  #: inc/rules/class-popup-rule-advurl.php:31
 
 
437
  msgid "On approximate URL"
438
  msgstr "On approximate URL"
439
 
440
  #: inc/rules/class-popup-rule-advurl.php:32
441
  #: inc/rules/class-popup-rule-url.php:31
 
 
 
 
442
  msgid "Shows the PopUp if the user is on a certain URL."
443
  msgstr "Shows the PopUp if the user is on a certain URL."
444
 
445
  #: inc/rules/class-popup-rule-advurl.php:40
 
 
446
  msgid "Not on approximate URL"
447
  msgstr "Not on approximate URL"
448
 
449
  #: inc/rules/class-popup-rule-advurl.php:41
450
  #: inc/rules/class-popup-rule-url.php:40
 
 
 
 
451
  msgid "Shows the PopUp if the user is not on a certain URL."
452
  msgstr "Shows the PopUp if the user is not on a certain URL."
453
 
454
  #: inc/rules/class-popup-rule-advurl.php:84
455
  #: inc/rules/class-popup-rule-advurl.php:139
 
 
 
 
456
  msgid "URL regex (one per line):"
457
  msgstr "URL regex (one per line):"
458
 
459
  #: inc/rules/class-popup-rule-browser.php:30
 
 
460
  msgid "Only on mobile devices"
461
  msgstr "Only on mobile devices"
462
 
463
  #: inc/rules/class-popup-rule-browser.php:31
 
 
464
  msgid ""
465
  "Shows the PopUp to visitors that are using a mobile device (Phone or Tablet)."
466
  msgstr ""
467
  "Shows the PopUp to visitors that are using a mobile device (Phone or Tablet)."
468
 
469
  #: inc/rules/class-popup-rule-browser.php:39
 
 
470
  msgid "Not on mobile devices"
471
  msgstr "Not on mobile devices"
472
 
473
  #: inc/rules/class-popup-rule-browser.php:40
 
 
474
  msgid ""
475
  "Shows the PopUp to visitors that are using a normal computer or laptop (i.e. "
476
  "not a Phone or Tablet)."
@@ -479,18 +781,26 @@ msgstr ""
479
  "not a Phone or Tablet)."
480
 
481
  #: inc/rules/class-popup-rule-category.php:33
 
 
482
  msgid "On post category"
483
  msgstr "On post category"
484
 
485
  #: inc/rules/class-popup-rule-category.php:34
 
 
486
  msgid "Shows the PopUp on pages that match any of the specified categories."
487
  msgstr "Shows the PopUp on pages that match any of the specified categories."
488
 
489
  #: inc/rules/class-popup-rule-category.php:42
 
 
490
  msgid "Not on post category"
491
  msgstr "Not on post category"
492
 
493
  #: inc/rules/class-popup-rule-category.php:43
 
 
494
  msgid ""
495
  "Shows the PopUp on pages that do not match any of the specified categories."
496
  msgstr ""
@@ -498,1084 +808,1640 @@ msgstr ""
498
 
499
  #: inc/rules/class-popup-rule-category.php:64
500
  #: inc/rules/class-popup-rule-posttype.php:63
 
 
 
 
501
  msgid "Singular"
502
  msgstr "Singular"
503
 
504
  #: inc/rules/class-popup-rule-category.php:65
505
  #: inc/rules/class-popup-rule-posttype.php:64
 
 
 
 
506
  msgid "Archive"
507
  msgstr "Archive"
508
 
509
  #: inc/rules/class-popup-rule-category.php:120
 
 
510
  msgid "Show on these post categories:"
511
  msgstr "Show on these post categories:"
512
 
513
  #: inc/rules/class-popup-rule-category.php:121
 
 
514
  msgid "Show on these category type URLs:"
515
  msgstr "Show on these category type URLs:"
516
 
517
  #: inc/rules/class-popup-rule-category.php:168
 
 
518
  msgid "Hide on these post categories:"
519
  msgstr "Hide on these post categories:"
520
 
521
  #: inc/rules/class-popup-rule-category.php:169
 
 
522
  msgid "Hide on these category type URLs:"
523
  msgstr "Hide on these category type URLs:"
524
 
525
  #: inc/rules/class-popup-rule-events.php:81
 
 
526
  msgid "Appear when the mouse leaves the browser window"
527
  msgstr "Appear when the mouse leaves the browser window"
528
 
529
- #: inc/rules/class-popup-rule-events.php:143
 
 
530
  msgid "Appear when user clicks on a CSS selector"
531
  msgstr "Appear when user clicks on a CSS selector"
532
 
533
- #: inc/rules/class-popup-rule-events.php:150 views/meta-behavior.php:91
 
 
 
 
534
  msgid ".class or #id"
535
  msgstr ".class or #id"
536
 
537
- #: inc/rules/class-popup-rule-events.php:157
 
 
538
  msgid "Repeated"
539
  msgstr "Repeated"
540
 
541
  #: inc/rules/class-popup-rule-geo.php:31
 
 
542
  msgid "In a specific Country"
543
  msgstr "In a specific Country"
544
 
545
  #: inc/rules/class-popup-rule-geo.php:32
 
 
546
  msgid "Shows the PopUp if the user is in a certain country."
547
  msgstr "Shows the PopUp if the user is in a certain country."
548
 
549
  #: inc/rules/class-popup-rule-geo.php:40
 
 
550
  msgid "Not in a specific Country"
551
  msgstr "Not in a specific Country"
552
 
553
  #: inc/rules/class-popup-rule-geo.php:41
 
 
554
  msgid "Shows the PopUp if the user is not in a certain country."
555
  msgstr "Shows the PopUp if the user is not in a certain country."
556
 
557
- #: inc/rules/class-popup-rule-geo.php:84
 
 
558
  msgid "Included countries:"
559
  msgstr "Included countries:"
560
 
561
- #: inc/rules/class-popup-rule-geo.php:89
562
- #: inc/rules/class-popup-rule-geo.php:153
 
 
 
 
563
  msgid "Click here to select a country"
564
  msgstr "Click here to select a country"
565
 
566
- #: inc/rules/class-popup-rule-geo.php:148
 
 
567
  msgid "Excluded countries:"
568
  msgstr "Excluded countries:"
569
 
570
- #: inc/rules/class-popup-rule-geo.php:303
 
 
 
 
 
 
 
 
 
 
571
  msgid "Australia"
572
  msgstr "Australia"
573
 
574
- #: inc/rules/class-popup-rule-geo.php:304
 
 
575
  msgid "Afghanistan"
576
  msgstr "Afghanistan"
577
 
578
- #: inc/rules/class-popup-rule-geo.php:305
 
 
579
  msgid "Albania"
580
  msgstr "Albania"
581
 
582
- #: inc/rules/class-popup-rule-geo.php:306
 
 
583
  msgid "Algeria"
584
  msgstr "Algeria"
585
 
586
- #: inc/rules/class-popup-rule-geo.php:307
 
 
587
  msgid "American Samoa"
588
  msgstr "American Samoa"
589
 
590
- #: inc/rules/class-popup-rule-geo.php:308
 
 
591
  msgid "Andorra"
592
  msgstr "Andorra"
593
 
594
- #: inc/rules/class-popup-rule-geo.php:309
 
 
595
  msgid "Angola"
596
  msgstr "Angola"
597
 
598
- #: inc/rules/class-popup-rule-geo.php:310
 
 
599
  msgid "Anguilla"
600
  msgstr "Anguilla"
601
 
602
- #: inc/rules/class-popup-rule-geo.php:311
 
 
603
  msgid "Antarctica"
604
  msgstr "Antarctica"
605
 
606
- #: inc/rules/class-popup-rule-geo.php:312
 
 
607
  msgid "Antigua & Barbuda"
608
  msgstr "Antigua & Barbuda"
609
 
610
- #: inc/rules/class-popup-rule-geo.php:313
 
 
611
  msgid "Argentina"
612
  msgstr "Argentina"
613
 
614
- #: inc/rules/class-popup-rule-geo.php:314
 
 
615
  msgid "Armenia"
616
  msgstr "Armenia"
617
 
618
- #: inc/rules/class-popup-rule-geo.php:315
 
 
619
  msgid "Aruba"
620
  msgstr "Aruba"
621
 
622
- #: inc/rules/class-popup-rule-geo.php:316
 
 
623
  msgid "Austria"
624
  msgstr "Austria"
625
 
626
- #: inc/rules/class-popup-rule-geo.php:317
 
 
627
  msgid "Azerbaijan"
628
  msgstr "Azerbaijan"
629
 
630
- #: inc/rules/class-popup-rule-geo.php:318
 
 
631
  msgid "Bahamas"
632
  msgstr "Bahamas"
633
 
634
- #: inc/rules/class-popup-rule-geo.php:319
 
 
635
  msgid "Bahrain"
636
  msgstr "Bahrain"
637
 
638
- #: inc/rules/class-popup-rule-geo.php:320
 
 
639
  msgid "Bangladesh"
640
  msgstr "Bangladesh"
641
 
642
- #: inc/rules/class-popup-rule-geo.php:321
 
 
643
  msgid "Barbados"
644
  msgstr "Barbados"
645
 
646
- #: inc/rules/class-popup-rule-geo.php:322
 
 
647
  msgid "Belarus"
648
  msgstr "Belarus"
649
 
650
- #: inc/rules/class-popup-rule-geo.php:323
 
 
651
  msgid "Belgium"
652
  msgstr "Belgium"
653
 
654
- #: inc/rules/class-popup-rule-geo.php:324
 
 
655
  msgid "Belize"
656
  msgstr "Belize"
657
 
658
- #: inc/rules/class-popup-rule-geo.php:325
 
 
659
  msgid "Benin"
660
  msgstr "Benin"
661
 
662
- #: inc/rules/class-popup-rule-geo.php:326
 
 
663
  msgid "Bermuda"
664
  msgstr "Bermuda"
665
 
666
- #: inc/rules/class-popup-rule-geo.php:327
 
 
667
  msgid "Bhutan"
668
  msgstr "Bhutan"
669
 
670
- #: inc/rules/class-popup-rule-geo.php:328
 
 
671
  msgid "Bolivia"
672
  msgstr "Bolivia"
673
 
674
- #: inc/rules/class-popup-rule-geo.php:329
 
 
675
  msgid "Bosnia/Hercegovina"
676
  msgstr "Bosnia/Hercegovina"
677
 
678
- #: inc/rules/class-popup-rule-geo.php:330
 
 
679
  msgid "Botswana"
680
  msgstr "Botswana"
681
 
682
- #: inc/rules/class-popup-rule-geo.php:331
 
 
683
  msgid "Bouvet Island"
684
  msgstr "Bouvet Island"
685
 
686
- #: inc/rules/class-popup-rule-geo.php:332
 
 
687
  msgid "Brazil"
688
  msgstr "Brazil"
689
 
690
- #: inc/rules/class-popup-rule-geo.php:333
 
 
691
  msgid "British Indian Ocean Territory"
692
  msgstr "British Indian Ocean Territory"
693
 
694
- #: inc/rules/class-popup-rule-geo.php:334
 
 
695
  msgid "Brunei Darussalam"
696
  msgstr "Brunei Darussalam"
697
 
698
- #: inc/rules/class-popup-rule-geo.php:335
 
 
699
  msgid "Bulgaria"
700
  msgstr "Bulgaria"
701
 
702
- #: inc/rules/class-popup-rule-geo.php:336
 
 
703
  msgid "Burkina Faso"
704
  msgstr "Burkina Faso"
705
 
706
- #: inc/rules/class-popup-rule-geo.php:337
 
 
707
  msgid "Burundi"
708
  msgstr "Burundi"
709
 
710
- #: inc/rules/class-popup-rule-geo.php:338
 
 
711
  msgid "Cambodia"
712
  msgstr "Cambodia"
713
 
714
- #: inc/rules/class-popup-rule-geo.php:339
 
 
715
  msgid "Cameroon"
716
  msgstr "Cameroon"
717
 
718
- #: inc/rules/class-popup-rule-geo.php:340
 
 
719
  msgid "Canada"
720
  msgstr "Canada"
721
 
722
- #: inc/rules/class-popup-rule-geo.php:341
 
 
723
  msgid "Cape Verde"
724
  msgstr "Cape Verde"
725
 
726
- #: inc/rules/class-popup-rule-geo.php:342
 
 
727
  msgid "Cayman Is"
728
  msgstr "Cayman Is"
729
 
730
- #: inc/rules/class-popup-rule-geo.php:343
 
 
731
  msgid "Central African Republic"
732
  msgstr "Central African Republic"
733
 
734
- #: inc/rules/class-popup-rule-geo.php:344
 
 
735
  msgid "Chad"
736
  msgstr "Chad"
737
 
738
- #: inc/rules/class-popup-rule-geo.php:345
 
 
739
  msgid "Chile"
740
  msgstr "Chile"
741
 
742
- #: inc/rules/class-popup-rule-geo.php:346
 
 
743
  msgid "China, People's Republic of"
744
  msgstr "China, People's Republic of"
745
 
746
- #: inc/rules/class-popup-rule-geo.php:347
 
 
747
  msgid "Christmas Island"
748
  msgstr "Christmas Island"
749
 
750
- #: inc/rules/class-popup-rule-geo.php:348
 
 
751
  msgid "Cocos Islands"
752
  msgstr "Cocos Islands"
753
 
754
- #: inc/rules/class-popup-rule-geo.php:349
 
 
755
  msgid "Colombia"
756
  msgstr "Colombia"
757
 
758
- #: inc/rules/class-popup-rule-geo.php:350
 
 
759
  msgid "Comoros"
760
  msgstr "Comoros"
761
 
762
- #: inc/rules/class-popup-rule-geo.php:351
 
 
763
  msgid "Congo"
764
  msgstr "Congo"
765
 
766
- #: inc/rules/class-popup-rule-geo.php:352
 
 
767
  msgid "Congo, Democratic Republic"
768
  msgstr "Congo, Democratic Republic"
769
 
770
- #: inc/rules/class-popup-rule-geo.php:353
 
 
771
  msgid "Cook Islands"
772
  msgstr "Cook Islands"
773
 
774
- #: inc/rules/class-popup-rule-geo.php:354
 
 
775
  msgid "Costa Rica"
776
  msgstr "Costa Rica"
777
 
778
- #: inc/rules/class-popup-rule-geo.php:355
 
 
779
  msgid "Cote d'Ivoire"
780
  msgstr "Cote d'Ivoire"
781
 
782
- #: inc/rules/class-popup-rule-geo.php:356
 
 
783
  msgid "Croatia"
784
  msgstr "Croatia"
785
 
786
- #: inc/rules/class-popup-rule-geo.php:357
 
 
787
  msgid "Cuba"
788
  msgstr "Cuba"
789
 
790
- #: inc/rules/class-popup-rule-geo.php:358
 
 
791
  msgid "Cyprus"
792
  msgstr "Cyprus"
793
 
794
- #: inc/rules/class-popup-rule-geo.php:359
 
 
795
  msgid "Czech Republic"
796
  msgstr "Czech Republic"
797
 
798
- #: inc/rules/class-popup-rule-geo.php:360
 
 
799
  msgid "Denmark"
800
  msgstr "Denmark"
801
 
802
- #: inc/rules/class-popup-rule-geo.php:361
 
 
803
  msgid "Djibouti"
804
  msgstr "Djibouti"
805
 
806
- #: inc/rules/class-popup-rule-geo.php:362
 
 
807
  msgid "Dominica"
808
  msgstr "Dominica"
809
 
810
- #: inc/rules/class-popup-rule-geo.php:363
 
 
811
  msgid "Dominican Republic"
812
  msgstr "Dominican Republic"
813
 
814
- #: inc/rules/class-popup-rule-geo.php:364
 
 
815
  msgid "East Timor"
816
  msgstr "East Timor"
817
 
818
- #: inc/rules/class-popup-rule-geo.php:365
 
 
819
  msgid "Ecuador"
820
  msgstr "Ecuador"
821
 
822
- #: inc/rules/class-popup-rule-geo.php:366
 
 
823
  msgid "Egypt"
824
  msgstr "Egypt"
825
 
826
- #: inc/rules/class-popup-rule-geo.php:367
 
 
827
  msgid "El Salvador"
828
  msgstr "El Salvador"
829
 
830
- #: inc/rules/class-popup-rule-geo.php:368
 
 
831
  msgid "Equatorial Guinea"
832
  msgstr "Equatorial Guinea"
833
 
834
- #: inc/rules/class-popup-rule-geo.php:369
 
 
835
  msgid "Eritrea"
836
  msgstr "Eritrea"
837
 
838
- #: inc/rules/class-popup-rule-geo.php:370
 
 
839
  msgid "Estonia"
840
  msgstr "Estonia"
841
 
842
- #: inc/rules/class-popup-rule-geo.php:371
 
 
843
  msgid "Ethiopia"
844
  msgstr "Ethiopia"
845
 
846
- #: inc/rules/class-popup-rule-geo.php:372
 
 
847
  msgid "Falkland Islands"
848
  msgstr "Falkland Islands"
849
 
850
- #: inc/rules/class-popup-rule-geo.php:373
 
 
851
  msgid "Faroe Islands"
852
  msgstr "Faroe Islands"
853
 
854
- #: inc/rules/class-popup-rule-geo.php:374
 
 
855
  msgid "Fiji"
856
  msgstr "Fiji"
857
 
858
- #: inc/rules/class-popup-rule-geo.php:375
 
 
859
  msgid "Finland"
860
  msgstr "Finland"
861
 
862
- #: inc/rules/class-popup-rule-geo.php:376
 
 
863
  msgid "France"
864
  msgstr "France"
865
 
866
- #: inc/rules/class-popup-rule-geo.php:377
 
 
867
  msgid "France, Metropolitan"
868
  msgstr "France, Metropolitan"
869
 
870
- #: inc/rules/class-popup-rule-geo.php:378
 
 
871
  msgid "French Guiana"
872
  msgstr "French Guiana"
873
 
874
- #: inc/rules/class-popup-rule-geo.php:379
 
 
875
  msgid "French Polynesia"
876
  msgstr "French Polynesia"
877
 
878
- #: inc/rules/class-popup-rule-geo.php:380
 
 
879
  msgid "French South Territories"
880
  msgstr "French South Territories"
881
 
882
- #: inc/rules/class-popup-rule-geo.php:381
 
 
883
  msgid "Gabon"
884
  msgstr "Gabon"
885
 
886
- #: inc/rules/class-popup-rule-geo.php:382
 
 
887
  msgid "Gambia"
888
  msgstr "Gambia"
889
 
890
- #: inc/rules/class-popup-rule-geo.php:383
 
 
891
  msgid "Georgia"
892
  msgstr "Georgia"
893
 
894
- #: inc/rules/class-popup-rule-geo.php:384
 
 
895
  msgid "Germany"
896
  msgstr "Germany"
897
 
898
- #: inc/rules/class-popup-rule-geo.php:385
 
 
899
  msgid "Ghana"
900
  msgstr "Ghana"
901
 
902
- #: inc/rules/class-popup-rule-geo.php:386
 
 
903
  msgid "Gibraltar"
904
  msgstr "Gibraltar"
905
 
906
- #: inc/rules/class-popup-rule-geo.php:387
 
 
907
  msgid "Greece"
908
  msgstr "Greece"
909
 
910
- #: inc/rules/class-popup-rule-geo.php:388
 
 
911
  msgid "Greenland"
912
  msgstr "Greenland"
913
 
914
- #: inc/rules/class-popup-rule-geo.php:389
 
 
915
  msgid "Grenada"
916
  msgstr "Grenada"
917
 
918
- #: inc/rules/class-popup-rule-geo.php:390
 
 
919
  msgid "Guadeloupe"
920
  msgstr "Guadeloupe"
921
 
922
- #: inc/rules/class-popup-rule-geo.php:391
 
 
923
  msgid "Guam"
924
  msgstr "Guam"
925
 
926
- #: inc/rules/class-popup-rule-geo.php:392
 
 
927
  msgid "Guatemala"
928
  msgstr "Guatemala"
929
 
930
- #: inc/rules/class-popup-rule-geo.php:393
 
 
931
  msgid "Guinea"
932
  msgstr "Guinea"
933
 
934
- #: inc/rules/class-popup-rule-geo.php:394
 
 
935
  msgid "Guinea-Bissau"
936
  msgstr "Guinea-Bissau"
937
 
938
- #: inc/rules/class-popup-rule-geo.php:395
 
 
939
  msgid "Guyana"
940
  msgstr "Guyana"
941
 
942
- #: inc/rules/class-popup-rule-geo.php:396
 
 
943
  msgid "Haiti"
944
  msgstr "Haiti"
945
 
946
- #: inc/rules/class-popup-rule-geo.php:397
 
 
947
  msgid "Heard Island And Mcdonald Island"
948
  msgstr "Heard Island And Mcdonald Island"
949
 
950
- #: inc/rules/class-popup-rule-geo.php:398
 
 
951
  msgid "Honduras"
952
  msgstr "Honduras"
953
 
954
- #: inc/rules/class-popup-rule-geo.php:399
 
 
955
  msgid "Hong Kong"
956
  msgstr "Hong Kong"
957
 
958
- #: inc/rules/class-popup-rule-geo.php:400
 
 
959
  msgid "Hungary"
960
  msgstr "Hungary"
961
 
962
- #: inc/rules/class-popup-rule-geo.php:401
 
 
963
  msgid "Iceland"
964
  msgstr "Iceland"
965
 
966
- #: inc/rules/class-popup-rule-geo.php:402
 
 
967
  msgid "India"
968
  msgstr "India"
969
 
970
- #: inc/rules/class-popup-rule-geo.php:403
 
 
971
  msgid "Indonesia"
972
  msgstr "Indonesia"
973
 
974
- #: inc/rules/class-popup-rule-geo.php:404
 
 
975
  msgid "Iran"
976
  msgstr "Iran"
977
 
978
- #: inc/rules/class-popup-rule-geo.php:405
 
 
979
  msgid "Iraq"
980
  msgstr "Iraq"
981
 
982
- #: inc/rules/class-popup-rule-geo.php:406
 
 
983
  msgid "Ireland"
984
  msgstr "Ireland"
985
 
986
- #: inc/rules/class-popup-rule-geo.php:407
 
 
987
  msgid "Israel"
988
  msgstr "Israel"
989
 
990
- #: inc/rules/class-popup-rule-geo.php:408
 
 
991
  msgid "Italy"
992
  msgstr "Italy"
993
 
994
- #: inc/rules/class-popup-rule-geo.php:409
 
 
995
  msgid "Jamaica"
996
  msgstr "Jamaica"
997
 
998
- #: inc/rules/class-popup-rule-geo.php:410
 
 
999
  msgid "Japan"
1000
  msgstr "Japan"
1001
 
1002
- #: inc/rules/class-popup-rule-geo.php:411
 
 
1003
  msgid "Johnston Island"
1004
  msgstr "Johnston Island"
1005
 
1006
- #: inc/rules/class-popup-rule-geo.php:412
 
 
1007
  msgid "Jordan"
1008
  msgstr "Jordan"
1009
 
1010
- #: inc/rules/class-popup-rule-geo.php:413
 
 
1011
  msgid "Kazakhstan"
1012
  msgstr "Kazakhstan"
1013
 
1014
- #: inc/rules/class-popup-rule-geo.php:414
 
 
1015
  msgid "Kenya"
1016
  msgstr "Kenya"
1017
 
1018
- #: inc/rules/class-popup-rule-geo.php:415
 
 
1019
  msgid "Kiribati"
1020
  msgstr "Kiribati"
1021
 
1022
- #: inc/rules/class-popup-rule-geo.php:416
 
 
1023
  msgid "Korea, Democratic Peoples Republic"
1024
  msgstr "Korea, Democratic Peoples Republic"
1025
 
1026
- #: inc/rules/class-popup-rule-geo.php:417
 
 
1027
  msgid "Korea, Republic of"
1028
  msgstr "Korea, Republic of"
1029
 
1030
- #: inc/rules/class-popup-rule-geo.php:418
 
 
1031
  msgid "Kuwait"
1032
  msgstr "Kuwait"
1033
 
1034
- #: inc/rules/class-popup-rule-geo.php:419
 
 
1035
  msgid "Kyrgyzstan"
1036
  msgstr "Kyrgyzstan"
1037
 
1038
- #: inc/rules/class-popup-rule-geo.php:420
 
 
1039
  msgid "Lao People's Democratic Republic"
1040
  msgstr "Lao People's Democratic Republic"
1041
 
1042
- #: inc/rules/class-popup-rule-geo.php:421
 
 
1043
  msgid "Latvia"
1044
  msgstr "Latvia"
1045
 
1046
- #: inc/rules/class-popup-rule-geo.php:422
 
 
1047
  msgid "Lebanon"
1048
  msgstr "Lebanon"
1049
 
1050
- #: inc/rules/class-popup-rule-geo.php:423
 
 
1051
  msgid "Lesotho"
1052
  msgstr "Lesotho"
1053
 
1054
- #: inc/rules/class-popup-rule-geo.php:424
 
 
1055
  msgid "Liberia"
1056
  msgstr "Liberia"
1057
 
1058
- #: inc/rules/class-popup-rule-geo.php:425
 
 
1059
  msgid "Libyan Arab Jamahiriya"
1060
  msgstr "Libyan Arab Jamahiriya"
1061
 
1062
- #: inc/rules/class-popup-rule-geo.php:426
 
 
1063
  msgid "Liechtenstein"
1064
  msgstr "Liechtenstein"
1065
 
1066
- #: inc/rules/class-popup-rule-geo.php:427
 
 
1067
  msgid "Lithuania"
1068
  msgstr "Lithuania"
1069
 
1070
- #: inc/rules/class-popup-rule-geo.php:428
 
 
1071
  msgid "Luxembourg"
1072
  msgstr "Luxembourg"
1073
 
1074
- #: inc/rules/class-popup-rule-geo.php:429
 
 
1075
  msgid "Macau"
1076
  msgstr "Macau"
1077
 
1078
- #: inc/rules/class-popup-rule-geo.php:430
 
 
1079
  msgid "Macedonia"
1080
  msgstr "Macedonia"
1081
 
1082
- #: inc/rules/class-popup-rule-geo.php:431
 
 
1083
  msgid "Madagascar"
1084
  msgstr "Madagascar"
1085
 
1086
- #: inc/rules/class-popup-rule-geo.php:432
 
 
1087
  msgid "Malawi"
1088
  msgstr "Malawi"
1089
 
1090
- #: inc/rules/class-popup-rule-geo.php:433
 
 
1091
  msgid "Malaysia"
1092
  msgstr "Malaysia"
1093
 
1094
- #: inc/rules/class-popup-rule-geo.php:434
 
 
1095
  msgid "Maldives"
1096
  msgstr "Maldives"
1097
 
1098
- #: inc/rules/class-popup-rule-geo.php:435
 
 
1099
  msgid "Mali"
1100
  msgstr "Mali"
1101
 
1102
- #: inc/rules/class-popup-rule-geo.php:436
 
 
1103
  msgid "Malta"
1104
  msgstr "Malta"
1105
 
1106
- #: inc/rules/class-popup-rule-geo.php:437
 
 
1107
  msgid "Marshall Islands"
1108
  msgstr "Marshall Islands"
1109
 
1110
- #: inc/rules/class-popup-rule-geo.php:438
 
 
1111
  msgid "Martinique"
1112
  msgstr "Martinique"
1113
 
1114
- #: inc/rules/class-popup-rule-geo.php:439
 
 
1115
  msgid "Mauritania"
1116
  msgstr "Mauritania"
1117
 
1118
- #: inc/rules/class-popup-rule-geo.php:440
 
 
1119
  msgid "Mauritius"
1120
  msgstr "Mauritius"
1121
 
1122
- #: inc/rules/class-popup-rule-geo.php:441
 
 
1123
  msgid "Mayotte"
1124
  msgstr "Mayotte"
1125
 
1126
- #: inc/rules/class-popup-rule-geo.php:442
 
 
1127
  msgid "Mexico"
1128
  msgstr "Mexico"
1129
 
1130
- #: inc/rules/class-popup-rule-geo.php:443
 
 
1131
  msgid "Micronesia"
1132
  msgstr "Micronesia"
1133
 
1134
- #: inc/rules/class-popup-rule-geo.php:444
 
 
1135
  msgid "Moldavia"
1136
  msgstr "Moldavia"
1137
 
1138
- #: inc/rules/class-popup-rule-geo.php:445
 
 
1139
  msgid "Monaco"
1140
  msgstr "Monaco"
1141
 
1142
- #: inc/rules/class-popup-rule-geo.php:446
 
 
1143
  msgid "Mongolia"
1144
  msgstr "Mongolia"
1145
 
1146
- #: inc/rules/class-popup-rule-geo.php:447
 
 
1147
  msgid "Montserrat"
1148
  msgstr "Montserrat"
1149
 
1150
- #: inc/rules/class-popup-rule-geo.php:448
 
 
1151
  msgid "Morocco"
1152
  msgstr "Morocco"
1153
 
1154
- #: inc/rules/class-popup-rule-geo.php:449
 
 
1155
  msgid "Mozambique"
1156
  msgstr "Mozambique"
1157
 
1158
- #: inc/rules/class-popup-rule-geo.php:450
 
 
1159
  msgid "Union Of Myanmar"
1160
  msgstr "Union Of Myanmar"
1161
 
1162
- #: inc/rules/class-popup-rule-geo.php:451
 
 
1163
  msgid "Namibia"
1164
  msgstr "Namibia"
1165
 
1166
- #: inc/rules/class-popup-rule-geo.php:452
 
 
1167
  msgid "Nauru Island"
1168
  msgstr "Nauru Island"
1169
 
1170
- #: inc/rules/class-popup-rule-geo.php:453
 
 
1171
  msgid "Nepal"
1172
  msgstr "Nepal"
1173
 
1174
- #: inc/rules/class-popup-rule-geo.php:454
 
 
1175
  msgid "Netherlands"
1176
  msgstr "Netherlands"
1177
 
1178
- #: inc/rules/class-popup-rule-geo.php:455
 
 
1179
  msgid "Netherlands Antilles"
1180
  msgstr "Netherlands Antilles"
1181
 
1182
- #: inc/rules/class-popup-rule-geo.php:456
 
 
1183
  msgid "New Caledonia"
1184
  msgstr "New Caledonia"
1185
 
1186
- #: inc/rules/class-popup-rule-geo.php:457
 
 
1187
  msgid "New Zealand"
1188
  msgstr "New Zealand"
1189
 
1190
- #: inc/rules/class-popup-rule-geo.php:458
 
 
1191
  msgid "Nicaragua"
1192
  msgstr "Nicaragua"
1193
 
1194
- #: inc/rules/class-popup-rule-geo.php:459
 
 
1195
  msgid "Niger"
1196
  msgstr "Niger"
1197
 
1198
- #: inc/rules/class-popup-rule-geo.php:460
 
 
1199
  msgid "Nigeria"
1200
  msgstr "Nigeria"
1201
 
1202
- #: inc/rules/class-popup-rule-geo.php:461
 
 
1203
  msgid "Niue"
1204
  msgstr "Niue"
1205
 
1206
- #: inc/rules/class-popup-rule-geo.php:462
 
 
1207
  msgid "Norfolk Island"
1208
  msgstr "Norfolk Island"
1209
 
1210
- #: inc/rules/class-popup-rule-geo.php:463
 
 
1211
  msgid "Mariana Islands, Northern"
1212
  msgstr "Mariana Islands, Northern"
1213
 
1214
- #: inc/rules/class-popup-rule-geo.php:464
 
 
1215
  msgid "Norway"
1216
  msgstr "Norway"
1217
 
1218
- #: inc/rules/class-popup-rule-geo.php:465
 
 
1219
  msgid "Oman"
1220
  msgstr "Oman"
1221
 
1222
- #: inc/rules/class-popup-rule-geo.php:466
 
 
1223
  msgid "Pakistan"
1224
  msgstr "Pakistan"
1225
 
1226
- #: inc/rules/class-popup-rule-geo.php:467
 
 
1227
  msgid "Palau Islands"
1228
  msgstr "Palau Islands"
1229
 
1230
- #: inc/rules/class-popup-rule-geo.php:468
 
 
1231
  msgid "Palestine"
1232
  msgstr "Palestine"
1233
 
1234
- #: inc/rules/class-popup-rule-geo.php:469
 
 
1235
  msgid "Panama"
1236
  msgstr "Panama"
1237
 
1238
- #: inc/rules/class-popup-rule-geo.php:470
 
 
1239
  msgid "Papua New Guinea"
1240
  msgstr "Papua New Guinea"
1241
 
1242
- #: inc/rules/class-popup-rule-geo.php:471
 
 
1243
  msgid "Paraguay"
1244
  msgstr "Paraguay"
1245
 
1246
- #: inc/rules/class-popup-rule-geo.php:472
 
 
1247
  msgid "Peru"
1248
  msgstr "Peru"
1249
 
1250
- #: inc/rules/class-popup-rule-geo.php:473
 
 
1251
  msgid "Philippines"
1252
  msgstr "Philippines"
1253
 
1254
- #: inc/rules/class-popup-rule-geo.php:474
 
 
1255
  msgid "Pitcairn"
1256
  msgstr "Pitcairn"
1257
 
1258
- #: inc/rules/class-popup-rule-geo.php:475
 
 
1259
  msgid "Poland"
1260
  msgstr "Poland"
1261
 
1262
- #: inc/rules/class-popup-rule-geo.php:476
 
 
1263
  msgid "Portugal"
1264
  msgstr "Portugal"
1265
 
1266
- #: inc/rules/class-popup-rule-geo.php:477
 
 
1267
  msgid "Puerto Rico"
1268
  msgstr "Puerto Rico"
1269
 
1270
- #: inc/rules/class-popup-rule-geo.php:478
 
 
1271
  msgid "Qatar"
1272
  msgstr "Qatar"
1273
 
1274
- #: inc/rules/class-popup-rule-geo.php:479
 
 
1275
  msgid "Reunion Island"
1276
  msgstr "Reunion Island"
1277
 
1278
- #: inc/rules/class-popup-rule-geo.php:480
 
 
1279
  msgid "Romania"
1280
  msgstr "Romania"
1281
 
1282
- #: inc/rules/class-popup-rule-geo.php:481
 
 
1283
  msgid "Russian Federation"
1284
  msgstr "Russian Federation"
1285
 
1286
- #: inc/rules/class-popup-rule-geo.php:482
 
 
1287
  msgid "Rwanda"
1288
  msgstr "Rwanda"
1289
 
1290
- #: inc/rules/class-popup-rule-geo.php:483
 
 
1291
  msgid "Samoa"
1292
  msgstr "Samoa"
1293
 
1294
- #: inc/rules/class-popup-rule-geo.php:484
 
 
1295
  msgid "St Helena"
1296
  msgstr "St Helena"
1297
 
1298
- #: inc/rules/class-popup-rule-geo.php:485
 
 
1299
  msgid "St Kitts & Nevis"
1300
  msgstr "St Kitts & Nevis"
1301
 
1302
- #: inc/rules/class-popup-rule-geo.php:486
 
 
1303
  msgid "St Lucia"
1304
  msgstr "St Lucia"
1305
 
1306
- #: inc/rules/class-popup-rule-geo.php:487
 
 
1307
  msgid "St Pierre & Miquelon"
1308
  msgstr "St Pierre & Miquelon"
1309
 
1310
- #: inc/rules/class-popup-rule-geo.php:488
 
 
1311
  msgid "St Vincent"
1312
  msgstr "St Vincent"
1313
 
1314
- #: inc/rules/class-popup-rule-geo.php:489
 
 
1315
  msgid "San Marino"
1316
  msgstr "San Marino"
1317
 
1318
- #: inc/rules/class-popup-rule-geo.php:490
 
 
1319
  msgid "Sao Tome & Principe"
1320
  msgstr "Sao Tome & Principe"
1321
 
1322
- #: inc/rules/class-popup-rule-geo.php:491
 
 
1323
  msgid "Saudi Arabia"
1324
  msgstr "Saudi Arabia"
1325
 
1326
- #: inc/rules/class-popup-rule-geo.php:492
 
 
1327
  msgid "Senegal"
1328
  msgstr "Senegal"
1329
 
1330
- #: inc/rules/class-popup-rule-geo.php:493
 
 
1331
  msgid "Seychelles"
1332
  msgstr "Seychelles"
1333
 
1334
- #: inc/rules/class-popup-rule-geo.php:494
 
 
1335
  msgid "Sierra Leone"
1336
  msgstr "Sierra Leone"
1337
 
1338
- #: inc/rules/class-popup-rule-geo.php:495
 
 
1339
  msgid "Singapore"
1340
  msgstr "Singapore"
1341
 
1342
- #: inc/rules/class-popup-rule-geo.php:496
 
 
1343
  msgid "Slovakia"
1344
  msgstr "Slovakia"
1345
 
1346
- #: inc/rules/class-popup-rule-geo.php:497
 
 
1347
  msgid "Slovenia"
1348
  msgstr "Slovenia"
1349
 
1350
- #: inc/rules/class-popup-rule-geo.php:498
 
 
1351
  msgid "Solomon Islands"
1352
  msgstr "Solomon Islands"
1353
 
1354
- #: inc/rules/class-popup-rule-geo.php:499
 
 
1355
  msgid "Somalia"
1356
  msgstr "Somalia"
1357
 
1358
- #: inc/rules/class-popup-rule-geo.php:500
 
 
1359
  msgid "South Africa"
1360
  msgstr "South Africa"
1361
 
1362
- #: inc/rules/class-popup-rule-geo.php:501
 
 
1363
  msgid "South Georgia and South Sandwich"
1364
  msgstr "South Georgia and South Sandwich"
1365
 
1366
- #: inc/rules/class-popup-rule-geo.php:502
 
 
1367
  msgid "Spain"
1368
  msgstr "Spain"
1369
 
1370
- #: inc/rules/class-popup-rule-geo.php:503
 
 
1371
  msgid "Sri Lanka"
1372
  msgstr "Sri Lanka"
1373
 
1374
- #: inc/rules/class-popup-rule-geo.php:504
 
 
1375
  msgid "Stateless Persons"
1376
  msgstr "Stateless Persons"
1377
 
1378
- #: inc/rules/class-popup-rule-geo.php:505
 
 
1379
  msgid "Sudan"
1380
  msgstr "Sudan"
1381
 
1382
- #: inc/rules/class-popup-rule-geo.php:506
 
 
1383
  msgid "Suriname"
1384
  msgstr "Suriname"
1385
 
1386
- #: inc/rules/class-popup-rule-geo.php:507
 
 
1387
  msgid "Svalbard and Jan Mayen"
1388
  msgstr "Svalbard and Jan Mayen"
1389
 
1390
- #: inc/rules/class-popup-rule-geo.php:508
 
 
1391
  msgid "Swaziland"
1392
  msgstr "Swaziland"
1393
 
1394
- #: inc/rules/class-popup-rule-geo.php:509
 
 
1395
  msgid "Sweden"
1396
  msgstr "Sweden"
1397
 
1398
- #: inc/rules/class-popup-rule-geo.php:510
 
 
1399
  msgid "Switzerland"
1400
  msgstr "Switzerland"
1401
 
1402
- #: inc/rules/class-popup-rule-geo.php:511
 
 
1403
  msgid "Syrian Arab Republic"
1404
  msgstr "Syrian Arab Republic"
1405
 
1406
- #: inc/rules/class-popup-rule-geo.php:512
 
 
1407
  msgid "Taiwan, Republic of China"
1408
  msgstr "Taiwan, Republic of China"
1409
 
1410
- #: inc/rules/class-popup-rule-geo.php:513
 
 
1411
  msgid "Tajikistan"
1412
  msgstr "Tajikistan"
1413
 
1414
- #: inc/rules/class-popup-rule-geo.php:514
 
 
1415
  msgid "Tanzania"
1416
  msgstr "Tanzania"
1417
 
1418
- #: inc/rules/class-popup-rule-geo.php:515
 
 
1419
  msgid "Thailand"
1420
  msgstr "Thailand"
1421
 
1422
- #: inc/rules/class-popup-rule-geo.php:516
 
 
1423
  msgid "Timor Leste"
1424
  msgstr "Timor Leste"
1425
 
1426
- #: inc/rules/class-popup-rule-geo.php:517
 
 
1427
  msgid "Togo"
1428
  msgstr "Togo"
1429
 
1430
- #: inc/rules/class-popup-rule-geo.php:518
 
 
1431
  msgid "Tokelau"
1432
  msgstr "Tokelau"
1433
 
1434
- #: inc/rules/class-popup-rule-geo.php:519
 
 
1435
  msgid "Tonga"
1436
  msgstr "Tonga"
1437
 
1438
- #: inc/rules/class-popup-rule-geo.php:520
 
 
1439
  msgid "Trinidad & Tobago"
1440
  msgstr "Trinidad & Tobago"
1441
 
1442
- #: inc/rules/class-popup-rule-geo.php:521
 
 
1443
  msgid "Tunisia"
1444
  msgstr "Tunisia"
1445
 
1446
- #: inc/rules/class-popup-rule-geo.php:522
 
 
1447
  msgid "Turkey"
1448
  msgstr "Turkey"
1449
 
1450
- #: inc/rules/class-popup-rule-geo.php:523
 
 
1451
  msgid "Turkmenistan"
1452
  msgstr "Turkmenistan"
1453
 
1454
- #: inc/rules/class-popup-rule-geo.php:524
 
 
1455
  msgid "Turks And Caicos Islands"
1456
  msgstr "Turks And Caicos Islands"
1457
 
1458
- #: inc/rules/class-popup-rule-geo.php:525
 
 
1459
  msgid "Tuvalu"
1460
  msgstr "Tuvalu"
1461
 
1462
- #: inc/rules/class-popup-rule-geo.php:526
 
 
1463
  msgid "Uganda"
1464
  msgstr "Uganda"
1465
 
1466
- #: inc/rules/class-popup-rule-geo.php:527
 
 
1467
  msgid "Ukraine"
1468
  msgstr "Ukraine"
1469
 
1470
- #: inc/rules/class-popup-rule-geo.php:528
 
 
1471
  msgid "United Arab Emirates"
1472
  msgstr "United Arab Emirates"
1473
 
1474
- #: inc/rules/class-popup-rule-geo.php:529
 
 
1475
  msgid "United Kingdom"
1476
  msgstr "United Kingdom"
1477
 
1478
- #: inc/rules/class-popup-rule-geo.php:530
 
 
1479
  msgid "US Minor Outlying Islands"
1480
  msgstr "US Minor Outlying Islands"
1481
 
1482
- #: inc/rules/class-popup-rule-geo.php:531
 
 
1483
  msgid "USA"
1484
  msgstr "USA"
1485
 
1486
- #: inc/rules/class-popup-rule-geo.php:532
 
 
1487
  msgid "Upper Volta"
1488
  msgstr "Upper Volta"
1489
 
1490
- #: inc/rules/class-popup-rule-geo.php:533
 
 
1491
  msgid "Uruguay"
1492
  msgstr "Uruguay"
1493
 
1494
- #: inc/rules/class-popup-rule-geo.php:534
 
 
1495
  msgid "Uzbekistan"
1496
  msgstr "Uzbekistan"
1497
 
1498
- #: inc/rules/class-popup-rule-geo.php:535
 
 
1499
  msgid "Vanuatu"
1500
  msgstr "Vanuatu"
1501
 
1502
- #: inc/rules/class-popup-rule-geo.php:536
 
 
1503
  msgid "Vatican City State"
1504
  msgstr "Vatican City State"
1505
 
1506
- #: inc/rules/class-popup-rule-geo.php:537
 
 
1507
  msgid "Venezuela"
1508
  msgstr "Venezuela"
1509
 
1510
- #: inc/rules/class-popup-rule-geo.php:538
 
 
1511
  msgid "Vietnam"
1512
  msgstr "Vietnam"
1513
 
1514
- #: inc/rules/class-popup-rule-geo.php:539
 
 
1515
  msgid "Virgin Islands (British)"
1516
  msgstr "Virgin Islands (British)"
1517
 
1518
- #: inc/rules/class-popup-rule-geo.php:540
 
 
1519
  msgid "Virgin Islands (US)"
1520
  msgstr "Virgin Islands (US)"
1521
 
1522
- #: inc/rules/class-popup-rule-geo.php:541
 
 
1523
  msgid "Wallis And Futuna Islands"
1524
  msgstr "Wallis And Futuna Islands"
1525
 
1526
- #: inc/rules/class-popup-rule-geo.php:542
 
 
1527
  msgid "Western Sahara"
1528
  msgstr "Western Sahara"
1529
 
1530
- #: inc/rules/class-popup-rule-geo.php:543
 
 
1531
  msgid "Yemen Arab Rep."
1532
  msgstr "Yemen Arab Rep."
1533
 
1534
- #: inc/rules/class-popup-rule-geo.php:544
 
 
1535
  msgid "Yemen Democratic"
1536
  msgstr "Yemen Democratic"
1537
 
1538
- #: inc/rules/class-popup-rule-geo.php:545
 
 
1539
  msgid "Yugoslavia"
1540
  msgstr "Yugoslavia"
1541
 
1542
- #: inc/rules/class-popup-rule-geo.php:546
 
 
1543
  msgid "Zaire"
1544
  msgstr "Zaire"
1545
 
1546
- #: inc/rules/class-popup-rule-geo.php:547
 
 
1547
  msgid "Zambia"
1548
  msgstr "Zambia"
1549
 
1550
- #: inc/rules/class-popup-rule-geo.php:548
 
 
1551
  msgid "Zimbabwe"
1552
  msgstr "Zimbabwe"
1553
 
1554
  #: inc/rules/class-popup-rule-membership.php:32
 
 
1555
  msgid "By Membership Level"
1556
  msgstr "By Membership Level"
1557
 
1558
  #: inc/rules/class-popup-rule-membership.php:33
 
 
1559
  msgid "Shows the PopUp if the user has a certain Membership Level."
1560
  msgstr "Shows the PopUp if the user has a certain Membership Level."
1561
 
1562
  #: inc/rules/class-popup-rule-membership.php:41
 
 
1563
  msgid "By Membership Subscription"
1564
  msgstr "By Membership Subscription"
1565
 
1566
  #: inc/rules/class-popup-rule-membership.php:42
 
 
1567
  msgid "Shows the PopUp if the user does not have a certain Membership Level."
1568
  msgstr "Shows the PopUp if the user does not have a certain Membership Level."
1569
 
1570
  #: inc/rules/class-popup-rule-membership.php:105
 
 
1571
  msgid "Show to users that have one of these Membership Levels:"
1572
  msgstr "Show to users that have one of these Membership Levels:"
1573
 
1574
  #: inc/rules/class-popup-rule-membership.php:150
 
 
1575
  msgid "Show to users that do not have one of these memberships:"
1576
  msgstr "Show to users that do not have one of these memberships:"
1577
 
1578
  #: inc/rules/class-popup-rule-membership.php:249
 
 
1579
  #, php-format
1580
  msgid ""
1581
  "This condition requires that the <a href=\"%s\" target=\"_blank\">Membership "
@@ -1585,10 +2451,14 @@ msgstr ""
1585
  "Plugin</a> is installed and activated."
1586
 
1587
  #: inc/rules/class-popup-rule-popup.php:30
 
 
1588
  msgid "PopUp shown less than"
1589
  msgstr "PopUp shown less than"
1590
 
1591
  #: inc/rules/class-popup-rule-popup.php:31
 
 
1592
  msgid ""
1593
  "Shows the PopUp if the user has only seen it less than a specific number of "
1594
  "times."
@@ -1597,52 +2467,76 @@ msgstr ""
1597
  "times."
1598
 
1599
  #: inc/rules/class-popup-rule-popup.php:72
 
 
1600
  msgid "Display PopUp this often:"
1601
  msgstr "Display PopUp this often:"
1602
 
1603
  #: inc/rules/class-popup-rule-posttype.php:33
 
 
1604
  msgid "For specific Post Types"
1605
  msgstr "For specific Post Types"
1606
 
1607
  #: inc/rules/class-popup-rule-posttype.php:34
 
 
1608
  msgid "Shows the PopUp on pages that match any of the specified Post Types."
1609
  msgstr "Shows the PopUp on pages that match any of the specified Post Types."
1610
 
1611
  #: inc/rules/class-popup-rule-posttype.php:42
 
 
1612
  msgid "Not for specific Post Types"
1613
  msgstr "Not for specific Post Types"
1614
 
1615
  #: inc/rules/class-popup-rule-posttype.php:43
 
 
1616
  msgid ""
1617
  "Shows the PopUp on pages that do not match any of the specified Post Type."
1618
  msgstr ""
1619
  "Shows the PopUp on pages that do not match any of the specified Post Type."
1620
 
1621
  #: inc/rules/class-popup-rule-posttype.php:119
 
 
1622
  msgid "Show for these Post Types:"
1623
  msgstr "Show for these Post Types:"
1624
 
1625
  #: inc/rules/class-popup-rule-posttype.php:120
 
 
1626
  msgid "Show on these Post Type URLs:"
1627
  msgstr "Show on these Post Type URLs:"
1628
 
1629
  #: inc/rules/class-popup-rule-posttype.php:167
 
 
1630
  msgid "Hide for these Post Types:"
1631
  msgstr "Hide for these Post Types:"
1632
 
1633
  #: inc/rules/class-popup-rule-posttype.php:168
 
 
1634
  msgid "Hide on these Post Type URLs:"
1635
  msgstr "Hide on these Post Type URLs:"
1636
 
1637
  #: inc/rules/class-popup-rule-prosite.php:31
 
 
1638
  msgid "Site is not a Pro Site"
1639
  msgstr "Site is not a Pro Site"
1640
 
1641
  #: inc/rules/class-popup-rule-prosite.php:32
 
 
1642
  msgid "Shows the PopUp if the site is not a Pro Site."
1643
  msgstr "Shows the PopUp if the site is not a Pro Site."
1644
 
1645
  #: inc/rules/class-popup-rule-prosite.php:96
 
 
1646
  #, php-format
1647
  msgid ""
1648
  "This condition requires that the <a href=\"%s\" target=\"_blank\">Pro Sites "
@@ -1652,18 +2546,26 @@ msgstr ""
1652
  "Plugin</a> is installed and activated."
1653
 
1654
  #: inc/rules/class-popup-rule-referrer.php:30
 
 
1655
  msgid "From a specific referrer"
1656
  msgstr "From a specific referrer"
1657
 
1658
  #: inc/rules/class-popup-rule-referrer.php:31
 
 
1659
  msgid "Shows the PopUp if the user arrived via a specific referrer."
1660
  msgstr "Shows the PopUp if the user arrived via a specific referrer."
1661
 
1662
  #: inc/rules/class-popup-rule-referrer.php:39
 
 
1663
  msgid "Not from an internal link"
1664
  msgstr "Not from an internal link"
1665
 
1666
  #: inc/rules/class-popup-rule-referrer.php:40
 
 
1667
  msgid ""
1668
  "Shows the PopUp if the user did not arrive on this page via another page on "
1669
  "your site."
@@ -1672,32 +2574,48 @@ msgstr ""
1672
  "your site."
1673
 
1674
  #: inc/rules/class-popup-rule-referrer.php:48
 
 
1675
  msgid "From a search engine"
1676
  msgstr "From a search engine"
1677
 
1678
  #: inc/rules/class-popup-rule-referrer.php:49
 
 
1679
  msgid "Shows the PopUp if the user arrived via a search engine."
1680
  msgstr "Shows the PopUp if the user arrived via a search engine."
1681
 
1682
  #: inc/rules/class-popup-rule-referrer.php:88
1683
- msgid "Referrers (one per line):"
1684
- msgstr "Referrers (one per line):"
 
 
 
 
1685
 
1686
  #: inc/rules/class-popup-rule-role.php:31
 
 
1687
  msgid "Visitor has role"
1688
  msgstr "Visitor has role"
1689
 
1690
  #: inc/rules/class-popup-rule-role.php:32
 
 
1691
  msgid ""
1692
  "Shows the PopUp if the user is logged in and is assigned to a certain role."
1693
  msgstr ""
1694
  "Shows the PopUp if the user is logged in and is assigned to a certain role."
1695
 
1696
  #: inc/rules/class-popup-rule-role.php:40
 
 
1697
  msgid "Visitor does not have role"
1698
  msgstr "Visitor does not have role"
1699
 
1700
  #: inc/rules/class-popup-rule-role.php:41
 
 
1701
  msgid ""
1702
  "Shows the PopUp if the user is logged in and is not assigned to a certain "
1703
  "role."
@@ -1706,31 +2624,47 @@ msgstr ""
1706
  "role."
1707
 
1708
  #: inc/rules/class-popup-rule-role.php:82
 
 
1709
  msgid "Show to users that have one of these roles:"
1710
  msgstr "Show to users that have one of these roles:"
1711
 
1712
  #: inc/rules/class-popup-rule-role.php:127
 
 
1713
  msgid "Show to users that do not have one of these roles:"
1714
  msgstr "Show to users that do not have one of these roles:"
1715
 
1716
  #: inc/rules/class-popup-rule-url.php:81
1717
  #: inc/rules/class-popup-rule-url.php:134
1718
- msgid "URLs (one per line):"
1719
- msgstr "URLs (one per line):"
 
 
 
 
1720
 
1721
  #: inc/rules/class-popup-rule-user.php:31
 
 
1722
  msgid "Shows the PopUp if the user is logged in to your site."
1723
  msgstr "Shows the PopUp if the user is logged in to your site."
1724
 
1725
  #: inc/rules/class-popup-rule-user.php:40
 
 
1726
  msgid "Shows the PopUp if the user is not logged in to your site."
1727
  msgstr "Shows the PopUp if the user is not logged in to your site."
1728
 
1729
  #: inc/rules/class-popup-rule-user.php:48
 
 
1730
  msgid "Visitor has commented before"
1731
  msgstr "Visitor has commented before"
1732
 
1733
  #: inc/rules/class-popup-rule-user.php:50
 
 
1734
  msgid ""
1735
  "Shows the PopUp if the user has already left a comment. You may want to "
1736
  "combine this condition with either \"Visitor is logged in\" or \"Visitor is "
@@ -1741,6 +2675,8 @@ msgstr ""
1741
  "not logged in\"."
1742
 
1743
  #: inc/rules/class-popup-rule-user.php:63
 
 
1744
  msgid ""
1745
  "Shows the PopUp if the user has never left a comment. You may want to "
1746
  "combine this condition with either \"Visitor is logged in\" or \"Visitor is "
@@ -1751,10 +2687,14 @@ msgstr ""
1751
  "not logged in\"."
1752
 
1753
  #: inc/rules/class-popup-rule-width.php:31
 
 
1754
  msgid "Depending on screen size"
1755
  msgstr "Depending on screen size"
1756
 
1757
  #: inc/rules/class-popup-rule-width.php:33
 
 
1758
  msgid ""
1759
  "Shows the PopUp if the window-width is within the defined limits. Note: The "
1760
  "window size is checked upon page load! when the user resizes the window "
@@ -1765,37 +2705,55 @@ msgstr ""
1765
  "after the page is loaded it will not affect this rule."
1766
 
1767
  #: inc/rules/class-popup-rule-width.php:126
 
 
1768
  msgid "At least:"
1769
  msgstr "At least:"
1770
 
1771
  #: inc/rules/class-popup-rule-width.php:142
1772
  #: inc/rules/class-popup-rule-width.php:162
 
 
 
 
1773
  msgid "Any size"
1774
  msgstr "Any size"
1775
 
1776
  #: inc/rules/class-popup-rule-width.php:146
 
 
1777
  msgid "At most:"
1778
  msgstr "At most:"
1779
 
1780
  #: inc/rules/class-popup-rule-xprofile.php:31
 
 
1781
  msgid "On XProfile match"
1782
  msgstr "On XProfile match"
1783
 
1784
  #: inc/rules/class-popup-rule-xprofile.php:32
 
 
1785
  msgid "Shows the PopUp if the users XProfile field matches the condition."
1786
  msgstr "Shows the PopUp if the users XProfile field matches the condition."
1787
 
1788
  #: inc/rules/class-popup-rule-xprofile.php:40
 
 
1789
  msgid "Not on XProfile match"
1790
  msgstr "Not on XProfile match"
1791
 
1792
  #: inc/rules/class-popup-rule-xprofile.php:41
 
 
1793
  msgid ""
1794
  "Shows the PopUp if the users XProfile field does not match the condition."
1795
  msgstr ""
1796
  "Shows the PopUp if the users XProfile field does not match the condition."
1797
 
1798
  #: inc/rules/class-popup-rule-xprofile.php:181
 
 
1799
  msgid ""
1800
  "This condition requires that the BuddyPress Extended Profile component is "
1801
  "active."
@@ -1804,38 +2762,139 @@ msgstr ""
1804
  "active."
1805
 
1806
  #: inc/rules/class-popup-rule-xprofile.php:196
 
 
1807
  msgid "No XProfile fields found."
1808
  msgstr "No XProfile fields found."
1809
 
1810
  #: inc/rules/class-popup-rule-xprofile.php:201
 
 
1811
  msgid "Field:"
1812
  msgstr "Field:"
1813
 
1814
  #: inc/rules/class-popup-rule-xprofile.php:221
 
 
1815
  msgid "equals"
1816
  msgstr "equals"
1817
 
1818
  #: inc/rules/class-popup-rule-xprofile.php:224
 
 
1819
  msgid "is not"
1820
  msgstr "is not"
1821
 
1822
  #: inc/rules/class-popup-rule-xprofile.php:227
 
 
1823
  msgid "matches regex"
1824
  msgstr "matches regex"
1825
 
1826
  #: inc/rules/class-popup-rule-xprofile.php:230
 
 
1827
  msgid "does not match regex"
1828
  msgstr "does not match regex"
1829
 
1830
- #: views/meta-appearance.php:16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1831
  msgid "Select which style you want to use:"
1832
  msgstr "Select which style you want to use:"
1833
 
1834
- #: views/meta-appearance.php:48
 
1835
  msgid "No rounded corners"
1836
  msgstr "No rounded corners"
1837
 
1838
- #: views/meta-appearance.php:57
 
1839
  msgid ""
1840
  "*) This style is outdated and does not support all options on this page. "
1841
  "Once you save your PopUp with a new style you cannot revert to this style!"
@@ -1847,195 +2906,266 @@ msgstr ""
1847
  "<br />Tipp: Use the Preview function to test this PopUp with one of the new "
1848
  "styles before saving it."
1849
 
1850
- #: views/meta-appearance.php:77
 
1851
  msgid "Use custom colors"
1852
  msgstr "Use custom colors"
1853
 
1854
- #: views/meta-appearance.php:88
 
1855
  msgid "Links, button background, heading and subheading"
1856
  msgstr "Links, button background, heading and subheading"
1857
 
1858
- #: views/meta-appearance.php:96
 
1859
  msgid "Button text"
1860
  msgstr "Button text"
1861
 
1862
- #: views/meta-appearance.php:108
 
1863
  msgid "Use custom size (if selected the PopUp won't be responsive)"
1864
  msgstr "Use custom size (if selected the PopUp won't be responsive)"
1865
 
1866
- #: views/meta-appearance.php:114
 
1867
  msgid "Width:"
1868
  msgstr "Width:"
1869
 
1870
- #: views/meta-appearance.php:123
 
1871
  msgid "Height:"
1872
  msgstr "Height:"
1873
 
1874
- #: views/meta-behavior.php:12
 
 
 
 
 
1875
  msgid "When to show the PopUp:"
1876
  msgstr "When to show the PopUp:"
1877
 
1878
- #: views/meta-behavior.php:24 views/meta-behavior.php:54
 
 
 
 
1879
  msgid "Appear after"
1880
  msgstr "Appear after"
1881
 
1882
- #: views/meta-behavior.php:37
 
1883
  msgid "Seconds"
1884
  msgstr "Seconds"
1885
 
1886
- #: views/meta-behavior.php:40
 
1887
  msgid "Minutes"
1888
  msgstr "Minutes"
1889
 
1890
- #: views/meta-behavior.php:67
 
1891
  msgid "%"
1892
  msgstr "%"
1893
 
1894
- #: views/meta-behavior.php:70
 
1895
  msgid "px"
1896
  msgstr "px"
1897
 
1898
- #: views/meta-behavior.php:74
 
1899
  msgid "of the page has been scrolled."
1900
  msgstr "of the page has been scrolled."
1901
 
1902
- #: views/meta-behavior.php:84
 
1903
  msgid "Appear after user scrolled until CSS selector"
1904
  msgstr "Appear after user scrolled until CSS selector"
1905
 
1906
- #: views/meta-behavior.php:101
 
1907
  msgid "\"Never see this message again\" settings:"
1908
  msgstr "\"Never see this message again\" settings:"
1909
 
1910
- #: views/meta-behavior.php:113
 
1911
  msgid "Add \"Never see this message again\" link"
1912
  msgstr "Add \"Never see this message again\" link"
1913
 
1914
- #: views/meta-behavior.php:124
 
1915
  msgid "Close button acts as \"Never see this message again\" link"
1916
  msgstr "Close button acts as \"Never see this message again\" link"
1917
 
1918
- #: views/meta-behavior.php:129
 
1919
  msgid "Expiry time"
1920
  msgstr "Expiry time"
1921
 
1922
- #: views/meta-behavior.php:136
 
1923
  msgid "days"
1924
  msgstr "days"
1925
 
1926
- #: views/meta-behavior.php:137
 
1927
  msgid "(upon expiry, user will see this PopUp again)"
1928
  msgstr "(upon expiry, user will see this PopUp again)"
1929
 
1930
- #: views/meta-behavior.php:146
 
1931
  msgid "Closing Pop-up conditions"
1932
  msgstr "Closing Pop-up conditions"
1933
 
1934
- #: views/meta-behavior.php:156
 
1935
  msgid "Click on the background does not close PopUp."
1936
  msgstr "Click on the background does not close PopUp."
1937
 
1938
- #: views/meta-content.php:15
 
1939
  msgid "Heading (optional)"
1940
  msgstr "Heading (optional)"
1941
 
1942
- #: views/meta-content.php:18
 
1943
  msgid "Subheading (optional)"
1944
  msgstr "Subheading (optional)"
1945
 
1946
- #: views/meta-content.php:27
 
1947
  msgid "Enter your heading here..."
1948
  msgstr "Enter your heading here..."
1949
 
1950
- #: views/meta-content.php:35
 
1951
  msgid "Enter your subheading here..."
1952
  msgstr "Enter your subheading here..."
1953
 
1954
- #: views/meta-content.php:42
 
1955
  msgid "Main PopUp Content"
1956
  msgstr "Main PopUp Content"
1957
 
1958
- #: views/meta-content.php:57
 
1959
  msgid "Call To Action Button (optional)"
1960
  msgstr "Call To Action Button (optional)"
1961
 
1962
- #: views/meta-content.php:66
 
1963
  msgid "Button Label"
1964
  msgstr "Button Label"
1965
 
1966
- #: views/meta-content.php:74
 
1967
  msgid "Button Link (http://www.example.com)"
1968
  msgstr "Button Link (http://www.example.com)"
1969
 
1970
- #: views/meta-content.php:84
 
1971
  msgid "PopUp Feature Image (optional)"
1972
  msgstr "PopUp Feature Image (optional)"
1973
 
1974
- #: views/meta-content.php:90
 
1975
  msgid "Add featured image to PopUp."
1976
  msgstr "Add featured image to PopUp."
1977
 
1978
- #: views/meta-content.php:91
 
1979
  msgid "PopUp Featured Image"
1980
  msgstr "PopUp Featured Image"
1981
 
1982
- #: views/meta-content.php:92
 
1983
  msgid "Select Image"
1984
  msgstr "Select Image"
1985
 
1986
- #: views/meta-content.php:94
 
1987
  msgid "Add Image"
1988
  msgstr "Add Image"
1989
 
1990
- #: views/meta-content.php:113
 
1991
  msgid "(No image selected)"
1992
  msgstr "(No image selected)"
1993
 
1994
- #: views/meta-content.php:116
 
1995
  msgid "Drop here"
1996
  msgstr "Drop here"
1997
 
1998
- #: views/meta-content.php:122
 
1999
  msgid "Remove image"
2000
  msgstr "Remove image"
2001
 
2002
- #: views/meta-content.php:136
 
2003
  msgid "Hide image for mobile devices"
2004
  msgstr "Hide image for mobile devices"
2005
 
2006
- #: views/meta-rules.php:13 views/settings.php:285
 
 
 
 
2007
  msgid "Available Conditions"
2008
  msgstr "Available Conditions"
2009
 
2010
- #: views/meta-rules.php:16
 
2011
  msgid "Show this PopUp if the following conditions are met"
2012
  msgstr "Show this PopUp if the following conditions are met"
2013
 
2014
- #: views/meta-submitdiv.php:18 views/meta-submitdiv.php:65
2015
- #: views/meta-submitdiv.php:84
 
 
 
 
 
2016
  msgid "Save"
2017
  msgstr "Save"
2018
 
2019
- #: views/meta-submitdiv.php:30
 
2020
  msgid "Status: <strong>Active</strong>"
2021
  msgstr "Status: <strong>Active</strong>"
2022
 
2023
- #: views/meta-submitdiv.php:31
 
2024
  msgid "Status: Inactive"
2025
  msgstr "Status: Inactive"
2026
 
2027
- #: views/meta-submitdiv.php:39 views/meta-submitdiv.php:91
 
 
 
 
2028
  msgid "Preview PopUp"
2029
  msgstr "Preview PopUp"
2030
 
2031
- #: views/meta-submitdiv.php:52 views/meta-submitdiv.php:77
 
 
 
 
2032
  msgid "Move to Trash"
2033
  msgstr "Move to Trash"
2034
 
2035
- #: views/meta-submitdiv.php:61 views/meta-submitdiv.php:99
 
 
 
 
2036
  msgid "Duplicate"
2037
  msgstr "Duplicate"
2038
 
 
2039
  #: views/network.php:34
2040
  #, php-format
2041
  msgid ""
@@ -2047,6 +3177,7 @@ msgstr ""
2047
  "Blog</strong> of your multisite network!<br />The Main Blog of this network "
2048
  "is \"%1$s\" - <a href=\"%2$s\">Go to the Main Blog now</a>!"
2049
 
 
2050
  #: views/network.php:46
2051
  msgid ""
2052
  "Because the \"PopUp\" menu items here on the <strong>Network Admin</strong> "
@@ -2055,91 +3186,102 @@ msgstr ""
2055
  "Because the \"PopUp\" menu items here on the <strong>Network Admin</strong> "
2056
  "are not used anymore you can <strong>hide them</strong> at any time:"
2057
 
 
2058
  #: views/network.php:53
2059
  msgid "Hide the menu items here!"
2060
  msgstr "Hide the menu items here!"
2061
 
2062
- #: views/settings.php:12 views/settings.php:238
2063
- msgid "Page Footer"
2064
- msgstr "Page Footer"
2065
-
2066
- #: views/settings.php:14
2067
- msgid "Include PopUp as part of your site's HTML (no AJAX call)."
2068
- msgstr "Include PopUp as part of your site's HTML (no AJAX call)."
2069
-
2070
- #: views/settings.php:21
2071
- msgid "WordPress AJAX"
2072
- msgstr "WordPress AJAX"
2073
-
2074
- #: views/settings.php:23
2075
  msgid ""
2076
- "Load PopUp separately from the page via a WordPress AJAX call. This is the "
2077
- "best option if you use caching."
 
 
2078
  msgstr ""
2079
- "Load PopUp separately from the page via a WordPress AJAX call. This is the "
2080
- "best option if you use caching."
2081
-
2082
- #: views/settings.php:31
2083
- msgid "Custom AJAX"
2084
- msgstr "Custom AJAX"
2085
 
2086
- #: views/settings.php:33
2087
- msgid "Load PopUp separately from the page via a custom front-end AJAX call."
2088
- msgstr "Load PopUp separately from the page via a custom front-end AJAX call."
2089
-
2090
- #: views/settings.php:76
2091
- #, php-format
2092
  msgid ""
2093
- "<strong>Note</strong>: This option is unavailable because a geo-data table "
2094
- "was not found in your database. For details, read the \"Using a Local Geo-"
2095
- "Database\" in the <a href=\"%1$s\" target=\"_blank\">PopUp usage guide</a>."
 
2096
  msgstr ""
2097
- "<strong>Note</strong>: This option is unavailable because a geo-data table "
2098
- "was not found in your database. For details, read the \"Using a Local Geo-"
2099
- "Database\" in the <a href=\"%1$s\" target=\"_blank\">PopUp usage guide</a>."
 
2100
 
2101
- #: views/settings.php:99
 
2102
  msgid "PopUp Settings"
2103
  msgstr "PopUp Settings"
2104
 
2105
- #: views/settings.php:110
 
2106
  msgid "PopUp Loading Method"
2107
  msgstr "PopUp Loading Method"
2108
 
2109
- #: views/settings.php:115
 
2110
  msgid "Select how you would like to load PopUp."
2111
  msgstr "Select how you would like to load PopUp."
2112
 
2113
- #: views/settings.php:124
 
2114
  msgid "Load PopUp using"
2115
  msgstr "Load PopUp using"
2116
 
2117
- #: views/settings.php:156
 
2118
  msgid "Country Lookup"
2119
  msgstr "Country Lookup"
2120
 
2121
- #: views/settings.php:164
2122
- msgid ""
2123
- "Use a local IP cache table instead of a web service to resolve IP addresses "
2124
- "to a country code."
2125
- msgstr ""
2126
- "Use a local IP cache table instead of a web service to resolve IP addresses "
2127
- "to a country code."
 
 
 
 
 
 
 
 
 
 
 
 
2128
 
2129
- #: views/settings.php:170
 
2130
  msgid "This option is relevant for the \"Visitor Location\" condition."
2131
  msgstr "This option is relevant for the \"Visitor Location\" condition."
2132
 
2133
- #: views/settings.php:185 views/settings.php:205
2134
- #, fuzzy
 
 
2135
  msgid "Click to toggle"
2136
  msgstr "Click to toggle"
2137
 
2138
- #: views/settings.php:186
 
2139
  msgid "Theme compatibility"
2140
  msgstr "Theme compatibility"
2141
 
2142
- #: views/settings.php:191
 
2143
  msgid ""
2144
  "Here you can see if your theme is compatible with the \"Page Footer\" "
2145
  "loading method."
@@ -2147,87 +3289,59 @@ msgstr ""
2147
  "Here you can see if your theme is compatible with the \"Page Footer\" "
2148
  "loading method."
2149
 
2150
- #: views/settings.php:206
 
2151
  msgid "Supported Shortcodes"
2152
  msgstr "Supported Shortcodes"
2153
 
2154
- #: views/settings.php:211
2155
- msgid ""
2156
- "You can use all your shortcodes inside the PopUp contents, however some "
2157
- "Plugins or Themes might provide shortcodes that only work with the loading "
2158
- "method \"Page Footer\".<br /> This list explains which shortcodes can be "
2159
- "used with each loading method:"
2160
- msgstr ""
2161
- "You can use all your shortcodes inside the PopUp contents, however some "
2162
- "Plugins or Themes might provide shortcodes that only work with the loading "
2163
- "method \"Page Footer\".<br /> This list explains which shortcodes can be "
2164
- "used with each loading method:"
2165
-
2166
- #: views/settings.php:220
2167
- msgid ""
2168
- "Important notice for shortcodes in <strong>Global PopUps</strong>:<br /"
2169
- ">Shortcodes can be provided by a plugin or theme, so each blog can have a "
2170
- "different list of shortcodes. The following list is valid for the current "
2171
- "blog only!"
2172
- msgstr ""
2173
- "Important notice for shortcodes in <strong>Global PopUps</strong>:<br /"
2174
- ">Shortcodes can be provided by a plugin or theme, so each blog can have a "
2175
- "different list of shortcodes. The following list is valid for the current "
2176
- "blog only!"
2177
-
2178
- #: views/settings.php:233
2179
- msgid "Shortcode"
2180
- msgstr "Shortcode"
2181
-
2182
- #: views/settings.php:237
2183
- msgid "Loading method 'Page Footer'"
2184
- msgstr "Loading method 'Page Footer'"
2185
-
2186
- #: views/settings.php:242
2187
- msgid "Loading method 'WordPress AJAX'"
2188
- msgstr "Loading method 'WordPress AJAX'"
2189
-
2190
- #: views/settings.php:243
2191
- msgid "WP AJAX"
2192
- msgstr "WP AJAX"
2193
-
2194
- #: views/settings.php:247
2195
- msgid "Loading method 'Custom AJAX'"
2196
- msgstr "Loading method 'Custom AJAX'"
2197
-
2198
- #: views/settings.php:248
2199
- msgid "Cust AJAX"
2200
- msgstr "Cust AJAX"
2201
-
2202
- #: views/settings.php:252
2203
- msgid "Loading method 'Anonymous Script'"
2204
- msgstr "Loading method 'Anonymous Script'"
2205
-
2206
- #: views/settings.php:253
2207
- msgid "Script"
2208
- msgstr "Script"
2209
-
2210
- #: views/settings.php:257
2211
- msgid "When opening a PopUp-Preview in the Editor"
2212
- msgstr "When opening a PopUp-Preview in the Editor"
2213
-
2214
- #: views/settings.php:281 views/settings.php:376
2215
  msgid "Save All Changes"
2216
  msgstr "Save All Changes"
2217
 
2218
- #: views/settings.php:296
2219
- #, fuzzy
2220
  msgid "Name"
2221
  msgstr "Name"
2222
 
2223
- #: views/settings.php:299
 
2224
  msgid "Activated Rules"
2225
  msgstr "Activated Rules"
2226
 
2227
- #: views/settings.php:325
2228
- msgid "Available in the PRO version"
2229
- msgstr "Available in the PRO version"
 
 
2230
 
2231
- #: views/settings.php:327
 
2232
  msgid "Not available for global PopUps"
2233
  msgstr "Not available for global PopUps"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  msgstr ""
3
  "Project-Id-Version: PopUp\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2014-10-27 13:20+0100\n"
6
+ "PO-Revision-Date: 2014-10-27 13:20+0100\n"
7
  "Last-Translator: Philipp Stracker <philipp@stracker.net>\n"
8
  "Language-Team: \n"
9
  "Language: en\n"
12
  "Content-Transfer-Encoding: 8bit\n"
13
  "X-Poedit-KeywordsList: __;gettext;gettext_noop;_e;_x;_ex\n"
14
  "X-Poedit-Basepath: ..\n"
15
+ "X-Generator: Poedit 1.6.10\n"
16
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17
  "X-Poedit-SourceCharset: UTF-8\n"
18
  "X-Poedit-SearchPath-0: .\n"
19
 
20
+ #: css/tpl/cabriolet/style.php:2 release/4.6.13/css/tpl/cabriolet/style.php:2
21
+ #: release/popover/css/tpl/cabriolet/style.php:2
22
  msgid "Cabriolet"
23
  msgstr "Cabriolet"
24
 
25
+ #: css/tpl/cabriolet/template.php:108 css/tpl/minimal/template.php:93
26
  #: css/tpl/old-default/template.php:24 css/tpl/old-fixed/template.php:24
27
+ #: css/tpl/old-fullbackground/template.php:24 css/tpl/simple/template.php:90
28
+ #: release/4.6.13/css/tpl/cabriolet/template.php:108
29
+ #: release/4.6.13/css/tpl/minimal/template.php:93
30
+ #: release/4.6.13/css/tpl/old-default/template.php:24
31
+ #: release/4.6.13/css/tpl/old-fixed/template.php:24
32
+ #: release/4.6.13/css/tpl/old-fullbackground/template.php:24
33
+ #: release/4.6.13/css/tpl/simple/template.php:90
34
+ #: release/popover/css/tpl/cabriolet/template.php:108
35
+ #: release/popover/css/tpl/minimal/template.php:93
36
+ #: release/popover/css/tpl/old-default/template.php:24
37
+ #: release/popover/css/tpl/old-fixed/template.php:24
38
+ #: release/popover/css/tpl/old-fullbackground/template.php:24
39
+ #: release/popover/css/tpl/simple/template.php:90
40
  msgid "Close this box"
41
  msgstr "Close this box"
42
 
43
+ #: css/tpl/cabriolet/template.php:134 css/tpl/minimal/template.php:137
44
  #: css/tpl/old-default/template.php:33 css/tpl/old-fixed/template.php:33
45
+ #: css/tpl/old-fullbackground/template.php:33 css/tpl/simple/template.php:130
46
+ #: release/4.6.13/css/tpl/cabriolet/template.php:134
47
+ #: release/4.6.13/css/tpl/minimal/template.php:137
48
+ #: release/4.6.13/css/tpl/old-default/template.php:33
49
+ #: release/4.6.13/css/tpl/old-fixed/template.php:33
50
+ #: release/4.6.13/css/tpl/old-fullbackground/template.php:33
51
+ #: release/4.6.13/css/tpl/simple/template.php:130
52
+ #: release/popover/css/tpl/cabriolet/template.php:134
53
+ #: release/popover/css/tpl/minimal/template.php:137
54
+ #: release/popover/css/tpl/old-default/template.php:33
55
+ #: release/popover/css/tpl/old-fixed/template.php:33
56
+ #: release/popover/css/tpl/old-fullbackground/template.php:33
57
+ #: release/popover/css/tpl/simple/template.php:130
58
  msgid "Never see this message again."
59
  msgstr "Never see this message again."
60
 
61
+ #: css/tpl/minimal/style.php:2 release/4.6.13/css/tpl/minimal/style.php:2
62
+ #: release/popover/css/tpl/minimal/style.php:2
63
  msgid "Minimal"
64
  msgstr "Minimal"
65
 
66
  #: css/tpl/old-default/style.php:2
67
+ #: release/4.6.13/css/tpl/old-default/style.php:2
68
+ #: release/popover/css/tpl/old-default/style.php:2
69
  msgid "Default"
70
  msgstr "Default"
71
 
72
+ #: css/tpl/old-fixed/style.php:2 release/4.6.13/css/tpl/old-fixed/style.php:2
73
+ #: release/popover/css/tpl/old-fixed/style.php:2
74
  msgid "Default Fixed"
75
  msgstr "Default Fixed"
76
 
77
  #: css/tpl/old-fullbackground/style.php:2
78
+ #: release/4.6.13/css/tpl/old-fullbackground/style.php:2
79
+ #: release/popover/css/tpl/old-fullbackground/style.php:2
80
  msgid "Dark Background Fixed"
81
  msgstr "Dark Background Fixed"
82
 
83
+ #: css/tpl/simple/style.php:2 release/4.6.13/css/tpl/simple/style.php:2
84
+ #: release/popover/css/tpl/simple/style.php:2
85
  msgid "Simple"
86
  msgstr "Simple"
87
 
88
  #: inc/addons/class-popup-addon-anonymous.php:80
89
+ #: release/4.6.13/inc/addons/class-popup-addon-anonymous.php:80
90
+ #: release/popover/inc/addons/class-popup-addon-anonymous.php:80
91
  msgid "Anonymous Script"
92
  msgstr "Anonymous Script"
93
 
94
  #: inc/addons/class-popup-addon-anonymous.php:82
95
+ #: release/4.6.13/inc/addons/class-popup-addon-anonymous.php:82
96
+ #: release/popover/inc/addons/class-popup-addon-anonymous.php:82
97
  msgid ""
98
  "Load PopUp like WordPress AJAX, but the URL to the JavaScript file will be "
99
  "masked."
101
  "Load PopUp like WordPress AJAX, but the URL to the JavaScript file will be "
102
  "masked."
103
 
104
+ #: inc/addons/class-popup-addon-headerfooter.php:132
105
+ #: release/4.6.13/inc/addons/class-popup-addon-headerfooter.php:132
106
+ #: release/popover/inc/addons/class-popup-addon-headerfooter.php:132
107
  msgid ""
108
  "Critical: Call to <code>wp_head();</code> is missing! It should appear "
109
  "directly before <code>&lt;/head&gt;</code>"
111
  "Critical: Call to <code>wp_head();</code> is missing! It should appear "
112
  "directly before <code>&lt;/head&gt;</code>"
113
 
114
+ #: inc/addons/class-popup-addon-headerfooter.php:140
115
+ #: release/4.6.13/inc/addons/class-popup-addon-headerfooter.php:140
116
+ #: release/popover/inc/addons/class-popup-addon-headerfooter.php:140
 
 
 
 
 
 
117
  msgid ""
118
  "Critical: Call to <code>wp_footer();</code> is missing! It should appear "
119
  "directly before <code>&lt;/body&gt;</code>"
121
  "Critical: Call to <code>wp_footer();</code> is missing! It should appear "
122
  "directly before <code>&lt;/body&gt;</code>"
123
 
124
+ #: inc/addons/class-popup-addon-headerfooter.php:156
125
+ #: release/4.6.13/inc/addons/class-popup-addon-headerfooter.php:156
126
+ #: release/popover/inc/addons/class-popup-addon-headerfooter.php:156
 
 
 
 
 
 
127
  msgid ""
128
  "Okay: Your current theme uses <code>wp_head();</code> and <code>wp_footer();"
129
  "</code> correctly!"
131
  "Okay: Your current theme uses <code>wp_head();</code> and <code>wp_footer();"
132
  "</code> correctly!"
133
 
134
+ #: inc/class-popup-admin.php:104 inc/class-popup-admin.php:468
135
+ #: release/4.6.13/inc/class-popup-admin.php:104
136
+ #: release/4.6.13/inc/class-popup-admin.php:468
137
+ #: release/popover/inc/class-popup-admin.php:104
138
+ #: release/popover/inc/class-popup-admin.php:468
139
  msgid "Activate"
140
  msgstr "Activate"
141
 
142
+ #: inc/class-popup-admin.php:105 inc/class-popup-admin.php:457
143
+ #: release/4.6.13/inc/class-popup-admin.php:105
144
+ #: release/4.6.13/inc/class-popup-admin.php:457
145
+ #: release/popover/inc/class-popup-admin.php:105
146
+ #: release/popover/inc/class-popup-admin.php:457
147
  msgid "Deactivate"
148
  msgstr "Deactivate"
149
 
150
+ #: inc/class-popup-admin.php:106 release/4.6.13/inc/class-popup-admin.php:106
151
+ #: release/popover/inc/class-popup-admin.php:106
152
  msgid "Toggle activation"
153
  msgstr "Toggle activation"
154
 
155
+ #: inc/class-popup-admin.php:252 inc/class-popup-admin.php:253
156
  #: inc/class-popup-posttype.php:76 inc/class-popup-posttype.php:77
157
  #: inc/class-popup-posttype.php:97
158
+ #: release/4.6.13/inc/class-popup-admin.php:252
159
+ #: release/4.6.13/inc/class-popup-admin.php:253
160
+ #: release/4.6.13/inc/class-popup-posttype.php:76
161
+ #: release/4.6.13/inc/class-popup-posttype.php:77
162
+ #: release/4.6.13/inc/class-popup-posttype.php:97
163
+ #: release/popover/inc/class-popup-admin.php:252
164
+ #: release/popover/inc/class-popup-admin.php:253
165
+ #: release/popover/inc/class-popup-posttype.php:76
166
+ #: release/popover/inc/class-popup-posttype.php:77
167
+ #: release/popover/inc/class-popup-posttype.php:97
168
  msgid "PopUp"
169
  msgstr "PopUp"
170
 
171
+ #: inc/class-popup-admin.php:263 inc/class-popup-admin.php:264
172
  #: inc/class-popup-posttype.php:82
173
+ #: release/4.6.13/inc/class-popup-admin.php:263
174
+ #: release/4.6.13/inc/class-popup-admin.php:264
175
+ #: release/4.6.13/inc/class-popup-posttype.php:82
176
+ #: release/popover/inc/class-popup-admin.php:263
177
+ #: release/popover/inc/class-popup-admin.php:264
178
+ #: release/popover/inc/class-popup-posttype.php:82
179
  msgid "Add New"
180
  msgstr "Add New"
181
 
182
+ #: inc/class-popup-admin.php:272 inc/class-popup-admin.php:273
183
+ #: inc/class-popup-admin.php:284 inc/class-popup-admin.php:285
184
+ #: release/4.6.13/inc/class-popup-admin.php:272
185
+ #: release/4.6.13/inc/class-popup-admin.php:273
186
+ #: release/4.6.13/inc/class-popup-admin.php:284
187
+ #: release/4.6.13/inc/class-popup-admin.php:285
188
+ #: release/popover/inc/class-popup-admin.php:272
189
+ #: release/popover/inc/class-popup-admin.php:273
190
+ #: release/popover/inc/class-popup-admin.php:284
191
+ #: release/popover/inc/class-popup-admin.php:285
192
  msgid "Settings"
193
  msgstr "Settings"
194
 
195
+ #: inc/class-popup-admin.php:280 inc/class-popup-posttype.php:91
196
+ #: inc/class-popup-posttype.php:93
197
+ #: release/4.6.13/inc/class-popup-admin.php:280
198
+ #: release/4.6.13/inc/class-popup-posttype.php:91
199
+ #: release/4.6.13/inc/class-popup-posttype.php:93
200
+ #: release/4.6.13/views/network.php:29
201
+ #: release/popover/inc/class-popup-admin.php:280
202
+ #: release/popover/inc/class-popup-posttype.php:91
203
+ #: release/popover/inc/class-popup-posttype.php:93
204
+ #: release/popover/views/network.php:29 views/network.php:29
205
  msgid "Global PopUps"
206
  msgstr "Global PopUps"
207
 
208
+ #: inc/class-popup-admin.php:378 release/4.6.13/inc/class-popup-admin.php:378
209
+ #: release/popover/inc/class-popup-admin.php:378
210
+ msgid "Country Lookup changed: The lookup-cache was cleared."
211
+ msgstr "Country Lookup changed: The lookup-cache was cleared."
212
+
213
+ #: inc/class-popup-admin.php:381 release/4.6.13/inc/class-popup-admin.php:381
214
+ #: release/popover/inc/class-popup-admin.php:381
215
  msgid "Your settings have been updated."
216
  msgstr "Your settings have been updated."
217
 
218
+ #: inc/class-popup-admin.php:415 release/4.6.13/inc/class-popup-admin.php:415
219
+ #: release/popover/inc/class-popup-admin.php:415
220
  msgid "PopUp Name"
221
  msgstr "PopUp Name"
222
 
223
+ #: inc/class-popup-admin.php:416 release/4.6.13/inc/class-popup-admin.php:416
224
+ #: release/popover/inc/class-popup-admin.php:416
225
  msgid "Conditions"
226
  msgstr "Conditions"
227
 
228
+ #: inc/class-popup-admin.php:419 release/4.6.13/inc/class-popup-admin.php:419
229
+ #: release/popover/inc/class-popup-admin.php:419
230
  msgid "Order"
231
  msgstr "Order"
232
 
233
+ #: inc/class-popup-admin.php:420 inc/class-popup-item.php:746
234
+ #: release/4.6.13/inc/class-popup-admin.php:420
235
+ #: release/4.6.13/inc/class-popup-item.php:746
236
+ #: release/popover/inc/class-popup-admin.php:420
237
+ #: release/popover/inc/class-popup-item.php:737
238
  msgid "Active"
239
  msgstr "Active"
240
 
241
+ #: inc/class-popup-admin.php:445 inc/class-popup-admin.php:509
242
+ #: release/4.6.13/inc/class-popup-admin.php:445
243
+ #: release/4.6.13/inc/class-popup-admin.php:509
244
+ #: release/popover/inc/class-popup-admin.php:445
245
+ #: release/popover/inc/class-popup-admin.php:509
246
  msgid "Edit this PopUp"
247
  msgstr "Edit this PopUp"
248
 
249
+ #: inc/class-popup-admin.php:446 release/4.6.13/inc/class-popup-admin.php:446
250
+ #: release/popover/inc/class-popup-admin.php:446
251
  msgid "Edit"
252
  msgstr "Edit"
253
 
254
+ #: inc/class-popup-admin.php:456 release/4.6.13/inc/class-popup-admin.php:456
255
+ #: release/popover/inc/class-popup-admin.php:456
256
  msgid "Deactivate this PopUp"
257
  msgstr "Deactivate this PopUp"
258
 
259
+ #: inc/class-popup-admin.php:467 release/4.6.13/inc/class-popup-admin.php:467
260
+ #: release/popover/inc/class-popup-admin.php:467
261
  msgid "Activate this PopUp"
262
  msgstr "Activate this PopUp"
263
 
264
+ #: inc/class-popup-admin.php:474 release/4.6.13/inc/class-popup-admin.php:474
265
+ #: release/popover/inc/class-popup-admin.php:474
266
  msgid "Preview this PopUp"
267
  msgstr "Preview this PopUp"
268
 
269
+ #: inc/class-popup-admin.php:476 release/4.6.13/inc/class-popup-admin.php:476
270
+ #: release/4.6.13/views/info-shortcodes.php:94
271
+ #: release/popover/inc/class-popup-admin.php:476
272
+ #: release/popover/views/info-shortcodes.php:94 views/info-shortcodes.php:94
273
  msgid "Preview"
274
  msgstr "Preview"
275
 
276
+ #: inc/class-popup-admin.php:486 release/4.6.13/inc/class-popup-admin.php:486
277
+ #: release/popover/inc/class-popup-admin.php:486
278
  msgid "Restore this PopUp from the Trash"
279
  msgstr "Restore this PopUp from the Trash"
280
 
281
+ #: inc/class-popup-admin.php:487 release/4.6.13/inc/class-popup-admin.php:487
282
+ #: release/popover/inc/class-popup-admin.php:487
283
  msgid "Restore"
284
  msgstr "Restore"
285
 
286
+ #: inc/class-popup-admin.php:492 release/4.6.13/inc/class-popup-admin.php:492
287
+ #: release/popover/inc/class-popup-admin.php:492
288
  msgid "Move this PopUp to the Trash"
289
  msgstr "Move this PopUp to the Trash"
290
 
291
+ #: inc/class-popup-admin.php:494 release/4.6.13/inc/class-popup-admin.php:494
292
+ #: release/popover/inc/class-popup-admin.php:494
293
  msgid "Trash"
294
  msgstr "Trash"
295
 
296
+ #: inc/class-popup-admin.php:500 release/4.6.13/inc/class-popup-admin.php:500
297
+ #: release/popover/inc/class-popup-admin.php:500
298
  msgid "Delete this PopUp permanently"
299
  msgstr "Delete this PopUp permanently"
300
 
301
+ #: inc/class-popup-admin.php:502 release/4.6.13/inc/class-popup-admin.php:502
302
+ #: release/popover/inc/class-popup-admin.php:502
303
  msgid "Delete Permanently"
304
  msgstr "Delete Permanently"
305
 
306
+ #: inc/class-popup-admin.php:547 release/4.6.13/inc/class-popup-admin.php:547
307
+ #: release/popover/inc/class-popup-admin.php:547
308
  msgid "Always Show PopUp"
309
  msgstr "Always Show PopUp"
310
 
311
+ #: inc/class-popup-admin.php:586 release/4.6.13/inc/class-popup-admin.php:586
312
+ #: release/popover/inc/class-popup-admin.php:586
313
  #, php-format
314
  msgid "All <span class=\"count\">(%1$s)</span>"
315
  msgstr "All <span class=\"count\">(%1$s)</span>"
316
 
317
+ #: inc/class-popup-admin.php:587 release/4.6.13/inc/class-popup-admin.php:587
318
+ #: release/popover/inc/class-popup-admin.php:587
319
  #, php-format
320
  msgid "Active <span class=\"count\">(%1$s)</span>"
321
  msgstr "Active <span class=\"count\">(%1$s)</span>"
322
 
323
+ #: inc/class-popup-admin.php:588 release/4.6.13/inc/class-popup-admin.php:588
324
+ #: release/popover/inc/class-popup-admin.php:588
325
  #, php-format
326
  msgid "Inactive <span class=\"count\">(%1$s)</span>"
327
  msgstr "Inactive <span class=\"count\">(%1$s)</span>"
328
 
329
+ #: inc/class-popup-admin.php:589 release/4.6.13/inc/class-popup-admin.php:589
330
+ #: release/popover/inc/class-popup-admin.php:589
331
  #, php-format
332
  msgid "Trash <span class=\"count\">(%1$s)</span>"
333
  msgstr "Trash <span class=\"count\">(%1$s)</span>"
334
 
335
+ #: inc/class-popup-admin.php:717 release/4.6.13/inc/class-popup-admin.php:717
336
+ #: release/popover/inc/class-popup-admin.php:717
337
  msgid "One PopUp activated"
338
  msgstr "One PopUp activated"
339
 
340
+ #: inc/class-popup-admin.php:718 release/4.6.13/inc/class-popup-admin.php:718
341
+ #: release/popover/inc/class-popup-admin.php:718
342
  #, php-format
343
  msgid "%1$s PopUps activated"
344
  msgstr "%1$s PopUps activated"
345
 
346
+ #: inc/class-popup-admin.php:723 release/4.6.13/inc/class-popup-admin.php:723
347
+ #: release/popover/inc/class-popup-admin.php:723
348
  msgid "One PopUp deactivated"
349
  msgstr "One PopUp deactivated"
350
 
351
+ #: inc/class-popup-admin.php:724 release/4.6.13/inc/class-popup-admin.php:724
352
+ #: release/popover/inc/class-popup-admin.php:724
353
  #, php-format
354
  msgid "%1$s PopUps deactivated"
355
  msgstr "%1$s PopUps deactivated"
356
 
357
+ #: inc/class-popup-admin.php:729 release/4.6.13/inc/class-popup-admin.php:729
358
+ #: release/popover/inc/class-popup-admin.php:729
359
  msgid "One PopUp toggled"
360
  msgstr "One PopUp toggled"
361
 
362
+ #: inc/class-popup-admin.php:730 release/4.6.13/inc/class-popup-admin.php:730
363
+ #: release/popover/inc/class-popup-admin.php:730
364
  #, php-format
365
  msgid "%1$s PopUps toggled"
366
  msgstr "%1$s PopUps toggled"
367
 
368
+ #: inc/class-popup-admin.php:917 release/4.6.13/inc/class-popup-admin.php:917
369
+ #: release/popover/inc/class-popup-admin.php:917
370
  msgid "PopUp Contents"
371
  msgstr "PopUp Contents"
372
 
373
+ #: inc/class-popup-admin.php:926 release/4.6.13/inc/class-popup-admin.php:926
374
+ #: release/popover/inc/class-popup-admin.php:926
375
  msgid "Appearance"
376
  msgstr "Appearance"
377
 
378
+ #: inc/class-popup-admin.php:935 release/4.6.13/inc/class-popup-admin.php:935
379
+ #: release/popover/inc/class-popup-admin.php:935
380
  msgid "Behavior"
381
  msgstr "Behavior"
382
 
383
+ #: inc/class-popup-admin.php:944 release/4.6.13/inc/class-popup-admin.php:944
384
+ #: release/popover/inc/class-popup-admin.php:944
385
  msgid "Displaying Conditions (optional)"
386
  msgstr "Displaying Conditions (optional)"
387
 
388
+ #: inc/class-popup-admin.php:953 release/4.6.13/inc/class-popup-admin.php:953
389
+ #: release/popover/inc/class-popup-admin.php:953
390
  msgid "Save PopUp"
391
  msgstr "Save PopUp"
392
 
393
+ #: inc/class-popup-admin.php:975 release/4.6.13/inc/class-popup-admin.php:975
394
+ #: release/popover/inc/class-popup-admin.php:975
395
  msgid "PopUp Name (not displayed on the PopUp)"
396
  msgstr "PopUp Name (not displayed on the PopUp)"
397
 
398
+ #: inc/class-popup-admin.php:978 release/4.6.13/inc/class-popup-admin.php:978
399
+ #: release/popover/inc/class-popup-admin.php:978
400
  msgid "Name this PopUp"
401
  msgstr "Name this PopUp"
402
 
403
+ #: inc/class-popup-base.php:100 release/4.6.13/inc/class-popup-base.php:100
404
+ #: release/popover/inc/class-popup-base.php:100
405
+ msgid ""
406
+ "You are using WP Rocket with JS Minification, which has caused some issues "
407
+ "in the past. We recommend to disable the JS Minification setting in WP "
408
+ "Rocket to avoid problems."
409
+ msgstr ""
410
+ "You are using WP Rocket with JS Minification, which has caused some issues "
411
+ "in the past. We recommend to disable the JS Minification setting in WP "
412
+ "Rocket to avoid problems."
413
+
414
+ #: inc/class-popup-base.php:586
415
+ msgid "PRO Version only"
416
+ msgstr "PRO Version only"
417
+
418
+ #: inc/class-popup-base.php:587
419
+ #, php-format
420
+ msgid ""
421
+ "Pro feature only. <a href=\"%1$s\" target=\"_blank\">Find out more &raquo;</"
422
+ "a>"
423
+ msgstr ""
424
+ "Pro feature only. <a href=\"%1$s\" target=\"_blank\">Find out more &raquo;</"
425
+ "a>"
426
+
427
+ #: inc/class-popup-base.php:588
428
+ #, php-format
429
+ msgid ""
430
+ "<strong>WordPress PopUp</strong><br />Your installation was successfully "
431
+ "updated to use the latest version of the plugin!<br /><em>Note: Some PopUp "
432
+ "options changed or were replaced. You should have a look at your <a href=\"%s"
433
+ "\">PopUps</a> to see if they still look as intended.</em>"
434
+ msgstr ""
435
+ "<strong>WordPress PopUp</strong><br />Your installation was successfully "
436
+ "updated to use the latest version of the plugin!<br /><em>Note: Some PopUp "
437
+ "options changed or were replaced. You should have a look at your <a href=\"%s"
438
+ "\">PopUps</a> to see if they still look as intended.</em>"
439
+
440
+ #: inc/class-popup-base.php:589
441
+ msgid ""
442
+ "In the free version you can activate 1 PopUp. When you activate this PopUp "
443
+ "then all other PopUps will be deactivated "
444
+ msgstr ""
445
+ "In the free version you can activate 1 PopUp. When you activate this PopUp "
446
+ "then all other PopUps will be deactivated "
447
+
448
+ #: inc/class-popup-base.php:590
449
+ #, php-format
450
+ msgid ""
451
+ "In the free version you can activate 1 PopUp. The PRO Version allows you to "
452
+ "have unlimited active PopUps! <a href=\"%1$s\" target=\"_blank\">Find out "
453
+ "more &raquo;</a>"
454
+ msgstr ""
455
+ "In the free version you can activate 1 PopUp. The PRO Version allows you to "
456
+ "have unlimited active PopUps! <a href=\"%1$s\" target=\"_blank\">Find out "
457
+ "more &raquo;</a>"
458
+
459
  #: inc/class-popup-database.php:294
460
+ #: release/4.6.13/inc/class-popup-database.php:294
461
+ #: release/popover/inc/class-popup-database.php:294
462
  #, php-format
463
  msgid ""
464
  "<strong>PopUp Pro</strong><br />Your installation was successfully updated "
471
  "changed or were replaced. You should have a look at your <a href=\"%s"
472
  "\">PopUps</a> to see if they still look as intended.</em>"
473
 
474
+ #: inc/class-popup-database.php:573
475
+ #: release/4.6.13/inc/class-popup-database.php:573
476
+ #: release/4.6.13/views/info-shortcodes.php:74
477
+ #: release/popover/inc/class-popup-database.php:573
478
+ #: release/popover/views/info-shortcodes.php:74 views/info-shortcodes.php:74
479
+ msgid "Page Footer"
480
+ msgstr "Page Footer"
481
+
482
+ #: inc/class-popup-database.php:575
483
+ #: release/4.6.13/inc/class-popup-database.php:575
484
+ #: release/popover/inc/class-popup-database.php:575
485
+ msgid "Include PopUp as part of your site's HTML (no AJAX call)."
486
+ msgstr "Include PopUp as part of your site's HTML (no AJAX call)."
487
+
488
+ #: inc/class-popup-database.php:582
489
+ #: release/4.6.13/inc/class-popup-database.php:582
490
+ #: release/popover/inc/class-popup-database.php:582
491
+ msgid "WordPress AJAX"
492
+ msgstr "WordPress AJAX"
493
+
494
+ #: inc/class-popup-database.php:584
495
+ #: release/4.6.13/inc/class-popup-database.php:584
496
+ #: release/popover/inc/class-popup-database.php:584
497
+ msgid ""
498
+ "Load PopUp separately from the page via a WordPress AJAX call. This is the "
499
+ "best option if you use caching."
500
+ msgstr ""
501
+ "Load PopUp separately from the page via a WordPress AJAX call. This is the "
502
+ "best option if you use caching."
503
+
504
+ #: inc/class-popup-database.php:592
505
+ #: release/4.6.13/inc/class-popup-database.php:592
506
+ #: release/popover/inc/class-popup-database.php:592
507
+ msgid "Custom AJAX"
508
+ msgstr "Custom AJAX"
509
+
510
+ #: inc/class-popup-database.php:594
511
+ #: release/4.6.13/inc/class-popup-database.php:594
512
+ #: release/popover/inc/class-popup-database.php:594
513
+ msgid "Load PopUp separately from the page via a custom front-end AJAX call."
514
+ msgstr "Load PopUp separately from the page via a custom front-end AJAX call."
515
+
516
+ #: inc/class-popup-help.php:60 release/4.6.13/inc/class-popup-help.php:60
517
+ #: release/popover/inc/class-popup-help.php:60
518
+ msgid "Shortcodes"
519
+ msgstr "Shortcodes"
520
+
521
+ #: inc/class-popup-item.php:383 release/4.6.13/inc/class-popup-item.php:383
522
+ #: release/popover/inc/class-popup-item.php:376
523
  msgid "New PopUp"
524
  msgstr "New PopUp"
525
 
526
+ #: inc/class-popup-item.php:546 release/4.6.13/inc/class-popup-item.php:546
527
+ #: release/popover/inc/class-popup-item.php:537
528
  #, php-format
529
  msgid "Saved PopUp \"<strong>%1$s</strong>\""
530
  msgstr "Saved PopUp \"<strong>%1$s</strong>\""
531
 
532
+ #: inc/class-popup-item.php:550 release/4.6.13/inc/class-popup-item.php:550
533
+ #: release/popover/inc/class-popup-item.php:541
534
  #, php-format
535
  msgid "Activated PopUp \"<strong>%1$s</strong>\"."
536
  msgstr "Activated PopUp \"<strong>%1$s</strong>\"."
537
 
538
+ #: inc/class-popup-item.php:554 release/4.6.13/inc/class-popup-item.php:554
539
+ #: release/popover/inc/class-popup-item.php:545
540
  #, php-format
541
  msgid "Deactivated PopUp \"<strong>%1$s</strong>\"."
542
  msgstr "Deactivated PopUp \"<strong>%1$s</strong>\"."
543
 
544
+ #: inc/class-popup-item.php:558 release/4.6.13/inc/class-popup-item.php:558
545
+ #: release/popover/inc/class-popup-item.php:549
546
  #, php-format
547
  msgid "Moved PopUp \"<strong>%1$s</strong>\" to trash."
548
  msgstr "Moved PopUp \"<strong>%1$s</strong>\" to trash."
549
 
550
+ #: inc/class-popup-item.php:562 release/4.6.13/inc/class-popup-item.php:562
551
+ #: release/popover/inc/class-popup-item.php:553
552
  #, php-format
553
  msgid "Saved PopUp \"<strong>%1$s</strong>\"."
554
  msgstr "Saved PopUp \"<strong>%1$s</strong>\"."
555
 
556
+ #: inc/class-popup-item.php:568 release/4.6.13/inc/class-popup-item.php:568
557
+ #: release/popover/inc/class-popup-item.php:559
558
  msgid "Could not save PopUp."
559
  msgstr "Could not save PopUp."
560
 
561
+ #: inc/class-popup-item.php:721 inc/rules/class-popup-rule-user.php:30
562
+ #: release/4.6.13/inc/class-popup-item.php:721
563
+ #: release/4.6.13/inc/rules/class-popup-rule-user.php:30
564
+ #: release/popover/inc/class-popup-item.php:712
565
+ #: release/popover/inc/rules/class-popup-rule-user.php:30
566
  msgid "Visitor is logged in"
567
  msgstr "Visitor is logged in"
568
 
569
+ #: inc/class-popup-item.php:722 inc/rules/class-popup-rule-user.php:39
570
+ #: release/4.6.13/inc/class-popup-item.php:722
571
+ #: release/4.6.13/inc/rules/class-popup-rule-user.php:39
572
+ #: release/popover/inc/class-popup-item.php:713
573
+ #: release/popover/inc/rules/class-popup-rule-user.php:39
574
  msgid "Visitor is not logged in"
575
  msgstr "Visitor is not logged in"
576
 
577
+ #: inc/class-popup-item.php:723 inc/rules/class-popup-rule-url.php:30
578
+ #: release/4.6.13/inc/class-popup-item.php:723
579
+ #: release/4.6.13/inc/rules/class-popup-rule-url.php:30
580
+ #: release/popover/inc/class-popup-item.php:714
581
+ #: release/popover/inc/rules/class-popup-rule-url.php:30
582
  msgid "On specific URL"
583
  msgstr "On specific URL"
584
 
585
+ #: inc/class-popup-item.php:724 inc/rules/class-popup-rule-url.php:39
586
+ #: release/4.6.13/inc/class-popup-item.php:724
587
+ #: release/4.6.13/inc/rules/class-popup-rule-url.php:39
588
+ #: release/popover/inc/class-popup-item.php:715
589
+ #: release/popover/inc/rules/class-popup-rule-url.php:39
590
  msgid "Not on specific URL"
591
  msgstr "Not on specific URL"
592
 
593
+ #: inc/class-popup-item.php:725 release/4.6.13/inc/class-popup-item.php:725
594
+ #: release/popover/inc/class-popup-item.php:716
595
  msgid "In a specific country"
596
  msgstr "In a specific country"
597
 
598
+ #: inc/class-popup-item.php:726 release/4.6.13/inc/class-popup-item.php:726
599
+ #: release/popover/inc/class-popup-item.php:717
600
  msgid "Not in a specific country"
601
  msgstr "Not in a specific country"
602
 
603
+ #: inc/class-popup-item.php:727 release/4.6.13/inc/class-popup-item.php:727
604
+ #: release/popover/inc/class-popup-item.php:718
605
  msgid "Site is not a Pro-site"
606
  msgstr "Site is not a Pro-site"
607
 
608
+ #: inc/class-popup-item.php:728 release/4.6.13/inc/class-popup-item.php:728
609
+ #: release/popover/inc/class-popup-item.php:719
610
  msgid "Visit via a search engine"
611
  msgstr "Visit via a search engine"
612
 
613
+ #: inc/class-popup-item.php:729 inc/rules/class-popup-rule-user.php:61
614
+ #: release/4.6.13/inc/class-popup-item.php:729
615
+ #: release/4.6.13/inc/rules/class-popup-rule-user.php:61
616
+ #: release/popover/inc/class-popup-item.php:720
617
+ #: release/popover/inc/rules/class-popup-rule-user.php:61
618
  msgid "Visitor has never commented"
619
  msgstr "Visitor has never commented"
620
 
621
+ #: inc/class-popup-item.php:730 release/4.6.13/inc/class-popup-item.php:730
622
+ #: release/popover/inc/class-popup-item.php:721
623
  msgid "Visit not via an Internal link"
624
  msgstr "Visit not via an Internal link"
625
 
626
+ #: inc/class-popup-item.php:731 release/4.6.13/inc/class-popup-item.php:731
627
+ #: release/popover/inc/class-popup-item.php:722
628
  msgid "Visit via specific referer"
629
  msgstr "Visit via specific referer"
630
 
631
+ #: inc/class-popup-item.php:732 release/4.6.13/inc/class-popup-item.php:732
632
+ #: release/popover/inc/class-popup-item.php:723
633
  msgid "Popover shown less than x times"
634
  msgstr "Popover shown less than x times"
635
 
636
+ #: inc/class-popup-item.php:747 release/4.6.13/inc/class-popup-item.php:747
637
+ #: release/popover/inc/class-popup-item.php:738
638
  msgid "Inactive"
639
  msgstr "Inactive"
640
 
641
+ #: inc/class-popup-item.php:748 release/4.6.13/inc/class-popup-item.php:748
642
+ #: release/popover/inc/class-popup-item.php:739
643
  msgid "Trashed"
644
  msgstr "Trashed"
645
 
646
  #: inc/class-popup-posttype.php:75 inc/class-popup-posttype.php:79
647
+ #: release/4.6.13/inc/class-popup-posttype.php:75
648
+ #: release/4.6.13/inc/class-popup-posttype.php:79
649
+ #: release/popover/inc/class-popup-posttype.php:75
650
+ #: release/popover/inc/class-popup-posttype.php:79
651
  msgid "PopUps"
652
  msgstr "PopUps"
653
 
654
  #: inc/class-popup-posttype.php:78
655
+ #: release/4.6.13/inc/class-popup-posttype.php:78
656
+ #: release/popover/inc/class-popup-posttype.php:78
657
  msgid "Parent Item:"
658
  msgstr "Parent Item:"
659
 
660
  #: inc/class-popup-posttype.php:80
661
+ #: release/4.6.13/inc/class-popup-posttype.php:80
662
+ #: release/popover/inc/class-popup-posttype.php:80
663
  msgid "View Item"
664
  msgstr "View Item"
665
 
666
  #: inc/class-popup-posttype.php:81
667
+ #: release/4.6.13/inc/class-popup-posttype.php:81
668
+ #: release/popover/inc/class-popup-posttype.php:81
669
  msgid "Add New PopUp"
670
  msgstr "Add New PopUp"
671
 
672
  #: inc/class-popup-posttype.php:83
673
+ #: release/4.6.13/inc/class-popup-posttype.php:83
674
+ #: release/popover/inc/class-popup-posttype.php:83
675
  msgid "Edit PopUp"
676
  msgstr "Edit PopUp"
677
 
678
  #: inc/class-popup-posttype.php:84
679
+ #: release/4.6.13/inc/class-popup-posttype.php:84
680
+ #: release/popover/inc/class-popup-posttype.php:84
681
  msgid "Update PopUp"
682
  msgstr "Update PopUp"
683
 
684
  #: inc/class-popup-posttype.php:85
685
+ #: release/4.6.13/inc/class-popup-posttype.php:85
686
+ #: release/popover/inc/class-popup-posttype.php:85
687
  msgid "Search PopUp"
688
  msgstr "Search PopUp"
689
 
690
  #: inc/class-popup-posttype.php:86
691
+ #: release/4.6.13/inc/class-popup-posttype.php:86
692
+ #: release/popover/inc/class-popup-posttype.php:86
693
  msgid "Not found"
694
  msgstr "Not found"
695
 
696
  #: inc/class-popup-posttype.php:87
697
+ #: release/4.6.13/inc/class-popup-posttype.php:87
698
+ #: release/popover/inc/class-popup-posttype.php:87
699
  msgid "No PopUp found in Trash"
700
  msgstr "No PopUp found in Trash"
701
 
702
  #: inc/class-popup-posttype.php:92
703
+ #: release/4.6.13/inc/class-popup-posttype.php:92
704
+ #: release/popover/inc/class-popup-posttype.php:92
705
  msgid "Global PopUp"
706
  msgstr "Global PopUp"
707
 
708
  #: inc/class-popup-posttype.php:98
709
+ #: release/4.6.13/inc/class-popup-posttype.php:98
710
+ #: release/popover/inc/class-popup-posttype.php:98
711
  msgid "Display PopUp messages on your website!"
712
  msgstr "Display PopUp messages on your website!"
713
 
714
  #: inc/rules/class-popup-rule-advurl.php:31
715
+ #: release/4.6.13/inc/rules/class-popup-rule-advurl.php:31
716
+ #: release/popover/inc/rules/class-popup-rule-advurl.php:31
717
  msgid "On approximate URL"
718
  msgstr "On approximate URL"
719
 
720
  #: inc/rules/class-popup-rule-advurl.php:32
721
  #: inc/rules/class-popup-rule-url.php:31
722
+ #: release/4.6.13/inc/rules/class-popup-rule-advurl.php:32
723
+ #: release/4.6.13/inc/rules/class-popup-rule-url.php:31
724
+ #: release/popover/inc/rules/class-popup-rule-advurl.php:32
725
+ #: release/popover/inc/rules/class-popup-rule-url.php:31
726
  msgid "Shows the PopUp if the user is on a certain URL."
727
  msgstr "Shows the PopUp if the user is on a certain URL."
728
 
729
  #: inc/rules/class-popup-rule-advurl.php:40
730
+ #: release/4.6.13/inc/rules/class-popup-rule-advurl.php:40
731
+ #: release/popover/inc/rules/class-popup-rule-advurl.php:40
732
  msgid "Not on approximate URL"
733
  msgstr "Not on approximate URL"
734
 
735
  #: inc/rules/class-popup-rule-advurl.php:41
736
  #: inc/rules/class-popup-rule-url.php:40
737
+ #: release/4.6.13/inc/rules/class-popup-rule-advurl.php:41
738
+ #: release/4.6.13/inc/rules/class-popup-rule-url.php:40
739
+ #: release/popover/inc/rules/class-popup-rule-advurl.php:41
740
+ #: release/popover/inc/rules/class-popup-rule-url.php:40
741
  msgid "Shows the PopUp if the user is not on a certain URL."
742
  msgstr "Shows the PopUp if the user is not on a certain URL."
743
 
744
  #: inc/rules/class-popup-rule-advurl.php:84
745
  #: inc/rules/class-popup-rule-advurl.php:139
746
+ #: release/4.6.13/inc/rules/class-popup-rule-advurl.php:84
747
+ #: release/4.6.13/inc/rules/class-popup-rule-advurl.php:139
748
+ #: release/popover/inc/rules/class-popup-rule-advurl.php:84
749
+ #: release/popover/inc/rules/class-popup-rule-advurl.php:139
750
  msgid "URL regex (one per line):"
751
  msgstr "URL regex (one per line):"
752
 
753
  #: inc/rules/class-popup-rule-browser.php:30
754
+ #: release/4.6.13/inc/rules/class-popup-rule-browser.php:30
755
+ #: release/popover/inc/rules/class-popup-rule-browser.php:30
756
  msgid "Only on mobile devices"
757
  msgstr "Only on mobile devices"
758
 
759
  #: inc/rules/class-popup-rule-browser.php:31
760
+ #: release/4.6.13/inc/rules/class-popup-rule-browser.php:31
761
+ #: release/popover/inc/rules/class-popup-rule-browser.php:31
762
  msgid ""
763
  "Shows the PopUp to visitors that are using a mobile device (Phone or Tablet)."
764
  msgstr ""
765
  "Shows the PopUp to visitors that are using a mobile device (Phone or Tablet)."
766
 
767
  #: inc/rules/class-popup-rule-browser.php:39
768
+ #: release/4.6.13/inc/rules/class-popup-rule-browser.php:39
769
+ #: release/popover/inc/rules/class-popup-rule-browser.php:39
770
  msgid "Not on mobile devices"
771
  msgstr "Not on mobile devices"
772
 
773
  #: inc/rules/class-popup-rule-browser.php:40
774
+ #: release/4.6.13/inc/rules/class-popup-rule-browser.php:40
775
+ #: release/popover/inc/rules/class-popup-rule-browser.php:40
776
  msgid ""
777
  "Shows the PopUp to visitors that are using a normal computer or laptop (i.e. "
778
  "not a Phone or Tablet)."
781
  "not a Phone or Tablet)."
782
 
783
  #: inc/rules/class-popup-rule-category.php:33
784
+ #: release/4.6.13/inc/rules/class-popup-rule-category.php:33
785
+ #: release/popover/inc/rules/class-popup-rule-category.php:33
786
  msgid "On post category"
787
  msgstr "On post category"
788
 
789
  #: inc/rules/class-popup-rule-category.php:34
790
+ #: release/4.6.13/inc/rules/class-popup-rule-category.php:34
791
+ #: release/popover/inc/rules/class-popup-rule-category.php:34
792
  msgid "Shows the PopUp on pages that match any of the specified categories."
793
  msgstr "Shows the PopUp on pages that match any of the specified categories."
794
 
795
  #: inc/rules/class-popup-rule-category.php:42
796
+ #: release/4.6.13/inc/rules/class-popup-rule-category.php:42
797
+ #: release/popover/inc/rules/class-popup-rule-category.php:42
798
  msgid "Not on post category"
799
  msgstr "Not on post category"
800
 
801
  #: inc/rules/class-popup-rule-category.php:43
802
+ #: release/4.6.13/inc/rules/class-popup-rule-category.php:43
803
+ #: release/popover/inc/rules/class-popup-rule-category.php:43
804
  msgid ""
805
  "Shows the PopUp on pages that do not match any of the specified categories."
806
  msgstr ""
808
 
809
  #: inc/rules/class-popup-rule-category.php:64
810
  #: inc/rules/class-popup-rule-posttype.php:63
811
+ #: release/4.6.13/inc/rules/class-popup-rule-category.php:64
812
+ #: release/4.6.13/inc/rules/class-popup-rule-posttype.php:63
813
+ #: release/popover/inc/rules/class-popup-rule-category.php:64
814
+ #: release/popover/inc/rules/class-popup-rule-posttype.php:63
815
  msgid "Singular"
816
  msgstr "Singular"
817
 
818
  #: inc/rules/class-popup-rule-category.php:65
819
  #: inc/rules/class-popup-rule-posttype.php:64
820
+ #: release/4.6.13/inc/rules/class-popup-rule-category.php:65
821
+ #: release/4.6.13/inc/rules/class-popup-rule-posttype.php:64
822
+ #: release/popover/inc/rules/class-popup-rule-category.php:65
823
+ #: release/popover/inc/rules/class-popup-rule-posttype.php:64
824
  msgid "Archive"
825
  msgstr "Archive"
826
 
827
  #: inc/rules/class-popup-rule-category.php:120
828
+ #: release/4.6.13/inc/rules/class-popup-rule-category.php:120
829
+ #: release/popover/inc/rules/class-popup-rule-category.php:120
830
  msgid "Show on these post categories:"
831
  msgstr "Show on these post categories:"
832
 
833
  #: inc/rules/class-popup-rule-category.php:121
834
+ #: release/4.6.13/inc/rules/class-popup-rule-category.php:121
835
+ #: release/popover/inc/rules/class-popup-rule-category.php:121
836
  msgid "Show on these category type URLs:"
837
  msgstr "Show on these category type URLs:"
838
 
839
  #: inc/rules/class-popup-rule-category.php:168
840
+ #: release/4.6.13/inc/rules/class-popup-rule-category.php:168
841
+ #: release/popover/inc/rules/class-popup-rule-category.php:168
842
  msgid "Hide on these post categories:"
843
  msgstr "Hide on these post categories:"
844
 
845
  #: inc/rules/class-popup-rule-category.php:169
846
+ #: release/4.6.13/inc/rules/class-popup-rule-category.php:169
847
+ #: release/popover/inc/rules/class-popup-rule-category.php:169
848
  msgid "Hide on these category type URLs:"
849
  msgstr "Hide on these category type URLs:"
850
 
851
  #: inc/rules/class-popup-rule-events.php:81
852
+ #: release/4.6.13/inc/rules/class-popup-rule-events.php:81
853
+ #: release/popover/inc/rules/class-popup-rule-events.php:81
854
  msgid "Appear when the mouse leaves the browser window"
855
  msgstr "Appear when the mouse leaves the browser window"
856
 
857
+ #: inc/rules/class-popup-rule-events.php:158
858
+ #: release/4.6.13/inc/rules/class-popup-rule-events.php:158
859
+ #: release/popover/inc/rules/class-popup-rule-events.php:158
860
  msgid "Appear when user clicks on a CSS selector"
861
  msgstr "Appear when user clicks on a CSS selector"
862
 
863
+ #: inc/rules/class-popup-rule-events.php:165
864
+ #: release/4.6.13/inc/rules/class-popup-rule-events.php:165
865
+ #: release/4.6.13/views/meta-behavior.php:91
866
+ #: release/popover/inc/rules/class-popup-rule-events.php:165
867
+ #: release/popover/views/meta-behavior.php:91 views/meta-behavior.php:91
868
  msgid ".class or #id"
869
  msgstr ".class or #id"
870
 
871
+ #: inc/rules/class-popup-rule-events.php:172
872
+ #: release/4.6.13/inc/rules/class-popup-rule-events.php:172
873
+ #: release/popover/inc/rules/class-popup-rule-events.php:172
874
  msgid "Repeated"
875
  msgstr "Repeated"
876
 
877
  #: inc/rules/class-popup-rule-geo.php:31
878
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:31
879
+ #: release/popover/inc/rules/class-popup-rule-geo.php:31
880
  msgid "In a specific Country"
881
  msgstr "In a specific Country"
882
 
883
  #: inc/rules/class-popup-rule-geo.php:32
884
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:32
885
+ #: release/popover/inc/rules/class-popup-rule-geo.php:32
886
  msgid "Shows the PopUp if the user is in a certain country."
887
  msgstr "Shows the PopUp if the user is in a certain country."
888
 
889
  #: inc/rules/class-popup-rule-geo.php:40
890
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:40
891
+ #: release/popover/inc/rules/class-popup-rule-geo.php:40
892
  msgid "Not in a specific Country"
893
  msgstr "Not in a specific Country"
894
 
895
  #: inc/rules/class-popup-rule-geo.php:41
896
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:41
897
+ #: release/popover/inc/rules/class-popup-rule-geo.php:41
898
  msgid "Shows the PopUp if the user is not in a certain country."
899
  msgstr "Shows the PopUp if the user is not in a certain country."
900
 
901
+ #: inc/rules/class-popup-rule-geo.php:89
902
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:89
903
+ #: release/popover/inc/rules/class-popup-rule-geo.php:89
904
  msgid "Included countries:"
905
  msgstr "Included countries:"
906
 
907
+ #: inc/rules/class-popup-rule-geo.php:94
908
+ #: inc/rules/class-popup-rule-geo.php:158
909
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:94
910
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:158
911
+ #: release/popover/inc/rules/class-popup-rule-geo.php:94
912
+ #: release/popover/inc/rules/class-popup-rule-geo.php:158
913
  msgid "Click here to select a country"
914
  msgstr "Click here to select a country"
915
 
916
+ #: inc/rules/class-popup-rule-geo.php:153
917
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:153
918
+ #: release/popover/inc/rules/class-popup-rule-geo.php:153
919
  msgid "Excluded countries:"
920
  msgstr "Excluded countries:"
921
 
922
+ #: inc/rules/class-popup-rule-geo.php:285
923
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:285
924
+ #: release/4.6.13/views/settings.php:151
925
+ #: release/popover/inc/rules/class-popup-rule-geo.php:285
926
+ #: release/popover/views/settings.php:151 views/settings.php:151
927
+ msgid "Local IP Lookup Table"
928
+ msgstr "Local IP Lookup Table"
929
+
930
+ #: inc/rules/class-popup-rule-geo.php:379
931
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:379
932
+ #: release/popover/inc/rules/class-popup-rule-geo.php:379
933
  msgid "Australia"
934
  msgstr "Australia"
935
 
936
+ #: inc/rules/class-popup-rule-geo.php:380
937
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:380
938
+ #: release/popover/inc/rules/class-popup-rule-geo.php:380
939
  msgid "Afghanistan"
940
  msgstr "Afghanistan"
941
 
942
+ #: inc/rules/class-popup-rule-geo.php:381
943
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:381
944
+ #: release/popover/inc/rules/class-popup-rule-geo.php:381
945
  msgid "Albania"
946
  msgstr "Albania"
947
 
948
+ #: inc/rules/class-popup-rule-geo.php:382
949
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:382
950
+ #: release/popover/inc/rules/class-popup-rule-geo.php:382
951
  msgid "Algeria"
952
  msgstr "Algeria"
953
 
954
+ #: inc/rules/class-popup-rule-geo.php:383
955
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:383
956
+ #: release/popover/inc/rules/class-popup-rule-geo.php:383
957
  msgid "American Samoa"
958
  msgstr "American Samoa"
959
 
960
+ #: inc/rules/class-popup-rule-geo.php:384
961
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:384
962
+ #: release/popover/inc/rules/class-popup-rule-geo.php:384
963
  msgid "Andorra"
964
  msgstr "Andorra"
965
 
966
+ #: inc/rules/class-popup-rule-geo.php:385
967
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:385
968
+ #: release/popover/inc/rules/class-popup-rule-geo.php:385
969
  msgid "Angola"
970
  msgstr "Angola"
971
 
972
+ #: inc/rules/class-popup-rule-geo.php:386
973
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:386
974
+ #: release/popover/inc/rules/class-popup-rule-geo.php:386
975
  msgid "Anguilla"
976
  msgstr "Anguilla"
977
 
978
+ #: inc/rules/class-popup-rule-geo.php:387
979
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:387
980
+ #: release/popover/inc/rules/class-popup-rule-geo.php:387
981
  msgid "Antarctica"
982
  msgstr "Antarctica"
983
 
984
+ #: inc/rules/class-popup-rule-geo.php:388
985
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:388
986
+ #: release/popover/inc/rules/class-popup-rule-geo.php:388
987
  msgid "Antigua & Barbuda"
988
  msgstr "Antigua & Barbuda"
989
 
990
+ #: inc/rules/class-popup-rule-geo.php:389
991
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:389
992
+ #: release/popover/inc/rules/class-popup-rule-geo.php:389
993
  msgid "Argentina"
994
  msgstr "Argentina"
995
 
996
+ #: inc/rules/class-popup-rule-geo.php:390
997
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:390
998
+ #: release/popover/inc/rules/class-popup-rule-geo.php:390
999
  msgid "Armenia"
1000
  msgstr "Armenia"
1001
 
1002
+ #: inc/rules/class-popup-rule-geo.php:391
1003
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:391
1004
+ #: release/popover/inc/rules/class-popup-rule-geo.php:391
1005
  msgid "Aruba"
1006
  msgstr "Aruba"
1007
 
1008
+ #: inc/rules/class-popup-rule-geo.php:392
1009
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:392
1010
+ #: release/popover/inc/rules/class-popup-rule-geo.php:392
1011
  msgid "Austria"
1012
  msgstr "Austria"
1013
 
1014
+ #: inc/rules/class-popup-rule-geo.php:393
1015
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:393
1016
+ #: release/popover/inc/rules/class-popup-rule-geo.php:393
1017
  msgid "Azerbaijan"
1018
  msgstr "Azerbaijan"
1019
 
1020
+ #: inc/rules/class-popup-rule-geo.php:394
1021
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:394
1022
+ #: release/popover/inc/rules/class-popup-rule-geo.php:394
1023
  msgid "Bahamas"
1024
  msgstr "Bahamas"
1025
 
1026
+ #: inc/rules/class-popup-rule-geo.php:395
1027
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:395
1028
+ #: release/popover/inc/rules/class-popup-rule-geo.php:395
1029
  msgid "Bahrain"
1030
  msgstr "Bahrain"
1031
 
1032
+ #: inc/rules/class-popup-rule-geo.php:396
1033
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:396
1034
+ #: release/popover/inc/rules/class-popup-rule-geo.php:396
1035
  msgid "Bangladesh"
1036
  msgstr "Bangladesh"
1037
 
1038
+ #: inc/rules/class-popup-rule-geo.php:397
1039
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:397
1040
+ #: release/popover/inc/rules/class-popup-rule-geo.php:397
1041
  msgid "Barbados"
1042
  msgstr "Barbados"
1043
 
1044
+ #: inc/rules/class-popup-rule-geo.php:398
1045
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:398
1046
+ #: release/popover/inc/rules/class-popup-rule-geo.php:398
1047
  msgid "Belarus"
1048
  msgstr "Belarus"
1049
 
1050
+ #: inc/rules/class-popup-rule-geo.php:399
1051
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:399
1052
+ #: release/popover/inc/rules/class-popup-rule-geo.php:399
1053
  msgid "Belgium"
1054
  msgstr "Belgium"
1055
 
1056
+ #: inc/rules/class-popup-rule-geo.php:400
1057
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:400
1058
+ #: release/popover/inc/rules/class-popup-rule-geo.php:400
1059
  msgid "Belize"
1060
  msgstr "Belize"
1061
 
1062
+ #: inc/rules/class-popup-rule-geo.php:401
1063
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:401
1064
+ #: release/popover/inc/rules/class-popup-rule-geo.php:401
1065
  msgid "Benin"
1066
  msgstr "Benin"
1067
 
1068
+ #: inc/rules/class-popup-rule-geo.php:402
1069
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:402
1070
+ #: release/popover/inc/rules/class-popup-rule-geo.php:402
1071
  msgid "Bermuda"
1072
  msgstr "Bermuda"
1073
 
1074
+ #: inc/rules/class-popup-rule-geo.php:403
1075
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:403
1076
+ #: release/popover/inc/rules/class-popup-rule-geo.php:403
1077
  msgid "Bhutan"
1078
  msgstr "Bhutan"
1079
 
1080
+ #: inc/rules/class-popup-rule-geo.php:404
1081
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:404
1082
+ #: release/popover/inc/rules/class-popup-rule-geo.php:404
1083
  msgid "Bolivia"
1084
  msgstr "Bolivia"
1085
 
1086
+ #: inc/rules/class-popup-rule-geo.php:405
1087
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:405
1088
+ #: release/popover/inc/rules/class-popup-rule-geo.php:405
1089
  msgid "Bosnia/Hercegovina"
1090
  msgstr "Bosnia/Hercegovina"
1091
 
1092
+ #: inc/rules/class-popup-rule-geo.php:406
1093
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:406
1094
+ #: release/popover/inc/rules/class-popup-rule-geo.php:406
1095
  msgid "Botswana"
1096
  msgstr "Botswana"
1097
 
1098
+ #: inc/rules/class-popup-rule-geo.php:407
1099
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:407
1100
+ #: release/popover/inc/rules/class-popup-rule-geo.php:407
1101
  msgid "Bouvet Island"
1102
  msgstr "Bouvet Island"
1103
 
1104
+ #: inc/rules/class-popup-rule-geo.php:408
1105
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:408
1106
+ #: release/popover/inc/rules/class-popup-rule-geo.php:408
1107
  msgid "Brazil"
1108
  msgstr "Brazil"
1109
 
1110
+ #: inc/rules/class-popup-rule-geo.php:409
1111
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:409
1112
+ #: release/popover/inc/rules/class-popup-rule-geo.php:409
1113
  msgid "British Indian Ocean Territory"
1114
  msgstr "British Indian Ocean Territory"
1115
 
1116
+ #: inc/rules/class-popup-rule-geo.php:410
1117
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:410
1118
+ #: release/popover/inc/rules/class-popup-rule-geo.php:410
1119
  msgid "Brunei Darussalam"
1120
  msgstr "Brunei Darussalam"
1121
 
1122
+ #: inc/rules/class-popup-rule-geo.php:411
1123
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:411
1124
+ #: release/popover/inc/rules/class-popup-rule-geo.php:411
1125
  msgid "Bulgaria"
1126
  msgstr "Bulgaria"
1127
 
1128
+ #: inc/rules/class-popup-rule-geo.php:412
1129
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:412
1130
+ #: release/popover/inc/rules/class-popup-rule-geo.php:412
1131
  msgid "Burkina Faso"
1132
  msgstr "Burkina Faso"
1133
 
1134
+ #: inc/rules/class-popup-rule-geo.php:413
1135
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:413
1136
+ #: release/popover/inc/rules/class-popup-rule-geo.php:413
1137
  msgid "Burundi"
1138
  msgstr "Burundi"
1139
 
1140
+ #: inc/rules/class-popup-rule-geo.php:414
1141
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:414
1142
+ #: release/popover/inc/rules/class-popup-rule-geo.php:414
1143
  msgid "Cambodia"
1144
  msgstr "Cambodia"
1145
 
1146
+ #: inc/rules/class-popup-rule-geo.php:415
1147
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:415
1148
+ #: release/popover/inc/rules/class-popup-rule-geo.php:415
1149
  msgid "Cameroon"
1150
  msgstr "Cameroon"
1151
 
1152
+ #: inc/rules/class-popup-rule-geo.php:416
1153
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:416
1154
+ #: release/popover/inc/rules/class-popup-rule-geo.php:416
1155
  msgid "Canada"
1156
  msgstr "Canada"
1157
 
1158
+ #: inc/rules/class-popup-rule-geo.php:417
1159
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:417
1160
+ #: release/popover/inc/rules/class-popup-rule-geo.php:417
1161
  msgid "Cape Verde"
1162
  msgstr "Cape Verde"
1163
 
1164
+ #: inc/rules/class-popup-rule-geo.php:418
1165
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:418
1166
+ #: release/popover/inc/rules/class-popup-rule-geo.php:418
1167
  msgid "Cayman Is"
1168
  msgstr "Cayman Is"
1169
 
1170
+ #: inc/rules/class-popup-rule-geo.php:419
1171
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:419
1172
+ #: release/popover/inc/rules/class-popup-rule-geo.php:419
1173
  msgid "Central African Republic"
1174
  msgstr "Central African Republic"
1175
 
1176
+ #: inc/rules/class-popup-rule-geo.php:420
1177
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:420
1178
+ #: release/popover/inc/rules/class-popup-rule-geo.php:420
1179
  msgid "Chad"
1180
  msgstr "Chad"
1181
 
1182
+ #: inc/rules/class-popup-rule-geo.php:421
1183
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:421
1184
+ #: release/popover/inc/rules/class-popup-rule-geo.php:421
1185
  msgid "Chile"
1186
  msgstr "Chile"
1187
 
1188
+ #: inc/rules/class-popup-rule-geo.php:422
1189
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:422
1190
+ #: release/popover/inc/rules/class-popup-rule-geo.php:422
1191
  msgid "China, People's Republic of"
1192
  msgstr "China, People's Republic of"
1193
 
1194
+ #: inc/rules/class-popup-rule-geo.php:423
1195
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:423
1196
+ #: release/popover/inc/rules/class-popup-rule-geo.php:423
1197
  msgid "Christmas Island"
1198
  msgstr "Christmas Island"
1199
 
1200
+ #: inc/rules/class-popup-rule-geo.php:424
1201
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:424
1202
+ #: release/popover/inc/rules/class-popup-rule-geo.php:424
1203
  msgid "Cocos Islands"
1204
  msgstr "Cocos Islands"
1205
 
1206
+ #: inc/rules/class-popup-rule-geo.php:425
1207
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:425
1208
+ #: release/popover/inc/rules/class-popup-rule-geo.php:425
1209
  msgid "Colombia"
1210
  msgstr "Colombia"
1211
 
1212
+ #: inc/rules/class-popup-rule-geo.php:426
1213
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:426
1214
+ #: release/popover/inc/rules/class-popup-rule-geo.php:426
1215
  msgid "Comoros"
1216
  msgstr "Comoros"
1217
 
1218
+ #: inc/rules/class-popup-rule-geo.php:427
1219
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:427
1220
+ #: release/popover/inc/rules/class-popup-rule-geo.php:427
1221
  msgid "Congo"
1222
  msgstr "Congo"
1223
 
1224
+ #: inc/rules/class-popup-rule-geo.php:428
1225
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:428
1226
+ #: release/popover/inc/rules/class-popup-rule-geo.php:428
1227
  msgid "Congo, Democratic Republic"
1228
  msgstr "Congo, Democratic Republic"
1229
 
1230
+ #: inc/rules/class-popup-rule-geo.php:429
1231
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:429
1232
+ #: release/popover/inc/rules/class-popup-rule-geo.php:429
1233
  msgid "Cook Islands"
1234
  msgstr "Cook Islands"
1235
 
1236
+ #: inc/rules/class-popup-rule-geo.php:430
1237
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:430
1238
+ #: release/popover/inc/rules/class-popup-rule-geo.php:430
1239
  msgid "Costa Rica"
1240
  msgstr "Costa Rica"
1241
 
1242
+ #: inc/rules/class-popup-rule-geo.php:431
1243
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:431
1244
+ #: release/popover/inc/rules/class-popup-rule-geo.php:431
1245
  msgid "Cote d'Ivoire"
1246
  msgstr "Cote d'Ivoire"
1247
 
1248
+ #: inc/rules/class-popup-rule-geo.php:432
1249
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:432
1250
+ #: release/popover/inc/rules/class-popup-rule-geo.php:432
1251
  msgid "Croatia"
1252
  msgstr "Croatia"
1253
 
1254
+ #: inc/rules/class-popup-rule-geo.php:433
1255
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:433
1256
+ #: release/popover/inc/rules/class-popup-rule-geo.php:433
1257
  msgid "Cuba"
1258
  msgstr "Cuba"
1259
 
1260
+ #: inc/rules/class-popup-rule-geo.php:434
1261
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:434
1262
+ #: release/popover/inc/rules/class-popup-rule-geo.php:434
1263
  msgid "Cyprus"
1264
  msgstr "Cyprus"
1265
 
1266
+ #: inc/rules/class-popup-rule-geo.php:435
1267
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:435
1268
+ #: release/popover/inc/rules/class-popup-rule-geo.php:435
1269
  msgid "Czech Republic"
1270
  msgstr "Czech Republic"
1271
 
1272
+ #: inc/rules/class-popup-rule-geo.php:436
1273
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:436
1274
+ #: release/popover/inc/rules/class-popup-rule-geo.php:436
1275
  msgid "Denmark"
1276
  msgstr "Denmark"
1277
 
1278
+ #: inc/rules/class-popup-rule-geo.php:437
1279
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:437
1280
+ #: release/popover/inc/rules/class-popup-rule-geo.php:437
1281
  msgid "Djibouti"
1282
  msgstr "Djibouti"
1283
 
1284
+ #: inc/rules/class-popup-rule-geo.php:438
1285
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:438
1286
+ #: release/popover/inc/rules/class-popup-rule-geo.php:438
1287
  msgid "Dominica"
1288
  msgstr "Dominica"
1289
 
1290
+ #: inc/rules/class-popup-rule-geo.php:439
1291
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:439
1292
+ #: release/popover/inc/rules/class-popup-rule-geo.php:439
1293
  msgid "Dominican Republic"
1294
  msgstr "Dominican Republic"
1295
 
1296
+ #: inc/rules/class-popup-rule-geo.php:440
1297
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:440
1298
+ #: release/popover/inc/rules/class-popup-rule-geo.php:440
1299
  msgid "East Timor"
1300
  msgstr "East Timor"
1301
 
1302
+ #: inc/rules/class-popup-rule-geo.php:441
1303
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:441
1304
+ #: release/popover/inc/rules/class-popup-rule-geo.php:441
1305
  msgid "Ecuador"
1306
  msgstr "Ecuador"
1307
 
1308
+ #: inc/rules/class-popup-rule-geo.php:442
1309
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:442
1310
+ #: release/popover/inc/rules/class-popup-rule-geo.php:442
1311
  msgid "Egypt"
1312
  msgstr "Egypt"
1313
 
1314
+ #: inc/rules/class-popup-rule-geo.php:443
1315
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:443
1316
+ #: release/popover/inc/rules/class-popup-rule-geo.php:443
1317
  msgid "El Salvador"
1318
  msgstr "El Salvador"
1319
 
1320
+ #: inc/rules/class-popup-rule-geo.php:444
1321
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:444
1322
+ #: release/popover/inc/rules/class-popup-rule-geo.php:444
1323
  msgid "Equatorial Guinea"
1324
  msgstr "Equatorial Guinea"
1325
 
1326
+ #: inc/rules/class-popup-rule-geo.php:445
1327
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:445
1328
+ #: release/popover/inc/rules/class-popup-rule-geo.php:445
1329
  msgid "Eritrea"
1330
  msgstr "Eritrea"
1331
 
1332
+ #: inc/rules/class-popup-rule-geo.php:446
1333
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:446
1334
+ #: release/popover/inc/rules/class-popup-rule-geo.php:446
1335
  msgid "Estonia"
1336
  msgstr "Estonia"
1337
 
1338
+ #: inc/rules/class-popup-rule-geo.php:447
1339
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:447
1340
+ #: release/popover/inc/rules/class-popup-rule-geo.php:447
1341
  msgid "Ethiopia"
1342
  msgstr "Ethiopia"
1343
 
1344
+ #: inc/rules/class-popup-rule-geo.php:448
1345
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:448
1346
+ #: release/popover/inc/rules/class-popup-rule-geo.php:448
1347
  msgid "Falkland Islands"
1348
  msgstr "Falkland Islands"
1349
 
1350
+ #: inc/rules/class-popup-rule-geo.php:449
1351
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:449
1352
+ #: release/popover/inc/rules/class-popup-rule-geo.php:449
1353
  msgid "Faroe Islands"
1354
  msgstr "Faroe Islands"
1355
 
1356
+ #: inc/rules/class-popup-rule-geo.php:450
1357
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:450
1358
+ #: release/popover/inc/rules/class-popup-rule-geo.php:450
1359
  msgid "Fiji"
1360
  msgstr "Fiji"
1361
 
1362
+ #: inc/rules/class-popup-rule-geo.php:451
1363
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:451
1364
+ #: release/popover/inc/rules/class-popup-rule-geo.php:451
1365
  msgid "Finland"
1366
  msgstr "Finland"
1367
 
1368
+ #: inc/rules/class-popup-rule-geo.php:452
1369
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:452
1370
+ #: release/popover/inc/rules/class-popup-rule-geo.php:452
1371
  msgid "France"
1372
  msgstr "France"
1373
 
1374
+ #: inc/rules/class-popup-rule-geo.php:453
1375
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:453
1376
+ #: release/popover/inc/rules/class-popup-rule-geo.php:453
1377
  msgid "France, Metropolitan"
1378
  msgstr "France, Metropolitan"
1379
 
1380
+ #: inc/rules/class-popup-rule-geo.php:454
1381
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:454
1382
+ #: release/popover/inc/rules/class-popup-rule-geo.php:454
1383
  msgid "French Guiana"
1384
  msgstr "French Guiana"
1385
 
1386
+ #: inc/rules/class-popup-rule-geo.php:455
1387
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:455
1388
+ #: release/popover/inc/rules/class-popup-rule-geo.php:455
1389
  msgid "French Polynesia"
1390
  msgstr "French Polynesia"
1391
 
1392
+ #: inc/rules/class-popup-rule-geo.php:456
1393
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:456
1394
+ #: release/popover/inc/rules/class-popup-rule-geo.php:456
1395
  msgid "French South Territories"
1396
  msgstr "French South Territories"
1397
 
1398
+ #: inc/rules/class-popup-rule-geo.php:457
1399
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:457
1400
+ #: release/popover/inc/rules/class-popup-rule-geo.php:457
1401
  msgid "Gabon"
1402
  msgstr "Gabon"
1403
 
1404
+ #: inc/rules/class-popup-rule-geo.php:458
1405
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:458
1406
+ #: release/popover/inc/rules/class-popup-rule-geo.php:458
1407
  msgid "Gambia"
1408
  msgstr "Gambia"
1409
 
1410
+ #: inc/rules/class-popup-rule-geo.php:459
1411
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:459
1412
+ #: release/popover/inc/rules/class-popup-rule-geo.php:459
1413
  msgid "Georgia"
1414
  msgstr "Georgia"
1415
 
1416
+ #: inc/rules/class-popup-rule-geo.php:460
1417
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:460
1418
+ #: release/popover/inc/rules/class-popup-rule-geo.php:460
1419
  msgid "Germany"
1420
  msgstr "Germany"
1421
 
1422
+ #: inc/rules/class-popup-rule-geo.php:461
1423
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:461
1424
+ #: release/popover/inc/rules/class-popup-rule-geo.php:461
1425
  msgid "Ghana"
1426
  msgstr "Ghana"
1427
 
1428
+ #: inc/rules/class-popup-rule-geo.php:462
1429
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:462
1430
+ #: release/popover/inc/rules/class-popup-rule-geo.php:462
1431
  msgid "Gibraltar"
1432
  msgstr "Gibraltar"
1433
 
1434
+ #: inc/rules/class-popup-rule-geo.php:463
1435
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:463
1436
+ #: release/popover/inc/rules/class-popup-rule-geo.php:463
1437
  msgid "Greece"
1438
  msgstr "Greece"
1439
 
1440
+ #: inc/rules/class-popup-rule-geo.php:464
1441
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:464
1442
+ #: release/popover/inc/rules/class-popup-rule-geo.php:464
1443
  msgid "Greenland"
1444
  msgstr "Greenland"
1445
 
1446
+ #: inc/rules/class-popup-rule-geo.php:465
1447
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:465
1448
+ #: release/popover/inc/rules/class-popup-rule-geo.php:465
1449
  msgid "Grenada"
1450
  msgstr "Grenada"
1451
 
1452
+ #: inc/rules/class-popup-rule-geo.php:466
1453
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:466
1454
+ #: release/popover/inc/rules/class-popup-rule-geo.php:466
1455
  msgid "Guadeloupe"
1456
  msgstr "Guadeloupe"
1457
 
1458
+ #: inc/rules/class-popup-rule-geo.php:467
1459
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:467
1460
+ #: release/popover/inc/rules/class-popup-rule-geo.php:467
1461
  msgid "Guam"
1462
  msgstr "Guam"
1463
 
1464
+ #: inc/rules/class-popup-rule-geo.php:468
1465
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:468
1466
+ #: release/popover/inc/rules/class-popup-rule-geo.php:468
1467
  msgid "Guatemala"
1468
  msgstr "Guatemala"
1469
 
1470
+ #: inc/rules/class-popup-rule-geo.php:469
1471
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:469
1472
+ #: release/popover/inc/rules/class-popup-rule-geo.php:469
1473
  msgid "Guinea"
1474
  msgstr "Guinea"
1475
 
1476
+ #: inc/rules/class-popup-rule-geo.php:470
1477
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:470
1478
+ #: release/popover/inc/rules/class-popup-rule-geo.php:470
1479
  msgid "Guinea-Bissau"
1480
  msgstr "Guinea-Bissau"
1481
 
1482
+ #: inc/rules/class-popup-rule-geo.php:471
1483
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:471
1484
+ #: release/popover/inc/rules/class-popup-rule-geo.php:471
1485
  msgid "Guyana"
1486
  msgstr "Guyana"
1487
 
1488
+ #: inc/rules/class-popup-rule-geo.php:472
1489
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:472
1490
+ #: release/popover/inc/rules/class-popup-rule-geo.php:472
1491
  msgid "Haiti"
1492
  msgstr "Haiti"
1493
 
1494
+ #: inc/rules/class-popup-rule-geo.php:473
1495
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:473
1496
+ #: release/popover/inc/rules/class-popup-rule-geo.php:473
1497
  msgid "Heard Island And Mcdonald Island"
1498
  msgstr "Heard Island And Mcdonald Island"
1499
 
1500
+ #: inc/rules/class-popup-rule-geo.php:474
1501
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:474
1502
+ #: release/popover/inc/rules/class-popup-rule-geo.php:474
1503
  msgid "Honduras"
1504
  msgstr "Honduras"
1505
 
1506
+ #: inc/rules/class-popup-rule-geo.php:475
1507
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:475
1508
+ #: release/popover/inc/rules/class-popup-rule-geo.php:475
1509
  msgid "Hong Kong"
1510
  msgstr "Hong Kong"
1511
 
1512
+ #: inc/rules/class-popup-rule-geo.php:476
1513
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:476
1514
+ #: release/popover/inc/rules/class-popup-rule-geo.php:476
1515
  msgid "Hungary"
1516
  msgstr "Hungary"
1517
 
1518
+ #: inc/rules/class-popup-rule-geo.php:477
1519
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:477
1520
+ #: release/popover/inc/rules/class-popup-rule-geo.php:477
1521
  msgid "Iceland"
1522
  msgstr "Iceland"
1523
 
1524
+ #: inc/rules/class-popup-rule-geo.php:478
1525
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:478
1526
+ #: release/popover/inc/rules/class-popup-rule-geo.php:478
1527
  msgid "India"
1528
  msgstr "India"
1529
 
1530
+ #: inc/rules/class-popup-rule-geo.php:479
1531
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:479
1532
+ #: release/popover/inc/rules/class-popup-rule-geo.php:479
1533
  msgid "Indonesia"
1534
  msgstr "Indonesia"
1535
 
1536
+ #: inc/rules/class-popup-rule-geo.php:480
1537
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:480
1538
+ #: release/popover/inc/rules/class-popup-rule-geo.php:480
1539
  msgid "Iran"
1540
  msgstr "Iran"
1541
 
1542
+ #: inc/rules/class-popup-rule-geo.php:481
1543
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:481
1544
+ #: release/popover/inc/rules/class-popup-rule-geo.php:481
1545
  msgid "Iraq"
1546
  msgstr "Iraq"
1547
 
1548
+ #: inc/rules/class-popup-rule-geo.php:482
1549
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:482
1550
+ #: release/popover/inc/rules/class-popup-rule-geo.php:482
1551
  msgid "Ireland"
1552
  msgstr "Ireland"
1553
 
1554
+ #: inc/rules/class-popup-rule-geo.php:483
1555
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:483
1556
+ #: release/popover/inc/rules/class-popup-rule-geo.php:483
1557
  msgid "Israel"
1558
  msgstr "Israel"
1559
 
1560
+ #: inc/rules/class-popup-rule-geo.php:484
1561
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:484
1562
+ #: release/popover/inc/rules/class-popup-rule-geo.php:484
1563
  msgid "Italy"
1564
  msgstr "Italy"
1565
 
1566
+ #: inc/rules/class-popup-rule-geo.php:485
1567
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:485
1568
+ #: release/popover/inc/rules/class-popup-rule-geo.php:485
1569
  msgid "Jamaica"
1570
  msgstr "Jamaica"
1571
 
1572
+ #: inc/rules/class-popup-rule-geo.php:486
1573
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:486
1574
+ #: release/popover/inc/rules/class-popup-rule-geo.php:486
1575
  msgid "Japan"
1576
  msgstr "Japan"
1577
 
1578
+ #: inc/rules/class-popup-rule-geo.php:487
1579
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:487
1580
+ #: release/popover/inc/rules/class-popup-rule-geo.php:487
1581
  msgid "Johnston Island"
1582
  msgstr "Johnston Island"
1583
 
1584
+ #: inc/rules/class-popup-rule-geo.php:488
1585
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:488
1586
+ #: release/popover/inc/rules/class-popup-rule-geo.php:488
1587
  msgid "Jordan"
1588
  msgstr "Jordan"
1589
 
1590
+ #: inc/rules/class-popup-rule-geo.php:489
1591
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:489
1592
+ #: release/popover/inc/rules/class-popup-rule-geo.php:489
1593
  msgid "Kazakhstan"
1594
  msgstr "Kazakhstan"
1595
 
1596
+ #: inc/rules/class-popup-rule-geo.php:490
1597
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:490
1598
+ #: release/popover/inc/rules/class-popup-rule-geo.php:490
1599
  msgid "Kenya"
1600
  msgstr "Kenya"
1601
 
1602
+ #: inc/rules/class-popup-rule-geo.php:491
1603
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:491
1604
+ #: release/popover/inc/rules/class-popup-rule-geo.php:491
1605
  msgid "Kiribati"
1606
  msgstr "Kiribati"
1607
 
1608
+ #: inc/rules/class-popup-rule-geo.php:492
1609
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:492
1610
+ #: release/popover/inc/rules/class-popup-rule-geo.php:492
1611
  msgid "Korea, Democratic Peoples Republic"
1612
  msgstr "Korea, Democratic Peoples Republic"
1613
 
1614
+ #: inc/rules/class-popup-rule-geo.php:493
1615
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:493
1616
+ #: release/popover/inc/rules/class-popup-rule-geo.php:493
1617
  msgid "Korea, Republic of"
1618
  msgstr "Korea, Republic of"
1619
 
1620
+ #: inc/rules/class-popup-rule-geo.php:494
1621
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:494
1622
+ #: release/popover/inc/rules/class-popup-rule-geo.php:494
1623
  msgid "Kuwait"
1624
  msgstr "Kuwait"
1625
 
1626
+ #: inc/rules/class-popup-rule-geo.php:495
1627
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:495
1628
+ #: release/popover/inc/rules/class-popup-rule-geo.php:495
1629
  msgid "Kyrgyzstan"
1630
  msgstr "Kyrgyzstan"
1631
 
1632
+ #: inc/rules/class-popup-rule-geo.php:496
1633
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:496
1634
+ #: release/popover/inc/rules/class-popup-rule-geo.php:496
1635
  msgid "Lao People's Democratic Republic"
1636
  msgstr "Lao People's Democratic Republic"
1637
 
1638
+ #: inc/rules/class-popup-rule-geo.php:497
1639
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:497
1640
+ #: release/popover/inc/rules/class-popup-rule-geo.php:497
1641
  msgid "Latvia"
1642
  msgstr "Latvia"
1643
 
1644
+ #: inc/rules/class-popup-rule-geo.php:498
1645
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:498
1646
+ #: release/popover/inc/rules/class-popup-rule-geo.php:498
1647
  msgid "Lebanon"
1648
  msgstr "Lebanon"
1649
 
1650
+ #: inc/rules/class-popup-rule-geo.php:499
1651
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:499
1652
+ #: release/popover/inc/rules/class-popup-rule-geo.php:499
1653
  msgid "Lesotho"
1654
  msgstr "Lesotho"
1655
 
1656
+ #: inc/rules/class-popup-rule-geo.php:500
1657
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:500
1658
+ #: release/popover/inc/rules/class-popup-rule-geo.php:500
1659
  msgid "Liberia"
1660
  msgstr "Liberia"
1661
 
1662
+ #: inc/rules/class-popup-rule-geo.php:501
1663
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:501
1664
+ #: release/popover/inc/rules/class-popup-rule-geo.php:501
1665
  msgid "Libyan Arab Jamahiriya"
1666
  msgstr "Libyan Arab Jamahiriya"
1667
 
1668
+ #: inc/rules/class-popup-rule-geo.php:502
1669
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:502
1670
+ #: release/popover/inc/rules/class-popup-rule-geo.php:502
1671
  msgid "Liechtenstein"
1672
  msgstr "Liechtenstein"
1673
 
1674
+ #: inc/rules/class-popup-rule-geo.php:503
1675
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:503
1676
+ #: release/popover/inc/rules/class-popup-rule-geo.php:503
1677
  msgid "Lithuania"
1678
  msgstr "Lithuania"
1679
 
1680
+ #: inc/rules/class-popup-rule-geo.php:504
1681
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:504
1682
+ #: release/popover/inc/rules/class-popup-rule-geo.php:504
1683
  msgid "Luxembourg"
1684
  msgstr "Luxembourg"
1685
 
1686
+ #: inc/rules/class-popup-rule-geo.php:505
1687
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:505
1688
+ #: release/popover/inc/rules/class-popup-rule-geo.php:505
1689
  msgid "Macau"
1690
  msgstr "Macau"
1691
 
1692
+ #: inc/rules/class-popup-rule-geo.php:506
1693
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:506
1694
+ #: release/popover/inc/rules/class-popup-rule-geo.php:506
1695
  msgid "Macedonia"
1696
  msgstr "Macedonia"
1697
 
1698
+ #: inc/rules/class-popup-rule-geo.php:507
1699
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:507
1700
+ #: release/popover/inc/rules/class-popup-rule-geo.php:507
1701
  msgid "Madagascar"
1702
  msgstr "Madagascar"
1703
 
1704
+ #: inc/rules/class-popup-rule-geo.php:508
1705
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:508
1706
+ #: release/popover/inc/rules/class-popup-rule-geo.php:508
1707
  msgid "Malawi"
1708
  msgstr "Malawi"
1709
 
1710
+ #: inc/rules/class-popup-rule-geo.php:509
1711
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:509
1712
+ #: release/popover/inc/rules/class-popup-rule-geo.php:509
1713
  msgid "Malaysia"
1714
  msgstr "Malaysia"
1715
 
1716
+ #: inc/rules/class-popup-rule-geo.php:510
1717
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:510
1718
+ #: release/popover/inc/rules/class-popup-rule-geo.php:510
1719
  msgid "Maldives"
1720
  msgstr "Maldives"
1721
 
1722
+ #: inc/rules/class-popup-rule-geo.php:511
1723
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:511
1724
+ #: release/popover/inc/rules/class-popup-rule-geo.php:511
1725
  msgid "Mali"
1726
  msgstr "Mali"
1727
 
1728
+ #: inc/rules/class-popup-rule-geo.php:512
1729
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:512
1730
+ #: release/popover/inc/rules/class-popup-rule-geo.php:512
1731
  msgid "Malta"
1732
  msgstr "Malta"
1733
 
1734
+ #: inc/rules/class-popup-rule-geo.php:513
1735
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:513
1736
+ #: release/popover/inc/rules/class-popup-rule-geo.php:513
1737
  msgid "Marshall Islands"
1738
  msgstr "Marshall Islands"
1739
 
1740
+ #: inc/rules/class-popup-rule-geo.php:514
1741
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:514
1742
+ #: release/popover/inc/rules/class-popup-rule-geo.php:514
1743
  msgid "Martinique"
1744
  msgstr "Martinique"
1745
 
1746
+ #: inc/rules/class-popup-rule-geo.php:515
1747
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:515
1748
+ #: release/popover/inc/rules/class-popup-rule-geo.php:515
1749
  msgid "Mauritania"
1750
  msgstr "Mauritania"
1751
 
1752
+ #: inc/rules/class-popup-rule-geo.php:516
1753
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:516
1754
+ #: release/popover/inc/rules/class-popup-rule-geo.php:516
1755
  msgid "Mauritius"
1756
  msgstr "Mauritius"
1757
 
1758
+ #: inc/rules/class-popup-rule-geo.php:517
1759
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:517
1760
+ #: release/popover/inc/rules/class-popup-rule-geo.php:517
1761
  msgid "Mayotte"
1762
  msgstr "Mayotte"
1763
 
1764
+ #: inc/rules/class-popup-rule-geo.php:518
1765
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:518
1766
+ #: release/popover/inc/rules/class-popup-rule-geo.php:518
1767
  msgid "Mexico"
1768
  msgstr "Mexico"
1769
 
1770
+ #: inc/rules/class-popup-rule-geo.php:519
1771
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:519
1772
+ #: release/popover/inc/rules/class-popup-rule-geo.php:519
1773
  msgid "Micronesia"
1774
  msgstr "Micronesia"
1775
 
1776
+ #: inc/rules/class-popup-rule-geo.php:520
1777
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:520
1778
+ #: release/popover/inc/rules/class-popup-rule-geo.php:520
1779
  msgid "Moldavia"
1780
  msgstr "Moldavia"
1781
 
1782
+ #: inc/rules/class-popup-rule-geo.php:521
1783
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:521
1784
+ #: release/popover/inc/rules/class-popup-rule-geo.php:521
1785
  msgid "Monaco"
1786
  msgstr "Monaco"
1787
 
1788
+ #: inc/rules/class-popup-rule-geo.php:522
1789
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:522
1790
+ #: release/popover/inc/rules/class-popup-rule-geo.php:522
1791
  msgid "Mongolia"
1792
  msgstr "Mongolia"
1793
 
1794
+ #: inc/rules/class-popup-rule-geo.php:523
1795
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:523
1796
+ #: release/popover/inc/rules/class-popup-rule-geo.php:523
1797
  msgid "Montserrat"
1798
  msgstr "Montserrat"
1799
 
1800
+ #: inc/rules/class-popup-rule-geo.php:524
1801
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:524
1802
+ #: release/popover/inc/rules/class-popup-rule-geo.php:524
1803
  msgid "Morocco"
1804
  msgstr "Morocco"
1805
 
1806
+ #: inc/rules/class-popup-rule-geo.php:525
1807
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:525
1808
+ #: release/popover/inc/rules/class-popup-rule-geo.php:525
1809
  msgid "Mozambique"
1810
  msgstr "Mozambique"
1811
 
1812
+ #: inc/rules/class-popup-rule-geo.php:526
1813
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:526
1814
+ #: release/popover/inc/rules/class-popup-rule-geo.php:526
1815
  msgid "Union Of Myanmar"
1816
  msgstr "Union Of Myanmar"
1817
 
1818
+ #: inc/rules/class-popup-rule-geo.php:527
1819
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:527
1820
+ #: release/popover/inc/rules/class-popup-rule-geo.php:527
1821
  msgid "Namibia"
1822
  msgstr "Namibia"
1823
 
1824
+ #: inc/rules/class-popup-rule-geo.php:528
1825
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:528
1826
+ #: release/popover/inc/rules/class-popup-rule-geo.php:528
1827
  msgid "Nauru Island"
1828
  msgstr "Nauru Island"
1829
 
1830
+ #: inc/rules/class-popup-rule-geo.php:529
1831
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:529
1832
+ #: release/popover/inc/rules/class-popup-rule-geo.php:529
1833
  msgid "Nepal"
1834
  msgstr "Nepal"
1835
 
1836
+ #: inc/rules/class-popup-rule-geo.php:530
1837
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:530
1838
+ #: release/popover/inc/rules/class-popup-rule-geo.php:530
1839
  msgid "Netherlands"
1840
  msgstr "Netherlands"
1841
 
1842
+ #: inc/rules/class-popup-rule-geo.php:531
1843
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:531
1844
+ #: release/popover/inc/rules/class-popup-rule-geo.php:531
1845
  msgid "Netherlands Antilles"
1846
  msgstr "Netherlands Antilles"
1847
 
1848
+ #: inc/rules/class-popup-rule-geo.php:532
1849
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:532
1850
+ #: release/popover/inc/rules/class-popup-rule-geo.php:532
1851
  msgid "New Caledonia"
1852
  msgstr "New Caledonia"
1853
 
1854
+ #: inc/rules/class-popup-rule-geo.php:533
1855
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:533
1856
+ #: release/popover/inc/rules/class-popup-rule-geo.php:533
1857
  msgid "New Zealand"
1858
  msgstr "New Zealand"
1859
 
1860
+ #: inc/rules/class-popup-rule-geo.php:534
1861
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:534
1862
+ #: release/popover/inc/rules/class-popup-rule-geo.php:534
1863
  msgid "Nicaragua"
1864
  msgstr "Nicaragua"
1865
 
1866
+ #: inc/rules/class-popup-rule-geo.php:535
1867
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:535
1868
+ #: release/popover/inc/rules/class-popup-rule-geo.php:535
1869
  msgid "Niger"
1870
  msgstr "Niger"
1871
 
1872
+ #: inc/rules/class-popup-rule-geo.php:536
1873
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:536
1874
+ #: release/popover/inc/rules/class-popup-rule-geo.php:536
1875
  msgid "Nigeria"
1876
  msgstr "Nigeria"
1877
 
1878
+ #: inc/rules/class-popup-rule-geo.php:537
1879
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:537
1880
+ #: release/popover/inc/rules/class-popup-rule-geo.php:537
1881
  msgid "Niue"
1882
  msgstr "Niue"
1883
 
1884
+ #: inc/rules/class-popup-rule-geo.php:538
1885
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:538
1886
+ #: release/popover/inc/rules/class-popup-rule-geo.php:538
1887
  msgid "Norfolk Island"
1888
  msgstr "Norfolk Island"
1889
 
1890
+ #: inc/rules/class-popup-rule-geo.php:539
1891
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:539
1892
+ #: release/popover/inc/rules/class-popup-rule-geo.php:539
1893
  msgid "Mariana Islands, Northern"
1894
  msgstr "Mariana Islands, Northern"
1895
 
1896
+ #: inc/rules/class-popup-rule-geo.php:540
1897
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:540
1898
+ #: release/popover/inc/rules/class-popup-rule-geo.php:540
1899
  msgid "Norway"
1900
  msgstr "Norway"
1901
 
1902
+ #: inc/rules/class-popup-rule-geo.php:541
1903
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:541
1904
+ #: release/popover/inc/rules/class-popup-rule-geo.php:541
1905
  msgid "Oman"
1906
  msgstr "Oman"
1907
 
1908
+ #: inc/rules/class-popup-rule-geo.php:542
1909
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:542
1910
+ #: release/popover/inc/rules/class-popup-rule-geo.php:542
1911
  msgid "Pakistan"
1912
  msgstr "Pakistan"
1913
 
1914
+ #: inc/rules/class-popup-rule-geo.php:543
1915
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:543
1916
+ #: release/popover/inc/rules/class-popup-rule-geo.php:543
1917
  msgid "Palau Islands"
1918
  msgstr "Palau Islands"
1919
 
1920
+ #: inc/rules/class-popup-rule-geo.php:544
1921
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:544
1922
+ #: release/popover/inc/rules/class-popup-rule-geo.php:544
1923
  msgid "Palestine"
1924
  msgstr "Palestine"
1925
 
1926
+ #: inc/rules/class-popup-rule-geo.php:545
1927
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:545
1928
+ #: release/popover/inc/rules/class-popup-rule-geo.php:545
1929
  msgid "Panama"
1930
  msgstr "Panama"
1931
 
1932
+ #: inc/rules/class-popup-rule-geo.php:546
1933
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:546
1934
+ #: release/popover/inc/rules/class-popup-rule-geo.php:546
1935
  msgid "Papua New Guinea"
1936
  msgstr "Papua New Guinea"
1937
 
1938
+ #: inc/rules/class-popup-rule-geo.php:547
1939
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:547
1940
+ #: release/popover/inc/rules/class-popup-rule-geo.php:547
1941
  msgid "Paraguay"
1942
  msgstr "Paraguay"
1943
 
1944
+ #: inc/rules/class-popup-rule-geo.php:548
1945
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:548
1946
+ #: release/popover/inc/rules/class-popup-rule-geo.php:548
1947
  msgid "Peru"
1948
  msgstr "Peru"
1949
 
1950
+ #: inc/rules/class-popup-rule-geo.php:549
1951
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:549
1952
+ #: release/popover/inc/rules/class-popup-rule-geo.php:549
1953
  msgid "Philippines"
1954
  msgstr "Philippines"
1955
 
1956
+ #: inc/rules/class-popup-rule-geo.php:550
1957
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:550
1958
+ #: release/popover/inc/rules/class-popup-rule-geo.php:550
1959
  msgid "Pitcairn"
1960
  msgstr "Pitcairn"
1961
 
1962
+ #: inc/rules/class-popup-rule-geo.php:551
1963
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:551
1964
+ #: release/popover/inc/rules/class-popup-rule-geo.php:551
1965
  msgid "Poland"
1966
  msgstr "Poland"
1967
 
1968
+ #: inc/rules/class-popup-rule-geo.php:552
1969
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:552
1970
+ #: release/popover/inc/rules/class-popup-rule-geo.php:552
1971
  msgid "Portugal"
1972
  msgstr "Portugal"
1973
 
1974
+ #: inc/rules/class-popup-rule-geo.php:553
1975
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:553
1976
+ #: release/popover/inc/rules/class-popup-rule-geo.php:553
1977
  msgid "Puerto Rico"
1978
  msgstr "Puerto Rico"
1979
 
1980
+ #: inc/rules/class-popup-rule-geo.php:554
1981
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:554
1982
+ #: release/popover/inc/rules/class-popup-rule-geo.php:554
1983
  msgid "Qatar"
1984
  msgstr "Qatar"
1985
 
1986
+ #: inc/rules/class-popup-rule-geo.php:555
1987
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:555
1988
+ #: release/popover/inc/rules/class-popup-rule-geo.php:555
1989
  msgid "Reunion Island"
1990
  msgstr "Reunion Island"
1991
 
1992
+ #: inc/rules/class-popup-rule-geo.php:556
1993
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:556
1994
+ #: release/popover/inc/rules/class-popup-rule-geo.php:556
1995
  msgid "Romania"
1996
  msgstr "Romania"
1997
 
1998
+ #: inc/rules/class-popup-rule-geo.php:557
1999
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:557
2000
+ #: release/popover/inc/rules/class-popup-rule-geo.php:557
2001
  msgid "Russian Federation"
2002
  msgstr "Russian Federation"
2003
 
2004
+ #: inc/rules/class-popup-rule-geo.php:558
2005
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:558
2006
+ #: release/popover/inc/rules/class-popup-rule-geo.php:558
2007
  msgid "Rwanda"
2008
  msgstr "Rwanda"
2009
 
2010
+ #: inc/rules/class-popup-rule-geo.php:559
2011
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:559
2012
+ #: release/popover/inc/rules/class-popup-rule-geo.php:559
2013
  msgid "Samoa"
2014
  msgstr "Samoa"
2015
 
2016
+ #: inc/rules/class-popup-rule-geo.php:560
2017
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:560
2018
+ #: release/popover/inc/rules/class-popup-rule-geo.php:560
2019
  msgid "St Helena"
2020
  msgstr "St Helena"
2021
 
2022
+ #: inc/rules/class-popup-rule-geo.php:561
2023
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:561
2024
+ #: release/popover/inc/rules/class-popup-rule-geo.php:561
2025
  msgid "St Kitts & Nevis"
2026
  msgstr "St Kitts & Nevis"
2027
 
2028
+ #: inc/rules/class-popup-rule-geo.php:562
2029
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:562
2030
+ #: release/popover/inc/rules/class-popup-rule-geo.php:562
2031
  msgid "St Lucia"
2032
  msgstr "St Lucia"
2033
 
2034
+ #: inc/rules/class-popup-rule-geo.php:563
2035
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:563
2036
+ #: release/popover/inc/rules/class-popup-rule-geo.php:563
2037
  msgid "St Pierre & Miquelon"
2038
  msgstr "St Pierre & Miquelon"
2039
 
2040
+ #: inc/rules/class-popup-rule-geo.php:564
2041
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:564
2042
+ #: release/popover/inc/rules/class-popup-rule-geo.php:564
2043
  msgid "St Vincent"
2044
  msgstr "St Vincent"
2045
 
2046
+ #: inc/rules/class-popup-rule-geo.php:565
2047
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:565
2048
+ #: release/popover/inc/rules/class-popup-rule-geo.php:565
2049
  msgid "San Marino"
2050
  msgstr "San Marino"
2051
 
2052
+ #: inc/rules/class-popup-rule-geo.php:566
2053
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:566
2054
+ #: release/popover/inc/rules/class-popup-rule-geo.php:566
2055
  msgid "Sao Tome & Principe"
2056
  msgstr "Sao Tome & Principe"
2057
 
2058
+ #: inc/rules/class-popup-rule-geo.php:567
2059
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:567
2060
+ #: release/popover/inc/rules/class-popup-rule-geo.php:567
2061
  msgid "Saudi Arabia"
2062
  msgstr "Saudi Arabia"
2063
 
2064
+ #: inc/rules/class-popup-rule-geo.php:568
2065
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:568
2066
+ #: release/popover/inc/rules/class-popup-rule-geo.php:568
2067
  msgid "Senegal"
2068
  msgstr "Senegal"
2069
 
2070
+ #: inc/rules/class-popup-rule-geo.php:569
2071
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:569
2072
+ #: release/popover/inc/rules/class-popup-rule-geo.php:569
2073
  msgid "Seychelles"
2074
  msgstr "Seychelles"
2075
 
2076
+ #: inc/rules/class-popup-rule-geo.php:570
2077
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:570
2078
+ #: release/popover/inc/rules/class-popup-rule-geo.php:570
2079
  msgid "Sierra Leone"
2080
  msgstr "Sierra Leone"
2081
 
2082
+ #: inc/rules/class-popup-rule-geo.php:571
2083
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:571
2084
+ #: release/popover/inc/rules/class-popup-rule-geo.php:571
2085
  msgid "Singapore"
2086
  msgstr "Singapore"
2087
 
2088
+ #: inc/rules/class-popup-rule-geo.php:572
2089
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:572
2090
+ #: release/popover/inc/rules/class-popup-rule-geo.php:572
2091
  msgid "Slovakia"
2092
  msgstr "Slovakia"
2093
 
2094
+ #: inc/rules/class-popup-rule-geo.php:573
2095
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:573
2096
+ #: release/popover/inc/rules/class-popup-rule-geo.php:573
2097
  msgid "Slovenia"
2098
  msgstr "Slovenia"
2099
 
2100
+ #: inc/rules/class-popup-rule-geo.php:574
2101
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:574
2102
+ #: release/popover/inc/rules/class-popup-rule-geo.php:574
2103
  msgid "Solomon Islands"
2104
  msgstr "Solomon Islands"
2105
 
2106
+ #: inc/rules/class-popup-rule-geo.php:575
2107
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:575
2108
+ #: release/popover/inc/rules/class-popup-rule-geo.php:575
2109
  msgid "Somalia"
2110
  msgstr "Somalia"
2111
 
2112
+ #: inc/rules/class-popup-rule-geo.php:576
2113
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:576
2114
+ #: release/popover/inc/rules/class-popup-rule-geo.php:576
2115
  msgid "South Africa"
2116
  msgstr "South Africa"
2117
 
2118
+ #: inc/rules/class-popup-rule-geo.php:577
2119
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:577
2120
+ #: release/popover/inc/rules/class-popup-rule-geo.php:577
2121
  msgid "South Georgia and South Sandwich"
2122
  msgstr "South Georgia and South Sandwich"
2123
 
2124
+ #: inc/rules/class-popup-rule-geo.php:578
2125
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:578
2126
+ #: release/popover/inc/rules/class-popup-rule-geo.php:578
2127
  msgid "Spain"
2128
  msgstr "Spain"
2129
 
2130
+ #: inc/rules/class-popup-rule-geo.php:579
2131
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:579
2132
+ #: release/popover/inc/rules/class-popup-rule-geo.php:579
2133
  msgid "Sri Lanka"
2134
  msgstr "Sri Lanka"
2135
 
2136
+ #: inc/rules/class-popup-rule-geo.php:580
2137
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:580
2138
+ #: release/popover/inc/rules/class-popup-rule-geo.php:580
2139
  msgid "Stateless Persons"
2140
  msgstr "Stateless Persons"
2141
 
2142
+ #: inc/rules/class-popup-rule-geo.php:581
2143
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:581
2144
+ #: release/popover/inc/rules/class-popup-rule-geo.php:581
2145
  msgid "Sudan"
2146
  msgstr "Sudan"
2147
 
2148
+ #: inc/rules/class-popup-rule-geo.php:582
2149
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:582
2150
+ #: release/popover/inc/rules/class-popup-rule-geo.php:582
2151
  msgid "Suriname"
2152
  msgstr "Suriname"
2153
 
2154
+ #: inc/rules/class-popup-rule-geo.php:583
2155
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:583
2156
+ #: release/popover/inc/rules/class-popup-rule-geo.php:583
2157
  msgid "Svalbard and Jan Mayen"
2158
  msgstr "Svalbard and Jan Mayen"
2159
 
2160
+ #: inc/rules/class-popup-rule-geo.php:584
2161
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:584
2162
+ #: release/popover/inc/rules/class-popup-rule-geo.php:584
2163
  msgid "Swaziland"
2164
  msgstr "Swaziland"
2165
 
2166
+ #: inc/rules/class-popup-rule-geo.php:585
2167
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:585
2168
+ #: release/popover/inc/rules/class-popup-rule-geo.php:585
2169
  msgid "Sweden"
2170
  msgstr "Sweden"
2171
 
2172
+ #: inc/rules/class-popup-rule-geo.php:586
2173
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:586
2174
+ #: release/popover/inc/rules/class-popup-rule-geo.php:586
2175
  msgid "Switzerland"
2176
  msgstr "Switzerland"
2177
 
2178
+ #: inc/rules/class-popup-rule-geo.php:587
2179
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:587
2180
+ #: release/popover/inc/rules/class-popup-rule-geo.php:587
2181
  msgid "Syrian Arab Republic"
2182
  msgstr "Syrian Arab Republic"
2183
 
2184
+ #: inc/rules/class-popup-rule-geo.php:588
2185
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:588
2186
+ #: release/popover/inc/rules/class-popup-rule-geo.php:588
2187
  msgid "Taiwan, Republic of China"
2188
  msgstr "Taiwan, Republic of China"
2189
 
2190
+ #: inc/rules/class-popup-rule-geo.php:589
2191
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:589
2192
+ #: release/popover/inc/rules/class-popup-rule-geo.php:589
2193
  msgid "Tajikistan"
2194
  msgstr "Tajikistan"
2195
 
2196
+ #: inc/rules/class-popup-rule-geo.php:590
2197
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:590
2198
+ #: release/popover/inc/rules/class-popup-rule-geo.php:590
2199
  msgid "Tanzania"
2200
  msgstr "Tanzania"
2201
 
2202
+ #: inc/rules/class-popup-rule-geo.php:591
2203
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:591
2204
+ #: release/popover/inc/rules/class-popup-rule-geo.php:591
2205
  msgid "Thailand"
2206
  msgstr "Thailand"
2207
 
2208
+ #: inc/rules/class-popup-rule-geo.php:592
2209
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:592
2210
+ #: release/popover/inc/rules/class-popup-rule-geo.php:592
2211
  msgid "Timor Leste"
2212
  msgstr "Timor Leste"
2213
 
2214
+ #: inc/rules/class-popup-rule-geo.php:593
2215
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:593
2216
+ #: release/popover/inc/rules/class-popup-rule-geo.php:593
2217
  msgid "Togo"
2218
  msgstr "Togo"
2219
 
2220
+ #: inc/rules/class-popup-rule-geo.php:594
2221
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:594
2222
+ #: release/popover/inc/rules/class-popup-rule-geo.php:594
2223
  msgid "Tokelau"
2224
  msgstr "Tokelau"
2225
 
2226
+ #: inc/rules/class-popup-rule-geo.php:595
2227
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:595
2228
+ #: release/popover/inc/rules/class-popup-rule-geo.php:595
2229
  msgid "Tonga"
2230
  msgstr "Tonga"
2231
 
2232
+ #: inc/rules/class-popup-rule-geo.php:596
2233
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:596
2234
+ #: release/popover/inc/rules/class-popup-rule-geo.php:596
2235
  msgid "Trinidad & Tobago"
2236
  msgstr "Trinidad & Tobago"
2237
 
2238
+ #: inc/rules/class-popup-rule-geo.php:597
2239
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:597
2240
+ #: release/popover/inc/rules/class-popup-rule-geo.php:597
2241
  msgid "Tunisia"
2242
  msgstr "Tunisia"
2243
 
2244
+ #: inc/rules/class-popup-rule-geo.php:598
2245
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:598
2246
+ #: release/popover/inc/rules/class-popup-rule-geo.php:598
2247
  msgid "Turkey"
2248
  msgstr "Turkey"
2249
 
2250
+ #: inc/rules/class-popup-rule-geo.php:599
2251
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:599
2252
+ #: release/popover/inc/rules/class-popup-rule-geo.php:599
2253
  msgid "Turkmenistan"
2254
  msgstr "Turkmenistan"
2255
 
2256
+ #: inc/rules/class-popup-rule-geo.php:600
2257
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:600
2258
+ #: release/popover/inc/rules/class-popup-rule-geo.php:600
2259
  msgid "Turks And Caicos Islands"
2260
  msgstr "Turks And Caicos Islands"
2261
 
2262
+ #: inc/rules/class-popup-rule-geo.php:601
2263
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:601
2264
+ #: release/popover/inc/rules/class-popup-rule-geo.php:601
2265
  msgid "Tuvalu"
2266
  msgstr "Tuvalu"
2267
 
2268
+ #: inc/rules/class-popup-rule-geo.php:602
2269
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:602
2270
+ #: release/popover/inc/rules/class-popup-rule-geo.php:602
2271
  msgid "Uganda"
2272
  msgstr "Uganda"
2273
 
2274
+ #: inc/rules/class-popup-rule-geo.php:603
2275
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:603
2276
+ #: release/popover/inc/rules/class-popup-rule-geo.php:603
2277
  msgid "Ukraine"
2278
  msgstr "Ukraine"
2279
 
2280
+ #: inc/rules/class-popup-rule-geo.php:604
2281
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:604
2282
+ #: release/popover/inc/rules/class-popup-rule-geo.php:604
2283
  msgid "United Arab Emirates"
2284
  msgstr "United Arab Emirates"
2285
 
2286
+ #: inc/rules/class-popup-rule-geo.php:605
2287
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:605
2288
+ #: release/popover/inc/rules/class-popup-rule-geo.php:605
2289
  msgid "United Kingdom"
2290
  msgstr "United Kingdom"
2291
 
2292
+ #: inc/rules/class-popup-rule-geo.php:606
2293
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:606
2294
+ #: release/popover/inc/rules/class-popup-rule-geo.php:606
2295
  msgid "US Minor Outlying Islands"
2296
  msgstr "US Minor Outlying Islands"
2297
 
2298
+ #: inc/rules/class-popup-rule-geo.php:607
2299
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:607
2300
+ #: release/popover/inc/rules/class-popup-rule-geo.php:607
2301
  msgid "USA"
2302
  msgstr "USA"
2303
 
2304
+ #: inc/rules/class-popup-rule-geo.php:608
2305
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:608
2306
+ #: release/popover/inc/rules/class-popup-rule-geo.php:608
2307
  msgid "Upper Volta"
2308
  msgstr "Upper Volta"
2309
 
2310
+ #: inc/rules/class-popup-rule-geo.php:609
2311
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:609
2312
+ #: release/popover/inc/rules/class-popup-rule-geo.php:609
2313
  msgid "Uruguay"
2314
  msgstr "Uruguay"
2315
 
2316
+ #: inc/rules/class-popup-rule-geo.php:610
2317
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:610
2318
+ #: release/popover/inc/rules/class-popup-rule-geo.php:610
2319
  msgid "Uzbekistan"
2320
  msgstr "Uzbekistan"
2321
 
2322
+ #: inc/rules/class-popup-rule-geo.php:611
2323
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:611
2324
+ #: release/popover/inc/rules/class-popup-rule-geo.php:611
2325
  msgid "Vanuatu"
2326
  msgstr "Vanuatu"
2327
 
2328
+ #: inc/rules/class-popup-rule-geo.php:612
2329
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:612
2330
+ #: release/popover/inc/rules/class-popup-rule-geo.php:612
2331
  msgid "Vatican City State"
2332
  msgstr "Vatican City State"
2333
 
2334
+ #: inc/rules/class-popup-rule-geo.php:613
2335
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:613
2336
+ #: release/popover/inc/rules/class-popup-rule-geo.php:613
2337
  msgid "Venezuela"
2338
  msgstr "Venezuela"
2339
 
2340
+ #: inc/rules/class-popup-rule-geo.php:614
2341
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:614
2342
+ #: release/popover/inc/rules/class-popup-rule-geo.php:614
2343
  msgid "Vietnam"
2344
  msgstr "Vietnam"
2345
 
2346
+ #: inc/rules/class-popup-rule-geo.php:615
2347
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:615
2348
+ #: release/popover/inc/rules/class-popup-rule-geo.php:615
2349
  msgid "Virgin Islands (British)"
2350
  msgstr "Virgin Islands (British)"
2351
 
2352
+ #: inc/rules/class-popup-rule-geo.php:616
2353
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:616
2354
+ #: release/popover/inc/rules/class-popup-rule-geo.php:616
2355
  msgid "Virgin Islands (US)"
2356
  msgstr "Virgin Islands (US)"
2357
 
2358
+ #: inc/rules/class-popup-rule-geo.php:617
2359
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:617
2360
+ #: release/popover/inc/rules/class-popup-rule-geo.php:617
2361
  msgid "Wallis And Futuna Islands"
2362
  msgstr "Wallis And Futuna Islands"
2363
 
2364
+ #: inc/rules/class-popup-rule-geo.php:618
2365
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:618
2366
+ #: release/popover/inc/rules/class-popup-rule-geo.php:618
2367
  msgid "Western Sahara"
2368
  msgstr "Western Sahara"
2369
 
2370
+ #: inc/rules/class-popup-rule-geo.php:619
2371
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:619
2372
+ #: release/popover/inc/rules/class-popup-rule-geo.php:619
2373
  msgid "Yemen Arab Rep."
2374
  msgstr "Yemen Arab Rep."
2375
 
2376
+ #: inc/rules/class-popup-rule-geo.php:620
2377
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:620
2378
+ #: release/popover/inc/rules/class-popup-rule-geo.php:620
2379
  msgid "Yemen Democratic"
2380
  msgstr "Yemen Democratic"
2381
 
2382
+ #: inc/rules/class-popup-rule-geo.php:621
2383
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:621
2384
+ #: release/popover/inc/rules/class-popup-rule-geo.php:621
2385
  msgid "Yugoslavia"
2386
  msgstr "Yugoslavia"
2387
 
2388
+ #: inc/rules/class-popup-rule-geo.php:622
2389
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:622
2390
+ #: release/popover/inc/rules/class-popup-rule-geo.php:622
2391
  msgid "Zaire"
2392
  msgstr "Zaire"
2393
 
2394
+ #: inc/rules/class-popup-rule-geo.php:623
2395
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:623
2396
+ #: release/popover/inc/rules/class-popup-rule-geo.php:623
2397
  msgid "Zambia"
2398
  msgstr "Zambia"
2399
 
2400
+ #: inc/rules/class-popup-rule-geo.php:624
2401
+ #: release/4.6.13/inc/rules/class-popup-rule-geo.php:624
2402
+ #: release/popover/inc/rules/class-popup-rule-geo.php:624
2403
  msgid "Zimbabwe"
2404
  msgstr "Zimbabwe"
2405
 
2406
  #: inc/rules/class-popup-rule-membership.php:32
2407
+ #: release/4.6.13/inc/rules/class-popup-rule-membership.php:32
2408
+ #: release/popover/inc/rules/class-popup-rule-membership.php:32
2409
  msgid "By Membership Level"
2410
  msgstr "By Membership Level"
2411
 
2412
  #: inc/rules/class-popup-rule-membership.php:33
2413
+ #: release/4.6.13/inc/rules/class-popup-rule-membership.php:33
2414
+ #: release/popover/inc/rules/class-popup-rule-membership.php:33
2415
  msgid "Shows the PopUp if the user has a certain Membership Level."
2416
  msgstr "Shows the PopUp if the user has a certain Membership Level."
2417
 
2418
  #: inc/rules/class-popup-rule-membership.php:41
2419
+ #: release/4.6.13/inc/rules/class-popup-rule-membership.php:41
2420
+ #: release/popover/inc/rules/class-popup-rule-membership.php:41
2421
  msgid "By Membership Subscription"
2422
  msgstr "By Membership Subscription"
2423
 
2424
  #: inc/rules/class-popup-rule-membership.php:42
2425
+ #: release/4.6.13/inc/rules/class-popup-rule-membership.php:42
2426
+ #: release/popover/inc/rules/class-popup-rule-membership.php:42
2427
  msgid "Shows the PopUp if the user does not have a certain Membership Level."
2428
  msgstr "Shows the PopUp if the user does not have a certain Membership Level."
2429
 
2430
  #: inc/rules/class-popup-rule-membership.php:105
2431
+ #: release/4.6.13/inc/rules/class-popup-rule-membership.php:105
2432
+ #: release/popover/inc/rules/class-popup-rule-membership.php:105
2433
  msgid "Show to users that have one of these Membership Levels:"
2434
  msgstr "Show to users that have one of these Membership Levels:"
2435
 
2436
  #: inc/rules/class-popup-rule-membership.php:150
2437
+ #: release/4.6.13/inc/rules/class-popup-rule-membership.php:150
2438
+ #: release/popover/inc/rules/class-popup-rule-membership.php:150
2439
  msgid "Show to users that do not have one of these memberships:"
2440
  msgstr "Show to users that do not have one of these memberships:"
2441
 
2442
  #: inc/rules/class-popup-rule-membership.php:249
2443
+ #: release/4.6.13/inc/rules/class-popup-rule-membership.php:249
2444
+ #: release/popover/inc/rules/class-popup-rule-membership.php:249
2445
  #, php-format
2446
  msgid ""
2447
  "This condition requires that the <a href=\"%s\" target=\"_blank\">Membership "
2451
  "Plugin</a> is installed and activated."
2452
 
2453
  #: inc/rules/class-popup-rule-popup.php:30
2454
+ #: release/4.6.13/inc/rules/class-popup-rule-popup.php:30
2455
+ #: release/popover/inc/rules/class-popup-rule-popup.php:30
2456
  msgid "PopUp shown less than"
2457
  msgstr "PopUp shown less than"
2458
 
2459
  #: inc/rules/class-popup-rule-popup.php:31
2460
+ #: release/4.6.13/inc/rules/class-popup-rule-popup.php:31
2461
+ #: release/popover/inc/rules/class-popup-rule-popup.php:31
2462
  msgid ""
2463
  "Shows the PopUp if the user has only seen it less than a specific number of "
2464
  "times."
2467
  "times."
2468
 
2469
  #: inc/rules/class-popup-rule-popup.php:72
2470
+ #: release/4.6.13/inc/rules/class-popup-rule-popup.php:72
2471
+ #: release/popover/inc/rules/class-popup-rule-popup.php:72
2472
  msgid "Display PopUp this often:"
2473
  msgstr "Display PopUp this often:"
2474
 
2475
  #: inc/rules/class-popup-rule-posttype.php:33
2476
+ #: release/4.6.13/inc/rules/class-popup-rule-posttype.php:33
2477
+ #: release/popover/inc/rules/class-popup-rule-posttype.php:33
2478
  msgid "For specific Post Types"
2479
  msgstr "For specific Post Types"
2480
 
2481
  #: inc/rules/class-popup-rule-posttype.php:34
2482
+ #: release/4.6.13/inc/rules/class-popup-rule-posttype.php:34
2483
+ #: release/popover/inc/rules/class-popup-rule-posttype.php:34
2484
  msgid "Shows the PopUp on pages that match any of the specified Post Types."
2485
  msgstr "Shows the PopUp on pages that match any of the specified Post Types."
2486
 
2487
  #: inc/rules/class-popup-rule-posttype.php:42
2488
+ #: release/4.6.13/inc/rules/class-popup-rule-posttype.php:42
2489
+ #: release/popover/inc/rules/class-popup-rule-posttype.php:42
2490
  msgid "Not for specific Post Types"
2491
  msgstr "Not for specific Post Types"
2492
 
2493
  #: inc/rules/class-popup-rule-posttype.php:43
2494
+ #: release/4.6.13/inc/rules/class-popup-rule-posttype.php:43
2495
+ #: release/popover/inc/rules/class-popup-rule-posttype.php:43
2496
  msgid ""
2497
  "Shows the PopUp on pages that do not match any of the specified Post Type."
2498
  msgstr ""
2499
  "Shows the PopUp on pages that do not match any of the specified Post Type."
2500
 
2501
  #: inc/rules/class-popup-rule-posttype.php:119
2502
+ #: release/4.6.13/inc/rules/class-popup-rule-posttype.php:119
2503
+ #: release/popover/inc/rules/class-popup-rule-posttype.php:119
2504
  msgid "Show for these Post Types:"
2505
  msgstr "Show for these Post Types:"
2506
 
2507
  #: inc/rules/class-popup-rule-posttype.php:120
2508
+ #: release/4.6.13/inc/rules/class-popup-rule-posttype.php:120
2509
+ #: release/popover/inc/rules/class-popup-rule-posttype.php:120
2510
  msgid "Show on these Post Type URLs:"
2511
  msgstr "Show on these Post Type URLs:"
2512
 
2513
  #: inc/rules/class-popup-rule-posttype.php:167
2514
+ #: release/4.6.13/inc/rules/class-popup-rule-posttype.php:167
2515
+ #: release/popover/inc/rules/class-popup-rule-posttype.php:167
2516
  msgid "Hide for these Post Types:"
2517
  msgstr "Hide for these Post Types:"
2518
 
2519
  #: inc/rules/class-popup-rule-posttype.php:168
2520
+ #: release/4.6.13/inc/rules/class-popup-rule-posttype.php:168
2521
+ #: release/popover/inc/rules/class-popup-rule-posttype.php:168
2522
  msgid "Hide on these Post Type URLs:"
2523
  msgstr "Hide on these Post Type URLs:"
2524
 
2525
  #: inc/rules/class-popup-rule-prosite.php:31
2526
+ #: release/4.6.13/inc/rules/class-popup-rule-prosite.php:31
2527
+ #: release/popover/inc/rules/class-popup-rule-prosite.php:31
2528
  msgid "Site is not a Pro Site"
2529
  msgstr "Site is not a Pro Site"
2530
 
2531
  #: inc/rules/class-popup-rule-prosite.php:32
2532
+ #: release/4.6.13/inc/rules/class-popup-rule-prosite.php:32
2533
+ #: release/popover/inc/rules/class-popup-rule-prosite.php:32
2534
  msgid "Shows the PopUp if the site is not a Pro Site."
2535
  msgstr "Shows the PopUp if the site is not a Pro Site."
2536
 
2537
  #: inc/rules/class-popup-rule-prosite.php:96
2538
+ #: release/4.6.13/inc/rules/class-popup-rule-prosite.php:96
2539
+ #: release/popover/inc/rules/class-popup-rule-prosite.php:96
2540
  #, php-format
2541
  msgid ""
2542
  "This condition requires that the <a href=\"%s\" target=\"_blank\">Pro Sites "
2546
  "Plugin</a> is installed and activated."
2547
 
2548
  #: inc/rules/class-popup-rule-referrer.php:30
2549
+ #: release/4.6.13/inc/rules/class-popup-rule-referrer.php:30
2550
+ #: release/popover/inc/rules/class-popup-rule-referrer.php:30
2551
  msgid "From a specific referrer"
2552
  msgstr "From a specific referrer"
2553
 
2554
  #: inc/rules/class-popup-rule-referrer.php:31
2555
+ #: release/4.6.13/inc/rules/class-popup-rule-referrer.php:31
2556
+ #: release/popover/inc/rules/class-popup-rule-referrer.php:31
2557
  msgid "Shows the PopUp if the user arrived via a specific referrer."
2558
  msgstr "Shows the PopUp if the user arrived via a specific referrer."
2559
 
2560
  #: inc/rules/class-popup-rule-referrer.php:39
2561
+ #: release/4.6.13/inc/rules/class-popup-rule-referrer.php:39
2562
+ #: release/popover/inc/rules/class-popup-rule-referrer.php:39
2563
  msgid "Not from an internal link"
2564
  msgstr "Not from an internal link"
2565
 
2566
  #: inc/rules/class-popup-rule-referrer.php:40
2567
+ #: release/4.6.13/inc/rules/class-popup-rule-referrer.php:40
2568
+ #: release/popover/inc/rules/class-popup-rule-referrer.php:40
2569
  msgid ""
2570
  "Shows the PopUp if the user did not arrive on this page via another page on "
2571
  "your site."
2574
  "your site."
2575
 
2576
  #: inc/rules/class-popup-rule-referrer.php:48
2577
+ #: release/4.6.13/inc/rules/class-popup-rule-referrer.php:48
2578
+ #: release/popover/inc/rules/class-popup-rule-referrer.php:48
2579
  msgid "From a search engine"
2580
  msgstr "From a search engine"
2581
 
2582
  #: inc/rules/class-popup-rule-referrer.php:49
2583
+ #: release/4.6.13/inc/rules/class-popup-rule-referrer.php:49
2584
+ #: release/popover/inc/rules/class-popup-rule-referrer.php:49
2585
  msgid "Shows the PopUp if the user arrived via a search engine."
2586
  msgstr "Shows the PopUp if the user arrived via a search engine."
2587
 
2588
  #: inc/rules/class-popup-rule-referrer.php:88
2589
+ #: release/4.6.13/inc/rules/class-popup-rule-referrer.php:88
2590
+ #: release/popover/inc/rules/class-popup-rule-referrer.php:88
2591
+ msgid ""
2592
+ "Referrers. Can be full URL or a pattern like \".example.com\" (one per line):"
2593
+ msgstr ""
2594
+ "Referrers. Can be full URL or a pattern like \".example.com\" (one per line):"
2595
 
2596
  #: inc/rules/class-popup-rule-role.php:31
2597
+ #: release/4.6.13/inc/rules/class-popup-rule-role.php:31
2598
+ #: release/popover/inc/rules/class-popup-rule-role.php:31
2599
  msgid "Visitor has role"
2600
  msgstr "Visitor has role"
2601
 
2602
  #: inc/rules/class-popup-rule-role.php:32
2603
+ #: release/4.6.13/inc/rules/class-popup-rule-role.php:32
2604
+ #: release/popover/inc/rules/class-popup-rule-role.php:32
2605
  msgid ""
2606
  "Shows the PopUp if the user is logged in and is assigned to a certain role."
2607
  msgstr ""
2608
  "Shows the PopUp if the user is logged in and is assigned to a certain role."
2609
 
2610
  #: inc/rules/class-popup-rule-role.php:40
2611
+ #: release/4.6.13/inc/rules/class-popup-rule-role.php:40
2612
+ #: release/popover/inc/rules/class-popup-rule-role.php:40
2613
  msgid "Visitor does not have role"
2614
  msgstr "Visitor does not have role"
2615
 
2616
  #: inc/rules/class-popup-rule-role.php:41
2617
+ #: release/4.6.13/inc/rules/class-popup-rule-role.php:41
2618
+ #: release/popover/inc/rules/class-popup-rule-role.php:41
2619
  msgid ""
2620
  "Shows the PopUp if the user is logged in and is not assigned to a certain "
2621
  "role."
2624
  "role."
2625
 
2626
  #: inc/rules/class-popup-rule-role.php:82
2627
+ #: release/4.6.13/inc/rules/class-popup-rule-role.php:82
2628
+ #: release/popover/inc/rules/class-popup-rule-role.php:82
2629
  msgid "Show to users that have one of these roles:"
2630
  msgstr "Show to users that have one of these roles:"
2631
 
2632
  #: inc/rules/class-popup-rule-role.php:127
2633
+ #: release/4.6.13/inc/rules/class-popup-rule-role.php:127
2634
+ #: release/popover/inc/rules/class-popup-rule-role.php:127
2635
  msgid "Show to users that do not have one of these roles:"
2636
  msgstr "Show to users that do not have one of these roles:"
2637
 
2638
  #: inc/rules/class-popup-rule-url.php:81
2639
  #: inc/rules/class-popup-rule-url.php:134
2640
+ #: release/4.6.13/inc/rules/class-popup-rule-url.php:81
2641
+ #: release/4.6.13/inc/rules/class-popup-rule-url.php:134
2642
+ #: release/popover/inc/rules/class-popup-rule-url.php:81
2643
+ #: release/popover/inc/rules/class-popup-rule-url.php:134
2644
+ msgid "Full URLs (one per line):"
2645
+ msgstr "Full URLs (one per line):"
2646
 
2647
  #: inc/rules/class-popup-rule-user.php:31
2648
+ #: release/4.6.13/inc/rules/class-popup-rule-user.php:31
2649
+ #: release/popover/inc/rules/class-popup-rule-user.php:31
2650
  msgid "Shows the PopUp if the user is logged in to your site."
2651
  msgstr "Shows the PopUp if the user is logged in to your site."
2652
 
2653
  #: inc/rules/class-popup-rule-user.php:40
2654
+ #: release/4.6.13/inc/rules/class-popup-rule-user.php:40
2655
+ #: release/popover/inc/rules/class-popup-rule-user.php:40
2656
  msgid "Shows the PopUp if the user is not logged in to your site."
2657
  msgstr "Shows the PopUp if the user is not logged in to your site."
2658
 
2659
  #: inc/rules/class-popup-rule-user.php:48
2660
+ #: release/4.6.13/inc/rules/class-popup-rule-user.php:48
2661
+ #: release/popover/inc/rules/class-popup-rule-user.php:48
2662
  msgid "Visitor has commented before"
2663
  msgstr "Visitor has commented before"
2664
 
2665
  #: inc/rules/class-popup-rule-user.php:50
2666
+ #: release/4.6.13/inc/rules/class-popup-rule-user.php:50
2667
+ #: release/popover/inc/rules/class-popup-rule-user.php:50
2668
  msgid ""
2669
  "Shows the PopUp if the user has already left a comment. You may want to "
2670
  "combine this condition with either \"Visitor is logged in\" or \"Visitor is "
2675
  "not logged in\"."
2676
 
2677
  #: inc/rules/class-popup-rule-user.php:63
2678
+ #: release/4.6.13/inc/rules/class-popup-rule-user.php:63
2679
+ #: release/popover/inc/rules/class-popup-rule-user.php:63
2680
  msgid ""
2681
  "Shows the PopUp if the user has never left a comment. You may want to "
2682
  "combine this condition with either \"Visitor is logged in\" or \"Visitor is "
2687
  "not logged in\"."
2688
 
2689
  #: inc/rules/class-popup-rule-width.php:31
2690
+ #: release/4.6.13/inc/rules/class-popup-rule-width.php:31
2691
+ #: release/popover/inc/rules/class-popup-rule-width.php:31
2692
  msgid "Depending on screen size"
2693
  msgstr "Depending on screen size"
2694
 
2695
  #: inc/rules/class-popup-rule-width.php:33
2696
+ #: release/4.6.13/inc/rules/class-popup-rule-width.php:33
2697
+ #: release/popover/inc/rules/class-popup-rule-width.php:33
2698
  msgid ""
2699
  "Shows the PopUp if the window-width is within the defined limits. Note: The "
2700
  "window size is checked upon page load! when the user resizes the window "
2705
  "after the page is loaded it will not affect this rule."
2706
 
2707
  #: inc/rules/class-popup-rule-width.php:126
2708
+ #: release/4.6.13/inc/rules/class-popup-rule-width.php:126
2709
+ #: release/popover/inc/rules/class-popup-rule-width.php:126
2710
  msgid "At least:"
2711
  msgstr "At least:"
2712
 
2713
  #: inc/rules/class-popup-rule-width.php:142
2714
  #: inc/rules/class-popup-rule-width.php:162
2715
+ #: release/4.6.13/inc/rules/class-popup-rule-width.php:142
2716
+ #: release/4.6.13/inc/rules/class-popup-rule-width.php:162
2717
+ #: release/popover/inc/rules/class-popup-rule-width.php:142
2718
+ #: release/popover/inc/rules/class-popup-rule-width.php:162
2719
  msgid "Any size"
2720
  msgstr "Any size"
2721
 
2722
  #: inc/rules/class-popup-rule-width.php:146
2723
+ #: release/4.6.13/inc/rules/class-popup-rule-width.php:146
2724
+ #: release/popover/inc/rules/class-popup-rule-width.php:146
2725
  msgid "At most:"
2726
  msgstr "At most:"
2727
 
2728
  #: inc/rules/class-popup-rule-xprofile.php:31
2729
+ #: release/4.6.13/inc/rules/class-popup-rule-xprofile.php:31
2730
+ #: release/popover/inc/rules/class-popup-rule-xprofile.php:31
2731
  msgid "On XProfile match"
2732
  msgstr "On XProfile match"
2733
 
2734
  #: inc/rules/class-popup-rule-xprofile.php:32
2735
+ #: release/4.6.13/inc/rules/class-popup-rule-xprofile.php:32
2736
+ #: release/popover/inc/rules/class-popup-rule-xprofile.php:32
2737
  msgid "Shows the PopUp if the users XProfile field matches the condition."
2738
  msgstr "Shows the PopUp if the users XProfile field matches the condition."
2739
 
2740
  #: inc/rules/class-popup-rule-xprofile.php:40
2741
+ #: release/4.6.13/inc/rules/class-popup-rule-xprofile.php:40
2742
+ #: release/popover/inc/rules/class-popup-rule-xprofile.php:40
2743
  msgid "Not on XProfile match"
2744
  msgstr "Not on XProfile match"
2745
 
2746
  #: inc/rules/class-popup-rule-xprofile.php:41
2747
+ #: release/4.6.13/inc/rules/class-popup-rule-xprofile.php:41
2748
+ #: release/popover/inc/rules/class-popup-rule-xprofile.php:41
2749
  msgid ""
2750
  "Shows the PopUp if the users XProfile field does not match the condition."
2751
  msgstr ""
2752
  "Shows the PopUp if the users XProfile field does not match the condition."
2753
 
2754
  #: inc/rules/class-popup-rule-xprofile.php:181
2755
+ #: release/4.6.13/inc/rules/class-popup-rule-xprofile.php:181
2756
+ #: release/popover/inc/rules/class-popup-rule-xprofile.php:181
2757
  msgid ""
2758
  "This condition requires that the BuddyPress Extended Profile component is "
2759
  "active."
2762
  "active."
2763
 
2764
  #: inc/rules/class-popup-rule-xprofile.php:196
2765
+ #: release/4.6.13/inc/rules/class-popup-rule-xprofile.php:196
2766
+ #: release/popover/inc/rules/class-popup-rule-xprofile.php:196
2767
  msgid "No XProfile fields found."
2768
  msgstr "No XProfile fields found."
2769
 
2770
  #: inc/rules/class-popup-rule-xprofile.php:201
2771
+ #: release/4.6.13/inc/rules/class-popup-rule-xprofile.php:201
2772
+ #: release/popover/inc/rules/class-popup-rule-xprofile.php:201
2773
  msgid "Field:"
2774
  msgstr "Field:"
2775
 
2776
  #: inc/rules/class-popup-rule-xprofile.php:221
2777
+ #: release/4.6.13/inc/rules/class-popup-rule-xprofile.php:221
2778
+ #: release/popover/inc/rules/class-popup-rule-xprofile.php:221
2779
  msgid "equals"
2780
  msgstr "equals"
2781
 
2782
  #: inc/rules/class-popup-rule-xprofile.php:224
2783
+ #: release/4.6.13/inc/rules/class-popup-rule-xprofile.php:224
2784
+ #: release/popover/inc/rules/class-popup-rule-xprofile.php:224
2785
  msgid "is not"
2786
  msgstr "is not"
2787
 
2788
  #: inc/rules/class-popup-rule-xprofile.php:227
2789
+ #: release/4.6.13/inc/rules/class-popup-rule-xprofile.php:227
2790
+ #: release/popover/inc/rules/class-popup-rule-xprofile.php:227
2791
  msgid "matches regex"
2792
  msgstr "matches regex"
2793
 
2794
  #: inc/rules/class-popup-rule-xprofile.php:230
2795
+ #: release/4.6.13/inc/rules/class-popup-rule-xprofile.php:230
2796
+ #: release/popover/inc/rules/class-popup-rule-xprofile.php:230
2797
  msgid "does not match regex"
2798
  msgstr "does not match regex"
2799
 
2800
+ #: release/4.6.13/views/info-shortcodes.php:39
2801
+ #: release/popover/views/info-shortcodes.php:39 views/info-shortcodes.php:39
2802
+ msgid ""
2803
+ "You can use all your shortcodes inside the PopUp contents, however some "
2804
+ "Plugins or Themes might provide shortcodes that only work with the loading "
2805
+ "method \"Page Footer\".<br /> This list explains which shortcodes can be "
2806
+ "used with each loading method:"
2807
+ msgstr ""
2808
+ "You can use all your shortcodes inside the PopUp contents, however some "
2809
+ "Plugins or Themes might provide shortcodes that only work with the loading "
2810
+ "method \"Page Footer\".<br /> This list explains which shortcodes can be "
2811
+ "used with each loading method:"
2812
+
2813
+ #: release/4.6.13/views/info-shortcodes.php:51
2814
+ #: release/popover/views/info-shortcodes.php:51 views/info-shortcodes.php:51
2815
+ msgid ""
2816
+ "Important notice for shortcodes in <strong>Global PopUps</strong>:<br /"
2817
+ ">Shortcodes can be provided by a plugin or theme, so each blog can have a "
2818
+ "different list of shortcodes. The following list is valid for the current "
2819
+ "blog only!"
2820
+ msgstr ""
2821
+ "Important notice for shortcodes in <strong>Global PopUps</strong>:<br /"
2822
+ ">Shortcodes can be provided by a plugin or theme, so each blog can have a "
2823
+ "different list of shortcodes. The following list is valid for the current "
2824
+ "blog only!"
2825
+
2826
+ #: release/4.6.13/views/info-shortcodes.php:69
2827
+ #: release/popover/views/info-shortcodes.php:69 views/info-shortcodes.php:69
2828
+ msgid "Shortcode"
2829
+ msgstr "Shortcode"
2830
+
2831
+ #: release/4.6.13/views/info-shortcodes.php:73
2832
+ #: release/popover/views/info-shortcodes.php:73 views/info-shortcodes.php:73
2833
+ msgid "Loading method 'Page Footer'"
2834
+ msgstr "Loading method 'Page Footer'"
2835
+
2836
+ #: release/4.6.13/views/info-shortcodes.php:78
2837
+ #: release/popover/views/info-shortcodes.php:78 views/info-shortcodes.php:78
2838
+ msgid "Loading method 'WordPress AJAX'"
2839
+ msgstr "Loading method 'WordPress AJAX'"
2840
+
2841
+ #: release/4.6.13/views/info-shortcodes.php:79
2842
+ #: release/popover/views/info-shortcodes.php:79 views/info-shortcodes.php:79
2843
+ msgid "WP AJAX"
2844
+ msgstr "WP AJAX"
2845
+
2846
+ #: release/4.6.13/views/info-shortcodes.php:83
2847
+ #: release/popover/views/info-shortcodes.php:83 views/info-shortcodes.php:83
2848
+ msgid "Loading method 'Custom AJAX'"
2849
+ msgstr "Loading method 'Custom AJAX'"
2850
+
2851
+ #: release/4.6.13/views/info-shortcodes.php:84
2852
+ #: release/popover/views/info-shortcodes.php:84 views/info-shortcodes.php:84
2853
+ msgid "Cust AJAX"
2854
+ msgstr "Cust AJAX"
2855
+
2856
+ #: release/4.6.13/views/info-shortcodes.php:88
2857
+ #: release/popover/views/info-shortcodes.php:88 views/info-shortcodes.php:88
2858
+ msgid "Loading method 'Anonymous Script'"
2859
+ msgstr "Loading method 'Anonymous Script'"
2860
+
2861
+ #: release/4.6.13/views/info-shortcodes.php:89
2862
+ #: release/popover/views/info-shortcodes.php:89 views/info-shortcodes.php:89
2863
+ msgid "Script"
2864
+ msgstr "Script"
2865
+
2866
+ #: release/4.6.13/views/info-shortcodes.php:93
2867
+ #: release/popover/views/info-shortcodes.php:93 views/info-shortcodes.php:93
2868
+ msgid "When opening a PopUp-Preview in the Editor"
2869
+ msgstr "When opening a PopUp-Preview in the Editor"
2870
+
2871
+ #: release/4.6.13/views/info-shortcodes.php:114
2872
+ #: release/popover/views/info-shortcodes.php:114 views/info-shortcodes.php:114
2873
+ msgid "Shortcode supported"
2874
+ msgstr "Shortcode supported"
2875
+
2876
+ #: release/4.6.13/views/info-shortcodes.php:118
2877
+ #: release/popover/views/info-shortcodes.php:118 views/info-shortcodes.php:118
2878
+ msgid "Might have issues"
2879
+ msgstr "Might have issues"
2880
+
2881
+ #: release/4.6.13/views/info-shortcodes.php:122
2882
+ #: release/popover/views/info-shortcodes.php:122 views/info-shortcodes.php:122
2883
+ msgid "Shortcode does not work"
2884
+ msgstr "Shortcode does not work"
2885
+
2886
+ #: release/4.6.13/views/meta-appearance.php:16
2887
+ #: release/popover/views/meta-appearance.php:16 views/meta-appearance.php:16
2888
  msgid "Select which style you want to use:"
2889
  msgstr "Select which style you want to use:"
2890
 
2891
+ #: release/4.6.13/views/meta-appearance.php:48
2892
+ #: release/popover/views/meta-appearance.php:48 views/meta-appearance.php:48
2893
  msgid "No rounded corners"
2894
  msgstr "No rounded corners"
2895
 
2896
+ #: release/4.6.13/views/meta-appearance.php:57
2897
+ #: release/popover/views/meta-appearance.php:57 views/meta-appearance.php:57
2898
  msgid ""
2899
  "*) This style is outdated and does not support all options on this page. "
2900
  "Once you save your PopUp with a new style you cannot revert to this style!"
2906
  "<br />Tipp: Use the Preview function to test this PopUp with one of the new "
2907
  "styles before saving it."
2908
 
2909
+ #: release/4.6.13/views/meta-appearance.php:77
2910
+ #: release/popover/views/meta-appearance.php:77 views/meta-appearance.php:77
2911
  msgid "Use custom colors"
2912
  msgstr "Use custom colors"
2913
 
2914
+ #: release/4.6.13/views/meta-appearance.php:88
2915
+ #: release/popover/views/meta-appearance.php:88 views/meta-appearance.php:88
2916
  msgid "Links, button background, heading and subheading"
2917
  msgstr "Links, button background, heading and subheading"
2918
 
2919
+ #: release/4.6.13/views/meta-appearance.php:96
2920
+ #: release/popover/views/meta-appearance.php:96 views/meta-appearance.php:96
2921
  msgid "Button text"
2922
  msgstr "Button text"
2923
 
2924
+ #: release/4.6.13/views/meta-appearance.php:108
2925
+ #: release/popover/views/meta-appearance.php:108 views/meta-appearance.php:108
2926
  msgid "Use custom size (if selected the PopUp won't be responsive)"
2927
  msgstr "Use custom size (if selected the PopUp won't be responsive)"
2928
 
2929
+ #: release/4.6.13/views/meta-appearance.php:114
2930
+ #: release/popover/views/meta-appearance.php:114 views/meta-appearance.php:114
2931
  msgid "Width:"
2932
  msgstr "Width:"
2933
 
2934
+ #: release/4.6.13/views/meta-appearance.php:123
2935
+ #: release/popover/views/meta-appearance.php:123 views/meta-appearance.php:123
2936
  msgid "Height:"
2937
  msgstr "Height:"
2938
 
2939
+ #: release/4.6.13/views/meta-appearance.php:141 views/meta-appearance.php:141
2940
+ msgid "Allow page to be scrolled while PopUp is visible"
2941
+ msgstr "Allow page to be scrolled while PopUp is visible"
2942
+
2943
+ #: release/4.6.13/views/meta-behavior.php:12
2944
+ #: release/popover/views/meta-behavior.php:12 views/meta-behavior.php:12
2945
  msgid "When to show the PopUp:"
2946
  msgstr "When to show the PopUp:"
2947
 
2948
+ #: release/4.6.13/views/meta-behavior.php:24
2949
+ #: release/4.6.13/views/meta-behavior.php:54
2950
+ #: release/popover/views/meta-behavior.php:24
2951
+ #: release/popover/views/meta-behavior.php:54 views/meta-behavior.php:24
2952
+ #: views/meta-behavior.php:54
2953
  msgid "Appear after"
2954
  msgstr "Appear after"
2955
 
2956
+ #: release/4.6.13/views/meta-behavior.php:37
2957
+ #: release/popover/views/meta-behavior.php:37 views/meta-behavior.php:37
2958
  msgid "Seconds"
2959
  msgstr "Seconds"
2960
 
2961
+ #: release/4.6.13/views/meta-behavior.php:40
2962
+ #: release/popover/views/meta-behavior.php:40 views/meta-behavior.php:40
2963
  msgid "Minutes"
2964
  msgstr "Minutes"
2965
 
2966
+ #: release/4.6.13/views/meta-behavior.php:67
2967
+ #: release/popover/views/meta-behavior.php:67 views/meta-behavior.php:67
2968
  msgid "%"
2969
  msgstr "%"
2970
 
2971
+ #: release/4.6.13/views/meta-behavior.php:70
2972
+ #: release/popover/views/meta-behavior.php:70 views/meta-behavior.php:70
2973
  msgid "px"
2974
  msgstr "px"
2975
 
2976
+ #: release/4.6.13/views/meta-behavior.php:74
2977
+ #: release/popover/views/meta-behavior.php:74 views/meta-behavior.php:74
2978
  msgid "of the page has been scrolled."
2979
  msgstr "of the page has been scrolled."
2980
 
2981
+ #: release/4.6.13/views/meta-behavior.php:84
2982
+ #: release/popover/views/meta-behavior.php:84 views/meta-behavior.php:84
2983
  msgid "Appear after user scrolled until CSS selector"
2984
  msgstr "Appear after user scrolled until CSS selector"
2985
 
2986
+ #: release/4.6.13/views/meta-behavior.php:101
2987
+ #: release/popover/views/meta-behavior.php:101 views/meta-behavior.php:101
2988
  msgid "\"Never see this message again\" settings:"
2989
  msgstr "\"Never see this message again\" settings:"
2990
 
2991
+ #: release/4.6.13/views/meta-behavior.php:113
2992
+ #: release/popover/views/meta-behavior.php:113 views/meta-behavior.php:113
2993
  msgid "Add \"Never see this message again\" link"
2994
  msgstr "Add \"Never see this message again\" link"
2995
 
2996
+ #: release/4.6.13/views/meta-behavior.php:124
2997
+ #: release/popover/views/meta-behavior.php:124 views/meta-behavior.php:124
2998
  msgid "Close button acts as \"Never see this message again\" link"
2999
  msgstr "Close button acts as \"Never see this message again\" link"
3000
 
3001
+ #: release/4.6.13/views/meta-behavior.php:129
3002
+ #: release/popover/views/meta-behavior.php:129 views/meta-behavior.php:129
3003
  msgid "Expiry time"
3004
  msgstr "Expiry time"
3005
 
3006
+ #: release/4.6.13/views/meta-behavior.php:136
3007
+ #: release/popover/views/meta-behavior.php:136 views/meta-behavior.php:136
3008
  msgid "days"
3009
  msgstr "days"
3010
 
3011
+ #: release/4.6.13/views/meta-behavior.php:137
3012
+ #: release/popover/views/meta-behavior.php:137 views/meta-behavior.php:137
3013
  msgid "(upon expiry, user will see this PopUp again)"
3014
  msgstr "(upon expiry, user will see this PopUp again)"
3015
 
3016
+ #: release/4.6.13/views/meta-behavior.php:146
3017
+ #: release/popover/views/meta-behavior.php:146 views/meta-behavior.php:146
3018
  msgid "Closing Pop-up conditions"
3019
  msgstr "Closing Pop-up conditions"
3020
 
3021
+ #: release/4.6.13/views/meta-behavior.php:156
3022
+ #: release/popover/views/meta-behavior.php:156 views/meta-behavior.php:156
3023
  msgid "Click on the background does not close PopUp."
3024
  msgstr "Click on the background does not close PopUp."
3025
 
3026
+ #: release/4.6.13/views/meta-content.php:15
3027
+ #: release/popover/views/meta-content.php:15 views/meta-content.php:15
3028
  msgid "Heading (optional)"
3029
  msgstr "Heading (optional)"
3030
 
3031
+ #: release/4.6.13/views/meta-content.php:18
3032
+ #: release/popover/views/meta-content.php:18 views/meta-content.php:18
3033
  msgid "Subheading (optional)"
3034
  msgstr "Subheading (optional)"
3035
 
3036
+ #: release/4.6.13/views/meta-content.php:27
3037
+ #: release/popover/views/meta-content.php:27 views/meta-content.php:27
3038
  msgid "Enter your heading here..."
3039
  msgstr "Enter your heading here..."
3040
 
3041
+ #: release/4.6.13/views/meta-content.php:35
3042
+ #: release/popover/views/meta-content.php:35 views/meta-content.php:35
3043
  msgid "Enter your subheading here..."
3044
  msgstr "Enter your subheading here..."
3045
 
3046
+ #: release/4.6.13/views/meta-content.php:42
3047
+ #: release/popover/views/meta-content.php:42 views/meta-content.php:42
3048
  msgid "Main PopUp Content"
3049
  msgstr "Main PopUp Content"
3050
 
3051
+ #: release/4.6.13/views/meta-content.php:57
3052
+ #: release/popover/views/meta-content.php:57 views/meta-content.php:57
3053
  msgid "Call To Action Button (optional)"
3054
  msgstr "Call To Action Button (optional)"
3055
 
3056
+ #: release/4.6.13/views/meta-content.php:66
3057
+ #: release/popover/views/meta-content.php:66 views/meta-content.php:66
3058
  msgid "Button Label"
3059
  msgstr "Button Label"
3060
 
3061
+ #: release/4.6.13/views/meta-content.php:74
3062
+ #: release/popover/views/meta-content.php:74 views/meta-content.php:74
3063
  msgid "Button Link (http://www.example.com)"
3064
  msgstr "Button Link (http://www.example.com)"
3065
 
3066
+ #: release/4.6.13/views/meta-content.php:84
3067
+ #: release/popover/views/meta-content.php:84 views/meta-content.php:84
3068
  msgid "PopUp Feature Image (optional)"
3069
  msgstr "PopUp Feature Image (optional)"
3070
 
3071
+ #: release/4.6.13/views/meta-content.php:90
3072
+ #: release/popover/views/meta-content.php:90 views/meta-content.php:90
3073
  msgid "Add featured image to PopUp."
3074
  msgstr "Add featured image to PopUp."
3075
 
3076
+ #: release/4.6.13/views/meta-content.php:91
3077
+ #: release/popover/views/meta-content.php:91 views/meta-content.php:91
3078
  msgid "PopUp Featured Image"
3079
  msgstr "PopUp Featured Image"
3080
 
3081
+ #: release/4.6.13/views/meta-content.php:92
3082
+ #: release/popover/views/meta-content.php:92 views/meta-content.php:92
3083
  msgid "Select Image"
3084
  msgstr "Select Image"
3085
 
3086
+ #: release/4.6.13/views/meta-content.php:94
3087
+ #: release/popover/views/meta-content.php:94 views/meta-content.php:94
3088
  msgid "Add Image"
3089
  msgstr "Add Image"
3090
 
3091
+ #: release/4.6.13/views/meta-content.php:113
3092
+ #: release/popover/views/meta-content.php:113 views/meta-content.php:113
3093
  msgid "(No image selected)"
3094
  msgstr "(No image selected)"
3095
 
3096
+ #: release/4.6.13/views/meta-content.php:116
3097
+ #: release/popover/views/meta-content.php:116 views/meta-content.php:116
3098
  msgid "Drop here"
3099
  msgstr "Drop here"
3100
 
3101
+ #: release/4.6.13/views/meta-content.php:122
3102
+ #: release/popover/views/meta-content.php:122 views/meta-content.php:122
3103
  msgid "Remove image"
3104
  msgstr "Remove image"
3105
 
3106
+ #: release/4.6.13/views/meta-content.php:136
3107
+ #: release/popover/views/meta-content.php:136 views/meta-content.php:136
3108
  msgid "Hide image for mobile devices"
3109
  msgstr "Hide image for mobile devices"
3110
 
3111
+ #: release/4.6.13/views/meta-rules.php:13
3112
+ #: release/4.6.13/views/settings.php:229
3113
+ #: release/popover/views/meta-rules.php:13
3114
+ #: release/popover/views/settings.php:229 views/meta-rules.php:13
3115
+ #: views/settings.php:229
3116
  msgid "Available Conditions"
3117
  msgstr "Available Conditions"
3118
 
3119
+ #: release/4.6.13/views/meta-rules.php:16
3120
+ #: release/popover/views/meta-rules.php:16 views/meta-rules.php:16
3121
  msgid "Show this PopUp if the following conditions are met"
3122
  msgstr "Show this PopUp if the following conditions are met"
3123
 
3124
+ #: release/4.6.13/views/meta-submitdiv.php:18
3125
+ #: release/4.6.13/views/meta-submitdiv.php:65
3126
+ #: release/4.6.13/views/meta-submitdiv.php:84
3127
+ #: release/popover/views/meta-submitdiv.php:18
3128
+ #: release/popover/views/meta-submitdiv.php:65
3129
+ #: release/popover/views/meta-submitdiv.php:84 views/meta-submitdiv.php:18
3130
+ #: views/meta-submitdiv.php:65 views/meta-submitdiv.php:84
3131
  msgid "Save"
3132
  msgstr "Save"
3133
 
3134
+ #: release/4.6.13/views/meta-submitdiv.php:30
3135
+ #: release/popover/views/meta-submitdiv.php:30 views/meta-submitdiv.php:30
3136
  msgid "Status: <strong>Active</strong>"
3137
  msgstr "Status: <strong>Active</strong>"
3138
 
3139
+ #: release/4.6.13/views/meta-submitdiv.php:31
3140
+ #: release/popover/views/meta-submitdiv.php:31 views/meta-submitdiv.php:31
3141
  msgid "Status: Inactive"
3142
  msgstr "Status: Inactive"
3143
 
3144
+ #: release/4.6.13/views/meta-submitdiv.php:39
3145
+ #: release/4.6.13/views/meta-submitdiv.php:91
3146
+ #: release/popover/views/meta-submitdiv.php:39
3147
+ #: release/popover/views/meta-submitdiv.php:91 views/meta-submitdiv.php:39
3148
+ #: views/meta-submitdiv.php:91
3149
  msgid "Preview PopUp"
3150
  msgstr "Preview PopUp"
3151
 
3152
+ #: release/4.6.13/views/meta-submitdiv.php:52
3153
+ #: release/4.6.13/views/meta-submitdiv.php:77
3154
+ #: release/popover/views/meta-submitdiv.php:52
3155
+ #: release/popover/views/meta-submitdiv.php:77 views/meta-submitdiv.php:52
3156
+ #: views/meta-submitdiv.php:77
3157
  msgid "Move to Trash"
3158
  msgstr "Move to Trash"
3159
 
3160
+ #: release/4.6.13/views/meta-submitdiv.php:61
3161
+ #: release/4.6.13/views/meta-submitdiv.php:99
3162
+ #: release/popover/views/meta-submitdiv.php:61
3163
+ #: release/popover/views/meta-submitdiv.php:99 views/meta-submitdiv.php:61
3164
+ #: views/meta-submitdiv.php:99
3165
  msgid "Duplicate"
3166
  msgstr "Duplicate"
3167
 
3168
+ #: release/4.6.13/views/network.php:34 release/popover/views/network.php:34
3169
  #: views/network.php:34
3170
  #, php-format
3171
  msgid ""
3177
  "Blog</strong> of your multisite network!<br />The Main Blog of this network "
3178
  "is \"%1$s\" - <a href=\"%2$s\">Go to the Main Blog now</a>!"
3179
 
3180
+ #: release/4.6.13/views/network.php:46 release/popover/views/network.php:46
3181
  #: views/network.php:46
3182
  msgid ""
3183
  "Because the \"PopUp\" menu items here on the <strong>Network Admin</strong> "
3186
  "Because the \"PopUp\" menu items here on the <strong>Network Admin</strong> "
3187
  "are not used anymore you can <strong>hide them</strong> at any time:"
3188
 
3189
+ #: release/4.6.13/views/network.php:53 release/popover/views/network.php:53
3190
  #: views/network.php:53
3191
  msgid "Hide the menu items here!"
3192
  msgstr "Hide the menu items here!"
3193
 
3194
+ #: release/4.6.13/views/settings.php:31 release/popover/views/settings.php:31
3195
+ #: views/settings.php:31
3196
+ #, php-format
 
 
 
 
 
 
 
 
 
 
3197
  msgid ""
3198
+ "<strong>Local IP Lookup Table</strong>: This is unavailable because no geo-"
3199
+ "data table was found in your database. For details, read the \"Using a Local "
3200
+ "Geo-Database\" in the <a href=\"%1$s\" target=\"_blank\">PopUp usage guide</"
3201
+ "a>."
3202
  msgstr ""
3203
+ "<strong>Local IP Lookup Table</strong>: This is unavailable because no geo-"
3204
+ "data table was found in your database. For details, read the \"Using a Local "
3205
+ "Geo-Database\" in the <a href=\"%1$s\" target=\"_blank\">PopUp usage guide</"
3206
+ "a>."
 
 
3207
 
3208
+ #: release/4.6.13/views/settings.php:46 release/popover/views/settings.php:46
3209
+ #: views/settings.php:46
 
 
 
 
3210
  msgid ""
3211
+ "<strong>Custom Webservice</strong>: You have configured a custom lookup "
3212
+ "service in <tt>wp-config.php</tt> via the constant \"<tt>PO_REMOTE_IP_URL</"
3213
+ "tt>\". To use one of the default services you have to remove that constant "
3214
+ "from wp-config.php."
3215
  msgstr ""
3216
+ "<strong>Custom Webservice</strong>: You have configured a custom lookup "
3217
+ "service in <tt>wp-config.php</tt> via the constant \"<tt>PO_REMOTE_IP_URL</"
3218
+ "tt>\". To use one of the default services you have to remove that constant "
3219
+ "from wp-config.php."
3220
 
3221
+ #: release/4.6.13/views/settings.php:69 release/popover/views/settings.php:69
3222
+ #: views/settings.php:69
3223
  msgid "PopUp Settings"
3224
  msgstr "PopUp Settings"
3225
 
3226
+ #: release/4.6.13/views/settings.php:80 release/popover/views/settings.php:80
3227
+ #: views/settings.php:80
3228
  msgid "PopUp Loading Method"
3229
  msgstr "PopUp Loading Method"
3230
 
3231
+ #: release/4.6.13/views/settings.php:85 release/popover/views/settings.php:85
3232
+ #: views/settings.php:85
3233
  msgid "Select how you would like to load PopUp."
3234
  msgstr "Select how you would like to load PopUp."
3235
 
3236
+ #: release/4.6.13/views/settings.php:94 release/popover/views/settings.php:94
3237
+ #: views/settings.php:94
3238
  msgid "Load PopUp using"
3239
  msgstr "Load PopUp using"
3240
 
3241
+ #: release/4.6.13/views/settings.php:126
3242
+ #: release/popover/views/settings.php:126 views/settings.php:126
3243
  msgid "Country Lookup"
3244
  msgstr "Country Lookup"
3245
 
3246
+ #: release/4.6.13/views/settings.php:132
3247
+ #: release/popover/views/settings.php:132 views/settings.php:132
3248
+ msgid "Custom Webservice"
3249
+ msgstr "Custom Webservice"
3250
+
3251
+ #: release/4.6.13/views/settings.php:138
3252
+ #: release/popover/views/settings.php:138 views/settings.php:138
3253
+ msgid "Webservices"
3254
+ msgstr "Webservices"
3255
+
3256
+ #: release/4.6.13/views/settings.php:147
3257
+ #: release/popover/views/settings.php:147 views/settings.php:147
3258
+ msgid "Local Database"
3259
+ msgstr "Local Database"
3260
+
3261
+ #: release/4.6.13/views/settings.php:156
3262
+ #: release/popover/views/settings.php:156 views/settings.php:156
3263
+ msgid "Test my location"
3264
+ msgstr "Test my location"
3265
 
3266
+ #: release/4.6.13/views/settings.php:179
3267
+ #: release/popover/views/settings.php:179 views/settings.php:179
3268
  msgid "This option is relevant for the \"Visitor Location\" condition."
3269
  msgstr "This option is relevant for the \"Visitor Location\" condition."
3270
 
3271
+ #: release/4.6.13/views/settings.php:194 release/4.6.13/views/settings.php:214
3272
+ #: release/popover/views/settings.php:194
3273
+ #: release/popover/views/settings.php:214 views/settings.php:194
3274
+ #: views/settings.php:214
3275
  msgid "Click to toggle"
3276
  msgstr "Click to toggle"
3277
 
3278
+ #: release/4.6.13/views/settings.php:195
3279
+ #: release/popover/views/settings.php:195 views/settings.php:195
3280
  msgid "Theme compatibility"
3281
  msgstr "Theme compatibility"
3282
 
3283
+ #: release/4.6.13/views/settings.php:200
3284
+ #: release/popover/views/settings.php:200 views/settings.php:200
3285
  msgid ""
3286
  "Here you can see if your theme is compatible with the \"Page Footer\" "
3287
  "loading method."
3289
  "Here you can see if your theme is compatible with the \"Page Footer\" "
3290
  "loading method."
3291
 
3292
+ #: release/4.6.13/views/settings.php:215
3293
+ #: release/popover/views/settings.php:215 views/settings.php:215
3294
  msgid "Supported Shortcodes"
3295
  msgstr "Supported Shortcodes"
3296
 
3297
+ #: release/4.6.13/views/settings.php:225 release/4.6.13/views/settings.php:323
3298
+ #: release/popover/views/settings.php:225
3299
+ #: release/popover/views/settings.php:323 views/settings.php:225
3300
+ #: views/settings.php:323
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3301
  msgid "Save All Changes"
3302
  msgstr "Save All Changes"
3303
 
3304
+ #: release/4.6.13/views/settings.php:240
3305
+ #: release/popover/views/settings.php:240 views/settings.php:240
3306
  msgid "Name"
3307
  msgstr "Name"
3308
 
3309
+ #: release/4.6.13/views/settings.php:243
3310
+ #: release/popover/views/settings.php:243 views/settings.php:243
3311
  msgid "Activated Rules"
3312
  msgstr "Activated Rules"
3313
 
3314
+ #: release/4.6.13/views/settings.php:270
3315
+ #: release/popover/views/settings.php:270 views/settings.php:270
3316
+ #, php-format
3317
+ msgid "Available in the <a href=\"%s\" target=\"_blank\">PRO version</a>"
3318
+ msgstr "Available in the <a href=\"%s\" target=\"_blank\">PRO version</a>"
3319
 
3320
+ #: release/4.6.13/views/settings.php:274
3321
+ #: release/popover/views/settings.php:274 views/settings.php:274
3322
  msgid "Not available for global PopUps"
3323
  msgstr "Not available for global PopUps"
3324
+
3325
+ #~ msgid ""
3326
+ #~ "Notice: Call to <code>wp_head();</code> exists but it is not called "
3327
+ #~ "directly before <code>&lt;/head&gt;</code>"
3328
+ #~ msgstr ""
3329
+ #~ "Notice: Call to <code>wp_head();</code> exists but it is not called "
3330
+ #~ "directly before <code>&lt;/head&gt;</code>"
3331
+
3332
+ #~ msgid ""
3333
+ #~ "Notice: Call to <code>wp_footer();</code> exists but it is not called "
3334
+ #~ "directly before <code>&lt;/body&gt;</code>"
3335
+ #~ msgstr ""
3336
+ #~ "Notice: Call to <code>wp_footer();</code> exists but it is not called "
3337
+ #~ "directly before <code>&lt;/body&gt;</code>"
3338
+
3339
+ #~ msgid "Referrers (one per line):"
3340
+ #~ msgstr "Referrers (one per line):"
3341
+
3342
+ #~ msgid ""
3343
+ #~ "Use a local IP cache table instead of a web service to resolve IP "
3344
+ #~ "addresses to a country code."
3345
+ #~ msgstr ""
3346
+ #~ "Use a local IP cache table instead of a web service to resolve IP "
3347
+ #~ "addresses to a country code."
lang/popover-en_US.mo DELETED
Binary file
lang/popover.po DELETED
@@ -1,1941 +0,0 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: PopOver\n"
4
- "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2013-11-05 14:21+0100\n"
6
- "PO-Revision-Date: 2013-11-05 14:21+0100\n"
7
- "Last-Translator: \n"
8
- "Language-Team: Incsub <barry@incsub.com>\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Poedit-KeywordsList: __;gettext;gettext_noop;_e\n"
13
- "X-Poedit-Basepath: /Volumes/Trunk/xampp/htdocs/3.5-dev-1/wp-content/plugins/"
14
- "popover\n"
15
- "X-Generator: Poedit 1.5.5\n"
16
- "X-Poedit-SearchPath-0: popoverincludes\n"
17
- "X-Poedit-SearchPath-1: popoverincludes/addons\n"
18
- "X-Poedit-SearchPath-2: popoverincludes/classes\n"
19
- "X-Poedit-SearchPath-3: popoverincludes/css\n"
20
- "X-Poedit-SearchPath-4: popoverincludes/external\n"
21
- "X-Poedit-SearchPath-5: popoverincludes/help\n"
22
- "X-Poedit-SearchPath-6: popoverincludes/includes\n"
23
- "X-Poedit-SearchPath-7: popoverincludes/js\n"
24
- "X-Poedit-SearchPath-8: popoverincludes/css/default\n"
25
- "X-Poedit-SearchPath-9: popoverincludes/css/fixed\n"
26
- "X-Poedit-SearchPath-10: popoverincludes/css/fullbackground\n"
27
- "X-Poedit-SearchPath-11: popoverincludes/css/fullbackgroundfixed\n"
28
-
29
- #: popoverincludes/addons/anonymous_loading.php:112
30
- msgid "Anonymous"
31
- msgstr ""
32
-
33
- #: popoverincludes/addons/rules-advanced_url.php:44
34
- msgid "One URL regex per line"
35
- msgstr ""
36
-
37
- #: popoverincludes/addons/rules-advanced_url.php:78
38
- msgid "Suppress on approximate URL"
39
- msgstr ""
40
-
41
- #: popoverincludes/addons/rules-advanced_url.php:79
42
- msgid "Suppresses the popover on matched URLs."
43
- msgstr ""
44
-
45
- #: popoverincludes/addons/rules-advanced_url.php:81
46
- #: popoverincludes/addons/rules-post_types.php:102
47
- #: popoverincludes/addons/rules-xprofile_value.php:121
48
- msgid "Suppress"
49
- msgstr ""
50
-
51
- #: popoverincludes/addons/rules-advanced_url.php:102
52
- msgid "Show on approximate URL"
53
- msgstr ""
54
-
55
- #: popoverincludes/addons/rules-advanced_url.php:103
56
- msgid "Shows the popover on matched URLs."
57
- msgstr ""
58
-
59
- #: popoverincludes/addons/rules-advanced_url.php:105
60
- #: popoverincludes/addons/rules-max_width.php:30
61
- #: popoverincludes/addons/rules-on_exit.php:30
62
- #: popoverincludes/addons/rules-onclick.php:30
63
- #: popoverincludes/addons/rules-post_types.php:126
64
- #: popoverincludes/addons/rules-xprofile_value.php:145
65
- msgid "Show"
66
- msgstr ""
67
-
68
- #: popoverincludes/addons/rules-max_width.php:27
69
- msgid "Show on windows wider than"
70
- msgstr ""
71
-
72
- #: popoverincludes/addons/rules-max_width.php:28
73
- msgid "Shows the popover on windows wider than threshold value."
74
- msgstr ""
75
-
76
- #: popoverincludes/addons/rules-max_width.php:52
77
- msgid "Threshold width:"
78
- msgstr ""
79
-
80
- #: popoverincludes/addons/rules-max_width.php:89
81
- msgid "&quot;Maximum width rule&quot; add-on won't work with legacy javascript"
82
- msgstr ""
83
-
84
- #: popoverincludes/addons/rules-on_exit.php:27
85
- msgid "Show on user exit attempt"
86
- msgstr ""
87
-
88
- #: popoverincludes/addons/rules-on_exit.php:28
89
- msgid "Shows the popover on user exit attempt."
90
- msgstr ""
91
-
92
- #: popoverincludes/addons/rules-on_exit.php:54
93
- msgid "The popover won't be shown until the user tries to leave the page"
94
- msgstr ""
95
-
96
- #: popoverincludes/addons/rules-on_exit.php:94
97
- msgid "&quot;Show on exit rule&quot; add-on won't work with legacy javascript"
98
- msgstr ""
99
-
100
- #: popoverincludes/addons/rules-onclick.php:27
101
- msgid "Show on user click"
102
- msgstr ""
103
-
104
- #: popoverincludes/addons/rules-onclick.php:28
105
- msgid "Shows the popover on user click."
106
- msgstr ""
107
-
108
- #: popoverincludes/addons/rules-onclick.php:53
109
- msgid "Element selector:"
110
- msgstr ""
111
-
112
- #: popoverincludes/addons/rules-onclick.php:55
113
- msgid ""
114
- "The popover won't be shown until the user clicks on an element matching this "
115
- "selector"
116
- msgstr ""
117
-
118
- #: popoverincludes/addons/rules-onclick.php:91
119
- msgid "&quot;Show on click rule&quot; add-on won't work with legacy javascript"
120
- msgstr ""
121
-
122
- #: popoverincludes/addons/rules-post_types.php:55
123
- msgid "Singular"
124
- msgstr ""
125
-
126
- #: popoverincludes/addons/rules-post_types.php:56
127
- msgid "Archive"
128
- msgstr ""
129
-
130
- #: popoverincludes/addons/rules-post_types.php:59
131
- #, php-format
132
- msgid "%s on these post types:"
133
- msgstr ""
134
-
135
- #: popoverincludes/addons/rules-post_types.php:71
136
- #, php-format
137
- msgid "%s on these post type URLs:"
138
- msgstr ""
139
-
140
- #: popoverincludes/addons/rules-post_types.php:99
141
- msgid "Suppress on Post Types"
142
- msgstr ""
143
-
144
- #: popoverincludes/addons/rules-post_types.php:100
145
- msgid "Suppresses the popover on specific post types."
146
- msgstr ""
147
-
148
- #: popoverincludes/addons/rules-post_types.php:123
149
- msgid "Show on Post Types"
150
- msgstr ""
151
-
152
- #: popoverincludes/addons/rules-post_types.php:124
153
- msgid "Shows the popover on specific post types."
154
- msgstr ""
155
-
156
- #: popoverincludes/addons/rules-xprofile_value.php:47
157
- msgid "You need BuddyPress XProfile fields component active."
158
- msgstr ""
159
-
160
- #: popoverincludes/addons/rules-xprofile_value.php:74
161
- msgid "Field:"
162
- msgstr ""
163
-
164
- #: popoverincludes/addons/rules-xprofile_value.php:79
165
- msgid "equals"
166
- msgstr ""
167
-
168
- #: popoverincludes/addons/rules-xprofile_value.php:80
169
- msgid "is not"
170
- msgstr ""
171
-
172
- #: popoverincludes/addons/rules-xprofile_value.php:81
173
- msgid "matches regex"
174
- msgstr ""
175
-
176
- #: popoverincludes/addons/rules-xprofile_value.php:82
177
- msgid "does not match regex"
178
- msgstr ""
179
-
180
- #: popoverincludes/addons/rules-xprofile_value.php:118
181
- msgid "Suppress when XProfile field matches condition"
182
- msgstr ""
183
-
184
- #: popoverincludes/addons/rules-xprofile_value.php:119
185
- msgid "Suppresses the popover when XProfile field matches condition."
186
- msgstr ""
187
-
188
- #: popoverincludes/addons/rules-xprofile_value.php:142
189
- msgid "Show when XProfile field matches condition"
190
- msgstr ""
191
-
192
- #: popoverincludes/addons/rules-xprofile_value.php:143
193
- msgid "Shows the popover when XProfile field matches condition."
194
- msgstr ""
195
-
196
- #: popoverincludes/classes/popover.help.php:55
197
- msgid "Overview"
198
- msgstr ""
199
-
200
- #: popoverincludes/classes/popover.help.php:61
201
- msgid "Adding / Editing"
202
- msgstr ""
203
-
204
- #: popoverincludes/classes/popover.help.php:75
205
- #: popoverincludes/classes/popoveradmin.php:120
206
- msgid "Add-ons"
207
- msgstr ""
208
-
209
- #: popoverincludes/classes/popoveradmin.php:111
210
- #: popoverincludes/classes/popoveradmin.php:115
211
- msgid "Pop Overs"
212
- msgstr ""
213
-
214
- #: popoverincludes/classes/popoveradmin.php:119
215
- msgid "Create New Pop Over"
216
- msgstr ""
217
-
218
- #: popoverincludes/classes/popoveradmin.php:119
219
- msgid "Create New"
220
- msgstr ""
221
-
222
- #: popoverincludes/classes/popoveradmin.php:120
223
- msgid "Manage Add-ons Plugins"
224
- msgstr ""
225
-
226
- #: popoverincludes/classes/popoveradmin.php:122
227
- msgid "Settings"
228
- msgstr ""
229
-
230
- #: popoverincludes/classes/popoveradmin.php:270
231
- msgid "An error occured updating the Pop Over order."
232
- msgstr ""
233
-
234
- #: popoverincludes/classes/popoveradmin.php:271
235
- msgid "Are you sure you want to delete this Pop Over?"
236
- msgstr ""
237
-
238
- #: popoverincludes/classes/popoveradmin.php:321
239
- #, php-format
240
- msgid ""
241
- "Welcome to Popover, would you like to transfer your existing Popover to the "
242
- "new format? <a href='%s'>Yes please transfer it</a> / <a href='%s'>No "
243
- "thanks, I'll create a new one myself.</a>"
244
- msgstr ""
245
-
246
- #: popoverincludes/classes/popoveradmin.php:340
247
- msgid "Transferred Popover"
248
- msgstr ""
249
-
250
- #: popoverincludes/classes/popoveradmin.php:721
251
- msgid "Pop Over updated."
252
- msgstr ""
253
-
254
- #: popoverincludes/classes/popoveradmin.php:722
255
- msgid "Pop Over not updated."
256
- msgstr ""
257
-
258
- #: popoverincludes/classes/popoveradmin.php:724
259
- msgid "Pop Over activated."
260
- msgstr ""
261
-
262
- #: popoverincludes/classes/popoveradmin.php:725
263
- msgid "Pop Over not activated."
264
- msgstr ""
265
-
266
- #: popoverincludes/classes/popoveradmin.php:727
267
- msgid "Pop Over deactivated."
268
- msgstr ""
269
-
270
- #: popoverincludes/classes/popoveradmin.php:728
271
- msgid "Pop Over not deactivated."
272
- msgstr ""
273
-
274
- #: popoverincludes/classes/popoveradmin.php:730
275
- msgid "Pop Over activation toggled."
276
- msgstr ""
277
-
278
- #: popoverincludes/classes/popoveradmin.php:732
279
- msgid "Pop Over deleted."
280
- msgstr ""
281
-
282
- #: popoverincludes/classes/popoveradmin.php:733
283
- msgid "Pop Over not deleted."
284
- msgstr ""
285
-
286
- #: popoverincludes/classes/popoveradmin.php:735
287
- msgid "Pop Over added."
288
- msgstr ""
289
-
290
- #: popoverincludes/classes/popoveradmin.php:736
291
- msgid "Pop Over not added."
292
- msgstr ""
293
-
294
- #: popoverincludes/classes/popoveradmin.php:740
295
- msgid "Edit Pop Overs"
296
- msgstr ""
297
-
298
- #: popoverincludes/classes/popoveradmin.php:740
299
- msgid "Add New"
300
- msgstr ""
301
-
302
- #: popoverincludes/classes/popoveradmin.php:758
303
- #: popoverincludes/classes/popoveradmin.php:934
304
- #: popoverincludes/classes/popoveradmin.php:1954
305
- #: popoverincludes/classes/popoveradmin.php:2082
306
- msgid "Bulk Actions"
307
- msgstr ""
308
-
309
- #: popoverincludes/classes/popoveradmin.php:759
310
- #: popoverincludes/classes/popoveradmin.php:935
311
- #: popoverincludes/classes/popoveradmin.php:1955
312
- #: popoverincludes/classes/popoveradmin.php:2083
313
- msgid "Toggle activation"
314
- msgstr ""
315
-
316
- #: popoverincludes/classes/popoveradmin.php:761
317
- #: popoverincludes/classes/popoveradmin.php:937
318
- #: popoverincludes/classes/popoveradmin.php:1957
319
- #: popoverincludes/classes/popoveradmin.php:2085
320
- msgid "Apply"
321
- msgstr ""
322
-
323
- #: popoverincludes/classes/popoveradmin.php:775
324
- msgid "Pop Over Name"
325
- msgstr ""
326
-
327
- #: popoverincludes/classes/popoveradmin.php:776
328
- #: popoverincludes/classes/popoveradmin.php:1360
329
- msgid "Conditions"
330
- msgstr ""
331
-
332
- #: popoverincludes/classes/popoveradmin.php:777
333
- #: popoverincludes/classes/popoveradmin.php:907
334
- #: popoverincludes/classes/popoveradmin.php:1973
335
- #: popoverincludes/classes/popoveradmin.php:2055
336
- msgid "Active"
337
- msgstr ""
338
-
339
- #: popoverincludes/classes/popoveradmin.php:838
340
- msgid "Edit"
341
- msgstr ""
342
-
343
- #: popoverincludes/classes/popoveradmin.php:841
344
- #: popoverincludes/classes/popoveradmin.php:2041
345
- msgid "Deactivate"
346
- msgstr ""
347
-
348
- #: popoverincludes/classes/popoveradmin.php:843
349
- #: popoverincludes/classes/popoveradmin.php:2043
350
- msgid "Activate"
351
- msgstr ""
352
-
353
- #: popoverincludes/classes/popoveradmin.php:846
354
- msgid "Delete"
355
- msgstr ""
356
-
357
- #: popoverincludes/classes/popoveradmin.php:861
358
- msgid "Site is not a Pro-site"
359
- msgstr ""
360
-
361
- #: popoverincludes/classes/popoveradmin.php:864
362
- msgid "Visitor is logged in"
363
- msgstr ""
364
-
365
- #: popoverincludes/classes/popoveradmin.php:867
366
- msgid "Visitor is not logged in"
367
- msgstr ""
368
-
369
- #: popoverincludes/classes/popoveradmin.php:870
370
- msgid "Visitor has never commented"
371
- msgstr ""
372
-
373
- #: popoverincludes/classes/popoveradmin.php:873
374
- msgid "Visit via a search engine"
375
- msgstr ""
376
-
377
- #: popoverincludes/classes/popoveradmin.php:876
378
- msgid "Visit not via an Internal link"
379
- msgstr ""
380
-
381
- #: popoverincludes/classes/popoveradmin.php:879
382
- msgid "Visit via specific referer"
383
- msgstr ""
384
-
385
- #: popoverincludes/classes/popoveradmin.php:882
386
- msgid "Popover shown less than x times"
387
- msgstr ""
388
-
389
- #: popoverincludes/classes/popoveradmin.php:885
390
- msgid "On specific URL"
391
- msgstr ""
392
-
393
- #: popoverincludes/classes/popoveradmin.php:888
394
- msgid "Not on specific URL"
395
- msgstr ""
396
-
397
- #: popoverincludes/classes/popoveradmin.php:891
398
- msgid "In a specific country"
399
- msgstr ""
400
-
401
- #: popoverincludes/classes/popoveradmin.php:894
402
- msgid "Not in a specific country"
403
- msgstr ""
404
-
405
- #: popoverincludes/classes/popoveradmin.php:909
406
- #: popoverincludes/classes/popoveradmin.php:2057
407
- msgid "Inactive"
408
- msgstr ""
409
-
410
- #: popoverincludes/classes/popoveradmin.php:920
411
- msgid "No Pop Overs were found."
412
- msgstr ""
413
-
414
- #: popoverincludes/classes/popoveradmin.php:969
415
- msgid "New Pop Over"
416
- msgstr ""
417
-
418
- #: popoverincludes/classes/popoveradmin.php:1029
419
- msgid "Edit Pop Over"
420
- msgstr ""
421
-
422
- #: popoverincludes/classes/popoveradmin.php:1031
423
- msgid "Add Pop Over"
424
- msgstr ""
425
-
426
- #: popoverincludes/classes/popoveradmin.php:1044
427
- #: popoverincludes/classes/popoveradmin.php:2109
428
- msgid "Pop Over Settings"
429
- msgstr ""
430
-
431
- #: popoverincludes/classes/popoveradmin.php:1050
432
- msgid "Popover title"
433
- msgstr ""
434
-
435
- #: popoverincludes/classes/popoveradmin.php:1053
436
- msgid "Popover content"
437
- msgstr ""
438
-
439
- #: popoverincludes/classes/popoveradmin.php:1065
440
- msgid "Active conditions"
441
- msgstr ""
442
-
443
- #: popoverincludes/classes/popoveradmin.php:1066
444
- msgid ""
445
- "These are the rules that will determine if a popover should show when a "
446
- "visitor arrives at your website ALL rules must be true for the popover to "
447
- "show."
448
- msgstr ""
449
-
450
- #: popoverincludes/classes/popoveradmin.php:1117
451
- msgid "Drop here"
452
- msgstr ""
453
-
454
- #: popoverincludes/classes/popoveradmin.php:1120
455
- msgid "Appearance settings"
456
- msgstr ""
457
-
458
- #: popoverincludes/classes/popoveradmin.php:1123
459
- #: popoverincludes/classes/popoveradmin.php:1711
460
- msgid "Pop Over Size"
461
- msgstr ""
462
-
463
- #: popoverincludes/classes/popoveradmin.php:1125
464
- #: popoverincludes/classes/popoveradmin.php:1713
465
- msgid "Width:"
466
- msgstr ""
467
-
468
- #: popoverincludes/classes/popoveradmin.php:1127
469
- #: popoverincludes/classes/popoveradmin.php:1715
470
- msgid "Height:"
471
- msgstr ""
472
-
473
- #: popoverincludes/classes/popoveradmin.php:1132
474
- msgid "... <i>OR</i> use Javascript to set my pop over size"
475
- msgstr ""
476
-
477
- #: popoverincludes/classes/popoveradmin.php:1141
478
- #: popoverincludes/classes/popoveradmin.php:1721
479
- msgid "Pop Over Position"
480
- msgstr ""
481
-
482
- #: popoverincludes/classes/popoveradmin.php:1143
483
- #: popoverincludes/classes/popoveradmin.php:1161
484
- #: popoverincludes/classes/popoveradmin.php:1723
485
- #: popoverincludes/classes/popoveradmin.php:1733
486
- msgid "Left:"
487
- msgstr ""
488
-
489
- #: popoverincludes/classes/popoveradmin.php:1145
490
- #: popoverincludes/classes/popoveradmin.php:1165
491
- #: popoverincludes/classes/popoveradmin.php:1725
492
- #: popoverincludes/classes/popoveradmin.php:1737
493
- msgid "Top:"
494
- msgstr ""
495
-
496
- #: popoverincludes/classes/popoveradmin.php:1150
497
- msgid "... <i>OR</i> use Javascript to position my pop over"
498
- msgstr ""
499
-
500
- #: popoverincludes/classes/popoveradmin.php:1159
501
- #: popoverincludes/classes/popoveradmin.php:1731
502
- msgid "Pop Over Margins"
503
- msgstr ""
504
-
505
- #: popoverincludes/classes/popoveradmin.php:1163
506
- #: popoverincludes/classes/popoveradmin.php:1735
507
- msgid "Right:"
508
- msgstr ""
509
-
510
- #: popoverincludes/classes/popoveradmin.php:1167
511
- #: popoverincludes/classes/popoveradmin.php:1739
512
- msgid "Bottom:"
513
- msgstr ""
514
-
515
- #: popoverincludes/classes/popoveradmin.php:1175
516
- msgid "or use Javascript to resize and center the popover"
517
- msgstr ""
518
-
519
- #: popoverincludes/classes/popoveradmin.php:1183
520
- msgid "Background Color"
521
- msgstr ""
522
-
523
- #: popoverincludes/classes/popoveradmin.php:1185
524
- #: popoverincludes/classes/popoveradmin.php:1193
525
- #: popoverincludes/classes/popoveradmin.php:1759
526
- #: popoverincludes/classes/popoveradmin.php:1767
527
- msgid "Hex:"
528
- msgstr ""
529
-
530
- #: popoverincludes/classes/popoveradmin.php:1191
531
- msgid "Font Color"
532
- msgstr ""
533
-
534
- #: popoverincludes/classes/popoveradmin.php:1205
535
- msgid "Pop Over Style"
536
- msgstr ""
537
-
538
- #: popoverincludes/classes/popoveradmin.php:1209
539
- msgid "Use Style"
540
- msgstr ""
541
-
542
- #: popoverincludes/classes/popoveradmin.php:1236
543
- msgid "Remove Hide Forever Link"
544
- msgstr ""
545
-
546
- #: popoverincludes/classes/popoveradmin.php:1239
547
- msgid "Remove the \"Never see this message again\" link"
548
- msgstr ""
549
-
550
- #: popoverincludes/classes/popoveradmin.php:1245
551
- msgid ""
552
- "Regular close button acts as &quot;Never see this message again&quot; link"
553
- msgstr ""
554
-
555
- #: popoverincludes/classes/popoveradmin.php:1251
556
- msgid "Expiry time"
557
- msgstr ""
558
-
559
- #: popoverincludes/classes/popoveradmin.php:1254
560
- msgid "days"
561
- msgstr ""
562
-
563
- #: popoverincludes/classes/popoveradmin.php:1259
564
- msgid "Pop over appearance delays"
565
- msgstr ""
566
-
567
- #: popoverincludes/classes/popoveradmin.php:1262
568
- msgid "Show Pop Over"
569
- msgstr ""
570
-
571
- #: popoverincludes/classes/popoveradmin.php:1265
572
- msgid "immediately"
573
- msgstr ""
574
-
575
- #: popoverincludes/classes/popoveradmin.php:1269
576
- msgid "after"
577
- msgstr ""
578
-
579
- #: popoverincludes/classes/popoveradmin.php:1269
580
- msgid "seconds"
581
- msgstr ""
582
-
583
- #: popoverincludes/classes/popoveradmin.php:1283
584
- msgid "Update"
585
- msgstr ""
586
-
587
- #: popoverincludes/classes/popoveradmin.php:1286
588
- msgid "Add"
589
- msgstr ""
590
-
591
- #: popoverincludes/classes/popoveradmin.php:1286
592
- msgid "Add and Activate"
593
- msgstr ""
594
-
595
- #: popoverincludes/classes/popoveradmin.php:1468
596
- #: popoverincludes/includes/functions.php:538
597
- msgid "Add this rule to the popover."
598
- msgstr ""
599
-
600
- #: popoverincludes/classes/popoveradmin.php:1481
601
- #: popoverincludes/classes/popoveradmin.php:1494
602
- #: popoverincludes/classes/popoveradmin.php:1508
603
- #: popoverincludes/classes/popoveradmin.php:1526
604
- #: popoverincludes/classes/popoveradmin.php:1542
605
- #: popoverincludes/includes/functions.php:512
606
- msgid "Remove"
607
- msgstr ""
608
-
609
- #: popoverincludes/classes/popoveradmin.php:1512
610
- #: popoverincludes/classes/popoveradmin.php:1837
611
- msgid "times"
612
- msgstr ""
613
-
614
- #: popoverincludes/classes/popoveradmin.php:1547
615
- msgid "Select a country from the list below"
616
- msgstr ""
617
-
618
- #: popoverincludes/classes/popoveradmin.php:1660
619
- msgid "Your settings have been saved."
620
- msgstr ""
621
-
622
- #: popoverincludes/classes/popoveradmin.php:1689
623
- msgid "Pop Over content settings"
624
- msgstr ""
625
-
626
- #: popoverincludes/classes/popoveradmin.php:1690
627
- msgid ""
628
- "Use the settings below to modify the content of your pop over and the rules "
629
- "that will determine when, or if, it will be displayed."
630
- msgstr ""
631
-
632
- #: popoverincludes/classes/popoveradmin.php:1692
633
- msgid "Pop Over content"
634
- msgstr ""
635
-
636
- #: popoverincludes/classes/popoveradmin.php:1693
637
- msgid ""
638
- "Enter the content for your pop over in the text area below. HTML is allowed."
639
- msgstr ""
640
-
641
- #: popoverincludes/classes/popoveradmin.php:1697
642
- msgid "Update content"
643
- msgstr ""
644
-
645
- #: popoverincludes/classes/popoveradmin.php:1700
646
- msgid "Pop Over display settings"
647
- msgstr ""
648
-
649
- #: popoverincludes/classes/popoveradmin.php:1701
650
- msgid ""
651
- "Use the options below to determine the look, and display settings for the "
652
- "Pop Over."
653
- msgstr ""
654
-
655
- #: popoverincludes/classes/popoveradmin.php:1707
656
- msgid "Appearance Settings"
657
- msgstr ""
658
-
659
- #: popoverincludes/classes/popoveradmin.php:1747
660
- msgid "or just override the above with JS"
661
- msgstr ""
662
-
663
- #: popoverincludes/classes/popoveradmin.php:1757
664
- msgid "Background Colour"
665
- msgstr ""
666
-
667
- #: popoverincludes/classes/popoveradmin.php:1765
668
- msgid "Font Colour"
669
- msgstr ""
670
-
671
- #: popoverincludes/classes/popoveradmin.php:1777
672
- msgid "Display Rules"
673
- msgstr ""
674
-
675
- #: popoverincludes/classes/popoveradmin.php:1779
676
- msgid ""
677
- "Show the Pop Over if <strong>one</strong> of the following checked rules is "
678
- "true."
679
- msgstr ""
680
-
681
- #: popoverincludes/classes/popoveradmin.php:1789
682
- msgid "Visitor is not a supporter."
683
- msgstr ""
684
-
685
- #: popoverincludes/classes/popoveradmin.php:1798
686
- msgid "Visitor is logged in."
687
- msgstr ""
688
-
689
- #: popoverincludes/classes/popoveradmin.php:1804
690
- msgid "Visitor is not logged in."
691
- msgstr ""
692
-
693
- #: popoverincludes/classes/popoveradmin.php:1810
694
- msgid "Visitor has never commented here before."
695
- msgstr ""
696
-
697
- #: popoverincludes/classes/popoveradmin.php:1816
698
- msgid "Visitor came from a search engine."
699
- msgstr ""
700
-
701
- #: popoverincludes/classes/popoveradmin.php:1822
702
- msgid "Visitor did not come from an internal page."
703
- msgstr ""
704
-
705
- #: popoverincludes/classes/popoveradmin.php:1828
706
- msgid "Visitor referrer matches"
707
- msgstr ""
708
-
709
- #: popoverincludes/classes/popoveradmin.php:1835
710
- msgid "And the visitor has seen the pop over less than"
711
- msgstr ""
712
-
713
- #: popoverincludes/classes/popoveradmin.php:1845
714
- msgid "Update settings"
715
- msgstr ""
716
-
717
- #: popoverincludes/classes/popoveradmin.php:1922
718
- msgid "Add-on updated."
719
- msgstr ""
720
-
721
- #: popoverincludes/classes/popoveradmin.php:1923
722
- msgid "Add-on not updated."
723
- msgstr ""
724
-
725
- #: popoverincludes/classes/popoveradmin.php:1925
726
- msgid "Add-on activated."
727
- msgstr ""
728
-
729
- #: popoverincludes/classes/popoveradmin.php:1926
730
- msgid "Add-on not activated."
731
- msgstr ""
732
-
733
- #: popoverincludes/classes/popoveradmin.php:1928
734
- msgid "Add-on deactivated."
735
- msgstr ""
736
-
737
- #: popoverincludes/classes/popoveradmin.php:1929
738
- msgid "Add-on not deactivated."
739
- msgstr ""
740
-
741
- #: popoverincludes/classes/popoveradmin.php:1931
742
- msgid "Add-on activation toggled."
743
- msgstr ""
744
-
745
- #: popoverincludes/classes/popoveradmin.php:1936
746
- msgid "Edit Add-ons"
747
- msgstr ""
748
-
749
- #: popoverincludes/classes/popoveradmin.php:1971
750
- msgid "Add-on Name"
751
- msgstr ""
752
-
753
- #: popoverincludes/classes/popoveradmin.php:1972
754
- msgid "Add-on File"
755
- msgstr ""
756
-
757
- #: popoverincludes/classes/popoveradmin.php:2033
758
- msgid " by "
759
- msgstr ""
760
-
761
- #: popoverincludes/classes/popoveradmin.php:2068
762
- msgid "No Add-ons where found for this install."
763
- msgstr ""
764
-
765
- #: popoverincludes/classes/popoveradmin.php:2103
766
- msgid "Your settings have been updated."
767
- msgstr ""
768
-
769
- #: popoverincludes/classes/popoveradmin.php:2128
770
- msgid "Pop Over loading method"
771
- msgstr ""
772
-
773
- #: popoverincludes/classes/popoveradmin.php:2130
774
- msgid "Select the loading method you want to use for your Pop Overs."
775
- msgstr ""
776
-
777
- #: popoverincludes/classes/popoveradmin.php:2132
778
- msgid "- Page Footer : The pop over is included as part of the page html."
779
- msgstr ""
780
-
781
- #: popoverincludes/classes/popoveradmin.php:2133
782
- msgid ""
783
- "- External Load : The pop over is loaded separately from the page, this is "
784
- "the best option if you are running a caching system."
785
- msgstr ""
786
-
787
- #: popoverincludes/classes/popoveradmin.php:2134
788
- msgid ""
789
- "- Custom Load : The pop over is loaded separately from the page via a custom "
790
- "front end ajax call."
791
- msgstr ""
792
-
793
- #: popoverincludes/classes/popoveradmin.php:2140
794
- msgid "Pop Over loaded using"
795
- msgstr ""
796
-
797
- #: popoverincludes/classes/popoveradmin.php:2146
798
- msgid "Page Footer"
799
- msgstr ""
800
-
801
- #: popoverincludes/classes/popoveradmin.php:2147
802
- msgid "External Load"
803
- msgstr ""
804
-
805
- #: popoverincludes/classes/popoveradmin.php:2148
806
- msgid "Custom Load"
807
- msgstr ""
808
-
809
- #: popoverincludes/css/default/popover.php:2
810
- #: popoverincludes/css/fixed/popover.php:2
811
- #: popoverincludes/css/fullbackground/popover.php:3
812
- #: popoverincludes/css/fullbackgroundfixed/popover.php:2
813
- msgid "Close this box"
814
- msgstr ""
815
-
816
- #: popoverincludes/css/default/popover.php:9
817
- #: popoverincludes/css/fixed/popover.php:8
818
- #: popoverincludes/css/fullbackground/popover.php:9
819
- #: popoverincludes/css/fullbackgroundfixed/popover.php:8
820
- msgid "Never see this message again."
821
- msgstr ""
822
-
823
- #: popoverincludes/external/wpmudev-dash-notification.php:57
824
- #, php-format
825
- msgid ""
826
- "Easily get updates, support, and one-click WPMU DEV plugin/theme "
827
- "installations right from in your dashboard - <strong><a href=\"%s\" title="
828
- "\"Install Now &raquo;\">install the free WPMU DEV Dashboard plugin</a></"
829
- "strong>. &nbsp;&nbsp;&nbsp;<small><a href=\"http://premium.wpmudev.org/wpmu-"
830
- "dev/update-notifications-plugin-information/\">(find out more)</a></small>"
831
- msgstr ""
832
-
833
- #: popoverincludes/external/wpmudev-dash-notification.php:61
834
- #, php-format
835
- msgid ""
836
- "Updates, Support, Premium Plugins, Community - <strong><a href=\"%s\" title="
837
- "\"Activate Now &raquo;\">activate the WPMU DEV Dashboard plugin now</a></"
838
- "strong>."
839
- msgstr ""
840
-
841
- #: popoverincludes/help/popover.help.php:1
842
- #: popoverincludes/help/popoveraddons.help.php:1
843
- msgid "Introduction"
844
- msgstr ""
845
-
846
- #: popoverincludes/help/popover.help.php:2
847
- msgid ""
848
- "The main Pop Over screen show all of the Pop Overs you have set up, you can "
849
- "edit, activate / deactivate and reorder the priority of the Pop Overs using "
850
- "this screen."
851
- msgstr ""
852
-
853
- #: popoverincludes/help/popover.help.php:3
854
- msgid "Adding a Pop Over"
855
- msgstr ""
856
-
857
- #: popoverincludes/help/popover.help.php:4
858
- msgid ""
859
- "To add a Pop Over you can either click on the <strong>Add New</strong> link "
860
- "near the top of the page, or click on the <strong>Create New</strong> menu "
861
- "item in the main Popover menu."
862
- msgstr ""
863
-
864
- #: popoverincludes/help/popover.help.php:5
865
- msgid "Activating / Deactivating a Popover"
866
- msgstr ""
867
-
868
- #: popoverincludes/help/popover.help.php:6
869
- msgid ""
870
- "If you find that you do not need a particular Pop Over for a period of time, "
871
- "but want to keep it for later use, then clicking on the Deactivate link "
872
- "underneath the Pop Overs title will ensure the Pop Over is not included in "
873
- "the processing."
874
- msgstr ""
875
-
876
- #: popoverincludes/help/popover.help.php:8
877
- msgid ""
878
- "You can re-activate at any time by clicking on the Activate link underneath "
879
- "the Pop Overs title"
880
- msgstr ""
881
-
882
- #: popoverincludes/help/popover.help.php:10
883
- msgid "Ordering Pop Overs"
884
- msgstr ""
885
-
886
- #: popoverincludes/help/popover.help.php:11
887
- msgid ""
888
- "The Pop Overs are processed in the order they show in the list. As soon as a "
889
- "Pop Over is shown, the remainder of the Pop Overs in the list are ignored. "
890
- "You can change the order of the Pop Overs processing by clicking in the left "
891
- "hand column of the list and dragging the relevant pop Over to the desired "
892
- "location."
893
- msgstr ""
894
-
895
- #: popoverincludes/help/popover.help.php:13
896
- msgid "Deleting Pop Overs"
897
- msgstr ""
898
-
899
- #: popoverincludes/help/popover.help.php:14
900
- msgid ""
901
- "Once you have finished with a Pop Over you can delete it by clicking on the "
902
- "Delete link underneath the Pop Overs title."
903
- msgstr ""
904
-
905
- #: popoverincludes/help/popoveraddons.help.php:2
906
- msgid ""
907
- "Add-ons allow you to extend the Pop Over plugin. The Add-on screen lists all "
908
- "of the Add-ons currently installed. To activate or deactivate an Add-on you "
909
- "should click on the Activate or Deactivate link underneath the Add-ons title."
910
- msgstr ""
911
-
912
- #: popoverincludes/help/popoveredit.help.php:1
913
- msgid "Adding / Editing a Pop Over"
914
- msgstr ""
915
-
916
- #: popoverincludes/help/popoveredit.help.php:2
917
- msgid "A Pop Over should have the following information."
918
- msgstr ""
919
-
920
- #: popoverincludes/help/popoveredit.help.php:4
921
- msgid ""
922
- "<strong>A Title</strong> - The Pop Over title helps you to identify "
923
- "different Pop Overs in the main list."
924
- msgstr ""
925
-
926
- #: popoverincludes/help/popoveredit.help.php:5
927
- msgid ""
928
- "<strong>Pop Over content</strong> - This is the content that the Pop Over "
929
- "will display. You can upload any images you require by clicking on the Add "
930
- "Media button at the top of the edit area."
931
- msgstr ""
932
-
933
- #: popoverincludes/help/popoveredit.help.php:8
934
- msgid ""
935
- "<strong>Active Conditions</strong> - You can determine the conditions that "
936
- "need to be fulfilled in order for this Pop Over to display by dragging the "
937
- "relevant conditions in the the <strong>Drop Here</strong> box. All of the "
938
- "conditions must be true in order for the Pop Over to display."
939
- msgstr ""
940
-
941
- #: popoverincludes/help/popoveredit.help.php:11
942
- msgid ""
943
- "<strong>Appearance Settings</strong> - You can set the size and position of "
944
- "the Pop Over by setting the Appearance options. If you want the Pop Over "
945
- "system to attempt to determine the size of the Pop Overs content and "
946
- "automatically resize the Pop Over and attempt to center it on your browser "
947
- "window."
948
- msgstr ""
949
-
950
- #: popoverincludes/includes/class_wd_help_tooltips.php:297
951
- msgid "Help"
952
- msgstr ""
953
-
954
- #: popoverincludes/includes/functions.php:150
955
- msgid "Australia"
956
- msgstr ""
957
-
958
- #: popoverincludes/includes/functions.php:151
959
- msgid "Afghanistan"
960
- msgstr ""
961
-
962
- #: popoverincludes/includes/functions.php:152
963
- msgid "Albania"
964
- msgstr ""
965
-
966
- #: popoverincludes/includes/functions.php:153
967
- msgid "Algeria"
968
- msgstr ""
969
-
970
- #: popoverincludes/includes/functions.php:154
971
- msgid "American Samoa"
972
- msgstr ""
973
-
974
- #: popoverincludes/includes/functions.php:155
975
- msgid "Andorra"
976
- msgstr ""
977
-
978
- #: popoverincludes/includes/functions.php:156
979
- msgid "Angola"
980
- msgstr ""
981
-
982
- #: popoverincludes/includes/functions.php:157
983
- msgid "Anguilla"
984
- msgstr ""
985
-
986
- #: popoverincludes/includes/functions.php:158
987
- msgid "Antarctica"
988
- msgstr ""
989
-
990
- #: popoverincludes/includes/functions.php:159
991
- msgid "Antigua & Barbuda"
992
- msgstr ""
993
-
994
- #: popoverincludes/includes/functions.php:160
995
- msgid "Argentina"
996
- msgstr ""
997
-
998
- #: popoverincludes/includes/functions.php:161
999
- msgid "Armenia"
1000
- msgstr ""
1001
-
1002
- #: popoverincludes/includes/functions.php:162
1003
- msgid "Aruba"
1004
- msgstr ""
1005
-
1006
- #: popoverincludes/includes/functions.php:163
1007
- msgid "Austria"
1008
- msgstr ""
1009
-
1010
- #: popoverincludes/includes/functions.php:164
1011
- msgid "Azerbaijan"
1012
- msgstr ""
1013
-
1014
- #: popoverincludes/includes/functions.php:165
1015
- msgid "Bahamas"
1016
- msgstr ""
1017
-
1018
- #: popoverincludes/includes/functions.php:166
1019
- msgid "Bahrain"
1020
- msgstr ""
1021
-
1022
- #: popoverincludes/includes/functions.php:167
1023
- msgid "Bangladesh"
1024
- msgstr ""
1025
-
1026
- #: popoverincludes/includes/functions.php:168
1027
- msgid "Barbados"
1028
- msgstr ""
1029
-
1030
- #: popoverincludes/includes/functions.php:169
1031
- msgid "Belarus"
1032
- msgstr ""
1033
-
1034
- #: popoverincludes/includes/functions.php:170
1035
- msgid "Belgium"
1036
- msgstr ""
1037
-
1038
- #: popoverincludes/includes/functions.php:171
1039
- msgid "Belize"
1040
- msgstr ""
1041
-
1042
- #: popoverincludes/includes/functions.php:172
1043
- msgid "Benin"
1044
- msgstr ""
1045
-
1046
- #: popoverincludes/includes/functions.php:173
1047
- msgid "Bermuda"
1048
- msgstr ""
1049
-
1050
- #: popoverincludes/includes/functions.php:174
1051
- msgid "Bhutan"
1052
- msgstr ""
1053
-
1054
- #: popoverincludes/includes/functions.php:175
1055
- msgid "Bolivia"
1056
- msgstr ""
1057
-
1058
- #: popoverincludes/includes/functions.php:176
1059
- msgid "Bosnia/Hercegovina"
1060
- msgstr ""
1061
-
1062
- #: popoverincludes/includes/functions.php:177
1063
- msgid "Botswana"
1064
- msgstr ""
1065
-
1066
- #: popoverincludes/includes/functions.php:178
1067
- msgid "Bouvet Island"
1068
- msgstr ""
1069
-
1070
- #: popoverincludes/includes/functions.php:179
1071
- msgid "Brazil"
1072
- msgstr ""
1073
-
1074
- #: popoverincludes/includes/functions.php:180
1075
- msgid "British Indian Ocean Territory"
1076
- msgstr ""
1077
-
1078
- #: popoverincludes/includes/functions.php:181
1079
- msgid "Brunei Darussalam"
1080
- msgstr ""
1081
-
1082
- #: popoverincludes/includes/functions.php:182
1083
- msgid "Bulgaria"
1084
- msgstr ""
1085
-
1086
- #: popoverincludes/includes/functions.php:183
1087
- msgid "Burkina Faso"
1088
- msgstr ""
1089
-
1090
- #: popoverincludes/includes/functions.php:184
1091
- msgid "Burundi"
1092
- msgstr ""
1093
-
1094
- #: popoverincludes/includes/functions.php:185
1095
- msgid "Cambodia"
1096
- msgstr ""
1097
-
1098
- #: popoverincludes/includes/functions.php:186
1099
- msgid "Cameroon"
1100
- msgstr ""
1101
-
1102
- #: popoverincludes/includes/functions.php:187
1103
- msgid "Canada"
1104
- msgstr ""
1105
-
1106
- #: popoverincludes/includes/functions.php:188
1107
- msgid "Cape Verde"
1108
- msgstr ""
1109
-
1110
- #: popoverincludes/includes/functions.php:189
1111
- msgid "Cayman Is"
1112
- msgstr ""
1113
-
1114
- #: popoverincludes/includes/functions.php:190
1115
- msgid "Central African Republic"
1116
- msgstr ""
1117
-
1118
- #: popoverincludes/includes/functions.php:191
1119
- msgid "Chad"
1120
- msgstr ""
1121
-
1122
- #: popoverincludes/includes/functions.php:192
1123
- msgid "Chile"
1124
- msgstr ""
1125
-
1126
- #: popoverincludes/includes/functions.php:193
1127
- msgid "China, People's Republic of"
1128
- msgstr ""
1129
-
1130
- #: popoverincludes/includes/functions.php:194
1131
- msgid "Christmas Island"
1132
- msgstr ""
1133
-
1134
- #: popoverincludes/includes/functions.php:195
1135
- msgid "Cocos Islands"
1136
- msgstr ""
1137
-
1138
- #: popoverincludes/includes/functions.php:196
1139
- msgid "Colombia"
1140
- msgstr ""
1141
-
1142
- #: popoverincludes/includes/functions.php:197
1143
- msgid "Comoros"
1144
- msgstr ""
1145
-
1146
- #: popoverincludes/includes/functions.php:198
1147
- msgid "Congo"
1148
- msgstr ""
1149
-
1150
- #: popoverincludes/includes/functions.php:199
1151
- msgid "Congo, Democratic Republic"
1152
- msgstr ""
1153
-
1154
- #: popoverincludes/includes/functions.php:200
1155
- msgid "Cook Islands"
1156
- msgstr ""
1157
-
1158
- #: popoverincludes/includes/functions.php:201
1159
- msgid "Costa Rica"
1160
- msgstr ""
1161
-
1162
- #: popoverincludes/includes/functions.php:202
1163
- msgid "Cote d'Ivoire"
1164
- msgstr ""
1165
-
1166
- #: popoverincludes/includes/functions.php:203
1167
- msgid "Croatia"
1168
- msgstr ""
1169
-
1170
- #: popoverincludes/includes/functions.php:204
1171
- msgid "Cuba"
1172
- msgstr ""
1173
-
1174
- #: popoverincludes/includes/functions.php:205
1175
- msgid "Cyprus"
1176
- msgstr ""
1177
-
1178
- #: popoverincludes/includes/functions.php:206
1179
- msgid "Czech Republic"
1180
- msgstr ""
1181
-
1182
- #: popoverincludes/includes/functions.php:207
1183
- msgid "Denmark"
1184
- msgstr ""
1185
-
1186
- #: popoverincludes/includes/functions.php:208
1187
- msgid "Djibouti"
1188
- msgstr ""
1189
-
1190
- #: popoverincludes/includes/functions.php:209
1191
- msgid "Dominica"
1192
- msgstr ""
1193
-
1194
- #: popoverincludes/includes/functions.php:210
1195
- msgid "Dominican Republic"
1196
- msgstr ""
1197
-
1198
- #: popoverincludes/includes/functions.php:211
1199
- msgid "East Timor"
1200
- msgstr ""
1201
-
1202
- #: popoverincludes/includes/functions.php:212
1203
- msgid "Ecuador"
1204
- msgstr ""
1205
-
1206
- #: popoverincludes/includes/functions.php:213
1207
- msgid "Egypt"
1208
- msgstr ""
1209
-
1210
- #: popoverincludes/includes/functions.php:214
1211
- msgid "El Salvador"
1212
- msgstr ""
1213
-
1214
- #: popoverincludes/includes/functions.php:215
1215
- msgid "Equatorial Guinea"
1216
- msgstr ""
1217
-
1218
- #: popoverincludes/includes/functions.php:216
1219
- msgid "Eritrea"
1220
- msgstr ""
1221
-
1222
- #: popoverincludes/includes/functions.php:217
1223
- msgid "Estonia"
1224
- msgstr ""
1225
-
1226
- #: popoverincludes/includes/functions.php:218
1227
- msgid "Ethiopia"
1228
- msgstr ""
1229
-
1230
- #: popoverincludes/includes/functions.php:219
1231
- msgid "Falkland Islands"
1232
- msgstr ""
1233
-
1234
- #: popoverincludes/includes/functions.php:220
1235
- msgid "Faroe Islands"
1236
- msgstr ""
1237
-
1238
- #: popoverincludes/includes/functions.php:221
1239
- msgid "Fiji"
1240
- msgstr ""
1241
-
1242
- #: popoverincludes/includes/functions.php:222
1243
- msgid "Finland"
1244
- msgstr ""
1245
-
1246
- #: popoverincludes/includes/functions.php:223
1247
- msgid "France"
1248
- msgstr ""
1249
-
1250
- #: popoverincludes/includes/functions.php:224
1251
- msgid "France, Metropolitan"
1252
- msgstr ""
1253
-
1254
- #: popoverincludes/includes/functions.php:225
1255
- msgid "French Guiana"
1256
- msgstr ""
1257
-
1258
- #: popoverincludes/includes/functions.php:226
1259
- msgid "French Polynesia"
1260
- msgstr ""
1261
-
1262
- #: popoverincludes/includes/functions.php:227
1263
- msgid "French South Territories"
1264
- msgstr ""
1265
-
1266
- #: popoverincludes/includes/functions.php:228
1267
- msgid "Gabon"
1268
- msgstr ""
1269
-
1270
- #: popoverincludes/includes/functions.php:229
1271
- msgid "Gambia"
1272
- msgstr ""
1273
-
1274
- #: popoverincludes/includes/functions.php:230
1275
- msgid "Georgia"
1276
- msgstr ""
1277
-
1278
- #: popoverincludes/includes/functions.php:231
1279
- msgid "Germany"
1280
- msgstr ""
1281
-
1282
- #: popoverincludes/includes/functions.php:232
1283
- msgid "Ghana"
1284
- msgstr ""
1285
-
1286
- #: popoverincludes/includes/functions.php:233
1287
- msgid "Gibraltar"
1288
- msgstr ""
1289
-
1290
- #: popoverincludes/includes/functions.php:234
1291
- msgid "Greece"
1292
- msgstr ""
1293
-
1294
- #: popoverincludes/includes/functions.php:235
1295
- msgid "Greenland"
1296
- msgstr ""
1297
-
1298
- #: popoverincludes/includes/functions.php:236
1299
- msgid "Grenada"
1300
- msgstr ""
1301
-
1302
- #: popoverincludes/includes/functions.php:237
1303
- msgid "Guadeloupe"
1304
- msgstr ""
1305
-
1306
- #: popoverincludes/includes/functions.php:238
1307
- msgid "Guam"
1308
- msgstr ""
1309
-
1310
- #: popoverincludes/includes/functions.php:239
1311
- msgid "Guatemala"
1312
- msgstr ""
1313
-
1314
- #: popoverincludes/includes/functions.php:240
1315
- msgid "Guinea"
1316
- msgstr ""
1317
-
1318
- #: popoverincludes/includes/functions.php:241
1319
- msgid "Guinea-Bissau"
1320
- msgstr ""
1321
-
1322
- #: popoverincludes/includes/functions.php:242
1323
- msgid "Guyana"
1324
- msgstr ""
1325
-
1326
- #: popoverincludes/includes/functions.php:243
1327
- msgid "Haiti"
1328
- msgstr ""
1329
-
1330
- #: popoverincludes/includes/functions.php:244
1331
- msgid "Heard Island And Mcdonald Island"
1332
- msgstr ""
1333
-
1334
- #: popoverincludes/includes/functions.php:245
1335
- msgid "Honduras"
1336
- msgstr ""
1337
-
1338
- #: popoverincludes/includes/functions.php:246
1339
- msgid "Hong Kong"
1340
- msgstr ""
1341
-
1342
- #: popoverincludes/includes/functions.php:247
1343
- msgid "Hungary"
1344
- msgstr ""
1345
-
1346
- #: popoverincludes/includes/functions.php:248
1347
- msgid "Iceland"
1348
- msgstr ""
1349
-
1350
- #: popoverincludes/includes/functions.php:249
1351
- msgid "India"
1352
- msgstr ""
1353
-
1354
- #: popoverincludes/includes/functions.php:250
1355
- msgid "Indonesia"
1356
- msgstr ""
1357
-
1358
- #: popoverincludes/includes/functions.php:251
1359
- msgid "Iran"
1360
- msgstr ""
1361
-
1362
- #: popoverincludes/includes/functions.php:252
1363
- msgid "Iraq"
1364
- msgstr ""
1365
-
1366
- #: popoverincludes/includes/functions.php:253
1367
- msgid "Ireland"
1368
- msgstr ""
1369
-
1370
- #: popoverincludes/includes/functions.php:254
1371
- msgid "Israel"
1372
- msgstr ""
1373
-
1374
- #: popoverincludes/includes/functions.php:255
1375
- msgid "Italy"
1376
- msgstr ""
1377
-
1378
- #: popoverincludes/includes/functions.php:256
1379
- msgid "Jamaica"
1380
- msgstr ""
1381
-
1382
- #: popoverincludes/includes/functions.php:257
1383
- msgid "Japan"
1384
- msgstr ""
1385
-
1386
- #: popoverincludes/includes/functions.php:258
1387
- msgid "Johnston Island"
1388
- msgstr ""
1389
-
1390
- #: popoverincludes/includes/functions.php:259
1391
- msgid "Jordan"
1392
- msgstr ""
1393
-
1394
- #: popoverincludes/includes/functions.php:260
1395
- msgid "Kazakhstan"
1396
- msgstr ""
1397
-
1398
- #: popoverincludes/includes/functions.php:261
1399
- msgid "Kenya"
1400
- msgstr ""
1401
-
1402
- #: popoverincludes/includes/functions.php:262
1403
- msgid "Kiribati"
1404
- msgstr ""
1405
-
1406
- #: popoverincludes/includes/functions.php:263
1407
- msgid "Korea, Democratic Peoples Republic"
1408
- msgstr ""
1409
-
1410
- #: popoverincludes/includes/functions.php:264
1411
- msgid "Korea, Republic of"
1412
- msgstr ""
1413
-
1414
- #: popoverincludes/includes/functions.php:265
1415
- msgid "Kuwait"
1416
- msgstr ""
1417
-
1418
- #: popoverincludes/includes/functions.php:266
1419
- msgid "Kyrgyzstan"
1420
- msgstr ""
1421
-
1422
- #: popoverincludes/includes/functions.php:267
1423
- msgid "Lao People's Democratic Republic"
1424
- msgstr ""
1425
-
1426
- #: popoverincludes/includes/functions.php:268
1427
- msgid "Latvia"
1428
- msgstr ""
1429
-
1430
- #: popoverincludes/includes/functions.php:269
1431
- msgid "Lebanon"
1432
- msgstr ""
1433
-
1434
- #: popoverincludes/includes/functions.php:270
1435
- msgid "Lesotho"
1436
- msgstr ""
1437
-
1438
- #: popoverincludes/includes/functions.php:271
1439
- msgid "Liberia"
1440
- msgstr ""
1441
-
1442
- #: popoverincludes/includes/functions.php:272
1443
- msgid "Libyan Arab Jamahiriya"
1444
- msgstr ""
1445
-
1446
- #: popoverincludes/includes/functions.php:273
1447
- msgid "Liechtenstein"
1448
- msgstr ""
1449
-
1450
- #: popoverincludes/includes/functions.php:274
1451
- msgid "Lithuania"
1452
- msgstr ""
1453
-
1454
- #: popoverincludes/includes/functions.php:275
1455
- msgid "Luxembourg"
1456
- msgstr ""
1457
-
1458
- #: popoverincludes/includes/functions.php:276
1459
- msgid "Macau"
1460
- msgstr ""
1461
-
1462
- #: popoverincludes/includes/functions.php:277
1463
- msgid "Macedonia"
1464
- msgstr ""
1465
-
1466
- #: popoverincludes/includes/functions.php:278
1467
- msgid "Madagascar"
1468
- msgstr ""
1469
-
1470
- #: popoverincludes/includes/functions.php:279
1471
- msgid "Malawi"
1472
- msgstr ""
1473
-
1474
- #: popoverincludes/includes/functions.php:280
1475
- msgid "Malaysia"
1476
- msgstr ""
1477
-
1478
- #: popoverincludes/includes/functions.php:281
1479
- msgid "Maldives"
1480
- msgstr ""
1481
-
1482
- #: popoverincludes/includes/functions.php:282
1483
- msgid "Mali"
1484
- msgstr ""
1485
-
1486
- #: popoverincludes/includes/functions.php:283
1487
- msgid "Malta"
1488
- msgstr ""
1489
-
1490
- #: popoverincludes/includes/functions.php:284
1491
- msgid "Marshall Islands"
1492
- msgstr ""
1493
-
1494
- #: popoverincludes/includes/functions.php:285
1495
- msgid "Martinique"
1496
- msgstr ""
1497
-
1498
- #: popoverincludes/includes/functions.php:286
1499
- msgid "Mauritania"
1500
- msgstr ""
1501
-
1502
- #: popoverincludes/includes/functions.php:287
1503
- msgid "Mauritius"
1504
- msgstr ""
1505
-
1506
- #: popoverincludes/includes/functions.php:288
1507
- msgid "Mayotte"
1508
- msgstr ""
1509
-
1510
- #: popoverincludes/includes/functions.php:289
1511
- msgid "Mexico"
1512
- msgstr ""
1513
-
1514
- #: popoverincludes/includes/functions.php:290
1515
- msgid "Micronesia"
1516
- msgstr ""
1517
-
1518
- #: popoverincludes/includes/functions.php:291
1519
- msgid "Moldavia"
1520
- msgstr ""
1521
-
1522
- #: popoverincludes/includes/functions.php:292
1523
- msgid "Monaco"
1524
- msgstr ""
1525
-
1526
- #: popoverincludes/includes/functions.php:293
1527
- msgid "Mongolia"
1528
- msgstr ""
1529
-
1530
- #: popoverincludes/includes/functions.php:294
1531
- msgid "Montserrat"
1532
- msgstr ""
1533
-
1534
- #: popoverincludes/includes/functions.php:295
1535
- msgid "Morocco"
1536
- msgstr ""
1537
-
1538
- #: popoverincludes/includes/functions.php:296
1539
- msgid "Mozambique"
1540
- msgstr ""
1541
-
1542
- #: popoverincludes/includes/functions.php:297
1543
- msgid "Union Of Myanmar"
1544
- msgstr ""
1545
-
1546
- #: popoverincludes/includes/functions.php:298
1547
- msgid "Namibia"
1548
- msgstr ""
1549
-
1550
- #: popoverincludes/includes/functions.php:299
1551
- msgid "Nauru Island"
1552
- msgstr ""
1553
-
1554
- #: popoverincludes/includes/functions.php:300
1555
- msgid "Nepal"
1556
- msgstr ""
1557
-
1558
- #: popoverincludes/includes/functions.php:301
1559
- msgid "Netherlands"
1560
- msgstr ""
1561
-
1562
- #: popoverincludes/includes/functions.php:302
1563
- msgid "Netherlands Antilles"
1564
- msgstr ""
1565
-
1566
- #: popoverincludes/includes/functions.php:303
1567
- msgid "New Caledonia"
1568
- msgstr ""
1569
-
1570
- #: popoverincludes/includes/functions.php:304
1571
- msgid "New Zealand"
1572
- msgstr ""
1573
-
1574
- #: popoverincludes/includes/functions.php:305
1575
- msgid "Nicaragua"
1576
- msgstr ""
1577
-
1578
- #: popoverincludes/includes/functions.php:306
1579
- msgid "Niger"
1580
- msgstr ""
1581
-
1582
- #: popoverincludes/includes/functions.php:307
1583
- msgid "Nigeria"
1584
- msgstr ""
1585
-
1586
- #: popoverincludes/includes/functions.php:308
1587
- msgid "Niue"
1588
- msgstr ""
1589
-
1590
- #: popoverincludes/includes/functions.php:309
1591
- msgid "Norfolk Island"
1592
- msgstr ""
1593
-
1594
- #: popoverincludes/includes/functions.php:310
1595
- msgid "Mariana Islands, Northern"
1596
- msgstr ""
1597
-
1598
- #: popoverincludes/includes/functions.php:311
1599
- msgid "Norway"
1600
- msgstr ""
1601
-
1602
- #: popoverincludes/includes/functions.php:312
1603
- msgid "Oman"
1604
- msgstr ""
1605
-
1606
- #: popoverincludes/includes/functions.php:313
1607
- msgid "Pakistan"
1608
- msgstr ""
1609
-
1610
- #: popoverincludes/includes/functions.php:314
1611
- msgid "Palau Islands"
1612
- msgstr ""
1613
-
1614
- #: popoverincludes/includes/functions.php:315
1615
- msgid "Palestine"
1616
- msgstr ""
1617
-
1618
- #: popoverincludes/includes/functions.php:316
1619
- msgid "Panama"
1620
- msgstr ""
1621
-
1622
- #: popoverincludes/includes/functions.php:317
1623
- msgid "Papua New Guinea"
1624
- msgstr ""
1625
-
1626
- #: popoverincludes/includes/functions.php:318
1627
- msgid "Paraguay"
1628
- msgstr ""
1629
-
1630
- #: popoverincludes/includes/functions.php:319
1631
- msgid "Peru"
1632
- msgstr ""
1633
-
1634
- #: popoverincludes/includes/functions.php:320
1635
- msgid "Philippines"
1636
- msgstr ""
1637
-
1638
- #: popoverincludes/includes/functions.php:321
1639
- msgid "Pitcairn"
1640
- msgstr ""
1641
-
1642
- #: popoverincludes/includes/functions.php:322
1643
- msgid "Poland"
1644
- msgstr ""
1645
-
1646
- #: popoverincludes/includes/functions.php:323
1647
- msgid "Portugal"
1648
- msgstr ""
1649
-
1650
- #: popoverincludes/includes/functions.php:324
1651
- msgid "Puerto Rico"
1652
- msgstr ""
1653
-
1654
- #: popoverincludes/includes/functions.php:325
1655
- msgid "Qatar"
1656
- msgstr ""
1657
-
1658
- #: popoverincludes/includes/functions.php:326
1659
- msgid "Reunion Island"
1660
- msgstr ""
1661
-
1662
- #: popoverincludes/includes/functions.php:327
1663
- msgid "Romania"
1664
- msgstr ""
1665
-
1666
- #: popoverincludes/includes/functions.php:328
1667
- msgid "Russian Federation"
1668
- msgstr ""
1669
-
1670
- #: popoverincludes/includes/functions.php:329
1671
- msgid "Rwanda"
1672
- msgstr ""
1673
-
1674
- #: popoverincludes/includes/functions.php:330
1675
- msgid "Samoa"
1676
- msgstr ""
1677
-
1678
- #: popoverincludes/includes/functions.php:331
1679
- msgid "St Helena"
1680
- msgstr ""
1681
-
1682
- #: popoverincludes/includes/functions.php:332
1683
- msgid "St Kitts & Nevis"
1684
- msgstr ""
1685
-
1686
- #: popoverincludes/includes/functions.php:333
1687
- msgid "St Lucia"
1688
- msgstr ""
1689
-
1690
- #: popoverincludes/includes/functions.php:334
1691
- msgid "St Pierre & Miquelon"
1692
- msgstr ""
1693
-
1694
- #: popoverincludes/includes/functions.php:335
1695
- msgid "St Vincent"
1696
- msgstr ""
1697
-
1698
- #: popoverincludes/includes/functions.php:336
1699
- msgid "San Marino"
1700
- msgstr ""
1701
-
1702
- #: popoverincludes/includes/functions.php:337
1703
- msgid "Sao Tome & Principe"
1704
- msgstr ""
1705
-
1706
- #: popoverincludes/includes/functions.php:338
1707
- msgid "Saudi Arabia"
1708
- msgstr ""
1709
-
1710
- #: popoverincludes/includes/functions.php:339
1711
- msgid "Senegal"
1712
- msgstr ""
1713
-
1714
- #: popoverincludes/includes/functions.php:340
1715
- msgid "Seychelles"
1716
- msgstr ""
1717
-
1718
- #: popoverincludes/includes/functions.php:341
1719
- msgid "Sierra Leone"
1720
- msgstr ""
1721
-
1722
- #: popoverincludes/includes/functions.php:342
1723
- msgid "Singapore"
1724
- msgstr ""
1725
-
1726
- #: popoverincludes/includes/functions.php:343
1727
- msgid "Slovakia"
1728
- msgstr ""
1729
-
1730
- #: popoverincludes/includes/functions.php:344
1731
- msgid "Slovenia"
1732
- msgstr ""
1733
-
1734
- #: popoverincludes/includes/functions.php:345
1735
- msgid "Solomon Islands"
1736
- msgstr ""
1737
-
1738
- #: popoverincludes/includes/functions.php:346
1739
- msgid "Somalia"
1740
- msgstr ""
1741
-
1742
- #: popoverincludes/includes/functions.php:347
1743
- msgid "South Africa"
1744
- msgstr ""
1745
-
1746
- #: popoverincludes/includes/functions.php:348
1747
- msgid "South Georgia and South Sandwich"
1748
- msgstr ""
1749
-
1750
- #: popoverincludes/includes/functions.php:349
1751
- msgid "Spain"
1752
- msgstr ""
1753
-
1754
- #: popoverincludes/includes/functions.php:350
1755
- msgid "Sri Lanka"
1756
- msgstr ""
1757
-
1758
- #: popoverincludes/includes/functions.php:351
1759
- msgid "Stateless Persons"
1760
- msgstr ""
1761
-
1762
- #: popoverincludes/includes/functions.php:352
1763
- msgid "Sudan"
1764
- msgstr ""
1765
-
1766
- #: popoverincludes/includes/functions.php:353
1767
- msgid "Suriname"
1768
- msgstr ""
1769
-
1770
- #: popoverincludes/includes/functions.php:354
1771
- msgid "Svalbard and Jan Mayen"
1772
- msgstr ""
1773
-
1774
- #: popoverincludes/includes/functions.php:355
1775
- msgid "Swaziland"
1776
- msgstr ""
1777
-
1778
- #: popoverincludes/includes/functions.php:356
1779
- msgid "Sweden"
1780
- msgstr ""
1781
-
1782
- #: popoverincludes/includes/functions.php:357
1783
- msgid "Switzerland"
1784
- msgstr ""
1785
-
1786
- #: popoverincludes/includes/functions.php:358
1787
- msgid "Syrian Arab Republic"
1788
- msgstr ""
1789
-
1790
- #: popoverincludes/includes/functions.php:359
1791
- msgid "Taiwan, Republic of China"
1792
- msgstr ""
1793
-
1794
- #: popoverincludes/includes/functions.php:360
1795
- msgid "Tajikistan"
1796
- msgstr ""
1797
-
1798
- #: popoverincludes/includes/functions.php:361
1799
- msgid "Tanzania"
1800
- msgstr ""
1801
-
1802
- #: popoverincludes/includes/functions.php:362
1803
- msgid "Thailand"
1804
- msgstr ""
1805
-
1806
- #: popoverincludes/includes/functions.php:363
1807
- msgid "Timor Leste"
1808
- msgstr ""
1809
-
1810
- #: popoverincludes/includes/functions.php:364
1811
- msgid "Togo"
1812
- msgstr ""
1813
-
1814
- #: popoverincludes/includes/functions.php:365
1815
- msgid "Tokelau"
1816
- msgstr ""
1817
-
1818
- #: popoverincludes/includes/functions.php:366
1819
- msgid "Tonga"
1820
- msgstr ""
1821
-
1822
- #: popoverincludes/includes/functions.php:367
1823
- msgid "Trinidad & Tobago"
1824
- msgstr ""
1825
-
1826
- #: popoverincludes/includes/functions.php:368
1827
- msgid "Tunisia"
1828
- msgstr ""
1829
-
1830
- #: popoverincludes/includes/functions.php:369
1831
- msgid "Turkey"
1832
- msgstr ""
1833
-
1834
- #: popoverincludes/includes/functions.php:370
1835
- msgid "Turkmenistan"
1836
- msgstr ""
1837
-
1838
- #: popoverincludes/includes/functions.php:371
1839
- msgid "Turks And Caicos Islands"
1840
- msgstr ""
1841
-
1842
- #: popoverincludes/includes/functions.php:372
1843
- msgid "Tuvalu"
1844
- msgstr ""
1845
-
1846
- #: popoverincludes/includes/functions.php:373
1847
- msgid "Uganda"
1848
- msgstr ""
1849
-
1850
- #: popoverincludes/includes/functions.php:374
1851
- msgid "Ukraine"
1852
- msgstr ""
1853
-
1854
- #: popoverincludes/includes/functions.php:375
1855
- msgid "United Arab Emirates"
1856
- msgstr ""
1857
-
1858
- #: popoverincludes/includes/functions.php:376
1859
- msgid "United Kingdom"
1860
- msgstr ""
1861
-
1862
- #: popoverincludes/includes/functions.php:377
1863
- msgid "US Minor Outlying Islands"
1864
- msgstr ""
1865
-
1866
- #: popoverincludes/includes/functions.php:378
1867
- msgid "USA"
1868
- msgstr ""
1869
-
1870
- #: popoverincludes/includes/functions.php:379
1871
- msgid "Upper Volta"
1872
- msgstr ""
1873
-
1874
- #: popoverincludes/includes/functions.php:380
1875
- msgid "Uruguay"
1876
- msgstr ""
1877
-
1878
- #: popoverincludes/includes/functions.php:381
1879
- msgid "Uzbekistan"
1880
- msgstr ""
1881
-
1882
- #: popoverincludes/includes/functions.php:382
1883
- msgid "Vanuatu"
1884
- msgstr ""
1885
-
1886
- #: popoverincludes/includes/functions.php:383
1887
- msgid "Vatican City State"
1888
- msgstr ""
1889
-
1890
- #: popoverincludes/includes/functions.php:384
1891
- msgid "Venezuela"
1892
- msgstr ""
1893
-
1894
- #: popoverincludes/includes/functions.php:385
1895
- msgid "Vietnam"
1896
- msgstr ""
1897
-
1898
- #: popoverincludes/includes/functions.php:386
1899
- msgid "Virgin Islands (British)"
1900
- msgstr ""
1901
-
1902
- #: popoverincludes/includes/functions.php:387
1903
- msgid "Virgin Islands (US)"
1904
- msgstr ""
1905
-
1906
- #: popoverincludes/includes/functions.php:388
1907
- msgid "Wallis And Futuna Islands"
1908
- msgstr ""
1909
-
1910
- #: popoverincludes/includes/functions.php:389
1911
- msgid "Western Sahara"
1912
- msgstr ""
1913
-
1914
- #: popoverincludes/includes/functions.php:390
1915
- msgid "Yemen Arab Rep."
1916
- msgstr ""
1917
-
1918
- #: popoverincludes/includes/functions.php:391
1919
- msgid "Yemen Democratic"
1920
- msgstr ""
1921
-
1922
- #: popoverincludes/includes/functions.php:392
1923
- msgid "Yugoslavia"
1924
- msgstr ""
1925
-
1926
- #: popoverincludes/includes/functions.php:393
1927
- msgid "Zaire"
1928
- msgstr ""
1929
-
1930
- #: popoverincludes/includes/functions.php:394
1931
- msgid "Zambia"
1932
- msgstr ""
1933
-
1934
- #: popoverincludes/includes/functions.php:395
1935
- msgid "Zimbabwe"
1936
- msgstr ""
1937
-
1938
- #: popoverincludes/includes/functions.php:512
1939
- #, php-format
1940
- msgid "Remove %s tag from this rules area."
1941
- msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
popover.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: WordPress PopUp
4
  Plugin URI: http://premium.wpmudev.org/project/the-pop-over-plugin/
5
  Description: Allows you to display a fancy PopUp to visitors sitewide or per blog. A *very* effective way of advertising a mailing list, special offer or running a plain old ad.
6
- Version: 4.6.1.1
7
  Author: WPMU DEV
8
  Author URI: http://premium.wpmudev.org
9
  Textdomain: popover
3
  Plugin Name: WordPress PopUp
4
  Plugin URI: http://premium.wpmudev.org/project/the-pop-over-plugin/
5
  Description: Allows you to display a fancy PopUp to visitors sitewide or per blog. A *very* effective way of advertising a mailing list, special offer or running a plain old ad.
6
+ Version: 4.6.1.4
7
  Author: WPMU DEV
8
  Author URI: http://premium.wpmudev.org
9
  Textdomain: popover
readme.txt CHANGED
@@ -72,6 +72,26 @@ For network wide control - add the line define('PO_GLOBAL', true); to your wp-co
72
 
73
  == Changelog ==
74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  = 4.6.1.1 =
76
  * New: Added Contextual Help to the PopUp editor to show supported shortcodes.
77
  * Fix: Logic of rule "[Not] On specific URL" corrected.
72
 
73
  == Changelog ==
74
 
75
+ = 4.6.1.4 =
76
+ * Better: Improved handling of forms inside PopUps
77
+ * Better: Ajax calls improved to prevent security errors by iThemes, etc.
78
+
79
+ = 4.6.1.3 =
80
+ * New: Allow page to be scrolled while PopUp is open.
81
+ * Fix: Prevent PopUps from staying open after submitting a form to external URL.
82
+ * Fix: PopUps without content can be displayed now.
83
+
84
+ = 4.6.1.2 =
85
+ * New: Two new WordPress filters allow custom positioning and styling of PopUps.
86
+ * Fix: Correctly display Meta-boxes of other plugins in the popup-editor.
87
+ * Fix: Plugins that use custom URL rewriting are working now (e.g. NextGen Gallery)
88
+ * Fix: PopUps can be edited even on servers with memcache/similar caching extensions.
89
+ * Fix: Resolve "Strict Standards" notes in PHP 5.4
90
+ * Fix: Rule "Not internal link" now works correctly when opening page directly.
91
+ * Fix: Rule "Specific Referrer" handles empty referrers correctly.
92
+ * Better: Forms inside PopUps will only refresh the PopUp and not reload the page.
93
+ * Better: Detection of theme compatibility for loading method "Page Footer" improved.
94
+
95
  = 4.6.1.1 =
96
  * New: Added Contextual Help to the PopUp editor to show supported shortcodes.
97
  * Fix: Logic of rule "[Not] On specific URL" corrected.
views/info-shortcodes.php CHANGED
@@ -5,24 +5,33 @@ global $shortcode_tags;
5
  // Theme compatibility.
6
  $theme_compat = IncPopupAddon_HeaderFooter::check();
7
  $settings = IncPopupDatabase::get_settings();
8
- $cur_method = @$settings['loadingmethod'];
9
 
10
 
11
  // Shortcodes with restrictions.
12
  $limited = array(
13
  'app_.*',
14
- 'contact-form-7',
15
- 'contact-form',
16
  );
17
 
18
  $shortcodes = array();
19
  // Add Admin-Shortcodes to the list.
20
  foreach ( $shortcode_tags as $code => $handler ) {
21
- @$shortcodes[ $code ] .= 'sc-admin ';
 
22
  }
 
 
 
 
23
  // Add Front-End Shortcodes to the list.
24
  foreach ( $theme_compat->shortcodes as $code ) {
25
- @$shortcodes[ $code ] .= 'sc-front ';
 
 
 
 
26
  }
27
 
28
  foreach ( $shortcodes as $code => $compat ) {
5
  // Theme compatibility.
6
  $theme_compat = IncPopupAddon_HeaderFooter::check();
7
  $settings = IncPopupDatabase::get_settings();
8
+ $cur_method = $settings['loadingmethod'];
9
 
10
 
11
  // Shortcodes with restrictions.
12
  $limited = array(
13
  'app_.*',
14
+ '.*-form.*',
15
+ '.*_form.*',
16
  );
17
 
18
  $shortcodes = array();
19
  // Add Admin-Shortcodes to the list.
20
  foreach ( $shortcode_tags as $code => $handler ) {
21
+ if ( ! isset( $shortcodes[ $code ] ) ) {
22
+ $shortcodes[ $code ] = '';
23
  }
24
+
25
+ $shortcodes[ $code ] .= 'sc-admin ';
26
+ }
27
+
28
  // Add Front-End Shortcodes to the list.
29
  foreach ( $theme_compat->shortcodes as $code ) {
30
+ if ( ! isset( $shortcodes[ $code ] ) ) {
31
+ $shortcodes[ $code ] = '';
32
+ }
33
+
34
+ $shortcodes[ $code ] .= 'sc-front ';
35
  }
36
 
37
  foreach ( $shortcodes as $code => $compat ) {
views/meta-appearance.php CHANGED
@@ -149,4 +149,17 @@ endif; ?>
149
  value="<?php echo esc_attr( $popup->size['height'] ); ?>"
150
  placeholder="300px" />
151
  </div>
152
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  value="<?php echo esc_attr( $popup->size['height'] ); ?>"
150
  placeholder="300px" />
151
  </div>
152
+ </div>
153
+
154
+ <div class="wpmui-grid-12">
155
+ <div class="col-12 inp-row">
156
+ <label>
157
+ <input type="checkbox"
158
+ name="po_scroll_body"
159
+ id="po-scroll-body"
160
+ data-toggle=".chk-scroll-body"
161
+ <?php checked( $popup->scroll_body ); ?> />
162
+ <?php _e( 'Allow page to be scrolled while PopUp is visible', PO_LANG ); ?>
163
+ </label>
164
+ </div>
165
+ </div>
views/meta-content.php CHANGED
@@ -156,4 +156,4 @@ $has_image = ! empty( $popup->image );
156
  </div>
157
  </div>
158
  </div>
159
- </div>
156
  </div>
157
  </div>
158
  </div>
159
+ </div>
views/settings.php CHANGED
@@ -7,7 +7,7 @@ $loading_methods = IncPopupDatabase::get_loading_methods();
7
 
8
 
9
  $settings = IncPopupDatabase::get_settings();
10
- $cur_method = @$settings['loadingmethod'];
11
  $form_url = remove_query_arg( array( 'message', 'action', '_wpnonce' ) );
12
 
13
 
@@ -15,6 +15,7 @@ $form_url = remove_query_arg( array( 'message', 'action', '_wpnonce' ) );
15
  $theme_compat = IncPopupAddon_HeaderFooter::check();
16
  $theme_class = $theme_compat->okay ? 'msg-ok' : 'msg-err';
17
 
 
18
  $rules = IncPopup::get_rules();
19
  $rule_headers = array(
20
  'name' => 'Name',
@@ -152,7 +153,7 @@ $ordered_rules = array();
152
  );
153
  $is_active = ( in_array( $rule, $settings['rules'] ) );
154
  if ( empty( $data['name'] ) ) { continue; }
155
- $data['limit'] = explode( ',', @$data['limit'] );
156
  $data['limit'] = array_map( 'trim', $data['limit'] );
157
 
158
  $name = __( trim( $data['name'] ), PO_LANG );
7
 
8
 
9
  $settings = IncPopupDatabase::get_settings();
10
+ $cur_method = $settings['loadingmethod'];
11
  $form_url = remove_query_arg( array( 'message', 'action', '_wpnonce' ) );
12
 
13
 
15
  $theme_compat = IncPopupAddon_HeaderFooter::check();
16
  $theme_class = $theme_compat->okay ? 'msg-ok' : 'msg-err';
17
 
18
+
19
  $rules = IncPopup::get_rules();
20
  $rule_headers = array(
21
  'name' => 'Name',
153
  );
154
  $is_active = ( in_array( $rule, $settings['rules'] ) );
155
  if ( empty( $data['name'] ) ) { continue; }
156
+ $data['limit'] = explode( ',', $data['limit'] );
157
  $data['limit'] = array_map( 'trim', $data['limit'] );
158
 
159
  $name = __( trim( $data['name'] ), PO_LANG );