WP Photo Album Plus - Version 7.3.04.004

Version Description

= 7.3.04 =

  • This version addresses various bug fixes and feature requests.

= 7.3.03 =

  • This version addresses various bug fixes and feature requests.

= 7.3.02 =

  • This version addresses various bug fixes and feature requests.

= 7.3.01 =

  • This version addresses various bug fixes, feature requests and performance enhancements.

= 7.3.00 =

  • This version addresses various bug fixes and performance enhancements.

= 7.2.14 =

  • This version addresses various bug fixes and feature requests.

= 7.2.13 =

  • This version addresses various bug fixes and feature requests.

= 7.2.12 =

  • This version addresses various bug fixes and feature requests.

= 7.2.11 =

  • This version addresses various bug fixes and feature requests.

= 7.2.10 =

  • This version addresses various bug fixes and feature requests.

= 7.2.09 =

  • This version addresses various bug fixes and feature requests.

= 7.2.08 =

  • This version addresses various bug fixes.

= 7.2.07 =

  • This version addresses various bug fixes.

= 7.2.06 =

  • This version addresses various bug fixes and feature requests.
  • This version addresses various security issues.

= 7.2.05 =

  • This version addresses various bug fixes and feature requests.
  • This version addresses various security issues.

= 7.2.04 =

  • This version addresses various bug fixes and feature requests.

= 7.2.03 =

  • This version addresses various bug fixes and feature requests.

= 7.2.02 =

  • This version addresses various bug fixes and feature requests.

= 7.2.01 =

  • This version addresses various bug fixes and feature requests.

= 7.2.00 =

  • This version addresses various bug fixes and feature requests.

= 7.1.11 =

  • This version addresses various bug fixes and feature requests.

= 7.1.10 =

  • This version addresses various bug fixes and feature requests.

= 7.1.09 =

  • This version addresses various bug fixes and feature requests.

= 7.1.08 =

  • This version addresses various bug fixes and feature requests.

= 7.1.07 =

  • This version addresses various bug fixes and feature requests.

= 7.1.06 =

  • This version addresses various bug fixes and feature requests.

= 7.1.05 =

  • This version addresses various security issues.
  • This version addresses various bug fixes.

= 7.1.04 =

  • This version addresses various bug fixes.

= 7.1.03 =

  • This version addresses various security issues.
  • This version addresses various bug fixes.

= 7.1.02 =

  • This version addresses various security issues.
  • This version addresses various bug fixes and feature requests.

= 7.1.01 =

  • This version addresses various bug fixes and feature requests.

= 7.1.00 =

  • This version addresses various bug fixes and feature requests.
  • The Photo Album -> Upload Photos and Import Photos admin pages have been substantially improved. Read the changelog for details.

= 7.0.11 =

  • This version addresses various bug fixes and feature requests.

= 7.0.11 =

  • This version addresses various bug fixes

= 7.0.10 =

  • This version addresses various bug fixes

= 7.0.09 =

  • This version addresses various security issues.
  • This version addresses various bug fixes and feature requests.

= 7.0.08 =

  • This version addresses various security issues.
  • This version addresses various bug fixes

= 7.0.07 =

  • This version addresses various security issues.
  • This version addresses various bug fixes

= 7.0.06 =

  • This version addresses various bug fixes
  • This version addresses various security issues.

= 7.0.05 =

  • This version addresses various minor bug fixes and feature requests.
  • This version addresses various security issues.

= 7.0.04 =

  • This version addresses various bug fixes
  • This version addresses various security issues.

= 7.0.03 =

  • This version addresses various minor bug fixes and feature requests.

= 7.0.02 =

  • This version addresses various bug fixes
  • This version addresses various security issues.

= 7.0.01 =

  • This version addresses various minor bug fixes and feature requests.

= 7.0.00 =

  • Shortcode generators for Gutenberg added.
  • This version addresses various minor bug fixes and feature requests.
  • This version addresses various security issues.
  • To prevent spamming and give the users the opportunity to decide when they want us to email them, the mailing system has been revised. Configure Table IX-M to enable various mailing lists, and use the WPPA+ Notify widget for full user flexibility.

= 6.9.21 =

  • This version addresses various bug fixes
  • This version addresses various security issues.

= 6.9.20 =

  • This version addresses various bug fixes

= 6.9.19 =

  • This version addresses various minor bug fixes

= 6.9.18 =

  • This version addresses various minor bug fixes

= 6.9.17 =

  • This version addresses various minor bug fixes and feature requests.
  • This version addresses various security issues.

= 6.9.16 =

  • This version addresses various minor bug fixes and feature requests.
  • This version addresses various security issues.

= 6.9.15 =

  • This version addresses various minor bug fixes and feature requests.
  • This version addresses various security issues.

= 6.9.14 =

  • This version addresses various minor bug fixes and feature requests.
  • This version addresses various security issues.

= 6.9.13 =

  • Security release.

= 6.9.12 =

  • This version addresses various minor bug fixes and performance improvements.

= 6.9.11 =

  • This version addresses various minor bug fixes and performance improvements.

= 6.9.10 =

  • This version addresses various minor bug fixes and performance improvements.

= 6.9.09 =

  • Panorama support phase III.

= 6.9.08 =

  • This version addresses various minor bug fixes and feature requests.
  • Panorama support phase II.

= 6.9.07 =

  • This version addresses various minor bug fixes and feature requests.
  • Panorama support phase I.

= 6.9.06 =

  • This version addresses various minor bug fixes and feature requests.

= 6.9.05 =

  • This version addresses various minor bug fixes and feature requests.

= 6.9.04 =

  • This version addresses various minor bug fixes and feature requests.
  • Local CDN functionality has been added.

= 6.9.03 =

  • This version addresses various minor bug fixes and feature requests.

= 6.9.02 =

  • This version addresses various minor bug fixes and feature requests.

= 6.9.01 =

  • This version addresses various minor bug fixes and feature requests.

= 6.9.00 =

  • This version includes the code for the privacy policy requirements.

= 6.8.09

  • This version addresses various bug fixes and code edits.

= 6.8.08 =

  • This version addresses various minor bug fixes and feature requests.
  • This version offers substantial performance improvements when the box in Table IV-A13: Defer Javascript is ticked. This setting is now recommended and set ticked as the default.
  • For more info on performance improvements and compatibility with optimizers: see the changelog.txt

= 6.8.07 =

  • This version addresses various minor bug fixes and enhancements, and a new widget: Statistics.

= 6.8.06 =

  • This version addresses various minor bug fixes and improved cache handling.

= 6.8.05 =

  • This version addresses various minor bug fixes and feture requests.

= 6.8.04 =

  • This version addresses various display issues and a few fixes of bugs that seldom affected the plugins behaviour.
Download this release

Release Info

Developer opajaap
Plugin Icon wp plugin WP Photo Album Plus
Version 7.3.04.004
Comparing to
See all releases

Code changes from version 7.3.03.007 to 7.3.04.004

changelog.txt CHANGED
@@ -1,5 +1,12 @@
1
  WP Photo Album Plus Changelog
2
 
 
 
 
 
 
 
 
3
  = 7.3.03 =
4
 
5
  * Fixed a resizing issue when using nicescroller.
@@ -7,13 +14,12 @@ WP Photo Album Plus Changelog
7
  * Fixed duplicate ids in search code for certain themes.
8
  * Fixed a performance issue on the settings page for systems with many users.
9
  * Fixed the excessively creation of widget landing pages.
10
- * Compressed pretty links (Table IV-A6) did not work properly. MOET NOG
11
  * You can now also select POSTS as the album title link on the album admin page.
12
  * New checkbox: Table VI-A3: ASO. Album Specific Overrule.
13
- If you tick the ASO box, the album title link settings overrule the default wlbum widget link type and page settings,
14
  but only when the album link page or post is not set to --- the same page or post ---
15
  * You can now edit iptc data on the Photo Albums -> Album Admin -> Edit Manage photos screen. The metadata in the database is updated, the source file us untouched.
16
- * Fixed several php warnings that show uyp at php version 7.4
17
 
18
  = 7.3.02 =
19
 
1
  WP Photo Album Plus Changelog
2
 
3
+ = 7.3.04 =
4
+
5
+ * Fixed a conflict with cached sidebar slideshows.
6
+ * New feature: You can assign gold, silver, bronze or plus level of premium usership to any user role. Table VII-A.
7
+ The corresponding medals are shown together with the user display names in photo descriptions and comments.
8
+ * The photo of the day changed most of the times when a new photo is uploaded, and the policy is: change every hour ... month. Fixed.
9
+
10
  = 7.3.03 =
11
 
12
  * Fixed a resizing issue when using nicescroller.
14
  * Fixed duplicate ids in search code for certain themes.
15
  * Fixed a performance issue on the settings page for systems with many users.
16
  * Fixed the excessively creation of widget landing pages.
 
17
  * You can now also select POSTS as the album title link on the album admin page.
18
  * New checkbox: Table VI-A3: ASO. Album Specific Overrule.
19
+ If you tick the ASO box, the album title link settings overrule the default album widget link type and page settings,
20
  but only when the album link page or post is not set to --- the same page or post ---
21
  * You can now edit iptc data on the Photo Albums -> Album Admin -> Edit Manage photos screen. The metadata in the database is updated, the source file us untouched.
22
+ * Fixed several php warnings that show up at php version 7.4
23
 
24
  = 7.3.02 =
25
 
img/plus.png ADDED
Binary file
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: opajaap
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=OpaJaap@OpaJaap.nl&item_name=WP-Photo-Album-Plus&item_number=Support-Open-Source&currency_code=USD&lc=US
4
  Tags: photo, album, slideshow, video, audio, lightbox, iptc, exif, cloudinary, fotomoto, imagemagick, pdf
5
- Version: 7.3.03.007
6
- Stable tag: 7.3.02.007
7
  Author: J.N. Breetvelt
8
  Author URI: http://www.opajaap.nl/
9
  Requires at least: 3.9
@@ -137,6 +137,10 @@ See for the full changelog: <a href="http://www.wppa.nl/changelog/" >The documen
137
 
138
  == Upgrade Notice ==
139
 
 
 
 
 
140
  = 7.3.03 =
141
 
142
  * This version addresses various bug fixes and feature requests.
2
  Contributors: opajaap
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=OpaJaap@OpaJaap.nl&item_name=WP-Photo-Album-Plus&item_number=Support-Open-Source&currency_code=USD&lc=US
4
  Tags: photo, album, slideshow, video, audio, lightbox, iptc, exif, cloudinary, fotomoto, imagemagick, pdf
5
+ Version: 7.3.04.004
6
+ Stable tag: 7.3.03.007
7
  Author: J.N. Breetvelt
8
  Author URI: http://www.opajaap.nl/
9
  Requires at least: 3.9
137
 
138
  == Upgrade Notice ==
139
 
140
+ = 7.3.04 =
141
+
142
+ * This version addresses various bug fixes and feature requests.
143
+
144
  = 7.3.03 =
145
 
146
  * This version addresses various bug fixes and feature requests.
