Gwolle Guestbook - Version 2.3.3

Version Description

  • 2017-10-06
  • Use more of esc_html function in translatable strings.
  • Add advertisement page for Add-On.
Download this release

Release Info

Developer mpol
Plugin Icon 128x128 Gwolle Guestbook
Version 2.3.3
Comparing to
See all releases

Code changes from version 2.3.2 to 2.3.3

admin/css/gwolle-gb-admin.css CHANGED
@@ -313,6 +313,15 @@ span.gwolle_gb_ajax {
313
  }
314
 
315
 
 
 
 
 
 
 
 
 
 
316
  /* Add-On */
317
  form.gwolle_gb_options.gwolle_gb_social img {
318
  margin-bottom: -8px;
313
  }
314
 
315
 
316
+ /* Add-On admin page */
317
+ #gwolle-gb-addon-screenshot {
318
+ background-image: url("../gfx/screenshot-entry-with-metabox-open.png");
319
+ width: 100%;
320
+ height: 240px;
321
+ background-size: cover;
322
+ }
323
+
324
+
325
  /* Add-On */
326
  form.gwolle_gb_options.gwolle_gb_social img {
327
  margin-bottom: -8px;
admin/gb-dashboard-widget.php CHANGED
@@ -147,7 +147,7 @@ function gwolle_gb_dashboard() {
147
 
148
  </div>
149
  <p class="textright">
150
- <a href="<?php echo $_SERVER['PHP_SELF']; ?>" class="button"><?php _e('Refresh', 'gwolle-gb'); ?></a>
151
  <a href="admin.php?page=<?php echo GWOLLE_GB_FOLDER; ?>/entries.php&amp;show=all" class="button button-primary"><?php esc_html_e('View all', 'gwolle-gb'); ?></a>
152
  <a href="admin.php?page=<?php echo GWOLLE_GB_FOLDER; ?>/entries.php&amp;show=unchecked" class="button button-primary"><?php esc_html_e('View new', 'gwolle-gb'); ?></a>
153
  </p><?php
147
 
148
  </div>
149
  <p class="textright">
150
+ <a href="<?php echo $_SERVER['PHP_SELF']; ?>" class="button"><?php esc_html_e('Refresh', 'gwolle-gb'); ?></a>
151
  <a href="admin.php?page=<?php echo GWOLLE_GB_FOLDER; ?>/entries.php&amp;show=all" class="button button-primary"><?php esc_html_e('View all', 'gwolle-gb'); ?></a>
152
  <a href="admin.php?page=<?php echo GWOLLE_GB_FOLDER; ?>/entries.php&amp;show=unchecked" class="button button-primary"><?php esc_html_e('View new', 'gwolle-gb'); ?></a>
153
  </p><?php
admin/gb-page-add-on.php ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ // No direct calls to this script
4
+ if ( strpos($_SERVER['PHP_SELF'], basename(__FILE__) )) {
5
+ die('No direct calls allowed!');
6
+ }
7
+
8
+
9
+ function gwolle_gb_addon_menu_advertisement() {
10
+
11
+ $active = is_plugin_active( 'gwolle-gb-addon/gwolle-gb-addon.php' ); // true or false
12
+ if ( ! $active ) {
13
+ add_submenu_page( GWOLLE_GB_FOLDER . '/gwolle-gb.php', esc_html__('The Add-On', 'gwolle-gb'), /* translators: Menu entry */ esc_html__('The Add-On', 'gwolle-gb'), 'moderate_comments', GWOLLE_GB_FOLDER . '/addon-settings.php', 'gwolle_gb_addon_page_advertisement' );
14
+ }
15
+ }
16
+ add_action( 'admin_menu', 'gwolle_gb_addon_menu_advertisement', 11 );
17
+
18
+
19
+ /* Metaboxes on the left. */
20
+ function gwolle_gb_addon_page_advertisement() {
21
+
22
+ if ( function_exists('current_user_can') && ! current_user_can('moderate_comments') ) {
23
+ die(esc_html__('Cheatin&#8217; uh?', 'gwolle-gb'));
24
+ }
25
+
26
+ gwolle_gb_admin_enqueue();
27
+
28
+ add_meta_box('gwolle_gb_addon_description', esc_html__('Gwolle Guestbook: The Add-On','gwolle-gb'), 'gwolle_gb_addon_description', 'gwolle_gb_addon', 'normal');
29
+ add_meta_box('gwolle_gb_addon_features', esc_html__('Features', 'gwolle-gb'), 'gwolle_gb_addon_features', 'gwolle_gb_addon', 'normal');
30
+
31
+ add_meta_box('gwolle_gb_addon_buy', esc_html__('Buy Now', 'gwolle-gb'), 'gwolle_gb_addon_buy', 'gwolle_gb_addon', 'right');
32
+ add_meta_box('gwolle_gb_addon_demo', esc_html__('Demo', 'gwolle-gb'), 'gwolle_gb_addon_demo', 'gwolle_gb_addon', 'right');
33
+
34
+ ?>
35
+ <div class="wrap gwolle_gb">
36
+ <div id="icon-gwolle-gb"><br /></div>
37
+ <h1><?php esc_html_e('Gwolle Guestbook: The Add-On', 'gwolle-gb'); ?></h1>
38
+
39
+ <div id="dashboard-widgets-wrap" class="gwolle_gb_addon">
40
+ <div id="dashboard-widgets" class="metabox-holder">
41
+ <div class="postbox-container">
42
+ <?php do_meta_boxes( 'gwolle_gb_addon', 'normal', '' ); ?>
43
+ </div>
44
+ <div class="postbox-container">
45
+ <?php do_meta_boxes( 'gwolle_gb_addon', 'right', '' ); ?>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ <?php
51
+ }
52
+
53
+
54
+ function gwolle_gb_addon_description(){
55
+ ?>
56
+ <div class="table table_content gwolle_gb">
57
+ <p><?php esc_html_e('Gwolle Guestbook: The Add-On is a commercial add-on for Gwolle Guestbook that gives extra functionality for your guestbook.','gwolle-gb'); ?></p>
58
+ </div>
59
+ <div id="gwolle-gb-addon-screenshot"><br /></div>
60
+ <?php
61
+ }
62
+
63
+
64
+ function gwolle_gb_addon_features() {
65
+ echo '<h3>
66
+ ' . esc_html__('Current features include:', 'gwolle-gb').'</h3>
67
+ <ul class="ul-disc">
68
+ <li>' . esc_html__('Meta Fields. Add any field you want; company, phone number, you name it.', 'gwolle-gb').'</li>
69
+ <li>' . esc_html__('Social Media Sharing (optional).', 'gwolle-gb').'</li>
70
+ <li>' . esc_html__('Star Ratings, with voting and display and Rich Snippets for SEO (optional).','gwolle-gb').'</li>
71
+ <li>' . esc_html__('Preview for the frontend form.','gwolle-gb').'</li>
72
+ <li>' . esc_html__('Preview for the admin editor form.','gwolle-gb').'</li>
73
+ <li>' . esc_html__('Admin reply on the frontend with AJAX.','gwolle-gb').'</li>
74
+ <li>' . esc_html__('Easy String Replacement in the default text so you can make this guestbook into a review section or anything you want.','gwolle-gb').'</li>
75
+ <li>' . esc_html__('Delete button in each entry for the moderator and author (optional).','gwolle-gb').'</li>
76
+ <li>' . esc_html__('Permalink button in each entry for easy access (optional).','gwolle-gb').'</li>
77
+ </ul>';
78
+ }
79
+
80
+
81
+ /* Metaboxes on the right. */
82
+ function gwolle_gb_addon_buy() {
83
+ ?>
84
+ <h3><?php esc_html_e('Buy the Add-On.', 'gwolle-gb'); ?></h3>
85
+ <p><?php
86
+ $link = '<a href="http://www.mojomarketplace.com/item/gwolle-gb-add-on" target="_blank">';
87
+ echo sprintf( esc_html__( 'You can buy this add-on at the %sMojo Marketplace%s for only $ 9.', 'gwolle-gb' ), $link, '</a>' ); ?><br />
88
+ <?php esc_html_e('Support for the add-on is also at the Mojo Marketplace website.','gwolle-gb'); ?>
89
+ </p>
90
+ <?php
91
+ }
92
+
93
+
94
+ function gwolle_gb_addon_demo() {
95
+ ?>
96
+ <h3><?php esc_html_e('Demo with the Add-On.', 'gwolle-gb'); ?></h3>
97
+ <p><?php
98
+ $link = '<a href="http://demo.zenoweb.nl/wordpress-plugins/gwolle-guestbook-the-add-on/" target="_blank">';
99
+ echo sprintf( esc_html__( 'The demo site of this plugin is available with the add-on enabled at %sthe demo site%s.', 'gwolle-gb' ), $link, '</a>' ); ?>
100
+ </p>
101
+
102
+ <h3><?php esc_html_e('Demo without the Add-On.', 'gwolle-gb'); ?></h3>
103
+ <p><?php
104
+ $link = '<a href="http://demo.zenoweb.nl/wordpress-plugins/gwolle-gb/" target="_blank">';
105
+ echo sprintf( esc_html__( 'For comparison you can also see the %sdemo site without the add-on%s enabled.', 'gwolle-gb' ), $link, '</a>' ); ?>
106
+ </p>
107
+ <?php
108
+ }
admin/gb-page-editor.php CHANGED
@@ -13,7 +13,7 @@ function gwolle_gb_page_editor() {
13
  global $entry;
14
 
15
  if ( function_exists('current_user_can') && !current_user_can('moderate_comments') ) {
16
- die(__('Cheatin&#8217; uh?', 'gwolle-gb'));
17
  }
18
 
19
  gwolle_gb_admin_enqueue();
@@ -385,7 +385,7 @@ function gwolle_gb_editor_postbox_content( $entry ) {
385
  <textarea rows="10" name="gwolle_gb_content" id="gwolle_gb_content" class="wp-exclude-emoji" tabindex="1" placeholder="<?php esc_html_e('Message', 'gwolle-gb'); ?>"><?php echo gwolle_gb_sanitize_output( $entry->get_content(), 'content' ); ?></textarea>
386
  <?php
387
  if (get_option('gwolle_gb-showLineBreaks', 'false') == 'false') {
388
- echo '<p>' . sprintf( __('Line breaks will not be visible to the visitors due to your <a href="%s">settings</a>.', 'gwolle-gb'), 'admin.php?page=' . GWOLLE_GB_FOLDER . '/settings.php' ) . '</p>';
389
  }
390
  $form_setting = gwolle_gb_get_setting( 'form' );
391
 
@@ -424,7 +424,7 @@ function gwolle_gb_editor_postbox_content( $entry ) {
424
  function gwolle_gb_editor_postbox_website( $entry ) {
425
  ?>
426
  <input type="url" name="gwolle_gb_author_website" tabindex="2" value="<?php echo gwolle_gb_sanitize_output( $entry->get_author_website() ); ?>" id="author_website" placeholder="<?php esc_attr_e('Website', 'gwolle-gb'); ?>" />
427
- <p><?php _e("Example: <code>http://www.example.com/</code>", 'gwolle-gb'); ?></p>
428
  <?php
429
  }
430
 
@@ -474,7 +474,7 @@ function gwolle_gb_editor_postbox_admin_reply( $entry ) {
474
 
475
  <?php
476
  if (get_option('gwolle_gb-showLineBreaks', 'false') == 'false') {
477
- echo '<p>' . sprintf( __('Line breaks will not be visible to the visitors due to your <a href="%s">settings</a>.', 'gwolle-gb'), 'admin.php?page=' . GWOLLE_GB_FOLDER . '/settings.php' ) . '</p>';
478
  }
479
  }
480
 
@@ -643,21 +643,21 @@ function gwolle_gb_editor_postbox_actions( $entry ) {
643
  function gwolle_gb_editor_postbox_details( $entry ) {
644
  ?>
645
  <p>
646
- <?php _e('Author', 'gwolle-gb'); ?>: <span><?php
647
  if ( $entry->get_author_name() ) {
648
  echo gwolle_gb_sanitize_output( $entry->get_author_name() );
649
  } else {
650
  echo '<i>(' . esc_html__('Unknown', 'gwolle-gb') . ')</i>';
651
  } ?>
652
  </span><br />
653
- <?php _e('Email', 'gwolle-gb'); ?>: <span><?php
654
  if (strlen(str_replace( ' ', '', $entry->get_author_email() )) > 0) {
655
  echo gwolle_gb_sanitize_output( $entry->get_author_email() );
656
  } else {
657
  echo '<i>(' . esc_html__('Unknown', 'gwolle-gb') . ')</i>';
658
  } ?>
659
  </span><br />
660
- <?php _e('Date and time', 'gwolle-gb'); ?>: <span><?php
661
  if ( $entry->get_datetime() > 0 ) {
662
  echo date_i18n( get_option('date_format'), $entry->get_datetime() ) . ', ';
663
  echo date_i18n( get_option('time_format'), $entry->get_datetime() );
@@ -665,7 +665,7 @@ function gwolle_gb_editor_postbox_details( $entry ) {
665
  echo '(' . esc_html__('Not yet', 'gwolle-gb') . ')';
666
  } ?>
667
  </span><br />
668
- <?php _e("Author's IP-address", 'gwolle-gb'); ?>: <span><?php
669
  if (strlen( $entry->get_author_ip() ) > 0) {
670
  echo '<a href="http://www.db.ripe.net/whois?form_type=simple&searchtext=' . $entry->get_author_ip() . '"
671
  title="' . esc_attr__('Whois search for this IP', 'gwolle-gb') . '" target="_blank">
@@ -675,14 +675,14 @@ function gwolle_gb_editor_postbox_details( $entry ) {
675
  echo '<i>(' . esc_html__('Unknown', 'gwolle-gb') . ')</i>';
676
  } ?>
677
  </span><br />
678
- <?php _e('Host', 'gwolle-gb'); ?>: <span><?php
679
  if (strlen( $entry->get_author_host() ) > 0) {
680
  echo $entry->get_author_host();
681
  } else {
682
  echo '<i>(' . esc_html__('Unknown', 'gwolle-gb') . ')</i>';
683
  } ?>
684
  </span><br />
685
- <?php _e('Book', 'gwolle-gb'); ?>: <span><?php echo $entry->get_book_id(); ?>
686
  </span><br />
687
  <span class="gwolle_gb_edit_meta">
688
  <a href="#" title="<?php esc_attr_e('Edit metadata', 'gwolle-gb'); ?>"><?php esc_html_e('Edit', 'gwolle-gb'); ?></a>
13
  global $entry;
14
 
15
  if ( function_exists('current_user_can') && !current_user_can('moderate_comments') ) {
16
+ die(esc_html__('Cheatin&#8217; uh?', 'gwolle-gb'));
17
  }
18
 
19
  gwolle_gb_admin_enqueue();
385
  <textarea rows="10" name="gwolle_gb_content" id="gwolle_gb_content" class="wp-exclude-emoji" tabindex="1" placeholder="<?php esc_html_e('Message', 'gwolle-gb'); ?>"><?php echo gwolle_gb_sanitize_output( $entry->get_content(), 'content' ); ?></textarea>
386
  <?php
387
  if (get_option('gwolle_gb-showLineBreaks', 'false') == 'false') {
388
+ echo '<p>' . sprintf( esc_html__('Line breaks will not be visible to the visitors due to your %ssettings%s.', 'gwolle-gb'), '<a href="admin.php?page=' . GWOLLE_GB_FOLDER . '/settings.php">', '</a>' ) . '</p>';
389
  }
390
  $form_setting = gwolle_gb_get_setting( 'form' );
391
 
424
  function gwolle_gb_editor_postbox_website( $entry ) {
425
  ?>
426
  <input type="url" name="gwolle_gb_author_website" tabindex="2" value="<?php echo gwolle_gb_sanitize_output( $entry->get_author_website() ); ?>" id="author_website" placeholder="<?php esc_attr_e('Website', 'gwolle-gb'); ?>" />
427
+ <p><?php echo sprintf( esc_html__('Example: %shttp://www.example.com/%s', 'gwolle-gb'), '<code>', '</code>' ); ?></p>
428
  <?php
429
  }
430
 
474
 
475
  <?php
476
  if (get_option('gwolle_gb-showLineBreaks', 'false') == 'false') {
477
+ echo '<p>' . sprintf( esc_html__('Line breaks will not be visible to the visitors due to your <a href="%s">settings</a>.', 'gwolle-gb'), 'admin.php?page=' . GWOLLE_GB_FOLDER . '/settings.php' ) . '</p>';
478
  }
479
  }
480
 
643
  function gwolle_gb_editor_postbox_details( $entry ) {
644
  ?>
645
  <p>
646
+ <?php esc_html_e('Author', 'gwolle-gb'); ?>: <span><?php
647
  if ( $entry->get_author_name() ) {
648
  echo gwolle_gb_sanitize_output( $entry->get_author_name() );
649
  } else {
650
  echo '<i>(' . esc_html__('Unknown', 'gwolle-gb') . ')</i>';
651
  } ?>
652
  </span><br />
653
+ <?php esc_html_e('Email', 'gwolle-gb'); ?>: <span><?php
654
  if (strlen(str_replace( ' ', '', $entry->get_author_email() )) > 0) {
655
  echo gwolle_gb_sanitize_output( $entry->get_author_email() );
656
  } else {
657
  echo '<i>(' . esc_html__('Unknown', 'gwolle-gb') . ')</i>';
658
  } ?>
659
  </span><br />
660
+ <?php esc_html_e('Date and time', 'gwolle-gb'); ?>: <span><?php
661
  if ( $entry->get_datetime() > 0 ) {
662
  echo date_i18n( get_option('date_format'), $entry->get_datetime() ) . ', ';
663
  echo date_i18n( get_option('time_format'), $entry->get_datetime() );
665
  echo '(' . esc_html__('Not yet', 'gwolle-gb') . ')';
666
  } ?>
667
  </span><br />
668
+ <?php esc_html_e("Author's IP-address", 'gwolle-gb'); ?>: <span><?php
669
  if (strlen( $entry->get_author_ip() ) > 0) {
670
  echo '<a href="http://www.db.ripe.net/whois?form_type=simple&searchtext=' . $entry->get_author_ip() . '"
671
  title="' . esc_attr__('Whois search for this IP', 'gwolle-gb') . '" target="_blank">
675
  echo '<i>(' . esc_html__('Unknown', 'gwolle-gb') . ')</i>';
676
  } ?>
677
  </span><br />
678
+ <?php esc_html_e('Host', 'gwolle-gb'); ?>: <span><?php
679
  if (strlen( $entry->get_author_host() ) > 0) {
680
  echo $entry->get_author_host();
681
  } else {
682
  echo '<i>(' . esc_html__('Unknown', 'gwolle-gb') . ')</i>';
683
  } ?>
684
  </span><br />
685
+ <?php esc_html_e('Book', 'gwolle-gb'); ?>: <span><?php echo $entry->get_book_id(); ?>
686
  </span><br />
687
  <span class="gwolle_gb_edit_meta">
688
  <a href="#" title="<?php esc_attr_e('Edit metadata', 'gwolle-gb'); ?>"><?php esc_html_e('Edit', 'gwolle-gb'); ?></a>
admin/gb-page-entries.php CHANGED
@@ -13,7 +13,7 @@ if ( strpos($_SERVER['PHP_SELF'], basename(__FILE__) )) {
13
  function gwolle_gb_page_entries() {
14
 
15
  if ( function_exists('current_user_can') && !current_user_can('moderate_comments') ) {
16
- die(__('Cheatin&#8217; uh?', 'gwolle-gb'));
17
  }
18
 
19
  gwolle_gb_admin_enqueue();
13
  function gwolle_gb_page_entries() {
14
 
15
  if ( function_exists('current_user_can') && !current_user_can('moderate_comments') ) {
16
+ die(esc_html__('Cheatin&#8217; uh?', 'gwolle-gb'));
17
  }
18
 
19
  gwolle_gb_admin_enqueue();
admin/gb-page-export.php CHANGED
@@ -14,7 +14,7 @@ if ( strpos($_SERVER['PHP_SELF'], basename(__FILE__) )) {
14
  function gwolle_gb_page_export() {
15
 
16
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
17
- die(__('Cheatin&#8217; uh?', 'gwolle-gb'));
18
  }
19
 
20
  gwolle_gb_admin_enqueue();
@@ -29,7 +29,7 @@ function gwolle_gb_page_export() {
29
  ?>
30
  <div class="wrap gwolle_gb">
31
  <div id="icon-gwolle-gb"><br /></div>
32
- <h1><?php _e('Export guestbook entries.', 'gwolle-gb'); ?></h1>
33
 
34
  <form name="gwolle_gb_export" id="gwolle_gb_export" method="POST" action="#" accept-charset="UTF-8">
35
  <input type="hidden" name="gwolle_gb_page" value="gwolle_gb_export" />
14
  function gwolle_gb_page_export() {
15
 
16
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
17
+ die(esc_html__('Cheatin&#8217; uh?', 'gwolle-gb'));
18
  }
19
 
20
  gwolle_gb_admin_enqueue();
29
  ?>
30
  <div class="wrap gwolle_gb">
31
  <div id="icon-gwolle-gb"><br /></div>
32
+ <h1><?php esc_html_e('Export guestbook entries.', 'gwolle-gb'); ?></h1>
33
 
34
  <form name="gwolle_gb_export" id="gwolle_gb_export" method="POST" action="#" accept-charset="UTF-8">
35
  <input type="hidden" name="gwolle_gb_page" value="gwolle_gb_export" />
admin/gb-page-gwolle-gb.php CHANGED
@@ -13,7 +13,7 @@ if ( strpos($_SERVER['PHP_SELF'], basename(__FILE__) )) {
13
  function gwolle_gb_welcome() {
14
 
15
  if ( function_exists('current_user_can') && ! current_user_can('moderate_comments') ) {
16
- die(__('Cheatin&#8217; uh?', 'gwolle-gb'));
17
  }
18
 
19
  /* Post Handling: Save notification setting */
@@ -88,7 +88,7 @@ function gwolle_gb_overview(){
88
  ?>
89
 
90
  <div class="table table_content gwolle_gb">
91
- <h3><?php _e('Overview','gwolle-gb'); ?></h3>
92
 
93
  <table>
94
  <tbody>
@@ -192,7 +192,7 @@ function gwolle_gb_overview_notification() {
192
  // Check if function mail() exists. If not, display a hint to the user.
193
  if ( ! function_exists('mail') ) {
194
  echo '<p class="setting-description">' .
195
- __('Sorry, but the function <code>mail()</code> required to notify you by mail is not enabled in your PHP configuration. You might want to install a WordPress plugin that uses SMTP instead of <code>mail()</code>. Or you can contact your hosting provider to change this.','gwolle-gb')
196
  . '</p>';
197
  }
198
  $current_user_id = get_current_user_id();;
@@ -293,19 +293,19 @@ function gwolle_gb_overview_support() {
293
  ?>
294
  <h3><?php esc_html_e('Support.', 'gwolle-gb'); ?></h3>
295
  <p><?php
296
- $support = 'https://wordpress.org/support/plugin/gwolle-gb';
297
- echo sprintf( __( 'If you have a problem or a feature request, please post it on the <a href="%s" target="_blank">support forum at wordpress.org</a>.', 'gwolle-gb' ), $support ); ?>
298
  <?php esc_html_e('I will do my best to respond as soon as possible.', 'gwolle-gb'); ?><br />
299
  <?php esc_html_e('If you send me an email, I will not reply. Please use the support forum.', 'gwolle-gb'); ?>
300
  </p>
301
 
302
  <h3><?php esc_html_e('Translations.', 'gwolle-gb'); ?></h3>
303
  <p><?php
304
- $link = 'https://translate.wordpress.org/projects/wp-plugins/gwolle-gb';
305
- echo sprintf( __( 'Translations can be added very easily through <a href="%s" target="_blank">GlotPress</a>.', 'gwolle-gb' ), $link ); echo '<br />';
306
- echo sprintf( __( "You can start translating strings there for your locale. They need to be validated though, so if there's no validator yet, and you want to apply for being validator (PTE), please post it on the <a href='%s' target='_blank'>support forum</a>.", 'gwolle-gb' ), $support ); echo '<br />';
307
- $make = 'https://make.wordpress.org/polyglots/';
308
- echo sprintf( __( 'I will make a request on <a href="%s" target="_blank">make/polyglots</a> to have you added as validator for this plugin/locale.', 'gwolle-gb' ), $make ); ?>
309
  </p>
310
  <?php
311
  }
@@ -315,8 +315,8 @@ function gwolle_gb_overview_donate() {
315
  ?>
316
  <h3><?php esc_html_e('Review this plugin.', 'gwolle-gb'); ?></h3>
317
  <p><?php
318
- $review = 'https://wordpress.org/support/view/plugin-reviews/gwolle-gb?rate=5#postform';
319
- echo sprintf( __( 'If this plugin has any value to you, then please leave a review at <a href="%s" target="_blank">the plugin page at wordpress.org</a>.', 'gwolle-gb' ), $review ); ?>
320
  </p>
321
  <?php
322
  }
13
  function gwolle_gb_welcome() {
14
 
15
  if ( function_exists('current_user_can') && ! current_user_can('moderate_comments') ) {
16
+ die(esc_html__('Cheatin&#8217; uh?', 'gwolle-gb'));
17
  }
18
 
19
  /* Post Handling: Save notification setting */
88
  ?>
89
 
90
  <div class="table table_content gwolle_gb">
91
+ <h3><?php esc_html_e('Overview','gwolle-gb'); ?></h3>
92
 
93
  <table>
94
  <tbody>
192
  // Check if function mail() exists. If not, display a hint to the user.
193
  if ( ! function_exists('mail') ) {
194
  echo '<p class="setting-description">' .
195
+ sprintf( esc_html__('Sorry, but the function %smail()%s required to notify you by mail is not enabled in your PHP configuration. You might want to install a WordPress plugin that uses SMTP instead of %smail()%s. Or you can contact your hosting provider to change this.','gwolle-gb'), '<code>', '</code>', '<code>', '</code>' )
196
  . '</p>';
197
  }
198
  $current_user_id = get_current_user_id();;
293
  ?>
294
  <h3><?php esc_html_e('Support.', 'gwolle-gb'); ?></h3>
295
  <p><?php
296
+ $support = '<a href="https://wordpress.org/support/plugin/gwolle-gb" target="_blank">';
297
+ echo sprintf( esc_html__( 'If you have a problem or a feature request, please post it on the %ssupport forum at wordpress.org%s.', 'gwolle-gb' ), $support, '</a>' ); ?>
298
  <?php esc_html_e('I will do my best to respond as soon as possible.', 'gwolle-gb'); ?><br />
299
  <?php esc_html_e('If you send me an email, I will not reply. Please use the support forum.', 'gwolle-gb'); ?>
300
  </p>
301
 
302
  <h3><?php esc_html_e('Translations.', 'gwolle-gb'); ?></h3>
303
  <p><?php
304
+ $link = '<a href="https://translate.wordpress.org/projects/wp-plugins/gwolle-gb" target="_blank">';
305
+ echo sprintf( esc_html__( 'Translations can be added very easily through %sGlotPress%s.', 'gwolle-gb' ), $link, '</a>' ); echo '<br />';
306
+ echo sprintf( esc_html__( "You can start translating strings there for your locale. They need to be validated though, so if there's no validator yet, and you want to apply for being validator (PTE), please post it on the %ssupport forum%s.", 'gwolle-gb' ), $support, '</a>' ); echo '<br />';
307
+ $make = '<a href="https://make.wordpress.org/polyglots/" target="_blank">';
308
+ echo sprintf( esc_html__( 'I will make a request on %smake/polyglots%s to have you added as validator for this plugin/locale.', 'gwolle-gb' ), $make, '</a>' ); ?>
309
  </p>
310
  <?php
311
  }
315
  ?>
316
  <h3><?php esc_html_e('Review this plugin.', 'gwolle-gb'); ?></h3>
317
  <p><?php
318
+ $review = '<a href="https://wordpress.org/support/view/plugin-reviews/gwolle-gb?rate=5#postform" target="_blank">';
319
+ echo sprintf( esc_html__( 'If this plugin has any value to you, then please leave a review at %sthe plugin page at wordpress.org.', 'gwolle-gb' ), $review, '</a>' ); ?>
320
  </p>
321
  <?php
322
  }
admin/gb-page-import.php CHANGED
@@ -115,7 +115,7 @@ function gwolle_gb_import_postbox_dms() {
115
  <li><?php esc_html_e('"is spam" flag', 'gwolle-gb'); ?></li>
116
  <li><?php esc_html_e('"is checked" flag', 'gwolle-gb'); ?></li>
117
  </ul>
118
- <?php _e('However, data such as HTML formatting is not supported by Gwolle-GB and <strong>will not</strong> be imported.', 'gwolle-gb'); ?>
119
  <br />
120
  <?php esc_html_e('The importer does not delete any data, so you can go back whenever you want.', 'gwolle-gb'); ?>
121
  </div>
@@ -160,7 +160,7 @@ function gwolle_gb_import_postbox_wp() {
160
  <li><?php esc_html_e('Message', 'gwolle-gb'); ?></li>
161
  <li><?php esc_html_e('"approved" status', 'gwolle-gb'); ?></li>
162
  </ul>
163
- <?php _e('However, data such as HTML formatting is not supported by Gwolle-GB and <strong>will not</strong> be imported.', 'gwolle-gb'); ?>
164
  <br />
165
  <?php esc_html_e('Spam comments will not be imported.', 'gwolle-gb'); ?>
166
  <br />
@@ -365,7 +365,7 @@ function gwolle_gb_page_import_post() {
365
  gwolle_gb_add_message( '<p>' . sprintf( _n('%s entry imported successfully from DMSGuestbook.','%s entries imported successfully from DMSGuestbook.', $saved, 'gwolle-gb'), $saved ) . '</p>', false, false);
366
  }
367
  } else {
368
- gwolle_gb_add_message( '<p>' . __("<strong>Nothing to import.</strong> The guestbook you've chosen does not contain any entries.", 'gwolle-gb') . '</p>', true, false);
369
  }
370
  } else {
371
  gwolle_gb_add_message( '<p>' . esc_html__("I'm sorry, but I wasn't able to find the MySQL table of DMSGuestbook.", 'gwolle-gb') . '</p>', true, false);
@@ -443,7 +443,7 @@ function gwolle_gb_page_import_post() {
443
  gwolle_gb_add_message( '<p>' . sprintf( _n('%s entry imported successfully from WordPress comments.','%s entries imported successfully from WordPress comments.', $saved, 'gwolle-gb'), $saved ) . '</p>', false, false);
444
  }
445
  } else {
446
- gwolle_gb_add_message( '<p>' . __('<strong>Nothing to import.</strong> There seem to be no comments on this page, post or at all.', 'gwolle-gb') . '</p>', true, false);
447
  }
448
  } else {
449
  gwolle_gb_add_message( '<p>' . esc_html__('No comments found. Please try again.', 'gwolle-gb') . '</p>', true, false);
115
  <li><?php esc_html_e('"is spam" flag', 'gwolle-gb'); ?></li>
116
  <li><?php esc_html_e('"is checked" flag', 'gwolle-gb'); ?></li>
117
  </ul>
118
+ <?php echo sprintf( esc_html__('However, data such as HTML formatting is not supported by Gwolle-GB and %swill not%s be imported.', 'gwolle-gb'), '<strong>', '</strong>' ); ?>
119
  <br />
120
  <?php esc_html_e('The importer does not delete any data, so you can go back whenever you want.', 'gwolle-gb'); ?>
121
  </div>
160
  <li><?php esc_html_e('Message', 'gwolle-gb'); ?></li>
161
  <li><?php esc_html_e('"approved" status', 'gwolle-gb'); ?></li>
162
  </ul>
163
+ <?php echo sprintf( esc_html__('However, data such as HTML formatting is not supported by Gwolle-GB and %swill not%s be imported.', 'gwolle-gb'), '<strong>', '</strong>' ); ?>
164
  <br />
165
  <?php esc_html_e('Spam comments will not be imported.', 'gwolle-gb'); ?>
166
  <br />
365
  gwolle_gb_add_message( '<p>' . sprintf( _n('%s entry imported successfully from DMSGuestbook.','%s entries imported successfully from DMSGuestbook.', $saved, 'gwolle-gb'), $saved ) . '</p>', false, false);
366
  }
367
  } else {
368
+ gwolle_gb_add_message( '<p>' . sprintf( esc_html__("%sNothing to import.%s The guestbook you've chosen does not contain any entries.", 'gwolle-gb'), '<strong>', '</strong>' ) . '</p>', true, false);
369
  }
370
  } else {
371
  gwolle_gb_add_message( '<p>' . esc_html__("I'm sorry, but I wasn't able to find the MySQL table of DMSGuestbook.", 'gwolle-gb') . '</p>', true, false);
443
  gwolle_gb_add_message( '<p>' . sprintf( _n('%s entry imported successfully from WordPress comments.','%s entries imported successfully from WordPress comments.', $saved, 'gwolle-gb'), $saved ) . '</p>', false, false);
444
  }
445
  } else {
446
+ gwolle_gb_add_message( '<p>' . sprintf( esc_html__('%sNothing to import.%s There seem to be no comments on this page, post or at all.', 'gwolle-gb'), '<strong>', '</strong>' ) . '</p>', true, false);
447
  }
448
  } else {
449
  gwolle_gb_add_message( '<p>' . esc_html__('No comments found. Please try again.', 'gwolle-gb') . '</p>', true, false);
admin/gb-page-settings.php CHANGED
@@ -12,7 +12,7 @@ if ( strpos($_SERVER['PHP_SELF'], basename(__FILE__) )) {
12
  function gwolle_gb_page_settings() {
13
 
14
  if ( function_exists('current_user_can') && !current_user_can('manage_options') ) {
15
- die(__('Cheatin&#8217; uh?', 'gwolle-gb'));
16
  }
17
 
18
  gwolle_gb_admin_enqueue();
@@ -39,7 +39,7 @@ function gwolle_gb_page_settings() {
39
  }
40
  if ( $verified == false ) {
41
  // Nonce is invalid.
42
- $gwolle_gb_messages .= '<p>' . __('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
43
  $gwolle_gb_errors = 'error';
44
  break;
45
  }
@@ -114,7 +114,7 @@ function gwolle_gb_page_settings() {
114
  }
115
  if ( $verified == false ) {
116
  // Nonce is invalid.
117
- $gwolle_gb_messages .= '<p>' . __('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
118
  $gwolle_gb_errors = 'error';
119
  break;
120
  }
@@ -209,7 +209,7 @@ function gwolle_gb_page_settings() {
209
  }
210
  if ( $verified == false ) {
211
  // Nonce is invalid.
212
- $gwolle_gb_messages .= '<p>' . __('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
213
  $gwolle_gb_errors = 'error';
214
  break;
215
  }
@@ -238,7 +238,7 @@ function gwolle_gb_page_settings() {
238
  }
239
  if ( $verified == false ) {
240
  // Nonce is invalid.
241
- $gwolle_gb_messages .= '<p>' . __('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
242
  $gwolle_gb_errors = 'error';
243
  break;
244
  }
@@ -319,7 +319,7 @@ function gwolle_gb_page_settings() {
319
  }
320
  if ( $verified == false ) {
321
  // Nonce is invalid.
322
- $gwolle_gb_messages .= '<p>' . __('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
323
  $gwolle_gb_errors = 'error';
324
  break;
325
  }
@@ -415,7 +415,7 @@ function gwolle_gb_page_settings() {
415
  }
416
  if ( $verified == false ) {
417
  // Nonce is invalid.
418
- $gwolle_gb_messages .= '<p>' . __('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
419
  $gwolle_gb_errors = 'error';
420
  break;
421
  }
@@ -438,7 +438,7 @@ function gwolle_gb_page_settings() {
438
  }
439
  if ( $verified == false ) {
440
  // Nonce is invalid.
441
- $gwolle_gb_messages .= '<p>' . __('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
442
  $gwolle_gb_errors = 'error';
443
  break;
444
  }
@@ -464,7 +464,7 @@ function gwolle_gb_page_settings() {
464
  <div class="wrap gwolle_gb">
465
 
466
  <div id="icon-gwolle-gb"><br /></div>
467
- <h1><?php _e('Settings', 'gwolle-gb'); ?></h1>
468
 
469
  <?php
470
  if ( $saved ) {
12
  function gwolle_gb_page_settings() {
13
 
14
  if ( function_exists('current_user_can') && !current_user_can('manage_options') ) {
15
+ die(esc_html__('Cheatin&#8217; uh?', 'gwolle-gb'));
16
  }
17
 
18
  gwolle_gb_admin_enqueue();
39
  }
40
  if ( $verified == false ) {
41
  // Nonce is invalid.
42
+ $gwolle_gb_messages .= '<p>' . esc_html__('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
43
  $gwolle_gb_errors = 'error';
44
  break;
45
  }
114
  }
115
  if ( $verified == false ) {
116
  // Nonce is invalid.
117
+ $gwolle_gb_messages .= '<p>' . esc_html__('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
118
  $gwolle_gb_errors = 'error';
119
  break;
120
  }
209
  }
210
  if ( $verified == false ) {
211
  // Nonce is invalid.
212
+ $gwolle_gb_messages .= '<p>' . esc_html__('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
213
  $gwolle_gb_errors = 'error';
214
  break;
215
  }
238
  }
239
  if ( $verified == false ) {
240
  // Nonce is invalid.
241
+ $gwolle_gb_messages .= '<p>' . esc_html__('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
242
  $gwolle_gb_errors = 'error';
243
  break;
244
  }
319
  }
320
  if ( $verified == false ) {
321
  // Nonce is invalid.
322
+ $gwolle_gb_messages .= '<p>' . esc_html__('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
323
  $gwolle_gb_errors = 'error';
324
  break;
325
  }
415
  }
416
  if ( $verified == false ) {
417
  // Nonce is invalid.
418
+ $gwolle_gb_messages .= '<p>' . esc_html__('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
419
  $gwolle_gb_errors = 'error';
420
  break;
421
  }
438
  }
439
  if ( $verified == false ) {
440
  // Nonce is invalid.
441
+ $gwolle_gb_messages .= '<p>' . esc_html__('Nonce check failed. Please try again.', 'gwolle-gb') . '</p>';
442
  $gwolle_gb_errors = 'error';
443
  break;
444
  }
464
  <div class="wrap gwolle_gb">
465
 
466
  <div id="icon-gwolle-gb"><br /></div>
467
+ <h1><?php esc_html_e('Settings', 'gwolle-gb'); ?></h1>
468
 
469
  <?php
470
  if ( $saved ) {
admin/gfx/screenshot-entry-with-metabox-open.png ADDED
Binary file
admin/tabs/gb-admintab.php CHANGED
@@ -12,7 +12,7 @@ if ( strpos($_SERVER['PHP_SELF'], basename(__FILE__) )) {
12
  function gwolle_gb_page_settingstab_admin() {
13
 
14
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
15
- die(__('Cheatin&#8217; uh?', 'gwolle-gb'));
16
  } ?>
17
 
18
  <input type="hidden" id="gwolle_gb_tab" name="gwolle_gb_tab" value="gwolle_gb_admin" />
12
  function gwolle_gb_page_settingstab_admin() {
13
 
14
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
15
+ die(esc_html__('Cheatin&#8217; uh?', 'gwolle-gb'));
16
  } ?>
17
 
18
  <input type="hidden" id="gwolle_gb_tab" name="gwolle_gb_tab" value="gwolle_gb_admin" />
admin/tabs/gb-antispamtab.php CHANGED
@@ -12,7 +12,7 @@ if ( strpos($_SERVER['PHP_SELF'], basename(__FILE__) )) {
12
  function gwolle_gb_page_settingstab_antispam() {
13
 
14
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
15
- die(__('Cheatin&#8217; uh?', 'gwolle-gb'));
16
  } ?>
17
 
18
  <input type="hidden" id="gwolle_gb_tab" name="gwolle_gb_tab" value="gwolle_gb_antispam" />
@@ -97,8 +97,8 @@ function gwolle_gb_page_settingstab_antispam() {
97
  <?php
98
  esc_html_e('This will add a Nonce to the form. It is a way to check for a human user. If it does not validate, the entry will be marked as spam.', 'gwolle-gb');
99
  echo '<br />';
100
- $link_wp = 'https://codex.wordpress.org/Wordpress_Nonce_Implementation';
101
- echo sprintf( __( 'If you want to know more about what a Nonce is and how it works, please read about it on the <a href="%s" target="_blank">WordPress Codex</a>.', 'gwolle-gb' ), $link_wp );
102
  echo '<br />';
103
  esc_html_e('If your website uses caching, it is possible that you get false-positives in your spamfolder. If this is the case, you could either disable the Nonce, or disable caching for the guestbook page.', 'gwolle-gb');
104
  ?>
@@ -147,7 +147,7 @@ function gwolle_gb_page_settingstab_antispam() {
147
  esc_html_e("Akismet helps you to fight spam. It's free and easy to install. Download and install it today to stop spam in your guestbook.", 'gwolle-gb');
148
  } elseif ( ! $wordpress_api_key) {
149
  // No WordPress API key is defined and set in the database.
150
- echo sprintf( __("Sorry, wasn't able to locate your <strong>WordPress API key</strong>. You can enter it at the <a href=\"%s\">Akismet configuration page</a>.", 'gwolle-gb'), 'options-general.php?page=akismet-key-config' );
151
  } else {
152
  // Akismet is installed and activated and a WordPress API key exists (we just assume it is valid).
153
  echo '<input ';
@@ -181,8 +181,8 @@ function gwolle_gb_page_settingstab_antispam() {
181
  <?php
182
  _e('Stop Forum Spam is an external service that acts as a spamfilter for guestbook entries.', 'gwolle-gb') . '<br />';
183
  echo '<br />';
184
- $link_wp = 'https://www.stopforumspam.com';
185
- echo sprintf( __( 'If you want to know more about Stop Form Spam and how it works, please read about it on their <a href="%s" target="_blank">website</a>.', 'gwolle-gb' ), $link_wp );
186
  ?>
187
  </span>
188
  </td>
@@ -213,8 +213,8 @@ function gwolle_gb_page_settingstab_antispam() {
213
  <?php esc_html_e('A CAPTCHA is a way to have visitors fill in a field with a few letters or numbers. It is a way to make sure that you have a human visitor and not a spambot. Not every visitor will appreciate it though, some will consider it unfriendly.', 'gwolle-gb'); ?>
214
  <br /><br />
215
  <?php
216
- $link_wp = 'https://wordpress.org/plugins/really-simple-captcha/';
217
- echo sprintf( __('For the CAPTCHA you need the plugin <a href="%s" title="Really Simple CAPTCHA plugin at wordpress.org" target="_blank">Really Simple CAPTCHA</a> installed and activated.', 'gwolle-gb'), $link_wp );
218
  if ( class_exists('ReallySimpleCaptcha') ) {
219
  echo '<br />';
220
  esc_html_e('This plugin is installed and activated, so the CAPTCHA is ready to be used.', 'gwolle-gb');
12
  function gwolle_gb_page_settingstab_antispam() {
13
 
14
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
15
+ die(esc_html__('Cheatin&#8217; uh?', 'gwolle-gb'));
16
  } ?>
17
 
18
  <input type="hidden" id="gwolle_gb_tab" name="gwolle_gb_tab" value="gwolle_gb_antispam" />
97
  <?php
98
  esc_html_e('This will add a Nonce to the form. It is a way to check for a human user. If it does not validate, the entry will be marked as spam.', 'gwolle-gb');
99
  echo '<br />';
100
+ $link_wp = '<a href="https://codex.wordpress.org/Wordpress_Nonce_Implementation" target="_blank">';
101
+ echo sprintf( esc_html__( 'If you want to know more about what a Nonce is and how it works, please read about it on the %sWordPress Codex%s.', 'gwolle-gb' ), $link_wp, '</a>' );
102
  echo '<br />';
103
  esc_html_e('If your website uses caching, it is possible that you get false-positives in your spamfolder. If this is the case, you could either disable the Nonce, or disable caching for the guestbook page.', 'gwolle-gb');
104
  ?>
147
  esc_html_e("Akismet helps you to fight spam. It's free and easy to install. Download and install it today to stop spam in your guestbook.", 'gwolle-gb');
148
  } elseif ( ! $wordpress_api_key) {
149
  // No WordPress API key is defined and set in the database.
150
+ echo sprintf( esc_html__("Sorry, wasn't able to locate your %sWordPress API key%s. You can enter it at the %sAkismet configuration page%s.", 'gwolle-gb'), '<strong>', '</strong>', '<a href="options-general.php?page=akismet-key-config">', '</a>' );
151
  } else {
152
  // Akismet is installed and activated and a WordPress API key exists (we just assume it is valid).
153
  echo '<input ';
181
  <?php
182
  _e('Stop Forum Spam is an external service that acts as a spamfilter for guestbook entries.', 'gwolle-gb') . '<br />';
183
  echo '<br />';
184
+ $link_wp = '<a href="https://www.stopforumspam.com" target="_blank">';
185
+ echo sprintf( esc_html__( 'If you want to know more about Stop Form Spam and how it works, please read about it on their %swebsite%s.', 'gwolle-gb' ), $link_wp, '</a>' );
186
  ?>
187
  </span>
188
  </td>
213
  <?php esc_html_e('A CAPTCHA is a way to have visitors fill in a field with a few letters or numbers. It is a way to make sure that you have a human visitor and not a spambot. Not every visitor will appreciate it though, some will consider it unfriendly.', 'gwolle-gb'); ?>
214
  <br /><br />
215
  <?php
216
+ $link_wp = '<a href="https://wordpress.org/plugins/really-simple-captcha/" title="' . esc_attr__('Really Simple CAPTCHA plugin at wordpress.org', 'gwolle-gb') . '" target="_blank">';
217
+ echo sprintf( esc_html__('For the CAPTCHA you need the plugin %sReally Simple CAPTCHA%s installed and activated.', 'gwolle-gb'), $link_wp, '</a>' );
218
  if ( class_exists('ReallySimpleCaptcha') ) {
219
  echo '<br />';
220
  esc_html_e('This plugin is installed and activated, so the CAPTCHA is ready to be used.', 'gwolle-gb');
admin/tabs/gb-debugtab.php CHANGED
@@ -14,7 +14,7 @@ if ( strpos($_SERVER['PHP_SELF'], basename(__FILE__) )) {
14
  function gwolle_gb_page_settingstab_debug( $debug_test ) {
15
 
16
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
17
- die(__('Cheatin&#8217; uh?', 'gwolle-gb'));
18
  } ?>
19
 
20
  <input type="hidden" id="gwolle_gb_tab" name="gwolle_gb_tab" value="gwolle_gb_debug" />
14
  function gwolle_gb_page_settingstab_debug( $debug_test ) {
15
 
16
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
17
+ die(esc_html__('Cheatin&#8217; uh?', 'gwolle-gb'));
18
  } ?>
19
 
20
  <input type="hidden" id="gwolle_gb_tab" name="gwolle_gb_tab" value="gwolle_gb_debug" />
admin/tabs/gb-emailtab.php CHANGED
@@ -12,7 +12,7 @@ if ( strpos($_SERVER['PHP_SELF'], basename(__FILE__) )) {
12
  function gwolle_gb_page_settingstab_email() {
13
 
14
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
15
- die(__('Cheatin&#8217; uh?', 'gwolle-gb'));
16
  } ?>
17
 
18
  <input type="hidden" id="gwolle_gb_tab" name="gwolle_gb_tab" value="gwolle_gb_mail" />
@@ -142,7 +142,7 @@ Entry content:
142
  <textarea name="adminMailContent" id="adminMailContent" style="width:400px;height:300px;" class="regular-text"><?php echo $mailText; ?></textarea>
143
  <br />
144
  <span class="setting-description">
145
- <?php _e('You can set the content of the mail that a notification subscriber gets on new entries. The following tags are supported:', 'gwolle-gb');
146
  echo '<br />';
147
  $mailTags = array( 'user_email', 'user_name', 'entry_management_url', 'blog_name', 'blog_url', 'wp_admin_url', 'entry_content', 'status', 'author_ip', 'author_origin' );
148
  for ($i = 0; $i < count($mailTags); $i++) {
12
  function gwolle_gb_page_settingstab_email() {
13
 
14
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
15
+ die(esc_html__('Cheatin&#8217; uh?', 'gwolle-gb'));
16
  } ?>
17
 
18
  <input type="hidden" id="gwolle_gb_tab" name="gwolle_gb_tab" value="gwolle_gb_mail" />
142
  <textarea name="adminMailContent" id="adminMailContent" style="width:400px;height:300px;" class="regular-text"><?php echo $mailText; ?></textarea>
143
  <br />
144
  <span class="setting-description">
145
+ <?php esc_html_e('You can set the content of the mail that a notification subscriber gets on new entries. The following tags are supported:', 'gwolle-gb');
146
  echo '<br />';
147
  $mailTags = array( 'user_email', 'user_name', 'entry_management_url', 'blog_name', 'blog_url', 'wp_admin_url', 'entry_content', 'status', 'author_ip', 'author_origin' );
148
  for ($i = 0; $i < count($mailTags); $i++) {
admin/tabs/gb-formtab.php CHANGED
@@ -12,7 +12,7 @@ if ( strpos($_SERVER['PHP_SELF'], basename(__FILE__) )) {
12
  function gwolle_gb_page_settingstab_form() {
13
 
14
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
15
- die(__('Cheatin&#8217; uh?', 'gwolle-gb'));
16
  } ?>
17
 
18
  <input type="hidden" id="gwolle_gb_tab" name="gwolle_gb_tab" value="gwolle_gb_forms" />
12
  function gwolle_gb_page_settingstab_form() {
13
 
14
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
15
+ die(esc_html__('Cheatin&#8217; uh?', 'gwolle-gb'));
16
  } ?>
17
 
18
  <input type="hidden" id="gwolle_gb_tab" name="gwolle_gb_tab" value="gwolle_gb_forms" />
admin/tabs/gb-readingtab.php CHANGED
@@ -12,7 +12,7 @@ if ( strpos($_SERVER['PHP_SELF'], basename(__FILE__) )) {
12
  function gwolle_gb_page_settingstab_reading() {
13
 
14
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
15
- die(__('Cheatin&#8217; uh?', 'gwolle-gb'));
16
  } ?>
17
 
18
  <input type="hidden" id="gwolle_gb_tab" name="gwolle_gb_tab" value="gwolle_gb_reading" />
@@ -110,7 +110,7 @@ function gwolle_gb_page_settingstab_reading() {
110
  </tr>
111
 
112
  <tr valign="top">
113
- <th scope="row"><label for="linkAuthorWebsite"><?php _e('Links', 'gwolle-gb'); ?></label></th>
114
  <td>
115
  <input type="checkbox" id="linkAuthorWebsite" name="linkAuthorWebsite"<?php
116
  if ( get_option( 'gwolle_gb-linkAuthorWebsite', 'true' ) === 'true' ) {
12
  function gwolle_gb_page_settingstab_reading() {
13
 
14
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
15
+ die(esc_html__('Cheatin&#8217; uh?', 'gwolle-gb'));
16
  } ?>
17
 
18
  <input type="hidden" id="gwolle_gb_tab" name="gwolle_gb_tab" value="gwolle_gb_reading" />
110
  </tr>
111
 
112
  <tr valign="top">
113
+ <th scope="row"><label for="linkAuthorWebsite"><?php esc_html_e('Links', 'gwolle-gb'); ?></label></th>
114
  <td>
115
  <input type="checkbox" id="linkAuthorWebsite" name="linkAuthorWebsite"<?php
116
  if ( get_option( 'gwolle_gb-linkAuthorWebsite', 'true' ) === 'true' ) {
admin/tabs/gb-uninstalltab.php CHANGED
@@ -15,7 +15,7 @@ if ( strpos($_SERVER['PHP_SELF'], basename(__FILE__) )) {
15
  function gwolle_gb_page_settingstab_uninstall( $uninstalled ) {
16
 
17
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
18
- die(__('Cheatin&#8217; uh?', 'gwolle-gb'));
19
  }
20
  if ( function_exists('is_multisite') && is_multisite() ) {
21
  return;
@@ -36,7 +36,7 @@ function gwolle_gb_page_settingstab_uninstall( $uninstalled ) {
36
  <?php
37
  if ( $uninstalled == true ) { ?>
38
  <tr valign="top">
39
- <th scope="row"><?php _e('Message', 'gwolle-gb'); ?></th>
40
  <td>
41
  <div id="message" class="updated error fade">
42
  <p><?php esc_html_e('The entries and settings have been removed.', 'gwolle-gb'); ?></p>
@@ -58,11 +58,11 @@ function gwolle_gb_page_settingstab_uninstall( $uninstalled ) {
58
  ?>
59
 
60
  <tr valign="top">
61
- <th scope="row" style="color:#FF0000;"><label for="blogdescription"><?php _e('Uninstall', 'gwolle-gb'); ?></label></th>
62
  <td>
63
  <?php esc_html_e('Uninstalling means that all database entries are removed (settings and entries).', 'gwolle-gb');
64
  echo '<br />';
65
- esc_html_e('This can <strong>not</strong> be undone.', 'gwolle-gb');
66
  ?>
67
  </td>
68
  </tr>
15
  function gwolle_gb_page_settingstab_uninstall( $uninstalled ) {
16
 
17
  if ( function_exists('current_user_can') && ! current_user_can('manage_options') ) {
18
+ die(esc_html__('Cheatin&#8217; uh?', 'gwolle-gb'));
19
  }
20
  if ( function_exists('is_multisite') && is_multisite() ) {
21
  return;
36
  <?php
37
  if ( $uninstalled == true ) { ?>
38
  <tr valign="top">
39
+ <th scope="row"><?php esc_html_e('Message', 'gwolle-gb'); ?></th>
40
  <td>
41
  <div id="message" class="updated error fade">
42
  <p><?php esc_html_e('The entries and settings have been removed.', 'gwolle-gb'); ?></p>
58
  ?>
59
 
60
  <tr valign="top">
61
+ <th scope="row" style="color:#FF0000;"><label for="blogdescription"><?php esc_html_e('Uninstall', 'gwolle-gb'); ?></label></th>
62
  <td>
63
  <?php esc_html_e('Uninstalling means that all database entries are removed (settings and entries).', 'gwolle-gb');
64
  echo '<br />';
65
+ _e('This can <strong>not</strong> be undone.', 'gwolle-gb');
66
  ?>
67
  </td>
68
  </tr>
docs/filters/gwolle_gb_author_name_html.txt CHANGED
@@ -2,7 +2,7 @@
2
 
3
  ==Description==
4
 
5
- The <b>"gwolle_gb_author_name_html"</b> filter is used to change the text of the label for the input for antispam at the frontend. It is used for the Custom antispam question and the CAPTCHA.
6
 
7
  You can use this filter as:
8
 
2
 
3
  ==Description==
4
 
5
+ The <b>"gwolle_gb_author_name_html"</b> filter is used to change the html text of the author name in each entry. It can contain the website address or even the email address if desired.
6
 
7
  You can use this filter as:
8
 
docs/filters/gwolle_gb_entry_metabox_lines.txt CHANGED
@@ -24,7 +24,7 @@ function my_gwolle_gb_entry_metabox_lines_edit_link( $gb_metabox, $entry ) {
24
  if ( function_exists('current_user_can') && current_user_can('moderate_comments') ) {
25
  $gb_metabox .= '
26
  <div class="gb-metabox-line">
27
- <a class="gwolle_gb_edit_link" href="' . admin_url('admin.php?page=' . GWOLLE_GB_FOLDER . '/editor.php&amp;entry_id=' . $entry->get_id() ) . '" title="' . __('Edit entry', 'gwolle-gb') . '">' . __('Edit', 'gwolle-gb') . '</a>
28
  </div>';
29
  }
30
  return $gb_metabox;
24
  if ( function_exists('current_user_can') && current_user_can('moderate_comments') ) {
25
  $gb_metabox .= '
26
  <div class="gb-metabox-line">
27
+ <a class="gwolle_gb_edit_link" href="' . admin_url('admin.php?page=' . GWOLLE_GB_FOLDER . '/editor.php&amp;entry_id=' . $entry->get_id() ) . '" title="' . esc_html__('Edit entry', 'gwolle-gb') . '">' . esc_html__('Edit', 'gwolle-gb') . '</a>
28
  </div>';
29
  }
30
  return $gb_metabox;
docs/filters/gwolle_gb_mail_author_on_admin_reply_subject.txt CHANGED
@@ -18,7 +18,7 @@ Where 'filter_function_name' is the function WordPress should call when the filt
18
 
19
  function my_gwolle_gb_mail_author_on_admin_reply( $subject ) {
20
  // this is the default;
21
- $subject = '[' . gwolle_gb_format_values_for_mail(get_bloginfo('name')) . '] ' . __('Admin Reply', 'gwolle-gb');
22
  return $subject;
23
  }
24
  add_filter( 'gwolle_gb_mail_author_on_admin_reply', 'my_gwolle_gb_mail_author_on_admin_reply', 10,1 );
18
 
19
  function my_gwolle_gb_mail_author_on_admin_reply( $subject ) {
20
  // this is the default;
21
+ $subject = '[' . gwolle_gb_format_values_for_mail(get_bloginfo('name')) . '] ' . esc_html__('Admin Reply', 'gwolle-gb');
22
  return $subject;
23
  }
24
  add_filter( 'gwolle_gb_mail_author_on_admin_reply', 'my_gwolle_gb_mail_author_on_admin_reply', 10,1 );
docs/filters/gwolle_gb_mail_author_subject.txt CHANGED
@@ -18,7 +18,7 @@ Where 'filter_function_name' is the function WordPress should call when the filt
18
 
19
  function my_gwolle_gb_mail_author( $subject ) {
20
  // this is the default;
21
- $subject = '[' . gwolle_gb_format_values_for_mail(get_bloginfo('name')) . '] ' . __('New Guestbook Entry', 'gwolle-gb');
22
  return $subject;
23
  }
24
  add_filter( 'gwolle_gb_mail_author', 'my_gwolle_gb_mail_author', 10,1 );
18
 
19
  function my_gwolle_gb_mail_author( $subject ) {
20
  // this is the default;
21
+ $subject = '[' . gwolle_gb_format_values_for_mail(get_bloginfo('name')) . '] ' . esc_html__('New Guestbook Entry', 'gwolle-gb');
22
  return $subject;
23
  }
24
  add_filter( 'gwolle_gb_mail_author', 'my_gwolle_gb_mail_author', 10,1 );
docs/filters/gwolle_gb_mail_moderator_subject.txt CHANGED
@@ -18,7 +18,7 @@ Where 'filter_function_name' is the function WordPress should call when the filt
18
 
19
  function my_gwolle_gb_mail_moderators_subject( $subject ) {
20
  // this is the default;
21
- $subject = '[' . gwolle_gb_format_values_for_mail(get_bloginfo('name')) . '] ' . __('New Guestbook Entry', 'gwolle-gb');
22
  return $subject;
23
  }
24
  add_filter( 'gwolle_gb_mail_moderators_subject', 'my_gwolle_gb_mail_moderators_subject', 10,1 );
18
 
19
  function my_gwolle_gb_mail_moderators_subject( $subject ) {
20
  // this is the default;
21
+ $subject = '[' . gwolle_gb_format_values_for_mail(get_bloginfo('name')) . '] ' . esc_html__('New Guestbook Entry', 'gwolle-gb');
22
  return $subject;
23
  }
24
  add_filter( 'gwolle_gb_mail_moderators_subject', 'my_gwolle_gb_mail_moderators_subject', 10,1 );
frontend/gb-form.php CHANGED
@@ -473,7 +473,7 @@ function gwolle_gb_frontend_write( $shortcode_atts, $shortcode ) {
473
 
474
  $notice = gwolle_gb_sanitize_output( get_option('gwolle_gb-notice', false), 'setting_textarea' );
475
  if ( $notice == false ) { // No text set by the user. Use the default text.
476
- $notice = __("
477
  Fields marked with * are required.
478
  Your E-mail address won't be published.
479
  For security reasons we save the IP address %ip%.
473
 
474
  $notice = gwolle_gb_sanitize_output( get_option('gwolle_gb-notice', false), 'setting_textarea' );
475
  if ( $notice == false ) { // No text set by the user. Use the default text.
476
+ $notice = esc_html__("
477
  Fields marked with * are required.
478
  Your E-mail address won't be published.
479
  For security reasons we save the IP address %ip%.
frontend/gb-read.php CHANGED
@@ -134,7 +134,7 @@ function gwolle_gb_frontend_read( $shortcode_atts, $shortcode ) {
134
 
135
  /* Entries from the template */
136
  if ( !is_array($entries) || empty($entries) ) {
137
- $no_entries = apply_filters( 'gwolle_gb_read_no_entries', __('(no entries yet)', 'gwolle-gb') );
138
  $output .= '<div id="gwolle_gb_entries" class="' . $entries_list_class . '" data-book_id="' . $shortcode_atts['book_id'] . '">';
139
  $output .= $no_entries;
140
  $output .= '</div>';
134
 
135
  /* Entries from the template */
136
  if ( !is_array($entries) || empty($entries) ) {
137
+ $no_entries = apply_filters( 'gwolle_gb_read_no_entries', esc_html__('(no entries yet)', 'gwolle-gb') );
138
  $output .= '<div id="gwolle_gb_entries" class="' . $entries_list_class . '" data-book_id="' . $shortcode_atts['book_id'] . '">';
139
  $output .= $no_entries;
140
  $output .= '</div>';
functions/gb-debug.php CHANGED
@@ -20,7 +20,7 @@ function gwolle_gb_debug_info() {
20
  } ?>
21
 
22
  <tr>
23
- <th><?php _e('WordPress version:', 'gwolle-gb'); ?></th>
24
  <td><?php echo $wp_version . ' (db: ' . $wp_db_version . ')'; ?></td>
25
  </tr>
26
 
@@ -49,7 +49,7 @@ function gwolle_gb_debug_info() {
49
  echo PHP_VERSION;
50
  if ( version_compare( PHP_VERSION, '5.3', '<' ) ) {
51
  // PHP 5.2 is insecure, urge for an upgrade.
52
- echo '<br />' . __( 'You have a very old version of PHP. Please contact your hosting provider and request an upgrade.', 'gwolle-gb' );
53
  } ?>
54
  </td>
55
  </tr>
20
  } ?>
21
 
22
  <tr>
23
+ <th><?php esc_html_e('WordPress version:', 'gwolle-gb'); ?></th>
24
  <td><?php echo $wp_version . ' (db: ' . $wp_db_version . ')'; ?></td>
25
  </tr>
26
 
49
  echo PHP_VERSION;
50
  if ( version_compare( PHP_VERSION, '5.3', '<' ) ) {
51
  // PHP 5.2 is insecure, urge for an upgrade.
52
+ echo '<br />' . esc_html__( 'You have a very old version of PHP. Please contact your hosting provider and request an upgrade.', 'gwolle-gb' );
53
  } ?>
54
  </td>
55
  </tr>
functions/gb-shortcake.php CHANGED
@@ -14,7 +14,7 @@ function gwolle_gb_shortcode_ui() {
14
  if ( function_exists( 'shortcode_ui_register_for_shortcode' ) ) {
15
  if ( isset($_GET['post']) ) {
16
  $postid = (int) $_GET['post'];
17
- $description = esc_html( sprintf( __( 'Book ID for when using multiple guestbooks. Default is 1. Your current post ID is %d.', 'gwolle-gb' ), $postid ) );
18
  } else {
19
  $description = esc_html__( 'Book ID for when using multiple guestbooks. Default is 1.', 'gwolle-gb' );
20
  }
14
  if ( function_exists( 'shortcode_ui_register_for_shortcode' ) ) {
15
  if ( isset($_GET['post']) ) {
16
  $postid = (int) $_GET['post'];
17
+ $description = sprintf( esc_html__( 'Book ID for when using multiple guestbooks. Default is 1. Your current post ID is %d.', 'gwolle-gb' ), $postid );
18
  } else {
19
  $description = esc_html__( 'Book ID for when using multiple guestbooks. Default is 1.', 'gwolle-gb' );
20
  }
gwolle-gb.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Gwolle Guestbook
4
  Plugin URI: http://zenoweb.nl
5
  Description: Gwolle Guestbook is not just another guestbook for WordPress. The goal is to provide an easy and slim way to integrate a guestbook into your WordPress powered site. Don't use your 'comment' section the wrong way - install Gwolle Guestbook and have a real guestbook.
6
- Version: 2.3.2
7
  Author: Marcel Pol
8
  Author URI: http://zenoweb.nl
9
  License: GPLv2 or later
@@ -32,7 +32,7 @@ Domain Path: /lang/
32
 
33
 
34
  // Plugin Version
35
- define('GWOLLE_GB_VER', '2.3.2');
36
 
37
 
38
  /*
@@ -97,6 +97,7 @@ include_once( GWOLLE_GB_DIR . '/frontend/gb-widget.php' );
97
  // Functions and pages for the backend
98
  include_once( GWOLLE_GB_DIR . '/admin/gb-ajax-management.php' );
99
  include_once( GWOLLE_GB_DIR . '/admin/gb-dashboard-widget.php' );
 
100
  include_once( GWOLLE_GB_DIR . '/admin/gb-page-editor.php' );
101
  include_once( GWOLLE_GB_DIR . '/admin/gb-page-entries.php' );
102
  include_once( GWOLLE_GB_DIR . '/admin/gb-page-export.php' );
3
  Plugin Name: Gwolle Guestbook
4
  Plugin URI: http://zenoweb.nl
5
  Description: Gwolle Guestbook is not just another guestbook for WordPress. The goal is to provide an easy and slim way to integrate a guestbook into your WordPress powered site. Don't use your 'comment' section the wrong way - install Gwolle Guestbook and have a real guestbook.
6
+ Version: 2.3.3
7
  Author: Marcel Pol
8
  Author URI: http://zenoweb.nl
9
  License: GPLv2 or later
32
 
33
 
34
  // Plugin Version
35
+ define('GWOLLE_GB_VER', '2.3.3');
36
 
37
 
38
  /*
97
  // Functions and pages for the backend
98
  include_once( GWOLLE_GB_DIR . '/admin/gb-ajax-management.php' );
99
  include_once( GWOLLE_GB_DIR . '/admin/gb-dashboard-widget.php' );
100
+ include_once( GWOLLE_GB_DIR . '/admin/gb-page-add-on.php' );
101
  include_once( GWOLLE_GB_DIR . '/admin/gb-page-editor.php' );
102
  include_once( GWOLLE_GB_DIR . '/admin/gb-page-entries.php' );
103
  include_once( GWOLLE_GB_DIR . '/admin/gb-page-export.php' );
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: Gwolle, mpol
3
  Tags: guestbook, guest book, livre d'or, Gästebuch, libro de visitas
4
  Requires at least: 3.7
5
  Tested up to: 4.8
6
- Stable tag: 2.3.2
7
  License: GPLv2 or later
8
 
9
  Gwolle Guestbook is the WordPress guestbook you've just been looking for. Beautiful and easy.
@@ -67,11 +67,30 @@ have you added as validator for this plugin/locale.
67
 
68
  = Demo =
69
 
70
- Check out the demo at [http://demo.zenoweb.nl](http://demo.zenoweb.nl/wordpress-plugins/gwolle-gb/)
71
 
72
  = Add-On =
73
 
74
- There is an Add-On coming called "Gwolle Guestbook: The Add-On".
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
 
76
  == Installation ==
77
 
@@ -369,6 +388,11 @@ But if you don't use standard comments, you can just as easily use the comment s
369
 
370
  == Changelog ==
371
 
 
 
 
 
 
372
  = 2.3.2 =
373
  * 2017-09-06
374
  * Editor: also save when no change was made.
3
  Tags: guestbook, guest book, livre d'or, Gästebuch, libro de visitas
4
  Requires at least: 3.7
5
  Tested up to: 4.8
6
+ Stable tag: 2.3.3
7
  License: GPLv2 or later
8
 
9
  Gwolle Guestbook is the WordPress guestbook you've just been looking for. Beautiful and easy.
67
 
68
  = Demo =
69
 
70
+ Check out the demo at [http://demo.zenoweb.nl](http://demo.zenoweb.nl/wordpress-plugins/gwolle-gb/).
71
 
72
  = Add-On =
73
 
74
+ Gwolle Guestbook: The Add-On is the add-on for Gwolle Guestbook that gives extra functionality for your guestbook.
75
+
76
+ Current features include:
77
+
78
+ * Meta Fields. Add any field you want; company, phone number, you name it.
79
+ * Social Media Sharing (optional).
80
+ * Star Ratings, with voting and display and Rich Snippets for SEO (optional).
81
+ * Preview for the frontend form.
82
+ * Preview for the admin editor form.
83
+ * Admin reply on the frontend with AJAX.
84
+ * Easy String Replacement in the default text so you can make this guestbook into a review section or anything you want.
85
+ * Delete button in each entry for the moderator and author (optional).
86
+ * Permalink button in each entry for easy access (optional).
87
+
88
+ You can buy the Add-On at [Mojo Marketplace](http://www.mojomarketplace.com/item/gwolle-gb-add-on) for only $ 9.
89
+
90
+ = Demo with Add-On =
91
+
92
+ Check out the demo with the Add-On enabled at at [http://demo.zenoweb.nl](http://demo.zenoweb.nl/wordpress-plugins/gwolle-guestbook-the-add-on/).
93
+
94
 
95
  == Installation ==
96
 
388
 
389
  == Changelog ==
390
 
391
+ = 2.3.3 =
392
+ * 2017-10-06
393
+ * Use more of esc_html function in translatable strings.
394
+ * Add advertisement page for Add-On.
395
+
396
  = 2.3.2 =
397
  * 2017-09-06
398
  * Editor: also save when no change was made.