Files
redl-gamepanel/panel/engine/engine_ftp/editors/editor.php
T
redl 6ee2744e3a Сборка REDL: панель на PHP 8, капча-тумблер, закрытые уязвимости, установщики в один клик
- панель работает на PHP 8.4 (оригинал под PHP 7.0): elFinder utf8_encode, apache_get_modules, warnings
- капча выключена и управляется из админки (флаг captcha_enable + блок настроек)
- закрыты две SQL-инъекции без авторизации (createAuthLog: пароль из POST и CF-Connecting-IP)
- убрано хранение паролей в открытом виде в authlog, XSS в поле ref
- установщики install-panel.sh и install-node.sh (оригинальный затирал sources.list репозиториями Debian 9)
- современный Dockerfile (оригинальный на debian:stretch больше не собирается)
- планировщик и автозапуск работают без systemd
- брендинг REDL.IO, год 2026, ссылки на redl.io
- документация на русском: ИЗМЕНЕНИЯ, БЕЗОПАСНОСТЬ, ИНСТРУКЦИЯ
2026-07-30 02:00:01 +00:00

80 lines
1.4 KiB
PHP

<?php
/**
* Abstract class of editor plugins.
*
* @author Naoki Sawada
*/
class elFinderEditor
{
/**
* Array of allowed method by request from client side.
*
* @var array
*/
protected $allowed = array();
/**
* elFinder instance
*
* @var object elFinder instance
*/
protected $elfinder;
/**
* Arguments
*
* @var array argValues
*/
protected $args;
/**
* Constructor.
*
* @param object $elfinder
* @param array $args
*/
public function __construct($elfinder, $args)
{
$this->elfinder = $elfinder;
$this->args = $args;
}
/**
* Return boolean that this plugin is enabled.
*
* @return bool
*/
public function enabled()
{
return true;
}
/**
* Return boolean that $name method is allowed.
*
* @param string $name
*
* @return bool
*/
public function isAllowedMethod($name)
{
$checker = array_flip($this->allowed);
return isset($checker[$name]);
}
/**
* Return $this->args value of the key
*
* @param string $key target key
* @param string $empty empty value
*
* @return mixed
*/
public function argValue($key, $empty = '')
{
return isset($this->args[$key]) ? $this->args[$key] : $empty;
}
}