wppa-boxes-html.php CHANGED
@@ -3,7 +3,7 @@
3
  * Package: wp-photo-album-plus
4
  *
5
  * Various wppa boxes
6
- * Version 7.3.03
7
  *
8
  */
9
 
@@ -3604,6 +3604,9 @@ global $wpdb;
3604
  // Inc counter
3605
  $n_comments++;
3606
 
 
 
 
3607
  // Prepare html
3608
  $originatorblock = '
3609
  <td
@@ -3611,8 +3614,13 @@ global $wpdb;
3611
  class="wppa-box-text wppa-td"
3612
  style="vertical-align:top; width:30%; border-width: 0 0 0 0; '.wppa_wcs( 'wppa-box-text' ).wppa_wcs( 'wppa-td' ).'"
3613
  >' .
3614
- ( wppa_switch( 'domain_link_buddypress' ) ? wppa_bp_userlink( $comment['email'], false, true ) : esc_js( $comment['user'] ) ) .
3615
- ' ' . __( 'wrote', 'wp-photo-album-plus' ) . '
 
 
 
 
 
3616
  <span style="font-size:9px; ">' .
3617
  wppa_get_time_since( $comment['timestamp'] ) . '
3618
  </span>';
@@ -5612,7 +5620,7 @@ global $wpdb;
5612
  $id = $thumbs['0']['id'];
5613
  wppa_get_thumb_url( $id ); // Force creation of thumb in case its not there to find the size
5614
 
5615
- $thumbratio = wppa_get_photo_item( $id, 'thumby' ) / wppa_get_photo_item( $id, 'thumbx' );
5616
  $cellratio = wppa_get_thumb_aspect();
5617
  $tmp = $thumbratio / $cellratio;
5618
  $fill = 0.95 < $tmp && $tmp < 1.05;
@@ -6114,7 +6122,7 @@ function wppa_get_responsive_widget_js_html( $mocc ) {
6114
  wppaAutoColumnFrac['.$mocc.'] = 1.0;
6115
  if ( ! wppaColWidth ) var wppaColWidth = [];
6116
  wppaColWidth['.$mocc.'] = 0;
6117
- wppaTopMoc = '.$mocc.';
6118
  </script>';
6119
 
6120
  return $result;
3
  * Package: wp-photo-album-plus
4
  *
5
  * Various wppa boxes
6
+ * Version 7.3.04
7
  *
8
  */
9
 
3604
  // Inc counter
3605
  $n_comments++;
3606
 
3607
+ // Prmium user?
3608
+ $premium = wppa_get_premium( $comment['userid'] );
3609
+
3610
  // Prepare html
3611
  $originatorblock = '
3612
  <td
3614
  class="wppa-box-text wppa-td"
3615
  style="vertical-align:top; width:30%; border-width: 0 0 0 0; '.wppa_wcs( 'wppa-box-text' ).wppa_wcs( 'wppa-td' ).'"
3616
  >' .
3617
+ ( wppa_switch( 'domain_link_buddypress' ) ?
3618
+ wppa_bp_userlink( $comment['email'], false, true ) :
3619
+ esc_js( $comment['user'] )
3620
+ ) .
3621
+ wppa_get_premium_html( $comment['userid'] ) .
3622
+ ' ' .
3623
+ __( 'wrote', 'wp-photo-album-plus' ) . '
3624
  <span style="font-size:9px; ">' .
3625
  wppa_get_time_since( $comment['timestamp'] ) . '
3626
  </span>';
5620
  $id = $thumbs['0']['id'];
5621
  wppa_get_thumb_url( $id ); // Force creation of thumb in case its not there to find the size
5622
 
5623
+ $thumbratio = wppa_get_photo_item( $id, 'thumbx' ) ? wppa_get_photo_item( $id, 'thumby' ) / wppa_get_photo_item( $id, 'thumbx' ) : 1;
5624
  $cellratio = wppa_get_thumb_aspect();
5625
  $tmp = $thumbratio / $cellratio;
5626
  $fill = 0.95 < $tmp && $tmp < 1.05;
6122
  wppaAutoColumnFrac['.$mocc.'] = 1.0;
6123
  if ( ! wppaColWidth ) var wppaColWidth = [];
6124
  wppaColWidth['.$mocc.'] = 0;
6125
+ wppaTopMoc = Math.max(wppaTopMoc,'.$mocc.');
6126
  </script>';
6127
 
6128
  return $result;
wppa-functions.php CHANGED
@@ -3,7 +3,7 @@
3
  * Package: wp-photo-album-plus
4
  *
5
  * Various functions
6
- * Version 7.3.03
7
  *
8
  */
9
 
@@ -18,7 +18,7 @@ global $wppa_locale;
18
  global $wpdb;
19
  global $thumbs;
20
  global $wppa_session;
21
- global $wppa;
22
 
23
  wppa_occur_timer( 'init' );
24
 
@@ -80,7 +80,7 @@ global $wppa;
80
  }
81
  }
