PluginProbe
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions / 260917
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions v260917
260917 260913 260909 260829 260814 260805 110710 110731 110812 110815 110912 110913 110915 110926 110927 111002 111003 111011 111017 111029 111105 111206 111216 111220 120213 All 189 releases
← All changes | src/includes/classes/sc-gets-in.inc.php +16 -4 260814 → 260917 View file →
@@ -84,8 +84,20 @@
84 84
85 85 if($attr['constant'] && defined($attr['constant']) && isset($valid_constants[$attr['constant']]))
86 86 {
87 87 $get = constant($attr['constant']);
88 +
89 + //260913.1656 Only format explicitly known timestamp constants, and reject non-string formats before passing them to date().
90 + if(is_string($attr['date_format']) && $attr['date_format'] && is_int($get) && $get > 0 && in_array($attr['constant'], array('S2MEMBER_CURRENT_USER_REGISTRATION_TIME', 'S2MEMBER_CURRENT_USER_PAID_REGISTRATION_TIME'), true))
91 + {
92 + if($attr['date_format'] === 'timestamp')
93 + $get = (string)$get; // No change.
94 +
95 + else if($attr['date_format'] === 'default')
96 + $get = date(get_option('date_format'), $get);
97 +
98 + else $get = date($attr['date_format'], $get);
99 + }
88 100 }
89 101 else if($attr['user_field'] && isset($valid_user_fields[$attr['user_field']]))
90 102 {
91 103 $user_field_args = array('size' => $attr['size']);
@@ -101,11 +113,11 @@
101 113 if($attr['date_format'] === 'timestamp')
102 114 $get = (string)$get; // No change.
103 115
104 116 else if($attr['date_format'] === 'default')
105 - $get = date(get_option('date_format'), (integer)$get);
117 + $get = date(get_option('date_format'), (int)$get);
106 118
107 - else $get = date($attr['date_format'], (integer)$get);
119 + else $get = date($attr['date_format'], (int)$get);
108 120 }
109 121 }
110 122 else if($attr['user_option'] && isset($valid_user_options[$attr['user_option']]))
111 123 {
@@ -117,11 +129,11 @@
117 129 if($attr['date_format'] === 'timestamp')
118 130 $get = (string)$get; // No change.
119 131
120 132 else if($attr['date_format'] === 'default')
121 - $get = date(get_option('date_format'), (integer)$get);
133 + $get = date(get_option('date_format'), (int)$get);
122 134
123 - else $get = date($attr['date_format'], (integer)$get);
135 + else $get = date($attr['date_format'], (int)$get);
124 136 }
125 137 }
126 138 if(isset($get) && (is_array($get) || is_object($get)))
127 139 {