diff --git a/composer.json b/composer.json
index 530ec4922c7..f5832a1d15f 100644
--- a/composer.json
+++ b/composer.json
@@ -82,7 +82,7 @@
"mtdowling/jmespath.php": "2.8.0",
"spatie/php-cloneable": "1.0.2",
"lbuchs/webauthn": "2.2.0",
- "adodb/adodb-php": "5.22.9",
+ "adodb/adodb-php": "5.22.11",
"html2text/html2text": "4.3.2",
"michelf/php-markdown": "2.0.0",
"mustache/mustache": "3.0.0",
diff --git a/composer.lock b/composer.lock
index 76efadfdb58..e9e801f802a 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "bef2866d8b72f97a7a3524c5b08a3cb6",
+ "content-hash": "f55782767c6df3ed6acb19c27d3a21f8",
"packages": [
{
"name": "adodb/adodb-php",
- "version": "v5.22.9",
+ "version": "v5.22.11",
"source": {
"type": "git",
"url": "https://github.com/ADOdb/ADOdb.git",
- "reference": "a568bfeb72d6b5942df747adc36b95165a083e60"
+ "reference": "a741375176f48b084ca9a110c112323fc7101b75"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ADOdb/ADOdb/zipball/a568bfeb72d6b5942df747adc36b95165a083e60",
- "reference": "a568bfeb72d6b5942df747adc36b95165a083e60",
+ "url": "https://api.github.com/repos/ADOdb/ADOdb/zipball/a741375176f48b084ca9a110c112323fc7101b75",
+ "reference": "a741375176f48b084ca9a110c112323fc7101b75",
"shasum": ""
},
"require": {
@@ -65,7 +65,21 @@
"issues": "https://github.com/ADOdb/ADOdb/issues",
"source": "https://github.com/ADOdb/ADOdb"
},
- "time": "2025-05-01T11:49:24+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/ADOdb",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/dregad",
+ "type": "github"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/adodb",
+ "type": "thanks_dev"
+ }
+ ],
+ "time": "2025-11-22T15:37:23+00:00"
},
{
"name": "aws/aws-crt-php",
@@ -7749,7 +7763,7 @@
],
"aliases": [],
"minimum-stability": "dev",
- "stability-flags": {},
+ "stability-flags": [],
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
@@ -7774,6 +7788,6 @@
"ext-fileinfo": "*",
"ext-sodium": "*"
},
- "platform-dev": {},
- "plugin-api-version": "2.9.0"
+ "platform-dev": [],
+ "plugin-api-version": "2.6.0"
}
diff --git a/public/lib/adodb/adodb-active-record.inc.php b/public/lib/adodb/adodb-active-record.inc.php
index 08f7ca8d290..ea1d4ed3512 100644
--- a/public/lib/adodb/adodb-active-record.inc.php
+++ b/public/lib/adodb/adodb-active-record.inc.php
@@ -717,35 +717,36 @@ class ADODB_Active_Record {
}
// quote data in where clause
- function doquote(&$db, $val,$t)
+ function doQuote($db, $val, $t)
{
- switch($t) {
- case 'L':
- if (strpos($db->databaseType,'postgres') !== false) {
- return $db->qstr($val);
- }
- case 'D':
- case 'T':
- if (empty($val)) {
- return 'null';
- }
- case 'B':
- case 'N':
- case 'C':
- case 'X':
- if (is_null($val)) {
- return 'null';
- }
-
- if (strlen($val)>0 &&
- (strncmp($val,"'",1) != 0 || substr($val,strlen($val)-1,1) != "'")
- ) {
- return $db->qstr($val);
- break;
- }
- default:
- return $val;
- break;
+ switch ($t) {
+ /** @noinspection PhpMissingBreakStatementInspection */
+ case 'L':
+ if (strpos($db->databaseType, 'postgres') !== false) {
+ return $db->qstr($val);
+ }
+ case 'D':
+ /** @noinspection PhpMissingBreakStatementInspection */
+ case 'T':
+ if (empty($val)) {
+ return 'null';
+ }
+ case 'B':
+ case 'N':
+ case 'C':
+ /** @noinspection PhpMissingBreakStatementInspection */
+ case 'X':
+ if (is_null($val)) {
+ return 'null';
+ }
+ if ('' === (string)$val) {
+ return "''";
+ }
+ if (substr($val, 0, 1) != "'" || substr($val,-1) != "'") {
+ return $db->qstr($val);
+ }
+ default:
+ return $val;
}
}
@@ -759,27 +760,12 @@ class ADODB_Active_Record {
$f = $table->flds[$k];
if ($f) {
$columnName = $this->nameQuoter($db,$k);
- $parr[] = $columnName.' = '.$this->doquote($db,$this->$k,$db->MetaType($f->type));
+ $parr[] = $columnName . ' = ' . $this->doQuote($db, $this->$k, $db->MetaType($f->type));
}
}
return implode(' AND ', $parr);
}
-
- function _QName($n,$db=false)
- {
- if (!ADODB_Active_Record::$_quoteNames) {
- return $n;
- }
- if (!$db) {
- $db = $this->DB();
- if (!$db) {
- return false;
- }
- }
- return $db->nameQuote.$n.$db->nameQuote;
- }
-
//------------------------------------------------------------ Public functions below
function Load($where=null,$bindarr=false, $lock = false)
@@ -983,7 +969,7 @@ class ADODB_Active_Record {
}
$t = $db->MetaType($fld->type);
- $arr[$name] = $this->doquote($db,$val,$t);
+ $arr[$name] = $this->doQuote($db, $val, $t);
$valarr[] = $val;
}
diff --git a/public/lib/adodb/adodb-active-recordx.inc.php b/public/lib/adodb/adodb-active-recordx.inc.php
index 18e2a1893a8..789c9930deb 100644
--- a/public/lib/adodb/adodb-active-recordx.inc.php
+++ b/public/lib/adodb/adodb-active-recordx.inc.php
@@ -762,28 +762,36 @@ class ADODB_Active_Record {
}
// quote data in where clause
- function doquote(&$db, $val,$t)
+ function doQuote($db, $val, $t)
{
- switch($t) {
- case 'D':
- case 'T':
- if (empty($val)) {
- return 'null';
- }
- case 'C':
- case 'X':
- if (is_null($val)) {
- return 'null';
- }
- if (strlen($val)>0 &&
- (strncmp($val,"'",1) != 0 || substr($val,strlen($val)-1,1) != "'")
- ) {
- return $db->qstr($val);
- break;
- }
- default:
- return $val;
- break;
+ switch ($t) {
+ /** @noinspection PhpMissingBreakStatementInspection */
+ case 'L':
+ if (strpos($db->databaseType, 'postgres') !== false) {
+ return $db->qstr($val);
+ }
+ case 'D':
+ /** @noinspection PhpMissingBreakStatementInspection */
+ case 'T':
+ if (empty($val)) {
+ return 'null';
+ }
+ case 'B':
+ case 'N':
+ case 'C':
+ /** @noinspection PhpMissingBreakStatementInspection */
+ case 'X':
+ if (is_null($val)) {
+ return 'null';
+ }
+ if ('' === (string)$val) {
+ return "''";
+ }
+ if (substr($val, 0, 1) != "'" || substr($val,-1) != "'") {
+ return $db->qstr($val);
+ }
+ default:
+ return $val;
}
}
@@ -796,7 +804,7 @@ class ADODB_Active_Record {
foreach($keys as $k) {
$f = $table->flds[$k];
if ($f) {
- $parr[] = $k.' = '.$this->doquote($db,$this->$k,$db->MetaType($f->type));
+ $parr[] = $k . ' = ' . $this->doQuote($db, $this->$k, $db->MetaType($f->type));
}
}
return implode(' and ', $parr);
@@ -1081,7 +1089,7 @@ class ADODB_Active_Record {
continue;
}
$t = $db->MetaType($fld->type);
- $arr[$name] = $this->doquote($db,$val,$t);
+ $arr[$name] = $this->doQuote($db, $val, $t);
$valarr[] = $val;
}
diff --git a/public/lib/adodb/adodb-csvlib.inc.php b/public/lib/adodb/adodb-csvlib.inc.php
index 87efd9406cc..17db6cacf72 100644
--- a/public/lib/adodb/adodb-csvlib.inc.php
+++ b/public/lib/adodb/adodb-csvlib.inc.php
@@ -142,7 +142,7 @@ $ADODB_INCLUDED_CSV = 1;
$rs->EOF = true;
$rs->_numOfFields = 0;
$rs->sql = urldecode($meta[2]);
- $rs->affectedrows = (integer)$meta[3];
+ $rs->affectedrows = (int)$meta[3];
$rs->insertid = $meta[4];
return $rs;
}
@@ -156,7 +156,7 @@ $ADODB_INCLUDED_CSV = 1;
# +0 sec after timeout, give processes 100% chance of timing out
if (sizeof($meta) > 1) {
if($timeout >0){
- $tdiff = (integer)( $meta[1]+$timeout - time());
+ $tdiff = (int)( $meta[1]+$timeout - time());
if ($tdiff <= 2) {
switch($tdiff) {
case 4:
diff --git a/public/lib/adodb/adodb-error.inc.php b/public/lib/adodb/adodb-error.inc.php
index 517cf9b0138..bc621b51d3e 100644
--- a/public/lib/adodb/adodb-error.inc.php
+++ b/public/lib/adodb/adodb-error.inc.php
@@ -107,7 +107,7 @@ function adodb_error($provider,$dbType,$errno)
function adodb_error_pg($errormsg)
{
- if (is_numeric($errormsg)) return (integer) $errormsg;
+ if (is_numeric($errormsg)) return (int) $errormsg;
// Postgres has no lock-wait timeout. The best we could do would be to set a statement timeout.
static $error_regexps = array(
'(Table does not exist\.|Relation [\"\'].*[\"\'] does not exist|sequence does not exist|class ".+" not found)$' => DB_ERROR_NOSUCHTABLE,
diff --git a/public/lib/adodb/adodb-lib.inc.php b/public/lib/adodb/adodb-lib.inc.php
index 46fa5ddf7eb..c2089e00873 100644
--- a/public/lib/adodb/adodb-lib.inc.php
+++ b/public/lib/adodb/adodb-lib.inc.php
@@ -1158,7 +1158,7 @@ function _adodb_column_sql(&$zthis, $action, $type, $fname, $fnameq, $arrFields,
case "I":
case "R":
$val = $arrFields[$fname];
- if (!is_numeric($val)) $val = (integer) $val;
+ if (!is_numeric($val)) $val = (int) $val;
break;
default:
diff --git a/public/lib/adodb/adodb-pager.inc.php b/public/lib/adodb/adodb-pager.inc.php
index cfe981d32c8..122641edb66 100644
--- a/public/lib/adodb/adodb-pager.inc.php
+++ b/public/lib/adodb/adodb-pager.inc.php
@@ -68,7 +68,7 @@ class ADODB_Pager {
$next_page = $id.'_next_page';
if (isset($_GET[$next_page])) {
- $_SESSION[$curr_page] = (integer) $_GET[$next_page];
+ $_SESSION[$curr_page] = (int) $_GET[$next_page];
}
if (empty($_SESSION[$curr_page])) $_SESSION[$curr_page] = 1; ## at first page
diff --git a/public/lib/adodb/adodb-perf.inc.php b/public/lib/adodb/adodb-perf.inc.php
index 91610536545..0b59cf7dcb0 100644
--- a/public/lib/adodb/adodb-perf.inc.php
+++ b/public/lib/adodb/adodb-perf.inc.php
@@ -33,7 +33,7 @@ $ADODB_PERF_MIN = 0.05; // log only if >= minimum number of secs to run
function adodb_getmem()
{
if (function_exists('memory_get_usage'))
- return (integer) ((memory_get_usage()+512)/1024);
+ return (int) ((memory_get_usage()+512)/1024);
$pid = getmypid();
@@ -49,7 +49,7 @@ function adodb_getmem()
if (sizeof($output) == 0) return 0;
$memarr = explode(' ',$output[0]);
- if (sizeof($memarr)>=2) return (integer) $memarr[1];
+ if (sizeof($memarr)>=2) return (int) $memarr[1];
return 0;
}
@@ -361,7 +361,7 @@ Committed_AS: 348732 kB
if (!$info) return false;
if (strncmp(PHP_OS,'WIN',3)==0) {
- return (integer) $info[0];
+ return (int) $info[0];
}else {
if (empty($this->_lastLoad)) {
sleep(1);
@@ -601,7 +601,7 @@ Committed_AS: 348732 kB
$arr[0] = (float)$this->DBParameter('data cache hit ratio');
$arr[1] = (float)$this->DBParameter('data reads');
$arr[2] = (float)$this->DBParameter('data writes');
- $arr[3] = (integer) $this->DBParameter('current connections');
+ $arr[3] = (int) $this->DBParameter('current connections');
return $arr;
}
@@ -707,7 +707,7 @@ Committed_AS: 348732 kB
else $do = 'stats';
if (isset($_GET['nsql'])) {
- if ($_GET['nsql'] > 0) $nsql = $_SESSION['ADODB_PERF_SQL'] = (integer) $_GET['nsql'];
+ if ($_GET['nsql'] > 0) $nsql = $_SESSION['ADODB_PERF_SQL'] = (int) $_GET['nsql'];
}
echo "
ADOdb Performance Monitor on $app";
if ($do == 'viewsql') $form = " | ";
@@ -976,7 +976,7 @@ Committed_AS: 348732 kB
rs2html($rs);
}
} else {
- $e1 = (integer) $this->conn->ErrorNo();
+ $e1 = (int) $this->conn->ErrorNo();
$e2 = $this->conn->ErrorMsg();
if (($e1) || ($e2)) {
if (empty($e1)) $e1 = '-1'; // postgresql fix
diff --git a/public/lib/adodb/adodb-time.inc.php b/public/lib/adodb/adodb-time.inc.php
index 0c3dd11de69..959117665fd 100644
--- a/public/lib/adodb/adodb-time.inc.php
+++ b/public/lib/adodb/adodb-time.inc.php
@@ -687,8 +687,8 @@ function adodb_year_digit_check($y)
{
if ($y < 100) {
- $yr = (integer) date("Y");
- $century = (integer) ($yr /100);
+ $yr = (int) date("Y");
+ $century = (int) ($yr /100);
if ($yr%100 > 50) {
$c1 = $century + 1;
diff --git a/public/lib/adodb/adodb.inc.php b/public/lib/adodb/adodb.inc.php
index 86faa220dc8..f39ac845774 100644
--- a/public/lib/adodb/adodb.inc.php
+++ b/public/lib/adodb/adodb.inc.php
@@ -198,7 +198,7 @@ if (!defined('_ADODB_LAYER')) {
/**
* ADODB version as a string.
*/
- $ADODB_vers = 'v5.22.9 2025-05-01';
+ $ADODB_vers = 'v5.22.11 2025-11-22';
/**
* Determines whether recordset->RecordCount() is used.
@@ -2176,7 +2176,7 @@ if (!defined('_ADODB_LAYER')) {
return false;
}
- $midrow = (integer) ($total/2);
+ $midrow = (int) ($total/2);
$rs = $this->SelectLimit("select $field from $table $where order by 1",1,$midrow);
if ($rs && !$rs->EOF) {
return reset($rs->fields);
@@ -2655,39 +2655,48 @@ if (!defined('_ADODB_LAYER')) {
* @noinspection PhpUnusedParameterInspection
*/
function autoExecute($table, $fields_values, $mode = 'INSERT', $where = '', $forceUpdate = true, $magic_quotes = false) {
+ switch($mode) {
+ case DB_AUTOQUERY_INSERT:
+ case DB_AUTOQUERY_UPDATE:
+ break;
+ case 'UPDATE':
+ $mode = DB_AUTOQUERY_UPDATE;
+ break;
+ case 'INSERT':
+ $mode = DB_AUTOQUERY_INSERT;
+ break;
+ default:
+ $this->outp_throw("AutoExecute: Unknown mode=$mode", 'AutoExecute');
+ return false;
+ }
+
if (empty($fields_values)) {
$this->outp_throw('AutoExecute: Empty fields array', 'AutoExecute');
return false;
}
- if (empty($where) && ($mode == 'UPDATE' || $mode == 2 /* DB_AUTOQUERY_UPDATE */)) {
+ if (empty($where) && $mode == DB_AUTOQUERY_UPDATE) {
$this->outp_throw('AutoExecute: Illegal mode=UPDATE with empty WHERE clause', 'AutoExecute');
return false;
}
$sql = "SELECT * FROM $table";
- $rs = $this->SelectLimit($sql, 1);
- if (!$rs) {
- return false; // table does not exist
- }
-
- $rs->tableName = $table;
if (!empty($where)) {
$sql .= " WHERE $where";
}
+
+ $rs = $this->SelectLimit($sql, 1);
+ if (!$rs || $mode == DB_AUTOQUERY_UPDATE && $rs->EOF) {
+ // Table does not exist or udpate where clause matches no rows
+ return false;
+ }
+
+ $rs->tableName = $table;
$rs->sql = $sql;
- switch($mode) {
- case 'UPDATE':
- case DB_AUTOQUERY_UPDATE:
- $sql = $this->GetUpdateSQL($rs, $fields_values, $forceUpdate);
- break;
- case 'INSERT':
- case DB_AUTOQUERY_INSERT:
- $sql = $this->GetInsertSQL($rs, $fields_values);
- break;
- default:
- $this->outp_throw("AutoExecute: Unknown mode=$mode", 'AutoExecute');
- return false;
+ if ($mode == DB_AUTOQUERY_UPDATE) {
+ $sql = $this->getUpdateSQL($rs, $fields_values, $forceUpdate);
+ } else {
+ $sql = $this->getInsertSQL($rs, $fields_values);
}
return $sql && $this->Execute($sql);
}
@@ -5701,10 +5710,10 @@ class ADORecordSet implements IteratorAggregate {
$nconnect = true; $persist = true; break;
case 'persist':
case 'persistent': $persist = $v; break;
- case 'debug': $obj->debug = (integer) $v; break;
+ case 'debug': $obj->debug = (int) $v; break;
#ibase
case 'role': $obj->role = $v; break;
- case 'dialect': $obj->dialect = (integer) $v; break;
+ case 'dialect': $obj->dialect = (int) $v; break;
case 'charset': $obj->charset = $v; $obj->charSet=$v; break;
case 'buffers': $obj->buffers = $v; break;
case 'fetchmode': $obj->SetFetchMode($v); break;
diff --git a/public/lib/adodb/drivers/adodb-ado.inc.php b/public/lib/adodb/drivers/adodb-ado.inc.php
index df95c690129..b0979ff512e 100644
--- a/public/lib/adodb/drivers/adodb-ado.inc.php
+++ b/public/lib/adodb/drivers/adodb-ado.inc.php
@@ -407,7 +407,7 @@ class ADORecordSet_ado extends ADORecordSet {
// $rs->AbsolutePosition->$row-2;
// return true;
if ($this->_currentRow > $row) return false;
- @$rs->Move((integer)$row - $this->_currentRow-1); //adBookmarkFirst
+ @$rs->Move((int)$row - $this->_currentRow-1); //adBookmarkFirst
return true;
}
diff --git a/public/lib/adodb/drivers/adodb-ado5.inc.php b/public/lib/adodb/drivers/adodb-ado5.inc.php
index 04b45abf658..e4fa0cfee0e 100644
--- a/public/lib/adodb/drivers/adodb-ado5.inc.php
+++ b/public/lib/adodb/drivers/adodb-ado5.inc.php
@@ -451,7 +451,7 @@ class ADORecordSet_ado extends ADORecordSet {
// $rs->AbsolutePosition->$row-2;
// return true;
if ($this->_currentRow > $row) return false;
- @$rs->Move((integer)$row - $this->_currentRow-1); //adBookmarkFirst
+ @$rs->Move((int)$row - $this->_currentRow-1); //adBookmarkFirst
return true;
}
diff --git a/public/lib/adodb/drivers/adodb-ads.inc.php b/public/lib/adodb/drivers/adodb-ads.inc.php
index 16eec976695..436a2d621ab 100644
--- a/public/lib/adodb/drivers/adodb-ads.inc.php
+++ b/public/lib/adodb/drivers/adodb-ads.inc.php
@@ -371,7 +371,7 @@ class ADODB_ads extends ADOConnection
*/
function ODBCTypes($t)
{
- switch ((integer)$t) {
+ switch ((int)$t) {
case 1:
case 12:
case 0:
diff --git a/public/lib/adodb/drivers/adodb-csv.inc.php b/public/lib/adodb/drivers/adodb-csv.inc.php
index e6694d9adcc..8f1a7dd621b 100644
--- a/public/lib/adodb/drivers/adodb-csv.inc.php
+++ b/public/lib/adodb/drivers/adodb-csv.inc.php
@@ -103,7 +103,7 @@ class ADODB_csv extends ADOConnection {
$at = strpos($err,'::::');
if ($at === false) {
$this->_errorMsg = $err;
- $this->_errorNo = (integer)$err;
+ $this->_errorNo = (int)$err;
} else {
$this->_errorMsg = substr($err,$at+4,1024);
$this->_errorNo = -9999;
@@ -159,7 +159,7 @@ class ADODB_csv extends ADOConnection {
$at = strpos($err,'::::');
if ($at === false) {
$this->_errorMsg = $err;
- $this->_errorNo = (integer)$err;
+ $this->_errorNo = (int)$err;
} else {
$this->_errorMsg = substr($err,$at+4,1024);
$this->_errorNo = -9999;
diff --git a/public/lib/adodb/drivers/adodb-db2.inc.php b/public/lib/adodb/drivers/adodb-db2.inc.php
index 60cd093aca1..77466db1ae7 100644
--- a/public/lib/adodb/drivers/adodb-db2.inc.php
+++ b/public/lib/adodb/drivers/adodb-db2.inc.php
@@ -179,7 +179,7 @@ class ADODB_db2 extends ADOConnection {
$db2Options);
}
else
-
+
$this->_connectionID = $db2Function($argDSN,
'',
'',
@@ -193,7 +193,7 @@ class ADODB_db2 extends ADOConnection {
if ($this->_connectionID && $argDatabasename)
$this->execute("SET SCHEMA=$argDatabasename");
-
+
return $this->_connectionID != false;
}
@@ -228,7 +228,7 @@ class ADODB_db2 extends ADOConnection {
$connectionParameters['dsn'] = $argDSN;
$connectionParameters['database'] = $argDatabasename;
$connectionParameters['catalogue'] = false;
-
+
return $connectionParameters;
}
@@ -537,7 +537,7 @@ class ADODB_db2 extends ADOConnection {
function selectLimit($sql,$nrows=-1,$offset=-1,$inputArr=false,$secs2cache=0)
{
- $nrows = (integer) $nrows;
+ $nrows = (int) $nrows;
if ($offset <= 0)
{
@@ -1059,7 +1059,7 @@ See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/db2/htm/db2
*/
function DB2Types($t)
{
- switch ((integer)$t) {
+ switch ((int)$t) {
case 1:
case 12:
case 0:
diff --git a/public/lib/adodb/drivers/adodb-db2oci.inc.php b/public/lib/adodb/drivers/adodb-db2oci.inc.php
index eea63d94c69..4e98d1419bb 100644
--- a/public/lib/adodb/drivers/adodb-db2oci.inc.php
+++ b/public/lib/adodb/drivers/adodb-db2oci.inc.php
@@ -101,7 +101,7 @@ function _colonparser($sql,$arr)
$ch2 = $at < $lensql ? $sql[$at] : '';
} while ('0' <= $ch && $ch <= '9');
#echo "$n $arrsize ] ";
- $n = (integer) $n;
+ $n = (int) $n;
if ($n < $arrsize) {
$sql2 .= substr($sql,$nprev,$nat-$nprev-1).'?';
$nprev = $at-1;
diff --git a/public/lib/adodb/drivers/adodb-db2ora.inc.php b/public/lib/adodb/drivers/adodb-db2ora.inc.php
index d343a8ae165..71b21e90b1e 100644
--- a/public/lib/adodb/drivers/adodb-db2ora.inc.php
+++ b/public/lib/adodb/drivers/adodb-db2ora.inc.php
@@ -41,7 +41,7 @@ define('ADODB_DB2OCI',1);
function _colontrack($p)
{
global $_COLONARR, $_COLONSZ;
- $v = (integer) substr($p[1], 1);
+ $v = (int) substr($p[1], 1);
if ($v > $_COLONSZ) return $p[1];
$_COLONARR[] = $v;
return '?';
diff --git a/public/lib/adodb/drivers/adodb-firebird.inc.php b/public/lib/adodb/drivers/adodb-firebird.inc.php
index db3cca5d6f0..52d751d8630 100644
--- a/public/lib/adodb/drivers/adodb-firebird.inc.php
+++ b/public/lib/adodb/drivers/adodb-firebird.inc.php
@@ -427,7 +427,7 @@ class ADODB_firebird extends ADOConnection {
$rs = $this->Execute($getnext);
}
if ($rs && !$rs->EOF) {
- $this->genID = (integer) reset($rs->fields);
+ $this->genID = (int) reset($rs->fields);
}
else {
$this->genID = 0; // false
@@ -454,7 +454,7 @@ class ADODB_firebird extends ADOConnection {
public function errorNo()
{
- return (integer) $this->_errorCode;
+ return (int) $this->_errorCode;
}
function errorMsg()
@@ -989,8 +989,8 @@ class ADODB_firebird extends ADOConnection {
*/
public function selectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false, $secs2cache=0)
{
- $nrows = (integer) $nrows;
- $offset = (integer) $offset;
+ $nrows = (int) $nrows;
+ $offset = (int) $offset;
$str = 'SELECT ';
if ($nrows >= 0) $str .= "FIRST $nrows ";
$str .=($offset>=0) ? "SKIP $offset " : '';
diff --git a/public/lib/adodb/drivers/adodb-ibase.inc.php b/public/lib/adodb/drivers/adodb-ibase.inc.php
index 8159c512d68..7a37976b3a2 100644
--- a/public/lib/adodb/drivers/adodb-ibase.inc.php
+++ b/public/lib/adodb/drivers/adodb-ibase.inc.php
@@ -289,7 +289,7 @@ class ADODB_ibase extends ADOConnection {
$rs = $this->Execute($getnext);
}
if ($rs && !$rs->EOF) {
- $this->genID = (integer) reset($rs->fields);
+ $this->genID = (int) reset($rs->fields);
}
else {
$this->genID = 0; // false
@@ -314,7 +314,7 @@ class ADODB_ibase extends ADOConnection {
function ErrorNo()
{
- if (preg_match('/error code = ([\-0-9]*)/i', $this->_errorMsg,$arr)) return (integer) $arr[1];
+ if (preg_match('/error code = ([\-0-9]*)/i', $this->_errorMsg,$arr)) return (int) $arr[1];
else return 0;
}
diff --git a/public/lib/adodb/drivers/adodb-ldap.inc.php b/public/lib/adodb/drivers/adodb-ldap.inc.php
index e1cba330e72..55d4334a759 100644
--- a/public/lib/adodb/drivers/adodb-ldap.inc.php
+++ b/public/lib/adodb/drivers/adodb-ldap.inc.php
@@ -101,11 +101,11 @@ class ADODB_ldap extends ADOConnection {
/*
Valid Domain Values for LDAP Options:
- LDAP_OPT_DEREF (integer)
- LDAP_OPT_SIZELIMIT (integer)
- LDAP_OPT_TIMELIMIT (integer)
- LDAP_OPT_PROTOCOL_VERSION (integer)
- LDAP_OPT_ERROR_NUMBER (integer)
+ LDAP_OPT_DEREF (int)
+ LDAP_OPT_SIZELIMIT (int)
+ LDAP_OPT_TIMELIMIT (int)
+ LDAP_OPT_PROTOCOL_VERSION (int)
+ LDAP_OPT_ERROR_NUMBER (int)
LDAP_OPT_REFERRALS (boolean)
LDAP_OPT_RESTART (boolean)
LDAP_OPT_HOST_NAME (string)
diff --git a/public/lib/adodb/drivers/adodb-mysqli.inc.php b/public/lib/adodb/drivers/adodb-mysqli.inc.php
index a6678274589..d894e643c5a 100644
--- a/public/lib/adodb/drivers/adodb-mysqli.inc.php
+++ b/public/lib/adodb/drivers/adodb-mysqli.inc.php
@@ -149,9 +149,9 @@ class ADODB_mysqli extends ADOConnection {
*
* Parameter must be one of the constants listed in mysqli_options().
* @see https://www.php.net/manual/en/mysqli.options.php
- *
- * OR
- *
+ *
+ * OR
+ *
* Parameter must be a string matching one of the following special cases.
* 'ssl' - SSL values e.g. ('ssl' => ['ca' => '/path/to/ca.crt.pem'])
* 'clientflags' - Client flags of type 'MYSQLI_CLIENT_'
@@ -159,7 +159,7 @@ class ADODB_mysqli extends ADOConnection {
* @see https://www.php.net/manual/en/mysqli.constants.php
* 'socket' - The socket or named pipe that should be used
* 'port' - The port number to attempt to connect to the MySQL server
- *
+ *
* @param string|int $parameter The parameter to set
* @param string|int|array $value The value of the parameter
*
@@ -1256,7 +1256,7 @@ class ADODB_mysqli extends ADOConnection {
$typeString .= 'i';
} elseif (is_float($v)) {
$typeString .= 'd';
- } elseif (is_object($v)) {
+ } elseif (is_object($v) && !method_exists($v, '__toString')) {
// Assume a blob
$typeString .= 'b';
} else {
diff --git a/public/lib/adodb/drivers/adodb-odbc.inc.php b/public/lib/adodb/drivers/adodb-odbc.inc.php
index 56db8b0e1ba..13184d0719d 100644
--- a/public/lib/adodb/drivers/adodb-odbc.inc.php
+++ b/public/lib/adodb/drivers/adodb-odbc.inc.php
@@ -355,7 +355,7 @@ See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/od
*/
function ODBCTypes($t)
{
- switch ((integer)$t) {
+ switch ((int)$t) {
case 1:
case 12:
case 0:
diff --git a/public/lib/adodb/drivers/adodb-odbc_db2.inc.php b/public/lib/adodb/drivers/adodb-odbc_db2.inc.php
index 8f0e60cb1a4..a3ac67eda74 100644
--- a/public/lib/adodb/drivers/adodb-odbc_db2.inc.php
+++ b/public/lib/adodb/drivers/adodb-odbc_db2.inc.php
@@ -212,7 +212,7 @@ class ADODB_ODBC_DB2 extends ADODB_odbc {
function SelectLimit($sql, $nrows = -1, $offset = -1, $inputArr = false, $secs2cache = 0)
{
- $nrows = (integer) $nrows;
+ $nrows = (int) $nrows;
if ($offset <= 0) {
// could also use " OPTIMIZE FOR $nrows ROWS "
if ($nrows >= 0) $sql .= " FETCH FIRST $nrows ROWS ONLY ";
diff --git a/public/lib/adodb/drivers/adodb-pdo.inc.php b/public/lib/adodb/drivers/adodb-pdo.inc.php
index d3ce12d08d8..d254895e8ad 100644
--- a/public/lib/adodb/drivers/adodb-pdo.inc.php
+++ b/public/lib/adodb/drivers/adodb-pdo.inc.php
@@ -404,7 +404,7 @@ class ADODB_pdo extends ADOConnection {
if (sizeof($arr)<2) {
return '';
}
- if ((integer)$arr[0]) {
+ if ((int)$arr[0]) {
return $arr[2];
}
else {
@@ -616,7 +616,7 @@ class ADODB_pdo extends ADOConnection {
if ($stmt) {
$arr = $stmt->errorinfo();
- if ((integer)$arr[1]) {
+ if ((int)$arr[1]) {
$this->_errormsg = $arr[2];
$this->_errorno = $arr[1];
}
@@ -752,7 +752,7 @@ class ADOPDOStatement {
}
if (is_array($arr)) {
- if ((integer) $arr[0] && isset($arr[2])) {
+ if ((int) $arr[0] && isset($arr[2])) {
return $arr[2];
}
else {
diff --git a/public/lib/adodb/drivers/adodb-pdo_dblib.inc.php b/public/lib/adodb/drivers/adodb-pdo_dblib.inc.php
index aae561bf591..fa217af078a 100644
--- a/public/lib/adodb/drivers/adodb-pdo_dblib.inc.php
+++ b/public/lib/adodb/drivers/adodb-pdo_dblib.inc.php
@@ -163,7 +163,7 @@ class ADODB_pdo_dblib extends ADODB_pdo
if ($stmt) {
$arr = $stmt->errorinfo();
- if ((integer)$arr[1]) {
+ if ((int)$arr[1]) {
$this->_errormsg = $arr[2];
$this->_errorno = $arr[1];
}
diff --git a/public/lib/adodb/drivers/adodb-pdo_firebird.inc.php b/public/lib/adodb/drivers/adodb-pdo_firebird.inc.php
index f8847c3cc98..4671b39635c 100644
--- a/public/lib/adodb/drivers/adodb-pdo_firebird.inc.php
+++ b/public/lib/adodb/drivers/adodb-pdo_firebird.inc.php
@@ -24,7 +24,7 @@
/**
* Class ADODB_pdo_firebird
*/
-class ADODB_pdo_firebird extends ADODB_pdo
+class ADODB_pdo_firebird extends ADODB_pdo_base
{
public $dialect = 3;
public $metaTablesSQL = "select lower(rdb\$relation_name) from rdb\$relations where rdb\$relation_name not like 'RDB\$%'";
@@ -245,7 +245,7 @@ class ADODB_pdo_firebird extends ADODB_pdo
$rs = $this->execute($getnext);
}
if ($rs && !$rs->EOF) {
- $this->genID = (integer)reset($rs->fields);
+ $this->genID = (int)reset($rs->fields);
} else {
$this->genID = 0; // false
}
@@ -259,8 +259,8 @@ class ADODB_pdo_firebird extends ADODB_pdo
public function selectLimit($sql, $nrows = -1, $offset = -1, $inputarr = false, $secs = 0)
{
- $nrows = (integer)$nrows;
- $offset = (integer)$offset;
+ $nrows = (int)$nrows;
+ $offset = (int)$offset;
$str = 'SELECT ';
if ($nrows >= 0) {
$str .= "FIRST $nrows ";
diff --git a/public/lib/adodb/drivers/adodb-postgres7.inc.php b/public/lib/adodb/drivers/adodb-postgres7.inc.php
index b5e63acface..9559eb003f3 100644
--- a/public/lib/adodb/drivers/adodb-postgres7.inc.php
+++ b/public/lib/adodb/drivers/adodb-postgres7.inc.php
@@ -117,8 +117,8 @@ class ADODB_postgres7 extends ADODB_postgres64 {
{
$nrows = (int) $nrows;
$offset = (int) $offset;
- $offsetStr = ($offset >= 0) ? " OFFSET ".((integer)$offset) : '';
- $limitStr = ($nrows >= 0) ? " LIMIT ".((integer)$nrows) : '';
+ $offsetStr = ($offset >= 0) ? " OFFSET ".((int)$offset) : '';
+ $limitStr = ($nrows >= 0) ? " LIMIT ".((int)$nrows) : '';
if ($secs2cache)
$rs = $this->CacheExecute($secs2cache,$sql."$limitStr$offsetStr",$inputarr);
else
diff --git a/public/lib/adodb/drivers/adodb-sqlanywhere.inc.php b/public/lib/adodb/drivers/adodb-sqlanywhere.inc.php
index 8d909fdea1c..3bbf6155a7d 100644
--- a/public/lib/adodb/drivers/adodb-sqlanywhere.inc.php
+++ b/public/lib/adodb/drivers/adodb-sqlanywhere.inc.php
@@ -55,7 +55,7 @@ if (!defined('ADODB_SYBASE_SQLANYWHERE')){
$fd = fopen ($filename, "rb");
- $integer_chunks = (integer)filesize($filename) / $chunk_size;
+ $integer_chunks = (int)filesize($filename) / $chunk_size;
$modulus = filesize($filename) % $chunk_size;
if ($modulus != 0){
$integer_chunks += 1;
@@ -83,7 +83,7 @@ if (!defined('ADODB_SYBASE_SQLANYWHERE')){
function load_blobvar_from_var($blobVarName, &$varName) {
$chunk_size = 1000;
- $integer_chunks = (integer)strlen($varName) / $chunk_size;
+ $integer_chunks = (int)strlen($varName) / $chunk_size;
$modulus = strlen($varName) % $chunk_size;
if ($modulus != 0){
$integer_chunks += 1;
diff --git a/public/lib/adodb/drivers/adodb-sqlite3.inc.php b/public/lib/adodb/drivers/adodb-sqlite3.inc.php
index 7e5f5ffdc9e..026e03928db 100644
--- a/public/lib/adodb/drivers/adodb-sqlite3.inc.php
+++ b/public/lib/adodb/drivers/adodb-sqlite3.inc.php
@@ -19,6 +19,9 @@
*
* @copyright 2000-2013 John Lim
* @copyright 2014 Damien Regad, Mark Newnham and the ADOdb community
+ *
+ * @TODO Duplicate code is due to the legacy sqlite driver - delete this when removing the old driver
+ * @noinspection DuplicatedCode
*/
// security - hide paths
@@ -95,7 +98,6 @@ class ADODB_sqlite3 extends ADOConnection {
{
$fieldobj = $t;
$t = $fieldobj->type;
- $len = $fieldobj->max_length;
}
$t = strtoupper($t);
@@ -162,28 +164,30 @@ class ADODB_sqlite3 extends ADOConnection {
function MetaColumns($table, $normalize=true)
{
global $ADODB_FETCH_MODE;
- $false = false;
$save = $ADODB_FETCH_MODE;
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
if ($this->fetchMode !== false) {
$savem = $this->SetFetchMode(false);
}
- $rs = $this->Execute("PRAGMA table_info('$table')");
+
+ $rs = $this->execute("PRAGMA table_info(?)", array($table));
+
if (isset($savem)) {
$this->SetFetchMode($savem);
}
+
if (!$rs) {
$ADODB_FETCH_MODE = $save;
- return $false;
+ return false;
}
+
$arr = array();
while ($r = $rs->FetchRow()) {
- $type = explode('(',$r['type']);
+ $type = explode('(', $r['type']);
$size = '';
- if (sizeof($type)==2) {
- $size = trim($type[1],')');
+ if (sizeof($type) == 2) {
+ $size = trim($type[1], ')');
}
- $fn = strtoupper($r['name']);
$fld = new ADOFieldObject;
$fld->name = $r['name'];
$fld->type = $type[0];
@@ -192,7 +196,7 @@ class ADODB_sqlite3 extends ADOConnection {
$fld->default_value = $r['dflt_value'];
$fld->scale = 0;
if (isset($r['pk']) && $r['pk']) {
- $fld->primary_key=1;
+ $fld->primary_key = 1;
}
if ($save == ADODB_FETCH_NUM) {
$arr[] = $fld;
@@ -207,58 +211,44 @@ class ADODB_sqlite3 extends ADOConnection {
public function metaForeignKeys($table, $owner = '', $upper = false, $associative = false)
{
- global $ADODB_FETCH_MODE;
- if ($ADODB_FETCH_MODE == ADODB_FETCH_ASSOC
- || $this->fetchMode == ADODB_FETCH_ASSOC)
- $associative = true;
+ global $ADODB_FETCH_MODE;
+ if ($ADODB_FETCH_MODE == ADODB_FETCH_ASSOC || $this->fetchMode == ADODB_FETCH_ASSOC) {
+ $associative = true;
+ }
- /*
- * Read sqlite master to find foreign keys
- */
+ // Read sqlite master to find foreign keys
$sql = "SELECT sql
- FROM (
- SELECT sql sql, type type, tbl_name tbl_name, name name
- FROM sqlite_master
- )
- WHERE type != 'meta'
- AND sql NOTNULL
- AND LOWER(name) ='" . strtolower($table) . "'";
+ FROM sqlite_master
+ WHERE sql NOTNULL
+ AND LOWER(name) = ?";
+ $tableSql = $this->getOne($sql, [strtolower($table)]);
- $tableSql = $this->getOne($sql);
+ // Regex will identify foreign keys in both column and table constraints
+ // Reference: https://sqlite.org/syntax/foreign-key-clause.html
+ // Subpatterns: 1/2 = source columns; 3 = parent table; 4 = parent columns.
+ preg_match_all(
+ '/[(,]\s*(?:FOREIGN\s+KEY\s*\(([^)]+)\)|(\w+).*?)\s*REFERENCES\s+(\w+|"[^"]+")\(([^)]+)\)/i',
+ $tableSql,
+ $fkeyMatches,
+ PREG_SET_ORDER
+ );
$fkeyList = array();
- $ylist = preg_split("/,+/",$tableSql);
- foreach ($ylist as $y)
- {
- if (!preg_match('/FOREIGN/',$y))
- continue;
+ foreach ($fkeyMatches as $fkey) {
+ $src_col = $fkey[1] ?: $fkey[2];
+ $ref_table = $upper ? strtoupper($fkey[3]) : $fkey[3];
+ $ref_col = $fkey[4];
- $matches = false;
- preg_match_all('/\((.+?)\)/i',$y,$matches);
- $tmatches = false;
- preg_match_all('/REFERENCES (.+?)\(/i',$y,$tmatches);
-
- if ($associative)
- {
- if (!isset($fkeyList[$tmatches[1][0]]))
- $fkeyList[$tmatches[1][0]] = array();
- $fkeyList[$tmatches[1][0]][$matches[1][0]] = $matches[1][1];
+ if ($associative) {
+ $fkeyList[$ref_table][$src_col] = $ref_col;
+ } else {
+ $fkeyList[$ref_table][] = $src_col . '=' . $ref_col;
}
- else
- $fkeyList[$tmatches[1][0]][] = $matches[1][0] . '=' . $matches[1][1];
}
- if ($associative)
- {
- if ($upper)
- $fkeyList = array_change_key_case($fkeyList,CASE_UPPER);
- else
- $fkeyList = array_change_key_case($fkeyList,CASE_LOWER);
- }
return $fkeyList;
}
-
function _init($parentDriver)
{
$parentDriver->hasTransactions = false;
@@ -371,24 +361,24 @@ class ADODB_sqlite3 extends ADOConnection {
*/
var $_genSeqSQL = "create table %s (id integer)";
- function GenID($seq='adodbseq',$start=1)
+ function GenID($seqname='adodbseq', $startID=1)
{
// if you have to modify the parameter below, your database is overloaded,
// or you need to implement generation of id's yourself!
$MAXLOOPS = 100;
//$this->debug=1;
while (--$MAXLOOPS>=0) {
- @($num = $this->GetOne("select id from $seq"));
+ @($num = $this->GetOne("select id from $seqname"));
if ($num === false) {
- $this->Execute(sprintf($this->_genSeqSQL ,$seq));
- $start -= 1;
+ $this->Execute(sprintf($this->_genSeqSQL ,$seqname));
+ $startID -= 1;
$num = '0';
- $ok = $this->Execute("insert into $seq values($start)");
+ $ok = $this->Execute("insert into $seqname values($startID)");
if (!$ok) {
return false;
}
}
- $this->Execute("update $seq set id=id+1 where id=$num");
+ $this->Execute("update $seqname set id=id+1 where id=$num");
if ($this->affected_rows() > 0) {
$num += 1;
@@ -397,7 +387,7 @@ class ADODB_sqlite3 extends ADOConnection {
}
}
if ($fn = $this->raiseErrorFn) {
- $fn($this->databaseType,'GENID',-32000,"Unable to generate unique id after $MAXLOOPS attempts",$seq,$num);
+ $fn($this->databaseType, 'GENID', -32000, "Unable to generate unique id after $MAXLOOPS attempts", $seqname, $num);
}
return false;
}
@@ -430,72 +420,65 @@ class ADODB_sqlite3 extends ADOConnection {
return $this->_connectionID->close();
}
- function metaIndexes($table, $primary = FALSE, $owner = false)
+ function metaIndexes($table, $primary = false, $owner = false)
{
- $false = false;
// save old fetch mode
global $ADODB_FETCH_MODE;
$save = $ADODB_FETCH_MODE;
$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
- if ($this->fetchMode !== FALSE) {
- $savem = $this->SetFetchMode(FALSE);
+ if ($this->fetchMode !== false) {
+ $savem = $this->SetFetchMode(false);
}
- $pragmaData = array();
+ $table = strtolower($table);
- /*
- * If we want the primary key, we must extract
- * it from the table statement, and the pragma
- */
- if ($primary)
- {
- $sql = sprintf('PRAGMA table_info([%s]);',
- strtolower($table)
- );
- $pragmaData = $this->getAll($sql);
- }
-
- /*
- * Exclude the empty entry for the primary index
- */
- $sqlite = "SELECT name,sql
- FROM sqlite_master
- WHERE type='index'
- AND sql IS NOT NULL
- AND LOWER(tbl_name)='%s'";
-
- $SQL = sprintf($sqlite,
- strtolower($table)
- );
-
- $rs = $this->execute($SQL);
+ // Exclude the empty entry for the primary index
+ $sql = "SELECT name,sql
+ FROM sqlite_master
+ WHERE type='index'
+ AND sql IS NOT NULL
+ AND LOWER(tbl_name)=?";
+ $rs = $this->execute($sql, [$table]);
if (!is_object($rs)) {
if (isset($savem)) {
$this->SetFetchMode($savem);
}
$ADODB_FETCH_MODE = $save;
- return $false;
+ return false;
}
- $indexes = array ();
-
- while ($row = $rs->FetchRow())
- {
+ $indexes = array();
+ while ($row = $rs->FetchRow()) {
if (!isset($indexes[$row[0]])) {
$indexes[$row[0]] = array(
- 'unique' => preg_match("/unique/i",$row[1]),
- 'columns' => array()
+ 'unique' => preg_match("/unique/i", $row[1]),
);
}
- /**
- * The index elements appear in the SQL statement
- * in cols[1] between parentheses
- * e.g CREATE UNIQUE INDEX ware_0 ON warehouse (org,warehouse)
- */
- preg_match_all('/\((.*)\)/',$row[1],$indexExpression);
- $indexes[$row[0]]['columns'] = array_map('trim',explode(',',$indexExpression[1][0]));
+ // Index elements appear in the SQL statement in cols[1] between parentheses
+ // e.g CREATE UNIQUE INDEX ware_0 ON warehouse (org,warehouse)
+ preg_match_all('/\((.*)\)/', $row[1], $indexExpression);
+ $indexes[$row[0]]['columns'] = array_map('trim', explode(',', $indexExpression[1][0]));
+ }
+
+ // If we want the primary key, we must extract it from the pragma
+ if ($primary){
+ $pragmaData = $this->getAll('PRAGMA table_info(?);', [$table]);
+ $pkIndexData = array('unique'=>1,'columns'=>array());
+
+ $pkCallBack = function ($value, $key) use (&$pkIndexData) {
+ // As we iterate the elements check for pk index
+ if ($value[5] > 0) {
+ $pkIndexData['columns'][$value[5]] = strtolower($value[1]);
+ }
+ };
+ array_walk($pragmaData, $pkCallBack);
+
+ // If we found no columns, there is no primary index
+ if (count($pkIndexData['columns']) > 0) {
+ $indexes['PRIMARY'] = $pkIndexData;
+ }
}
if (isset($savem)) {
@@ -503,40 +486,6 @@ class ADODB_sqlite3 extends ADOConnection {
$ADODB_FETCH_MODE = $save;
}
- /*
- * If we want primary, add it here
- */
- if ($primary){
-
- /*
- * Check the previously retrieved pragma to search
- * with a closure
- */
-
- $pkIndexData = array('unique'=>1,'columns'=>array());
-
- $pkCallBack = function ($value, $key) use (&$pkIndexData) {
-
- /*
- * As we iterate the elements check for pk index and sort
- */
- if ($value[5] > 0)
- {
- $pkIndexData['columns'][$value[5]] = strtolower($value[1]);
- ksort($pkIndexData['columns']);
- }
- };
-
- array_walk($pragmaData,$pkCallBack);
-
- /*
- * If we found no columns, there is no
- * primary index
- */
- if (count($pkIndexData['columns']) > 0)
- $indexes['PRIMARY'] = $pkIndexData;
- }
-
return $indexes;
}
diff --git a/public/lib/adodb/drivers/adodb-sybase.inc.php b/public/lib/adodb/drivers/adodb-sybase.inc.php
index 79fb82e8b5f..699025f2ae4 100644
--- a/public/lib/adodb/drivers/adodb-sybase.inc.php
+++ b/public/lib/adodb/drivers/adodb-sybase.inc.php
@@ -188,8 +188,8 @@ class ADODB_sybase extends ADOConnection {
return $rs;
}
- $nrows = (integer) $nrows;
- $offset = (integer) $offset;
+ $nrows = (int) $nrows;
+ $offset = (int) $offset;
$cnt = ($nrows >= 0) ? $nrows : 999999999;
if ($offset > 0 && $cnt) $cnt += $offset;
diff --git a/public/lib/adodb/drivers/adodb-text.inc.php b/public/lib/adodb/drivers/adodb-text.inc.php
index 36a1a0d4dc4..afdfe71d7fd 100644
--- a/public/lib/adodb/drivers/adodb-text.inc.php
+++ b/public/lib/adodb/drivers/adodb-text.inc.php
@@ -257,7 +257,7 @@ class ADODB_text extends ADOConnection {
preg_match("/$eregword/",$orderby,$arr);
if (sizeof($arr) < 2) return $this; // actually invalid sql
$col = $arr[1];
- $at = (integer) $col;
+ $at = (int) $col;
if ($at == 0) {
$i = 0;
reset($projnames);
diff --git a/public/lib/adodb/index.html b/public/lib/adodb/index.html
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/public/lib/adodb/readme_moodle.txt b/public/lib/adodb/readme_moodle.txt
index e8b1ad92754..633d7a94672 100644
--- a/public/lib/adodb/readme_moodle.txt
+++ b/public/lib/adodb/readme_moodle.txt
@@ -18,5 +18,4 @@ Removed:
* session/
Added:
- * index.html - prevent directory browsing on misconfigured servers
* readme_moodle.txt - this file ;-)
diff --git a/public/lib/thirdpartylibs.xml b/public/lib/thirdpartylibs.xml
index 6eb3d1f187d..3882f535aaf 100644
--- a/public/lib/thirdpartylibs.xml
+++ b/public/lib/thirdpartylibs.xml
@@ -4,7 +4,7 @@
adodb
ADOdb
Database abstraction library for MySQL, PostgreSQL, MSSQL, Oracle, Interbase, Foxpro, Access, ADO, Sybase, DB2 and ODBC.
- 5.22.9
+ 5.22.11
BSD/LGPL
3-Clause/2.1+
https://github.com/ADOdb/ADOdb