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

Version Description

  • Major rewrite
  • Multiple PopUps can be created
Download this release

Release Info

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

Code changes from version 3.1.4 to 4.3.2

Files changed (49) hide show
  1. popover.php +13 -11
  2. popoverincludes/addons/testheadfooter.php +87 -0
  3. popoverincludes/classes/popover.help.php +85 -0
  4. popoverincludes/classes/popoveradmin.php +1247 -99
  5. popoverincludes/classes/popoverajax.php +466 -0
  6. popoverincludes/classes/popoverpublic.php +400 -108
  7. popoverincludes/css/default/images/closemessage.png +0 -0
  8. popoverincludes/css/default/images/closemessagebland.png +0 -0
  9. popoverincludes/css/default/images/loading.gif +0 -0
  10. popoverincludes/css/default/images/opaque.png +0 -0
  11. popoverincludes/css/default/popover.php +14 -0
  12. popoverincludes/css/default/style.css +88 -0
  13. popoverincludes/css/fixed/images/closemessage.png +0 -0
  14. popoverincludes/css/fixed/images/closemessagebland.png +0 -0
  15. popoverincludes/css/fixed/images/loading.gif +0 -0
  16. popoverincludes/css/fixed/images/opaque.png +0 -0
  17. popoverincludes/css/fixed/popover.php +14 -0
  18. popoverincludes/css/fixed/style.css +88 -0
  19. popoverincludes/css/popoveradmin.css +72 -6
  20. popoverincludes/css/popovermenu.css +46 -0
  21. popoverincludes/help/images/addonslist.png +0 -0
  22. popoverincludes/help/images/popoveractivate.png +0 -0
  23. popoverincludes/help/images/popovercontent.png +0 -0
  24. popoverincludes/help/images/popoverdeactivate.png +0 -0
  25. popoverincludes/help/images/popoverdragconditions.png +0 -0
  26. popoverincludes/help/images/popovermove.png +0 -0
  27. popoverincludes/help/images/popoversettings.png +0 -0
  28. popoverincludes/help/popover.help.php +14 -0
  29. popoverincludes/help/popoveraddons.help.php +3 -0
  30. popoverincludes/help/popoveredit.help.php +14 -0
  31. popoverincludes/images/arrows-dark.png +0 -0
  32. popoverincludes/images/arrows.png +0 -0
  33. popoverincludes/images/drag.png +0 -0
  34. popoverincludes/images/olddrag.png +0 -0
  35. popoverincludes/images/window.png +0 -0
  36. popoverincludes/includes/class_wd_help_tooltips.php +463 -0
  37. popoverincludes/includes/config.php +9 -0
  38. popoverincludes/includes/functions.php +410 -0
  39. popoverincludes/js/jquery.tablednd_0_5.js +382 -0
  40. popoverincludes/js/popover.js +18 -3
  41. popoverincludes/js/popoveradmin.js +29 -0
  42. popoverincludes/js/popovermenu.js +53 -0
  43. popoverincludes/js/popoversizing.js +4 -4
  44. popoverincludes/languages/popover-en_US.mo +0 -0
  45. popoverincludes/languages/popover.po +1471 -85
  46. readme.txt +40 -31
  47. screenshot-1.png +0 -0
  48. screenshot-2.png +0 -0
  49. screenshot-3.png +0 -0
popover.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  /*
3
- Plugin Name: WordPress Popup plugin
4
  Plugin URI: http://premium.wpmudev.org
5
- Description: This plugin adds a customisable popover to a site. The content, size, position can be changed and rules determining if the popup should show or not.
6
  Author: Barry (Incsub)
7
- Version: 3.1.4
8
- Author URI: http://caffeinatedb.com
9
  WDP ID: 230
10
 
11
  Copyright 2007-2010 Incsub (http://incsub.com)
@@ -26,24 +26,26 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26
 
27
  */
28
 
29
- // a true setting for PO_GLOBAL means that this plugin operates on a global site-admin basis
30
- // commenting out this line means that the plugin operates on a blog by blog basis
31
- define('PO_GLOBAL',true);
32
-
33
- require_once('popoverincludes/classes/functions.php');
34
  // Set up my location
35
  set_popover_url(__FILE__);
36
  set_popover_dir(__FILE__);
37
 
38
  if(is_admin()) {
 
 
39
  require_once('popoverincludes/classes/popoveradmin.php');
40
 
41
- $popover =& new popoveradmin();
 
42
  } else {
43
  require_once('popoverincludes/classes/popoverpublic.php');
44
 
45
- $popover =& new popoverpublic();
46
  }
47
 
 
 
48
 
49
  ?>
1
  <?php
2
  /*
3
+ Plugin Name: WordPress PopUp
4
  Plugin URI: http://premium.wpmudev.org
5
+ Description: Allows you to display a fancy popup (powered as a popover!) to visitors sitewide or per blog, a *very* effective way of advertising a mailing list, special offer or running a plain old ad.
6
  Author: Barry (Incsub)
7
+ Version: 4.3.2
8
+ Author URI: http://premium.wpmudev.org
9
  WDP ID: 230
10
 
11
  Copyright 2007-2010 Incsub (http://incsub.com)
26
 
27
  */
28
 
29
+ require_once('popoverincludes/includes/config.php');
30
+ require_once('popoverincludes/includes/functions.php');
 
 
 
31
  // Set up my location
32
  set_popover_url(__FILE__);
33
  set_popover_dir(__FILE__);
34
 
35
  if(is_admin()) {
36
+ require_once('popoverincludes/includes/class_wd_help_tooltips.php');
37
+ require_once('popoverincludes/classes/popover.help.php');
38
  require_once('popoverincludes/classes/popoveradmin.php');
39
 
40
+ $popover = new popoveradmin();
41
+ //$popoverajax = new popoverajax();
42
  } else {
43
  require_once('popoverincludes/classes/popoverpublic.php');
44
 
45
+ $popover = new popoverpublic();
46
  }
47
 
48
+ load_popover_addons();
49
+
50
 
51
  ?>