82
  else {
83
- wppa( 'mocc', wppa( 'mocc' ) + '1' );
84
  if ( wppa_in_widget() ) {
85
  wppa( 'widget_occur', wppa( 'widget_occur' ) + '1' );
86
  }
@@ -98,7 +98,7 @@ global $wppa;
98
  $cache_id = $temp['cache_id'];
99
  $cache_file = $temp['cache_file'];
100
  $cache_data = $temp['cache_data'];
101
-
102
  if ( $cache_data ) {
103
  wppa_reset_occurrance();
104
  $timer = wppa_occur_timer( 'show', $_ENV['REQUEST_URI'] . ' oc ' . wppa( 'mocc' ) );
@@ -3587,7 +3587,7 @@ global $blog_id;
3587
  wppa_out( wppa_js( "\n" . 'wppaAutoColumnWidth['.wppa( 'mocc' ).'] = false;' ) );
3588
  wppa_out( wppa_js( "\n" . 'wppaColWidth['.wppa( 'mocc' ).'] = '.wppa_get_container_width().';' ) );
3589
  }
3590
- wppa_out( wppa_js( "\n" . 'wppaTopMoc = '.wppa( 'mocc' ).';' ) );
3591
  if ( wppa_opt( 'thumbtype' ) == 'masonry-v' ) {
3592
  wppa_out( wppa_js( "\n" . 'wppaMasonryCols['.wppa( 'mocc' ).'] = '.ceil( wppa_get_container_width() / wppa_opt( 'thumbsize' ) ).';' ) );
3593
  } else {
3
  * Package: wp-photo-album-plus
4
  *
5
  * Various functions
6
+ * Version 7.3.04
7
  *
8
  */
9
 
18
  global $wpdb;
19
  global $thumbs;
20
  global $wppa_session;
21
+ //global $wppa;
22
 
23
  wppa_occur_timer( 'init' );
24
 
80
  }
81
  }
