- Timestamp:
- Apr 27, 2017 3:29:17 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/Utilities.inc.php
r598 r600 915 915 function escapedList($in, $separator="', '") 916 916 { 917 require_once dirname(__FILE__) . '/DB.inc.php'; 917 918 $db =& DB::getInstance(); 918 919 … … 930 931 * 931 932 * @param array $date String date to convert. 932 * @param array $format Date format to pass to date(). 933 * Default produces MySQL datetime: 0000-00-00 00:00:00. 933 * @param array $format Date format to pass to date(). Default produces MySQL datetime: YYYY-MM-DD hh:mm:ss 934 934 * @return string SQL-safe date. 935 935 */ 936 936 function strToSQLDate($date, $format='Y-m-d H:i:s') 937 937 { 938 require_once dirname(__FILE__) . '/DB.inc.php'; 939 $db =& DB::getInstance(); 940 941 if ($db->isConnected() && version_compare(mysql_get_server_info(), '5.7.4', '>=')) { 942 // Mysql version >= 5.7.4 stopped allowing a "zero" date of 0000-00-00. 943 // https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date 944 $zero_y = '1000'; 945 $zero_m = '01'; 946 $zero_d = '01'; 947 } else { 948 $zero_y = '0000'; 949 $zero_m = '00'; 950 $zero_d = '00'; 951 } 938 952 // Translate the human string date into SQL-safe date format. 939 if (empty($date) || mb_strpos($date, '0000-00-00') !== false || strtotime($date) === -1 || strtotime($date) === false || strtotime($date) === null) {953 if (empty($date) || mb_strpos($date, sprintf('%s-%s-%s', $zero_y, $zero_m, $zero_d)) !== false || strtotime($date) === -1 || strtotime($date) === false || strtotime($date) === null) { 940 954 // Return a string of zero time, formatted the same as $format. 941 955 return strtr($format, array( 942 'Y' => '0000',943 'm' => '00',944 'd' => '00',956 'Y' => $zero_y, 957 'm' => $zero_m, 958 'd' => $zero_d, 945 959 'H' => '00', 946 960 'i' => '00',
Note: See TracChangeset
for help on using the changeset viewer.