Post Expirator - Version 2.1.4

Version Description

Fixed PHP Strict errors with 5.4+ Removed temporary timezone conversion functions

Download this release

Release Info

Developer axelseaa
Plugin Icon 128x128 Post Expirator
Version 2.1.4
Comparing to
See all releases

Code changes from version 2.1.3 to 2.1.4

Files changed (2) hide show
  1. post-expirator.php +20 -37
  2. readme.txt +13 -3
post-expirator.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Post Expirator
4
  Plugin URI: http://wordpress.org/extend/plugins/post-expirator/
5
  Description: Allows you to add an expiration date (minute) to posts which you can configure to either delete the post, change it to a draft, or update the post categories at expiration time.
6
  Author: Aaron Axelsen
7
- Version: 2.1.3
8
  Author URI: http://postexpirator.tuxdocs.net/
9
  Translation: Thierry (http://palijn.info)
10
  Text Domain: post-expirator
@@ -76,7 +76,7 @@ function expirationdate_show_value ($column_name) {
76
  $id = $post->ID;
77
  if ($column_name === 'expirationdate') {
78
  $ed = get_post_meta($id,'_expiration-date',true);
79
- echo ($ed ? postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$ed),get_option('date_format').' '.get_option('time_format')) : __("Never",'post-expirator'));
80
  }
81
  }
82
  add_action ('manage_posts_custom_column', 'expirationdate_show_value');
@@ -127,11 +127,11 @@ function expirationdate_meta_box($post) {
127
 
128
  if ( $tz ) date_default_timezone_set('UTC');
129
  }
130
- $defaultmonth = postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$ts),'m');
131
- $defaultday = postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$ts),'d');
132
- $defaultyear = postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$ts),'Y');;
133
- $defaulthour = postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$ts),'H');
134
- $defaultminute = postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$ts),'i');
135
  }
136
 
137
  $enabled = '';
@@ -147,11 +147,11 @@ function expirationdate_meta_box($post) {
147
  $disabled='';
148
  }
149
  } else {
150
- $defaultmonth = postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),'m');
151
- $defaultday = postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),'d');
152
- $defaultyear = postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),'Y');
153
- $defaulthour = postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),'H');
154
- $defaultminute = postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),'i');
155
  $enabled = ' checked="checked"';
156
  $disabled = '';
157
  $opts = get_post_meta($post->ID,'_expiration-date-options',true);
@@ -1057,7 +1057,7 @@ function postexpirator_shortcode($atts) {
1057
  else if ($type == 'time')
1058
  $format = $timeformat;
1059
 
1060
- return postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),$format);
1061
  }
1062
  add_shortcode('postexpirator', 'postexpirator_shortcode');
1063
 
@@ -1084,9 +1084,9 @@ function postexpirator_add_footer($text) {
1084
  'EXPIRATIONTIME'
1085
  );
1086
  $replace = array(
1087
- postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),"$dateformat $timeformat"),
1088
- postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),$dateformat),
1089
- postexpirator_get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),$timeformat)
1090
  );
1091
 
1092
  $add_to_footer = '<p style="'.$expirationdateFooterStyle.'">'.str_replace($search,$replace,$expirationdateFooterContents).'</p>';
@@ -1264,17 +1264,17 @@ class Walker_PostExpirator_Category_Checklist extends Walker {
1264
  $this->disabled = 'disabled="disabled"';
1265
  }
1266
 
1267
- function start_lvl(&$output, $depth, $args) {
1268
  $indent = str_repeat("\t", $depth);
1269
  $output .= "$indent<ul class='children'>\n";
1270
  }
1271
 
1272
- function end_lvl(&$output, $depth, $args) {
1273
  $indent = str_repeat("\t", $depth);
1274
  $output .= "$indent</ul>\n";
1275
  }
1276
 