82
  else {
83
+ wppa_bump_mocc(); //wppa( 'mocc', wppa( 'mocc' ) + '1' );
84
  if ( wppa_in_widget() ) {
85
  wppa( 'widget_occur', wppa( 'widget_occur' ) + '1' );
86
  }
98
  $cache_id = $temp['cache_id'];
99
  $cache_file = $temp['cache_file'];
100
  $cache_data = $temp['cache_data'];
101
+
102
  if ( $cache_data ) {
103
  wppa_reset_occurrance();
104
  $timer = wppa_occur_timer( 'show', $_ENV['REQUEST_URI'] . ' oc ' . wppa( 'mocc' ) );
3587
  wppa_out( wppa_js( "\n" . 'wppaAutoColumnWidth['.wppa( 'mocc' ).'] = false;' ) );
3588
  wppa_out( wppa_js( "\n" . 'wppaColWidth['.wppa( 'mocc' ).'] = '.wppa_get_container_width().';' ) );
3589
  }
3590
+ wppa_out( wppa_js( "\n" . 'wppaTopMoc = Math.max(wppaTopMoc,'.wppa( 'mocc' ).');' ) );
3591
  if ( wppa_opt( 'thumbtype' ) == 'masonry-v' ) {
3592
  wppa_out( wppa_js( "\n" . 'wppaMasonryCols['.wppa( 'mocc' ).'] = '.ceil( wppa_get_container_width() / wppa_opt( 'thumbsize' ) ).';' ) );
3593
  } else {
wppa-items.php CHANGED
@@ -3,7 +3,7 @@
3
  * Package: wp-photo-album-plus
4
  *
5
  * Contains functions to retrieve album and photo items
6
- * Version 7.3.00
7
  *
8
  */
9
 
@@ -394,6 +394,7 @@ function wppa_translate_photo_keywords( $id, $text ) {
394
  $user = wppa_get_user_by( 'login', $thumb['owner'] );
395
  if ( $user ) {
396
  $result = str_replace( 'w#displayname', $user->display_name, $result );
 
397
  }
398
  else {
399
  $owner = wppa_get_photo_item( $id, 'owner' );
3
  * Package: wp-photo-album-plus
4
  *
5
  * Contains functions to retrieve album and photo items
6
+ * Version 7.3.04
7
  *
8
  */
9
 
394
  $user = wppa_get_user_by( 'login', $thumb['owner'] );
395
  if ( $user ) {
396
  $result = str_replace( 'w#displayname', $user->display_name, $result );
397
+ $result .= wppa_get_premium_html( $user->ID );
398
  }
399
  else {
400
  $owner = wppa_get_photo_item( $id, 'owner' );
wppa-picture.php CHANGED
@@ -3,7 +3,7 @@
3
  * Package: wp-photo-album-plus
4
  *
5
  * Make the picture html
6
- * Version 7.3.03
7
  *
8
  */
9
 
@@ -150,7 +150,7 @@ function wppa_get_picture_html( $args ) {
150
  $result = '<div style="font-size:0;line-height:0;" >';
151
 
152
  if ( $is_pdf && $mocc ) {
153
- $result .= wppa_js( '<script>wppaAutoColumnWidth[' . $mocc . '] = true;wppaAutoColumnFrac[' . $mocc . ']=1;wppaTopMoc=' . $mocc . ';</script>' );
154
  }
155
 
156
  // The link
3
  * Package: wp-photo-album-plus
4
  *
5
  * Make the picture html
6
+ * Version 7.3.04
7
  *
8
  */
9
 
150
  $result = '<div style="font-size:0;line-height:0;" >';
151
 
152
  if ( $is_pdf && $mocc ) {
153
+ $result .= wppa_js( '<script>wppaAutoColumnWidth[' . $mocc . '] = true;wppaAutoColumnFrac[' . $mocc . ']=1;wppaTopMoc=Math.max(wppaTopMoc,' . $mocc . ');</script>' );
154
  }
155
 
156
  // The link
wppa-settings-autosave.php CHANGED
@@ -3,7 +3,7 @@
3
  * Package: wp-photo-album-plus
4
  *
5
  * manage all options
6
- * Version 7.3.03
7
  *
8
  */
9
 
@@ -6955,6 +6955,7 @@ global $wppa_supported_camara_brands;
6955
  'wppa_potd',
6956
  'wppa_comments',
6957
  'wppa_help',
 
6958
  );
6959
  $wppanames = array( __('Album Admin', 'wp-photo-album-plus' ),
6960
  __('Upload', 'wp-photo-album-plus' ),
@@ -6965,6 +6966,7 @@ global $wppa_supported_camara_brands;
6965
  __('Photo of the day', 'wp-photo-album-plus' ),
6966
  __('Comments', 'wp-photo-album-plus' ),
6967
  __('Documentation', 'wp-photo-album-plus' ),
 
6968
  );
6969
  $titles = array( __('User can add/edit his own or all albums, depending on VII-D1.1. The administrator and wppa superuser can do anything', 'wp-photo-album-plus'),
6970
  __('Enables the Upload Photos admin screen', 'wp-photo-album-plus'),
@@ -6975,6 +6977,7 @@ global $wppa_supported_camara_brands;
6975
  __('Enables the photo of the day settings screen', 'wp-photo-album-plus'),
6976
  __('Enables the Comment admin screen', 'wp-photo-album-plus'),
6977
  __('Enables the Documentation screen', 'wp-photo-album-plus'),
 
6978
  );
6979
  echo '<td>'.__('Role', 'wp-photo-album-plus').'</td>';
6980
  for ($i = 0; $i < count($wppacaps); $i++) echo '<td style="width:11%;cursor:pointer;" title="'.($titles[$i]).'" >'.$wppanames[$i].'</td>';
@@ -6985,10 +6988,18 @@ global $wppa_supported_camara_brands;
6985
  <?php
6986
  $wppa_table = 'VII';
6987
 
6988
- wppa_setting_subheader('A', '6', __('Admin settings per user role. These settings define the display of the Photo Albums sub-menu items.', 'wp-photo-album-plus'));
6989
 
6990
  $tags = 'access,system';
6991
  $roles = $wp_roles->roles;
 
 
 
 
 
 
 
 
6992
  foreach (array_keys($roles) as $key) {
6993
  $role = $roles[$key];
6994
 
@@ -6996,7 +7007,7 @@ global $wppa_supported_camara_brands;
6996
 
6997
  echo '<tr class="wppa-VII-A wppa-none '.wppa_tags_to_clas($tags).'" ><td>'.$rolename.'</td>';
6998
  $caps = $role['capabilities'];
6999
- for ($i = 0; $i < count($wppacaps); $i++) {
7000
  if (isset($caps[$wppacaps[$i]])) {
7001
  $yn = $caps[$wppacaps[$i]] ? true : false;
7002
  }
@@ -7004,6 +7015,9 @@ global $wppa_supported_camara_brands;
7004
  $enabled = ( $key != 'administrator' );
7005
  echo '<td>'.wppa_checkbox_e('caps-'.$wppacaps[$i].'-'.$key, $yn, '', '', $enabled).'</td>';
7006
  };
 
 
 
7007
  echo '</tr>';
7008
  }
7009
  ?>
@@ -11639,7 +11653,7 @@ function wppa_settings_box_header($id, $title) {
11639
  ';
11640
  }
11641
 
11642
- function wppa_setting_subheader($lbl, $col, $txt, $cls = '') {
11643
  global $wppa_subtable;
11644
  global $wppa_table;
11645
  global $wppa_totcols;
@@ -11661,7 +11675,7 @@ global $wppa_totcols;
11661
  '</b>' .
11662
  '</em>' .
11663
  '</td>' .
11664
- '<td>' .
11665
  '<input' .
11666
  ' type="button"' .
11667
  ' class="wppa-' . $wppa_table . '-' . $wppa_subtable . ' wppa-' . $wppa_table . '-' . $wppa_subtable . '-h wppa-none' . ' wppa-h"' .
@@ -11674,7 +11688,7 @@ global $wppa_totcols;
11674
  'jQuery( \'.wppa-' . $wppa_table . '-' . $wppa_subtable . '-h\' ).css( \'display\', \'none\' );' .
11675
  '"' .
11676
  ' value="&nbsp;?&nbsp;"' .
11677
- ' />' .
11678
  '</td>' .
11679
  '</tr>';
11680
  }
3
  * Package: wp-photo-album-plus
4
  *
5
  * manage all options
6
+ * Version 7.3.04
7
  *
8
  */
9
 
6955
  'wppa_potd',
6956
  'wppa_comments',
6957
  'wppa_help',
6958
+ 'wppa_medal',
6959
  );
6960
  $wppanames = array( __('Album Admin', 'wp-photo-album-plus' ),
6961
  __('Upload', 'wp-photo-album-plus' ),
6966
  __('Photo of the day', 'wp-photo-album-plus' ),
6967
  __('Comments', 'wp-photo-album-plus' ),
6968
  __('Documentation', 'wp-photo-album-plus' ),
6969
+ __('Membership', 'wp-photo-album-plus'),
6970
  );
6971
  $titles = array( __('User can add/edit his own or all albums, depending on VII-D1.1. The administrator and wppa superuser can do anything', 'wp-photo-album-plus'),
6972
  __('Enables the Upload Photos admin screen', 'wp-photo-album-plus'),
6977
  __('Enables the photo of the day settings screen', 'wp-photo-album-plus'),
6978
  __('Enables the Comment admin screen', 'wp-photo-album-plus'),
6979
  __('Enables the Documentation screen', 'wp-photo-album-plus'),
6980
+ __('Indicates type of premium membership', 'wp-photo-album-plus'),
6981
  );
6982
  echo '<td>'.__('Role', 'wp-photo-album-plus').'</td>';
6983
  for ($i = 0; $i < count($wppacaps); $i++) echo '<td style="width:11%;cursor:pointer;" title="'.($titles[$i]).'" >'.$wppanames[$i].'</td>';
6988
  <?php
6989
  $wppa_table = 'VII';
6990
 
6991
+ wppa_setting_subheader('A', '7', __('Admin settings per user role. These settings define the display of the Photo Albums sub-menu items.', 'wp-photo-album-plus'), '', false );
6992
 
6993
  $tags = 'access,system';
6994
  $roles = $wp_roles->roles;
6995
+ $opts = array( '',
6996
+ __('bronze', 'wp-photo-album-plus'),
6997
+ __('silver', 'wp-photo-album-plus'),
6998
+ __('gold', 'wp-photo-album-plus'),
6999
+ __('plus', 'wp-photo-album-plus'),
7000
+ );
7001
+ $vals = array( 'none', 'bronze', 'silver', 'gold', 'plus' );
7002
+
7003
  foreach (array_keys($roles) as $key) {
7004
  $role = $roles[$key];
7005
 
7007
 
7008
  echo '<tr class="wppa-VII-A wppa-none '.wppa_tags_to_clas($tags).'" ><td>'.$rolename.'</td>';
7009
  $caps = $role['capabilities'];
7010
+ for ($i = 0; $i < count($wppacaps) - 1; $i++) {
7011
  if (isset($caps[$wppacaps[$i]])) {
7012
  $yn = $caps[$wppacaps[$i]] ? true : false;
7013
  }
7015
  $enabled = ( $key != 'administrator' );
7016
  echo '<td>'.wppa_checkbox_e('caps-'.$wppacaps[$i].'-'.$key, $yn, '', '', $enabled).'</td>';
7017
  };
7018
+
7019
+ echo '<td>'.wppa_select($wppacaps[count($wppacaps) - 1].'-'.$key, $opts, $vals).'</td>';
7020
+
7021
  echo '</tr>';
7022
  }
7023
  ?>
11653
  ';
11654
  }
11655
 
11656
+ function wppa_setting_subheader($lbl, $col, $txt, $cls = '', $help = true ) {
11657
  global $wppa_subtable;
11658
  global $wppa_table;
11659
  global $wppa_totcols;
11675
  '</b>' .
11676
  '</em>' .
11677
  '</td>' .
11678
+ '<td>' . ( $help ?
11679
  '<input' .
11680
  ' type="button"' .
11681
  ' class="wppa-' . $wppa_table . '-' . $wppa_subtable . ' wppa-' . $wppa_table . '-' . $wppa_subtable . '-h wppa-none' . ' wppa-h"' .
11688
  'jQuery( \'.wppa-' . $wppa_table . '-' . $wppa_subtable . '-h\' ).css( \'display\', \'none\' );' .
11689
  '"' .
11690
  ' value="&nbsp;?&nbsp;"' .
11691
+ ' />' : '' ) .
11692
  '</td>' .
11693
  '</tr>';
11694
  }
wppa-users.php CHANGED
@@ -3,7 +3,7 @@
3
  * Package: wp-photo-album-plus
4
  *
5
  * Contains user and capabilities related routines
6
- * Version 7.3.00
7
  *
8
  */
9
 
@@ -492,4 +492,76 @@ function wppa_get_user_id() {
492
  return $user->ID;
493
  }
494
  return -1;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
495
  }
3
  * Package: wp-photo-album-plus
4
  *
5
  * Contains user and capabilities related routines
6
+ * Version 7.3.04
7
  *
8
  */
9
 
492
  return $user->ID;
493
  }
494
  return -1;
495
+ }
496
+
497
+ // Look for users premium level
498
+ function wppa_get_premium( $user_id ) {
499
+ global $wp_roles;
500
+
501
+ // Init
502
+ $medals = array( 'gold' => false, 'silver' => false, 'bronze' => false, 'plus' => false, 'none' => false );
503
+ $roles = $wp_roles->roles;
504
+
505
+ foreach ( array_keys( $roles ) as $role ) {
506
+
507
+ // Find roles the user has
508
+ if ( user_can( $user_id, $role ) ) {
509
+
510
+ // Is this role a premium role?
511
+ $medal = get_option( 'wppa_medal-' . $role, 'none' );
512
+ $medals[$medal] = true;
513
+ if ( $medal == 'gold' ) {
514
+ return $medal; // There is no higher
515
+ }
516
+
517
+ }
518
+ }
519
+
520
+ if ( $medals['silver'] ) return 'silver';
521
+ if ( $medals['bronze'] ) return 'bronze';
522
+ if ( $medals['plus'] ) return 'plus';
523
+ return 'none';
524
+ }
525
+
526
+ // Get the html for the premium medal
527
+ function wppa_get_premium_html( $userid ) {
528
+
529
+ $result = '';
530
+ $premium = wppa_get_premium( $userid );
531
+ switch( $premium ) {
532
+ case 'gold':
533
+ $title = __('Gold member', 'wp-photo-album-plus');
534
+ break;
535
+ case 'silver':
536
+ $title = __('Silver member', 'wp-photo-album-plus');
537
+ break;
538
+ case 'bronze':
539
+ $title = __('Bronze member', 'wp-photo-album-plus');
540
+ break;
541
+ case 'plus':
542
+ $title = __('Plus member', 'wp-photo-album-plus');
543
+ break;
544
+ default:
545
+ $title = '';
546
+ break;
547
+ }
548
+
549
+ if ( in_array( $premium, array( 'gold', 'silver', 'bronze' ) ) ) {
550
+ $result = '
551
+ <img
552
+ src="' . wppa_get_imgdir( 'medal_' . $premium . '_' . wppa_opt( 'medal_color' ) . '.png' ) . '"
553
+ style="height:1em;cursor:pointer;"
554
+ title="' . esc_attr( $title ) . '"
555
+ />';
556
+ }
557
+ elseif ( $premium == 'plus' ) {
558
+ $result = '
559
+ <img
560
+ src="' . wppa_get_imgdir( 'plus.png' ) . '"
561
+ style="height:1em;cursor:pointer;"
562
+ title="' . esc_attr( $title ) . '"
563
+ />';
564
+ }
565
+
566
+ return $result;
567
  }
