Fix systematic errors in pagination, sucursal warnings, and fatal count() errors across multiple modules

This commit is contained in:
2026-01-07 01:06:27 -06:00
parent aaa77e870e
commit 3a5afa82fe
354 changed files with 9022 additions and 15093 deletions

View File

@@ -7,6 +7,8 @@ class Util extends SystemError
private $DB = null;
private $DBSelect = null;
private $activeEmpresaId = null;
public function DB()
{
if($this->DB == null )
@@ -18,9 +20,12 @@ class Util extends SystemError
public function DBSelect($empresaId)
{
// Usar nueva arquitectura multi-empresa con DatabaseManager
$dbManager = DatabaseManager::getInstance();
return new DB(false, $empresaId);
if($this->DBSelect == null || $this->activeEmpresaId != $empresaId)
{
$this->DBSelect = new DB(false, $empresaId);
$this->activeEmpresaId = $empresaId;
}
return $this->DBSelect;
}
function RoundNumber($number)
@@ -142,9 +147,9 @@ class Util extends SystemError
function ValidateInteger($value, $max = null, $min = null, $field = "Atributo")
{
if(ctype_digit($value) == false)
if(ctype_digit((string)$value) == false)
{
return $this->setError(10002, "error", "", $field);
return $this->setError(10020, "error", "", $field);
}
else
{
@@ -156,7 +161,7 @@ class Util extends SystemError
{
if(!is_numeric($value))
{
return $this->setError(10002, "error", "", $field);
return $this->setError(10020, "error", "", $field);
}
else
{
@@ -260,6 +265,11 @@ class Util extends SystemError
function HandleMultipages($page, $total_pages, $link, $pagevar, $limit = 5)
{
$pages = array();
$pages["numbers"] = array();
$pages["first"] = false;
$pages["prev"] = false;
$pages["next"] = false;
$pages["last"] = false;
if($page == 0)
$page == 0;
@@ -283,9 +293,9 @@ class Util extends SystemError
if($i >= 0)
{
if(!$this->hs_eregi("\|$pagevar\|",$link))
$pages[$i] = $link."/".$pagevar."/".$i;
$pages["numbers"][$i] = $link."/".$pagevar."/".$i;
else
$pages[$i] = $this->hs_preg_replace("\|$pagevar\|",(string)($i),$link);
$pages["numbers"][$i] = $this->hs_preg_replace("\|$pagevar\|",(string)($i),$link);
}
}
@@ -296,9 +306,9 @@ class Util extends SystemError
if($i <= $total_pages)
{
if(!$this->hs_eregi("\|$pagevar\|",$link))
$pages[$i] = $link."/".$pagevar."/".$i;
$pages["numbers"][$i] = $link."/".$pagevar."/".$i;
else
$pages[$i] = $this->hs_preg_replace("\|$pagevar\|",(string)($i),$link);
$pages["numbers"][$i] = $this->hs_preg_replace("\|$pagevar\|",(string)($i),$link);
}
}
@@ -317,6 +327,10 @@ class Util extends SystemError
}
$pages["current"] = $page+1;
$items_per_page = defined('ITEMS_PER_PAGE') ? ITEMS_PER_PAGE : 20;
$pages["items_per_page"] = $items_per_page;
$pages["start"] = $page * $items_per_page;
return $pages;
@@ -484,7 +498,7 @@ class Util extends SystemError
function errorMessage($code)
{
global $property;
return $property['errors'][$code];
return $property['error'][$code];
}
function ValidateRfc($rfc, $field)
@@ -708,6 +722,115 @@ class Util extends SystemError
fclose($fp);
}
function GetNameUsrType($type)
{
switch($type)
{
case 'admin': return 'Administrador';
case 'vendedor': return 'Vendedor';
case 'gerente': return 'Gerente';
case 'supervisor': return 'Supervisor';
case 'cajero': return 'Cajero';
case 'almacen': return 'Almacén';
case 'chofer': return 'Chofer';
case 'cliente': return 'Cliente';
case 'facturacion': return 'Facturación';
case 'direccion': return 'Dirección';
case 'capturista': return 'Capturista';
case 'maquilador': return 'Maquilador';
case 'centralizador': return 'Centralizador';
default: return ucfirst($type);
}
}
function DecodeUrlResult($result)
{
if(!is_array($result))
return $result;
foreach($result as $k => $var)
{
if(is_array($var))
{
foreach($var as $k2 => $var2)
{
$result[$k][$k2] = urldecode($var2);
}
}
else
{
$result[$k] = urldecode($var);
}
}
return $result;
}
function DecodeResult($result)
{
if(!is_array($result))
return $result;
foreach($result as $k => $var)
{
if(is_array($var))
{
foreach($var as $k2 => $var2)
{
$result[$k][$k2] = htmlspecialchars_decode($var2);
}
}
else
{
$result[$k] = htmlspecialchars_decode($var);
}
}
return $result;
}
function EncodeRow($result)
{
if(!is_array($result))
return $result;
foreach($result as $k => $var)
{
if(is_array($var))
{
foreach($var as $k2 => $var2)
{
$result[$k][$k2] = urlencode($var2);
}
}
else
{
$result[$k] = urlencode($var);
}
}
return $result;
}
function EncodeResult($result)
{
if(!is_array($result))
return $result;
foreach($result as $k => $var)
{
if(is_array($var))
{
foreach($var as $k2 => $var2)
{
$result[$k][$k2] = htmlspecialchars($var2);
}
}
else
{
$result[$k] = htmlspecialchars($var);
}
}
return $result;
}
}//Util
?>