forked from GNUsocial/gnu-social
Update to DB_DataObject 1.11.2
Now there's definitely no PHP4 support whatsoever, if there even was little of it before this commit.
This commit is contained in:
30
extlib/DB/DataObject/Cast.php
Normal file → Executable file
30
extlib/DB/DataObject/Cast.php
Normal file → Executable file
@@ -17,7 +17,7 @@
|
||||
* @author Alan Knowles <alan@akbkhome.com>
|
||||
* @copyright 1997-2008 The PHP Group
|
||||
* @license http://www.php.net/license/3_01.txt PHP License 3.01
|
||||
* @version CVS: $Id: Cast.php 287158 2009-08-12 13:58:31Z alan_k $
|
||||
* @version CVS: $Id: Cast.php 326604 2012-07-12 03:02:00Z alan_k $
|
||||
* @link http://pear.php.net/package/DB_DataObject
|
||||
*/
|
||||
|
||||
@@ -395,7 +395,16 @@ class DB_DataObject_Cast {
|
||||
// this is funny - the parameter order is reversed ;)
|
||||
return "'".sqlite_escape_string($this->value)."'";
|
||||
|
||||
case 'mssql':
|
||||
|
||||
if(is_numeric($this->value)) {
|
||||
return $this->value;
|
||||
}
|
||||
$unpacked = unpack('H*hex', $this->value);
|
||||
return '0x' . $unpacked['hex'];
|
||||
|
||||
|
||||
|
||||
default:
|
||||
return PEAR::raiseError("DB_DataObject_Cast cant handle blobs for Database:{$db->dsn['phptype']} Yet");
|
||||
}
|
||||
@@ -422,10 +431,10 @@ class DB_DataObject_Cast {
|
||||
// perhaps we should support TEXT fields???
|
||||
//
|
||||
|
||||
if (!($to & DB_DATAOBJECT_BLOB)) {
|
||||
return PEAR::raiseError('Invalid Cast from a DB_DataObject_Cast::string to something other than a blob!'.
|
||||
' (why not just use native features)');
|
||||
}
|
||||
// $to == a string field which is the default type (0)
|
||||
// so we do not test it here. - we assume that number fields
|
||||
// will accept a string?? - which is stretching it a bit ...
|
||||
// should probaly add that test as some point.
|
||||
|
||||
switch ($db->dsn['phptype']) {
|
||||
case 'pgsql':
|
||||
@@ -438,7 +447,15 @@ class DB_DataObject_Cast {
|
||||
case 'mysqli':
|
||||
return "'".mysqli_real_escape_string($db->connection, $this->value)."'";
|
||||
|
||||
|
||||
case 'mssql':
|
||||
// copied from the old DB mssql code...?? not sure how safe this is.
|
||||
return "'" . str_replace(
|
||||
array("'", "\\\r\n", "\\\n"),
|
||||
array("''", "\\\\\r\n\r\n", "\\\\\n\n"),
|
||||
$this->value
|
||||
) . "'";
|
||||
|
||||
|
||||
default:
|
||||
return PEAR::raiseError("DB_DataObject_Cast cant handle blobs for Database:{$db->dsn['phptype']} Yet");
|
||||
}
|
||||
@@ -544,6 +561,5 @@ class DB_DataObject_Cast {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user