wppa-utils.php CHANGED
@@ -3,7 +3,7 @@
3
  * Package: wp-photo-album-plus
4
  *
5
  * Contains low-level utility routines
6
- * Version 7.3.03
7
  *
8
  */
9
 
@@ -520,6 +520,11 @@ global $wppa;
520
  $wppa[$key] = $newval;
521
  }
522
 
 
 
 
 
 
523
  return $oldval;
524
  }
525
 
@@ -3198,7 +3203,10 @@ function wppa_in_widget() {
3198
  }
3199
 
3200
  function wppa_bump_mocc() {
3201
- wppa( 'mocc', wppa( 'mocc' ) + 1 );
 
 
 
3202
  }
3203
 
3204
  // This is a nice simple function
@@ -4954,7 +4962,7 @@ function wppa_sanitize_album_photo_name( $xname ) {
4954
  }
4955
 
4956
  function wppa_nl2sp( $text ) {
4957
- $result = str_replace( ["\r\n","\n"], ' ', $text );
4958
  return $result;
4959
  }
4960
 
3
  * Package: wp-photo-album-plus
4
  *
5
  * Contains low-level utility routines
6
+ * Version 7.3.04
7
  *
8
  */
9
 
520
  $wppa[$key] = $newval;
521
  }
522
 