1277
- function start_el(&$output, $category, $depth, $args) {
1278
  extract($args);
1279
  if ( empty($taxonomy) )
1280
  $taxonomy = 'category';
@@ -1285,7 +1285,7 @@ class Walker_PostExpirator_Category_Checklist extends Walker {
1285
  $output .= "\n<li id='expirator-{$taxonomy}-{$category->term_id}'$class>" . '<label class="selectit"><input value="' . $category->term_id . '" type="checkbox" name="'.$name.'[]" id="expirator-in-'.$taxonomy.'-' . $category->term_id . '"' . checked( in_array( $category->term_id, $selected_cats ), true, false ) . disabled( empty( $args['disabled'] ), false, false ) . ' '.$this->disabled.'/> ' . esc_html( apply_filters('the_category', $category->name )) . '</label>';
1286
  }
1287
 
1288
- function end_el(&$output, $category, $depth, $args) {
1289
  $output .= "</li>\n";
1290
  }
1291
  }
@@ -1338,20 +1338,3 @@ function _postExpiratorTaxonomy($opts) {
1338
  $rv[] = '</select>';
1339
  return implode("<br/>/n",$rv);
1340
  }
1341
-
1342
- /**
1343
- * TEMPORARY FUNCTION UNTIL TICKET 20328 IS FIXED
1344
- */
1345
- function postexpirator_get_date_from_gmt($string,$format = 'Y-m-d H:i:s') {
1346
- $tz = get_option('timezone_string');
1347
- if ( $tz ) {
1348
- $datetime = new DateTime( $string , new DateTimeZone('UTC') );
1349
- $datetime->setTimezone( new DateTimeZone($tz) );
1350
- $string_localtime = $datetime->format($format);
1351
- } else {
1352
- preg_match('#([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})#', $string, $matches);
1353
- $string_time = gmmktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1]);
1354
- $string_localtime = gmdate($format, $string_time + get_option('gmt_offset')*3600);
1355
- }
1356
- return $string_localtime;
1357
- }
4
  Plugin URI: http://wordpress.org/extend/plugins/post-expirator/
5
  Description: Allows you to add an expiration date (minute) to posts which you can configure to either delete the post, change it to a draft, or update the post categories at expiration time.
6
  Author: Aaron Axelsen
7
+ Version: 2.1.4
8
  Author URI: http://postexpirator.tuxdocs.net/
9
  Translation: Thierry (http://palijn.info)
10
  Text Domain: post-expirator
76
  $id = $post->ID;
77
  if ($column_name === 'expirationdate') {
78
  $ed = get_post_meta($id,'_expiration-date',true);
79
+ echo ($ed ? get_date_from_gmt(gmdate('Y-m-d H:i:s',$ed),get_option('date_format').' '.get_option('time_format')) : __("Never",'post-expirator'));
80
  }
81
  }
82
  add_action ('manage_posts_custom_column', 'expirationdate_show_value');
127
 
128
  if ( $tz ) date_default_timezone_set('UTC');
129
  }
130
+ $defaultmonth = get_date_from_gmt(gmdate('Y-m-d H:i:s',$ts),'m');
131
+ $defaultday = get_date_from_gmt(gmdate('Y-m-d H:i:s',$ts),'d');
132
+ $defaultyear = get_date_from_gmt(gmdate('Y-m-d H:i:s',$ts),'Y');;
133
+ $defaulthour = get_date_from_gmt(gmdate('Y-m-d H:i:s',$ts),'H');
134
+ $defaultminute = get_date_from_gmt(gmdate('Y-m-d H:i:s',$ts),'i');
135
  }
136
 
137
  $enabled = '';
147
  $disabled='';
148
  }
149
  } else {
150
+ $defaultmonth = get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),'m');
151
+ $defaultday = get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),'d');
152
+ $defaultyear = get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),'Y');
153
+ $defaulthour = get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),'H');
154
+ $defaultminute = get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),'i');
155
  $enabled = ' checked="checked"';
156
  $disabled = '';
157
  $opts = get_post_meta($post->ID,'_expiration-date-options',true);
1057
  else if ($type == 'time')
1058
  $format = $timeformat;
1059
 
1060
+ return get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),$format);
1061
  }
1062
  add_shortcode('postexpirator', 'postexpirator_shortcode');
1063
 
1084
  'EXPIRATIONTIME'
