aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/account.php4
-rw-r--r--include/channel.php2
-rw-r--r--include/conversation.php2
-rw-r--r--include/datetime.php22
-rwxr-xr-xinclude/dba/dba_driver.php18
-rw-r--r--include/dir_fns.php2
-rw-r--r--include/feedutils.php4
-rw-r--r--include/import.php8
-rwxr-xr-xinclude/items.php10
9 files changed, 39 insertions, 33 deletions
diff --git a/include/account.php b/include/account.php
index 47310912f..bd4da6a52 100644
--- a/include/account.php
+++ b/include/account.php
@@ -548,8 +548,8 @@ function account_approve($hash) {
*/
function downgrade_accounts() {
- $r = q("select * from account where not ( account_flags & %d )>0
- and account_expires != '%s'
+ $r = q("select * from account where not ( account_flags & %d ) > 0
+ and account_expires > '%s'
and account_expires < %s ",
intval(ACCOUNT_EXPIRED),
dbesc(NULL_DATE),
diff --git a/include/channel.php b/include/channel.php
index 5beb4a53c..c86cea6f1 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -1212,7 +1212,7 @@ function advanced_profile(&$a) {
if(App::$profile['partner'])
$profile['marital']['partner'] = bbcode(App::$profile['partner']);
- if(strlen(App::$profile['howlong']) && App::$profile['howlong'] !== NULL_DATE) {
+ if(strlen(App::$profile['howlong']) && App::$profile['howlong'] > NULL_DATE) {
$profile['howlong'] = relative_date(App::$profile['howlong'], t('for %1$d %2$s'));
}
diff --git a/include/conversation.php b/include/conversation.php
index 1cac60bf9..287dd4983 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -721,7 +721,7 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
'isotime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'c'),
'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'),
'editedtime' => (($item['edited'] != $item['created']) ? sprintf( t('last edited: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['edited'], 'r')) : ''),
- 'expiretime' => (($item['expires'] !== NULL_DATE) ? sprintf( t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')):''),
+ 'expiretime' => (($item['expires'] > NULL_DATE) ? sprintf( t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')):''),
'location' => $location,
'indent' => '',
'owner_name' => $owner_name,
diff --git a/include/datetime.php b/include/datetime.php
index 76bd6b8d6..cd08ab367 100644
--- a/include/datetime.php
+++ b/include/datetime.php
@@ -24,6 +24,13 @@ function timezone_cmp($a, $b) {
return ( t($a) < t($b)) ? -1 : 1;
}
+function is_null_date($s) {
+ if($s === '0000-00-00 00:00:00' || $s === '0001-01-01 00:00:00')
+ return true;
+ return false;
+}
+
+
/**
* @brief Return timezones grouped (primarily) by continent.
*
@@ -78,15 +85,20 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d
if( ($s === '') || (! is_string($s)) )
$s = 'now';
+ if(is_null_date($s)) {
+ $d = new DateTime('0001-01-01 00:00:00', new DateTimeZone('UTC'));
+ return $d->format($fmt);
+ }
+
// Slight hackish adjustment so that 'zero' datetime actually returns what is intended
// otherwise we end up with -0001-11-30 ...
// add 32 days so that we at least get year 00, and then hack around the fact that
// months and days always start with 1.
- if(substr($s,0,10) == '0000-00-00') {
- $d = new DateTime($s . ' + 32 days', new DateTimeZone('UTC'));
- return str_replace('1', '0', $d->format($fmt));
- }
+// if(substr($s,0,10) == '0000-00-00') {
+// $d = new DateTime($s . ' + 32 days', new DateTimeZone('UTC'));
+// return str_replace('1', '0', $d->format($fmt));
+// }
try {
$from_obj = new DateTimeZone($from);
@@ -268,7 +280,7 @@ function relative_date($posted_date, $format = null) {
$abs = strtotime($localtime);
- if (is_null($posted_date) || $posted_date === NULL_DATE || $abs === false) {
+ if (is_null($posted_date) || is_null_date($posted_date) || $abs === false) {
return t('never');
}
diff --git a/include/dba/dba_driver.php b/include/dba/dba_driver.php
index 7225a9be2..2cbdd529d 100755
--- a/include/dba/dba_driver.php
+++ b/include/dba/dba_driver.php
@@ -86,7 +86,7 @@ class DBA {
abstract class dba_driver {
// legacy behavior
const INSTALL_SCRIPT='install/schema_mysql.sql';
- const NULL_DATE = '0000-00-00 00:00:00';
+ const NULL_DATE = '0001-01-01 00:00:00';
const UTC_NOW = 'UTC_TIMESTAMP()';
protected $db;
@@ -276,12 +276,9 @@ function dbunescbin($str) {
}
function dbescdate($date) {
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES && $date == '0000-00-00 00:00:00') {
- $date = NULL_DATE;
- } else if(ACTIVE_DBTYPE != DBTYPE_POSTGRES && $date == '0001-01-01 00:00:00') {
- $date = NULL_DATE;
- }
- return $date;
+ if(is_null_date($date))
+ return $dba->escape(NULL_DATE);
+ return $dba->escape($date);
}
function db_quoteinterval($txt) {
@@ -376,11 +373,8 @@ function dbq($sql) {
function dbesc_array_cb(&$item, $key) {
if(is_string($item)) {
- if($item == '0000-00-00 00:00:00' && ACTIVE_DBTYPE == DBTYPE_POSTGRES)
- $item = '0001-01-01 00:00:00';
- else if($item == '0001-01-01 00:00:00' && ACTIVE_DBTYPE == DBTYPE_MYSQL)
- $item = '0000-00-00 00:00:00';
-
+ if(is_null_date($item))
+ $item = NULL_DATE;
$item = dbesc($item);
}
}
diff --git a/include/dir_fns.php b/include/dir_fns.php
index 53a81b242..03cc2706a 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -227,7 +227,7 @@ function sync_directories($dirmode) {
$token = get_config('system','realm_token');
- $syncdate = (($rr['site_sync'] === NULL_DATE) ? datetime_convert('UTC','UTC','now - 2 days') : $rr['site_sync']);
+ $syncdate = (($rr['site_sync'] <= NULL_DATE) ? datetime_convert('UTC','UTC','now - 2 days') : $rr['site_sync']);
$x = z_fetch_url($rr['site_directory'] . '?f=&sync=' . urlencode($syncdate) . (($token) ? '&t=' . $token : ''));
if (! $x['success'])
diff --git a/include/feedutils.php b/include/feedutils.php
index 01ec0687e..1d58ec317 100644
--- a/include/feedutils.php
+++ b/include/feedutils.php
@@ -33,7 +33,7 @@ function get_public_feed($channel, $params) {
// put a sane lower limit on feed requests if not specified
-// if($params['begin'] === NULL_DATE)
+// if($params['begin'] <= NULL_DATE)
// $params['begin'] = datetime_convert('UTC','UTC','now - 1 month');
switch($params['type']) {
@@ -884,7 +884,7 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
$datarray['owner_xchan'] = $contact['xchan_hash'];
- if(array_key_exists('created',$datarray) && $datarray['created'] != NULL_DATE && $expire_days) {
+ if(array_key_exists('created',$datarray) && $datarray['created'] > NULL_DATE && $expire_days) {
$t1 = $datarray['created'];
$t2 = datetime_convert('UTC','UTC','now - ' . $expire_days . 'days');
if($t1 < $t2) {
diff --git a/include/import.php b/include/import.php
index 15aa7c2b3..1d636bfbd 100644
--- a/include/import.php
+++ b/include/import.php
@@ -422,9 +422,9 @@ function sync_apps($channel,$apps) {
);
}
- if(! $app['app_created'] || $app['app_created'] === NULL_DATE)
+ if((! $app['app_created']) || ($app['app_created'] <= NULL_DATE))
$app['app_created'] = datetime_convert();
- if(! $app['app_edited'] || $app['app_edited'] === NULL_DATE)
+ if((! $app['app_edited']) || ($app['app_edited'] <= NULL_DATE))
$app['app_edited'] = datetime_convert();
$app['app_channel'] = $channel['channel_id'];
@@ -536,9 +536,9 @@ function sync_chatrooms($channel,$chatrooms) {
unset($chatroom['cr_aid']);
unset($chatroom['cr_uid']);
- if(! $chatroom['cr_created'] || $chatroom['cr_created'] === NULL_DATE)
+ if((! $chatroom['cr_created']) || ($chatroom['cr_created'] <= NULL_DATE))
$chatroom['cr_created'] = datetime_convert();
- if(! $chatroom['cr_edited'] || $chatroom['cr_edited'] === NULL_DATE)
+ if((! $chatroom['cr_edited']) || ($chatroom['cr_edited'] <= NULL_DATE))
$chatroom['cr_edited'] = datetime_convert();
$chatroom['cr_aid'] = $channel['channel_account_id'];
diff --git a/include/items.php b/include/items.php
index 55bdcf8ef..c62d53c3e 100755
--- a/include/items.php
+++ b/include/items.php
@@ -163,7 +163,7 @@ function collect_recipients($item, &$private_envelope) {
}
function comments_are_now_closed($item) {
- if($item['comments_closed'] !== NULL_DATE) {
+ if($item['comments_closed'] > NULL_DATE) {
$d = datetime_convert();
if($d > $item['comments_closed'])
return true;
@@ -1090,7 +1090,7 @@ function encode_item($item,$mirror = false) {
if($y = encode_item_flags($item))
$x['flags'] = $y;
- if($item['comments_closed'] !== NULL_DATE)
+ if($item['comments_closed'] > NULL_DATE)
$x['comments_closed'] = $item['comments_closed'];
$x['public_scope'] = $scope;
@@ -1439,7 +1439,7 @@ function get_mail_elements($x) {
$arr['conv_guid'] = (($x['conv_guid'])? htmlspecialchars($x['conv_guid'],ENT_COMPAT,'UTF-8',false) : '');
$arr['created'] = datetime_convert('UTC','UTC',$x['created']);
- if((! array_key_exists('expires',$x)) || ($x['expires'] === NULL_DATE))
+ if((! array_key_exists('expires',$x)) || ($x['expires'] <= NULL_DATE))
$arr['expires'] = NULL_DATE;
else
$arr['expires'] = datetime_convert('UTC','UTC',$x['expires']);
@@ -2065,7 +2065,7 @@ function item_store_update($arr,$allow_exec = false, $deliver = true) {
$arr['edited'] = ((x($arr,'edited') !== false) ? datetime_convert('UTC','UTC',$arr['edited']) : datetime_convert());
$arr['expires'] = ((x($arr,'expires') !== false) ? datetime_convert('UTC','UTC',$arr['expires']) : $orig[0]['expires']);
- if(array_key_exists('comments_closed',$arr) && $arr['comments_closed'] != NULL_DATE)
+ if(array_key_exists('comments_closed',$arr) && $arr['comments_closed'] > NULL_DATE)
$arr['comments_closed'] = datetime_convert('UTC','UTC',$arr['comments_closed']);
else
$arr['comments_closed'] = $orig[0]['comments_closed'];
@@ -3832,7 +3832,7 @@ function zot_feed($uid,$observer_hash,$arr) {
$limit = " LIMIT 100 ";
- if($mindate != NULL_DATE) {
+ if($mindate > NULL_DATE) {
$sql_extra .= " and ( created > '$mindate' or changed > '$mindate' ) ";
}