523
+ // If mocc requested and in_widget, add 100 (fixes caching conflicts)
524
+ if ( $key == 'mocc' && $wppa['in_widget'] ) {
525
+ $oldval += 100;
526
+ }
527
+
528
  return $oldval;
529
  }
530
 
3203
  }
3204
 
3205
  function wppa_bump_mocc() {
3206
+ global $wppa;
3207
+
3208
+ $wppa['mocc'] += 1;
3209
+
3210
  }
3211
 
3212
  // This is a nice simple function
4962
  }
4963
 
4964
  function wppa_nl2sp( $text ) {
4965
+ $result = str_replace( array( "\r\n","\n" ), ' ', $text );
4966
  return $result;
4967
  }
4968
 
wppa-widget-functions.php CHANGED
@@ -2,7 +2,7 @@
2
  /* wppa-widget-functions.php
3
  /* Package: wp-photo-album-plus
4
  /*
5
- /* Version 7.3.02
6
  /*
7
  */
8
 
@@ -273,43 +273,59 @@ static $potd;
273
  }
274
  }
275
  else {
276
- $u = date_i18n( "U" ); // Seconds since 1-1-1970, local
277
  $u /= 3600; // hours since
278
  $u = floor( $u );
279
  $u /= $per;
280
  $u = floor( $u );
281
 
282
- // Find the right photo out of the photos found by wppa_get_widgetphotos(),
283
- // based on the Change every { any timeperiod } algorithm.
284
- if ( $photos ) {
285
- $p = count( $photos );
286
- $idn = fmod( $u, $p );
287
-
288
- // If from topten,...
289
- if ( $album == 'topten' ) {
290
-
291
- // Do a re-read of the same to order by rand, reproduceable
292
- // This can not be done by wppa_get_widgetphotos(),
293
- // it does already ORDER BY for the top selection criterium.
294
- // So we save the ids, and do a SELECT WHERE id IN ( array of found ids ) ORDER BY RAND( seed )
295
- $ids = array();
296
- foreach( $photos as $photo ) {
297
- $ids[] = $photo['id'];
298
  }
299
- $photos = $wpdb->get_results( "SELECT id, p_order " .
300
- "FROM $wpdb->wppa_photos " .
301
- "WHERE id IN (" . implode( ',', $ids ) . ") " .
302
- "ORDER BY RAND(".$idn.")",
303
- ARRAY_A );
304
  }
 
305
 
306
- // Not from topten, use wppa_get_widgetphotos() to get a reproduceable random sequence
307
- else {
308
- $photos = wppa_get_widgetphotos( $album, " ORDER BY RAND(".$idn.")" );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
309
  }
310
 
311
- // Image found
312
- $id = $photos[$idn]['id'];
313
  }
314
  }
315
  }
