fix: tolerar null en $functions/$options de AcaiAPI (compat firma legacy CocoDB)
Los hooks legacy llaman CocoDB::updateRecords(..., null) y el nuevo buildSetClause tipa $functions como array estricto: TypeError fatal en PHP 8 (p.ej. pago por transferencia via IPNGenerica). Se normaliza en la frontera publica (insert/update/get/delete).
This commit is contained in:
@@ -67,6 +67,10 @@ class AcaiAPI
|
||||
self::$requestGetCache = [];
|
||||
global $TABLE_PREFIX;
|
||||
|
||||
// Llamadas legacy (CocoDB) pasan null explicito como $functions
|
||||
if (!is_array($functions)) $functions = [];
|
||||
if (!is_array($options)) $options = [];
|
||||
|
||||
if (!isset($records[0])) $records = [$records];
|
||||
|
||||
$prefix = isset($options['prefix']) ? $options['prefix'] : $TABLE_PREFIX;
|
||||
@@ -168,6 +172,10 @@ class AcaiAPI
|
||||
self::$requestGetCache = [];
|
||||
global $TABLE_PREFIX;
|
||||
|
||||
// Llamadas legacy (CocoDB) pasan null explicito como $functions
|
||||
if (!is_array($functions)) $functions = [];
|
||||
if (!is_array($options)) $options = [];
|
||||
|
||||
if (!isset($records[0])) $records = [$records];
|
||||
|
||||
$prefix = isset($options['prefix']) ? $options['prefix'] : $TABLE_PREFIX;
|
||||
@@ -270,6 +278,8 @@ class AcaiAPI
|
||||
self::$requestGetCache = [];
|
||||
global $TABLE_PREFIX;
|
||||
|
||||
if (!is_array($options)) $options = [];
|
||||
|
||||
$prefix = isset($options['prefix']) ? $options['prefix'] : $TABLE_PREFIX;
|
||||
$params = [];
|
||||
$whereSql = self::buildWhere($where, $params);
|
||||
@@ -323,6 +333,8 @@ class AcaiAPI
|
||||
{
|
||||
global $TABLE_PREFIX;
|
||||
|
||||
if (!is_array($options)) $options = [];
|
||||
|
||||
// ── Option defaults ──────────────────────────────────────────────
|
||||
$defaults = [
|
||||
'debug' => false,
|
||||
|
||||
Reference in New Issue
Block a user