Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/monara/public_html/test.athavaneng.com/themes.php on line 99
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 226
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 227
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 228
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 229
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 230
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 231
.
/**
* ClamAV antivirus adminlib.
*
* @package antivirus_clamav
* @copyright 2015 Ruslan Kabalin, Lancaster University.
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
/**
* Admin setting for running, adds verification.
*
* @package antivirus_clamav
* @copyright 2015 Ruslan Kabalin, Lancaster University.
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class antivirus_clamav_runningmethod_setting extends admin_setting_configselect {
/**
* Save a setting
*
* @param string $data
* @return string empty or error string
*/
public function write_setting($data) {
$validated = $this->validate($data);
if ($validated !== true) {
return $validated;
}
return parent::write_setting($data);
}
/**
* Validate data.
*
* This ensures that the selected socket transport is supported by this system.
*
* @param string $data
* @return mixed True on success, else error message.
*/
public function validate($data) {
$supportedtransports = stream_get_transports();
if ($data === 'unixsocket') {
if (array_search('unix', $supportedtransports) === false) {
return get_string('errornounixsocketssupported', 'antivirus_clamav');
}
} else if ($data === 'tcpsocket') {
if (array_search('tcp', $supportedtransports) === false) {
return get_string('errornotcpsocketssupported', 'antivirus_clamav');
}
}
return true;
}
}
/**
* Abstract socket checking class
*
* @package antivirus_clamav
* @copyright 2015 Ruslan Kabalin, Lancaster University.
* @copyright 2019 Didier Raboud, Liip AG.
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class antivirus_clamav_socket_setting extends admin_setting_configtext {
/**
* Ping ClamAV socket.
*
* This ensures that a socket setting is correct and that ClamAV is running.
*
* @param string $socketaddress Address to the socket to connect to (for stream_socket_client)
* @return mixed True on success, else error message.
*/
protected function validate_clamav_socket($socketaddress) {
$socket = stream_socket_client($socketaddress, $errno, $errstr, ANTIVIRUS_CLAMAV_SOCKET_TIMEOUT);
if (!$socket) {
return get_string('errorcantopensocket', 'antivirus_clamav', "$errstr ($errno)");
} else {
// Send PING query to ClamAV socket to check its running state.
fwrite($socket, "nPING\n");
$response = stream_get_line($socket, 4);
fclose($socket);
if ($response !== 'PONG') {
return get_string('errorclamavnoresponse', 'antivirus_clamav');
}
}
return true;
}
}
/**
* Admin setting for unix socket path, adds verification.
*
* @package antivirus_clamav
* @copyright 2015 Ruslan Kabalin, Lancaster University.
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class antivirus_clamav_pathtounixsocket_setting extends antivirus_clamav_socket_setting {
/**
* Validate data.
*
* This ensures that unix socket setting is correct and ClamAV is running.
*
* @param string $data
* @return mixed True on success, else error message.
*/
public function validate($data) {
$result = parent::validate($data);
if ($result !== true) {
return $result;
}
$runningmethod = get_config('antivirus_clamav', 'runningmethod');
if ($runningmethod === 'unixsocket') {
return $this->validate_clamav_socket('unix://' . $data);
}
return true;
}
}
/**
* Admin setting for Internet domain socket host, adds verification.
*
* @package antivirus_clamav
* @copyright 2019 Didier Raboud, Liip AG.
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class antivirus_clamav_tcpsockethost_setting extends antivirus_clamav_socket_setting {
/**
* Validate data.
*
* This ensures that Internet domain socket setting is correct and ClamAV is running.
*
* @param string $data
* @return mixed True on success, else error message.
*/
public function validate($data) {
$result = parent::validate($data);
if ($result !== true) {
return $result;
}
$runningmethod = get_config('antivirus_clamav', 'runningmethod');
$tcpport = get_config('antivirus_clamav', 'tcpsocketport');
if ($tcpport === false) {
$tcpport = 3310;
}
if ($runningmethod === 'tcpsocket') {
return $this->validate_clamav_socket('tcp://' . $data . ':' . $tcpport);
}
return true;
}
}