@@ -337,11 +353,11 @@ static $potd;
337
  function wppa_widget_cache( $class, $value ) {
338
 
339
  $options = array( __( '--- none ---', 'wp-photo-album-plus' ),
340
- '5', '6', '7', '8', '9', '10', '12', '15', '20', '25', '30', '40', '45', '50', '55', '60',
341
  __( '--- infinite ---', 'wp-photo-album-plus' ),
342
  );
343
  $values = array( '0',
344
- '5', '6', '7', '8', '9', '10', '12', '15', '20', '25', '30', '40', '45', '50', '55', '60',
345
  'inf'
346
  );
347
  $result = wppa_widget_selection( $class,
@@ -580,18 +596,18 @@ function wppa_get_widget_cache_root() {
580
  function wppa_get_widget_cache_path( $widget_id ) {
581
 
582
  $root = wppa_get_widget_cache_root();
583
-
584
  if ( ! wppa_is_dir( $root ) ) {
585
  wppa_mktree( $root );
586
  }
587
-
588
  return $root . '/' . $widget_id;
589
  }
590
 
591
  function wppa_remove_widget_cache_path( $name = '', $immediate = false ) {
592
 
593
  $root = wppa_get_widget_cache_root();
594
-
595
  // Delete a named cachefile immediately
596
  if ( $name ) {
597
  $file = wppa_get_widget_cache_path( $name );
2
  /* wppa-widget-functions.php
3
  /* Package: wp-photo-album-plus
4
  /*
5
+ /* Version 7.3.04
6
  /*
7
  */
8
 
273
  }
274
  }
275
  else {
276
+ $u = wppa_local_date( "U" ); // Seconds since 1-1-1970, local
277
  $u /= 3600; // hours since
278
  $u = floor( $u );
279
  $u /= $per;
280
  $u = floor( $u );
281
 
282
+ // Cached value?
283
+ $cache = get_option( 'wppa_potd_id_cache', false );
284
+ if ( $cache ) {
285
+ if ( isset( $cache[$u] ) ) {
286
+ $id = $cache[$u];
287
+ if ( ! wppa_photo_exists( $id ) ) {
288
+ $id = 0;
 
 
 
 
 
 
 
 
 
289
  }
 
 
 
 
 
290
  }
291
+ }
292
 
293
+ // Not found in cache
294
+ if ( ! $id ) {
295
+ // Find the right photo out of the photos found by wppa_get_widgetphotos(),
296
+ // based on the Change every { any timeperiod } algorithm.
297
+ if ( $photos ) {
298
+ $p = count( $photos );
299
+ $idn = fmod( $u, $p );
300
+
301
+ // If from topten,...
302
+ if ( $album == 'topten' ) {
303
+
304
+ // Do a re-read of the same to order by rand, reproduceable
305
+ // This can not be done by wppa_get_widgetphotos(),
306
+ // it does already ORDER BY for the top selection criterium.
307
+ // So we save the ids, and do a SELECT WHERE id IN ( array of found ids ) ORDER BY RAND( seed )
308
+ $ids = array();
309
+ foreach( $photos as $photo ) {
310
+ $ids[] = $photo['id'];
311
+ }
312
+ $photos = $wpdb->get_results( "SELECT id, p_order " .
313
+ "FROM $wpdb->wppa_photos " .
314
+ "WHERE id IN (" . implode( ',', $ids ) . ") " .
315
+ "ORDER BY RAND(".$idn.")",
316
+ ARRAY_A );
317
+ }
318
+
319
+ // Not from topten, use wppa_get_widgetphotos() to get a reproduceable random sequence
320
+ else {
321
+ $photos = wppa_get_widgetphotos( $album, " ORDER BY RAND(".$idn.")" );
322
+ }
323
+
324
+ // Image found
325
+ $id = $photos[$idn]['id'];
326
  }
327
 
328
+ update_option( 'wppa_potd_id_cache', array( $u => $id ) );
 
329
  }
330
  }
331
  }
353
  function wppa_widget_cache( $class, $value ) {
354
 
355
  $options = array( __( '--- none ---', 'wp-photo-album-plus' ),
356
+ '5', '6', '7', '8', '9', '10', '12', '15', '20', '25', '30', '40', '45', '50', '55', '60',
357
  __( '--- infinite ---', 'wp-photo-album-plus' ),
358
  );
359
  $values = array( '0',
360
+ '5', '6', '7', '8', '9', '10', '12', '15', '20', '25', '30', '40', '45', '50', '55', '60',
361
  'inf'
362
  );
363
  $result = wppa_widget_selection( $class,
596
  function wppa_get_widget_cache_path( $widget_id ) {
597
 
598
  $root = wppa_get_widget_cache_root();
599
+
600
  if ( ! wppa_is_dir( $root ) ) {
601
  wppa_mktree( $root );
602
  }
603
+
604
  return $root . '/' . $widget_id;
605
  }
606
 
607
  function wppa_remove_widget_cache_path( $name = '', $immediate = false ) {
608
 
609
  $root = wppa_get_widget_cache_root();
610
+
611
  // Delete a named cachefile immediately
612
  if ( $name ) {
613
  $file = wppa_get_widget_cache_path( $name );
wppa.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  * Plugin Name: WP Photo Album Plus
4
  * Description: Easily manage and display your photo albums and slideshows within your WordPress site.
5
- * Version: 7.3.03.007
6
  * Author: J.N. Breetvelt a.k.a. OpaJaap
7
  * Author URI: http://wppa.opajaap.nl/
8
  * Plugin URI: http://wordpress.org/extend/plugins/wp-photo-album-plus/
@@ -24,7 +24,7 @@ global $wp_version;
24
 
25
  /* WPPA GLOBALS */
26
  global $wppa_revno; $wppa_revno = '7303'; // WPPA db version
27
- global $wppa_api_version; $wppa_api_version = '7.3.03.007'; // WPPA software version
28
 
29
  /* Init page js data */
30
  global $wppa_js_page_data; $wppa_js_page_data = '';
2
  /*
3
  * Plugin Name: WP Photo Album Plus
4
  * Description: Easily manage and display your photo albums and slideshows within your WordPress site.
5
+ * Version: 7.3.04.004
6
  * Author: J.N. Breetvelt a.k.a. OpaJaap
7
  * Author URI: http://wppa.opajaap.nl/
8
  * Plugin URI: http://wordpress.org/extend/plugins/wp-photo-album-plus/
24
 
25
  /* WPPA GLOBALS */
26
  global $wppa_revno; $wppa_revno = '7303'; // WPPA db version
27
+ global $wppa_api_version; $wppa_api_version = '7.3.04.004'; // WPPA software version
28
 
29
  /* Init page js data */
30
  global $wppa_js_page_data; $wppa_js_page_data = '';