diff --git a/boot.php b/boot.php index 1e0c300e19..af542e09ad 100644 --- a/boot.php +++ b/boot.php @@ -442,6 +442,14 @@ define('SR_SCOPE_ALL', 'all'); define('SR_SCOPE_TAGS', 'tags'); /* @}*/ +/** + * Lowest possible date time value + */ + +//define ('NULL_DATE', '0001-01-01 00:00:00'); +define ('NULL_DATE', '0000-00-00 00:00:00'); + + // Normally this constant is defined - but not if "pcntl" isn't installed if (!defined("SIGTERM")) define("SIGTERM", 15); @@ -2039,7 +2047,7 @@ function proc_run($cmd){ } // Checking number of workers - $workers = q("SELECT COUNT(*) AS `workers` FROM `workerqueue` WHERE `executed` != '0000-00-00 00:00:00'"); + $workers = q("SELECT COUNT(*) AS `workers` FROM `workerqueue` WHERE `executed` > '%s'", dbesc(NULL_DATE)); // Get number of allowed number of worker threads $queues = intval(get_config("system", "worker_queues")); diff --git a/include/Contact.php b/include/Contact.php index 2aab828f8a..7e8de65131 100644 --- a/include/Contact.php +++ b/include/Contact.php @@ -129,7 +129,7 @@ function mark_for_death($contact) { if($contact['archive']) return; - if($contact['term-date'] == '0000-00-00 00:00:00') { + if($contact['term-date'] <= NULL_DATE) { q("UPDATE `contact` SET `term-date` = '%s' WHERE `id` = %d", dbesc(datetime_convert()), intval($contact['id']) @@ -187,13 +187,13 @@ function unmark_for_death($contact) { // It's a miracle. Our dead contact has inexplicably come back to life. q("UPDATE `contact` SET `term-date` = '%s' WHERE `id` = %d", - dbesc('0000-00-00 00:00:00'), + dbesc(NULL_DATE), intval($contact['id']) ); if ($contact['url'] != '') { q("UPDATE `contact` SET `term-date` = '%s' WHERE `nurl` = '%s'", - dbesc('0000-00-00 00:00:00'), + dbesc(NULL_DATE), dbesc(normalise_link($contact['url'])) ); } @@ -256,7 +256,7 @@ function get_contact_details_by_url($url, $uid = -1, $default = array()) { // "bd" always contains the upcoming birthday of a contact. // "birthday" might contain the birthday including the year of birth. - if ($profile["birthday"] != "0000-00-00") { + if ($profile["birthday"] >= "0001-01-01") { $bd_timestamp = strtotime($profile["birthday"]); $month = date("m", $bd_timestamp); $day = date("d", $bd_timestamp); @@ -273,7 +273,7 @@ function get_contact_details_by_url($url, $uid = -1, $default = array()) { $profile["bd"] = (++$current_year)."-".$month."-".$day; } } else { - $profile["bd"] = "0000-00-00"; + $profile["bd"] = "0001-01-01"; } } else { $profile = $default; @@ -309,7 +309,7 @@ function get_contact_details_by_url($url, $uid = -1, $default = array()) { $profile["location"] = ""; $profile["about"] = ""; $profile["gender"] = ""; - $profile["birthday"] = "0000-00-00"; + $profile["birthday"] = "0001-01-01"; } $cache[$url][$uid] = $profile; diff --git a/include/cron.php b/include/cron.php index 2fc8de51c5..26ff728f4d 100644 --- a/include/cron.php +++ b/include/cron.php @@ -173,8 +173,8 @@ function cron_update_photo_albums() { function cron_expire_and_remove_users() { // expire any expired accounts q("UPDATE user SET `account_expired` = 1 where `account_expired` = 0 - AND `account_expires_on` != '0000-00-00 00:00:00' - AND `account_expires_on` < UTC_TIMESTAMP() "); + AND `account_expires_on` > '%s' + AND `account_expires_on` < UTC_TIMESTAMP()", dbesc(NULL_DATE)); // delete user and contact records for recently removed accounts $r = q("SELECT * FROM `user` WHERE `account_removed` AND `account_expires_on` < UTC_TIMESTAMP() - INTERVAL 3 DAY"); @@ -276,7 +276,7 @@ function cron_poll_contacts($argc, $argv) { $xml = false; if($manual_id) - $contact['last-update'] = '0000-00-00 00:00:00'; + $contact['last-update'] = NULL_DATE; if(in_array($contact['network'], array(NETWORK_DFRN, NETWORK_ZOT, NETWORK_OSTATUS))) $contact['priority'] = 2; diff --git a/include/datetime.php b/include/datetime.php index 8d4961cd7c..601b4decf4 100644 --- a/include/datetime.php +++ b/include/datetime.php @@ -126,7 +126,7 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d // 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') { + if(substr($s,0,10) <= '0001-01-01') { $d = new DateTime($s . ' + 32 days', new DateTimeZone('UTC')); return str_replace('1','0',$d->format($fmt)); } @@ -171,7 +171,7 @@ function dob($dob) { $f = get_config('system','birthday_input_format'); if(! $f) $f = 'ymd'; - if($dob === '0000-00-00') + if($dob <= '0001-01-01') $value = ''; else $value = (($year) ? datetime_convert('UTC','UTC',$dob,'Y-m-d') : datetime_convert('UTC','UTC',$dob,'m-d')); @@ -339,7 +339,7 @@ function relative_date($posted_date, $format = null) { $abs = strtotime($localtime); - if (is_null($posted_date) || $posted_date === '0000-00-00 00:00:00' || $abs === False) { + if (is_null($posted_date) || $posted_date <= NULL_DATE || $abs === False) { return t('never'); } @@ -553,7 +553,7 @@ function update_contact_birthdays() { // This only handles foreign or alien networks where a birthday has been provided. // In-network birthdays are handled within local_delivery - $r = q("SELECT * FROM contact WHERE `bd` != '' AND `bd` != '0000-00-00' AND SUBSTRING(`bd`,1,4) != `bdyear` "); + $r = q("SELECT * FROM contact WHERE `bd` != '' AND `bd` >= '0001-01-01' AND SUBSTRING(`bd`,1,4) != `bdyear` "); if (dbm::is_result($r)) { foreach ($r as $rr) { diff --git a/include/dbm.php b/include/dbm.php index fedc2e4fdb..eb3e2d0382 100644 --- a/include/dbm.php +++ b/include/dbm.php @@ -98,7 +98,7 @@ class dbm { // Workaround for 3.5.1 if ($timestamp < -62135596800) { - return '0000-00-00 00:00:00'; + return NULL_DATE; } // The above will be removed in 3.5.2 diff --git a/include/dbstructure.php b/include/dbstructure.php index 1e4790de2e..99057a9c00 100644 --- a/include/dbstructure.php +++ b/include/dbstructure.php @@ -536,8 +536,8 @@ function db_definition($charset) { "filetype" => array("type" => "varchar(64)", "not null" => "1", "default" => ""), "filesize" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "data" => array("type" => "longblob", "not null" => "1"), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "edited" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "edited" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "allow_cid" => array("type" => "mediumtext"), "allow_gid" => array("type" => "mediumtext"), "deny_cid" => array("type" => "mediumtext"), @@ -564,7 +564,7 @@ function db_definition($charset) { "k" => array("type" => "varbinary(255)", "not null" => "1", "primary" => "1"), "v" => array("type" => "mediumtext"), "expire_mode" => array("type" => "int(11)", "not null" => "1", "default" => "0"), - "updated" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "updated" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), ), "indexes" => array( "PRIMARY" => array("k"), @@ -613,7 +613,7 @@ function db_definition($charset) { "fields" => array( "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"), "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "self" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "remote_self" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "rel" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), @@ -651,14 +651,14 @@ function db_definition($charset) { "usehub" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "subhub" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "hub-verify" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), - "last-update" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "success_update" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "failure_update" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "name-date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "uri-date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "avatar-date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "term-date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "last-item" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "last-update" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "success_update" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "failure_update" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "name-date" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "uri-date" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "avatar-date" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "term-date" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "last-item" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "priority" => array("type" => "tinyint(3)", "not null" => "1", "default" => "0"), "blocked" => array("type" => "tinyint(1)", "not null" => "1", "default" => "1"), "readonly" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), @@ -703,8 +703,8 @@ function db_definition($charset) { "recips" => array("type" => "text"), "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "creator" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "updated" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "updated" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "subject" => array("type" => "text"), ), "indexes" => array( @@ -731,10 +731,10 @@ function db_definition($charset) { "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "cid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "uri" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "edited" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "start" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "finish" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "edited" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "start" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "finish" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "summary" => array("type" => "text"), "desc" => array("type" => "text"), "location" => array("type" => "text"), @@ -770,7 +770,7 @@ function db_definition($charset) { "network" => array("type" => "varchar(32)", "not null" => "1", "default" => ""), "alias" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "pubkey" => array("type" => "text"), - "updated" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "updated" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), ), "indexes" => array( "PRIMARY" => array("id"), @@ -811,7 +811,7 @@ function db_definition($charset) { "request" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "photo" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "note" => array("type" => "text"), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), ), "indexes" => array( "PRIMARY" => array("id"), @@ -838,10 +838,10 @@ function db_definition($charset) { "nurl" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "photo" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "connect" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "updated" => array("type" => "datetime", "default" => "0000-00-00 00:00:00"), - "last_contact" => array("type" => "datetime", "default" => "0000-00-00 00:00:00"), - "last_failure" => array("type" => "datetime", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "updated" => array("type" => "datetime", "default" => NULL_DATE), + "last_contact" => array("type" => "datetime", "default" => NULL_DATE), + "last_failure" => array("type" => "datetime", "default" => NULL_DATE), "location" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "about" => array("type" => "text"), "keywords" => array("type" => "text"), @@ -875,7 +875,7 @@ function db_definition($charset) { "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "gcid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "zcid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), - "updated" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "updated" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), ), "indexes" => array( "PRIMARY" => array("id"), @@ -923,10 +923,10 @@ function db_definition($charset) { "noscrape" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "network" => array("type" => "varchar(32)", "not null" => "1", "default" => ""), "platform" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "last_poco_query" => array("type" => "datetime", "default" => "0000-00-00 00:00:00"), - "last_contact" => array("type" => "datetime", "default" => "0000-00-00 00:00:00"), - "last_failure" => array("type" => "datetime", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "last_poco_query" => array("type" => "datetime", "default" => NULL_DATE), + "last_contact" => array("type" => "datetime", "default" => NULL_DATE), + "last_failure" => array("type" => "datetime", "default" => NULL_DATE), ), "indexes" => array( "PRIMARY" => array("id"), @@ -956,7 +956,7 @@ function db_definition($charset) { "duplex" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "note" => array("type" => "text"), "hash" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), - "datetime" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "datetime" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "blocked" => array("type" => "tinyint(1)", "not null" => "1", "default" => "1"), "ignore" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), ), @@ -979,11 +979,11 @@ function db_definition($charset) { "parent-uri" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "extid" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "thr-parent" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "edited" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "commented" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "received" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "changed" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "edited" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "commented" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "received" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "changed" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "owner-id" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "owner-name" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "owner-link" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), @@ -1082,7 +1082,7 @@ function db_definition($charset) { "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"), "name" => array("type" => "varchar(128)", "not null" => "1", "default" => ""), "locked" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), - "created" => array("type" => "datetime", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "default" => NULL_DATE), ), "indexes" => array( "PRIMARY" => array("id"), @@ -1106,7 +1106,7 @@ function db_definition($charset) { "unknown" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "uri" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "parent-uri" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), ), "indexes" => array( "PRIMARY" => array("id"), @@ -1130,7 +1130,7 @@ function db_definition($charset) { "action" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "movetofolder" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "pubmail" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), - "last_check" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "last_check" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), ), "indexes" => array( "PRIMARY" => array("id"), @@ -1155,7 +1155,7 @@ function db_definition($charset) { "name" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "url" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "photo" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), - "date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "date" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "msg" => array("type" => "mediumtext"), "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "link" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), @@ -1191,7 +1191,7 @@ function db_definition($charset) { "fields" => array( "url" => array("type" => "varbinary(255)", "not null" => "1", "primary" => "1"), "content" => array("type" => "mediumtext"), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), ), "indexes" => array( "PRIMARY" => array("url"), @@ -1204,7 +1204,7 @@ function db_definition($charset) { "guessing" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0", "primary" => "1"), "oembed" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0", "primary" => "1"), "content" => array("type" => "mediumtext"), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), ), "indexes" => array( "PRIMARY" => array("url", "guessing", "oembed"), @@ -1231,8 +1231,8 @@ function db_definition($charset) { "contact-id" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"), "guid" => array("type" => "varchar(64)", "not null" => "1", "default" => ""), "resource-id" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "edited" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "edited" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "title" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "desc" => array("type" => "text"), "album" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), @@ -1294,7 +1294,7 @@ function db_definition($charset) { "fields" => array( "pid" => array("type" => "int(10) unsigned", "not null" => "1", "primary" => "1"), "command" => array("type" => "varbinary(32)", "not null" => "1", "default" => ""), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), ), "indexes" => array( "PRIMARY" => array("pid"), @@ -1320,7 +1320,7 @@ function db_definition($charset) { "gender" => array("type" => "varchar(32)", "not null" => "1", "default" => ""), "marital" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "with" => array("type" => "text"), - "howlong" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "howlong" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "sexual" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "politic" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "religion" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), @@ -1372,7 +1372,7 @@ function db_definition($charset) { "topic" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "nickname" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "push" => array("type" => "int(11)", "not null" => "1", "default" => "0"), - "last_update" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "last_update" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "secret" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), ), "indexes" => array( @@ -1384,8 +1384,8 @@ function db_definition($charset) { "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"), "cid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "network" => array("type" => "varchar(32)", "not null" => "1", "default" => ""), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "last" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "last" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "content" => array("type" => "mediumtext"), "batch" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), ), @@ -1402,7 +1402,7 @@ function db_definition($charset) { "fields" => array( "id" => array("type" => "int(11) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"), "hash" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "uid" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"), "password" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "language" => array("type" => "varchar(16)", "not null" => "1", "default" => ""), @@ -1456,7 +1456,7 @@ function db_definition($charset) { "spam" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "ham" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "term" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), - "date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "date" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), ), "indexes" => array( "PRIMARY" => array("id"), @@ -1475,8 +1475,8 @@ function db_definition($charset) { "term" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "url" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "guid" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "received" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "received" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "global" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "aid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"), "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"), @@ -1497,11 +1497,11 @@ function db_definition($charset) { "gcontact-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"), "owner-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"), "author-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "edited" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "commented" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "received" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "changed" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "edited" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "commented" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "received" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "changed" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "wall" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "private" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "pubmail" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), @@ -1552,8 +1552,8 @@ function db_definition($charset) { "openid" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "timezone" => array("type" => "varchar(128)", "not null" => "1", "default" => ""), "language" => array("type" => "varchar(32)", "not null" => "1", "default" => "en"), - "register_date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "login_date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "register_date" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "login_date" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "default-location" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "allow_location" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "theme" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), @@ -1577,8 +1577,8 @@ function db_definition($charset) { "expire" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"), "account_removed" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "account_expired" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), - "account_expires_on" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), - "expire_notification_sent" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "account_expires_on" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), + "expire_notification_sent" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "service_class" => array("type" => "varchar(32)", "not null" => "1", "default" => ""), "def_gid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "allow_cid" => array("type" => "mediumtext"), @@ -1607,9 +1607,9 @@ function db_definition($charset) { "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"), "parameter" => array("type" => "text"), "priority" => array("type" => "tinyint(3) unsigned", "not null" => "1", "default" => "0"), - "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "pid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), - "executed" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "executed" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), ), "indexes" => array( "PRIMARY" => array("id"), diff --git a/include/diaspora.php b/include/diaspora.php index eca22092d8..302492efea 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -3574,7 +3574,7 @@ class Diaspora { if ($searchable === 'true') { $dob = '1000-00-00'; - if (($profile['dob']) && ($profile['dob'] != '0000-00-00')) + if (($profile['dob']) && ($profile['dob'] > '0001-01-01')) $dob = ((intval($profile['dob'])) ? intval($profile['dob']) : '1000') .'-'. datetime_convert('UTC','UTC',$profile['dob'],'m-d'); $about = $profile['about']; diff --git a/include/identity.php b/include/identity.php index ab80c71cea..670337e087 100644 --- a/include/identity.php +++ b/include/identity.php @@ -628,7 +628,7 @@ function advanced_profile(App $a) { if($a->profile['gender']) $profile['gender'] = array( t('Gender:'), $a->profile['gender'] ); - if(($a->profile['dob']) && ($a->profile['dob'] != '0000-00-00')) { + if(($a->profile['dob']) && ($a->profile['dob'] > '0001-01-01')) { $year_bd_format = t('j F, Y'); $short_bd_format = t('j F'); @@ -652,7 +652,7 @@ function advanced_profile(App $a) { $profile['marital']['with'] = $a->profile['with']; } - if (strlen($a->profile['howlong']) && $a->profile['howlong'] !== '0000-00-00 00:00:00') { + if (strlen($a->profile['howlong']) && $a->profile['howlong'] >= NULL_DATE) { $profile['howlong'] = relative_date($a->profile['howlong'], t('for %1$d %2$s')); } diff --git a/include/lock.php b/include/lock.php index b3d488a357..a48b0ad342 100644 --- a/include/lock.php +++ b/include/lock.php @@ -68,7 +68,8 @@ function block_on_function_lock($fn_name, $wait_sec = 2, $timeout = 30) { if(! function_exists('unlock_function')) { function unlock_function($fn_name) { - $r = q("UPDATE `locks` SET `locked` = 0, `created` = '0000-00-00 00:00:00' WHERE `name` = '%s'", + $r = q("UPDATE `locks` SET `locked` = 0, `created` = '%s' WHERE `name` = '%s'", + dbesc(NULL_DATE), dbesc($fn_name) ); diff --git a/include/onepoll.php b/include/onepoll.php index 5219d9f3bd..90ca639dd1 100644 --- a/include/onepoll.php +++ b/include/onepoll.php @@ -152,7 +152,7 @@ function onepoll_run(&$argv, &$argc){ logger("onepoll: poll: ({$contact['id']}) IMPORTER: {$importer['name']}, CONTACT: {$contact['name']}"); - $last_update = (($contact['last-update'] === '0000-00-00 00:00:00') + $last_update = (($contact['last-update'] <= NULL_DATE) ? datetime_convert('UTC','UTC','now - 7 days', ATOM_TIME) : datetime_convert('UTC','UTC',$contact['last-update'], ATOM_TIME) ); @@ -250,7 +250,7 @@ function onepoll_run(&$argv, &$argc){ mark_for_death($contact); } else { - if($contact['term-date'] != '0000-00-00 00:00:00') { + if ($contact['term-date'] > NULL_DATE) { logger("poller: $url back from the dead - removing mark for death"); unmark_for_death($contact); } diff --git a/include/poller.php b/include/poller.php index 8be4c1835c..a82d265880 100644 --- a/include/poller.php +++ b/include/poller.php @@ -343,7 +343,7 @@ function poller_max_connections_reached() { * */ function poller_kill_stale_workers() { - $r = q("SELECT `pid`, `executed`, `priority`, `parameter` FROM `workerqueue` WHERE `executed` != '0000-00-00 00:00:00'"); + $r = q("SELECT `pid`, `executed`, `priority`, `parameter` FROM `workerqueue` WHERE `executed` > '%s'", dbesc(NULL_DATE)); if (!dbm::is_result($r)) { // No processing here needed @@ -352,8 +352,8 @@ function poller_kill_stale_workers() { foreach($r AS $pid) if (!posix_kill($pid["pid"], 0)) - q("UPDATE `workerqueue` SET `executed` = '0000-00-00 00:00:00', `pid` = 0 WHERE `pid` = %d", - intval($pid["pid"])); + q("UPDATE `workerqueue` SET `executed` = '%s', `pid` = 0 WHERE `pid` = %d", + dbesc(NULL_DATE), intval($pid["pid"])); else { // Kill long running processes @@ -377,8 +377,9 @@ function poller_kill_stale_workers() { // We killed the stale process. // To avoid a blocking situation we reschedule the process at the beginning of the queue. // Additionally we are lowering the priority. - q("UPDATE `workerqueue` SET `executed` = '0000-00-00 00:00:00', `created` = '%s', + q("UPDATE `workerqueue` SET `executed` = '%s', `created` = '%s', `priority` = %d, `pid` = 0 WHERE `pid` = %d", + dbesc(NULL_DATE), dbesc(datetime_convert()), intval(PRIORITY_NEGLIGIBLE), intval($pid["pid"])); @@ -411,15 +412,15 @@ function poller_too_much_workers() { $slope = $maxworkers / pow($maxsysload, $exponent); $queues = ceil($slope * pow(max(0, $maxsysload - $load), $exponent)); - $s = q("SELECT COUNT(*) AS `total` FROM `workerqueue` WHERE `executed` = '0000-00-00 00:00:00'"); + $s = q("SELECT COUNT(*) AS `total` FROM `workerqueue` WHERE `executed` <= '%s'", dbesc(NULL_DATE)); $entries = $s[0]["total"]; if (Config::get("system", "worker_fastlane", false) AND ($queues > 0) AND ($entries > 0) AND ($active >= $queues)) { - $s = q("SELECT `priority` FROM `workerqueue` WHERE `executed` = '0000-00-00 00:00:00' ORDER BY `priority` LIMIT 1"); + $s = q("SELECT `priority` FROM `workerqueue` WHERE `executed` <= '%s' ORDER BY `priority` LIMIT 1", dbesc(NULL_DATE)); $top_priority = $s[0]["priority"]; - $s = q("SELECT `id` FROM `workerqueue` WHERE `priority` <= %d AND `executed` != '0000-00-00 00:00:00' LIMIT 1", - intval($top_priority)); + $s = q("SELECT `id` FROM `workerqueue` WHERE `priority` <= %d AND `executed` > '%s' LIMIT 1", + intval($top_priority), dbesc(NULL_DATE)); $high_running = dbm::is_result($s); if (!$high_running AND ($top_priority > PRIORITY_UNDEFINED) AND ($top_priority < PRIORITY_NEGLIGIBLE)) { @@ -539,20 +540,24 @@ function poller_worker_process() { if (poller_passing_slow($highest_priority)) { // Are there waiting processes with a higher priority than the currently highest? $r = q("SELECT * FROM `workerqueue` - WHERE `executed` = '0000-00-00 00:00:00' AND `priority` < %d - ORDER BY `priority`, `created` LIMIT 1", dbesc($highest_priority)); + WHERE `executed` <= '%s' AND `priority` < %d + ORDER BY `priority`, `created` LIMIT 1", + dbesc(NULL_DATE), + intval($highest_priority)); if (dbm::is_result($r)) return $r; // Give slower processes some processing time $r = q("SELECT * FROM `workerqueue` - WHERE `executed` = '0000-00-00 00:00:00' AND `priority` > %d - ORDER BY `priority`, `created` LIMIT 1", dbesc($highest_priority)); + WHERE `executed` <= '%s' AND `priority` > %d + ORDER BY `priority`, `created` LIMIT 1", + dbesc(NULL_DATE), + intval($highest_priority)); } // If there is no result (or we shouldn't pass lower processes) we check without priority limit if (($highest_priority == 0) OR !dbm::is_result($r)) - $r = q("SELECT * FROM `workerqueue` WHERE `executed` = '0000-00-00 00:00:00' ORDER BY `priority`, `created` LIMIT 1"); + $r = q("SELECT * FROM `workerqueue` WHERE `executed` <= '%s' ORDER BY `priority`, `created` LIMIT 1", dbesc(NULL_DATE)); return $r; } diff --git a/include/security.php b/include/security.php index c379518562..11a2955b4c 100644 --- a/include/security.php +++ b/include/security.php @@ -16,7 +16,7 @@ function authenticate_success($user_record, $login_initial = false, $interactive $a->user = $user_record; if($interactive) { - if($a->user['login_date'] === '0000-00-00 00:00:00') { + if($a->user['login_date'] <= NULL_DATE) { $_SESSION['return_url'] = 'profile_photo/new'; $a->module = 'profile_photo'; info( t("Welcome ") . $a->user['username'] . EOL); diff --git a/include/socgraph.php b/include/socgraph.php index a0dd88df2d..0421f3f219 100644 --- a/include/socgraph.php +++ b/include/socgraph.php @@ -81,7 +81,7 @@ function poco_load($cid,$uid = 0,$zcid = 0,$url = null) { $connect_url = ''; $name = ''; $network = ''; - $updated = '0000-00-00 00:00:00'; + $updated = NULL_DATE; $location = ''; $about = ''; $keywords = ''; @@ -242,7 +242,7 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca if (($network == "") AND ($x[0]["network"] != NETWORK_STATUSNET)) $network = $x[0]["network"]; - if ($updated == "0000-00-00 00:00:00") + if ($updated <= NULL_DATE) $updated = $x[0]["updated"]; $created = $x[0]["created"]; @@ -252,7 +252,7 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca $alias = $x[0]["alias"]; $notify = $x[0]["notify"]; } else { - $created = "0000-00-00 00:00:00"; + $created = NULL_DATE; $server_url = ""; $urlparts = parse_url($profile_url); @@ -420,7 +420,7 @@ function poco_last_updated($profile, $force = false) { $gcontacts = q("SELECT * FROM `gcontact` WHERE `nurl` = '%s'", dbesc(normalise_link($profile))); - if ($gcontacts[0]["created"] == "0000-00-00 00:00:00") + if ($gcontacts[0]["created"] <= NULL_DATE) q("UPDATE `gcontact` SET `created` = '%s' WHERE `nurl` = '%s'", dbesc(datetime_convert()), dbesc(normalise_link($profile))); @@ -619,7 +619,7 @@ function poco_last_updated($profile, $force = false) { // Maybe there aren't any entries. Then check if it is a valid feed if ($last_updated == "") if ($xpath->query('/atom:feed')->length > 0) - $last_updated = "0000-00-00 00:00:00"; + $last_updated = NULL_DATE; q("UPDATE `gcontact` SET `updated` = '%s', `last_contact` = '%s' WHERE `nurl` = '%s'", dbesc(dbm::date($last_updated)), dbesc(dbm::date()), dbesc(normalise_link($profile))); @@ -692,7 +692,7 @@ function poco_check_server($server_url, $network = "", $force = false) { $servers = q("SELECT * FROM `gserver` WHERE `nurl` = '%s'", dbesc(normalise_link($server_url))); if ($servers) { - if ($servers[0]["created"] == "0000-00-00 00:00:00") + if ($servers[0]["created"] <= NULL_DATE) q("UPDATE `gserver` SET `created` = '%s' WHERE `nurl` = '%s'", dbesc(datetime_convert()), dbesc(normalise_link($server_url))); @@ -723,8 +723,8 @@ function poco_check_server($server_url, $network = "", $force = false) { $info = ""; $register_policy = -1; - $last_contact = "0000-00-00 00:00:00"; - $last_failure = "0000-00-00 00:00:00"; + $last_contact = NULL_DATE; + $last_failure = NULL_DATE; } logger("Server ".$server_url." is outdated or unknown. Start discovery. Force: ".$force." Created: ".$servers[0]["created"]." Failure: ".$last_failure." Contact: ".$last_contact, LOGGER_DEBUG); @@ -1128,7 +1128,7 @@ function suggestion_query($uid, $start = 0, $limit = 80) { where uid = %d and not gcontact.nurl in ( select nurl from contact where uid = %d ) AND NOT `gcontact`.`name` IN (SELECT `name` FROM `contact` WHERE `uid` = %d) AND NOT `gcontact`.`id` IN (SELECT `gcid` FROM `gcign` WHERE `uid` = %d) - AND `gcontact`.`updated` != '0000-00-00 00:00:00' + AND `gcontact`.`updated` >= '%s' AND `gcontact`.`last_contact` >= `gcontact`.`last_failure` AND `gcontact`.`network` IN (%s) GROUP BY `glink`.`gcid` ORDER BY `gcontact`.`updated` DESC,`total` DESC LIMIT %d, %d", @@ -1136,6 +1136,7 @@ function suggestion_query($uid, $start = 0, $limit = 80) { intval($uid), intval($uid), intval($uid), + dbesc(NULL_DATE), $sql_network, intval($start), intval($limit) @@ -1154,13 +1155,14 @@ function suggestion_query($uid, $start = 0, $limit = 80) { WHERE `glink`.`uid` = 0 AND `glink`.`cid` = 0 AND `glink`.`zcid` = 0 AND NOT `gcontact`.`nurl` IN (SELECT `nurl` FROM `contact` WHERE `uid` = %d) AND NOT `gcontact`.`name` IN (SELECT `name` FROM `contact` WHERE `uid` = %d) AND NOT `gcontact`.`id` IN (SELECT `gcid` FROM `gcign` WHERE `uid` = %d) - AND `gcontact`.`updated` != '0000-00-00 00:00:00' + AND `gcontact`.`updated` >= '%s' AND `gcontact`.`last_contact` >= `gcontact`.`last_failure` AND `gcontact`.`network` IN (%s) ORDER BY rand() LIMIT %d, %d", intval($uid), intval($uid), intval($uid), + dbesc(NULL_DATE), $sql_network, intval($start), intval($limit) @@ -1374,7 +1376,7 @@ function poco_discover_server($data, $default_generation = 0) { $connect_url = ''; $name = ''; $network = ''; - $updated = '0000-00-00 00:00:00'; + $updated = NULL_DATE; $location = ''; $about = ''; $keywords = ''; diff --git a/include/uimport.php b/include/uimport.php index b774d78c6d..c6eeb6fc73 100644 --- a/include/uimport.php +++ b/include/uimport.php @@ -186,8 +186,8 @@ function import_account(App $a, $file) { } } if ($contact['uid'] == $olduid && $contact['self'] == '0') { - // set contacts 'avatar-date' to "0000-00-00 00:00:00" to let poller to update urls - $contact["avatar-date"] = "0000-00-00 00:00:00" ; + // set contacts 'avatar-date' to NULL_DATE to let poller to update urls + $contact["avatar-date"] = NULL_DATE; switch ($contact['network']) { diff --git a/library/Smarty/libs/plugins/modifier.date_format.php b/library/Smarty/libs/plugins/modifier.date_format.php index 5ad7540b15..c5992991de 100644 --- a/library/Smarty/libs/plugins/modifier.date_format.php +++ b/library/Smarty/libs/plugins/modifier.date_format.php @@ -36,7 +36,7 @@ function smarty_modifier_date_format($string, $format = null, $default_date = '' * Include the {@link shared.make_timestamp.php} plugin */ require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php'); - if ($string != '' && $string != '0000-00-00' && $string != '0000-00-00 00:00:00') { + if ($string != '' && $string > '0001-01-01' && $string > NULL_DATE) { $timestamp = smarty_make_timestamp($string); } elseif ($default_date != '') { $timestamp = smarty_make_timestamp($default_date); diff --git a/mod/contacts.php b/mod/contacts.php index a2a77e2a5c..5fdcb7036d 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -534,11 +534,11 @@ function contacts_content(App $a) { $insecure = t('Private communications are not available for this contact.'); - $last_update = (($contact['last-update'] == '0000-00-00 00:00:00') + $last_update = (($contact['last-update'] <= NULL_DATE) ? t('Never') : datetime_convert('UTC',date_default_timezone_get(),$contact['last-update'],'D, j M Y, g:i A')); - if($contact['last-update'] !== '0000-00-00 00:00:00') + if($contact['last-update'] > NULL_DATE) $last_update .= ' ' . (($contact['last-update'] <= $contact['success_update']) ? t("\x28Update was successful\x29") : t("\x28Update was not successful\x29")); $lblsuggest = (($contact['network'] === NETWORK_DFRN) ? t('Suggest friends') : ''); @@ -558,7 +558,7 @@ function contacts_content(App $a) { // tabs $tab_str = contacts_tab($a, $contact_id, 2); - $lost_contact = (($contact['archive'] && $contact['term-date'] != '0000-00-00 00:00:00' && $contact['term-date'] < datetime_convert('','','now')) ? t('Communications lost with this contact!') : ''); + $lost_contact = (($contact['archive'] && $contact['term-date'] > NULL_DATE && $contact['term-date'] < datetime_convert('','','now')) ? t('Communications lost with this contact!') : ''); if ($contact['network'] == NETWORK_FEED) $fetch_further_information = array('fetch_further_information', t('Fetch further information for feeds'), $contact['fetch_further_information'], t('Fetch further information for feeds'), diff --git a/mod/events.php b/mod/events.php index ac0c444cb5..2b84d903e1 100644 --- a/mod/events.php +++ b/mod/events.php @@ -60,7 +60,7 @@ function events_post(App $a) { } if ($nofinish) { - $finish = '0000-00-00 00:00:00'; + $finish = NULL_DATE; } if ($finish_text) { diff --git a/mod/hovercard.php b/mod/hovercard.php index ec749db208..ea1036b898 100644 --- a/mod/hovercard.php +++ b/mod/hovercard.php @@ -75,7 +75,7 @@ function hovercard_content() { 'tags' => $contact["keywords"], // 'nsfw' => intval($contact["nsfw"]), // 'server_url' => $contact["server_url"], - 'bd' => (($contact["birthday"] == "0000-00-00") ? "" : $contact["birthday"]), + 'bd' => (($contact["birthday"] <= "0001-01-01") ? "" : $contact["birthday"]), // 'generation' => $contact["generation"], 'account_type' => account_type($contact), 'actions' => $actions, diff --git a/mod/profiles.php b/mod/profiles.php index 4c6ff926b6..4ec4538389 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -191,21 +191,21 @@ function profiles_post(App $a) { return; } - $dob = $_POST['dob'] ? escape_tags(trim($_POST['dob'])) : '0000-00-00'; // FIXME: Needs to be validated? + $dob = $_POST['dob'] ? escape_tags(trim($_POST['dob'])) : '0001-01-01'; // FIXME: Needs to be validated? $y = substr($dob,0,4); if((! ctype_digit($y)) || ($y < 1900)) $ignore_year = true; else $ignore_year = false; - if($dob != '0000-00-00') { - if(strpos($dob,'0000-') === 0) { + if($dob > '0001-01-01') { + if(strpos($dob,'000') === 0) { $ignore_year = true; $dob = substr($dob,5); } $dob = datetime_convert('UTC','UTC',(($ignore_year) ? '1900-' . $dob : $dob),(($ignore_year) ? 'm-d' : 'Y-m-d')); if($ignore_year) - $dob = '0000-' . $dob; + $dob = '0001-' . $dob; } $name = notags(trim($_POST['name'])); @@ -234,7 +234,7 @@ function profiles_post(App $a) { $with = ((x($_POST,'with')) ? notags(trim($_POST['with'])) : ''); if(! strlen($howlong)) - $howlong = '0000-00-00 00:00:00'; + $howlong = NULL_DATE; else $howlong = datetime_convert(date_default_timezone_get(),'UTC',$howlong); @@ -721,7 +721,7 @@ function profiles_content(App $a) { '$gender' => gender_selector($r[0]['gender']), '$marital' => marital_selector($r[0]['marital']), '$with' => array('with', t("Who: \x28if applicable\x29"), strip_tags($r[0]['with']), t('Examples: cathy123, Cathy Williams, cathy@example.com')), - '$howlong' => array('howlong', t('Since [date]:'), ($r[0]['howlong'] === '0000-00-00 00:00:00' ? '' : datetime_convert('UTC',date_default_timezone_get(),$r[0]['howlong']))), + '$howlong' => array('howlong', t('Since [date]:'), ($r[0]['howlong'] <= NULL_DATE ? '' : datetime_convert('UTC',date_default_timezone_get(),$r[0]['howlong']))), '$sexual' => sexpref_selector($r[0]['sexual']), '$about' => array('about', t('Tell us about yourself...'), $r[0]['about']), '$xmpp' => array('xmpp', t('XMPP (Jabber) address:'), $r[0]['xmpp'], t("The XMPP address will be propagated to your contacts so that they can follow you.")), diff --git a/mod/settings.php b/mod/settings.php index 32ccaf541a..5c9c439e0a 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -872,7 +872,7 @@ function settings_content(App $a) { $mail_pubmail = ((dbm::is_result($r)) ? $r[0]['pubmail'] : 0); $mail_action = ((dbm::is_result($r)) ? $r[0]['action'] : 0); $mail_movetofolder = ((dbm::is_result($r)) ? $r[0]['movetofolder'] : ''); - $mail_chk = ((dbm::is_result($r)) ? $r[0]['last_check'] : '0000-00-00 00:00:00'); + $mail_chk = ((dbm::is_result($r)) ? $r[0]['last_check'] : NULL_DATE); $tpl = get_markup_template("settings_connectors.tpl"); diff --git a/update.php b/update.php index 041de9cfff..1696bb3a04 100644 --- a/update.php +++ b/update.php @@ -48,8 +48,8 @@ function update_1000() { q("ALTER TABLE `intro` ADD `duplex` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `knowyou` "); q("ALTER TABLE `contact` ADD `duplex` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `rel` "); - q("ALTER TABLE `contact` CHANGE `issued-pubkey` `issued-pubkey` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL"); - q("ALTER TABLE `contact` ADD `term-date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `avatar-date`"); + q("ALTER TABLE `contact` CHANGE `issued-pubkey` `issued-pubkey` TEXTCHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL"); + q("ALTER TABLE `contact` ADD `term-date` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `avatar-date`"); } function update_1001() { @@ -242,8 +242,8 @@ function update_1022() { } function update_1023() { - q("ALTER TABLE `user` ADD `register_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `timezone` , - ADD `login_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `register_date` "); + q("ALTER TABLE `user` ADD `register_date` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `timezone` , + ADD `login_date` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `register_date` "); } function update_1024() { @@ -349,7 +349,7 @@ function update_1034() { function update_1035() { - q("ALTER TABLE `contact` ADD `success_update` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `last-update` "); + q("ALTER TABLE `contact` ADD `success_update` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `last-update` "); } @@ -443,7 +443,7 @@ function update_1049() { `user` CHAR( 255 ) NOT NULL , `pass` CHAR( 255 ) NOT NULL , `reply_to` CHAR( 255 ) NOT NULL , - `last_check` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' + `last_check` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' ) ENGINE = MYISAM "); } @@ -454,8 +454,8 @@ function update_1050() { `filetype` CHAR( 64 ) NOT NULL , `filesize` INT NOT NULL , `data` LONGBLOB NOT NULL , - `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', - `edited` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `created` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00', + `edited` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00', `allow_cid` MEDIUMTEXT NOT NULL , `allow_gid` MEDIUMTEXT NOT NULL , `deny_cid` MEDIUMTEXT NOT NULL , @@ -531,7 +531,7 @@ function update_1065() { } function update_1066() { - $r = q("ALTER TABLE `item` ADD `received` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `edited` "); + $r = q("ALTER TABLE `item` ADD `received` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `edited` "); if($r) q("ALTER TABLE `item` ADD INDEX ( `received` ) "); @@ -673,7 +673,7 @@ function update_1079() { } function update_1080() { - q("ALTER TABLE `fcontact` ADD `updated` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'"); + q("ALTER TABLE `fcontact` ADD `updated` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00'"); } function update_1081() { @@ -728,7 +728,7 @@ function update_1086() { } function update_1087() { - q("ALTER TABLE `item` ADD `commented` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `edited` "); + q("ALTER TABLE `item` ADD `commented` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `edited` "); $r = q("SELECT `id` FROM `item` WHERE `parent` = `id` "); if (dbm::is_result($r)) { @@ -747,8 +747,8 @@ function update_1087() { function update_1088() { q("ALTER TABLE `user` ADD `account_expired` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `expire` , - ADD `account_expires_on` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `account_expired` , - ADD `expire_notification_sent` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `account_expires_on` "); + ADD `account_expires_on` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `account_expired` , + ADD `expire_notification_sent` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `account_expires_on` "); } function update_1089() { @@ -932,8 +932,8 @@ ADD INDEX ( `hidden` ) "); function update_1109() { q("ALTER TABLE `conv` ADD `creator` CHAR( 255 ) NOT NULL , - ADD `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', - ADD `updated` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + ADD `created` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00', + ADD `updated` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00', ADD `subject` MEDIUMTEXT NOT NULL, ADD INDEX ( `created` ), ADD INDEX ( `updated` ) "); } @@ -1112,7 +1112,7 @@ function update_1127() { function update_1128() { - q("alter table spam add `date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `term` "); + q("alter table spam add `date` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `term` "); } function update_1129() { @@ -1262,7 +1262,7 @@ function update_1144() { } function update_1145() { - $r = q("alter table profile add howlong datetime not null default '0000-00-00 00:00:00' after `with`"); + $r = q("alter table profile add howlong datetime not null default '0001-01-01 00:00:00' after `with`"); if(! $r) return UPDATE_FAILED ; return UPDATE_SUCCESS ; @@ -1562,11 +1562,11 @@ function update_1169() { `iid` int(10) unsigned NOT NULL DEFAULT '0', `uid` int(10) unsigned NOT NULL DEFAULT '0', `contact-id` int(11) unsigned NOT NULL DEFAULT '0', - `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `commented` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `received` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', - `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00', + `edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00', + `commented` datetime NOT NULL DEFAULT '0001-01-01 00:00:00', + `received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00', + `changed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00', `wall` tinyint(1) NOT NULL DEFAULT '0', `private` tinyint(1) NOT NULL DEFAULT '0', `pubmail` tinyint(1) NOT NULL DEFAULT '0',