| Server IP : 37.9.174.138 / Your IP : 216.73.216.117 Web Server : Apache System : Linux vps6.backend.sk 6.12.100+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.100-1 (2026-07-30) x86_64 User : ftpuser ( 1001) PHP Version : 8.4.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/backend-accounting.sk/app/modules/extendedDatatable/code/ |
Upload File : |
<?php
namespace modules\extendedDatatable\code;
/**
* Description of SetColumnController
*
* @author maros
*/
class SetColumnController extends TextColumnController {
public function getDatatableSqlConditionValue($value) {
if ($value === false) {
return false;
}
$value = parent::getDatatableSqlConditionValue($value);
if (is_array($value)) {
foreach ($value as $key => $val) {
$value[$key] = '%' . \app\constants\Config::DB_ITEMS_SEPARATOR . $val . \app\constants\Config::DB_ITEMS_SEPARATOR . '%';
}
} else {
$value = substr($value, 1, -1);
$value = '%' . \app\constants\Config::DB_ITEMS_SEPARATOR . $value . \app\constants\Config::DB_ITEMS_SEPARATOR . '%';
}
return $value;
}
public function getDatatableSqlCondition($sqlVarName, $bindArrayVarName, $value) {
if ($value === '%' . \app\constants\Config::DB_ITEMS_SEPARATOR . \app\constants\Config::DB_ITEMS_SEPARATOR . '%') {
return '';
}
$orNull = false;
if (is_array($value) && count($value) === 1 && strlen(trim($value[0])) === 0) {
return false;
}
if (is_array($value)) {
$vars = range(0, count($value) - 1);
foreach ($vars as $key => $val) {
if ($value[$val] === 'null') {
$orNull = true;
unset($vars[$key]);
continue;
}
$vars[$key] = $bindArrayVarName . $val;
}
$conditions = [];
foreach ($vars as $var) {
$conditions[] = "CONCAT('" . \app\constants\Config::DB_ITEMS_SEPARATOR . "', " . $sqlVarName . ", '" . \app\constants\Config::DB_ITEMS_SEPARATOR . "') LIKE :" . $var;
}
$conditions = '(' . implode(' OR ', $conditions) . ')';
if ($orNull === false) {
return $conditions;
} else if (count($vars) > 0) {
return "(" . $conditions . " OR " . $sqlVarName . " IS NULL)";
} else {
return $sqlVarName . " IS NULL";
}
}
return "CONCAT('" . \app\constants\Config::DB_ITEMS_SEPARATOR . "', " . $sqlVarName . ", '" . \app\constants\Config::DB_ITEMS_SEPARATOR . "') LIKE :" . $bindArrayVarName;
}
public function getTableValue($val) {
return str_replace(\app\constants\Config::DB_ITEMS_SEPARATOR, ', ', $val);
}
}