1085
  );
1086
  $replace = array(
1087
+ get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),"$dateformat $timeformat"),
1088
+ get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),$dateformat),
1089
+ get_date_from_gmt(gmdate('Y-m-d H:i:s',$expirationdatets),$timeformat)
1090
  );
1091
 
1092
  $add_to_footer = '<p style="'.$expirationdateFooterStyle.'">'.str_replace($search,$replace,$expirationdateFooterContents).'</p>';
1264
  $this->disabled = 'disabled="disabled"';
1265
  }
1266
 
1267
+ function start_lvl(&$output, $depth = 0, $args = array()) {
1268
  $indent = str_repeat("\t", $depth);
1269
  $output .= "$indent<ul class='children'>\n";
1270
  }
1271
 
1272
+ function end_lvl(&$output, $depth = 0, $args = array()) {
1273
  $indent = str_repeat("\t", $depth);
1274
  $output .= "$indent</ul>\n";
1275
  }
1276
 
1277
+ function start_el(&$output, $category, $depth = 0, $args = array(), $current_object_id = 0) {
1278
  extract($args);
1279
  if ( empty($taxonomy) )
1280
  $taxonomy = 'category';
1285
  $output .= "\n<li id='expirator-{$taxonomy}-{$category->term_id}'$class>" . '<label class="selectit"><input value="' . $category->term_id . '" type="checkbox" name="'.$name.'[]" id="expirator-in-'.$taxonomy.'-' . $category->term_id . '"' . checked( in_array( $category->term_id, $selected_cats ), true, false ) . disabled( empty( $args['disabled'] ), false, false ) . ' '.$this->disabled.'/> ' . esc_html( apply_filters('the_category', $category->name )) . '</label>';
1286
  }
1287
 
1288
+ function end_el(&$output, $category, $depth = 0, $args = array()) {
1289
  $output .= "</li>\n";
1290
  }
1291
  }
1338
  $rv[] = '</select>';
1339
  return implode("<br/>/n",$rv);
1340
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
readme.txt CHANGED
@@ -2,9 +2,9 @@
2
  Contributors: axelseaa
3
  Donate link: http://aaron.axelsen.us/donate
4
  Tags: expire, posts, pages, schedule
5
- Requires at least: 3.7
6
- Tested up to: 3.8.1
7
- Stable tag: 2.1.3
8
 
9
  Allows you to add an expiration date to posts which you can configure to either delete the post, change it to a draft, or update the
10
  post categories.
@@ -48,6 +48,11 @@ This section describes how to install the plugin and get it working.
48
 
49
  == Changelog ==
50
 
 
 
 
 
 
51
  **Version 2.1.3**
52
 
53
  * Fix: Default category selection now saves correctly on default settings screen
@@ -200,6 +205,11 @@ NOTE: After upgrading, you may need to reset the cron schedules. Following onsc
200
 
201
  == Upgrade Notice ==
202
 
 
 
 
 
 
203
  = 2.1.3 =
204
  Default category selection now saves correctly on default settings screen
205
 
2
  Contributors: axelseaa
3
  Donate link: http://aaron.axelsen.us/donate
4
  Tags: expire, posts, pages, schedule
5
+ Requires at least: 4.0
6
+ Tested up to: 4.7
7
+ Stable tag: 2.1.4
8
 
9
  Allows you to add an expiration date to posts which you can configure to either delete the post, change it to a draft, or update the
10
  post categories.
48
 
49
  == Changelog ==
50
 
51
+ **Version 2.1.4**
52
+
53
+ * Fix: PHP Strict errors with 5.4+
54
+ * Fix: Removed temporary timezone conversion - now using core functions again
55
+
56
  **Version 2.1.3**
57
 
58
  * Fix: Default category selection now saves correctly on default settings screen
205
 
206
  == Upgrade Notice ==
207
 
208
+ = 2.1.4 =
209
+ Fixed PHP Strict errors with 5.4+
210
+ Removed temporary timezone conversion functions
211
+
212
+
213
  = 2.1.3 =
214
  Default category selection now saves correctly on default settings screen
215