Moodle PHP Documentation 4.5
Moodle 4.5dev (Build: 20240606) (d3ae1391abe)
core\antivirus\scanner Class Reference

Base abstract antivirus scanner class. More...

Inheritance diagram for core\antivirus\scanner:
antivirus_clamav\scanner

Public Member Functions

 __construct ()
 Class constructor.
 
 get_config ($property)
 Config get method.
 
 get_incident_details ($file='', $filename='', $notice='', $virus=true)
 Return incident details.
 
 get_messages ()
 Getter method for messages queued by the antivirus scanner.
 
 get_scanning_notice ()
 Get scanning notice.
 
 get_virus_found_message ()
 Getter method for the antivirus message displayed in the exception.
 
 is_configured ()
 Are the antivirus settings configured?
 
 message_admins ($notice, $format=FORMAT_PLAIN, $eventname='errors')
 This function pushes given messages into the message queue, which will be sent by the antivirus manager.
 
 scan_data ($data)
 Scan data.
 
 scan_file ($file, $filename)
 Scan file.
 

Public Attributes

const SCAN_RESULT_ERROR = 2
 Scanning result indicating the error.
 
const SCAN_RESULT_FOUND = 1
 Scanning result indicating that virus is found.
 
const SCAN_RESULT_OK = 0
 Scanning result indicating no virus found.
 

Protected Member Functions

 set_scanning_notice ($notice)
 Set scanning notice.
 

Protected Attributes

stdClass $config
 the config for antivirus
 
array $messages = []
 any admin messages generated by a plugin.
 
string $scanningnotice = ''
 scanning notice
 

Detailed Description

Base abstract antivirus scanner class.

@subpackage antivirus

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Constructor & Destructor Documentation

◆ __construct()

core\antivirus\scanner::__construct ( )

Class constructor.

Return values
void.

Member Function Documentation

◆ get_config()

core\antivirus\scanner::get_config ( $property)

Config get method.

Parameters
string$propertyconfig property to get.
Return values
mixed
Exceptions
coding_exception

◆ get_incident_details()

core\antivirus\scanner::get_incident_details ( $file = '',
$filename = '',
$notice = '',
$virus = true )

Return incident details.

Parameters
string$filefull path to the file
string$filenameoriginal name of the file
string$noticenotice from antivirus
string$virusif this template is due to a virus found.
Return values
stringthe incident details
Exceptions
coding_exception

◆ get_messages()

core\antivirus\scanner::get_messages ( )

Getter method for messages queued by the antivirus scanner.

Return values
array

◆ get_scanning_notice()

core\antivirus\scanner::get_scanning_notice ( )

Get scanning notice.

Return values
string

◆ get_virus_found_message()

core\antivirus\scanner::get_virus_found_message ( )

Getter method for the antivirus message displayed in the exception.

Return values
arrayarray of string and component to pass to exception constructor.

◆ is_configured()

core\antivirus\scanner::is_configured ( )
abstract

Are the antivirus settings configured?

Return values
boolTrue if plugin has been configured.

Reimplemented in antivirus_clamav\scanner.

◆ message_admins()

core\antivirus\scanner::message_admins ( $notice,
$format = FORMAT_PLAIN,
$eventname = 'errors' )

This function pushes given messages into the message queue, which will be sent by the antivirus manager.

Parameters
string$noticeThe body of the email to be sent.
string$formatThe body format.
string$eventnameevent name
Return values
void
Exceptions
coding_exception
moodle_exception

◆ scan_data()

core\antivirus\scanner::scan_data ( $data)

Scan data.

By default it saves data variable content to file and then scans it using scan_file method, however if antivirus plugin permits scanning data directly, the method can be overridden.

Parameters
string$dataThe variable containing the data to scan.
Return values
intScanning result constants.

Reimplemented in antivirus_clamav\scanner.

◆ scan_file()

core\antivirus\scanner::scan_file ( $file,
$filename )
abstract

Scan file.

Parameters
string$fileFull path to the file.
string$filenameName of the file (could be different from physical file if temp file is used).
Return values
intScanning result constants.

Reimplemented in antivirus_clamav\scanner.

◆ set_scanning_notice()

core\antivirus\scanner::set_scanning_notice ( $notice)
protected

Set scanning notice.

Parameters
string$noticenotice to set.
Return values
void

The documentation for this class was generated from the following file: