diff options
| author | Mark Newnham <mark@newnhams.com> | 2020-01-06 19:12:11 -0700 |
|---|---|---|
| committer | Damien Regad <dregad@mantisbt.org> | 2020-01-24 23:08:40 +0100 |
| commit | 5fc53ed388827ee25f16afb3b2dc310f04c5a47e (patch) | |
| tree | bc94d0b678c72fb0a8bc159bee9c6a3f0f2b64a5 /drivers/adodb-mssql.inc.php | |
| parent | e2e849982f4b7a28ffba8800237a9d18d1064e35 (diff) | |
| download | adodb-5fc53ed388827ee25f16afb3b2dc310f04c5a47e.tar.gz adodb-5fc53ed388827ee25f16afb3b2dc310f04c5a47e.tar.bz2 adodb-5fc53ed388827ee25f16afb3b2dc310f04c5a47e.zip | |
Remove the pre-PHP5 date/time management feature
Diffstat (limited to 'drivers/adodb-mssql.inc.php')
| -rw-r--r-- | drivers/adodb-mssql.inc.php | 134 |
1 files changed, 3 insertions, 131 deletions
diff --git a/drivers/adodb-mssql.inc.php b/drivers/adodb-mssql.inc.php index 596e1245..2242df29 100644 --- a/drivers/adodb-mssql.inc.php +++ b/drivers/adodb-mssql.inc.php @@ -39,39 +39,7 @@ if (!defined('ADODB_DIR')) die(); //---------------------------------------------------------------- -// has datetime conversion to YYYY-MM-DD format, and also mssql_fetch_assoc -if (ADODB_PHPVER >= 0x4300) { -// docs say 4.2.0, but testing shows only since 4.3.0 does it work! - ini_set('mssql.datetimeconvert',0); -} else { -global $ADODB_mssql_mths; // array, months must be upper-case - - - $ADODB_mssql_date_order = 'mdy'; - $ADODB_mssql_mths = array( - 'JAN'=>1,'FEB'=>2,'MAR'=>3,'APR'=>4,'MAY'=>5,'JUN'=>6, - 'JUL'=>7,'AUG'=>8,'SEP'=>9,'OCT'=>10,'NOV'=>11,'DEC'=>12); -} - -//--------------------------------------------------------------------------- -// Call this to autoset $ADODB_mssql_date_order at the beginning of your code, -// just after you connect to the database. Supports mdy and dmy only. -// Not required for PHP 4.2.0 and above. -function AutoDetect_MSSQL_Date_Order($conn) -{ -global $ADODB_mssql_date_order; - $adate = $conn->GetOne('select getdate()'); - if ($adate) { - $anum = (int) $adate; - if ($anum > 0) { - if ($anum > 31) { - //ADOConnection::outp( "MSSQL: YYYY-MM-DD date format not supported currently"); - } else - $ADODB_mssql_date_order = 'dmy'; - } else - $ADODB_mssql_date_order = 'mdy'; - } -} +ini_set('mssql.datetimeconvert',0); class ADODB_mssql extends ADOConnection { var $databaseType = "mssql"; @@ -877,16 +845,7 @@ order by constraint_name, referenced_table_name, keyno"; return $rez; } - // mssql uses a default date like Dec 30 2000 12:00AM - static function UnixDate($v) - { - return ADORecordSet_array_mssql::UnixDate($v); - } - - static function UnixTimeStamp($v) - { - return ADORecordSet_array_mssql::UnixTimeStamp($v); - } + /** * Returns a substring of a varchar type field @@ -1118,17 +1077,6 @@ class ADORecordset_mssql extends ADORecordSet { return true; } - // mssql uses a default date like Dec 30 2000 12:00AM - static function UnixDate($v) - { - return ADORecordSet_array_mssql::UnixDate($v); - } - - static function UnixTimeStamp($v) - { - return ADORecordSet_array_mssql::UnixTimeStamp($v); - } - /** * Returns the maximum size of a MetaType C field. Because of the * database design, SQL Server places no limits on the size of data inserted @@ -1156,83 +1104,7 @@ class ADORecordset_mssql extends ADORecordSet { } -class ADORecordSet_array_mssql extends ADORecordSet_array { - - // mssql uses a default date like Dec 30 2000 12:00AM - static function UnixDate($v) - { - if (is_numeric(substr($v,0,1))) { - return parent::UnixDate($v); - } - - global $ADODB_mssql_mths,$ADODB_mssql_date_order; - - //Dec 30 2000 12:00AM - if ($ADODB_mssql_date_order == 'dmy') { - if (!preg_match( "|^([0-9]{1,2})[-/\. ]+([A-Za-z]{3})[-/\. ]+([0-9]{4})|" ,$v, $rr)) { - return parent::UnixDate($v); - } - if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0; - - $theday = $rr[1]; - $themth = substr(strtoupper($rr[2]),0,3); - } else { - if (!preg_match( "|^([A-Za-z]{3})[-/\. ]+([0-9]{1,2})[-/\. ]+([0-9]{4})|" ,$v, $rr)) { - return parent::UnixDate($v); - } - if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0; - - $theday = $rr[2]; - $themth = substr(strtoupper($rr[1]),0,3); - } - $themth = $ADODB_mssql_mths[$themth]; - if ($themth <= 0) return false; - // h-m-s-MM-DD-YY - return mktime(0,0,0,$themth,$theday,$rr[3]); - } - - static function UnixTimeStamp($v) - { - if (is_numeric(substr($v,0,1))) { - return parent::UnixTimeStamp($v); - } - - global $ADODB_mssql_mths,$ADODB_mssql_date_order; - - //Dec 30 2000 12:00AM - if ($ADODB_mssql_date_order == 'dmy') { - if (!preg_match( "|^([0-9]{1,2})[-/\. ]+([A-Za-z]{3})[-/\. ]+([0-9]{4}) +([0-9]{1,2}):([0-9]{1,2}) *([apAP]{0,1})|" - ,$v, $rr)) return parent::UnixTimeStamp($v); - if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0; - - $theday = $rr[1]; - $themth = substr(strtoupper($rr[2]),0,3); - } else { - if (!preg_match( "|^([A-Za-z]{3})[-/\. ]+([0-9]{1,2})[-/\. ]+([0-9]{4}) +([0-9]{1,2}):([0-9]{1,2}) *([apAP]{0,1})|" - ,$v, $rr)) return parent::UnixTimeStamp($v); - if ($rr[3] <= TIMESTAMP_FIRST_YEAR) return 0; - - $theday = $rr[2]; - $themth = substr(strtoupper($rr[1]),0,3); - } - - $themth = $ADODB_mssql_mths[$themth]; - if ($themth <= 0) return false; - - switch (strtoupper($rr[6])) { - case 'P': - if ($rr[4]<12) $rr[4] += 12; - break; - case 'A': - if ($rr[4]==12) $rr[4] = 0; - break; - default: - break; - } - // h-m-s-MM-DD-YY - return mktime($rr[4],$rr[5],0,$themth,$theday,$rr[3]); - } -} +class ADORecordSet_array_mssql extends ADORecordSet_array {} /* Code Example 1: |