popoverincludes/addons/testheadfooter.php ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Addon Name: Test Head Footer
4
+ Plugin URI: http://gist.github.com/378450
5
+ Description: Tests for the existence and functionality of wp_head and wp_footer in the active theme
6
+ Author: Matt Martz
7
+ Author URI: http://sivel.net/
8
+ Version: 1.0
9
+
10
+ Copyright (c) 2010 Matt Martz (http://sivel.net/)
11
+ Test Head Footer is released under the GNU General Public License (GPL)
12
+ http://www.gnu.org/licenses/gpl-2.0.txt
13
+ */
14
+
15
+ // Lets not do anything until init
16
+ add_action( 'init', 'test_head_footer_init' );
17
+ function test_head_footer_init() {
18
+ // Hook in at admin_init to perform the check for wp_head and wp_footer
19
+ add_action( 'admin_init', 'check_head_footer' );
20
+
21
+ // If test-head query var exists hook into wp_head
22
+ if ( isset( $_GET['test-head'] ) )
23
+ add_action( 'wp_head', 'test_head', 99999 ); // Some obscene priority, make sure we run last
24
+
25
+ // If test-footer query var exists hook into wp_footer
26
+ if ( isset( $_GET['test-footer'] ) )
27
+ add_action( 'wp_footer', 'test_footer', 99999 ); // Some obscene priority, make sure we run last
28
+ }
29
+
30
+ // Echo a string that we can search for later into the head of the document
31
+ // This should end up appearing directly before </head>
32
+ function test_head() {
33
+ echo '<!--wp_head-->';
34
+ }
35
+
36
+ // Echo a string that we can search for later into the footer of the document
37
+ // This should end up appearing directly before </body>
38
+ function test_footer() {
39
+ echo '<!--wp_footer-->';
40
+ }
41
+
42
+ // Check for the existence of the strings where wp_head and wp_footer should have been called from
43
+ function check_head_footer() {
44
+ // Build the url to call, NOTE: uses home_url and thus requires WordPress 3.0
45
+ $url = add_query_arg( array( 'test-head' => '', 'test-footer' => '' ), home_url() );
46
+ // Perform the HTTP GET ignoring SSL errors
47
+ $response = wp_remote_get( $url, array( 'sslverify' => false ) );
48
+ // Grab the response code and make sure the request was sucessful
49
+ $code = (int) wp_remote_retrieve_response_code( $response );
50
+ if ( $code == 200 ) {
51
+ global $head_footer_errors;
52
+ $head_footer_errors = array();
53
+
54
+ // Strip all tabs, line feeds, carriage returns and spaces
55
+ $html = preg_replace( '/[\t\r\n\s]/', '', wp_remote_retrieve_body( $response ) );
56
+
57
+ // Check to see if we found the existence of wp_head
58
+ if ( ! strstr( $html, '<!--wp_head-->' ) )
59
+ $head_footer_errors['nohead'] = 'Is missing the call to <?php wp_head(); ?> which should appear directly before </head>';
60
+ // Check to see if we found the existence of wp_footer
61
+ if ( ! strstr( $html, '<!--wp_footer-->' ) )
62
+ $head_footer_errors['nofooter'] = 'Is missing the call to <?php wp_footer(); ?> which should appear directly before </body>';
63
+
64
+ // Check to see if we found wp_head and if was located in the proper spot
65
+ if ( ! strstr( $html, '<!--wp_head--></head>' ) && ! isset( $head_footer_errors['nohead'] ) )
66
+ $head_footer_errors[] = 'Has the call to <?php wp_head(); ?> but it is not called directly before </head>';
67
+ // Check to see if we found wp_footer and if was located in the proper spot
68
+ if ( ! strstr( $html, '<!--wp_footer--></body>' ) && ! isset( $head_footer_errors['nofooter'] ) )
69
+ $head_footer_errors[] = 'Has the call to <?php wp_footer(); ?> but it is not called directly before </body>';
70
+
71
+ // If we found errors with the existence of wp_head or wp_footer hook into admin_notices to complain about it
72
+ if ( ! empty( $head_footer_errors ) )
73
+ add_action ( 'admin_notices', 'test_head_footer_notices' );
74
+ }
75
+ }
76
+
77
+ // Output the notices
78
+ function test_head_footer_notices() {
79
+ global $head_footer_errors;
80
+
81
+ // If we made it here it is because there were errors, lets loop through and state them all
82
+ echo '<div class="error"><p><strong>Your active theme:</strong></p><ul>';
83
+ foreach ( $head_footer_errors as $error )
84
+ echo '<li>' . esc_html( $error ) . '</li>';
85
+ echo '</ul></div>';
86
+ }
87
+ ?>
popoverincludes/classes/popover.help.php ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if(!class_exists('Popover_Help')) {
3
+
4
+ class Popover_Help {
5
+ // The screen we want to access help for
6
+ var $screen = false;
7
+
8
+ function __construct( &$screen = false ) {
9
+
10
+ $this->screen = $screen;
11
+
12
+ //print_r($screen);
13
+
14
+ }
15
+
16
+ function Popover_Help( &$screen = false ) {
17
+ $this->__construct( $screen );
18
+ }
19
+
20
+ function show() {
21
+
22
+
23
+
24
+ }
25
+
26
+ function attach() {
27
+
28
+ switch($this->screen->id) {
29
+
30
+ case 'toplevel_page_popover': $this->main_help();
31
+ break;
32
+
33
+ case 'pop-overs_page_popoveraddons': $this->addons_help();
34
+ break;
35
+
36
+
37
+ }
38
+
39
+ }
40
+
41
+ // Specific help content creation functions
42
+
43
+ function main_help() {
44
+
45
+ ob_start();
46
+ include_once(popover_dir('popoverincludes/help/popover.help.php'));
47
+ $help = ob_get_clean();
48
+
49
+ ob_start();
50
+ include_once(popover_dir('popoverincludes/help/popoveredit.help.php'));
51
+ $helpedit = ob_get_clean();
52
+
53
+ $this->screen->add_help_tab( array(
54
+ 'id' => 'popover',
55
+ 'title' => __( 'Overview' , 'popover' ),
56
+ 'content' => $help,
57
+ ) );
58
+
59
+ $this->screen->add_help_tab( array(
60
+ 'id' => 'edit',
61
+ 'title' => __( 'Adding / Editing' , 'popover' ),
62
+ 'content' => $helpedit,
63
+ ) );
64
+
65
+ }
66
+
67
+ function addons_help() {
68
+
69
+ ob_start();
70
+ include_once(popover_dir('popoverincludes/help/popoveraddons.help.php'));
71
+ $help = ob_get_clean();
72
+
73
+ $this->screen->add_help_tab( array(
74
+ 'id' => 'addons',
75
+ 'title' => __( 'Add-ons', 'popover' ),
76
+ 'content' => $help,
77
+ ) );
78
+
79
+ }
80
+
81
+
82
+ }
83
+
84
+ }
85
+ ?>
popoverincludes/classes/popoveradmin.php CHANGED
@@ -4,30 +4,83 @@ if(!class_exists('popoveradmin')) {
4
 
5
  class popoveradmin {
6
 
7
- var $build = 3;
8
 
9
  var $db;
10
 
 
 
 
 
11
  function __construct() {
12
 
13
  global $wpdb;
14
 
15
  $this->db =& $wpdb;
16
 
 
 
 
 
17
  add_action( 'admin_menu', array(&$this, 'add_menu_pages' ) );
18
  add_action( 'network_admin_menu', array(&$this, 'add_menu_pages' ) );
19
 
20
  add_action( 'plugins_loaded', array(&$this, 'load_textdomain'));
21
 
22
  // Add header files
23
- add_action('load-settings_page_popoverssadmin', array(&$this, 'add_admin_header_popover'));
24
- add_action('load-tools_page_popoverssadmin', array(&$this, 'add_admin_header_popover'));
 
 
 
 
 
 
 
 
 
 
 
 
25
  }
26
 
27
  function popoveradmin() {
28
  $this->__construct();
29
  }
30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  function load_textdomain() {
32
 
33
  $locale = apply_filters( 'popover_locale', get_locale() );
@@ -39,29 +92,50 @@ if(!class_exists('popoveradmin')) {
39
  }
40
 
41
  function add_menu_pages() {
42
- if(is_multisite() && defined('PO_GLOBAL')) {
 
 
 
43
  if(function_exists('is_network_admin') && is_network_admin()) {
44
- // On 3.1 and in the network admin area.
45
- add_submenu_page('settings.php', __('Pop Overs','popover'), __('Pop Overs','popover'), 'manage_options', 'popoverssadmin', array(&$this,'handle_admin_panel'));
46
- } else {
47
- // Not on 3.1
48
- add_submenu_page('ms-admin.php', __('Pop Overs','popover'), __('Pop Overs','popover'), 'manage_options', 'popoverssadmin', array(&$this,'handle_admin_panel'));
49
  }
50
  } else {
51
- add_submenu_page('options-general.php', __('Pop Overs','popover'), __('Pop Overs','popover'), 'manage_options', 'popoverssadmin', array(&$this,'handle_admin_panel'));
 
 
52
  }
53
 
 
 
 
54
  }
55
 
56
  function sanitise_array($arrayin) {
57
 
58
- foreach($arrayin as $key => $value) {
59
  $arrayin[$key] = htmlentities(stripslashes($value) ,ENT_QUOTES, 'UTF-8');
60
  }
61
 
62
  return $arrayin;
63
  }
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  function update_admin_header_popover() {
66
 
67
  global $action, $page, $allowedposttags;
@@ -73,7 +147,7 @@ if(!class_exists('popoveradmin')) {
73
 
74
  $usemsg = 1;
75
 
76
- if(function_exists('get_site_option') && defined('PO_GLOBAL')) {
77
  $updateoption = 'update_site_option';
78
  $getoption = 'get_site_option';
79
  } else {
@@ -156,39 +230,664 @@ if(!class_exists('popoveradmin')) {
156
 
157
  }
158
 
159
- if(isset($_POST['popoverusejs'])) {
160
- $updateoption('popover_usejs', 'yes' );
161
- } else {
162
- $updateoption('popover_usejs', 'no' );
163
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
 
165
- wp_safe_redirect( add_query_arg( array('msg' => $usemsg), wp_get_referer() ) );
 
166
 
167
- }
 
168
 
169
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
 
171
- function add_admin_header_popover() {
 
172
 
173
- global $wp_version;
174
 
175
- wp_enqueue_script('popoveradminjs', popover_url('popoverincludes/js/popoveradmin.js'), array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable' ), $this->build);
176
 
177
- if(version_compare( preg_replace('/-.*$/', '', $wp_version), "3.3", '<')) {
178
- wp_enqueue_style('popoveradmincss', popover_url('popoverincludes/css/popoveradmin.css'), array('widgets'), $this->build);
179
- } else {
180
- wp_enqueue_style('popoveradmincss', popover_url('popoverincludes/css/popoveradmin.css'), array(), $this->build);
181
- }
 
 
 
 
 
182
 
183
- $this->update_admin_header_popover();
184
 
 
 
185
  }
186
 
187
- function handle_admin_panel() {
 
188
 
189
  global $page;
190
 
191
- if(function_exists('get_site_option') && defined('PO_GLOBAL')) {
192
  $updateoption = 'update_site_option';
193
  $getoption = 'get_site_option';
194
  } else {
@@ -196,78 +895,118 @@ if(!class_exists('popoveradmin')) {
196
  $getoption = 'get_option';
197
  }
198
 
199
- $popover_content = stripslashes($getoption('popover_content', ''));
200
- $popover_size = $getoption('popover_size', array('width' => '500px', 'height' => '200px'));
201
- $popover_location = $getoption('popover_location', array('left' => '100px', 'top' => '100px'));
202
- $popover_colour = $getoption('popover_colour', array('back' => 'FFFFFF', 'fore' => '000000'));
203
- $popover_margin = $getoption('popover_margin', array('left' => '0px', 'top' => '0px', 'right' => '0px', 'bottom' => '0px'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
204
 
205
  $popover_size = $this->sanitise_array($popover_size);
206
  $popover_location = $this->sanitise_array($popover_location);
207
  $popover_colour = $this->sanitise_array($popover_colour);
208
  $popover_margin = $this->sanitise_array($popover_margin);
209
 
210
- $popover_check = $getoption('popover_check', array());
211
- $popover_ereg = $getoption('popover_ereg', '');
212
- $popover_count = $getoption('popover_count', '3');
213
 
214
- $popover_usejs = $getoption('popover_usejs', 'no' );
215
 
216
- $messages = array();
217
 
218
- $messages[1] = __('Your settings have been saved.','popover');
219
- $messages[2] = __('Your popover content has been modified by the built in filter, you need to allow unfiltered html.','popover');
220
 
221
- ?>
222
- <div class='wrap nosubsub'>
223
- <div class="icon32" id="icon-themes"><br></div>
224
- <h2><?php echo __('Pop Over content settings','popover'); ?></h2>
225
 
 
 
226
 
 
 
227
 
 
 
 
 
 
 
 
 
228
  <div class='popover-liquid-left'>
229
 
230
  <div id='popover-left'>
231
  <form action='?page=<?php echo $page; ?>' name='popoveredit' method='post'>
232
 
 
233
  <input type='hidden' name='beingdragged' id='beingdragged' value='' />
234
-
235
- <input type='hidden' name='popovercheck[order]' id='in-positive-rules' value='<? echo esc_attr($popover_check['order']); ?>' />
236
 
237
  <div id='edit-popover' class='popover-holder-wrap'>
238
  <div class='sidebar-name no-movecursor'>
239
- <h3><?php echo _e('Edit Popover settings','popover'); ?></h3>
240
  </div>
241
  <div class='popover-holder'>
242
 
243
  <div class='popover-details'>
244
 
245
- <?php
246
- if ( isset($_GET['msg']) ) {
247
- echo '<div id="upmessage" class="updatedmessage"><p>' . $messages[(int) $_GET['msg']];
248
- echo '<a href="#close" id="closemessage">' . __('close', 'popover') . '</a>';
249
- echo '</p></div>';
250
- $_SERVER['REQUEST_URI'] = remove_query_arg(array('message'), $_SERVER['REQUEST_URI']);
251
- }
252
- ?>
253
 
254
  <label for='popovercontent'><?php _e('Popover content','popover'); ?></label><br/>
255
- <textarea name='popovercontent' id='popovercontent' style='width: 98%' rows='5' cols='10'><?php echo stripslashes($popover_content); ?></textarea>
256
-
 
 
 
 
 
 
 
257
  </div>
258
 
259
- <h3><?php _e('Active rules','popover'); ?></h3>
260
- <p class='description'><?php _e('These are the rules that will determine if a popover should show when a visitor arrives at your website.','popover'); ?></p>
261
  <div id='positive-rules-holder'>
262
  <?php
263
 
264
- $order = explode(',', $popover_check['order']);
 
 
 
 
 
265
 
266
  foreach($order as $key) {
267
 
268
  switch($key) {
269
 
270
- case 'supporter': if( function_exists('is_supporter') ) $this->admin_main('supporter','Blog is not a supporter', 'Shows the popover if the blog is not a supporter.', true);
271
  break;
272
 
273
  case 'isloggedin': $this->admin_main('isloggedin','Visitor is logged in', 'Shows the popover if the user is logged in to your site.', true);
@@ -276,10 +1015,23 @@ if(!class_exists('popoveradmin')) {
276
  break;
277
  case 'commented': $this->admin_main('commented','Visitor has never commented', 'Shows the popover if the user has never left a comment.', true);
278
  break;
 
 
279
  case 'internal': $this->admin_main('internal','Visit not via an Internal link', 'Shows the popover if the user did not arrive on this page via another page on your site.', true);
280
  break;
 
 
281
  case 'count': $this->admin_viewcount('count','Popover shown less than', 'Shows the popover if the user has only seen it less than the following number of times:', $popover_count);
282
  break;
 
 
 
 
 
 
 
 
 
283
 
284
  }
285
 
@@ -292,7 +1044,6 @@ if(!class_exists('popoveradmin')) {
292
  <?php _e('Drop here','membership'); ?>
293
  </div>
294
 
295
-
296
  <h3><?php _e('Appearance settings','popover'); ?></h3>
297
  <table class='form-table' style=''>
298
  <tr>
@@ -332,7 +1083,7 @@ if(!class_exists('popoveradmin')) {
332
  <tr>
333
  <th valign='top' scope='row' style='width: 25%;'>&nbsp;</th>
334
  <td valign='top'>
335
- <?php _e('or just override the above with JS','popover'); ?>&nbsp;<input type='checkbox' name='popoverusejs' id='popoverusejs' value='yes' <?php if($popover_usejs == 'yes') echo "checked='checked'"; ?> />
336
  </td>
337
  </tr>
338
 
@@ -340,7 +1091,7 @@ if(!class_exists('popoveradmin')) {
340
  <table class='form-table'>
341
 
342
  <tr>
343
- <th valign='top' scope='row' style='width: 25%;'><strong><?php _e('Background Colour','popover'); ?></strong></th>
344
  <td valign='top'>
345
  <?php _e('Hex:','popover'); ?>&nbsp;#
346
  <input type='text' name='popoverbackground' id='popoverbackground' style='width: 10em;' value='<?php echo $popover_colour['back']; ?>' />
@@ -348,7 +1099,7 @@ if(!class_exists('popoveradmin')) {
348
  </tr>
349
 
350
  <tr>
351
- <th valign='top' scope='row' style='width: 25%;'><strong><?php _e('Font Colour','popover'); ?></strong></th>
352
  <td valign='top'>
353
  <?php _e('Hex:','popover'); ?>&nbsp;#
354
  <input type='text' name='popoverforeground' id='popoverforeground' style='width: 10em;' value='<?php echo $popover_colour['fore']; ?>' />
@@ -357,13 +1108,83 @@ if(!class_exists('popoveradmin')) {
357
 
358
  </table>
359
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
360
 
361
  <div class='buttons'>
362
  <?php
363
  wp_original_referer_field(true, 'previous'); wp_nonce_field('update-popover');
364
  ?>
365
- <input type='submit' value='<?php _e('Update', 'membership'); ?>' class='button' />
366
- <input type='hidden' name='action' value='updated' />
 
 
 
 
 
 
367
  </div>
368
 
369
  </div>
@@ -374,9 +1195,8 @@ if(!class_exists('popoveradmin')) {
374
 
375
  <div id='hiden-actions'>
376
  <?php
377
-
378
- if(!isset($popover_check['supporter']) && function_exists('is_supporter')) {
379
- $this->admin_main('supporter','Blog is not a supporter', 'Shows the popover if the blog is not a supporter.', true);
380
  }
381
 
382
  if(!isset($popover_check['isloggedin'])) {
@@ -391,15 +1211,33 @@ if(!class_exists('popoveradmin')) {
391
  $this->admin_main('commented','Visitor has never commented', 'Shows the popover if the user has never left a comment.', true);
392
  }
393
 
 
 
 
 
394
  if(!isset($popover_check['internal'])) {
395
  $this->admin_main('internal','Visit not via an Internal link', 'Shows the popover if the user did not arrive on this page via another page on your site.', true);
396
  }
397
 
 
 
 
 
 
 
 
 
 
 
 
 
398
  //$popover_count
399
  if(!isset($popover_check['count'])) {
400
  $this->admin_viewcount('count','Popover shown less than', 'Shows the popover if the user has only seen it less than the following number of times:', $popover_count);
401
  }
402
 
 
 
403
  ?>
404
  </div> <!-- hidden-actions -->
405
 
@@ -409,49 +1247,73 @@ if(!class_exists('popoveradmin')) {
409
  <div class="popover-holder-wrap">
410
 
411
  <div class="sidebar-name no-movecursor">
412
- <h3><?php _e('Rules', 'popover'); ?></h3>
413
  </div>
414
  <div class="section-holder" id="sidebar-rules" style="min-height: 98px;">
415
  <ul class='popovers popovers-draggable'>
416
  <?php
417
- if(isset($popover_check['supporter']) && function_exists('is_supporter')) {
418
- $this->admin_sidebar('supporter','Blog is not a supporter', true);
419
- } elseif(function_exists('is_supporter')) {
420
- $this->admin_sidebar('supporter','Blog is not a supporter', false);
421
- }
422
 
 
 
 
 
 
423
 
424
  if(isset($popover_check['isloggedin'])) {
425
- $this->admin_sidebar('isloggedin','Visitor is logged in', true);
426
  } else {
427
- $this->admin_sidebar('isloggedin','Visitor is logged in', false);
428
  }
429
 
430
  if(isset($popover_check['loggedin'])) {
431
- $this->admin_sidebar('loggedin','Visitor is not logged in', true);
432
  } else {
433
- $this->admin_sidebar('loggedin','Visitor is not logged in', false);
434
  }
435
 
436
  if(isset($popover_check['commented'])) {
437
- $this->admin_sidebar('commented','Visitor has never commented', true);
 
 
 
 
 
 
438
  } else {
439
- $this->admin_sidebar('commented','Visitor has never commented', false);
440
  }
441
 
442
  if(isset($popover_check['internal'])) {
443
- $this->admin_sidebar('internal','Visit not via an Internal link', true);
 
 
 
 
 
 
444
  } else {
445
- $this->admin_sidebar('internal','Visit not via an Internal link', false);
446
  }
447
 
448
- //$popover_count
449
  if(isset($popover_check['count'])) {
450
- $this->admin_sidebar('count','Popover shown less than', true);
 
 
 
 
 
 
451
  } else {
452
- $this->admin_sidebar('count','Popover shown less than', false);
453
  }
454
 
 
 
 
 
 
 
 
455
  ?>
456
  </ul>
457
  </div>
@@ -465,14 +1327,27 @@ if(!class_exists('popoveradmin')) {
465
  <?php
466
  }
467
 
468
- function admin_sidebar($id, $title, $data = false) {
469
  ?>
470
  <li class='popover-draggable' id='<?php echo $id; ?>' <?php if($data === true) echo "style='display:none;'"; ?>>
 
471
  <div class='action action-draggable'>
472
- <div class='action-top'>
 
473
  <?php _e($title,'popover'); ?>
474
  </div>
 
 
 
 
 
 
 
 
 
 
475
  </div>
 
476
  </li>
477
  <?php
478
  }
@@ -483,7 +1358,7 @@ if(!class_exists('popoveradmin')) {
483
  <div class='popover-operation' id='main-<?php echo $id; ?>'>
484
  <h2 class='sidebar-name'><?php _e($title, 'popover');?><span><a href='#remove' class='removelink' id='remove-<?php echo $id; ?>' title='<?php _e("Remove $title tag from this rules area.",'popover'); ?>'><?php _e('Remove','popover'); ?></a></span></h2>
485
  <div class='inner-operation'>
486
- <p><? _e($message, 'popover'); ?></p>
487
  <input type='hidden' name='popovercheck[<?php echo $id; ?>]' value='yes' />
488
  </div>
489
  </div>
@@ -491,12 +1366,12 @@ if(!class_exists('popoveradmin')) {
491
  }
492
 
493
  function admin_referer($id, $title, $message, $data = false) {
494
- if(!$data) $data = array();
495
  ?>
496
  <div class='popover-operation' id='main-<?php echo $id; ?>'>
497
  <h2 class='sidebar-name'><?php _e($title, 'popover');?><span><a href='#remove' class='removelink' id='remove-<?php echo $id; ?>' title='<?php _e("Remove $title tag from this rules area.",'popover'); ?>'><?php _e('Remove','popover'); ?></a></span></h2>
498
  <div class='inner-operation'>
499
- <p><? _e($message, 'popover'); ?></p>
500
  <input type='text' name='popoverereg' id='popoverereg' style='width: 10em;' value='<?php echo esc_html($data); ?>' />
501
  <input type='hidden' name='popovercheck[<?php echo $id; ?>]' value='yes' />
502
  </div>
@@ -505,13 +1380,13 @@ if(!class_exists('popoveradmin')) {
505
  }
506
 
507
  function admin_viewcount($id, $title, $message, $data = false) {
508
- if(!$data) $data = array();
509
  ?>
510
  <div class='popover-operation' id='main-<?php echo $id; ?>'>
511
  <h2 class='sidebar-name'><?php _e($title, 'popover');?><span><a href='#remove' class='removelink' id='remove-<?php echo $id; ?>' title='<?php _e("Remove $title tag from this rules area.",'popover'); ?>'><?php _e('Remove','popover'); ?></a></span></h2>
512
  <div class='inner-operation'>
513
- <p><? _e($message, 'popover'); ?></p>
514
- <input type='text' name='popovercount' id='popovercount' style='width: 2em;' value='<?php echo esc_html($data); ?>' />&nbsp;
515
  <?php _e('times','popover'); ?>
516
  <input type='hidden' name='popovercheck[<?php echo $id; ?>]' value='yes' />
517
  </div>
@@ -519,6 +1394,24 @@ if(!class_exists('popoveradmin')) {
519
  <?php
520
  }
521
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
522
  function handle_admin_panelold() {
523
 
524
  global $allowedposttags;
@@ -765,13 +1658,26 @@ if(!class_exists('popoveradmin')) {
765
  </td>
766
  <th valign='bottom' scope='row'><?php _e('Visitor has never commented here before.','popover'); ?></th>
767
  </tr>
768
-
 
 
 
 
 
769
  <tr>
770
  <td valign='middle' style='width: 5%;'>
771
  <input type='checkbox' name='popovercheck[internal]' <?php if(isset($popover_check['internal'])) echo "checked='checked'"; ?> />
772
  </td>
773
  <th valign='bottom' scope='row'><?php _e('Visitor did not come from an internal page.','popover'); ?></th>
774
  </tr>
 
 
 
 
 
 
 
 
775
 
776
  </table>
777
 
@@ -795,6 +1701,248 @@ if(!class_exists('popoveradmin')) {
795
  <?php
796
  }
797
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
798
  }
799
 
800
  }
4
 
5
  class popoveradmin {
6
 
7
+ var $build = 5;
8
 
9
  var $db;
10
 
11
+ var $tables = array( 'popover', 'popover_ip_cache' );
12
+ var $popover;
13
+ var $popover_ip_cache;
14
+
15
  function __construct() {
16
 
17
  global $wpdb;
18
 
19
  $this->db =& $wpdb;
20
 
21
+ foreach($this->tables as $table) {
22
+ $this->$table = popover_db_prefix($this->db, $table);
23
+ }
24
+
25
  add_action( 'admin_menu', array(&$this, 'add_menu_pages' ) );
26
  add_action( 'network_admin_menu', array(&$this, 'add_menu_pages' ) );
27
 
28
  add_action( 'plugins_loaded', array(&$this, 'load_textdomain'));
29
 
30
  // Add header files
31
+ add_action('load-toplevel_page_popover', array(&$this, 'add_admin_header_popover_menu'));
32
+ add_action('load-pop-overs_page_popoveraddons', array(&$this, 'add_admin_header_popover_addons'));
33
+
34
+ // Ajax calls
35
+ add_action( 'wp_ajax_popover_update_order', array(&$this, 'ajax_update_popover_order') );
36
+
37
+ $installed = get_option('popover_installed', false);
38
+
39
+ if($installed === false || $installed != $this->build) {
40
+ $this->install();
41
+
42
+ update_option('popover_installed', $this->build);
43
+ }
44
+
45
  }
46
 
47
  function popoveradmin() {
48
  $this->__construct();
49
  }
50
 
51
+ function install() {
52
+
53
+ if($this->db->get_var( "SHOW TABLES LIKE '" . $this->popover . "' ") != $this->popover) {
54
+ $sql = "CREATE TABLE `" . $this->popover . "` (
55
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
56
+ `popover_title` varchar(250) DEFAULT NULL,
57
+ `popover_content` text,
58
+ `popover_settings` text,
59
+ `popover_order` bigint(20) DEFAULT '0',
60
+ `popover_active` int(11) DEFAULT '0',
61
+ PRIMARY KEY (`id`)
62
+ )";
63
+
64
+ $this->db->query($sql);
65
+
66
+ }
67
+
68
+ // Add in IP cache table
69
+ if($this->db->get_var( "SHOW TABLES LIKE '" . $this->popover_ip_cache . "' ") != $this->popover_ip_cache) {
70
+ $sql = "CREATE TABLE `" . $this->popover_ip_cache . "` (
71
+ `IP` varchar(12) NOT NULL DEFAULT '',
72
+ `country` varchar(2) DEFAULT NULL,
73
+ `cached` bigint(20) DEFAULT NULL,
74
+ PRIMARY KEY (`IP`),
75
+ KEY `cached` (`cached`)
76
+ )";
77
+
78
+ $this->db->query($sql);
79
+
80
+ }
81
+
82
+ }
83
+
84
  function load_textdomain() {
85
 
86
  $locale = apply_filters( 'popover_locale', get_locale() );
92
  }
93
 
94
  function add_menu_pages() {
95
+
96
+ global $submenu;
97
+
98
+ if(is_multisite() && (defined('PO_GLOBAL') && PO_GLOBAL == true)) {
99
  if(function_exists('is_network_admin') && is_network_admin()) {
100
+ add_menu_page(__('Pop Overs','popover'), __('Pop Overs','popover'), 'manage_options', 'popover', array(&$this,'handle_popover_admin'), popover_url('popoverincludes/images/window.png'));
 
 
 
 
101
  }
102
  } else {
103
+ if(!function_exists('is_network_admin') || !is_network_admin()) {
104
+ add_menu_page(__('Pop Overs','popover'), __('Pop Overs','popover'), 'manage_options', 'popover', array(&$this,'handle_popover_admin'), popover_url('popoverincludes/images/window.png'));
105
+ }
106
  }
107
 
108
+ $addnew = add_submenu_page('popover', __('Create New Pop Over','popover'), __('Create New','popover'), 'manage_options', "popover&amp;action=add", array(&$this,'handle_addnewpopover_panel'));
109
+ add_submenu_page('popover', __('Manage Add-ons Plugins','popover'), __('Add-ons','popover'), 'manage_options', "popoveraddons", array(&$this,'handle_addons_panel'));
110
+
111
  }
112
 
113
  function sanitise_array($arrayin) {
114
 
115
+ foreach( (array) $arrayin as $key => $value) {
116
  $arrayin[$key] = htmlentities(stripslashes($value) ,ENT_QUOTES, 'UTF-8');
117
  }
118
 
119
  return $arrayin;
120
  }
121
 
122
+ function ajax_update_popover_order() {
123
+
124
+ if(check_ajax_referer( 'popover_order', '_ajax_nonce', false )) {
125
+ $newnonce = wp_create_nonce('popover_order');
126
+
127
+ $data = $_POST['data'];
128
+ parse_str($data);
129
+ foreach($dragbody as $key => $value) {
130
+ $this->reorder_popovers( $value, $key );
131
+ }
132
+ die($newnonce);
133
+ } else {
134
+ die('fail');
135
+ }
136
+
137
+ }
138
+
139
  function update_admin_header_popover() {
140
 
141
  global $action, $page, $allowedposttags;
147
 
148
  $usemsg = 1;
149
 
150
+ if(function_exists('get_site_option') && defined('PO_GLOBAL') && PO_GLOBAL == true) {
151
  $updateoption = 'update_site_option';
152
  $getoption = 'get_site_option';
153
  } else {
230
 
231
  }
232
 
233
+ if(isset($_POST['popoverusejs'])) {
234
+ $updateoption('popover_usejs', 'yes' );
235
+ } else {
236
+ $updateoption('popover_usejs', 'no' );
237
+ }
238
+
239
+ wp_safe_redirect( add_query_arg( array('msg' => $usemsg), wp_get_referer() ) );
240
+
241
+ }
242
+
243
+ }
244
+
245
+ function add_admin_header_popover_menu() {
246
+
247
+ $this->add_admin_header_core();
248
+
249
+ if(isset($_GET['action']) && in_array($_GET['action'], array('edit', 'add'))) {
250
+ $this->add_admin_header_popover();
251
+ } else {
252
+ wp_enqueue_script('popoverdragadminjs', popover_url('popoverincludes/js/jquery.tablednd_0_5.js'), array('jquery'), $this->build);
253
+ wp_enqueue_script('popoveradminjs', popover_url('popoverincludes/js/popovermenu.js'), array('jquery', 'popoverdragadminjs' ), $this->build);
254
+
255
+ wp_localize_script('popoveradminjs', 'popover', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ),
256
+ 'ordernonce' => wp_create_nonce('popover_order'),
257
+ 'dragerror' => __('An error occured updating the Pop Over order.','popover'),
258
+ 'deletepopover' => __('Are you sure you want to delete this Pop Over?','popover')
259
+ ));
260
+
261
+ wp_enqueue_style('popoveradmincss', popover_url('popoverincludes/css/popovermenu.css'), array(), $this->build);
262
+
263
+ // Check for transfer
264
+ if(isset($_GET['transfer'])) {
265
+ $this->handle_popover_transfer();
266
+ }
267
+
268
+ // Check for existing popovers
269
+ if($this->has_existing_popover()) {
270
+ add_action('all_admin_notices', array(&$this, 'show_popover_transfer_offer'));
271
+ }
272
+
273
+ $this->update_popover_admin();
274
+ }
275
+
276
+ }
277
+
278
+ function has_existing_popover() {
279
+
280
+ if(function_exists('get_site_option') && defined('PO_GLOBAL') && PO_GLOBAL == true) {
281
+ $getoption = 'get_site_option';
282
+ } else {
283
+ $getoption = 'get_option';
284
+ }
285
+
286
+ $popsexist = $this->db->get_var( "SELECT COUNT(*) FROM {$this->popover}");
287
+
288
+ if($popsexist == 0 && $getoption('popover_content','no') != 'no' && $getoption('popover_notranfers', 'no') == 'no') {
289
+ // No pops - and one set in the options
290
+ return true;
291
+ } else {
292
+ return false;
293
+ }
294
+ }
295
+
296
+ function show_popover_transfer_offer() {
297
+
298
+ echo '<div class="updated fade below-h2"><p>' . sprintf(__("Welcome to Popover, would you like to transfer your existing Popover to the new format? <a href='%s'>Yes please transfer it</a> / <a href='%s'>No thanks, I'll create a new one myself.</a>", 'popover'), wp_nonce_url('admin.php?page=popover&amp;transfer=yes', 'transferpopover'), wp_nonce_url('admin.php?page=popover&amp;transfer=no','notransferpopover') ) . '</p></div>';
299
+
300
+ }
301
+
302
+ function handle_popover_transfer() {
303
+
304
+ if(function_exists('get_site_option') && defined('PO_GLOBAL') && PO_GLOBAL == true) {
305
+ $updateoption = 'update_site_option';
306
+ $getoption = 'get_site_option';
307
+ } else {
308
+ $updateoption = 'update_option';
309
+ $getoption = 'get_option';
310
+ }
311
+
312
+ switch($_GET['transfer']) {
313
+
314
+ case 'yes': check_admin_referer('transferpopover');
315
+ $popover = array();
316
+
317
+ $popover['popover_title'] = __('Transferred Popover', 'popover');
318
+ $popover['popover_content'] = $getoption('popover_content');
319
+
320
+ $popover['popover_settings'] = array();
321
+ $popover['popover_settings']['popover_size'] = $getoption('popover_size');
322
+ $popover['popover_settings']['popover_location'] = $getoption('popover_location');;
323
+ $popover['popover_settings']['popover_colour'] = $getoption('popover_colour');
324
+ $popover['popover_settings']['popover_margin'] = $getoption('popover_margin');
325
+ $popover['popover_settings']['popover_check'] = $getoption('popover_check');
326
+
327
+ $popover['popover_settings']['popover_count'] = $getoption('popover_count');
328
+ $popover['popover_settings']['popover_usejs'] = $getoption('popover_usejs');
329
+
330
+ $popover['popover_settings']['popover_style'] = 'Default';
331
+
332
+ $popover['popover_settings'] = serialize($popover['popover_settings']);
333
+
334
+ $popover['popover_active'] = 1;
335
+
336
+ $this->db->insert( $this->popover, $popover );
337
+ wp_safe_redirect( remove_query_arg( 'transfer', remove_query_arg( '_wpnonce' ) ) );
338
+ break;
339
+
340
+ case 'no': check_admin_referer('notransferpopover');
341
+ $updateoption('popover_notranfers', 'yes');
342
+ wp_safe_redirect( remove_query_arg( 'transfer', remove_query_arg( '_wpnonce' ) ) );
343
+ break;
344
+ }
345
+
346
+ }
347
+
348
+ function add_admin_header_core() {
349
+ // Add in help pages
350
+ $screen = get_current_screen();
351
+ $help = new Popover_Help( $screen );
352
+ $help->attach();
353
+
354
+ }
355
+
356
+ function add_admin_header_popover() {
357
+
358
+ global $wp_version;
359
+
360
+ wp_enqueue_script('popoveradminjs', popover_url('popoverincludes/js/popoveradmin.js'), array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable' ), $this->build);
361
+
362
+ if(version_compare( preg_replace('/-.*$/', '', $wp_version), "3.3", '<')) {
363
+ wp_enqueue_style('popoveradmincss', popover_url('popoverincludes/css/popoveradmin.css'), array('widgets'), $this->build);
364
+ } else {
365
+ wp_enqueue_style('popoveradmincss', popover_url('popoverincludes/css/popoveradmin.css'), array(), $this->build);
366
+ }
367
+
368
+ $this->update_admin_header_popover();
369
+ }
370
+
371
+ function add_admin_header_popover_addons() {
372
+
373
+ $this->add_admin_header_core();
374
+
375
+ $this->handle_addons_panel_updates();
376
+ }
377
+
378
+ function reorder_popovers( $popover_id, $order ) {
379
+
380
+ $this->db->update( $this->popover, array( 'popover_order' => $order ), array( 'id' => $popover_id) );
381
+
382
+ }
383
+
384
+ function get_popovers() {
385
+
386
+ $sql = $this->db->prepare( "SELECT * FROM {$this->popover} ORDER BY popover_order ASC" );
387
+
388
+ return $this->db->get_results( $sql );
389
+
390
+ }
391
+
392
+ function get_popover( $id ) {
393
+ return $this->db->get_row( $this->db->prepare("SELECT * FROM {$this->popover} WHERE id = %d", $id) );
394
+ }
395
+
396
+ function activate_popover( $id ) {
397
+ return $this->db->update( $this->popover, array( 'popover_active' => 1 ), array( 'id' => $id) );
398
+ }
399
+
400
+ function deactivate_popover( $id ) {
401
+ return $this->db->update( $this->popover, array( 'popover_active' => 0 ), array( 'id' => $id) );
402
+ }
403
+
404
+ function toggle_popover( $id ) {
405
+
406
+ $sql = $this->db->prepare( "UPDATE {$this->popover} SET popover_active = NOT popover_active WHERE id = %d", $id );
407
+
408
+ return $this->db->query( $sql );
409
+
410
+ }
411
+
412
+ function delete_popover( $id ) {
413
+
414
+ return $this->db->query( $this->db->prepare( "DELETE FROM {$this->popover} WHERE id = %d", $id ) );
415
+
416
+ }
417
+
418
+ function add_popover( $data ) {
419
+
420
+ global $action, $page, $allowedposttags;
421
+
422
+ $popover = array();
423
+
424
+ $popover['popover_title'] = $_POST['popover_title'];
425
+
426
+ if ( !current_user_can('unfiltered_html') ) {
427
+ $popover['popover_content'] = wp_kses($_POST['popover_content'], $allowedposttags);
428
+ } else {
429
+ $popover['popover_content'] = $_POST['popover_content'];
430
+ }
431
+
432
+ $popover['popover_settings'] = array();
433
+ $popover['popover_settings']['popover_size'] = array( 'width' => $_POST['popoverwidth'], 'height' => $_POST['popoverheight'] );
434
+ $popover['popover_settings']['popover_location'] = array( 'left' => $_POST['popoverleft'], 'top' => $_POST['popovertop'] );
435
+ $popover['popover_settings']['popover_colour'] = array( 'back' => $_POST['popoverbackground'], 'fore' => $_POST['popoverforeground'] );
436
+ $popover['popover_settings']['popover_margin'] = array( 'left' => $_POST['popovermarginleft'], 'top' => $_POST['popovermargintop'], 'right' => $_POST['popovermarginright'], 'bottom' => $_POST['popovermarginbottom'] );
437
+ $popover['popover_settings']['popover_check'] = $_POST['popovercheck'];
438
+
439
+ if(isset($_POST['popoverereg'])) {
440
+ $popover['popover_settings']['popover_ereg'] = $_POST['popoverereg'];
441
+ } else {
442
+ $popover['popover_settings']['popover_ereg'] = '';
443
+ }
444
+
445
+ if(isset($_POST['popovercount'])) {
446
+ $popover['popover_settings']['popover_count'] = $_POST['popovercount'];
447
+ } else {
448
+ $popover['popover_settings']['popover_count'] = 3;
449
+ }
450
+
451
+ if($_POST['popoverusejs'] == 'yes') {
452
+ $popover['popover_settings']['popover_usejs'] = 'yes';
453
+ } else {
454
+ $popover['popover_settings']['popover_usejs'] = 'no';
455
+ }
456
+
457
+ $popover['popover_settings']['popover_style'] = $_POST['popoverstyle'];
458
+
459
+ if(isset($_POST['popoverhideforeverlink']) && $_POST['popoverhideforeverlink'] == 'yes') {
460
+ $popover['popover_settings']['popoverhideforeverlink'] = 'yes';
461
+ } else {
462
+ $popover['popover_settings']['popoverhideforeverlink'] = 'no';
463
+ }
464
+
465
+ if(isset($_POST['popoverdelay'])) {
466
+ $popover['popover_settings']['popoverdelay'] = $_POST['popoverdelay'];
467
+ }
468
+
469
+ if(isset($_POST['popoveronurl'])) {
470
+ $popover['popover_settings']['onurl'] = explode("\n", $_POST['popoveronurl']);
471
+ }
472
+
473
+ if(isset($_POST['popovernotonurl'])) {
474
+ $popover['popover_settings']['notonurl'] = explode("\n", $_POST['popovernotonurl']);
475
+ }
476
+
477
+ $popover['popover_settings'] = serialize($popover['popover_settings']);
478
+
479
+ if(isset($_POST['addandactivate'])) {
480
+ $popover['popover_active'] = 1;
481
+ }
482
+
483
+ return $this->db->insert( $this->popover, $popover );
484
+
485
+ }
486
+
487
+ function update_popover( $id, $data ) {
488
+
489
+ global $action, $page, $allowedposttags;
490
+
491
+ $popover = array();
492
+
493
+ $popover['popover_title'] = $_POST['popover_title'];
494
+
495
+ if ( !current_user_can('unfiltered_html') ) {
496
+ $popover['popover_content'] = wp_kses($_POST['popover_content'], $allowedposttags);
497
+ } else {
498
+ $popover['popover_content'] = $_POST['popover_content'];
499
+ }
500
+
501
+ $popover['popover_settings'] = array();
502
+ $popover['popover_settings']['popover_size'] = array( 'width' => $_POST['popoverwidth'], 'height' => $_POST['popoverheight'] );
503
+ $popover['popover_settings']['popover_location'] = array( 'left' => $_POST['popoverleft'], 'top' => $_POST['popovertop'] );
504
+ $popover['popover_settings']['popover_colour'] = array( 'back' => $_POST['popoverbackground'], 'fore' => $_POST['popoverforeground'] );
505
+ $popover['popover_settings']['popover_margin'] = array( 'left' => $_POST['popovermarginleft'], 'top' => $_POST['popovermargintop'], 'right' => $_POST['popovermarginright'], 'bottom' => $_POST['popovermarginbottom'] );
506
+ $popover['popover_settings']['popover_check'] = $_POST['popovercheck'];
507
+
508
+ if(isset($_POST['popoverereg'])) {
509
+ $popover['popover_settings']['popover_ereg'] = $_POST['popoverereg'];
510
+ } else {
511
+ $popover['popover_settings']['popover_ereg'] = '';
512
+ }
513
+
514
+ if(isset($_POST['popovercount'])) {
515
+ $popover['popover_settings']['popover_count'] = $_POST['popovercount'];
516
+ } else {
517
+ $popover['popover_settings']['popover_count'] = 3;
518
+ }
519
+
520
+ if($_POST['popoverusejs'] == 'yes') {
521
+ $popover['popover_settings']['popover_usejs'] = 'yes';
522
+ } else {
523
+ $popover['popover_settings']['popover_usejs'] = 'no';
524
+ }
525
+
526
+ $popover['popover_settings']['popover_style'] = $_POST['popoverstyle'];
527
+
528
+ if(isset($_POST['popoverhideforeverlink']) && $_POST['popoverhideforeverlink'] == 'yes') {
529
+ $popover['popover_settings']['popoverhideforeverlink'] = 'yes';
530
+ } else {
531
+ $popover['popover_settings']['popoverhideforeverlink'] = 'no';
532
+ }
533
+
534
+ if(isset($_POST['popoverdelay'])) {
535
+ $popover['popover_settings']['popoverdelay'] = $_POST['popoverdelay'];
536
+ }
537
+
538
+ if(isset($_POST['popoveronurl'])) {
539
+ $popover['popover_settings']['onurl'] = explode("\n", $_POST['popoveronurl']);
540
+ }
541
+
542
+ if(isset($_POST['popovernotonurl'])) {
543
+ $popover['popover_settings']['notonurl'] = explode("\n", $_POST['popovernotonurl']);
544
+ }
545
+
546
+ $popover['popover_settings'] = serialize($popover['popover_settings']);
547
+
548
+ return $this->db->update( $this->popover, $popover, array( 'id' => $id ) );
549
+
550
+ }
551
+
552
+ function update_popover_admin() {
553
+ global $action, $page;
554
+
555
+ wp_reset_vars( array('action', 'page') );
556
+
557
+ if(isset($_REQUEST['action']) || isset($_REQUEST['action2'])) {
558
+
559
+ if(!empty($_REQUEST['action2'])) {
560
+ $_REQUEST['action'] = $_REQUEST['action2'];
561
+ }
562
+
563
+ switch($_REQUEST['action']) {
564
+
565
+
566
+ case 'activate': $id = (int) $_GET['popover'];
567
+ if(!empty($id)) {
568
+ check_admin_referer('toggle-popover-' . $id);
569
+
570
+ if( $this->activate_popover( $id ) ) {
571
+ wp_safe_redirect( add_query_arg( 'msg', 3, wp_get_referer() ) );
572
+ } else {
573
+ wp_safe_redirect( add_query_arg( 'msg', 4, wp_get_referer() ) );
574
+ }
575
+
576
+ }
577
+ break;
578
+
579
+
580
+ case 'deactivate': $id = (int) $_GET['popover'];
581
+ if(!empty($id)) {
582
+ check_admin_referer('toggle-popover-' . $id);
583
+
584
+ if( $this->deactivate_popover( $id ) ) {
585
+ wp_safe_redirect( add_query_arg( 'msg', 5, wp_get_referer() ) );
586
+ } else {
587
+ wp_safe_redirect( add_query_arg( 'msg', 6, wp_get_referer() ) );
588
+ }
589
+
590
+ }
591
+ break;
592
+
593
+ case 'toggle': $ids = $_REQUEST['popovercheck'];
594
+
595
+ if(!empty($ids)) {
596
+ check_admin_referer('bulk-popovers');
597
+ foreach( (array) $ids as $id ) {
598
+ $this->toggle_popover( $id );
599
+ }
600
+ wp_safe_redirect( add_query_arg( 'msg', 7, wp_get_referer() ) );
601
+ }
602
+ break;
603
+
604
+ case 'delete': $id = (int) $_GET['popover'];
605
+
606
+ if(!empty($id)) {
607
+ check_admin_referer('delete-popover-' . $id);
608
+
609
+ if( $this->delete_popover( $id ) ) {
610
+ wp_safe_redirect( add_query_arg( 'msg', 8, wp_get_referer() ) );
611
+ } else {
612
+ wp_safe_redirect( add_query_arg( 'msg', 9, wp_get_referer() ) );
613
+ }
614
+ }
615
+ break;
616
+
617
+ case 'added': $id = (int) $_POST['id'];
618
+ if(empty($id)) {
619
+ check_admin_referer('update-popover');
620
+ if($this->add_popover( $_POST )) {
621
+ wp_safe_redirect( add_query_arg( 'msg', 10, 'admin.php?page=popover' ) );
622
+ } else {
623
+ wp_safe_redirect( add_query_arg( 'msg', 11, 'admin.php?page=popover' ) );
624
+ }
625
+ }
626
+ break;
627
+
628
+ case 'updated': $id = (int) $_POST['id'];
629
+ if(!empty($id)) {
630
+ check_admin_referer('update-popover');
631
+ if($this->update_popover( $id, $_POST )) {
632
+ wp_safe_redirect( add_query_arg( 'msg', 1, 'admin.php?page=popover' ) );
633
+ } else {
634
+ wp_safe_redirect( add_query_arg( 'msg', 2, 'admin.php?page=popover' ) );
635
+ }
636
+ }
637
+ break;
638
+
639
+ }
640
+
641
+
642
+ }
643
+
644
+ }
645
+
646
+ function handle_popover_admin() {
647
+ global $action, $page;
648
+
649
+ if($action == 'edit') {
650
+ if(isset($_GET['popover'])) {
651
+ $id = (int) $_GET['popover'];
652
+ $this->handle_popover_edit_panel( $id );
653
+ return; // So we don't see the rest of this page
654
+ }
655
+ }
656
+
657
+ if($action == 'add') {
658
+ $this->handle_popover_edit_panel( false );
659
+ return; // So we don't see the rest of this page
660
+ }
661
+
662
+ $messages = array();
663
+ $messages[1] = __('Pop Over updated.','popover');
664
+ $messages[2] = __('Pop Over not updated.','popover');
665
+
666
+ $messages[3] = __('Pop Over activated.','popover');
667
+ $messages[4] = __('Pop Over not activated.','popover');
668
+
669
+ $messages[5] = __('Pop Over deactivated.','popover');
670
+ $messages[6] = __('Pop Over not deactivated.','popover');
671
+
672
+ $messages[7] = __('Pop Over activation toggled.','popover');
673
+
674
+ $messages[8] = __('Pop Over deleted.','popover');
675
+ $messages[9] = __('Pop Over not deleted.','popover');
676
+
677
+ $messages[10] = __('Pop Over added.','popover');
678
+ $messages[11] = __('Pop Over not added.','popover');
679
+ ?>
680
+ <div class='wrap'>
681
+ <div class="icon32" id="icon-themes"><br></div>
682
+ <h2><?php _e('Edit Pop Overs','popover'); ?><a class="add-new-h2" href="admin.php?page=<?php echo $page; ?>&action=add"><?php _e('Add New','membership'); ?></a></h2>
683
+
684
+ <?php
685
+ if ( isset($_GET['msg']) ) {
686
+ echo '<div id="message" class="updated fade"><p>' . $messages[(int) $_GET['msg']] . '</p></div>';
687
+ $_SERVER['REQUEST_URI'] = remove_query_arg(array('message'), $_SERVER['REQUEST_URI']);
688
+ }
689
+
690
+ ?>
691
+
692
+ <form method="get" action="?page=<?php echo esc_attr($page); ?>" id="posts-filter">
693
+
694
+ <input type='hidden' name='page' value='<?php echo esc_attr($page); ?>' />
695
+
696
+ <div class="tablenav">
697
+
698
+ <div class="alignleft actions">
699
+ <select name="action">
700
+ <option selected="selected" value=""><?php _e('Bulk Actions', 'popover'); ?></option>
701
+ <option value="toggle"><?php _e('Toggle activation', 'popover'); ?></option>
702
+ </select>
703
+ <input type="submit" class="button-secondary action" id="doaction" name="doaction" value="<?php _e('Apply', 'popover'); ?>">
704
+
705
+ </div>
706
+
707
+ <div class="alignright actions"></div>
708
+
709
+ <br class="clear">
710
+ </div>
711
+
712
+ <div class="clear"></div>
713
+
714
+ <?php
715
+ wp_original_referer_field(true, 'previous'); wp_nonce_field('bulk-popovers');
716
+
717
+ $columns = array( "name" => __('Pop Over Name', 'popover'),
718
+ "rules" => __('Conditions','popover'),
719
+ "active" => __('Active','popover')
720
+ );
721
+
722
+ $columns = apply_filters('popover_columns', $columns);
723
+
724
+ $popovers = $this->get_popovers();
725
+
726
+ ?>
727
+
728
+ <table cellspacing="0" class="widefat fixed" id="dragtable">
729
+ <thead>
730
+ <tr>
731
+
732
+ <th style="width: 20px;" class="manage-column column-drag" id="cb" scope="col"></th>
733
+ <th style="" class="manage-column column-cb check-column" id="cb" scope="col"><input type="checkbox"></th>
734
+
735
+ <?php
736
+ foreach($columns as $key => $col) {
737
+ ?>
738
+ <th style="" class="manage-column column-<?php echo $key; ?>" id="<?php echo $key; ?>" scope="col"><?php echo $col; ?></th>
739
+ <?php
740
+ }
741
+ ?>
742
+ </tr>
743
+ </thead>
744
+
745
+ <tfoot>
746
+ <tr>
747
+
748
+ <th style="" class="manage-column column-drag" scope="col"></th>
749
+ <th style="" class="manage-column column-cb check-column" scope="col"><input type="checkbox"></th>
750
+
751
+ <?php
752
+ reset($columns);
753
+ foreach($columns as $key => $col) {
754
+ ?>
755
+ <th style="" class="manage-column column-<?php echo $key; ?>" id="<?php echo $key; ?>" scope="col"><?php echo $col; ?></th>
756
+ <?php
757
+ }
758
+ ?>
759
+ </tr>
760
+ </tfoot>
761
+
762
+ <tbody id='dragbody'>
763
+ <?php
764
+ if($popovers) {
765
+ $popovercount = 0;
766
+ foreach($popovers as $key => $popover) {
767
+ ?>
768
+ <tr valign="middle" class="alternate draghandle" id="<?php echo $popover->id; ?>">
769
+
770
+ <td class="check-drag" scope="row">
771
+ &nbsp;
772
+ </td>
773
+ <td class="check-column" scope="row"><input type="checkbox" value="<?php echo $popover->id; ?>" name="popovercheck[]"></td>
774
+
775
+ <td class="column-name">
776
+ <strong><a href='<?php echo "?page=" . $page . "&amp;action=edit&amp;popover=" . $popover->id . ""; ?>'><?php echo esc_html($popover->popover_title); ?></a></strong>
777
+ <?php
778
+ $actions = array();
779
+
780
+ $actions['edit'] = "<span class='edit'><a href='?page=" . $page . "&amp;action=edit&amp;popover=" . $popover->id . "'>" . __('Edit', 'popover') . "</a></span>";
781
+
782
+ if($popover->popover_active) {
783
+ $actions['toggle'] = "<span class='edit activate'><a href='" . wp_nonce_url("?page=" . $page. "&amp;action=deactivate&amp;popover=" . $popover->id . "", 'toggle-popover-' . $popover->id) . "'>" . __('Deactivate', 'popover') . "</a></span>";
784
+ } else {
785
+ $actions['toggle'] = "<span class='edit deactivate'><a href='" . wp_nonce_url("?page=" . $page. "&amp;action=activate&amp;popover=" . $popover->id . "", 'toggle-popover-' . $popover->id) . "'>" . __('Activate', 'popover') . "</a></span>";
786
+ }
787
+
788
+ $actions['delete'] = "<span class='delete'><a href='" . wp_nonce_url("?page=" . $page. "&amp;action=delete&amp;popover=" . $popover->id . "", 'delete-popover-' . $popover->id) . "'>" . __('Delete', 'popover') . "</a></span>";
789
+ ?>
790
+ <br><div class="row-actions"><?php echo implode(" | ", $actions); ?></div>
791
+ </td>
792
+
793
+ <td class="column-name">
794
+ <?php
795
+ $p = maybe_unserialize($popover->popover_settings);
796
+ $rules = $p['popover_check'];
797
+ foreach( (array) $rules as $key => $value ) {
798
+ if($key == 'order') {
799
+ continue;
800
+ }
801
+ switch($key) {
802
+
803
+ case 'supporter': _e('Site is not a Pro-site', 'popover');
804
+ break;
805
+
806
+ case 'isloggedin': _e('Visitor is logged in', 'popover');
807
+ break;
808
+
809
+ case 'loggedin': _e('Visitor is not logged in', 'popover');
810
+ break;
811
+
812
+ case 'commented': _e('Visitor has never commented', 'popover');
813
+ break;
814
+
815
+ case 'searchengine': _e('Visit via a search engine', 'popover');
816
+ break;
817
+
818
+ case 'internal': _e('Visit not via an Internal link', 'popover');
819
+ break;
820
+
821
+ case 'referrer': _e('Visit via specific referer', 'popover');
822
+ break;
823
+
824
+ case 'count': _e('Popover shown less than x times', 'popover');
825
+ break;
826
 
827
+ case 'onurl': _e('On specific URL', 'popover');
828
+ break;
829
 
830
+ case 'notonurl': _e('Not on specific URL', 'popover');
831
+ break;
832
 
833
+ default: echo apply_filters('popover_nice_rule_name', $key);
834
+ break;
835
+ }
836
+ echo "<br/>";
837
+ }
838
+ ?>
839
+ </td>
840
+ <td class="column-active">
841
+ <?php
842
+ if($popover->popover_active) {
843
+ echo "<strong>" . __('Active', 'popover') . "</strong>";
844
+ } else {
845
+ echo __('Inactive', 'popover');
846
+ }
847
+ ?>
848
+ </td>
849
+ </tr>
850
+ <?php
851
+ }
852
+ } else {
853
+ $columncount = count($columns) + 2;
854
+ ?>
855
+ <tr valign="middle" class="alternate" >
856
+ <td colspan="<?php echo $columncount; ?>" scope="row"><?php _e('No Pop Overs were found.','popover'); ?></td>
857
+ </tr>
858
+ <?php
859
+ }
860
+ ?>
861
 
862
+ </tbody>
863
+ </table>
864
 
 
865
 
866
+ <div class="tablenav">
867
 
868
+ <div class="alignleft actions">
869
+ <select name="action2">
870
+ <option selected="selected" value=""><?php _e('Bulk Actions', 'popover'); ?></option>
871
+ <option value="toggle"><?php _e('Toggle activation', 'popover'); ?></option>
872
+ </select>
873
+ <input type="submit" class="button-secondary action" id="doaction2" name="doaction2" value="<?php _e('Apply', 'popover'); ?>">
874
+ </div>
875
+ <div class="alignright actions"></div>
876
+ <br class="clear">
877
+ </div>
878
 
879
+ </form>
880
 
881
+ </div> <!-- wrap -->
882
+ <?php
883
  }
884
 
885
+
886
+ function handle_popover_edit_panel( $id = false ) {
887
 
888
  global $page;
889
 
890
+ if(function_exists('get_site_option') && defined('PO_GLOBAL') && PO_GLOBAL == true) {
891
  $updateoption = 'update_site_option';
892
  $getoption = 'get_site_option';
893
  } else {
895
  $getoption = 'get_option';
896
  }
897
 
898
+
899
+ if($id !== false) {
900
+ $popover = $this->get_popover( $id );
901
+
902
+ $popover->popover_settings = unserialize($popover->popover_settings);
903
+ } else {
904
+ $popover = new stdClass;
905
+ $popover->popover_title = __('New Pop Over','popover');
906
+ $popover->popover_content = "";
907
+ }
908
+
909
+ $popover_title = stripslashes($popover->popover_title);
910
+
911
+ $popover_content = stripslashes($popover->popover_content);
912
+
913
+ if(empty($popover->popover_settings)) {
914
+ $popover->popover_settings = array( 'popover_size' => array('width' => '500px', 'height' => '200px'),
915
+ 'popover_location' => array('left' => '100px', 'top' => '100px'),
916
+ 'popover_colour' => array('back' => 'FFFFFF', 'fore' => '000000'),
917
+ 'popover_margin' => array('left' => '0px', 'top' => '0px', 'right' => '0px', 'bottom' => '0px'),
918
+ 'popover_check' => array(),
919
+ 'popover_ereg' => '',
920
+ 'popover_count' => 3,
921
+ 'popover_usejs' => 'no'
922
+ );
923
+ }
924
+
925
+ $popover_size = $popover->popover_settings['popover_size'];
926
+ $popover_location = $popover->popover_settings['popover_location'];
927
+ $popover_colour = $popover->popover_settings['popover_colour'];
928
+ $popover_margin = $popover->popover_settings['popover_margin'];
929
 
930
  $popover_size = $this->sanitise_array($popover_size);
931
  $popover_location = $this->sanitise_array($popover_location);
932
  $popover_colour = $this->sanitise_array($popover_colour);
933
  $popover_margin = $this->sanitise_array($popover_margin);
934
 
935
+ $popover_check = $popover->popover_settings['popover_check'];
936
+ $popover_ereg = $popover->popover_settings['popover_ereg'];
937
+ $popover_count = $popover->popover_settings['popover_count'];
938
 
939
+ $popover_usejs = $popover->popover_settings['popover_usejs'];
940
 
941
+ $popoverstyle = (isset($popover->popover_settings['popover_style'])) ? $popover->popover_settings['popover_style'] : '';
942
 
943
+ $popover_hideforever = (isset($popover->popover_settings['popoverhideforeverlink'])) ? $popover->popover_settings['popoverhideforeverlink'] : '';
 
944
 
945
+ $popover_delay = (isset($popover->popover_settings['popoverdelay'])) ? $popover->popover_settings['popoverdelay'] : '';
 
 
 
946
 
947
+ $popover_onurl = (isset($popover->popover_settings['onurl'])) ? $popover->popover_settings['onurl'] : '';
948
+ $popover_notonurl = (isset($popover->popover_settings['notonurl'])) ? $popover->popover_settings['notonurl'] : '';
949
 
950
+ $popover_onurl = $this->sanitise_array($popover_onurl);
951
+ $popover_notonurl = $this->sanitise_array($popover_notonurl);
952
 
953
+ ?>
954
+ <div class='wrap nosubsub'>
955
+ <div class="icon32" id="icon-themes"><br></div>
956
+ <?php if($id !== false) { ?>
957
+ <h2><?php echo __('Edit Pop Over','popover'); ?></h2>
958
+ <?php } else { ?>
959
+ <h2><?php echo __('Add Pop Over','popover'); ?></h2>
960
+ <?php } ?>
961
  <div class='popover-liquid-left'>
962
 
963
  <div id='popover-left'>
964
  <form action='?page=<?php echo $page; ?>' name='popoveredit' method='post'>
965
 
966
+ <input type='hidden' name='id' id='id' value='<?php echo $id; ?>' />
967
  <input type='hidden' name='beingdragged' id='beingdragged' value='' />
968
+ <input type='hidden' name='popovercheck[order]' id='in-positive-rules' value='<?php echo esc_attr($popover_check['order']); ?>' />
 
969
 
970
  <div id='edit-popover' class='popover-holder-wrap'>
971
  <div class='sidebar-name no-movecursor'>
972
+ <h3><?php echo __('Pop Over Settings','popover'); ?></h3>
973
  </div>
974
  <div class='popover-holder'>
975
 
976
  <div class='popover-details'>
977
 
978
+ <label for='popover_title'><?php _e('Popover title','popover'); ?></label><br/>
979
+ <input name='popover_title' id='popover_title' style='width: 97%; border: 1px solid; border-color: #DFDFDF;' value='<?php echo stripslashes($popover_title); ?>' /><br/><br/>
 
 
 
 
 
 
980
 
981
  <label for='popovercontent'><?php _e('Popover content','popover'); ?></label><br/>
982
+ <?php
983
+ $args = array("textarea_name" => "popover_content", "textarea_rows" => 5);
984
+ wp_editor( stripslashes($popover_content), "popover_content", $args );
985
+ /*
986
+ ?>
987
+ <textarea name='popover_content' id='popover_content' style='width: 98%' rows='5' cols='10'><?php echo stripslashes($popover_content); ?></textarea>
988
+ <?php
989
+ */
990
+ ?>
991
  </div>
992
 
993
+ <h3><?php _e('Active conditions','popover'); ?></h3>
994
+ <p class='description'><?php _e('These are the rules that will determine if a popover should show when a visitor arrives at your website ALL rules must be true for the popover to show.','popover'); ?></p>
995
  <div id='positive-rules-holder'>
996
  <?php
997
 
998
+ if(!empty($popover_check['order'])) {
999
+ $order = explode(',', $popover_check['order']);
1000
+ } else {
1001
+ $order = array();
1002
+ }
1003
+
1004
 
1005
  foreach($order as $key) {
1006
 
1007
  switch($key) {
1008
 
1009
+ case 'supporter': if( function_exists('is_pro_site') ) $this->admin_main('supporter','Site is not a Pro-site', 'Shows the popover if the site is not a Pro-site.', true);
1010
  break;
1011
 
1012
  case 'isloggedin': $this->admin_main('isloggedin','Visitor is logged in', 'Shows the popover if the user is logged in to your site.', true);
1015
  break;
1016
  case 'commented': $this->admin_main('commented','Visitor has never commented', 'Shows the popover if the user has never left a comment.', true);
1017
  break;
1018
+ case 'searchengine': $this->admin_main('searchengine','Visit via a search engine', 'Shows the popover if the user arrived via a search engine.', true);
1019
+ break;
1020
  case 'internal': $this->admin_main('internal','Visit not via an Internal link', 'Shows the popover if the user did not arrive on this page via another page on your site.', true);
1021
  break;
1022
+ case 'referrer': $this->admin_referer('referrer','Visit via specific referer', 'Shows the popover if the user arrived via the following referrer:', $popover_ereg);
1023
+ break;
1024
  case 'count': $this->admin_viewcount('count','Popover shown less than', 'Shows the popover if the user has only seen it less than the following number of times:', $popover_count);
1025
  break;
1026
+ case 'onurl': $this->admin_urllist('onurl','On specific URL', 'Shows the popover if the user is on a certain URL (enter one URL per line)', $popover_onurl);
1027
+ break;
1028
+ case 'notonurl': $this->admin_urllist('notonurl','Not on specific URL', 'Shows the popover if the user is not on a certain URL (enter one URL per line)', $popover_notonurl);
1029
+ break;
1030
+
1031
+
1032
+ default: do_action('popover_active_rule_' . $key);
1033
+ do_action('popover_active_rule', $key);
1034
+ break;
1035
 
1036
  }
1037
 
1044
  <?php _e('Drop here','membership'); ?>
1045
  </div>
1046
 
 
1047
  <h3><?php _e('Appearance settings','popover'); ?></h3>
1048
  <table class='form-table' style=''>
1049
  <tr>
1083
  <tr>
1084
  <th valign='top' scope='row' style='width: 25%;'>&nbsp;</th>
1085
  <td valign='top'>
1086
+ <?php _e('or use Javascript to resize and center the popover','popover'); ?>&nbsp;<input type='checkbox' name='popoverusejs' id='popoverusejs' value='yes' <?php if($popover_usejs == 'yes') echo "checked='checked'"; ?> />
1087
  </td>
1088
  </tr>
1089
 
1091
  <table class='form-table'>
1092
 
1093
  <tr>
1094
+ <th valign='top' scope='row' style='width: 25%;'><strong><?php _e('Background Color','popover'); ?></strong></th>
1095
  <td valign='top'>
1096
  <?php _e('Hex:','popover'); ?>&nbsp;#
1097
  <input type='text' name='popoverbackground' id='popoverbackground' style='width: 10em;' value='<?php echo $popover_colour['back']; ?>' />
1099
  </tr>
1100
 
1101
  <tr>
1102
+ <th valign='top' scope='row' style='width: 25%;'><strong><?php _e('Font Color','popover'); ?></strong></th>
1103
  <td valign='top'>
1104
  <?php _e('Hex:','popover'); ?>&nbsp;#
1105
  <input type='text' name='popoverforeground' id='popoverforeground' style='width: 10em;' value='<?php echo $popover_colour['fore']; ?>' />
1108
 
1109
  </table>
1110
 
1111
+ <?php
1112
+ $availablestyles = apply_filters( 'popover_available_styles_directory', array() );
1113
+
1114
+ if(count($availablestyles) > 1) {
1115
+ ?>
1116
+ <h3><?php _e('Pop Over Style','popover'); ?></h3>
1117
+ <table class='form-table'>
1118
+
1119
+ <tr>
1120
+ <th valign='top' scope='row' style='width: 25%;'><strong><?php _e('Use Style','popover'); ?></strong></th>
1121
+ <td valign='top'>
1122
+ <select name='popoverstyle'>
1123
+ <?php
1124
+ foreach( (array) $availablestyles as $key => $location ) {
1125
+ ?>
1126
+ <option value='<?php echo $key; ?>' <?php selected($key, $popoverstyle); ?>><?php echo $key; ?></option>
1127
+ <?php
1128
+ }
1129
+ ?>
1130
+ </select>
1131
+
1132
+ </td>
1133
+ </tr>
1134
+
1135
+ </table>
1136
+ <?php
1137
+ } else {
1138
+ foreach( (array) $availablestyles as $key => $location ) {
1139
+ // There's only one - but it's easy to get the key this way :)
1140
+ ?>
1141
+ <input type='hidden' name='popoverstyle' value='<?php echo $key; ?>' />
1142
+ <?php
1143
+ }
1144
+ }
1145
+ ?>
1146
+
1147
+ <h3><?php _e('Remove Hide Forever Link','popover'); ?></h3>
1148
+ <table class='form-table' style=''>
1149
+ <tr>
1150
+ <th valign='top' scope='row' style='width: 25%;'><strong><?php _e('Remove the "Never see this message again" link','popover'); ?></strong></th>
1151
+ <td valign='top'>
1152
+ <input type='checkbox' name='popoverhideforeverlink' id='popoverhideforeverlink' value='yes' <?php if($popover_hideforever == 'yes') { echo "checked='checked'"; } ?> />
1153
+ </td>
1154
+ </tr>
1155
+ </table>
1156
+
1157
+ <h3><?php _e('Pop over appearance delays','popover'); ?></h3>
1158
+ <table class='form-table' style=''>
1159
+ <tr>
1160
+ <th valign='top' scope='row' style='width: 25%;'><strong><?php _e('Show Pop Over','popover'); ?></strong></th>
1161
+ <td valign='top'>
1162
+ <select name='popoverdelay'>
1163
+ <option value='immediate' <?php selected('immediate', $popover_delay); ?>><?php _e('immediately','popover'); ?></option>
1164
+ <?php
1165
+ for($n=1; $n <= 120; $n++) {
1166
+ ?>
1167
+ <option value='<?php echo $n; ?>' <?php selected($n, $popover_delay); ?>><?php echo __('after','popover') . ' ' . $n . ' ' . __('seconds', 'popover') ; ?></option>
1168
+ <?php
1169
+ }
1170
+ ?>
1171
+ </select>
1172
+ </td>
1173
+ </tr>
1174
+ </table>
1175
 
1176
  <div class='buttons'>
1177
  <?php
1178
  wp_original_referer_field(true, 'previous'); wp_nonce_field('update-popover');
1179
  ?>
1180
+ <?php if($id !== false) { ?>
1181
+ <input type='submit' value='<?php _e('Update', 'popover'); ?>' class='button-primary' />
1182
+ <input type='hidden' name='action' value='updated' />
1183
+ <?php } else { ?>
1184
+ <input type='submit' value='<?php _e('Add', 'popover'); ?>' class='button' name='add' />&nbsp;<input type='submit' value='<?php _e('Add and Activate', 'popover'); ?>' class='button-primary' name='addandactivate' />
1185
+ <input type='hidden' name='action' value='added' />
1186
+ <?php } ?>
1187
+
1188
  </div>
1189
 
1190
  </div>
1195
 
1196
  <div id='hiden-actions'>
1197
  <?php
1198
+ if(!isset($popover_check['supporter']) && function_exists('is_pro_site')) {
1199
+ $this->admin_main('supporter','Site is not a Pro-site', 'Shows the popover if the site is not a Pro-site.', true);
 
1200
  }
1201
 
1202
  if(!isset($popover_check['isloggedin'])) {
1211
  $this->admin_main('commented','Visitor has never commented', 'Shows the popover if the user has never left a comment.', true);
1212
  }
1213
 
1214
+ if(!isset($popover_check['searchengine'])) {
1215
+ $this->admin_main('searchengine','Visit via a search engine', 'Shows the popover if the user arrived via a search engine.', true);
1216
+ }
1217
+
1218
  if(!isset($popover_check['internal'])) {
1219
  $this->admin_main('internal','Visit not via an Internal link', 'Shows the popover if the user did not arrive on this page via another page on your site.', true);
1220
  }
1221
 
1222
+ if(!isset($popover_check['referrer'])) {
1223
+ $this->admin_referer('referrer','Visit via specific referer', 'Shows the popover if the user arrived via the following referrer:', $popover_ereg);
1224
+ }
1225
+
1226
+ if(!isset($popover_check['onurl'])) {
1227
+ $this->admin_urllist('onurl','On specific URL', 'Shows the popover if the user is on a certain URL (enter one URL per line)', $popover_onurl);
1228
+ }
1229
+
1230
+ if(!isset($popover_check['notonurl'])) {
1231
+ $this->admin_urllist('notonurl','Not on specific URL', 'Shows the popover if the user is not on a certain URL (enter one URL per line)', $popover_notonurl);
1232
+ }
1233
+
1234
  //$popover_count
1235
  if(!isset($popover_check['count'])) {
1236
  $this->admin_viewcount('count','Popover shown less than', 'Shows the popover if the user has only seen it less than the following number of times:', $popover_count);
1237
  }
1238
 
1239
+ do_action('popover_additional_rules_main');
1240
+
1241
  ?>
1242
  </div> <!-- hidden-actions -->
1243
 
1247
  <div class="popover-holder-wrap">
1248
 
1249
  <div class="sidebar-name no-movecursor">
1250
+ <h3><?php _e('Conditions', 'popover'); ?></h3>
1251
  </div>
1252
  <div class="section-holder" id="sidebar-rules" style="min-height: 98px;">
1253
  <ul class='popovers popovers-draggable'>
1254
  <?php
 
 
 
 
 
1255
 
1256
+ if(isset($popover_check['supporter']) && function_exists('is_pro_site')) {
1257
+ $this->admin_sidebar('supporter','Site is not a Pro-site', 'Shows the popover if the site is not a Pro-site.', true);
1258
+ } elseif(function_exists('is_pro_site')) {
1259
+ $this->admin_sidebar('supporter','Site is not a Pro-site', 'Shows the popover if the site is not a Pro-site.', false);
1260
+ }
1261
 
1262
  if(isset($popover_check['isloggedin'])) {
1263
+ $this->admin_sidebar('isloggedin','Visitor is logged in', 'Shows the popover if the user is logged in to your site.', true);
1264
  } else {
1265
+ $this->admin_sidebar('isloggedin','Visitor is logged in', 'Shows the popover if the user is logged in to your site.', false);
1266
  }
1267
 
1268
  if(isset($popover_check['loggedin'])) {
1269
+ $this->admin_sidebar('loggedin','Visitor is not logged in', 'Shows the popover if the user is <strong>not</strong> logged in to your site.', true);
1270
  } else {
1271
+ $this->admin_sidebar('loggedin','Visitor is not logged in', 'Shows the popover if the user is <strong>not</strong> logged in to your site.', false);
1272
  }
1273
 
1274
  if(isset($popover_check['commented'])) {
1275
+ $this->admin_sidebar('commented','Visitor has never commented', 'Shows the popover if the user has never left a comment.', true);
1276
+ } else {
1277
+ $this->admin_sidebar('commented','Visitor has never commented', 'Shows the popover if the user has never left a comment.', false);
1278
+ }
1279
+
1280
+ if(isset($popover_check['searchengine'])) {
1281
+ $this->admin_sidebar('searchengine','Visit via a search engine', 'Shows the popover if the user arrived via a search engine.', true);
1282
  } else {
1283
+ $this->admin_sidebar('searchengine','Visit via a search engine', 'Shows the popover if the user arrived via a search engine.', false);
1284
  }
1285
 
1286
  if(isset($popover_check['internal'])) {
1287
+ $this->admin_sidebar('internal','Visit not via an Internal link', 'Shows the popover if the user did not arrive on this page via another page on your site.', true);
1288
+ } else {
1289
+ $this->admin_sidebar('internal','Visit not via an Internal link', 'Shows the popover if the user did not arrive on this page via another page on your site.', false);
1290
+ }
1291
+
1292
+ if(isset($popover_check['referrer'])) {
1293
+ $this->admin_sidebar('referrer','Visit via specific referer', 'Shows the popover if the user arrived via a specific referrer.', true);
1294
  } else {
1295
+ $this->admin_sidebar('referrer','Visit via specific referer', 'Shows the popover if the user arrived via a specific referrer.', false);
1296
  }
1297
 
 
1298
  if(isset($popover_check['count'])) {
1299
+ $this->admin_sidebar('count','Popover shown less than', 'Shows the popover if the user has only seen it less than a specific number of times.', true);
1300
+ } else {
1301
+ $this->admin_sidebar('count','Popover shown less than', 'Shows the popover if the user has only seen it less than a specific number of times.', false);
1302
+ }
1303
+
1304
+ if(isset($popover_check['onurl'])) {
1305
+ $this->admin_sidebar('onurl','On specific URL', 'Shows the popover if the user is on a certain URL.', true);
1306
  } else {
1307
+ $this->admin_sidebar('onurl','On specific URL', 'Shows the popover if the user is on a certain URL.', false);
1308
  }
1309
 
1310
+ if(isset($popover_check['notonurl'])) {
1311
+ $this->admin_sidebar('notonurl','Not on specific URL', 'Shows the popover if the user is not on a certain URL.', true);
1312
+ } else {
1313
+ $this->admin_sidebar('notonurl','Not on specific URL', 'Shows the popover if the user is not on a certain URL.', false);
1314
+ }
1315
+
1316
+ do_action('popover_additional_rules_sidebar');
1317
  ?>
1318
  </ul>
1319
  </div>
1327
  <?php
1328
  }
1329
 
1330
+ function admin_sidebar($id, $title, $message, $data = false) {
1331
  ?>
1332
  <li class='popover-draggable' id='<?php echo $id; ?>' <?php if($data === true) echo "style='display:none;'"; ?>>
1333
+
1334
  <div class='action action-draggable'>
1335
+ <div class='action-top closed'>
1336
+ <a href="#available-actions" class="action-button hide-if-no-js"></a>
1337
  <?php _e($title,'popover'); ?>
1338
  </div>
1339
+ <div class='action-body closed'>
1340
+ <?php if(!empty($message)) { ?>
1341
+ <p>
1342
+ <?php _e($message, 'popover'); ?>
1343
+ </p>
1344
+ <?php } ?>
1345
+ <p>
1346
+ <a href='#addtopopover' class='action-to-popover' title='<?php _e('Add this rule to the popover.','popover'); ?>'><?php _e('Add this rule to the popover.','popover'); ?></a>
1347
+ </p>
1348
+ </div>
1349
  </div>
1350
+
1351
  </li>
1352
  <?php
1353
  }
1358
  <div class='popover-operation' id='main-<?php echo $id; ?>'>
1359
  <h2 class='sidebar-name'><?php _e($title, 'popover');?><span><a href='#remove' class='removelink' id='remove-<?php echo $id; ?>' title='<?php _e("Remove $title tag from this rules area.",'popover'); ?>'><?php _e('Remove','popover'); ?></a></span></h2>
1360
  <div class='inner-operation'>
1361
+ <p><?php _e($message, 'popover'); ?></p>
1362
  <input type='hidden' name='popovercheck[<?php echo $id; ?>]' value='yes' />
1363
  </div>
1364
  </div>
1366
  }
1367
 
1368
  function admin_referer($id, $title, $message, $data = false) {
1369
+ if(!$data) $data = ''
1370
  ?>
1371
  <div class='popover-operation' id='main-<?php echo $id; ?>'>
1372
  <h2 class='sidebar-name'><?php _e($title, 'popover');?><span><a href='#remove' class='removelink' id='remove-<?php echo $id; ?>' title='<?php _e("Remove $title tag from this rules area.",'popover'); ?>'><?php _e('Remove','popover'); ?></a></span></h2>
1373
  <div class='inner-operation'>
1374
+ <p><?php _e($message, 'popover'); ?></p>
1375
  <input type='text' name='popoverereg' id='popoverereg' style='width: 10em;' value='<?php echo esc_html($data); ?>' />
1376
  <input type='hidden' name='popovercheck[<?php echo $id; ?>]' value='yes' />
1377
  </div>
1380
  }
1381
 
1382
  function admin_viewcount($id, $title, $message, $data = false) {
1383
+ if(!$data) $data = '';
1384
  ?>
1385
  <div class='popover-operation' id='main-<?php echo $id; ?>'>
1386
  <h2 class='sidebar-name'><?php _e($title, 'popover');?><span><a href='#remove' class='removelink' id='remove-<?php echo $id; ?>' title='<?php _e("Remove $title tag from this rules area.",'popover'); ?>'><?php _e('Remove','popover'); ?></a></span></h2>
1387
  <div class='inner-operation'>
1388
+ <p><?php _e($message, 'popover'); ?></p>
1389
+ <input type='text' name='popovercount' id='popovercount' style='width: 5em;' value='<?php echo esc_html($data); ?>' />&nbsp;
1390
  <?php _e('times','popover'); ?>
1391
  <input type='hidden' name='popovercheck[<?php echo $id; ?>]' value='yes' />
1392
  </div>
1394
  <?php
1395
  }
1396
 
1397
+ function admin_urllist($id, $title, $message, $data = false) {
1398
+ if(!$data) $data = array();
1399
+
1400
+ $data = implode("\n", $data);
1401
+
1402
+ ?>
1403
+ <div class='popover-operation' id='main-<?php echo $id; ?>'>
1404
+ <h2 class='sidebar-name'><?php _e($title, 'popover');?><span><a href='#remove' class='removelink' id='remove-<?php echo $id; ?>' title='<?php _e("Remove $title tag from this rules area.",'popover'); ?>'><?php _e('Remove','popover'); ?></a></span></h2>
1405
+ <div class='inner-operation'>
1406
+ <p><?php _e($message, 'popover'); ?></p>
1407
+ <textarea name='popover<?php echo $id; ?>' id='popover<?php echo $id; ?>' style=''><?php echo esc_html($data); ?></textarea>
1408
+ <input type='hidden' name='popovercheck[<?php echo $id; ?>]' value='yes' />
1409
+ </div>
1410
+ </div>
1411
+ <?php
1412
+ }
1413
+
1414
+
1415
  function handle_admin_panelold() {
1416
 
1417
  global $allowedposttags;
1658
  </td>
1659
  <th valign='bottom' scope='row'><?php _e('Visitor has never commented here before.','popover'); ?></th>
1660
  </tr>
1661
+ <tr>
1662
+ <td valign='middle' style='width: 5%;'>
1663
+ <input type='checkbox' name='popovercheck[searchengine]' <?php if(isset($popover_check['searchengine'])) echo "checked='checked'"; ?> />
1664
+ </td>
1665
+ <th valign='bottom' scope='row'><?php _e('Visitor came from a search engine.','popover'); ?></th>
1666
+ </tr>
1667
  <tr>
1668
  <td valign='middle' style='width: 5%;'>
1669
  <input type='checkbox' name='popovercheck[internal]' <?php if(isset($popover_check['internal'])) echo "checked='checked'"; ?> />
1670
  </td>
1671
  <th valign='bottom' scope='row'><?php _e('Visitor did not come from an internal page.','popover'); ?></th>
1672
  </tr>
1673
+ <tr>
1674
+ <td valign='middle' style='width: 5%;'>
1675
+ <input type='checkbox' name='popovercheck[referrer]' <?php if(isset($popover_check['referrer'])) echo "checked='checked'"; ?> />
1676
+ </td>
1677
+ <th valign='bottom' scope='row'><?php _e('Visitor referrer matches','popover'); ?>&nbsp;
1678
+ <input type='text' name='popoverereg' id='popoverereg' style='width: 10em;' value='<?php echo htmlentities($popover_ereg,ENT_QUOTES, 'UTF-8'); ?>' />
1679
+ </th>
1680
+ </tr>
1681
 
1682
  </table>
1683
 
1701
  <?php
1702
  }
1703
 
1704
+ function handle_addons_panel_updates() {
1705
+ global $action, $page;
1706
+
1707
+ wp_reset_vars( array('action', 'page') );
1708
+
1709
+ if(isset($_GET['doaction']) || isset($_GET['doaction2'])) {
1710
+ if(addslashes($_GET['action']) == 'toggle' || addslashes($_GET['action2']) == 'toggle') {
1711
+ $action = 'bulk-toggle';
1712
+ }
1713
+ }
1714
+
1715
+ $active = get_option('popover_activated_addons', array());
1716
+
1717
+ switch(addslashes($action)) {
1718
+
1719
+ case 'deactivate': $key = addslashes($_GET['addon']);
1720
+ if(!empty($key)) {
1721
+ check_admin_referer('toggle-addon-' . $key);
1722
+
1723
+ $found = array_search($key, $active);
1724
+ if($found !== false) {
1725
+ unset($active[$found]);
1726
+ update_option('popover_activated_addons', array_unique($active));
1727
+ wp_safe_redirect( add_query_arg( 'msg', 5, wp_get_referer() ) );
1728
+ } else {
1729
+ wp_safe_redirect( add_query_arg( 'msg', 6, wp_get_referer() ) );
1730
+ }
1731
+ }
1732
+ break;
1733
+
1734
+ case 'activate': $key = addslashes($_GET['addon']);
1735
+ if(!empty($key)) {
1736
+ check_admin_referer('toggle-addon-' . $key);
1737
+
1738
+ if(!in_array($key, $active)) {
1739
+ $active[] = $key;
1740
+ update_option('popover_activated_addons', array_unique($active));
1741
+ wp_safe_redirect( add_query_arg( 'msg', 3, wp_get_referer() ) );
1742
+ } else {
1743
+ wp_safe_redirect( add_query_arg( 'msg', 4, wp_get_referer() ) );
1744
+ }
1745
+ }
1746
+ break;
1747
+
1748
+ case 'bulk-toggle':
1749
+ check_admin_referer('bulk-addons');
1750
+ foreach($_GET['addoncheck'] AS $key) {
1751
+ $found = array_search($key, $active);
1752
+ if($found !== false) {
1753
+ unset($active[$found]);
1754
+ } else {
1755
+ $active[] = $key;
1756
+ }
1757
+ }
1758
+ update_option('popover_activated_addons', array_unique($active));
1759
+ wp_safe_redirect( add_query_arg( 'msg', 7, wp_get_referer() ) );
1760
+ break;
1761
+
1762
+ }
1763
+ }
1764
+
1765
+ function handle_addons_panel() {
1766
+ global $action, $page;
1767
+
1768
+ wp_reset_vars( array('action', 'page') );
1769
+
1770
+ $messages = array();
1771
+ $messages[1] = __('Add-on updated.','popover');
1772
+ $messages[2] = __('Add-on not updated.','popover');
1773
+
1774
+ $messages[3] = __('Add-on activated.','popover');
1775
+ $messages[4] = __('Add-on not activated.','popover');
1776
+
1777
+ $messages[5] = __('Add-on deactivated.','popover');
1778
+ $messages[6] = __('Add-on not deactivated.','popover');
1779
+
1780
+ $messages[7] = __('Add-on activation toggled.','popover');
1781
+
1782
+ ?>
1783
+ <div class='wrap'>
1784
+ <div class="icon32" id="icon-plugins"><br></div>
1785
+ <h2><?php _e('Edit Add-ons','popover'); ?></h2>
1786
+
1787
+ <?php
1788
+ if ( isset($_GET['msg']) ) {
1789
+ echo '<div id="message" class="updated fade"><p>' . $messages[(int) $_GET['msg']] . '</p></div>';
1790
+ $_SERVER['REQUEST_URI'] = remove_query_arg(array('message'), $_SERVER['REQUEST_URI']);
1791
+ }
1792
+
1793
+ ?>
1794
+
1795
+ <form method="get" action="?page=<?php echo esc_attr($page); ?>" id="posts-filter">
1796
+
1797
+ <input type='hidden' name='page' value='<?php echo esc_attr($page); ?>' />
1798
+
1799
+ <div class="tablenav">
1800
+
1801
+ <div class="alignleft actions">
1802
+ <select name="action">
1803
+ <option selected="selected" value=""><?php _e('Bulk Actions', 'popover'); ?></option>
1804
+ <option value="toggle"><?php _e('Toggle activation', 'popover'); ?></option>
1805
+ </select>
1806
+ <input type="submit" class="button-secondary action" id="doaction" name="doaction" value="<?php _e('Apply', 'popover'); ?>">
1807
+
1808
+ </div>
1809
+
1810
+ <div class="alignright actions"></div>
1811
+
1812
+ <br class="clear">
1813
+ </div>
1814
+
1815
+ <div class="clear"></div>
1816
+
1817
+ <?php
1818
+ wp_original_referer_field(true, 'previous'); wp_nonce_field('bulk-addons');
1819
+
1820
+ $columns = array( "name" => __('Add-on Name', 'popover'),
1821
+ "file" => __('Add-on File','popover'),
1822
+ "active" => __('Active','popover')
1823
+ );
1824
+
1825
+ $columns = apply_filters('popover_addoncolumns', $columns);
1826
+
1827
+ $addons = get_popover_addons();
1828
+
1829
+ $active = get_option('popover_activated_addons', array());
1830
+
1831
+ ?>
1832
+
1833
+ <table cellspacing="0" class="widefat fixed">
1834
+ <thead>
1835
+ <tr>
1836
+ <th style="" class="manage-column column-cb check-column" id="cb" scope="col"><input type="checkbox"></th>
1837
+ <?php
1838
+ foreach($columns as $key => $col) {
1839
+ ?>
1840
+ <th style="" class="manage-column column-<?php echo $key; ?>" id="<?php echo $key; ?>" scope="col"><?php echo $col; ?></th>
1841
+ <?php
1842
+ }
1843
+ ?>
1844
+ </tr>
1845
+ </thead>
1846
+
1847
+ <tfoot>
1848
+ <tr>
1849
+ <th style="" class="manage-column column-cb check-column" scope="col"><input type="checkbox"></th>
1850
+ <?php
1851
+ reset($columns);
1852
+ foreach($columns as $key => $col) {
1853
+ ?>
1854
+ <th style="" class="manage-column column-<?php echo $key; ?>" id="<?php echo $key; ?>" scope="col"><?php echo $col; ?></th>
1855
+ <?php
1856
+ }
1857
+ ?>
1858
+ </tr>
1859
+ </tfoot>
1860
+
1861
+ <tbody>
1862
+ <?php
1863
+ if($addons) {
1864
+ foreach($addons as $key => $addon) {
1865
+ $default_headers = array(
1866
+ 'Name' => 'Addon Name',
1867
+ 'Author' => 'Author',
1868
+ 'Description' => 'Description',
1869
+ 'AuthorURI' => 'Author URI'
1870
+ );
1871
+
1872
+ $addon_data = get_file_data( popover_dir('popoverincludes/addons/' . $addon), $default_headers, 'plugin' );
1873
+
1874
+ if(empty($addon_data['Name'])) {
1875
+ continue;
1876
+ }
1877
+
1878
+ ?>
1879
+ <tr valign="middle" class="alternate" id="addon-<?php echo $addon; ?>">
1880
+ <th class="check-column" scope="row"><input type="checkbox" value="<?php echo esc_attr($addon); ?>" name="addoncheck[]"></th>
1881
+ <td class="column-name">
1882
+ <strong><?php echo esc_html($addon_data['Name']) . "</strong>" . __(' by ', 'popover') . "<a href='" . esc_attr($addon_data['AuthorURI']) . "'>" . esc_html($addon_data['Author']) . "</a>"; ?>
1883
+ <?php if(!empty($addon_data['Description'])) {
1884
+ ?><br/><?php echo esc_html($addon_data['Description']);
1885
+ }
1886
+
1887
+ $actions = array();
1888
+
1889
+ if(in_array($addon, $active)) {
1890
+ $actions['toggle'] = "<span class='edit activate'><a href='" . wp_nonce_url("?page=" . $page. "&amp;action=deactivate&amp;addon=" . $addon . "", 'toggle-addon-' . $addon) . "'>" . __('Deactivate', 'popover') . "</a></span>";
1891
+ } else {
1892
+ $actions['toggle'] = "<span class='edit deactivate'><a href='" . wp_nonce_url("?page=" . $page. "&amp;action=activate&amp;addon=" . $addon . "", 'toggle-addon-' . $addon) . "'>" . __('Activate', 'popover') . "</a></span>";
1893
+ }
1894
+ ?>
1895
+ <br><div class="row-actions"><?php echo implode(" | ", $actions); ?></div>
1896
+ </td>
1897
+
1898
+ <td class="column-name">
1899
+ <?php echo esc_html($addon); ?>
1900
+ </td>
1901
+ <td class="column-active">
1902
+ <?php
1903
+ if(in_array($addon, $active)) {
1904
+ echo "<strong>" . __('Active', 'popover') . "</strong>";
1905
+ } else {
1906
+ echo __('Inactive', 'popover');
1907
+ }
1908
+ ?>
1909
+ </td>
1910
+ </tr>
1911
+ <?php
1912
+ }
1913
+ } else {
1914
+ $columncount = count($columns) + 1;
1915
+ ?>
1916
+ <tr valign="middle" class="alternate" >
1917
+ <td colspan="<?php echo $columncount; ?>" scope="row"><?php _e('No Add-ons where found for this install.','popover'); ?></td>
1918
+ </tr>
1919
+ <?php
1920
+ }
1921
+ ?>
1922
+
1923
+ </tbody>
1924
+ </table>
1925
+
1926
+
1927
+ <div class="tablenav">
1928
+
1929
+ <div class="alignleft actions">
1930
+ <select name="action2">
1931
+ <option selected="selected" value=""><?php _e('Bulk Actions', 'popover'); ?></option>
1932
+ <option value="toggle"><?php _e('Toggle activation', 'popover'); ?></option>
1933
+ </select>
1934
+ <input type="submit" class="button-secondary action" id="doaction2" name="doaction2" value="<?php _e('Apply', 'popover'); ?>">
1935
+ </div>
1936
+ <div class="alignright actions"></div>
1937
+ <br class="clear">
1938
+ </div>
1939
+
1940
+ </form>
1941
+
1942
+ </div> <!-- wrap -->
1943
+ <?php
1944
+ }
1945
+
1946
  }
1947
 
1948
  }
popoverincludes/classes/popoverajax.php ADDED
@@ -0,0 +1,466 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if(!class_exists('popoverajax')) {
3
+
4
+ class popoverajax {
5
+
6
+ var $mylocation = '';
7
+ var $build = 3;
8
+ var $db;
9
+
10
+ var $tables = array( 'popover' );
11
+ var $popover;
12
+
13
+ var $activepopover = false;
14
+
15
+ function __construct() {
16
+
17
+ global $wpdb;
18
+
19
+ $this->db =& $wpdb;
20
+
21
+ foreach($this->tables as $table) {
22
+ $this->$table = popover_db_prefix($this->db, $table);
23
+ }
24
+
25
+ //add_action('init', array(&$this, 'selective_message_display'), 1);
26
+
27
+ add_action( 'plugins_loaded', array(&$this, 'load_textdomain'));
28
+
29
+ $directories = explode(DIRECTORY_SEPARATOR,dirname(__FILE__));
30
+ $this->mylocation = $directories[count($directories)-1];
31
+
32
+ // Adding in Ajax calls - need to be in the admin area as it uses admin_url :/
33
+ add_action('wp_ajax_po_popover', array(&$this, 'selective_message_display') );
34
+ add_action('wp_ajax_nopriv_po_popover', array(&$this, 'selective_message_display') );
35
+
36
+ }
37
+
38
+ function popoverajax() {
39
+ $this->__construct();
40
+ }
41
+
42
+ function load_textdomain() {
43
+
44
+ $locale = apply_filters( 'popover_locale', get_locale() );
45
+ $mofile = popover_dir( "popoverincludes/languages/popover-$locale.mo" );
46
+
47
+ if ( file_exists( $mofile ) )
48
+ load_textdomain( 'popover', $mofile );
49
+
50
+ }
51
+
52
+ function get_active_popovers() {
53
+ $sql = $this->db->prepare( "SELECT * FROM {$this->popover} WHERE popover_active = 1 ORDER BY popover_order ASC" );
54
+
55
+ return $this->db->get_results( $sql );
56
+ }
57
+
58
+ function selective_message_display() {
59
+
60
+ die('hello');
61
+
62
+ if(function_exists('get_site_option') && defined('PO_GLOBAL') && PO_GLOBAL == true) {
63
+ $updateoption = 'update_site_option';
64
+ $getoption = 'get_site_option';
65
+ } else {
66
+ $updateoption = 'update_option';
67
+ $getoption = 'get_option';
68
+ }
69
+
70
+ $popovers = $this->get_active_popovers();
71
+
72
+ if(!empty($popovers)) {
73
+
74
+ foreach( (array) $popovers as $popover ) {
75
+
76
+ // We have an active popover so extract the information and test it
77
+ $popover_title = stripslashes($popover->popover_title);
78
+ $popover_content = stripslashes($popover->popover_content);
79
+ $popover->popover_settings = unserialize($popover->popover_settings);
80
+
81
+ $popover_size = $popover->popover_settings['popover_size'];
82
+ $popover_location = $popover->popover_settings['popover_location'];
83
+ $popover_colour = $popover->popover_settings['popover_colour'];
84
+ $popover_margin = $popover->popover_settings['popover_margin'];
85
+
86
+ $popover_size = $this->sanitise_array($popover_size);
87
+ $popover_location = $this->sanitise_array($popover_location);
88
+ $popover_colour = $this->sanitise_array($popover_colour);
89
+ $popover_margin = $this->sanitise_array($popover_margin);
90
+
91
+ $popover_check = $popover->popover_settings['popover_check'];
92
+ $popover_ereg = $popover->popover_settings['popover_ereg'];
93
+ $popover_count = $popover->popover_settings['popover_count'];
94
+
95
+ $popover_usejs = $popover->popover_settings['popover_usejs'];
96
+
97
+ $popoverstyle = $popover->popover_settings['popover_style'];
98
+
99
+ $popover_delay = $popover->popover_settings['popoverdelay'];
100
+
101
+ $popover_onurl = $popover->popover_settings['onurl'];
102
+ $popover_notonurl = $popover->popover_settings['notonurl'];
103
+
104
+ $popover_onurl = $this->sanitise_array($popover_onurl);
105
+ $popover_notonurl = $this->sanitise_array($popover_notonurl);
106
+
107
+ $show = true;
108
+
109
+ if(!empty($popover_check)) {
110
+
111
+ $order = explode(',', $popover_check['order']);
112
+
113
+ foreach($order as $key) {
114
+
115
+ switch ($key) {
116
+
117
+ case "supporter":
118
+ if(function_exists('is_pro_site') && is_pro_site()) {
119
+ $show = false;
120
+ }
121
+ break;
122
+
123
+ case "loggedin": if($this->is_loggedin()) {
124
+ $show = false;
125
+ }
126
+ break;
127
+
128
+ case "isloggedin": if(!$this->is_loggedin()) {
129
+ $show = false;
130
+ }
131
+ break;
132
+
133
+ case "commented": if($this->has_commented()) {
134
+ $show = false;
135
+ }
136
+ break;
137
+
138
+ case "searchengine":
139
+ if(!$this->is_fromsearchengine()) {
140
+ $show = false;
141
+ }
142
+ break;
143
+
144
+ case "internal": $internal = str_replace('http://','',get_option('home'));
145
+ if($this->referrer_matches(addcslashes($internal,"/"))) {
146
+ $show = false;
147
+ }
148
+ break;
149
+
150
+ case "referrer": $match = $popover_ereg;
151
+ if(!$this->referrer_matches(addcslashes($match,"/"))) {
152
+ $show = false;
153
+ }
154
+ break;
155
+
156
+ case "count": if($this->has_reached_limit($popover_count)) {
157
+ $show = false;
158
+ }
159
+ break;
160
+
161
+ case 'onurl': if(!$this->onurl( $popover_onurl )) {
162
+ $show = false;
163
+ }
164
+ break;
165
+
166
+ case 'notonurl': if($this->onurl( $popover_notonurl )) {
167
+ $show = false;
168
+ }
169
+ break;
170
+
171
+ default: if(has_filter('popover_process_rule_' . $key)) {
172
+ if(!apply_filters( 'popover_process_rule_' . $key, false )) {
173
+ $show = false;
174
+ }
175
+ }
176
+ break;
177
+
178
+ }
179
+ }
180
+ }
181
+
182
+ if($show == true) {
183
+
184
+ if($this->clear_forever()) {
185
+ $show = false;
186
+ }
187
+
188
+ }
189
+
190
+ if($show == true) {
191
+
192
+ // Store the active popover so we know what we are using in the footer.
193
+ $this->activepopover = $popover;
194
+
195
+ wp_enqueue_script('jquery');
196
+
197
+ $popover_messagebox = 'a' . md5(date('d')) . '-po';
198
+ // Show the advert
199
+ wp_enqueue_script('popoverjs', popover_url('popoverincludes/js/popover.js'), array('jquery'), $this->build);
200
+ if(!empty($popover_delay) && $popover_delay != 'immediate') {
201
+ // Set the delay
202
+ wp_localize_script('popoverjs', 'popover', array( 'messagebox' => '#' . $popover_messagebox,
203
+ 'messagedelay' => $popover_delay * 1000
204
+ ));
205
+ } else {
206
+ wp_localize_script('popoverjs', 'popover', array( 'messagebox' => '#' . $popover_messagebox,
207
+ 'messagedelay' => 0
208
+ ));
209
+ }
210
+
211
+ if($popover_usejs == 'yes') {
212
+ wp_enqueue_script('popoveroverridejs', popover_url('popoverincludes/js/popoversizing.js'), array('jquery'), $this->build);
213
+ }
214
+
215
+ add_action('wp_head', array(&$this, 'page_header'));
216
+ add_action('wp_footer', array(&$this, 'page_footer'));
217
+
218
+ // Add the cookie
219
+ if ( isset($_COOKIE['popover_view_'.COOKIEHASH]) ) {
220
+ $count = intval($_COOKIE['popover_view_'.COOKIEHASH]);
221
+ if(!is_numeric($count)) $count = 0;
222
+ $count++;
223
+ } else {
224
+ $count = 1;
225
+ }
226
+ if(!headers_sent()) setcookie('popover_view_'.COOKIEHASH, $count , time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
227
+
228
+ break;
229
+ }
230
+
231
+
232
+ }
233
+
234
+ }
235
+
236
+ }
237
+
238
+ function sanitise_array($arrayin) {
239
+
240
+ foreach($arrayin as $key => $value) {
241
+ $arrayin[$key] = htmlentities(stripslashes($value) ,ENT_QUOTES, 'UTF-8');
242
+ }
243
+
244
+ return $arrayin;
245
+ }
246
+
247
+ function page_header() {
248
+
249
+ if(!$this->activepopover) {
250
+ return;
251
+ }
252
+
253
+ $popover = $this->activepopover;
254
+
255
+ $popover_title = stripslashes($popover->popover_title);
256
+ $popover_content = stripslashes($popover->popover_content);
257
+
258
+ $popover_size = $popover->popover_settings['popover_size'];
259
+ $popover_location = $popover->popover_settings['popover_location'];
260
+ $popover_colour = $popover->popover_settings['popover_colour'];
261
+ $popover_margin = $popover->popover_settings['popover_margin'];
262
+
263
+ $popover_size = $this->sanitise_array($popover_size);
264
+ $popover_location = $this->sanitise_array($popover_location);
265
+ $popover_colour = $this->sanitise_array($popover_colour);
266
+ $popover_margin = $this->sanitise_array($popover_margin);
267
+
268
+ $popover_check = $popover->popover_settings['popover_check'];
269
+ $popover_ereg = $popover->popover_settings['popover_ereg'];
270
+ $popover_count = $popover->popover_settings['popover_count'];
271
+
272
+ $popover_usejs = $popover->popover_settings['popover_usejs'];
273
+
274
+ $popoverstyle = $popover->popover_settings['popover_style'];
275
+
276
+ $popover_hideforever = $popover->popover_settings['popoverhideforeverlink'];
277
+
278
+ $popover_delay = $popover->popover_settings['popoverdelay'];
279
+
280
+ $popover_messagebox = 'a' . md5(date('d')) . '-po';
281
+
282
+ $availablestyles = apply_filters( 'popover_available_styles_directory', array() );
283
+ $availablestylesurl = apply_filters( 'popover_available_styles_url', array() );
284
+
285
+ if( in_array($popoverstyle, array_keys($availablestyles)) ) {
286
+ // Add the styles
287
+ if(file_exists(trailingslashit($availablestyles[$popoverstyle]) . 'style.css')) {
288
+ ob_start();
289
+ include_once( trailingslashit($availablestyles[$popoverstyle]) . 'style.css' );
290
+ $content = ob_get_contents();
291
+ ob_end_clean();
292
+
293
+ echo "<style type='text/css'>\n";
294
+ $content = str_replace('#messagebox', '#' . $popover_messagebox, $content);
295
+ $content = str_replace('%styleurl%', trailingslashit($availablestylesurl[$popoverstyle]), $content);
296
+ echo $content;
297
+ echo "</style>\n";
298
+ }
299
+
300
+ }
301
+
302
+ }
303
+
304
+ function page_footer() {
305
+
306
+ if(!$this->activepopover) {
307
+ return;
308
+ }
309
+
310
+ $popover = $this->activepopover;
311
+
312
+ $popover_title = stripslashes($popover->popover_title);
313
+ $popover_content = stripslashes($popover->popover_content);
314
+
315
+ $popover_size = $popover->popover_settings['popover_size'];
316
+ $popover_location = $popover->popover_settings['popover_location'];
317
+ $popover_colour = $popover->popover_settings['popover_colour'];
318
+ $popover_margin = $popover->popover_settings['popover_margin'];
319
+
320
+ $popover_size = $this->sanitise_array($popover_size);
321
+ $popover_location = $this->sanitise_array($popover_location);
322
+ $popover_colour = $this->sanitise_array($popover_colour);
323
+ $popover_margin = $this->sanitise_array($popover_margin);
324
+
325
+ $popover_check = $popover->popover_settings['popover_check'];
326
+ $popover_ereg = $popover->popover_settings['popover_ereg'];
327
+ $popover_count = $popover->popover_settings['popover_count'];
328
+
329
+ $popover_usejs = $popover->popover_settings['popover_usejs'];
330
+
331
+ $popoverstyle = $popover->popover_settings['popover_style'];
332
+
333
+ $popover_hideforever = $popover->popover_settings['popoverhideforeverlink'];
334
+
335
+ $popover_delay = $popover->popover_settings['popoverdelay'];
336
+
337
+ $style = '';
338
+ $backgroundstyle = '';
339
+
340
+ if($popover_usejs == 'yes') {
341
+ $style = 'z-index:999999;';
342
+ $box = 'color: #' . $popover_colour['fore'] . '; background: #' . $popover_colour['back'] . ';';
343
+ $style .= 'left: -1000px; top: =100px;';
344
+ } else {
345
+ $style = 'left: ' . $popover_location['left'] . '; top: ' . $popover_location['top'] . ';' . ' z-index:999999;';
346
+ $style .= 'margin-top: ' . $popover_margin['top'] . '; margin-bottom: ' . $popover_margin['bottom'] . '; margin-right: ' . $popover_margin['right'] . '; margin-left: ' . $popover_margin['left'] . ';';
347
+
348
+ $box = 'width: ' . $popover_size['width'] . '; height: ' . $popover_size['height'] . '; color: #' . $popover_colour['fore'] . '; background: #' . $popover_colour['back'] . ';';
349
+
350
+ }
351
+
352
+ if(!empty($popover_delay) && $popover_delay != 'immediate') {
353
+ // Hide the popover initially
354
+ $style .= ' visibility: hidden;';
355
+ $backgroundstyle .= ' visibility: hidden;';
356
+ }
357
+
358
+ $availablestyles = apply_filters( 'popover_available_styles_directory', array() );
359
+
360
+ if( in_array($popoverstyle, array_keys($availablestyles)) ) {
361
+ $popover_messagebox = 'a' . md5(date('d')) . '-po';
362
+
363
+ if(file_exists(trailingslashit($availablestyles[$popoverstyle]) . 'popover.php')) {
364
+ ob_start();
365
+ include_once( trailingslashit($availablestyles[$popoverstyle]) . 'popover.php' );
366
+ ob_end_flush();
367
+ }
368
+ }
369
+
370
+
371
+ }
372
+
373
+ function is_fromsearchengine() {
374
+ $ref = $_SERVER['HTTP_REFERER'];
375
+
376
+ $SE = array('/search?', '.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search/', '.yahoo.', '.bing.' );
377
+
378
+ foreach ($SE as $url) {
379
+ if (strpos($ref,$url)!==false) return true;
380
+ }
381
+ return false;
382
+ }
383
+
384
+ function is_ie()
385
+ {
386
+ if (isset($_SERVER['HTTP_USER_AGENT']) && (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))
387
+ return true;
388
+ else
389
+ return false;
390
+ }
391
+
392
+ function is_loggedin() {
393
+ return is_user_logged_in();
394
+ }
395
+
396
+ function has_commented() {
397
+ if ( isset($_COOKIE['comment_author_'.COOKIEHASH]) ) {
398
+ return true;
399
+ } else {
400
+ return false;
401
+ }
402
+ }
403
+
404
+ function referrer_matches($check) {
405
+
406
+ if(preg_match( '/' . $check . '/i', $_SERVER['HTTP_REFERER'] )) {
407
+ return true;
408
+ } else {
409
+ return false;
410
+ }
411
+
412
+ }
413
+
414
+ function has_reached_limit($count = 3) {
415
+ if ( isset($_COOKIE['popover_view_'.COOKIEHASH]) && addslashes($_COOKIE['popover_view_'.COOKIEHASH]) >= $count ) {
416
+ return true;
417
+ } else {
418
+ return false;
419
+ }
420
+ }
421
+
422
+ function myURL() {
423
+
424
+ if ($_SERVER["HTTPS"] == "on") {
425
+ $url .= "https://";
426
+ } else {
427
+ $url = 'http://';
428
+ }
429
+
430
+ if ($_SERVER["SERVER_PORT"] != "80") {
431
+ $url .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
432
+ } else {
433
+ $url .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
434
+ }
435
+
436
+ return trailingslashit($url);
437
+ }
438
+
439
+ function onurl( $urllist = array() ) {
440
+
441
+ $urllist = array_map( 'trim', $urllist );
442
+
443
+ if(!empty($urllist)) {
444
+ if(in_array($this->myURL(), $urllist)) {
445
+ // we are on the list
446
+ return true;
447
+ } else {
448
+ return false;
449
+ }
450
+ } else {
451
+ return true;
452
+ }
453
+
454
+ }
455
+
456
+ function clear_forever() {
457
+ if ( isset($_COOKIE['popover_never_view']) ) {
458
+ return true;
459
+ } else {
460
+ return false;
461
+ }
462
+ }
463
+
464
+ }
465
+ }
466
+ ?>
popoverincludes/classes/popoverpublic.php CHANGED
@@ -5,24 +5,79 @@ if(!class_exists('popoverpublic')) {
5
  class popoverpublic {
6
 
7
  var $mylocation = '';
8
- var $build = 3;
 
 
 
 
 
 
 
9
 
10
  function __construct() {
11
 
12
- add_action('init', array(&$this, 'selective_message_display'), 1);
13
- add_action('wp_footer', array(&$this, 'selective_message_display'));
 
 
 
 
 
 
 
14
 
15
  add_action( 'plugins_loaded', array(&$this, 'load_textdomain'));
16
 
17
  $directories = explode(DIRECTORY_SEPARATOR,dirname(__FILE__));
18
  $this->mylocation = $directories[count($directories)-1];
19
 
 
 
 
 
 
 
 
 
20
  }
21
 
22
  function popoverpublic() {
23
  $this->__construct();
24
  }
25
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  function load_textdomain() {
27
 
28
  $locale = apply_filters( 'popover_locale', get_locale() );
@@ -33,158 +88,336 @@ if(!class_exists('popoverpublic')) {
33
 
34
  }
35
 
 
 
 
 
 
 
36
  function selective_message_display() {
37
 
38
- if(is_multisite() && defined('PO_GLOBAL')) {
 
39
  $getoption = 'get_site_option';
40
  } else {
 
41
  $getoption = 'get_option';
42
  }
43
 
44
- $popover_check = $getoption('popover_check', array());
45
-
46
- $show = false;
47
-
48
- if(!empty($popover_check)) {
49
-
50
- $order = explode(',', $popover_check['order']);
51
-
52
- foreach($order as $key) {
53
- switch ($key) {
54
-
55
- case "supporter":
56
- if(function_exists('is_supporter') && !is_supporter()) {
57
- $show = true;
58
- } else {
59
- return false;
60
- }
61
- break;
62
-
63
- case "loggedin": if(!$this->is_loggedin()) {
64
- $show = true;
65
- } else {
66
- return false;
67
- }
68
- break;
69
-
70
- case "isloggedin": if($this->is_loggedin()) {
71
- $show = true;
72
- } else {
73
- return false;
74
- }
75
- break;
76
-
77
- case "commented": if(!$this->has_commented()) {
78
- $show = true;
79
- } else {
80
- return false;
81
- }
82
- break;
83
-
84
- case "internal": $internal = str_replace('http://','',get_option('siteurl'));
85
- if(!$this->referrer_matches(addcslashes($internal,"/"))) {
86
- $show = true;
87
- } else {
88
- return false;
89
- }
90
- break;
91
-
92
- case "count": $popover_count = $getoption('popover_count', '3');
93
- if($this->has_reached_limit($popover_count)) {
94
- return false;
95
- }
96
- break;
97
 
98
- }
99
- }
100
- }
101
 
102
- if($show == true) {
103
 
104
- if($this->clear_forever()) {
105
- $show = false;
106
- }
 
107
 
108
- }
 
 
 
109
 
110
- if($show == true) {
111
- // Show the advert
112
- wp_enqueue_style('popovercss', popover_url('popoverincludes/css/popover.css'), array(), $this->build);
113
- wp_enqueue_script('popoverjs', popover_url('popoverincludes/js/popover.js'), array('jquery'), $this->build);
114
 
115
- if($getoption('popover_usejs', 'no') == 'yes') {
116
- wp_enqueue_script('popoveroverridejs', popover_url('popoverincludes/js/popoversizing.js'), array('jquery'), $this->build);
117
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
 
119
- add_action('wp_footer', array(&$this, 'page_footer'));
120
- wp_enqueue_script('jquery');
121
 
122
- // Add the cookie
123
- if ( isset($_COOKIE['popover_view_'.COOKIEHASH]) ) {
124
- $count = intval($_COOKIE['popover_view_'.COOKIEHASH]);
125
- if(!is_numeric($count)) $count = 0;
126
- $count++;
127
- } else {
128
- $count = 1;
129
  }
130
- if(!headers_sent()) setcookie('popover_view_'.COOKIEHASH, $count , time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
131
  }
132
 
133
  }
134
 
135
  function sanitise_array($arrayin) {
136
 
137
- foreach($arrayin as $key => $value) {
138
  $arrayin[$key] = htmlentities(stripslashes($value) ,ENT_QUOTES, 'UTF-8');
139
  }
140
 
141
  return $arrayin;
142
  }
143
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
  function page_footer() {
145
 
146
- if(is_multisite() && defined('PO_GLOBAL')) {
147
- $getoption = 'get_site_option';
148
- } else {
149
- $getoption = 'get_option';
150
  }
151
 
152
- $content = stripslashes($getoption('popover_content', ''));
 
 
 
153
 
154
- $popover_size = $getoption('popover_size', array('width' => '500px', 'height' => '200px'));
155
- $popover_location = $getoption('popover_location', array('left' => '100px', 'top' => '100px'));
156
- $popover_colour = $getoption('popover_colour', array('back' => 'FFFFFF', 'fore' => '000000'));
157
- $popover_margin = $getoption('popover_margin', array('left' => '0px', 'top' => '0px', 'right' => '0px', 'bottom' => '0px'));
158
 
159
  $popover_size = $this->sanitise_array($popover_size);
160
  $popover_location = $this->sanitise_array($popover_location);
161
  $popover_colour = $this->sanitise_array($popover_colour);
162
  $popover_margin = $this->sanitise_array($popover_margin);
163
 
164
- if($getoption('popover_usejs', 'no') == 'yes') {
165
- $style = '';
166
- $box = 'color: #' . $popover_colour['fore'] . '; background: #' . $popover_colour['back'] . ';';
 
 
 
 
 
 
167
 
 
 
 
 
 
 
 
 
 
168
  } else {
169
- $style = 'left: ' . $popover_location['left'] . '; top: ' . $popover_location['top'] . ';';
170
  $style .= 'margin-top: ' . $popover_margin['top'] . '; margin-bottom: ' . $popover_margin['bottom'] . '; margin-right: ' . $popover_margin['right'] . '; margin-left: ' . $popover_margin['left'] . ';';
171
 
172
  $box = 'width: ' . $popover_size['width'] . '; height: ' . $popover_size['height'] . '; color: #' . $popover_colour['fore'] . '; background: #' . $popover_colour['back'] . ';';
173
 
174
  }
175
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
176
 
177
- ?>
178
- <div id='messagebox' class='visiblebox' style='<?php echo $style; ?>'>
179
- <a href='' id='closebox' title='Close this box'></a>
180
- <div id='message' style='<?php echo $box; ?>'>
181
- <?php echo $content; ?>
182
- <div class='clear'></div>
183
- <div class='claimbutton hide'><a href='#' id='clearforever'><?php _e('Never see this message again.','popover'); ?></a></div>
184
- </div>
185
- <div class='clear'></div>
186
- </div>
187
- <?php
188
  }
189
 
190
  function is_ie()
@@ -209,7 +442,9 @@ if(!class_exists('popoverpublic')) {
209
 
210
  function referrer_matches($check) {
211
 
212
- if(preg_match( '/' . $check . '/i', $_SERVER['HTTP_REFERER'] )) {
 
 
213
  return true;
214
  } else {
215
  return false;
@@ -225,6 +460,63 @@ if(!class_exists('popoverpublic')) {
225
  }
226
  }
227
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  function clear_forever() {
229
  if ( isset($_COOKIE['popover_never_view']) ) {
230
  return true;
5
  class popoverpublic {
6
 
7
  var $mylocation = '';
8
+ var $build = 5;
9
+ var $db;
10
+
11
+ var $tables = array( 'popover', 'popover_ip_cache' );
12
+ var $popover;
13
+ var $popover_ip_cache;
14
+
15
+ var $activepopover = false;
16
 
17
  function __construct() {
18
 
19
+ global $wpdb;
20
+
21
+ $this->db =& $wpdb;
22
+
23
+ foreach($this->tables as $table) {
24
+ $this->$table = popover_db_prefix($this->db, $table);
25
+ }
26
+
27
+ add_action('init', array(&$this, 'selective_message_display'), 99);
28
 
29
  add_action( 'plugins_loaded', array(&$this, 'load_textdomain'));
30
 
31
  $directories = explode(DIRECTORY_SEPARATOR,dirname(__FILE__));
32
  $this->mylocation = $directories[count($directories)-1];
33
 
34
+ $installed = get_option('popover_installed', false);
35
+
36
+ if($installed === false || $installed != $this->build) {
37
+ $this->install();
38
+
39
+ update_option('popover_installed', $this->build);
40
+ }
41
+
42
  }
43
 
44
  function popoverpublic() {
45
  $this->__construct();
46
  }
47
 
48
+ function install() {
49
+
50
+ if($this->db->get_var( "SHOW TABLES LIKE '" . $this->popover . "' ") != $this->popover) {
51
+ $sql = "CREATE TABLE `" . $this->popover . "` (
52
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
53
+ `popover_title` varchar(250) DEFAULT NULL,
54
+ `popover_content` text,
55
+ `popover_settings` text,
56
+ `popover_order` bigint(20) DEFAULT '0',
57
+ `popover_active` int(11) DEFAULT '0',
58
+ PRIMARY KEY (`id`)
59
+ )";
60
+
61
+ $this->db->query($sql);
62
+
63
+ }
64
+
65
+ // Add in IP cache table
66
+ if($this->db->get_var( "SHOW TABLES LIKE '" . $this->popover_ip_cache . "' ") != $this->popover_ip_cache) {
67
+ $sql = "CREATE TABLE `" . $this->popover_ip_cache . "` (
68
+ `IP` varchar(12) NOT NULL DEFAULT '',
69
+ `country` varchar(2) DEFAULT NULL,
70
+ `cached` bigint(20) DEFAULT NULL,
71
+ PRIMARY KEY (`IP`),
72
+ KEY `cached` (`cached`)
73
+ )";
74
+
75
+ $this->db->query($sql);
76
+
77
+ }
78
+
79
+ }
80
+
81
  function load_textdomain() {
82
 
83
  $locale = apply_filters( 'popover_locale', get_locale() );
88
 
89
  }
90
 
91
+ function get_active_popovers() {
92
+ $sql = $this->db->prepare( "SELECT * FROM {$this->popover} WHERE popover_active = 1 ORDER BY popover_order ASC" );
93
+
94
+ return $this->db->get_results( $sql );
95
+ }
96
+
97
  function selective_message_display() {
98
 
99
+ if(function_exists('get_site_option') && defined('PO_GLOBAL') && PO_GLOBAL == true) {
100
+ $updateoption = 'update_site_option';
101
  $getoption = 'get_site_option';
102
  } else {
103
+ $updateoption = 'update_option';
104
  $getoption = 'get_option';
105
  }
106
 
107
+ $popovers = $this->get_active_popovers();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
 
109
+ if(!empty($popovers)) {
 
 
110
 
111
+ foreach( (array) $popovers as $popover ) {
112
 
113
+ // We have an active popover so extract the information and test it
114
+ $popover_title = stripslashes($popover->popover_title);
115
+ $popover_content = stripslashes($popover->popover_content);
116
+ $popover->popover_settings = unserialize($popover->popover_settings);
117
 
118
+ $popover_size = $popover->popover_settings['popover_size'];
119
+ $popover_location = $popover->popover_settings['popover_location'];
120
+ $popover_colour = $popover->popover_settings['popover_colour'];
121
+ $popover_margin = $popover->popover_settings['popover_margin'];
122
 
123
+ $popover_size = $this->sanitise_array($popover_size);
124
+ $popover_location = $this->sanitise_array($popover_location);
125
+ $popover_colour = $this->sanitise_array($popover_colour);
126
+ $popover_margin = $this->sanitise_array($popover_margin);
127
 
128
+ $popover_check = $popover->popover_settings['popover_check'];
129
+ $popover_ereg = $popover->popover_settings['popover_ereg'];
130
+ $popover_count = $popover->popover_settings['popover_count'];
131
+
132
+ $popover_usejs = $popover->popover_settings['popover_usejs'];
133
+
134
+ $popoverstyle = (isset($popover->popover_settings['popover_style'])) ? $popover->popover_settings['popover_style'] : '';
135
+
136
+ $popover_hideforever = (isset($popover->popover_settings['popoverhideforeverlink'])) ? $popover->popover_settings['popoverhideforeverlink'] : '';
137
+
138
+ $popover_delay = (isset($popover->popover_settings['popoverdelay'])) ? $popover->popover_settings['popoverdelay'] : '';
139
+
140
+ $popover_onurl = (isset($popover->popover_settings['onurl'])) ? $popover->popover_settings['onurl'] : '';
141
+ $popover_notonurl = (isset($popover->popover_settings['notonurl'])) ? $popover->popover_settings['notonurl'] : '';
142
+
143
+ $popover_onurl = $this->sanitise_array($popover_onurl);
144
+ $popover_notonurl = $this->sanitise_array($popover_notonurl);
145
+
146
+ $show = true;
147
+
148
+ if(!empty($popover_check)) {
149
+
150
+ $order = explode(',', $popover_check['order']);
151
+
152
+ foreach($order as $key) {
153
+
154
+ switch ($key) {
155
+
156
+ case "supporter":
157
+ if(function_exists('is_pro_site') && is_pro_site()) {
158
+ $show = false;
159
+ }
160
+ break;
161
+
162
+ case "loggedin": if($this->is_loggedin()) {
163
+ $show = false;
164
+ }
165
+ break;
166
+
167
+ case "isloggedin": if(!$this->is_loggedin()) {
168
+ $show = false;
169
+ }
170
+ break;
171
+
172
+ case "commented": if($this->has_commented()) {
173
+ $show = false;
174
+ }
175
+ break;
176
+
177
+ case "searchengine":
178
+ if(!$this->is_fromsearchengine()) {
179
+ $show = false;
180
+ }
181
+ break;
182
+
183
+ case "internal": $internal = str_replace('http://','',get_option('home'));
184
+ if($this->referrer_matches(addcslashes($internal,"/"))) {
185
+ $show = false;
186
+ }
187
+ break;
188
+
189
+ case "referrer": $match = $popover_ereg;
190
+ if(!$this->referrer_matches(addcslashes($match,"/"))) {
191
+ $show = false;
192
+ }
193
+ break;
194
+
195
+ case "count": if($this->has_reached_limit($popover_count)) {
196
+ $show = false;
197
+ }
198
+ break;
199
+
200
+ case 'onurl': if(!$this->onurl( $popover_onurl )) {
201
+ $show = false;
202
+ }
203
+ break;
204
+
205
+ case 'notonurl': if($this->onurl( $popover_notonurl )) {
206
+ $show = false;
207
+ }
208
+ break;
209
+
210
+ default: if(has_filter('popover_process_rule_' . $key)) {
211
+ if(!apply_filters( 'popover_process_rule_' . $key, false )) {
212
+ $show = false;
213
+ }
214
+ }
215
+ break;
216
+
217
+ }
218
+ }
219
+ }
220
+
221
+ if($show == true) {
222
+
223
+ if($this->clear_forever()) {
224
+ $show = false;
225
+ }
226
+
227
+ }
228
+
229
+ if($show == true) {
230
+
231
+ // Store the active popover so we know what we are using in the footer.
232
+ $this->activepopover = $popover;
233
+
234
+ wp_enqueue_script('jquery');
235
+
236
+ $popover_messagebox = 'a' . md5(date('d')) . '-po';
237
+ // Show the advert
238
+ wp_enqueue_script('popoverjs', popover_url('popoverincludes/js/popover.js'), array('jquery'), $this->build);
239
+ if(!empty($popover_delay) && $popover_delay != 'immediate') {
240
+ // Set the delay
241
+ wp_localize_script('popoverjs', 'popover', array( 'messagebox' => '#' . $popover_messagebox,
242
+ 'messagedelay' => $popover_delay * 1000
243
+ ));
244
+ } else {
245
+ wp_localize_script('popoverjs', 'popover', array( 'messagebox' => '#' . $popover_messagebox,
246
+ 'messagedelay' => 0
247
+ ));
248
+ }
249
+
250
+ if($popover_usejs == 'yes') {
251
+ wp_enqueue_script('popoveroverridejs', popover_url('popoverincludes/js/popoversizing.js'), array('jquery'), $this->build);
252
+ }
253
+
254
+ add_action('wp_head', array(&$this, 'page_header'));
255
+ add_action('wp_footer', array(&$this, 'page_footer'));
256
+
257
+ // Add the cookie
258
+ if ( isset($_COOKIE['popover_view_'.COOKIEHASH]) ) {
259
+ $count = intval($_COOKIE['popover_view_'.COOKIEHASH]);
260
+ if(!is_numeric($count)) $count = 0;
261
+ $count++;
262
+ } else {
263
+ $count = 1;
264
+ }
265
+ if(!headers_sent()) setcookie('popover_view_'.COOKIEHASH, $count , time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
266
+
267
+ break;
268
+ }
269
 
 
 
270
 
 
 
 
 
 
 
 
271
  }
272
+
273
  }
274
 
275
  }
276
 
277
  function sanitise_array($arrayin) {
278
 
279
+ foreach( (array) $arrayin as $key => $value) {
280
  $arrayin[$key] = htmlentities(stripslashes($value) ,ENT_QUOTES, 'UTF-8');
281
  }
282
 
283
  return $arrayin;
284
  }
285
 
286
+ function page_header() {
287
+
288
+ if(!$this->activepopover) {
289
+ return;
290
+ }
291
+
292
+ $popover = $this->activepopover;
293
+
294
+ $popover_title = stripslashes($popover->popover_title);
295
+ $popover_content = stripslashes($popover->popover_content);
296
+
297
+ $popover_size = $popover->popover_settings['popover_size'];
298
+ $popover_location = $popover->popover_settings['popover_location'];
299
+ $popover_colour = $popover->popover_settings['popover_colour'];
300
+ $popover_margin = $popover->popover_settings['popover_margin'];
301
+
302
+ $popover_size = $this->sanitise_array($popover_size);
303
+ $popover_location = $this->sanitise_array($popover_location);
304
+ $popover_colour = $this->sanitise_array($popover_colour);
305
+ $popover_margin = $this->sanitise_array($popover_margin);
306
+
307
+ $popover_check = $popover->popover_settings['popover_check'];
308
+ $popover_ereg = $popover->popover_settings['popover_ereg'];
309
+ $popover_count = $popover->popover_settings['popover_count'];
310
+
311
+ $popover_usejs = $popover->popover_settings['popover_usejs'];
312
+
313
+ $popoverstyle = $popover->popover_settings['popover_style'];
314
+
315
+ $popover_hideforever = $popover->popover_settings['popoverhideforeverlink'];
316
+
317
+ $popover_delay = $popover->popover_settings['popoverdelay'];
318
+
319
+ $popover_messagebox = 'a' . md5(date('d')) . '-po';
320
+
321
+ $availablestyles = apply_filters( 'popover_available_styles_directory', array() );
322
+ $availablestylesurl = apply_filters( 'popover_available_styles_url', array() );
323
+
324
+ if( in_array($popoverstyle, array_keys($availablestyles)) ) {
325
+ // Add the styles
326
+ if(file_exists(trailingslashit($availablestyles[$popoverstyle]) . 'style.css')) {
327
+ ob_start();
328
+ include_once( trailingslashit($availablestyles[$popoverstyle]) . 'style.css' );
329
+ $content = ob_get_contents();
330
+ ob_end_clean();
331
+
332
+ echo "<style type='text/css'>\n";
333
+ $content = str_replace('#messagebox', '#' . $popover_messagebox, $content);
334
+ $content = str_replace('%styleurl%', trailingslashit($availablestylesurl[$popoverstyle]), $content);
335
+ echo $content;
336
+ echo "</style>\n";
337
+ }
338
+
339
+ }
340
+
341
+ }
342
+
343
  function page_footer() {
344
 
345
+ if(!$this->activepopover) {
346
+ return;
 
 
347
  }
348
 
349
+ $popover = $this->activepopover;
350
+
351
+ $popover_title = stripslashes($popover->popover_title);
352
+ $popover_content = stripslashes($popover->popover_content);
353
 
354
+ $popover_size = $popover->popover_settings['popover_size'];
355
+ $popover_location = $popover->popover_settings['popover_location'];
356
+ $popover_colour = $popover->popover_settings['popover_colour'];
357
+ $popover_margin = $popover->popover_settings['popover_margin'];
358
 
359
  $popover_size = $this->sanitise_array($popover_size);
360
  $popover_location = $this->sanitise_array($popover_location);
361
  $popover_colour = $this->sanitise_array($popover_colour);
362
  $popover_margin = $this->sanitise_array($popover_margin);
363
 
364
+ $popover_check = $popover->popover_settings['popover_check'];
365
+ $popover_ereg = $popover->popover_settings['popover_ereg'];
366
+ $popover_count = $popover->popover_settings['popover_count'];
367
+
368
+ $popover_usejs = $popover->popover_settings['popover_usejs'];
369
+
370
+ $popoverstyle = $popover->popover_settings['popover_style'];
371
+
372
+ $popover_hideforever = $popover->popover_settings['popoverhideforeverlink'];
373
 
374
+ $popover_delay = $popover->popover_settings['popoverdelay'];
375
+
376
+ $style = '';
377
+ $backgroundstyle = '';
378
+
379
+ if($popover_usejs == 'yes') {
380
+ $style = 'z-index:999999;';
381
+ $box = 'color: #' . $popover_colour['fore'] . '; background: #' . $popover_colour['back'] . ';';
382
+ $style .= 'left: -1000px; top: =100px;';
383
  } else {
384
+ $style = 'left: ' . $popover_location['left'] . '; top: ' . $popover_location['top'] . ';' . ' z-index:999999;';
385
  $style .= 'margin-top: ' . $popover_margin['top'] . '; margin-bottom: ' . $popover_margin['bottom'] . '; margin-right: ' . $popover_margin['right'] . '; margin-left: ' . $popover_margin['left'] . ';';
386
 
387
  $box = 'width: ' . $popover_size['width'] . '; height: ' . $popover_size['height'] . '; color: #' . $popover_colour['fore'] . '; background: #' . $popover_colour['back'] . ';';
388
 
389
  }
390
 
391
+ if(!empty($popover_delay) && $popover_delay != 'immediate') {
392
+ // Hide the popover initially
393
+ $style .= ' visibility: hidden;';
394
+ $backgroundstyle .= ' visibility: hidden;';
395
+ }
396
+
397
+ $availablestyles = apply_filters( 'popover_available_styles_directory', array() );
398
+
399
+ if( in_array($popoverstyle, array_keys($availablestyles)) ) {
400
+ $popover_messagebox = 'a' . md5(date('d')) . '-po';
401
+
402
+ if(file_exists(trailingslashit($availablestyles[$popoverstyle]) . 'popover.php')) {
403
+ ob_start();
404
+ include_once( trailingslashit($availablestyles[$popoverstyle]) . 'popover.php' );
405
+ ob_end_flush();
406
+ }
407
+ }
408
+
409
 
410
+ }
411
+
412
+ function is_fromsearchengine() {
413
+ $ref = $_SERVER['HTTP_REFERER'];
414
+
415
+ $SE = array('/search?', '.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search/', '.yahoo.', '.bing.' );
416
+
417
+ foreach ($SE as $url) {
418
+ if (strpos($ref,$url)!==false) return true;
419
+ }
420
+ return false;
421
  }
422
 
423
  function is_ie()
442
 
443
  function referrer_matches($check) {
444
 
445
+ $referer = (isset($_SERVER['HTTP_REFERER'])) ? $_SERVER['HTTP_REFERER'] : '';
446
+
447
+ if(preg_match( '/' . $check . '/i', $referer )) {
448
  return true;
449
  } else {
450
  return false;
460
  }
461
  }
462
 
463
+ function myURL() {
464
+
465
+ if ($_SERVER["HTTPS"] == "on") {
466
+ $url .= "https://";
467
+ } else {
468
+ $url = 'http://';
469
+ }
470
+
471
+ if ($_SERVER["SERVER_PORT"] != "80") {
472
+ $url .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
473
+ } else {
474
+ $url .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
475
+ }
476
+
477
+ return trailingslashit($url);
478
+ }
479
+
480
+ function onurl( $urllist = array() ) {
481
+
482
+ $urllist = array_map( 'trim', $urllist );
483
+
484
+ if(!empty($urllist)) {
485
+ if(in_array($this->myURL(), $urllist)) {
486
+ // we are on the list
487
+ return true;
488
+ } else {
489
+ return false;
490
+ }
491
+ } else {
492
+ return true;
493
+ }
494
+
495
+ }
496
+
497
+ function insertonduplicate($table, $data) {
498
+
499
+ global $wpdb;
500
+
501
+ $fields = array_keys($data);
502
+ $formatted_fields = array();
503
+ foreach ( $fields as $field ) {
504
+ $form = '%s';
505
+ $formatted_fields[] = $form;
506
+ }
507
+ $sql = "INSERT INTO `$table` (`" . implode( '`,`', $fields ) . "`) VALUES ('" . implode( "','", $formatted_fields ) . "')";
508
+ $sql .= " ON DUPLICATE KEY UPDATE ";
509
+
510
+ $dup = array();
511
+ foreach($fields as $field) {
512
+ $dup[] = "`" . $field . "` = VALUES(`" . $field . "`)";
513
+ }
514
+
515
+ $sql .= implode(',', $dup);
516
+
517
+ return $wpdb->query( $wpdb->prepare( $sql, $data) );
518
+ }
519
+
520
  function clear_forever() {
521
  if ( isset($_COOKIE['popover_never_view']) ) {
522
  return true;
popoverincludes/css/default/images/closemessage.png ADDED
Binary file
popoverincludes/css/default/images/closemessagebland.png ADDED
Binary file
popoverincludes/css/default/images/loading.gif ADDED
Binary file
popoverincludes/css/default/images/opaque.png ADDED
Binary file
popoverincludes/css/default/popover.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id='<?php echo $popover_messagebox; ?>' class='visiblebox' style='<?php echo $style; ?>'>
2
+ <a href='' id='closebox' title='Close this box'></a>
3
+ <div id='message' style='<?php echo $box; ?>'>
4
+ <?php echo do_shortcode($popover_content); ?>
5
+ <div class='clear'></div>
6
+ <?php if($popover_hideforever != 'yes') {
7
+ ?>
8
+ <div class='claimbutton hide'><a href='#' id='clearforever'><?php _e('Never see this message again.','popover'); ?></a></div>
9
+ <?php
10
+ }
11
+ ?>
12
+ </div>
13
+ <div class='clear'></div>
14
+ </div>
popoverincludes/css/default/style.css ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ div#messagebox {
2
+ position: absolute;
3
+ background: transparent url(%styleurl%images/opaque.png) repeat;
4
+ z-index: 999;
5
+ padding: 10px;
6
+ visibility: visible;
7
+ }
8
+
9
+ div#messagebox div.claimbutton {
10
+ position: absolute;
11
+ bottom: 0;
12
+ right: 0;
13
+ width: 100%;
14
+ background: transparent url(%styleurl%images/opaque.png) repeat;
15
+ text-align: right;
16
+ padding-top: 5px;
17
+ padding-bottom: 5px;
18
+ }
19
+
20
+ div#messagebox div.claimbutton a:visited, div#messagebox div.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
+
28
+ #message p {
29
+ position: relative;
30
+ clear: both;
31
+ }
32
+
33
+ #messagebox #closebox {
34
+ position: absolute;
35
+ width: 30px;
36
+ height: 29px;
37
+ background: transparent url(%styleurl%images/closemessagebland.png) no-repeat;
38
+ top: -5px;
39
+ left: -5px;
40
+ z-index: 5;
41
+ }
42
+
43
+ div#message {
44
+ position: relative;
45
+ background: #fff;
46
+ font: 0.9em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
47
+ min-height: 90%;
48
+ overflow: hidden;
49
+ }
50
+
51
+ div#message.waiting {
52
+ background: #fff url(%styleurl%images/loading.gif) no-repeat center center;
53
+ }
54
+
55
+ div#message h2 {
56
+ color: #000;
57
+ font: bold 1.3em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
58
+ margin-top: 0px;
59
+ }
60
+ div#message h2 a {
61
+ text-decoration: none;
62
+ color: #000;
63
+ }
64
+
65
+ div#message blockquote {
66
+ padding: 0px;
67
+ font-weight: bold;
68
+ border-left: 5px solid #ccc;
69
+ }
70
+
71
+ div#message blockquote p{
72
+ padding: 2px 5px;
73
+ }
74
+
75
+ div#message img {
76
+ }
77
+
78
+ div#messagebox.visiblebox {
79
+ display: block;
80
+ }
81
+ div#messagebox.hiddenbox {
82
+ display: none;
83
+ }
84
+ .hide { display: none; }
85
+
86
+ .clear {
87
+ clear: both;
88
+ }
popoverincludes/css/fixed/images/closemessage.png ADDED
Binary file
popoverincludes/css/fixed/images/closemessagebland.png ADDED
Binary file
popoverincludes/css/fixed/images/loading.gif ADDED
Binary file
popoverincludes/css/fixed/images/opaque.png ADDED
Binary file
popoverincludes/css/fixed/popover.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id='<?php echo $popover_messagebox; ?>' class='visiblebox' style='position: fixed; <?php echo $style; ?>'>
2
+ <a href='' id='closebox' title='Close this box'></a>
3
+ <div id='message' style='<?php echo $box; ?>'>
4
+ <?php echo do_shortcode($popover_content); ?>
5
+ <div class='clear'></div>
6
+ <?php if($popover_hideforever != 'yes') {
7
+ ?>
8
+ <div class='claimbutton hide'><a href='#' id='clearforever'><?php _e('Never see this message again.','popover'); ?></a></div>
9
+ <?php
10
+ }
11
+ ?>
12
+ </div>
13
+ <div class='clear'></div>
14
+ </div>
popoverincludes/css/fixed/style.css ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ div#messagebox {
2
+ position: absolute;
3
+ background: transparent url(%styleurl%images/opaque.png) repeat;
4
+ z-index: 999;
5
+ padding: 10px;
6
+ visibility: visible;
7
+ }
8
+
9
+ div#messagebox div.claimbutton {
10
+ position: absolute;
11
+ bottom: 0;
12
+ right: 0;
13
+ width: 100%;
14
+ background: transparent url(%styleurl%images/opaque.png) repeat;
15
+ text-align: right;
16
+ padding-top: 5px;
17
+ padding-bottom: 5px;
18
+ }
19
+
20
+ div#messagebox div.claimbutton a:visited, div#messagebox div.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
+
28
+ #message p {
29
+ position: relative;
30
+ clear: both;
31
+ }
32
+
33
+ #messagebox #closebox {
34
+ position: absolute;
35
+ width: 30px;
36
+ height: 29px;
37
+ background: transparent url(%styleurl%images/closemessagebland.png) no-repeat;
38
+ top: -5px;
39
+ left: -5px;
40
+ z-index: 5;
41
+ }
42
+
43
+ div#message {
44
+ position: relative;
45
+ background: #fff;
46
+ font: 0.9em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
47
+ min-height: 90%;
48
+ overflow: hidden;
49
+ }
50
+
51
+ div#message.waiting {
52
+ background: #fff url(%styleurl%images/loading.gif) no-repeat center center;
53
+ }
54
+
55
+ div#message h2 {
56
+ color: #000;
57
+ font: bold 1.3em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
58
+ margin-top: 0px;
59
+ }
60
+ div#message h2 a {
61
+ text-decoration: none;
62
+ color: #000;
63
+ }
64
+
65
+ div#message blockquote {
66
+ padding: 0px;
67
+ font-weight: bold;
68
+ border-left: 5px solid #ccc;
69
+ }
70
+
71
+ div#message blockquote p{
72
+ padding: 2px 5px;
73
+ }
74
+
75
+ div#message img {
76
+ }
77
+
78
+ div#messagebox.visiblebox {
79
+ display: block;
80
+ }
81
+ div#messagebox.hiddenbox {
82
+ display: none;
83
+ }
84
+ .hide { display: none; }
85
+
86
+ .clear {
87
+ clear: both;
88
+ }
popoverincludes/css/popoveradmin.css CHANGED
@@ -1,4 +1,4 @@
1
- /* @override http://dev.site/wp-content/plugins/popover/popoverincludes/css/popoveradmin.css?ver=2 */
2
 
3
  div.popover-liquid-left {
4
  float: left;
@@ -101,8 +101,12 @@ input.wide {
101
  margin-bottom: 5px;
102
  }
103
 
 
 
 
 
104
  .popover-holder h3 {
105
- background-color: #edf3fe;
106
  text-shadow: 0 1px 0 #FFFFFF;
107
  color: #000;
108
  font: normal bold 12px/2.2em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
@@ -162,7 +166,27 @@ input.wide {
162
  background: #fcfcfc;
163
  }
164
 
165
- .action-top {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  -moz-border-radius: 6px;
167
  -webkit-border-radius: 6px;
168
  -khtml-border-radius: 6px;
@@ -170,9 +194,9 @@ input.wide {
170
  border-radius: 6px;
171
  background: #dfdfdf url("../images/gray-grad.png") repeat-x left top;
172
  text-shadow: #fff 0 1px 0;
173
- width: 250px;
174
  margin-left: 10px;
175
- padding: 5px 15px;
176
  font-weight: bold;
177
  border: 1px solid #ddd;
178
  margin-bottom: 10px;
@@ -183,6 +207,42 @@ input.wide {
183
  cursor: move;
184
  }
185
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186
  .action-top-placeholder {
187
  -moz-border-radius: 6px;
188
  -webkit-border-radius: 6px;
@@ -212,7 +272,7 @@ div.popover-operation {
212
 
213
  #upmessage p a {
214
  text-decoration: none;
215
- float:right;
216
  cursor: pointer;
217
  }
218
 
@@ -291,3 +351,9 @@ div.buttons a.cancellink {
291
  margin-right: 15px;
292
  }
293
 
 
 
 
 
 
 
1
+ /* @override http://dev.site/wp-content/plugins/popover/popoverincludes/css/popoveradmin.css?ver=4 */
2
 
3
  div.popover-liquid-left {
4
  float: left;
101
  margin-bottom: 5px;
102
  }
103
 
104
+ #wp-popover_content-wrap {
105
+ width: 98%;
106
+ }
107
+
108
  .popover-holder h3 {
109
+ background-color: #efefef;
110
  text-shadow: 0 1px 0 #FFFFFF;
111
  color: #000;
112
  font: normal bold 12px/2.2em "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
166
  background: #fcfcfc;
167
  }
168
 
169
+ .action-top.open {
170
+ -moz-border-radius-topleft: 6px;
171
+ -moz-border-radius-topright: 6px;
172
+ -webkit-border-top-right-radius: 6px;
173
+ -webkit-border-top-left-radius: 6px;
174
+ -khtml-border-top-right-radius: 6px;
175
+ -khtml-border-top-left-radius: 6px;
176
+ border-top-right-radius: 6px;
177
+ border-top-left-radius: 6px;
178
+ background: #dfdfdf url("../images/gray-grad.png") repeat-x left top;
179
+ text-shadow: #fff 0 1px 0;
180
+ width: 260px;
181
+ margin-left: 10px;
182
+ padding: 5px 5px 5px 15px;
183
+ font-weight: bold;
184
+ border: 1px solid #ddd;
185
+ margin-bottom: 0px;
186
+ min-height: 20px;
187
+ }
188
+
189
+ .action-top.closed {
190
  -moz-border-radius: 6px;
191
  -webkit-border-radius: 6px;
192
  -khtml-border-radius: 6px;
194
  border-radius: 6px;
195
  background: #dfdfdf url("../images/gray-grad.png") repeat-x left top;
196
  text-shadow: #fff 0 1px 0;
197
+ width: 260px;
198
  margin-left: 10px;
199
+ padding: 5px 5px 5px 15px;
200
  font-weight: bold;
201
  border: 1px solid #ddd;
202
  margin-bottom: 10px;
207
  cursor: move;
208
  }
209
 
210
+ .action-body.open {
211
+ -moz-border-radius-bottomleft: 6px;
212
+ -moz-border-radius-bottomright: 6px;
213
+ -webkit-border-bottom-right-radius: 6px;
214
+ -webkit-border-bottm-left-radius: 6px;
215
+ -khtml-border-bottm-right-radius: 6px;
216
+ -khtml-border-bottom-left-radius: 6px;
217
+ border-bottom-right-radius: 6px;
218
+ border-bottom-left-radius: 6px;
219
+ background: #f7f7f7;
220
+ text-shadow: #fff 0 1px 0;
221
+ width: 250px;
222
+ margin-left: 10px;
223
+ padding: 5px 15px;
224
+ font-weight: normal;
225
+ border: 1px solid #ddd;
226
+ margin-bottom: 10px;
227
+ min-height: 20px;
228
+ }
229
+
230
+ .action-body.closed {
231
+ display: none;
232
+ }
233
+
234
+ .action-button {
235
+ float: right;
236
+ margin-right: 0px;
237
+ width: 26px;
238
+ height: 20px;
239
+ background: url("../images/arrows.png") no-repeat scroll 5px 3px transparent;
240
+ }
241
+
242
+ .action-button:hover {
243
+ background: url("../images/arrows-dark.png") no-repeat scroll 5px 3px transparent;
244
+ }
245
+
246
  .action-top-placeholder {
247
  -moz-border-radius: 6px;
248
  -webkit-border-radius: 6px;
272
 
273
  #upmessage p a {
274
  text-decoration: none;
275
+ float:right;
276
  cursor: pointer;
277
  }
278
 
351
  margin-right: 15px;
352
  }
353
 
354
+ #popovernotonurl, #popoveronurl {
355
+ width: 99%;
356
+ min-height: 10em;
357
+ }
358
+
359
+
popoverincludes/css/popovermenu.css ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* @override http://dev.site/wp-content/plugins/popover/popoverincludes/css/popovermenu.css?ver=3 */
2
+
3
+ td.check-drag {
4
+
5
+ }
6
+
7
+ tr.draghandle a.draganchor {
8
+ float: left;
9
+ display: inline;
10
+ width: 20px;
11
+ display: block;
12
+ text-decoration: none;
13
+ width: 16px;
14
+ height: 16px;
15
+ background: url(../images/drag.png) no-repeat center;
16
+ cursor: move;
17
+ padding: 0;
18
+ margin: 0;
19
+ }
20
+
21
+ td.check-drag {
22
+ vertical-align: top;
23
+ padding: 5px 2px 0 5px;
24
+ }
25
+
26
+ td.check-column {
27
+ vertical-align: top;
28
+ padding: 3px 2px 0 0 !Important;
29
+ }
30
+
31
+ td.check-column input {
32
+ margin: 0 0 0 8px;
33
+ }
34
+
35
+ tr.draghandle:hover td.check-drag {
36
+ background: url(../images/drag.png) no-repeat 5px 7px;
37
+ cursor: move;
38
+ }
39
+
40
+ tr.draghandle td.check-drag {
41
+ background: transparent;
42
+ }
43
+
44
+ tr.dragging {
45
+ background-color: #edf3fe;
46
+ }
popoverincludes/help/images/addonslist.png ADDED
Binary file
popoverincludes/help/images/popoveractivate.png ADDED
Binary file
popoverincludes/help/images/popovercontent.png ADDED
Binary file
popoverincludes/help/images/popoverdeactivate.png ADDED
Binary file
popoverincludes/help/images/popoverdragconditions.png ADDED
Binary file
popoverincludes/help/images/popovermove.png ADDED
Binary file
popoverincludes/help/images/popoversettings.png ADDED
Binary file
popoverincludes/help/popover.help.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h2><?php _e('Introduction','popover'); ?></h2>
2
+ <p><?php _e('The main Pop Over screen show all of the Pop Overs you have set up, you can edit, activate / deactivate and reorder the priority of the Pop Overs using this screen.','popover'); ?></p>
3
+ <h2><?php _e('Adding a Pop Over','popover'); ?></h2>
4
+ <p><?php _e('To add a Pop Over you can either click on the <strong>Add New</strong> link near the top of the page, or click on the <strong>Create New</strong> menu item in the main Popover menu.','pop Over'); ?></p>
5
+ <h2><?php _e('Activating / Deactivating a Popover','popover'); ?></h2>
6
+ <p><?php _e('If you find that you do not need a particular Pop Over for a period of time, but want to keep it for later use, then clicking on the Deactivate link underneath the Pop Overs title will ensure the Pop Over is not included in the processing.','popover'); ?></p>
7
+ <p><?php popover_helpimage('popoverdeactivate.png'); ?></p>
8
+ <p><?php _e('You can re-activate at any time by clicking on the Activate link underneath the Pop Overs title','popover'); ?></p>
9
+ <p><?php popover_helpimage('popoveractivate.png'); ?></p>
10
+ <h2><?php _e('Ordering Pop Overs','popover'); ?></h2>
11
+ <p><?php _e('The Pop Overs are processed in the order they show in the list. As soon as a Pop Over is shown, the remainder of the Pop Overs in the list are ignored. You can change the order of the Pop Overs processing by clicking in the left hand column of the list and dragging the relevant pop Over to the desired location.','popover'); ?></p>
12
+ <p><?php popover_helpimage('popovermove.png'); ?></p>
13
+ <h2><?php _e('Deleting Pop Overs','popover'); ?></h2>
14
+ <p><?php _e('Once you have finished with a Pop Over you can delete it by clicking on the Delete link underneath the Pop Overs title.','popover'); ?></p>
popoverincludes/help/popoveraddons.help.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <h2><?php _e('Introduction','popover'); ?></h2>
2
+ <p><?php _e('Add-ons allow you to extend the Pop Over plugin. The Add-on screen lists all of the Add-ons currently installed. To activate or deactivate an Add-on you should click on the Activate or Deactivate link underneath the Add-ons title.','popover'); ?></p>
3
+ <p><?php popover_helpimage('addonslist.png'); ?></p>
popoverincludes/help/popoveredit.help.php ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h2><?php _e('Adding / Editing a Pop Over','popover'); ?></h2>
2
+ <p><?php _e('A Pop Over should have the following information.','popover'); ?></p>
3
+ <ul>
4
+ <li><?php _e('<strong>A Title</strong> - The Pop Over title helps you to identify different Pop Overs in the main list.','popover'); ?></li>
5
+ <li><?php _e('<strong>Pop Over content</strong> - This is the content that the Pop Over will display. You can upload any images you require by clicking on the Add Media button at the top of the edit area.','popover'); ?>
6
+ <p><?php popover_helpimage('popovercontent.png'); ?></p>
7
+ </li>
8
+ <li><?php _e('<strong>Active Conditions</strong> - You can determine the conditions that need to be fulfilled in order for this Pop Over to display by dragging the relevant conditions in the the <strong>Drop Here</strong> box. All of the conditions must be true in order for the Pop Over to display.','popover'); ?>
9
+ <p><?php popover_helpimage('popoverdragconditions.png'); ?></p>
10
+ </li>
11
+ <li><?php _e('<strong>Appearance Settings</strong> - You can set the size and position of the Pop Over by setting the Appearance options. If you want the Pop Over system to attempt to determine the size of the Pop Overs content and automatically resize the Pop Over and attempt to center it on your browser window.','popover'); ?>
12
+ <p><?php popover_helpimage('popoversettings.png'); ?></p>
13
+ </li>
14
+ </ul>
popoverincludes/images/arrows-dark.png ADDED
Binary file
popoverincludes/images/arrows.png ADDED
Binary file
popoverincludes/images/drag.png ADDED
Binary file
popoverincludes/images/olddrag.png ADDED
Binary file
popoverincludes/images/window.png ADDED
Binary file
popoverincludes/includes/class_wd_help_tooltips.php ADDED
@@ -0,0 +1,463 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Very simple tooltip implementation for admin pages.
4
+ *
5
+ * Example usage:
6
+ * <code>
7
+ * if (!class_exists('WpmuDev_HelpTooltips')) require_once YOUR_PLUGIN_BASE_DIR . '/lib/external/class_wd_help_tooltips.php';
8
+ * $tips = new WpmuDev_HelpTooltips();
9
+ * $tips->set_icon_url("URL_TO_YOUR_ICON");
10
+ * echo $tips->add_tip("Tip 1 text here");
11
+ * // ...
12
+ * echo $tips->add_tip("Tip 2 text here");
13
+ * </code>
14
+ * This is a basic usage scenario.
15
+ *
16
+ * Alternative usage example:
17
+ * <code>
18
+ * if (!class_exists('WpmuDev_HelpTooltips')) require_once YOUR_PLUGIN_BASE_DIR . '/lib/external/class_wd_help_tooltips.php';
19
+ * $tips = new WpmuDev_HelpTooltips();
20
+ * $tips->set_icon_url("URL_TO_YOUR_ICON");
21
+ * $tips->bind_tip('My tip text here', '.icon32:first ~h2');
22
+ * // Note that you don't echo anything in this usage example - the tip will be
23
+ * // added automatically next to the supplied selector (second argument)
24
+ * </code>
25
+ * This scenario may be useful for e.g. adding our tips to UI elements created by WP or other plugins.
26
+ * You can freely alternate between add_tip() and bind_tip() methods,
27
+ * just remember to echo add_tip() and *not* echo bind_tip().
28
+ *
29
+ * Another alternative usage example, setting tips for multiple pages in one place:
30
+ * <code>
31
+ * if (!class_exists('WpmuDev_HelpTooltips')) require_once YOUR_PLUGIN_BASE_DIR . '/lib/external/class_wd_help_tooltips.php';
32
+ * // Tips added to $tips1 object will only show on Social Marketing add/edit advert page
33
+ * $tips1 = new WpmuDev_HelpTooltips();
34
+ * $tips1->set_icon_url("URL_TO_YOUR_ICON");
35
+ * $tips1->set_screen_id("social_marketing_ad");
36
+ * $tips1->bind_tip('My tip 1 text here', '.icon32:first ~h2');
37
+ * // ...
38
+ * // Tips added to $tips2 object will only show on Social Marketing getting started page
39
+ * $tips2 = new WpmuDev_HelpTooltips();
40
+ * $tips2->set_icon_url("URL_TO_YOUR_ICON");
41
+ * $tips2->set_screen_id("social_marketing_ad_page_wdsm-get_started");
42
+ * $tips2->bind_tip('My tip 2 text here', '.icon32:first ~h2');
43
+ * </code>
44
+ * Using add_tip() method will do nothing in this last scenario, as it doesn't make sense in that context.
45
+ * This scenario may be useful for adding tooltips to all pages in one central location.
46
+ * E.g. for adding tooltips in a plugin add-on.
47
+ */
48
+
49
+ if(!class_exists('WpmuDev_HelpTooltips')) {
50
+ class WpmuDev_HelpTooltips {
51
+
52
+ /**
53
+ * Holds an array of inline tips: used as dependency inclusion switch.
54
+ */
55
+ private $_inline_tips = array();
56
+
57
+ /**
58
+ * Holds an array of bound tips: used as dependency inclusion switch and bound tips buffer.
59
+ */
60
+ private $_bound_tips = array();
61
+
62
+ /**
63
+ * Holds an array of bound tips selectors: used as bound tips selectors buffer.
64
+ */
65
+ private $_bound_selectors = array();
66
+
67
+ /**
68
+ * Full URL to help icon, which is used as tip anchor
69
+ * and as notice background image.
70
+ */
71
+ private $_icon_url;
72
+
73
+ /**
74
+ * Flag that determines do we want to use notices
75
+ * (tips expanded on click).
76
+ * Defaults to true.
77
+ */
78
+ private $_use_notice = true;
79
+
80
+ /**
81
+ * Limits tip output to a screen (page).
82
+ * Optional.
83
+ * Works best with bind_tip() method.
84
+ */
85
+ private $_screen_id = false;
86
+
87
+ /**
88
+ * Bind to footer hooks when instantiated.
89
+ */
90
+ public function __construct () {
91
+ global $wp_version;
92
+ $version = preg_replace('/-.*$/', '', $wp_version);
93
+
94
+ if (version_compare($version, '3.3', '>=')) {
95
+ add_action('admin_footer', array($this, 'add_bound_tips'), 999);
96
+ add_action('admin_print_footer_scripts', array($this, 'initialize'));
97
+ }
98
+ }
99
+
100
+ /**
101
+ * Sets icon URL.
102
+ * @param string $icon_url Full URL to help anchor icon
103
+ */
104
+ public function set_icon_url ($icon_url) {
105
+ $this->_icon_url = $icon_url;
106
+ }
107
+
108
+ /**
109
+ * Set show notices (tips expanded on click) flag.
110
+ * @param bool $use_notice True to use notices (default), false otherwise.
111
+ */
112
+ public function set_use_notice ($use_notice=true) {
113
+ $this->_use_notice = $use_notice;
114
+ }
115
+
116
+ /**
117
+ * Set screen limiting flag.
118
+ * @param $screen_id Screen ID that tips in this object apply to.
119
+ */
120
+ public function set_screen_id ($screen_id) {
121
+ $this->_screen_id = $screen_id;
122
+ }
123
+
124
+ /**
125
+ * Returns inline tip markup.
126
+ * Scenario: for echoing inline tips next to elements on the page.
127
+ * Usage example:
128
+ * <code>
129
+ * echo $tips->add_tip('My tip text here');
130
+ * </code>
131
+ * @param string $tip Tip text
132
+ * @return string Inline tip markup
133
+ */
134
+ public function add_tip ($tip) {
135
+ if (!$this->_check_screen()) return false;
136
+ $this->_inline_tips[] = $tip;
137
+ return $this->_get_tip_markup($tip);
138
+ }
139
+
140
+ /**
141
+ * Binds a tip to selector.
142
+ * This is different from inline tips, as you don't have to output them yourself.
143
+ * Scenario: for adding help tips next to elements determined by the selector on page load time.
144
+ * Usage example:
145
+ * <code>
146
+ * $tips->bind_tip('My tip text here', '.icon32:first ~h2');
147
+ * </code>
148
+ * @param string $tip Tip text
149
+ * @param string $selector jQuery selector of the element that tip is related to.
150
+ */
151
+ public function bind_tip ($tip, $bind_to_selector) {
152
+ $tip_id = 'wpmudev-help-tip-for-' . md5($bind_to_selector);
153
+ $this->_bound_tips[$tip_id] = $tip;
154
+ $this->_bound_selectors[$tip_id] = $bind_to_selector;
155
+ }
156
+
157
+ /**
158
+ * Bounded tips injection handler.
159
+ * Will queue up the bounded tips.
160
+ */
161
+ function add_bound_tips () {
162
+ if (!$this->_check_screen()) return false;
163
+ if (!$this->_bound_tips) return false;
164
+
165
+ foreach ($this->_bound_tips as $id => $tip) {
166
+ echo $this->_get_tip_markup($tip, 'id="' . $id . '" style=display:none');
167
+ }
168
+ }
169
+
170
+ /**
171
+ * Dependency injection handler.
172
+ * Will only add dependencies if there are actual tooltips to show.
173
+ */
174
+ function initialize () {
175
+ if (!$this->_check_screen()) return false;
176
+ if (!$this->_inline_tips && !$this->_bound_tips) return false;
177
+
178
+ $this->_print_styles();
179
+ $this->_print_scripts();
180
+ }
181
+
182
+ /**
183
+ * Screen limitation check.
184
+ * @return bool True if we're good to go, false if we're on a wrong screen.
185
+ */
186
+ private function _check_screen () {
187
+ if (!$this->_screen_id) return true; // No screen dependency
188
+
189
+ $screen = get_current_screen();
190
+ if (!is_object($screen)) return false; // Actually older then 3.3
191
+ if ($this->_screen_id != @$screen->id) return false; // Not for this screen
192
+
193
+ return true;
194
+ }
195
+
196
+ private function _get_tip_markup ($tip, $arg='') {
197
+ return "<span class='wpmudev-help' {$arg}>{$tip}</span>";
198
+ }
199
+
200
+ /**
201
+ * Private helper method that prints style dependencies.
202
+ */
203
+ private function _print_styles () {
204
+ // Have we already done this?
205
+ if (!defined('WPMUDEV_TOOLTIPS_CSS_ADDED')) define('WPMUDEV_TOOLTIPS_CSS_ADDED', true);
206
+ else return false;
207
+
208
+ ?>
209
+ <style type="text/css">
210
+ .wpmudev-help {
211
+ display: block;
212
+ background-color: #ffffe0;
213
+ border: 1px solid #e6db55;
214
+ padding: 1em 1em;
215
+ -moz-border-radius:3px;
216
+ -khtml-border-radius:3px;
217
+ -webkit-border-radius:3px;
218
+ border-radius:3px;
219
+ }
220
+ <?php
221
+ if ($this->_icon_url) {
222
+ ?>
223
+ .wpmudev-help {
224
+ background: url(<?php echo $this->_icon_url; ?>) no-repeat scroll 10px center #ffffe0;
225
+ padding-left: 40px;
226
+ }
227
+ .wpmudev-help-trigger span {
228
+ display: block;
229
+ position: absolute;
230
+ left: -12000000px;
231
+ }
232
+ .wpmudev-help-trigger {
233
+ position: relative;
234
+ background: url(<?php echo $this->_icon_url; ?>) no-repeat scroll center bottom transparent;
235
+ padding: 1px 12px;
236
+ text-decoration: none;
237
+ }
238
+ <?php
239
+ }
240
+ ?>
241
+ #wpmudev-tooltip-source {
242
+ margin: 0 13px;
243
+ padding: 8px;
244
+
245
+ background: #fff;
246
+ border-style: solid;
247
+ border-width: 1px;
248
+ /* Fallback for non-rgba-compliant browsers */
249
+ border-color: #dfdfdf;
250
+ /* Use rgba to look better against non-white backgrounds. */
251
+ border-color: rgba(0,0,0,.125);
252
+ -webkit-border-radius: 3px;
253
+ border-radius: 3px;
254
+
255
+ -webkit-box-shadow: 0 2px 4px rgba(0,0,0,.19);
256
+ -moz-box-shadow: 0 2px 4px rgba(0,0,0,.19);
257
+ box-shadow: 0 2px 4px rgba(0,0,0,.19);
258
+ }
259
+ .wpmudev-left_pointer {
260
+ float: left;
261
+ width: 14px;
262
+ height: 30px;
263
+ margin-top: 8px;
264
+ background: url(<?php echo site_url("/wp-includes/images/arrow-pointer-blue.png");?>) 0 -15px no-repeat;
265
+ }
266
+ .wpmudev-right_pointer {
267
+ float: right;
268
+ width: 14px;
269
+ height: 30px;
270
+ margin-top: 8px;
271
+ background: url(<?php echo site_url("/wp-includes/images/arrow-pointer-blue.png");?>) -16px -15px no-repeat;
272
+ }
273
+ </style>
274
+ <?php
275
+ }
276
+
277
+ /**
278
+ * Private helper method that prints javascript dependencies.
279
+ */
280
+ private function _print_scripts () {
281
+ // Have we already done this?
282
+ if (!defined('WPMUDEV_TOOLTIPS_JS_ADDED')) define('WPMUDEV_TOOLTIPS_JS_ADDED', true);
283
+ else return false;
284
+
285
+ // Initialize bound selectors
286
+ $selectors = json_encode($this->_bound_selectors);
287
+
288
+ ?>
289
+ <script type="text/javascript">
290
+ (function ($) {
291
+
292
+ /**
293
+ * Converts help text placeholders to tooltip items.
294
+ */
295
+ function initialize_help_item ($me) {
296
+ var $prev = $me.prev();
297
+ var help = '&nbsp;<a class="wpmudev-help-trigger" href="#help"><span><?php _e('Help');?></span></a>';
298
+ $prev = $prev.length ?
299
+ $prev.after(help)
300
+ :
301
+ $me.before(help)
302
+ ;
303
+ $me.hide();
304
+ }
305
+
306
+ /**
307
+ * Finds a help block corresponding to trigger.
308
+ */
309
+ function get_help_block ($me) {
310
+ var $parent = $me.parent();
311
+ return $parent.find('.wpmudev-help');
312
+ }
313
+
314
+ /**
315
+ * Handles help block visibility.
316
+ */
317
+ function show_help_block ($me) {
318
+ var $help = get_help_block($me);
319
+ if (!$help.length) return false;
320
+
321
+ if ($("#wpmudev-tooltip").length) $("#wpmudev-tooltip").remove();
322
+ if ($help.is(":visible")) $help.hide('fast');
323
+ else $help.show('fast');
324
+ }
325
+
326
+ /**
327
+ * Pops tooltip open.
328
+ */
329
+ function open_tooltip ($me) {
330
+ var $help = get_help_block($me);
331
+ if ($help.is(":visible")) return false;
332
+
333
+ if ($("#wpmudev-tooltip").length) $("#wpmudev-tooltip").remove();
334
+ if (!$("#wpmudev-tooltip").length) $("body").append('<div id="wpmudev-tooltip"><div class="wpmudev-pointer wpmudev-left_pointer"></div><div id="wpmudev-tooltip-source"></div></div>');
335
+ var $tip = $("#wpmudev-tooltip");
336
+ if (!$tip.length) return false;
337
+
338
+ var width = 200;
339
+ var margin = 20;
340
+ var src_pos = $me.offset();
341
+
342
+ var top_pos = src_pos.top + ($me.height() / 2);
343
+ var left_pos = src_pos.left + margin;
344
+ var $pointer = $tip.find(".wpmudev-pointer");
345
+
346
+ // Setup left/right orientation
347
+ <?php if (!is_rtl()) { ?>
348
+ if ((left_pos+width+60) >= $(window).width()) {
349
+ left_pos = src_pos.left - ($me.outerWidth()+width+margin);
350
+ $pointer
351
+ .removeClass("wpmudev-left_pointer")
352
+ .addClass("wpmudev-right_pointer")
353
+ ;
354
+ }
355
+ <?php } else { ?>
356
+ var min_left = left_pos - (width+60);
357
+ if (min_left > 0) {
358
+ left_pos = min_left;
359
+ $pointer
360
+ .removeClass("wpmudev-left_pointer")
361
+ .addClass("wpmudev-right_pointer")
362
+ ;
363
+ }
364
+ <?php } ?>
365
+
366
+ // IE safeguard
367
+ if ($.browser.msie) {
368
+ var $pointer_left = $tip.find(".wpmudev-left_pointer");
369
+ if ($pointer_left.length) $pointer_left.css("position", "absolute");
370
+ }
371
+
372
+ $tip
373
+ // Populate tip text
374
+ .find("#wpmudev-tooltip-source")
375
+ .width(width)
376
+ .html($help.html())
377
+ .end()
378
+ // Position tip
379
+ .css({
380
+ "position": "absolute",
381
+ })
382
+ .offset({
383
+ "top": top_pos - ($tip.height()/2),
384
+ "left": left_pos
385
+ })
386
+ // Vertically align pointer
387
+ .find(".wpmudev-pointer")
388
+ .css({
389
+ "margin-top": ($tip.height() - 32) / 2
390
+ })
391
+ .end()
392
+ // Show entire tip
393
+ .show()
394
+ ;
395
+ }
396
+
397
+ /**
398
+ * Closes tooltip.
399
+ */
400
+ function close_tooltip () {
401
+ if (!$("#wpmudev-tooltip").length) return false;
402
+
403
+ // IE conditional alternate removal
404
+ if ($.browser.msie) {
405
+ $("#wpmudev-tooltip").hide('fast');
406
+ } else {
407
+ // Not IE, do regular transparency animation
408
+ $("#wpmudev-tooltip")
409
+ .animate({
410
+ "opacity": 0
411
+ },
412
+ 'fast',
413
+ function () {
414
+ $(this).remove();
415
+ }
416
+ );
417
+ }
418
+ }
419
+
420
+
421
+ // Init
422
+ $(function () {
423
+
424
+ // Populate and place bound tips
425
+ $.each($.parseJSON('<?php echo $selectors; ?>'), function (tip_id, selector) {
426
+ var $tip = $("#" + tip_id);
427
+ if (!$tip.length) return true;
428
+
429
+ var $selector = $(selector);
430
+ if (!$selector.length) return true;
431
+
432
+ $selector.append($tip);
433
+ });
434
+
435
+ // Initialize help and add handles
436
+ $(".wpmudev-help").each(function () {
437
+ initialize_help_item($(this));
438
+
439
+ });
440
+
441
+ // Handle help requests
442
+ $(".wpmudev-help-trigger")
443
+ .click(function (e) {
444
+ <?php if ($this->_use_notice) { ?>
445
+ show_help_block($(this));
446
+ <?php } ?>
447
+ return false;
448
+ })
449
+ .mouseover(function (e) {
450
+ open_tooltip($(this));
451
+
452
+ })
453
+ .mouseout(close_tooltip)
454
+ ;
455
+
456
+
457
+ });
458
+ })(jQuery);
459
+ </script>
460
+ <?php
461
+ }
462
+ }
463
+ }
popoverincludes/includes/config.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // a true setting for PO_GLOBAL means that this plugin operates on a global site-admin basis
3
+ // setting this to false means that the plugin operates on a blog by blog basis
4
+ if(!defined('PO_GLOBAL')) define('PO_GLOBAL', false);
5
+ // The url that we are using to return the country - it should only return the country code for the passed IP address
6
+ if(!defined('PO_REMOTE_IP_URL')) define('PO_REMOTE_IP_URL', 'http://api.hostip.info/country.php?ip=%ip%');
7
+ // If there is a problem with the API, then you can set a default country to use for popover showing. Set this to false if you'd rather have the popover not show in such circumstances
8
+ if(!defined('PO_DEFAULT_COUNTRY')) define('PO_DEFAULT_COUNTRY', 'US');
9
+ ?>
popoverincludes/includes/functions.php ADDED
@@ -0,0 +1,410 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /* -------------------- Update Notifications Notice -------------------- */
3
+ if ( !function_exists( 'wdp_un_check' ) ) {
4
+ add_action( 'admin_notices', 'wdp_un_check', 5 );
5
+ add_action( 'network_admin_notices', 'wdp_un_check', 5 );
6
+ function wdp_un_check() {
7
+ if ( !class_exists( 'WPMUDEV_Update_Notifications' ) && current_user_can( 'edit_users' ) )
8
+ echo '<div class="error fade"><p>' . __('Please install the latest version of <a href="http://premium.wpmudev.org/project/update-notifications/" title="Download Now &raquo;">our free Update Notifications plugin</a> which helps you stay up-to-date with the most stable, secure versions of WPMU DEV themes and plugins. <a href="http://premium.wpmudev.org/wpmu-dev/update-notifications-plugin-information/">More information &raquo;</a>', 'wpmudev') . '</a></p></div>';
9
+ }
10
+ }
11
+ /* --------------------------------------------------------------------- */
12
+
13
+ function set_popover_url($base) {
14
+
15
+ global $popover_url;
16
+
17
+ if(defined('WPMU_PLUGIN_URL') && defined('WPMU_PLUGIN_DIR') && file_exists(WPMU_PLUGIN_DIR . '/' . basename($base))) {
18
+ $popover_url = trailingslashit(WPMU_PLUGIN_URL);
19
+ } elseif(defined('WP_PLUGIN_URL') && defined('WP_PLUGIN_DIR') && file_exists(WP_PLUGIN_DIR . '/wordpress-popup/' . basename($base))) {
20
+ $popover_url = trailingslashit(WP_PLUGIN_URL . '/wordpress-popup');
21
+ } else {
22
+ $popover_url = trailingslashit(WP_PLUGIN_URL . '/wordpress-popup');
23
+ }
24
+
25
+ }
26
+
27
+ function set_popover_dir($base) {
28
+
29
+ global $popover_dir;
30
+
31
+ if(defined('WPMU_PLUGIN_DIR') && file_exists(WPMU_PLUGIN_DIR . '/' . basename($base))) {
32
+ $popover_dir = trailingslashit(WPMU_PLUGIN_URL);
33
+ } elseif(defined('WP_PLUGIN_DIR') && file_exists(WP_PLUGIN_DIR . '/wordpress-popup/' . basename($base))) {
34
+ $popover_dir = trailingslashit(WP_PLUGIN_DIR . '/wordpress-popup');
35
+ } else {
36
+ $popover_dir = trailingslashit(WP_PLUGIN_DIR . '/wordpress-popup');
37
+ }
38
+
39
+
40
+ }
41
+
42
+ function popover_url($extended) {
43
+
44
+ global $popover_url;
45
+
46
+ return $popover_url . $extended;
47
+
48
+ }
49
+
50
+ function popover_dir($extended) {
51
+
52
+ global $popover_dir;
53
+
54
+ return $popover_dir . $extended;
55
+
56
+
57
+ }
58
+
59
+ function popover_helpimage( $image ) {
60
+ echo "<img src='" . popover_url('popoverincludes/help/images/' . $image) . "' />";
61
+ }
62
+
63
+ function popover_db_prefix(&$wpdb, $table) {
64
+
65
+ if( defined('PO_GLOBAL') && PO_GLOBAL == true ) {
66
+ if(!empty($wpdb->base_prefix)) {
67
+ return $wpdb->base_prefix . $table;
68
+ } else {
69
+ return $wpdb->prefix . $table;
70
+ }
71
+ } else {
72
+ return $wpdb->prefix . $table;
73
+ }
74
+
75
+ }
76
+
77
+ function get_popover_addons() {
78
+ if ( is_dir( popover_dir('popoverincludes/addons') ) ) {
79
+ if ( $dh = opendir( popover_dir('popoverincludes/addons') ) ) {
80
+ $pop_addons = array ();
81
+ while ( ( $addon = readdir( $dh ) ) !== false )
82
+ if ( substr( $addon, -4 ) == '.php' )
83
+ $pop_addons[] = $addon;
84
+ closedir( $dh );
85
+ sort( $pop_addons );
86
+
87
+ return apply_filters('popover_available_addons', $pop_addons);
88
+
89
+ }
90
+ }
91
+
92
+ return false;
93
+ }
94
+
95
+ function load_popover_addons() {
96
+
97
+ $addons = get_option('popover_activated_addons', array());
98
+
99
+ if ( is_dir( popover_dir('popoverincludes/addons') ) ) {
100
+ if ( $dh = opendir( popover_dir('popoverincludes/addons') ) ) {
101
+ $pop_addons = array ();
102
+ while ( ( $addon = readdir( $dh ) ) !== false )
103
+ if ( substr( $addon, -4 ) == '.php' )
104
+ $pop_addons[] = $addon;
105
+ closedir( $dh );
106
+ sort( $pop_addons );
107
+
108
+ $pop_addons = apply_filters('popover_available_addons', $pop_addons);
109
+
110
+ foreach( $pop_addons as $pop_addon ) {
111
+ if(in_array($pop_addon, (array) $addons)) {
112
+ include_once( popover_dir('popoverincludes/addons/' . $pop_addon) );
113
+ }
114
+ }
115
+
116
+ }
117
+ }
118
+ }
119
+
120
+ function load_all_popover_addons() {
121
+ if ( is_dir( popover_dir('popoverincludes/addons') ) ) {
122
+ if ( $dh = opendir( popover_dir('popoverincludes/addons') ) ) {
123
+ $pop_addons = array ();
124
+ while ( ( $addon = readdir( $dh ) ) !== false )
125
+ if ( substr( $addon, -4 ) == '.php' )
126
+ $pop_addons[] = $addon;
127
+ closedir( $dh );
128
+ sort( $pop_addons );
129
+ foreach( $pop_addons as $pop_addon )
130
+ include_once( popover_dir('popoverincludes/addons/' . $pop_addon) );
131
+ }
132
+ }
133
+ }
134
+
135
+ function P_style_urls( $styles = array() ) {
136
+
137
+ $styles['Default'] = popover_url('popoverincludes/css/default');
138
+ $styles['Default Fixed'] = popover_url('popoverincludes/css/fixed');
139
+
140
+ return $styles;
141
+ }
142
+ add_filter( 'popover_available_styles_url', 'P_style_urls');
143
+
144
+ function P_style_dirs() {
145
+ $styles['Default'] = popover_dir('popoverincludes/css/default');
146
+ $styles['Default Fixed'] = popover_dir('popoverincludes/css/fixed');
147
+
148
+ return $styles;
149
+ }
150
+ add_filter( 'popover_available_styles_directory', 'P_style_dirs');
151
+
152
+ /* country list array from http://snipplr.com/view.php?codeview&id=33825 */
153
+ function P_CountryList() {
154
+
155
+ $textdomain = 'popover';
156
+
157
+ $countries = array(
158
+ "AU" => __("Australia", $textdomain ),
159
+ "AF" => __("Afghanistan", $textdomain ),
160
+ "AL" => __("Albania", $textdomain ),
161
+ "DZ" => __("Algeria", $textdomain ),
162
+ "AS" => __("American Samoa", $textdomain ),
163
+ "AD" => __("Andorra", $textdomain ),
164
+ "AO" => __("Angola", $textdomain ),
165
+ "AI" => __("Anguilla", $textdomain ),
166
+ "AQ" => __("Antarctica", $textdomain ),
167
+ "AG" => __("Antigua & Barbuda", $textdomain ),
168
+ "AR" => __("Argentina", $textdomain ),
169
+ "AM" => __("Armenia", $textdomain ),
170
+ "AW" => __("Aruba", $textdomain ),
171
+ "AT" => __("Austria", $textdomain ),
172
+ "AZ" => __("Azerbaijan", $textdomain ),
173
+ "BS" => __("Bahamas", $textdomain ),
174
+ "BH" => __("Bahrain", $textdomain ),
175
+ "BD" => __("Bangladesh", $textdomain ),
176
+ "BB" => __("Barbados", $textdomain ),
177
+ "BY" => __("Belarus", $textdomain ),
178
+ "BE" => __("Belgium", $textdomain ),
179
+ "BZ" => __("Belize", $textdomain ),
180
+ "BJ" => __("Benin", $textdomain ),
181
+ "BM" => __("Bermuda", $textdomain ),
182
+ "BT" => __("Bhutan", $textdomain ),
183
+ "BO" => __("Bolivia", $textdomain ),
184
+ "BA" => __("Bosnia/Hercegovina", $textdomain ),
185
+ "BW" => __("Botswana", $textdomain ),
186
+ "BV" => __("Bouvet Island", $textdomain ),
187
+ "BR" => __("Brazil", $textdomain ),
188
+ "IO" => __("British Indian Ocean Territory", $textdomain ),
189
+ "BN" => __("Brunei Darussalam", $textdomain ),
190
+ "BG" => __("Bulgaria", $textdomain ),
191
+ "BF" => __("Burkina Faso", $textdomain ),
192
+ "BI" => __("Burundi", $textdomain ),
193
+ "KH" => __("Cambodia", $textdomain ),
194
+ "CM" => __("Cameroon", $textdomain ),
195
+ "CA" => __("Canada", $textdomain ),
196
+ "CV" => __("Cape Verde", $textdomain ),
197
+ "KY" => __("Cayman Is", $textdomain ),
198
+ "CF" => __("Central African Republic", $textdomain ),
199
+ "TD" => __("Chad", $textdomain ),
200
+ "CL" => __("Chile", $textdomain ),
201
+ "CN" => __("China, People's Republic of", $textdomain ),
202
+ "CX" => __("Christmas Island", $textdomain ),
203
+ "CC" => __("Cocos Islands", $textdomain ),
204
+ "CO" => __("Colombia", $textdomain ),
205
+ "KM" => __("Comoros", $textdomain ),
206
+ "CG" => __("Congo", $textdomain ),
207
+ "CD" => __("Congo, Democratic Republic", $textdomain ),
208
+ "CK" => __("Cook Islands", $textdomain ),
209
+ "CR" => __("Costa Rica", $textdomain ),
210
+ "CI" => __("Cote d'Ivoire", $textdomain ),
211
+ "HR" => __("Croatia", $textdomain ),
212
+ "CU" => __("Cuba", $textdomain ),
213
+ "CY" => __("Cyprus", $textdomain ),
214
+ "CZ" => __("Czech Republic", $textdomain ),
215
+ "DK" => __("Denmark", $textdomain ),
216
+ "DJ" => __("Djibouti", $textdomain ),
217
+ "DM" => __("Dominica", $textdomain ),
218
+ "DO" => __("Dominican Republic", $textdomain ),
219
+ "TP" => __("East Timor", $textdomain ),
220
+ "EC" => __("Ecuador", $textdomain ),
221
+ "EG" => __("Egypt", $textdomain ),
222
+ "SV" => __("El Salvador", $textdomain ),
223
+ "GQ" => __("Equatorial Guinea", $textdomain ),
224
+ "ER" => __("Eritrea", $textdomain ),
225
+ "EE" => __("Estonia", $textdomain ),
226
+ "ET" => __("Ethiopia", $textdomain ),
227
+ "FK" => __("Falkland Islands", $textdomain ),
228
+ "FO" => __("Faroe Islands", $textdomain ),
229
+ "FJ" => __("Fiji", $textdomain ),
230
+ "FI" => __("Finland", $textdomain ),
231
+ "FR" => __("France", $textdomain ),
232
+ "FX" => __("France, Metropolitan", $textdomain ),
233
+ "GF" => __("French Guiana", $textdomain ),
234
+ "PF" => __("French Polynesia", $textdomain ),
235
+ "TF" => __("French South Territories", $textdomain ),
236
+ "GA" => __("Gabon", $textdomain ),
237
+ "GM" => __("Gambia", $textdomain ),
238
+ "GE" => __("Georgia", $textdomain ),
239
+ "DE" => __("Germany", $textdomain ),
240
+ "GH" => __("Ghana", $textdomain ),
241
+ "GI" => __("Gibraltar", $textdomain ),
242
+ "GR" => __("Greece", $textdomain ),
243
+ "GL" => __("Greenland", $textdomain ),
244
+ "GD" => __("Grenada", $textdomain ),
245
+ "GP" => __("Guadeloupe", $textdomain ),
246
+ "GU" => __("Guam", $textdomain ),
247
+ "GT" => __("Guatemala", $textdomain ),
248
+ "GN" => __("Guinea", $textdomain ),
249
+ "GW" => __("Guinea-Bissau", $textdomain ),
250
+ "GY" => __("Guyana", $textdomain ),
251
+ "HT" => __("Haiti", $textdomain ),
252
+ "HM" => __("Heard Island And Mcdonald Island", $textdomain ),
253
+ "HN" => __("Honduras", $textdomain ),
254
+ "HK" => __("Hong Kong", $textdomain ),
255
+ "HU" => __("Hungary", $textdomain ),
256
+ "IS" => __("Iceland", $textdomain ),
257
+ "IN" => __("India", $textdomain ),
258
+ "ID" => __("Indonesia", $textdomain ),
259
+ "IR" => __("Iran", $textdomain ),
260
+ "IQ" => __("Iraq", $textdomain ),
261
+ "IE" => __("Ireland", $textdomain ),
262
+ "IL" => __("Israel", $textdomain ),
263
+ "IT" => __("Italy", $textdomain ),
264
+ "JM" => __("Jamaica", $textdomain ),
265
+ "JP" => __("Japan", $textdomain ),
266
+ "JT" => __("Johnston Island", $textdomain ),
267
+ "JO" => __("Jordan", $textdomain ),
268
+ "KZ" => __("Kazakhstan", $textdomain ),
269
+ "KE" => __("Kenya", $textdomain ),
270
+ "KI" => __("Kiribati", $textdomain ),
271
+ "KP" => __("Korea, Democratic Peoples Republic", $textdomain ),
272
+ "KR" => __("Korea, Republic of", $textdomain ),
273
+ "KW" => __("Kuwait", $textdomain ),
274
+ "KG" => __("Kyrgyzstan", $textdomain ),
275
+ "LA" => __("Lao People's Democratic Republic", $textdomain ),
276
+ "LV" => __("Latvia", $textdomain ),
277
+ "LB" => __("Lebanon", $textdomain ),
278
+ "LS" => __("Lesotho", $textdomain ),
279
+ "LR" => __("Liberia", $textdomain ),
280
+ "LY" => __("Libyan Arab Jamahiriya", $textdomain ),
281
+ "LI" => __("Liechtenstein", $textdomain ),
282
+ "LT" => __("Lithuania", $textdomain ),
283
+ "LU" => __("Luxembourg", $textdomain ),
284
+ "MO" => __("Macau", $textdomain ),
285
+ "MK" => __("Macedonia", $textdomain ),
286
+ "MG" => __("Madagascar", $textdomain ),
287
+ "MW" => __("Malawi", $textdomain ),
288
+ "MY" => __("Malaysia", $textdomain ),
289
+ "MV" => __("Maldives", $textdomain ),
290
+ "ML" => __("Mali", $textdomain ),
291
+ "MT" => __("Malta", $textdomain ),
292
+ "MH" => __("Marshall Islands", $textdomain ),
293
+ "MQ" => __("Martinique", $textdomain ),
294
+ "MR" => __("Mauritania", $textdomain ),
295
+ "MU" => __("Mauritius", $textdomain ),
296
+ "YT" => __("Mayotte", $textdomain ),
297
+ "MX" => __("Mexico", $textdomain ),
298
+ "FM" => __("Micronesia", $textdomain ),
299
+ "MD" => __("Moldavia", $textdomain ),
300
+ "MC" => __("Monaco", $textdomain ),
301
+ "MN" => __("Mongolia", $textdomain ),
302
+ "MS" => __("Montserrat", $textdomain ),
303
+ "MA" => __("Morocco", $textdomain ),
304
+ "MZ" => __("Mozambique", $textdomain ),
305
+ "MM" => __("Union Of Myanmar", $textdomain ),
306
+ "NA" => __("Namibia", $textdomain ),
307
+ "NR" => __("Nauru Island", $textdomain ),
308
+ "NP" => __("Nepal", $textdomain ),
309
+ "NL" => __("Netherlands", $textdomain ),
310
+ "AN" => __("Netherlands Antilles", $textdomain ),
311
+ "NC" => __("New Caledonia", $textdomain ),
312
+ "NZ" => __("New Zealand", $textdomain ),
313
+ "NI" => __("Nicaragua", $textdomain ),
314
+ "NE" => __("Niger", $textdomain ),
315
+ "NG" => __("Nigeria", $textdomain ),
316
+ "NU" => __("Niue", $textdomain ),
317
+ "NF" => __("Norfolk Island", $textdomain ),
318
+ "MP" => __("Mariana Islands, Northern", $textdomain ),
319
+ "NO" => __("Norway", $textdomain ),
320
+ "OM" => __("Oman", $textdomain ),
321
+ "PK" => __("Pakistan", $textdomain ),
322
+ "PW" => __("Palau Islands", $textdomain ),
323
+ "PS" => __("Palestine", $textdomain ),
324
+ "PA" => __("Panama", $textdomain ),
325
+ "PG" => __("Papua New Guinea", $textdomain ),
326
+ "PY" => __("Paraguay", $textdomain ),
327
+ "PE" => __("Peru", $textdomain ),
328
+ "PH" => __("Philippines", $textdomain ),
329
+ "PN" => __("Pitcairn", $textdomain ),
330
+ "PL" => __("Poland", $textdomain ),
331
+ "PT" => __("Portugal", $textdomain ),
332
+ "PR" => __("Puerto Rico", $textdomain ),
333
+ "QA" => __("Qatar", $textdomain ),
334
+ "RE" => __("Reunion Island", $textdomain ),
335
+ "RO" => __("Romania", $textdomain ),
336
+ "RU" => __("Russian Federation", $textdomain ),
337
+ "RW" => __("Rwanda", $textdomain ),
338
+ "WS" => __("Samoa", $textdomain ),
339
+ "SH" => __("St Helena", $textdomain ),
340
+ "KN" => __("St Kitts & Nevis", $textdomain ),
341
+ "LC" => __("St Lucia", $textdomain ),
342
+ "PM" => __("St Pierre & Miquelon", $textdomain ),
343
+ "VC" => __("St Vincent", $textdomain ),
344
+ "SM" => __("San Marino", $textdomain ),
345
+ "ST" => __("Sao Tome & Principe", $textdomain ),
346
+ "SA" => __("Saudi Arabia", $textdomain ),
347
+ "SN" => __("Senegal", $textdomain ),
348
+ "SC" => __("Seychelles", $textdomain ),
349
+ "SL" => __("Sierra Leone", $textdomain ),
350
+ "SG" => __("Singapore", $textdomain ),
351
+ "SK" => __("Slovakia", $textdomain ),
352
+ "SI" => __("Slovenia", $textdomain ),
353
+ "SB" => __("Solomon Islands", $textdomain ),
354
+ "SO" => __("Somalia", $textdomain ),
355
+ "ZA" => __("South Africa", $textdomain ),
356
+ "GS" => __("South Georgia and South Sandwich", $textdomain ),
357
+ "ES" => __("Spain", $textdomain ),
358
+ "LK" => __("Sri Lanka", $textdomain ),
359
+ "XX" => __("Stateless Persons", $textdomain ),
360
+ "SD" => __("Sudan", $textdomain ),
361
+ "SR" => __("Suriname", $textdomain ),
362
+ "SJ" => __("Svalbard and Jan Mayen", $textdomain ),
363
+ "SZ" => __("Swaziland", $textdomain ),
364
+ "SE" => __("Sweden", $textdomain ),
365
+ "CH" => __("Switzerland", $textdomain ),
366
+ "SY" => __("Syrian Arab Republic", $textdomain ),
367
+ "TW" => __("Taiwan, Republic of China", $textdomain ),
368
+ "TJ" => __("Tajikistan", $textdomain ),
369
+ "TZ" => __("Tanzania", $textdomain ),
370
+ "TH" => __("Thailand", $textdomain ),
371
+ "TL" => __("Timor Leste", $textdomain ),
372
+ "TG" => __("Togo", $textdomain ),
373
+ "TK" => __("Tokelau", $textdomain ),
374
+ "TO" => __("Tonga", $textdomain ),
375
+ "TT" => __("Trinidad & Tobago", $textdomain ),
376
+ "TN" => __("Tunisia", $textdomain ),
377
+ "TR" => __("Turkey", $textdomain ),
378
+ "TM" => __("Turkmenistan", $textdomain ),
379
+ "TC" => __("Turks And Caicos Islands", $textdomain ),
380
+ "TV" => __("Tuvalu", $textdomain ),
381
+ "UG" => __("Uganda", $textdomain ),
382
+ "UA" => __("Ukraine", $textdomain ),
383
+ "AE" => __("United Arab Emirates", $textdomain ),
384
+ "GB" => __("United Kingdom", $textdomain ),
385
+ "UM" => __("US Minor Outlying Islands", $textdomain ),
386
+ "US" => __("USA", $textdomain ),
387
+ "HV" => __("Upper Volta", $textdomain ),
388
+ "UY" => __("Uruguay", $textdomain ),
389
+ "UZ" => __("Uzbekistan", $textdomain ),
390
+ "VU" => __("Vanuatu", $textdomain ),
391
+ "VA" => __("Vatican City State", $textdomain ),
392
+ "VE" => __("Venezuela", $textdomain ),
393
+ "VN" => __("Vietnam", $textdomain ),
394
+ "VG" => __("Virgin Islands (British)", $textdomain ),
395
+ "VI" => __("Virgin Islands (US)", $textdomain ),
396
+ "WF" => __("Wallis And Futuna Islands", $textdomain ),
397
+ "EH" => __("Western Sahara", $textdomain ),
398
+ "YE" => __("Yemen Arab Rep.", $textdomain ),
399
+ "YD" => __("Yemen Democratic", $textdomain ),
400
+ "YU" => __("Yugoslavia", $textdomain ),
401
+ "ZR" => __("Zaire", $textdomain ),
402
+ "ZM" => __("Zambia", $textdomain ),
403
+ "ZW" => __("Zimbabwe", $textdomain )
404
+ );
405
+
406
+ return apply_filters( 'popover_country_list', $countries );
407
+
408
+ }
409
+
410
+ ?>
popoverincludes/js/jquery.tablednd_0_5.js ADDED
@@ -0,0 +1,382 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * TableDnD plug-in for JQuery, allows you to drag and drop table rows
3
+ * You can set up various options to control how the system will work
4
+ * Copyright (c) Denis Howlett <denish@isocra.com>
5
+ * Licensed like jQuery, see http://docs.jquery.com/License.
6
+ *
7
+ * Configuration options:
8
+ *
9
+ * onDragStyle
10
+ * This is the style that is assigned to the row during drag. There are limitations to the styles that can be
11
+ * associated with a row (such as you can't assign a border--well you can, but it won't be
12
+ * displayed). (So instead consider using onDragClass.) The CSS style to apply is specified as
13
+ * a map (as used in the jQuery css(...) function).
14
+ * onDropStyle
15
+ * This is the style that is assigned to the row when it is dropped. As for onDragStyle, there are limitations
16
+ * to what you can do. Also this replaces the original style, so again consider using onDragClass which
17
+ * is simply added and then removed on drop.
18
+ * onDragClass
19
+ * This class is added for the duration of the drag and then removed when the row is dropped. It is more
20
+ * flexible than using onDragStyle since it can be inherited by the row cells and other content. The default
21
+ * is class is tDnD_whileDrag. So to use the default, simply customise this CSS class in your
22
+ * stylesheet.
23
+ * onDrop
24
+ * Pass a function that will be called when the row is dropped. The function takes 2 parameters: the table
25
+ * and the row that was dropped. You can work out the new order of the rows by using
26
+ * table.rows.
27
+ * onDragStart
28
+ * Pass a function that will be called when the user starts dragging. The function takes 2 parameters: the
29
+ * table and the row which the user has started to drag.
30
+ * onAllowDrop
31
+ * Pass a function that will be called as a row is over another row. If the function returns true, allow
32
+ * dropping on that row, otherwise not. The function takes 2 parameters: the dragged row and the row under
33
+ * the cursor. It returns a boolean: true allows the drop, false doesn't allow it.
34
+ * scrollAmount
35
+ * This is the number of pixels to scroll if the user moves the mouse cursor to the top or bottom of the
36
+ * window. The page should automatically scroll up or down as appropriate (tested in IE6, IE7, Safari, FF2,
37
+ * FF3 beta
38
+ * dragHandle
39
+ * This is the name of a class that you assign to one or more cells in each row that is draggable. If you
40
+ * specify this class, then you are responsible for setting cursor: move in the CSS and only these cells
41
+ * will have the drag behaviour. If you do not specify a dragHandle, then you get the old behaviour where
42
+ * the whole row is draggable.
43
+ *
44
+ * Other ways to control behaviour:
45
+ *
46
+ * Add class="nodrop" to any rows for which you don't want to allow dropping, and class="nodrag" to any rows
47
+ * that you don't want to be draggable.
48
+ *
49
+ * Inside the onDrop method you can also call $.tableDnD.serialize() this returns a string of the form
50
+ * <tableID>[]=<rowID1>&<tableID>[]=<rowID2> so that you can send this back to the server. The table must have
51
+ * an ID as must all the rows.
52
+ *
53
+ * Other methods:
54
+ *
55
+ * $("...").tableDnDUpdate()
56
+ * Will update all the matching tables, that is it will reapply the mousedown method to the rows (or handle cells).
57
+ * This is useful if you have updated the table rows using Ajax and you want to make the table draggable again.
58
+ * The table maintains the original configuration (so you don't have to specify it again).
59
+ *
60
+ * $("...").tableDnDSerialize()
61
+ * Will serialize and return the serialized string as above, but for each of the matching tables--so it can be
62
+ * called from anywhere and isn't dependent on the currentTable being set up correctly before calling
63
+ *
64
+ * Known problems:
65
+ * - Auto-scoll has some problems with IE7 (it scrolls even when it shouldn't), work-around: set scrollAmount to 0
66
+ *
67
+ * Version 0.2: 2008-02-20 First public version
68
+ * Version 0.3: 2008-02-07 Added onDragStart option
69
+ * Made the scroll amount configurable (default is 5 as before)
70
+ * Version 0.4: 2008-03-15 Changed the noDrag/noDrop attributes to nodrag/nodrop classes
71
+ * Added onAllowDrop to control dropping
72
+ * Fixed a bug which meant that you couldn't set the scroll amount in both directions
73
+ * Added serialize method
74
+ * Version 0.5: 2008-05-16 Changed so that if you specify a dragHandle class it doesn't make the whole row
75
+ * draggable
76
+ * Improved the serialize method to use a default (and settable) regular expression.
77
+ * Added tableDnDupate() and tableDnDSerialize() to be called when you are outside the table
78
+ */
79
+ jQuery.tableDnD = {
80
+ /** Keep hold of the current table being dragged */
81
+ currentTable : null,
82
+ /** Keep hold of the current drag object if any */
83
+ dragObject: null,
84
+ /** The current mouse offset */
85
+ mouseOffset: null,
86
+ /** Remember the old value of Y so that we don't do too much processing */
87
+ oldY: 0,
88
+
89
+ /** Actually build the structure */
90
+ build: function(options) {
91
+ // Set up the defaults if any
92
+
93
+ this.each(function() {
94
+ // This is bound to each matching table, set up the defaults and override with user options
95
+ this.tableDnDConfig = jQuery.extend({
96
+ onDragStyle: null,
97
+ onDropStyle: null,
98
+ // Add in the default class for whileDragging
99
+ onDragClass: "tDnD_whileDrag",
100
+ onDrop: null,
101
+ onDragStart: null,
102
+ scrollAmount: 5,
103
+ serializeRegexp: /[^\-]*$/, // The regular expression to use to trim row IDs
104
+ serializeParamName: null, // If you want to specify another parameter name instead of the table ID
105
+ dragHandle: null // If you give the name of a class here, then only Cells with this class will be draggable
106
+ }, options || {});
107
+ // Now make the rows draggable
108
+ jQuery.tableDnD.makeDraggable(this);
109
+ });
110
+
111
+ // Now we need to capture the mouse up and mouse move event
112
+ // We can use bind so that we don't interfere with other event handlers
113
+ jQuery(document)
114
+ .bind('mousemove', jQuery.tableDnD.mousemove)
115
+ .bind('mouseup', jQuery.tableDnD.mouseup);
116
+
117
+ // Don't break the chain
118
+ return this;
119
+ },
120
+
121
+ /** This function makes all the rows on the table draggable apart from those marked as "NoDrag" */
122
+ makeDraggable: function(table) {
123
+ var config = table.tableDnDConfig;
124
+ if (table.tableDnDConfig.dragHandle) {
125
+ // We only need to add the event to the specified cells
126
+ var cells = jQuery("td."+table.tableDnDConfig.dragHandle, table);
127
+ cells.each(function() {
128
+ // The cell is bound to "this"
129
+ jQuery(this).mousedown(function(ev) {
130
+ jQuery.tableDnD.dragObject = this.parentNode;
131
+ jQuery.tableDnD.currentTable = table;
132
+ jQuery.tableDnD.mouseOffset = jQuery.tableDnD.getMouseOffset(this, ev);
133
+ if (config.onDragStart) {
134
+ // Call the onDrop method if there is one
135
+ config.onDragStart(table, this);
136
+ }
137
+ return false;
138
+ });
139
+ })
140
+ } else {
141
+ // For backwards compatibility, we add the event to the whole row
142
+ var rows = jQuery("tr", table); // get all the rows as a wrapped set
143
+ rows.each(function() {
144
+ // Iterate through each row, the row is bound to "this"
145
+ var row = jQuery(this);
146
+ if (! row.hasClass("nodrag")) {
147
+ row.mousedown(function(ev) {
148
+ if (ev.target.tagName == "TD") {
149
+ jQuery.tableDnD.dragObject = this;
150
+ jQuery.tableDnD.currentTable = table;
151
+ jQuery.tableDnD.mouseOffset = jQuery.tableDnD.getMouseOffset(this, ev);
152
+ if (config.onDragStart) {
153
+ // Call the onDrop method if there is one
154
+ config.onDragStart(table, this);
155
+ }
156
+ return false;
157
+ }
158
+ }).css("cursor", "move"); // Store the tableDnD object
159
+ }
160
+ });
161
+ }
162
+ },
163
+
164
+ updateTables: function() {
165
+ this.each(function() {
166
+ // this is now bound to each matching table
167
+ if (this.tableDnDConfig) {
168
+ jQuery.tableDnD.makeDraggable(this);
169
+ }
170
+ })
171
+ },
172
+
173
+ /** Get the mouse coordinates from the event (allowing for browser differences) */
174
+ mouseCoords: function(ev){
175
+ if(ev.pageX || ev.pageY){
176
+ return {x:ev.pageX, y:ev.pageY};
177
+ }
178
+ return {
179
+ x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
180
+ y:ev.clientY + document.body.scrollTop - document.body.clientTop
181
+ };
182
+ },
183
+
184
+ /** Given a target element and a mouse event, get the mouse offset from that element.
185
+ To do this we need the element's position and the mouse position */
186
+ getMouseOffset: function(target, ev) {
187
+ ev = ev || window.event;
188
+
189
+ var docPos = this.getPosition(target);
190
+ var mousePos = this.mouseCoords(ev);
191
+ return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
192
+ },
193
+
194
+ /** Get the position of an element by going up the DOM tree and adding up all the offsets */
195
+ getPosition: function(e){
196
+ var left = 0;
197
+ var top = 0;
198
+ /** Safari fix -- thanks to Luis Chato for this! */
199
+ if (e.offsetHeight == 0) {
200
+ /** Safari 2 doesn't correctly grab the offsetTop of a table row
201
+ this is detailed here:
202
+ http://jacob.peargrove.com/blog/2006/technical/table-row-offsettop-bug-in-safari/
203
+ the solution is likewise noted there, grab the offset of a table cell in the row - the firstChild.
204
+ note that firefox will return a text node as a first child, so designing a more thorough
205
+ solution may need to take that into account, for now this seems to work in firefox, safari, ie */
206
+ e = e.firstChild; // a table cell
207
+ }
208
+
209
+ while (e.offsetParent){
210
+ left += e.offsetLeft;
211
+ top += e.offsetTop;
212
+ e = e.offsetParent;
213
+ }
214
+
215
+ left += e.offsetLeft;
216
+ top += e.offsetTop;
217
+
218
+ return {x:left, y:top};
219
+ },
220
+
221
+ mousemove: function(ev) {
222
+ if (jQuery.tableDnD.dragObject == null) {
223
+ return;
224
+ }
225
+
226
+ var dragObj = jQuery(jQuery.tableDnD.dragObject);
227
+ var config = jQuery.tableDnD.currentTable.tableDnDConfig;
228
+ var mousePos = jQuery.tableDnD.mouseCoords(ev);
229
+ var y = mousePos.y - jQuery.tableDnD.mouseOffset.y;
230
+ //auto scroll the window
231
+ var yOffset = window.pageYOffset;
232
+ if (document.all) {
233
+ // Windows version
234
+ //yOffset=document.body.scrollTop;
235
+ if (typeof document.compatMode != 'undefined' &&
236
+ document.compatMode != 'BackCompat') {
237
+ yOffset = document.documentElement.scrollTop;
238
+ }
239
+ else if (typeof document.body != 'undefined') {
240
+ yOffset=document.body.scrollTop;
241
+ }
242
+
243
+ }
244
+
245
+ if (mousePos.y-yOffset < config.scrollAmount) {
246
+ window.scrollBy(0, -config.scrollAmount);
247
+ } else {
248
+ var windowHeight = window.innerHeight ? window.innerHeight
249
+ : document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
250
+ if (windowHeight-(mousePos.y-yOffset) < config.scrollAmount) {
251
+ window.scrollBy(0, config.scrollAmount);
252
+ }
253
+ }
254
+
255
+
256
+ if (y != jQuery.tableDnD.oldY) {
257
+ // work out if we're going up or down...
258
+ var movingDown = y > jQuery.tableDnD.oldY;
259
+ // update the old value
260
+ jQuery.tableDnD.oldY = y;
261
+ // update the style to show we're dragging
262
+ if (config.onDragClass) {
263
+ dragObj.addClass(config.onDragClass);
264
+ } else {
265
+ dragObj.css(config.onDragStyle);
266
+ }
267
+ // If we're over a row then move the dragged row to there so that the user sees the
268
+ // effect dynamically
269
+ var currentRow = jQuery.tableDnD.findDropTargetRow(dragObj, y);
270
+ if (currentRow) {
271
+ // TODO worry about what happens when there are multiple TBODIES
272
+ if (movingDown && jQuery.tableDnD.dragObject != currentRow) {
273
+ jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject, currentRow.nextSibling);
274
+ } else if (! movingDown && jQuery.tableDnD.dragObject != currentRow) {
275
+ jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject, currentRow);
276
+ }
277
+ }
278
+ }
279
+
280
+ return false;
281
+ },
282
+
283
+ /** We're only worried about the y position really, because we can only move rows up and down */
284
+ findDropTargetRow: function(draggedRow, y) {
285
+ var rows = jQuery.tableDnD.currentTable.rows;
286
+ for (var i=0; i<rows.length; i++) {
287
+ var row = rows[i];
288
+ var rowY = this.getPosition(row).y;
289
+ var rowHeight = parseInt(row.offsetHeight)/2;
290
+ if (row.offsetHeight == 0) {
291
+ rowY = this.getPosition(row.firstChild).y;
292
+ rowHeight = parseInt(row.firstChild.offsetHeight)/2;
293
+ }
294
+ // Because we always have to insert before, we need to offset the height a bit
295
+ if ((y > rowY - rowHeight) && (y < (rowY + rowHeight))) {
296
+ // that's the row we're over
297
+ // If it's the same as the current row, ignore it
298
+ if (row == draggedRow) {return null;}
299
+ var config = jQuery.tableDnD.currentTable.tableDnDConfig;
300
+ if (config.onAllowDrop) {
301
+ if (config.onAllowDrop(draggedRow, row)) {
302
+ return row;
303
+ } else {
304
+ return null;
305
+ }
306
+ } else {
307
+ // If a row has nodrop class, then don't allow dropping (inspired by John Tarr and Famic)
308
+ var nodrop = jQuery(row).hasClass("nodrop");
309
+ if (! nodrop) {
310
+ return row;
311
+ } else {
312
+ return null;
313
+ }
314
+ }
315
+ return row;
316
+ }
317
+ }
318
+ return null;
319
+ },
320
+
321
+ mouseup: function(e) {
322
+ if (jQuery.tableDnD.currentTable && jQuery.tableDnD.dragObject) {
323
+ var droppedRow = jQuery.tableDnD.dragObject;
324
+ var config = jQuery.tableDnD.currentTable.tableDnDConfig;
325
+ // If we have a dragObject, then we need to release it,
326
+ // The row will already have been moved to the right place so we just reset stuff
327
+ if (config.onDragClass) {
328
+ jQuery(droppedRow).removeClass(config.onDragClass);
329
+ } else {
330
+ jQuery(droppedRow).css(config.onDropStyle);
331
+ }
332
+ jQuery.tableDnD.dragObject = null;
333
+ if (config.onDrop) {
334
+ // Call the onDrop method if there is one
335
+ config.onDrop(jQuery.tableDnD.currentTable, droppedRow);
336
+ }
337
+ jQuery.tableDnD.currentTable = null; // let go of the table too
338
+ }
339
+ },
340
+
341
+ serialize: function() {
342
+ if (jQuery.tableDnD.currentTable) {
343
+ return jQuery.tableDnD.serializeTable(jQuery.tableDnD.currentTable);
344
+ } else {
345
+ return "Error: No Table id set, you need to set an id on your table and every row";
346
+ }
347
+ },
348
+
349
+ serializeTable: function(table) {
350
+ var result = "";
351
+ var tableId = table.id;
352
+ var rows = table.rows;
353
+ for (var i=0; i<rows.length; i++) {
354
+ if (result.length > 0) result += "&";
355
+ var rowId = rows[i].id;
356
+ if (rowId && rowId && table.tableDnDConfig && table.tableDnDConfig.serializeRegexp) {
357
+ rowId = rowId.match(table.tableDnDConfig.serializeRegexp)[0];
358
+ }
359
+
360
+ result += tableId + '[]=' + rowId;
361
+ }
362
+ return result;
363
+ },
364
+
365
+ serializeTables: function() {
366
+ var result = "";
367
+ this.each(function() {
368
+ // this is now bound to each matching table
369
+ result += jQuery.tableDnD.serializeTable(this);
370
+ });
371
+ return result;
372
+ }
373
+
374
+ }
375
+
376
+ jQuery.fn.extend(
377
+ {
378
+ tableDnD : jQuery.tableDnD.build,
379
+ tableDnDUpdate : jQuery.tableDnD.updateTables,
380
+ tableDnDSerialize: jQuery.tableDnD.serializeTables
381
+ }
382
+ );
popoverincludes/js/popover.js CHANGED
@@ -9,14 +9,27 @@ function createCookie(name,value,days) {
9
  }
10
 
11
  function removeMessageBoxForever() {
12
- jQuery(this).parents('#messagebox').removeClass('visiblebox').addClass('hiddenbox');
 
13
  createCookie('popover_never_view', 'hidealways', 365);
14
  return false;
15
  }
16
 
17
  function removeMessageBox() {
18
- jQuery(this).parent('#messagebox').removeClass('visiblebox').addClass('hiddenbox');
 
19
  return false;
 
 
 
 
 
 
 
 
 
 
 
20
  }
21
 
22
  function boardReady() {
@@ -24,7 +37,9 @@ function boardReady() {
24
  jQuery('#closebox').click(removeMessageBox);
25
 
26
  jQuery('#message').hover( function() {jQuery('.claimbutton').removeClass('hide');}, function() {jQuery('.claimbutton').addClass('hide');});
27
- jQuery('#messagebox').css('visibility', 'visible');
 
 
28
  }
29
 
30
  jQuery(window).load(boardReady);
9
  }
10
 
11
  function removeMessageBoxForever() {
12
+ jQuery('#darkbackground').remove();
13
+ jQuery(this).parents(popover.messagebox).remove();
14
  createCookie('popover_never_view', 'hidealways', 365);
15
  return false;
16
  }
17
 
18
  function removeMessageBox() {
19
+ jQuery('#darkbackground').remove();
20
+ jQuery(this).parents(popover.messagebox).remove();
21
  return false;
22
+ }
23
+
24
+ function showMessageBox() {
25
+ jQuery(popover.messagebox).css('visibility', 'visible');
26
+ jQuery('#darkbackground').css('visibility', 'visible');
27
+ }
28
+
29
+ function newShowMessageBox() {
30
+
31
+
32
+
33
  }
34
 
35
  function boardReady() {
37
  jQuery('#closebox').click(removeMessageBox);
38
 
39
  jQuery('#message').hover( function() {jQuery('.claimbutton').removeClass('hide');}, function() {jQuery('.claimbutton').addClass('hide');});
40
+
41
+ window.setTimeout( showMessageBox, popover.messagedelay );
42
+
43
  }
44
 
45
  jQuery(window).load(boardReady);
popoverincludes/js/popoveradmin.js CHANGED
@@ -17,6 +17,31 @@ function popoverremovemessage() {
17
  return false;
18
  }
19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  function popoverReady() {
21
 
22
  jQuery('.popover-draggable').draggable({
@@ -57,6 +82,10 @@ function popoverReady() {
57
  jQuery('a.removelink').click(popoverremoveaction);
58
  jQuery('a#closemessage').click(popoverremovemessage);
59
 
 
 
 
 
60
 
61
  }
62
 
17
  return false;
18
  }
19
 
20
+ function popoverclickactiontoggle() {
21
+ if(jQuery(this).parent().hasClass('open')) {
22
+ jQuery(this).parent().removeClass('open').addClass('closed');
23
+ jQuery(this).parents('.action').find('.action-body').removeClass('open').addClass('closed');
24
+ } else {
25
+ jQuery(this).parent().removeClass('closed').addClass('open');
26
+ jQuery(this).parents('.action').find('.action-body').removeClass('closed').addClass('open');
27
+ }
28
+ }
29
+
30
+ function popoveraddtorules() {
31
+
32
+ moving = jQuery(this).parents('.popover-draggable').attr('id');
33
+
34
+ if(moving != '') {
35
+ jQuery('#main-' + moving).appendTo('#positive-rules-holder');
36
+ jQuery('#' + moving).hide();
37
+
38
+ // put the name in the relevant holding input field
39
+ jQuery('#in-positive-rules').val( jQuery('#in-positive-rules').val() + ',' + moving );
40
+ }
41
+
42
+ return false;
43
+ }
44
+
45
  function popoverReady() {
46
 
47
  jQuery('.popover-draggable').draggable({
82
  jQuery('a.removelink').click(popoverremoveaction);
83
  jQuery('a#closemessage').click(popoverremovemessage);
84
 
85
+ jQuery('.action .action-top .action-button').click(popoverclickactiontoggle);
86
+
87
+ jQuery('a.action-to-popover').click(popoveraddtorules);
88
+
89
 
90
  }
91
 
popoverincludes/js/popovermenu.js ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ function po_updateMovePopover() {
3
+ jQuery.post(
4
+ popover.ajaxurl,
5
+ {
6
+ 'action':'popover_update_order',
7
+ '_ajax_nonce': popover.ordernonce,
8
+ 'data': jQuery('#dragbody').tableDnDSerialize()
9
+ },
10
+ function(response){
11
+ if(response != 'fail') {
12
+ popover.ordernonce = response;
13
+ } else {
14
+ alert(popover.dragerror);
15
+ }
16
+ }
17
+ );
18
+ }
19
+
20
+ function po_setupReOrder() {
21
+
22
+ //alert('here');
23
+
24
+ //jQuery('tr.draghandle a.draganchor').click(function() {alert('click'); return false;});
25
+
26
+ jQuery('#dragbody').tableDnD({
27
+ onDragClass: 'dragging',
28
+ dragHandle: 'check-drag',
29
+ onDragStart: function( table, row ) {},
30
+ onDrop: function( table, row ) {
31
+ po_updateMovePopover();
32
+ }
33
+ });
34
+
35
+ }
36
+
37
+ function po_confirmDelete() {
38
+ if(confirm(popover.deletepopover)) {
39
+ return true;
40
+ } else {
41
+ return false;
42
+ }
43
+ }
44
+
45
+ function po_MenuReady() {
46
+
47
+ po_setupReOrder();
48
+
49
+ jQuery('span.delete a').click(po_confirmDelete);
50
+
51
+ }
52
+
53
+ jQuery(document).ready(po_MenuReady);
popoverincludes/js/popoversizing.js CHANGED
@@ -1,9 +1,9 @@
1
  function sizeReady() {
2
- jQuery('#messagebox').width(jQuery('#message').width());
3
- jQuery('#messagebox').height(jQuery('#message').height());
4
 
5
- jQuery('#messagebox').css('top', (jQuery(window).height() / 2) - (jQuery('#message').height() / 2) );
6
- jQuery('#messagebox').css('left', (jQuery(window).width() / 2) - (jQuery('#message').width() / 2) );
7
  }
8
 
9
  jQuery(window).load(sizeReady);
1
  function sizeReady() {
2
+ jQuery(popover.messagebox).width(jQuery('#message').width());
3
+ jQuery(popover.messagebox).height(jQuery('#message').height());
4
 
5
+ jQuery(popover.messagebox).css('top', (jQuery(window).height() / 2) - (jQuery('#message').height() / 2) );
6
+ jQuery(popover.messagebox).css('left', (jQuery(window).width() / 2) - (jQuery('#message').width() / 2) );
7
  }
8
 
9
  jQuery(window).load(sizeReady);
popoverincludes/languages/popover-en_US.mo CHANGED
Binary file
popoverincludes/languages/popover.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: PopOver\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2011-01-04 01:45+0100\n"
6
- "PO-Revision-Date: 2011-01-04 01:53+0100\n"
7
  "Last-Translator: Barry <barry@mapinated.com>\n"
8
  "Language-Team: Incsub <barry@incsub.com>\n"
9
  "MIME-Version: 1.0\n"
@@ -13,217 +13,1603 @@ msgstr ""
13
  "X-Poedit-Basepath: .\n"
14
  "X-Poedit-SearchPath-0: /Users/barrygetty/Work/wordpress/plugins/popover\n"
15
 
16
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:45
17
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:48
18
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:51
 
 
 
 
 
 
 
 
 
 
 
 
19
  msgid "Pop Overs"
20
  msgstr ""
21
 
22
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:210
23
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:632
24
- msgid "Your settings have been saved."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  msgstr ""
26
 
27
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:211
28
- msgid "Your popover content has been modified by the built in filter, you need to allow unfiltered html."
 
 
 
 
29
  msgstr ""
30
 
31
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:216
32
  #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:661
33
- msgid "Pop Over content settings"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  msgstr ""
35
 
36
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:231
37
- msgid "Edit Popover settings"
 
38
  msgstr ""
39
 
40
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:240
41
- msgid "close"
 
42
  msgstr ""
43
 
44
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:246
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  msgid "Popover content"
46
  msgstr ""
47
 
48
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:251
49
- msgid "Active rules"
50
  msgstr ""
51
 
52
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:252
53
- msgid "These are the rules that will determine if a popover should show when a visitor arrives at your website."
54
  msgstr ""
55
 
56
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:288
57
  msgid "Drop here"
58
  msgstr ""
59
 
60
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:292
61
  msgid "Appearance settings"
62
  msgstr ""
63
 
64
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:295
65
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:683
66
  msgid "Pop Over Size"
67
  msgstr ""
68
 
69
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:297
70
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:685
71
  msgid "Width:"
72
  msgstr ""
73
 
74
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:299
75
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:687
76
  msgid "Height:"
77
  msgstr ""
78
 
79
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:305
80
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:693
81
  msgid "Pop Over Position"
82
  msgstr ""
83
 
84
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:307
85
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:317
86
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:695
87
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:705
88
  msgid "Left:"
89
  msgstr ""
90
 
91
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:309
92
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:321
93
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:697
94
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:709
95
  msgid "Top:"
96
  msgstr ""
97
 
98
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:315
99
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:703
100
  msgid "Pop Over Margins"
101
  msgstr ""
102
 
103
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:319
104
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:707
105
  msgid "Right:"
106
  msgstr ""
107
 
108
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:323
109
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:711
110
  msgid "Bottom:"
111
  msgstr ""
112
 
113
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:331
114
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:719
115
- msgid "or just override the above with JS"
116
  msgstr ""
117
 
118
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:339
119
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:729
120
- msgid "Background Colour"
121
  msgstr ""
122
 
123
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:341
124
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:349
125
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:731
126
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:739
127
  msgid "Hex:"
128
  msgstr ""
129
 
130
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:347
131
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:737
132
- msgid "Font Colour"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
  msgstr ""
134
 
135
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:361
136
  msgid "Update"
137
  msgstr ""
138
 
139
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:416
140
- msgid "Rules"
 
 
 
 
 
 
 
 
141
  msgstr ""
142
 
143
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:500
144
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:513
145
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:527
 
 
146
  msgid "Remove"
147
  msgstr ""
148
 
149
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:531
150
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:809
151
  msgid "times"
152
  msgstr ""
153
 
154
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:662
 
 
 
 
 
 
 
 
 
 
 
 
155
  msgid "Use the settings below to modify the content of your pop over and the rules that will determine when, or if, it will be displayed."
156
  msgstr ""
157
 
158
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:664
159
  msgid "Pop Over content"
160
  msgstr ""
161
 
162
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:665
163
  msgid "Enter the content for your pop over in the text area below. HTML is allowed."
164
  msgstr ""
165
 
166
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:669
167
  msgid "Update content"
168
  msgstr ""
169
 
170
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:672
171
  msgid "Pop Over display settings"
172
  msgstr ""
173
 
174
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:673
175
  msgid "Use the options below to determine the look, and display settings for the Pop Over."
176
  msgstr ""
177
 
178
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:679
179
  msgid "Appearance Settings"
180
  msgstr ""
181
 
182
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:749
 
 
 
 
 
 
 
 
 
 
 
 
183
  msgid "Display Rules"
184
  msgstr ""
185
 
186
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:751
187
  msgid "Show the Pop Over if <strong>one</strong> of the following checked rules is true."
188
  msgstr ""
189
 
190
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:761
191
  msgid "Visitor is not a supporter."
192
  msgstr ""
193
 
194
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:770
195
  msgid "Visitor is logged in."
196
  msgstr ""
197
 
198
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:776
199
  msgid "Visitor is not logged in."
200
  msgstr ""
201
 
202
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:782
203
  msgid "Visitor has never commented here before."
204
  msgstr ""
205
 
206
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:788
207
  msgid "Visitor came from a search engine."
208
  msgstr ""
209
 
210
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:794
211
  msgid "Visitor did not come from an internal page."
212
  msgstr ""
213
 
214
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:800
215
  msgid "Visitor referrer matches"
216
  msgstr ""
217
 
218
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:807
219
  msgid "And the visitor has seen the pop over less than"
220
  msgstr ""
221
 
222
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:817
223
  msgid "Update settings"
224
  msgstr ""
225
 
226
- #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoverpublic.php:199
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  msgid "Never see this message again."
228
  msgstr ""
229
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  msgstr ""
3
  "Project-Id-Version: PopOver\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-05-11 15:09+0100\n"
6
+ "PO-Revision-Date: 2012-05-11 15:09+0100\n"
7
  "Last-Translator: Barry <barry@mapinated.com>\n"
8
  "Language-Team: Incsub <barry@incsub.com>\n"
9
  "MIME-Version: 1.0\n"
13
  "X-Poedit-Basepath: .\n"
14
  "X-Poedit-SearchPath-0: /Users/barrygetty/Work/wordpress/plugins/popover\n"
15
 
16
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popover.help.php:55
17
+ msgid "Overview"
18
+ msgstr ""
19
+
20
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popover.help.php:61
21
+ msgid "Adding / Editing"
22
+ msgstr ""
23
+
24
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popover.help.php:75
25
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:109
26
+ msgid "Add-ons"
27
+ msgstr ""
28
+
29
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:100
30
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:104
31
  msgid "Pop Overs"
32
  msgstr ""
33
 
34
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:108
35
+ msgid "Create New Pop Over"
36
+ msgstr ""
37
+
38
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:108
39
+ msgid "Create New"
40
+ msgstr ""
41
+
42
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:109
43
+ msgid "Manage Add-ons Plugins"
44
+ msgstr ""
45
+
46
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:257
47
+ msgid "An error occured updating the Pop Over order."
48
+ msgstr ""
49
+
50
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:258
51
+ msgid "Are you sure you want to delete this Pop Over?"
52
+ msgstr ""
53
+
54
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:298
55
+ #, php-format
56
+ msgid "Welcome to Popover, would you like to transfer your existing Popover to the new format? <a href='%s'>Yes please transfer it</a> / <a href='%s'>No thanks, I'll create a new one myself.</a>"
57
+ msgstr ""
58
+
59
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:317
60
+ msgid "Transferred Popover"
61
+ msgstr ""
62
+
63
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:655
64
+ msgid "Pop Over updated."
65
+ msgstr ""
66
+
67
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:656
68
+ msgid "Pop Over not updated."
69
  msgstr ""
70
 
71
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:658
72
+ msgid "Pop Over activated."
73
+ msgstr ""
74
+
75
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:659
76
+ msgid "Pop Over not activated."
77
  msgstr ""
78
 
 
79
  #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:661
80
+ msgid "Pop Over deactivated."
81
+ msgstr ""
82
+
83
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:662
84
+ msgid "Pop Over not deactivated."
85
+ msgstr ""
86
+
87
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:664
88
+ msgid "Pop Over activation toggled."
89
+ msgstr ""
90
+
91
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:666
92
+ msgid "Pop Over deleted."
93
+ msgstr ""
94
+
95
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:667
96
+ msgid "Pop Over not deleted."
97
+ msgstr ""
98
+
99
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:669
100
+ msgid "Pop Over added."
101
+ msgstr ""
102
+
103
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:670
104
+ msgid "Pop Over not added."
105
+ msgstr ""
106
+
107
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:674
108
+ msgid "Edit Pop Overs"
109
+ msgstr ""
110
+
111
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:674
112
+ msgid "Add New"
113
+ msgstr ""
114
+
115
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:692
116
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:868
117
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1847
118
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1975
119
+ msgid "Bulk Actions"
120
+ msgstr ""
121
+
122
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:693
123
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:869
124
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1848
125
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1976
126
+ msgid "Toggle activation"
127
+ msgstr ""
128
+
129
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:695
130
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:871
131
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1850
132
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1978
133
+ msgid "Apply"
134
+ msgstr ""
135
+
136
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:709
137
+ msgid "Pop Over Name"
138
+ msgstr ""
139
+
140
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:710
141
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1257
142
+ msgid "Conditions"
143
+ msgstr ""
144
+
145
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:711
146
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:841
147
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1866
148
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1948
149
+ msgid "Active"
150
+ msgstr ""
151
+
152
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:772
153
+ msgid "Edit"
154
  msgstr ""
155
 
156
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:775
157
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1934
158
+ msgid "Deactivate"
159
  msgstr ""
160
 
161
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:777
162
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1936
163
+ msgid "Activate"
164
  msgstr ""
165
 
166
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:780
167
+ msgid "Delete"
168
+ msgstr ""
169
+
170
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:795
171
+ msgid "Site is not a Pro-site"
172
+ msgstr ""
173
+
174
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:798
175
+ msgid "Visitor is logged in"
176
+ msgstr ""
177
+
178
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:801
179
+ msgid "Visitor is not logged in"
180
+ msgstr ""
181
+
182
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:804
183
+ msgid "Visitor has never commented"
184
+ msgstr ""
185
+
186
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:807
187
+ msgid "Visit via a search engine"
188
+ msgstr ""
189
+
190
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:810
191
+ msgid "Visit not via an Internal link"
192
+ msgstr ""
193
+
194
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:813
195
+ msgid "Visit via specific referer"
196
+ msgstr ""
197
+
198
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:816
199
+ msgid "Popover shown less than x times"
200
+ msgstr ""
201
+
202
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:819
203
+ msgid "On specific URL"
204
+ msgstr ""
205
+
206
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:822
207
+ msgid "Not on specific URL"
208
+ msgstr ""
209
+
210
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:825
211
+ msgid "In a specific country"
212
+ msgstr ""
213
+
214
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:828
215
+ msgid "Not in a specific country"
216
+ msgstr ""
217
+
218
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:843
219
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1950
220
+ msgid "Inactive"
221
+ msgstr ""
222
+
223
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:854
224
+ msgid "No Pop Overs were found."
225
+ msgstr ""
226
+
227
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:903
228
+ msgid "New Pop Over"
229
+ msgstr ""
230
+
231
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:958
232
+ msgid "Edit Pop Over"
233
+ msgstr ""
234
+
235
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:960
236
+ msgid "Add Pop Over"
237
+ msgstr ""
238
+
239
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:973
240
+ msgid "Pop Over Settings"
241
+ msgstr ""
242
+
243
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:979
244
+ msgid "Popover title"
245
+ msgstr ""
246
+
247
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:982
248
  msgid "Popover content"
249
  msgstr ""
250
 
251
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:994
252
+ msgid "Active conditions"
253
  msgstr ""
254
 
255
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:995
256
+ msgid "These are the rules that will determine if a popover should show when a visitor arrives at your website ALL rules must be true for the popover to show."
257
  msgstr ""
258
 
259
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1043
260
  msgid "Drop here"
261
  msgstr ""
262
 
263
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1046
264
  msgid "Appearance settings"
265
  msgstr ""
266
 
267
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1049
268
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1604
269
  msgid "Pop Over Size"
270
  msgstr ""
271
 
272
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1051
273
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1606
274
  msgid "Width:"
275
  msgstr ""
276
 
277
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1053
278
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1608
279
  msgid "Height:"
280
  msgstr ""
281
 
282
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1059
283
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1614
284
  msgid "Pop Over Position"
285
  msgstr ""
286
 
287
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1061
288
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1071
289
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1616
290
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1626
291
  msgid "Left:"
292
  msgstr ""
293
 
294
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1063
295
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1075
296
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1618
297
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1630
298
  msgid "Top:"
299
  msgstr ""
300
 
301
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1069
302
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1624
303
  msgid "Pop Over Margins"
304
  msgstr ""
305
 
306
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1073
307
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1628
308
  msgid "Right:"
309
  msgstr ""
310
 
311
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1077
312
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1632
313
  msgid "Bottom:"
314
  msgstr ""
315
 
316
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1085
317
+ msgid "or use Javascript to resize and center the popover"
 
318
  msgstr ""
319
 
320
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1093
321
+ msgid "Background Color"
 
322
  msgstr ""
323
 
324
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1095
325
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1103
326
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1652
327
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1660
328
  msgid "Hex:"
329
  msgstr ""
330
 
331
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1101
332
+ msgid "Font Color"
333
+ msgstr ""
334
+
335
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1115
336
+ msgid "Pop Over Style"
337
+ msgstr ""
338
+
339
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1119
340
+ msgid "Use Style"
341
+ msgstr ""
342
+
343
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1146
344
+ msgid "Remove Hide Forever Link"
345
+ msgstr ""
346
+
347
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1149
348
+ msgid "Remove the \"Never see this message again\" link"
349
+ msgstr ""
350
+
351
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1156
352
+ msgid "Pop over appearance delays"
353
+ msgstr ""
354
+
355
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1159
356
+ msgid "Show Pop Over"
357
+ msgstr ""
358
+
359
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1162
360
+ msgid "immediately"
361
+ msgstr ""
362
+
363
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1166
364
+ msgid "after"
365
+ msgstr ""
366
+
367
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1166
368
+ msgid "seconds"
369
  msgstr ""
370
 
371
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1180
372
  msgid "Update"
373
  msgstr ""
374
 
375
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1183
376
+ msgid "Add"
377
+ msgstr ""
378
+
379
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1183
380
+ msgid "Add and Activate"
381
+ msgstr ""
382
+
383
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1365
384
+ msgid "Add this rule to the popover."
385
  msgstr ""
386
 
387
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1378
388
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1391
389
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1405
390
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1423
391
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1439
392
  msgid "Remove"
393
  msgstr ""
394
 
395
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1409
396
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1730
397
  msgid "times"
398
  msgstr ""
399
 
400
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1444
401
+ msgid "Select a country from the list below"
402
+ msgstr ""
403
+
404
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1553
405
+ msgid "Your settings have been saved."
406
+ msgstr ""
407
+
408
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1582
409
+ msgid "Pop Over content settings"
410
+ msgstr ""
411
+
412
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1583
413
  msgid "Use the settings below to modify the content of your pop over and the rules that will determine when, or if, it will be displayed."
414
  msgstr ""
415
 
416
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1585
417
  msgid "Pop Over content"
418
  msgstr ""
419
 
420
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1586
421
  msgid "Enter the content for your pop over in the text area below. HTML is allowed."
422
  msgstr ""
423
 
424
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1590
425
  msgid "Update content"
426
  msgstr ""
427
 
428
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1593
429
  msgid "Pop Over display settings"
430
  msgstr ""
431
 
432
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1594
433
  msgid "Use the options below to determine the look, and display settings for the Pop Over."
434
  msgstr ""
435
 
436
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1600
437
  msgid "Appearance Settings"
438
  msgstr ""
439
 
440
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1640
441
+ msgid "or just override the above with JS"
442
+ msgstr ""
443
+
444
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1650
445
+ msgid "Background Colour"
446
+ msgstr ""
447
+
448
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1658
449
+ msgid "Font Colour"
450
+ msgstr ""
451
+
452
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1670
453
  msgid "Display Rules"
454
  msgstr ""
455
 
456
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1672
457
  msgid "Show the Pop Over if <strong>one</strong> of the following checked rules is true."
458
  msgstr ""
459
 
460
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1682
461
  msgid "Visitor is not a supporter."
462
  msgstr ""
463
 
464
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1691
465
  msgid "Visitor is logged in."
466
  msgstr ""
467
 
468
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1697
469
  msgid "Visitor is not logged in."
470
  msgstr ""
471
 
472
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1703
473
  msgid "Visitor has never commented here before."
474
  msgstr ""
475
 
476
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1709
477
  msgid "Visitor came from a search engine."
478
  msgstr ""
479
 
480
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1715
481
  msgid "Visitor did not come from an internal page."
482
  msgstr ""
483
 
484
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1721
485
  msgid "Visitor referrer matches"
486
  msgstr ""
487
 
488
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1728
489
  msgid "And the visitor has seen the pop over less than"
490
  msgstr ""
491
 
492
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1738
493
  msgid "Update settings"
494
  msgstr ""
495
 
496
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1815
497
+ msgid "Add-on updated."
498
+ msgstr ""
499
+
500
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1816
501
+ msgid "Add-on not updated."
502
+ msgstr ""
503
+
504
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1818
505
+ msgid "Add-on activated."
506
+ msgstr ""
507
+
508
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1819
509
+ msgid "Add-on not activated."
510
+ msgstr ""
511
+
512
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1821
513
+ msgid "Add-on deactivated."
514
+ msgstr ""
515
+
516
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1822
517
+ msgid "Add-on not deactivated."
518
+ msgstr ""
519
+
520
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1824
521
+ msgid "Add-on activation toggled."
522
+ msgstr ""
523
+
524
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1829
525
+ msgid "Edit Add-ons"
526
+ msgstr ""
527
+
528
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1864
529
+ msgid "Add-on Name"
530
+ msgstr ""
531
+
532
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1865
533
+ msgid "Add-on File"
534
+ msgstr ""
535
+
536
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1926
537
+ msgid " by "
538
+ msgstr ""
539
+
540
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/classes/popoveradmin.php:1961
541
+ msgid "No Add-ons where found for this install."
542
+ msgstr ""
543
+
544
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/css/default/popover.php:8
545
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/css/fixed/popover.php:8
546
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/css/fullbackground/popover.php:9
547
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/css/fullbackgroundfixed/popover.php:8
548
  msgid "Never see this message again."
549
  msgstr ""
550
 
551
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popover.help.php:1
552
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popoveraddons.help.php:1
553
+ msgid "Introduction"
554
+ msgstr ""
555
+
556
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popover.help.php:2
557
+ msgid "The main Pop Over screen show all of the Pop Overs you have set up, you can edit, activate / deactivate and reorder the priority of the Pop Overs using this screen."
558
+ msgstr ""
559
+
560
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popover.help.php:3
561
+ msgid "Adding a Pop Over"
562
+ msgstr ""
563
+
564
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popover.help.php:4
565
+ msgid "To add a Pop Over you can either click on the <strong>Add New</strong> link near the top of the page, or click on the <strong>Create New</strong> menu item in the main Popover menu."
566
+ msgstr ""
567
+
568
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popover.help.php:5
569
+ msgid "Activating / Deactivating a Popover"
570
+ msgstr ""
571
+
572
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popover.help.php:6
573
+ msgid "If you find that you do not need a particular Pop Over for a period of time, but want to keep it for later use, then clicking on the Deactivate link underneath the Pop Overs title will ensure the Pop Over is not included in the processing."
574
+ msgstr ""
575
+
576
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popover.help.php:8
577
+ msgid "You can re-activate at any time by clicking on the Activate link underneath the Pop Overs title"
578
+ msgstr ""
579
+
580
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popover.help.php:10
581
+ msgid "Ordering Pop Overs"
582
+ msgstr ""
583
+
584
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popover.help.php:11
585
+ msgid "The Pop Overs are processed in the order they show in the list. As soon as a Pop Over is shown, the remainder of the Pop Overs in the list are ignored. You can change the order of the Pop Overs processing by clicking in the left hand column of the list and dragging the relevant pop Over to the desired location."
586
+ msgstr ""
587
+
588
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popover.help.php:13
589
+ msgid "Deleting Pop Overs"
590
+ msgstr ""
591
+
592
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popover.help.php:14
593
+ msgid "Once you have finished with a Pop Over you can delete it by clicking on the Delete link underneath the Pop Overs title."
594
+ msgstr ""
595
+
596
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popoveraddons.help.php:2
597
+ msgid "Add-ons allow you to extend the Pop Over plugin. The Add-on screen lists all of the Add-ons currently installed. To activate or deactivate an Add-on you should click on the Activate or Deactivate link underneath the Add-ons title."
598
+ msgstr ""
599
+
600
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popoveredit.help.php:1
601
+ msgid "Adding / Editing a Pop Over"
602
+ msgstr ""
603
+
604
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popoveredit.help.php:2
605
+ msgid "A Pop Over should have the following information."
606
+ msgstr ""
607
+
608
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popoveredit.help.php:4
609
+ msgid "<strong>A Title</strong> - The Pop Over title helps you to identify different Pop Overs in the main list."
610
+ msgstr ""
611
+
612
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popoveredit.help.php:5
613
+ msgid "<strong>Pop Over content</strong> - This is the content that the Pop Over will display. You can upload any images you require by clicking on the Add Media button at the top of the edit area."
614
+ msgstr ""
615
+
616
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popoveredit.help.php:8
617
+ msgid "<strong>Active Conditions</strong> - You can determine the conditions that need to be fulfilled in order for this Pop Over to display by dragging the relevant conditions in the the <strong>Drop Here</strong> box. All of the conditions must be true in order for the Pop Over to display."
618
+ msgstr ""
619
+
620
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/help/popoveredit.help.php:11
621
+ msgid "<strong>Appearance Settings</strong> - You can set the size and position of the Pop Over by setting the Appearance options. If you want the Pop Over system to attempt to determine the size of the Pop Overs content and automatically resize the Pop Over and attempt to center it on your browser window."
622
+ msgstr ""
623
+
624
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/class_wd_help_tooltips.php:297
625
+ msgid "Help"
626
+ msgstr ""
627
+
628
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:8
629
+ msgid "Please install the latest version of <a href=\"http://premium.wpmudev.org/project/update-notifications/\" title=\"Download Now &raquo;\">our free Update Notifications plugin</a> which helps you stay up-to-date with the most stable, secure versions of WPMU DEV themes and plugins. <a href=\"http://premium.wpmudev.org/wpmu-dev/update-notifications-plugin-information/\">More information &raquo;</a>"
630
+ msgstr ""
631
+
632
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:160
633
+ msgid "Australia"
634
+ msgstr ""
635
+
636
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:161
637
+ msgid "Afghanistan"
638
+ msgstr ""
639
+
640
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:162
641
+ msgid "Albania"
642
+ msgstr ""
643
+
644
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:163
645
+ msgid "Algeria"
646
+ msgstr ""
647
+
648
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:164
649
+ msgid "American Samoa"
650
+ msgstr ""
651
+
652
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:165
653
+ msgid "Andorra"
654
+ msgstr ""
655
+
656
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:166
657
+ msgid "Angola"
658
+ msgstr ""
659
+
660
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:167
661
+ msgid "Anguilla"
662
+ msgstr ""
663
+
664
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:168
665
+ msgid "Antarctica"
666
+ msgstr ""
667
+
668
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:169
669
+ msgid "Antigua & Barbuda"
670
+ msgstr ""
671
+
672
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:170
673
+ msgid "Argentina"
674
+ msgstr ""
675
+
676
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:171
677
+ msgid "Armenia"
678
+ msgstr ""
679
+
680
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:172
681
+ msgid "Aruba"
682
+ msgstr ""
683
+
684
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:173
685
+ msgid "Austria"
686
+ msgstr ""
687
+
688
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:174
689
+ msgid "Azerbaijan"
690
+ msgstr ""
691
+
692
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:175
693
+ msgid "Bahamas"
694
+ msgstr ""
695
+
696
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:176
697
+ msgid "Bahrain"
698
+ msgstr ""
699
+
700
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:177
701
+ msgid "Bangladesh"
702
+ msgstr ""
703
+
704
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:178
705
+ msgid "Barbados"
706
+ msgstr ""
707
+
708
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:179
709
+ msgid "Belarus"
710
+ msgstr ""
711
+
712
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:180
713
+ msgid "Belgium"
714
+ msgstr ""
715
+
716
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:181
717
+ msgid "Belize"
718
+ msgstr ""
719
+
720
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:182
721
+ msgid "Benin"
722
+ msgstr ""
723
+
724
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:183
725
+ msgid "Bermuda"
726
+ msgstr ""
727
+
728
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:184
729
+ msgid "Bhutan"
730
+ msgstr ""
731
+
732
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:185
733
+ msgid "Bolivia"
734
+ msgstr ""
735
+
736
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:186
737
+ msgid "Bosnia/Hercegovina"
738
+ msgstr ""
739
+
740
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:187
741
+ msgid "Botswana"
742
+ msgstr ""
743
+
744
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:188
745
+ msgid "Bouvet Island"
746
+ msgstr ""
747
+
748
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:189
749
+ msgid "Brazil"
750
+ msgstr ""
751
+
752
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:190
753
+ msgid "British Indian Ocean Territory"
754
+ msgstr ""
755
+
756
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:191
757
+ msgid "Brunei Darussalam"
758
+ msgstr ""
759
+
760
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:192
761
+ msgid "Bulgaria"
762
+ msgstr ""
763
+
764
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:193
765
+ msgid "Burkina Faso"
766
+ msgstr ""
767
+
768
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:194
769
+ msgid "Burundi"
770
+ msgstr ""
771
+
772
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:195
773
+ msgid "Cambodia"
774
+ msgstr ""
775
+
776
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:196
777
+ msgid "Cameroon"
778
+ msgstr ""
779
+
780
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:197
781
+ msgid "Canada"
782
+ msgstr ""
783
+
784
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:198
785
+ msgid "Cape Verde"
786
+ msgstr ""
787
+
788
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:199
789
+ msgid "Cayman Is"
790
+ msgstr ""
791
+
792
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:200
793
+ msgid "Central African Republic"
794
+ msgstr ""
795
+
796
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:201
797
+ msgid "Chad"
798
+ msgstr ""
799
+
800
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:202
801
+ msgid "Chile"
802
+ msgstr ""
803
+
804
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:203
805
+ msgid "China, People's Republic of"
806
+ msgstr ""
807
+
808
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:204
809
+ msgid "Christmas Island"
810
+ msgstr ""
811
+
812
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:205
813
+ msgid "Cocos Islands"
814
+ msgstr ""
815
+
816
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:206
817
+ msgid "Colombia"
818
+ msgstr ""
819
+
820
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:207
821
+ msgid "Comoros"
822
+ msgstr ""
823
+
824
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:208
825
+ msgid "Congo"
826
+ msgstr ""
827
+
828
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:209
829
+ msgid "Congo, Democratic Republic"
830
+ msgstr ""
831
+
832
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:210
833
+ msgid "Cook Islands"
834
+ msgstr ""
835
+
836
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:211
837
+ msgid "Costa Rica"
838
+ msgstr ""
839
+
840
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:212
841
+ msgid "Cote d'Ivoire"
842
+ msgstr ""
843
+
844
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:213
845
+ msgid "Croatia"
846
+ msgstr ""
847
+
848
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:214
849
+ msgid "Cuba"
850
+ msgstr ""
851
+
852
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:215
853
+ msgid "Cyprus"
854
+ msgstr ""
855
+
856
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:216
857
+ msgid "Czech Republic"
858
+ msgstr ""
859
+
860
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:217
861
+ msgid "Denmark"
862
+ msgstr ""
863
+
864
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:218
865
+ msgid "Djibouti"
866
+ msgstr ""
867
+
868
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:219
869
+ msgid "Dominica"
870
+ msgstr ""
871
+
872
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:220
873
+ msgid "Dominican Republic"
874
+ msgstr ""
875
+
876
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:221
877
+ msgid "East Timor"
878
+ msgstr ""
879
+
880
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:222
881
+ msgid "Ecuador"
882
+ msgstr ""
883
+
884
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:223
885
+ msgid "Egypt"
886
+ msgstr ""
887
+
888
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:224
889
+ msgid "El Salvador"
890
+ msgstr ""
891
+
892
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:225
893
+ msgid "Equatorial Guinea"
894
+ msgstr ""
895
+
896
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:226
897
+ msgid "Eritrea"
898
+ msgstr ""
899
+
900
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:227
901
+ msgid "Estonia"
902
+ msgstr ""
903
+
904
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:228
905
+ msgid "Ethiopia"
906
+ msgstr ""
907
+
908
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:229
909
+ msgid "Falkland Islands"
910
+ msgstr ""
911
+
912
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:230
913
+ msgid "Faroe Islands"
914
+ msgstr ""
915
+
916
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:231
917
+ msgid "Fiji"
918
+ msgstr ""
919
+
920
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:232
921
+ msgid "Finland"
922
+ msgstr ""
923
+
924
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:233
925
+ msgid "France"
926
+ msgstr ""
927
+
928
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:234
929
+ msgid "France, Metropolitan"
930
+ msgstr ""
931
+
932
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:235
933
+ msgid "French Guiana"
934
+ msgstr ""
935
+
936
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:236
937
+ msgid "French Polynesia"
938
+ msgstr ""
939
+
940
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:237
941
+ msgid "French South Territories"
942
+ msgstr ""
943
+
944
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:238
945
+ msgid "Gabon"
946
+ msgstr ""
947
+
948
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:239
949
+ msgid "Gambia"
950
+ msgstr ""
951
+
952
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:240
953
+ msgid "Georgia"
954
+ msgstr ""
955
+
956
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:241
957
+ msgid "Germany"
958
+ msgstr ""
959
+
960
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:242
961
+ msgid "Ghana"
962
+ msgstr ""
963
+
964
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:243
965
+ msgid "Gibraltar"
966
+ msgstr ""
967
+
968
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:244
969
+ msgid "Greece"
970
+ msgstr ""
971
+
972
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:245
973
+ msgid "Greenland"
974
+ msgstr ""
975
+
976
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:246
977
+ msgid "Grenada"
978
+ msgstr ""
979
+
980
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:247
981
+ msgid "Guadeloupe"
982
+ msgstr ""
983
+
984
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:248
985
+ msgid "Guam"
986
+ msgstr ""
987
+
988
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:249
989
+ msgid "Guatemala"
990
+ msgstr ""
991
+
992
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:250
993
+ msgid "Guinea"
994
+ msgstr ""
995
+
996
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:251
997
+ msgid "Guinea-Bissau"
998
+ msgstr ""
999
+
1000
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:252
1001
+ msgid "Guyana"
1002
+ msgstr ""
1003
+
1004
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:253
1005
+ msgid "Haiti"
1006
+ msgstr ""
1007
+
1008
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:254
1009
+ msgid "Heard Island And Mcdonald Island"
1010
+ msgstr ""
1011
+
1012
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:255
1013
+ msgid "Honduras"
1014
+ msgstr ""
1015
+
1016
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:256
1017
+ msgid "Hong Kong"
1018
+ msgstr ""
1019
+
1020
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:257
1021
+ msgid "Hungary"
1022
+ msgstr ""
1023
+
1024
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:258
1025
+ msgid "Iceland"
1026
+ msgstr ""
1027
+
1028
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:259
1029
+ msgid "India"
1030
+ msgstr ""
1031
+
1032
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:260
1033
+ msgid "Indonesia"
1034
+ msgstr ""
1035
+
1036
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:261
1037
+ msgid "Iran"
1038
+ msgstr ""
1039
+
1040
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:262
1041
+ msgid "Iraq"
1042
+ msgstr ""
1043
+
1044
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:263
1045
+ msgid "Ireland"
1046
+ msgstr ""
1047
+
1048
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:264
1049
+ msgid "Israel"
1050
+ msgstr ""
1051
+
1052
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:265
1053
+ msgid "Italy"
1054
+ msgstr ""
1055
+
1056
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:266
1057
+ msgid "Jamaica"
1058
+ msgstr ""
1059
+
1060
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:267
1061
+ msgid "Japan"
1062
+ msgstr ""
1063
+
1064
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:268
1065
+ msgid "Johnston Island"
1066
+ msgstr ""
1067
+
1068
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:269
1069
+ msgid "Jordan"
1070
+ msgstr ""
1071
+
1072
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:270
1073
+ msgid "Kazakhstan"
1074
+ msgstr ""
1075
+
1076
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:271
1077
+ msgid "Kenya"
1078
+ msgstr ""
1079
+
1080
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:272
1081
+ msgid "Kiribati"
1082
+ msgstr ""
1083
+
1084
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:273
1085
+ msgid "Korea, Democratic Peoples Republic"
1086
+ msgstr ""
1087
+
1088
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:274
1089
+ msgid "Korea, Republic of"
1090
+ msgstr ""
1091
+
1092
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:275
1093
+ msgid "Kuwait"
1094
+ msgstr ""
1095
+
1096
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:276
1097
+ msgid "Kyrgyzstan"
1098
+ msgstr ""
1099
+
1100
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:277
1101
+ msgid "Lao People's Democratic Republic"
1102
+ msgstr ""
1103
+
1104
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:278
1105
+ msgid "Latvia"
1106
+ msgstr ""
1107
+
1108
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:279
1109
+ msgid "Lebanon"
1110
+ msgstr ""
1111
+
1112
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:280
1113
+ msgid "Lesotho"
1114
+ msgstr ""
1115
+
1116
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:281
1117
+ msgid "Liberia"
1118
+ msgstr ""
1119
+
1120
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:282
1121
+ msgid "Libyan Arab Jamahiriya"
1122
+ msgstr ""
1123
+
1124
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:283
1125
+ msgid "Liechtenstein"
1126
+ msgstr ""
1127
+
1128
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:284
1129
+ msgid "Lithuania"
1130
+ msgstr ""
1131
+
1132
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:285
1133
+ msgid "Luxembourg"
1134
+ msgstr ""
1135
+
1136
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:286
1137
+ msgid "Macau"
1138
+ msgstr ""
1139
+
1140
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:287
1141
+ msgid "Macedonia"
1142
+ msgstr ""
1143
+
1144
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:288
1145
+ msgid "Madagascar"
1146
+ msgstr ""
1147
+
1148
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:289
1149
+ msgid "Malawi"
1150
+ msgstr ""
1151
+
1152
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:290
1153
+ msgid "Malaysia"
1154
+ msgstr ""
1155
+
1156
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:291
1157
+ msgid "Maldives"
1158
+ msgstr ""
1159
+
1160
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:292
1161
+ msgid "Mali"
1162
+ msgstr ""
1163
+
1164
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:293
1165
+ msgid "Malta"
1166
+ msgstr ""
1167
+
1168
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:294
1169
+ msgid "Marshall Islands"
1170
+ msgstr ""
1171
+
1172
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:295
1173
+ msgid "Martinique"
1174
+ msgstr ""
1175
+
1176
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:296
1177
+ msgid "Mauritania"
1178
+ msgstr ""
1179
+
1180
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:297
1181
+ msgid "Mauritius"
1182
+ msgstr ""
1183
+
1184
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:298
1185
+ msgid "Mayotte"
1186
+ msgstr ""
1187
+
1188
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:299
1189
+ msgid "Mexico"
1190
+ msgstr ""
1191
+
1192
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:300
1193
+ msgid "Micronesia"
1194
+ msgstr ""
1195
+
1196
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:301
1197
+ msgid "Moldavia"
1198
+ msgstr ""
1199
+
1200
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:302
1201
+ msgid "Monaco"
1202
+ msgstr ""
1203
+
1204
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:303
1205
+ msgid "Mongolia"
1206
+ msgstr ""
1207
+
1208
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:304
1209
+ msgid "Montserrat"
1210
+ msgstr ""
1211
+
1212
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:305
1213
+ msgid "Morocco"
1214
+ msgstr ""
1215
+
1216
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:306
1217
+ msgid "Mozambique"
1218
+ msgstr ""
1219
+
1220
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:307
1221
+ msgid "Union Of Myanmar"
1222
+ msgstr ""
1223
+
1224
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:308
1225
+ msgid "Namibia"
1226
+ msgstr ""
1227
+
1228
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:309
1229
+ msgid "Nauru Island"
1230
+ msgstr ""
1231
+
1232
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:310
1233
+ msgid "Nepal"
1234
+ msgstr ""
1235
+
1236
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:311
1237
+ msgid "Netherlands"
1238
+ msgstr ""
1239
+
1240
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:312
1241
+ msgid "Netherlands Antilles"
1242
+ msgstr ""
1243
+
1244
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:313
1245
+ msgid "New Caledonia"
1246
+ msgstr ""
1247
+
1248
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:314
1249
+ msgid "New Zealand"
1250
+ msgstr ""
1251
+
1252
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:315
1253
+ msgid "Nicaragua"
1254
+ msgstr ""
1255
+
1256
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:316
1257
+ msgid "Niger"
1258
+ msgstr ""
1259
+
1260
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:317
1261
+ msgid "Nigeria"
1262
+ msgstr ""
1263
+
1264
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:318
1265
+ msgid "Niue"
1266
+ msgstr ""
1267
+
1268
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:319
1269
+ msgid "Norfolk Island"
1270
+ msgstr ""
1271
+
1272
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:320
1273
+ msgid "Mariana Islands, Northern"
1274
+ msgstr ""
1275
+
1276
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:321
1277
+ msgid "Norway"
1278
+ msgstr ""
1279
+
1280
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:322
1281
+ msgid "Oman"
1282
+ msgstr ""
1283
+
1284
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:323
1285
+ msgid "Pakistan"
1286
+ msgstr ""
1287
+
1288
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:324
1289
+ msgid "Palau Islands"
1290
+ msgstr ""
1291
+
1292
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:325
1293
+ msgid "Palestine"
1294
+ msgstr ""
1295
+
1296
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:326
1297
+ msgid "Panama"
1298
+ msgstr ""
1299
+
1300
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:327
1301
+ msgid "Papua New Guinea"
1302
+ msgstr ""
1303
+
1304
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:328
1305
+ msgid "Paraguay"
1306
+ msgstr ""
1307
+
1308
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:329
1309
+ msgid "Peru"
1310
+ msgstr ""
1311
+
1312
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:330
1313
+ msgid "Philippines"
1314
+ msgstr ""
1315
+
1316
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:331
1317
+ msgid "Pitcairn"
1318
+ msgstr ""
1319
+
1320
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:332
1321
+ msgid "Poland"
1322
+ msgstr ""
1323
+
1324
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:333
1325
+ msgid "Portugal"
1326
+ msgstr ""
1327
+
1328
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:334
1329
+ msgid "Puerto Rico"
1330
+ msgstr ""
1331
+
1332
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:335
1333
+ msgid "Qatar"
1334
+ msgstr ""
1335
+
1336
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:336
1337
+ msgid "Reunion Island"
1338
+ msgstr ""
1339
+
1340
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:337
1341
+ msgid "Romania"
1342
+ msgstr ""
1343
+
1344
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:338
1345
+ msgid "Russian Federation"
1346
+ msgstr ""
1347
+
1348
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:339
1349
+ msgid "Rwanda"
1350
+ msgstr ""
1351
+
1352
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:340
1353
+ msgid "Samoa"
1354
+ msgstr ""
1355
+
1356
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:341
1357
+ msgid "St Helena"
1358
+ msgstr ""
1359
+
1360
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:342
1361
+ msgid "St Kitts & Nevis"
1362
+ msgstr ""
1363
+
1364
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:343
1365
+ msgid "St Lucia"
1366
+ msgstr ""
1367
+
1368
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:344
1369
+ msgid "St Pierre & Miquelon"
1370
+ msgstr ""
1371
+
1372
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:345
1373
+ msgid "St Vincent"
1374
+ msgstr ""
1375
+
1376
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:346
1377
+ msgid "San Marino"
1378
+ msgstr ""
1379
+
1380
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:347
1381
+ msgid "Sao Tome & Principe"
1382
+ msgstr ""
1383
+
1384
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:348
1385
+ msgid "Saudi Arabia"
1386
+ msgstr ""
1387
+
1388
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:349
1389
+ msgid "Senegal"
1390
+ msgstr ""
1391
+
1392
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:350
1393
+ msgid "Seychelles"
1394
+ msgstr ""
1395
+
1396
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:351
1397
+ msgid "Sierra Leone"
1398
+ msgstr ""
1399
+
1400
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:352
1401
+ msgid "Singapore"
1402
+ msgstr ""
1403
+
1404
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:353
1405
+ msgid "Slovakia"
1406
+ msgstr ""
1407
+
1408
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:354
1409
+ msgid "Slovenia"
1410
+ msgstr ""
1411
+
1412
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:355
1413
+ msgid "Solomon Islands"
1414
+ msgstr ""
1415
+
1416
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:356
1417
+ msgid "Somalia"
1418
+ msgstr ""
1419
+
1420
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:357
1421
+ msgid "South Africa"
1422
+ msgstr ""
1423
+
1424
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:358
1425
+ msgid "South Georgia and South Sandwich"
1426
+ msgstr ""
1427
+
1428
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:359
1429
+ msgid "Spain"
1430
+ msgstr ""
1431
+
1432
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:360
1433
+ msgid "Sri Lanka"
1434
+ msgstr ""
1435
+
1436
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:361
1437
+ msgid "Stateless Persons"
1438
+ msgstr ""
1439
+
1440
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:362
1441
+ msgid "Sudan"
1442
+ msgstr ""
1443
+
1444
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:363
1445
+ msgid "Suriname"
1446
+ msgstr ""
1447
+
1448
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:364
1449
+ msgid "Svalbard and Jan Mayen"
1450
+ msgstr ""
1451
+
1452
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:365
1453
+ msgid "Swaziland"
1454
+ msgstr ""
1455
+
1456
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:366
1457
+ msgid "Sweden"
1458
+ msgstr ""
1459
+
1460
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:367
1461
+ msgid "Switzerland"
1462
+ msgstr ""
1463
+
1464
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:368
1465
+ msgid "Syrian Arab Republic"
1466
+ msgstr ""
1467
+
1468
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:369
1469
+ msgid "Taiwan, Republic of China"
1470
+ msgstr ""
1471
+
1472
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:370
1473
+ msgid "Tajikistan"
1474
+ msgstr ""
1475
+
1476
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:371
1477
+ msgid "Tanzania"
1478
+ msgstr ""
1479
+
1480
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:372
1481
+ msgid "Thailand"
1482
+ msgstr ""
1483
+
1484
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:373
1485
+ msgid "Timor Leste"
1486
+ msgstr ""
1487
+
1488
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:374
1489
+ msgid "Togo"
1490
+ msgstr ""
1491
+
1492
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:375
1493
+ msgid "Tokelau"
1494
+ msgstr ""
1495
+
1496
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:376
1497
+ msgid "Tonga"
1498
+ msgstr ""
1499
+
1500
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:377
1501
+ msgid "Trinidad & Tobago"
1502
+ msgstr ""
1503
+
1504
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:378
1505
+ msgid "Tunisia"
1506
+ msgstr ""
1507
+
1508
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:379
1509
+ msgid "Turkey"
1510
+ msgstr ""
1511
+
1512
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:380
1513
+ msgid "Turkmenistan"
1514
+ msgstr ""
1515
+
1516
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:381
1517
+ msgid "Turks And Caicos Islands"
1518
+ msgstr ""
1519
+
1520
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:382
1521
+ msgid "Tuvalu"
1522
+ msgstr ""
1523
+
1524
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:383
1525
+ msgid "Uganda"
1526
+ msgstr ""
1527
+
1528
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:384
1529
+ msgid "Ukraine"
1530
+ msgstr ""
1531
+
1532
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:385
1533
+ msgid "United Arab Emirates"
1534
+ msgstr ""
1535
+
1536
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:386
1537
+ msgid "United Kingdom"
1538
+ msgstr ""
1539
+
1540
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:387
1541
+ msgid "US Minor Outlying Islands"
1542
+ msgstr ""
1543
+
1544
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:388
1545
+ msgid "USA"
1546
+ msgstr ""
1547
+
1548
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:389
1549
+ msgid "Upper Volta"
1550
+ msgstr ""
1551
+
1552
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:390
1553
+ msgid "Uruguay"
1554
+ msgstr ""
1555
+
1556
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:391
1557
+ msgid "Uzbekistan"
1558
+ msgstr ""
1559
+
1560
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:392
1561
+ msgid "Vanuatu"
1562
+ msgstr ""
1563
+
1564
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:393
1565
+ msgid "Vatican City State"
1566
+ msgstr ""
1567
+
1568
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:394
1569
+ msgid "Venezuela"
1570
+ msgstr ""
1571
+
1572
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:395
1573
+ msgid "Vietnam"
1574
+ msgstr ""
1575
+
1576
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:396
1577
+ msgid "Virgin Islands (British)"
1578
+ msgstr ""
1579
+
1580
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:397
1581
+ msgid "Virgin Islands (US)"
1582
+ msgstr ""
1583
+
1584
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:398
1585
+ msgid "Wallis And Futuna Islands"
1586
+ msgstr ""
1587
+
1588
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:399
1589
+ msgid "Western Sahara"
1590
+ msgstr ""
1591
+
1592
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:400
1593
+ msgid "Yemen Arab Rep."
1594
+ msgstr ""
1595
+
1596
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:401
1597
+ msgid "Yemen Democratic"
1598
+ msgstr ""
1599
+
1600
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:402
1601
+ msgid "Yugoslavia"
1602
+ msgstr ""
1603
+
1604
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:403
1605
+ msgid "Zaire"
1606
+ msgstr ""
1607
+
1608
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:404
1609
+ msgid "Zambia"
1610
+ msgstr ""
1611
+
1612
+ #: /Users/barrygetty/Work/wordpress/plugins/popover/popoverincludes/includes/functions.php:405
1613
+ msgid "Zimbabwe"
1614
+ msgstr ""
1615
+
readme.txt CHANGED
@@ -2,47 +2,47 @@
2
  Contributors: WPMUDEV
3
  Tags: buddypress, wpmu, wpmu plugin, buddypress plugin, making money, seo, Advertising, multisite, Advertising
4
  Requires at least: 3.1
5
- Tested up to: 3.3
6
- Stable tag: 3.1.4
7
 
8
- Allows you to display a fancy popup (powered as a popover!) to visitors sitewide or per blog, a *very* effective way of advertising a mailing list.
9
 
10
  == Description ==
11
 
12
- One of the most effective ways to advertise your mailing list, special offer or simply to show ads is via javascript 'pop over' on your site.
13
 
14
- And that's exactly what his easy-to-use and guaranteed-to-work plugin does.
15
 
16
- Check out the impact it has had on WPMU DEV!
 
 
 
 
 
 
 
17
 
18
- The popover ad, for WPMU DEV running on WPMU.org - which uses this plugin, delivers visitors to WPMU DEV Premium that look atdouble the number of pages and stay doubly as long as visitors that come via Adwords!
19
 
 
20
 
21
- You can either use this plugin for all pages on your entire site, by placing it in /mu-plugins/, or allow each individual blog control over it by placing it in /plugins/ - it's easy.
22
 
23
- Once you've done that, it's really simple, just activate it and visit Settings > Pop Overs.
24
 
25
- Then paste in your ad code... whether its javascript or, like us, an image.
26
 
27
- And select it's size, borders, background color, position and even font color.
28
 
29
- Then, set the display rules, namely:
 
 
 
 
 
 
30
 
31
- Show the Pop Over if one of the following checked rules is true:
32
-
33
- Visitor is not logged in.
34
-
35
- Visitor has never commented here before.
36
- Visitor did not come from an internal page.
37
- And the visitor has seen the pop over less than X times
38
-
39
- And you're good to go!
40
-
41
- And of course it even contains a link allowing users to click it and never see the popover again... just to take care of the complainers!
42
-
43
- Not that we've ever had a single complaint!
44
-
45
- Enjoy :)
46
 
47
  == Installation ==
48
 
@@ -58,16 +58,25 @@ WPMU Installation Instructions:
58
 
59
  ----------------------------------------------------------------------
60
 
61
- 1) Place the popover.php file in the mu-plugins directory
62
- 2) Place the popoverincludes in the mu-plugins directory
 
 
63
 
64
- For site-wide control, leave as is.
65
 
 
66
 
67
- For blog by blog control - comment out the PO_GLOBAL line at the top of the plugin file.
 
 
68
 
69
  == Changelog ==
70
 
 
 
 
 
71
  = 3.1.4 =
72
  * WP3.3 style updating
73
 
2
  Contributors: WPMUDEV
3
  Tags: buddypress, wpmu, wpmu plugin, buddypress plugin, making money, seo, Advertising, multisite, Advertising
4
  Requires at least: 3.1
5
+ Tested up to: 3.3.2
6
+ Stable tag: 4.3.2
7
 
8
+ Allows you to display a fancy popup (powered as a popover!) to visitors sitewide or per blog, a *very* effective way of advertising a mailing list, special offer or running a plain old ad.
9
 
10
  == Description ==
11
 
12
+ One of the most effective ways to advertise your mailing list, special offer or simply to show ads is via javascript pop over on your site. And that’s exactly what his easy-to-use and guaranteed-to-work plugin does.
13
 
14
+ Here is just a taste of what it can do:
15
 
16
+ - Display fancy pop up(s) (powered as a popover!) to visitors network wide, per site or on specific URLs
17
+ - Hassle-free interface. Creating your new pop over is as simple as adding a new post to your WordPress blog.
18
+ - Extensive options for customizing who sees your pop overs including logged out users, visitors who have never commented , search engine visitors.
19
+ - Includes optional hide a pop over forever.
20
+ - Ability to set the amount of time that passes between when the user hits your site and when the pop up displays
21
+ - Compatible with any WordPress theme. Customize the style and layout of your pop over to fit with your existing site design.
22
+ - Works perfectly with WordPress, Multisite and BuddyPress.
23
+ - Use this plugin on any WordPress project you like.
24
 
25
+ Visitors from our pop over on WPMU.org results in double the number of pages and twice the length of stay compared to visitors that come via Adwords!
26
 
27
+ And of course it even contains a link allowing users to click it and never see the popover again… just to take care of the complainers! Not that we’ve ever had a single complaint!
28
 
29
+ Like I said, we use it and now so can you!
30
 
31
+ Once installed, its really simple, just activate it and go to Pop Over > Create New to get started.
32
 
33
+ Then paste in your ad code whether its javascript or, like us, an image. And select it’s size, borders, background color, position and even font color.
34
 
35
+ Then, set the display rules, namely: Show the Pop Over if one of the following checked rules is true:
36
 
37
+ - Visitor is not logged in.
38
+ - Visitor has never commented here before.
39
+ - Visitor came from a search engine.
40
+ - Visitor did not come from an internal page.
41
+ - Visitor referrer matches
42
+ - And the visitor has seen the pop over less than X times
43
+ - Visitor is arriving from a specific link
44
 
45
+ And you’re good to go!
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
  == Installation ==
48
 
58
 
59
  ----------------------------------------------------------------------
60
 
61
+ 1) Place the popover directory in the plugins directory
62
+ 2) Network Activate the plugin
63
+
64
+ For blog by blog, leave as is.
65
 
66
+ For network wide control - add the line define('PO_GLOBAL', true); to your wp-config.php file.
67
 
68
+ == Screenshots ==
69
 
70
+ 1. The PopUp in action
71
+ 2. PopUp produces double the number of pages and twice the length of stay compared to visitors that come via Adwords
72
+ 3. Some of the settings options
73
 
74
  == Changelog ==
75
 
76
+ = 4.3.2 =
77
+ * Major rewrite
78
+ * Multiple PopUps can be created
79
+
80
  = 3.1.4 =
81
  * WP3.3 style updating
82
 
screenshot-1.png ADDED
Binary file
screenshot-2.png ADDED
Binary file
screenshot-3.png ADDED
Binary file