chore: Проверки к типам
This commit is contained in:
parent
8786e84568
commit
18cc1cad01
8 changed files with 34 additions and 28 deletions
|
|
@ -220,7 +220,11 @@ class Action implements ActionInterface
|
|||
* @return mixed
|
||||
*/
|
||||
public function forward($action, HttpRequest $args) {
|
||||
$value = call_user_func([$this, $action], $args);
|
||||
$actionFn = [$this, $action];
|
||||
if (!is_callable($actionFn)) {
|
||||
return false;
|
||||
}
|
||||
$value = call_user_func($actionFn, $args);
|
||||
return $value;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ class Table
|
|||
/**
|
||||
* Устанавливает высоту ряда
|
||||
* @param int $row Номер ряда
|
||||
* @param numeric $value Высота ряда
|
||||
* @param int $value Высота ряда
|
||||
*/
|
||||
function setRowHeight (int $row, $value): void
|
||||
{
|
||||
|
|
@ -187,8 +187,9 @@ class Table
|
|||
*/
|
||||
function getRows()
|
||||
{
|
||||
// Высчитываем максимальный индекс, массив может быть разрежен поэтому используем array_keys
|
||||
$keys = array_keys($this->rows);
|
||||
return max($keys);
|
||||
return $keys === [] ? 0 : max($keys);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -199,7 +200,7 @@ class Table
|
|||
function getRowCells(TableRow $row)
|
||||
{
|
||||
$keys = array_keys($row->cells);
|
||||
return max($keys);
|
||||
return $keys === [] ? 0 :max($keys);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -225,7 +226,8 @@ class Table
|
|||
* @return int
|
||||
*/
|
||||
function getColumns() {
|
||||
return max(array_map([$this, 'getRowCells'], $this->rows));
|
||||
$columns = array_map($this->getRowCells(...), $this->rows);
|
||||
return $columns === [] ? 0 : max($columns);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -205,11 +205,15 @@ class Login extends Filter
|
|||
$action = $request->get('action');
|
||||
|
||||
$moduleDir = explode('\\',$module)[0];
|
||||
// TODO: Параметр для белого списка перенести в install.json
|
||||
$file = Path::join($this->config->get('system', 'path'), 'modules', $moduleDir, 'filters', 'white.json');
|
||||
if (file_exists($file)) {
|
||||
$whiteList = json_decode(file_get_contents($file), true);
|
||||
|
||||
if (in_array($action, $whiteList)) {
|
||||
$text = file_get_contents($file);
|
||||
if (!$text) {
|
||||
return false;
|
||||
}
|
||||
$whiteList = json_decode($text, true);
|
||||
if (is_array($whiteList) && in_array($action, $whiteList, true)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -233,17 +233,6 @@ class Functions {
|
|||
return ($a[$key] < $b[$key]) ? -1 : 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @param string $name Метод
|
||||
* @param object $o
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
static function __self($name, $o) {
|
||||
return call_user_func([$o, $name]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string ...$args
|
||||
* @return string
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ class Manager extends Filter
|
|||
|
||||
/**
|
||||
* @param HttpRequest $request
|
||||
* @param array $get
|
||||
* @param array|true $get
|
||||
* @return bool
|
||||
*/
|
||||
public function checkXHR($request, $get): bool
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@ namespace ctiso;
|
|||
* @param string $delimiter
|
||||
* @param string $enclosure
|
||||
* @param string $escape
|
||||
* @return array
|
||||
* @return array|false
|
||||
*/
|
||||
function str_getcsv($input, $delimiter = ",", $enclosure = '"', $escape = "\\")
|
||||
{
|
||||
$fiveMBs = 1024;
|
||||
$fp = fopen("php://temp/maxmemory:$fiveMBs", 'r+');
|
||||
$data = '';
|
||||
$data = [];
|
||||
if (is_resource($fp)) {
|
||||
fputs($fp, $input);
|
||||
rewind($fp);
|
||||
|
|
@ -41,7 +41,7 @@ function process_exists($pid)
|
|||
foreach ($processes as $process) {
|
||||
if ($process != "") {
|
||||
$csv = str_getcsv($process);
|
||||
if ($pid == $csv[1]) return true;
|
||||
if ($csv && $pid == $csv[1]) return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -18,17 +18,20 @@ class Drawing
|
|||
* @param int $top
|
||||
* @param int $width
|
||||
* @param int $height
|
||||
* @param list<int> $rgb
|
||||
* @param list<int<0, 255>> $rgb
|
||||
*/
|
||||
static function drawRectangle(GdImage &$image, int $left, int $top, int $width, int $height, array $rgb): void
|
||||
{
|
||||
$color = imagecolorallocate($image, $rgb[0], $rgb[1], $rgb[2]);
|
||||
if ($color === false) {
|
||||
throw new \RuntimeException("Can't allocate color");
|
||||
}
|
||||
$right = $left + $width;
|
||||
$bottom = $top + $height;
|
||||
imageline($image, $left, $top, $right, $top, $color);
|
||||
imageline($image, $right, $top, $right, $bottom, $color);
|
||||
imageline($image, $left, $top, $right, $top, $color);
|
||||
imageline($image, $right, $top, $right, $bottom, $color);
|
||||
imageline($image, $left, $bottom, $right, $bottom, $color);
|
||||
imageline($image, $left, $top, $left, $bottom, $color);
|
||||
imageline($image, $left, $top, $left, $bottom, $color);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -106,7 +106,11 @@ class TemplateImage
|
|||
{
|
||||
$suffix = pathinfo($file, PATHINFO_EXTENSION);
|
||||
if (array_key_exists($suffix, self::$listfiles)) {
|
||||
return call_user_func('imagecreatefrom' . self::$listfiles[$suffix], $file);
|
||||
$imageFn = 'imagecreatefrom' . self::$listfiles[$suffix];
|
||||
if (!is_callable($imageFn)) {
|
||||
return null;
|
||||
}
|
||||
return call_user_func($imageFn, $file);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue