mirror of
https://github.com/phpbb/phpbb.git
synced 2025-02-24 20:13:22 +01:00
[ticket/10899] Using Delete All in log viewer with keyword search * Nicofuma/ticket/10899: [ticket/10899] Update doc block [ticket/10899] Use isset($field_value['IN']) [ticket/10899] Add event core.delete_log [ticket/10899] Remove trailing ; [ticket/10899] Fix typo in the class name [ticket/10899] Add unit tests [ticket/10899] Get $phpbb_log from the container [ticket/10899] Remove extra ';' [ticket/10899] Typo [ticket/10899] Refactoring in \phpbb\log\log_interface [ticket/10899] Using Delete All in log viewer with keyword search
115 lines
4.1 KiB
PHP
115 lines
4.1 KiB
PHP
<?php
|
|
/**
|
|
*
|
|
* This file is part of the phpBB Forum Software package.
|
|
*
|
|
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
|
* @license GNU General Public License, version 2 (GPL-2.0)
|
|
*
|
|
* For full copyright and license information, please see
|
|
* the docs/CREDITS.txt file.
|
|
*
|
|
*/
|
|
|
|
namespace phpbb\log;
|
|
|
|
/**
|
|
* The interface for the log-system.
|
|
*/
|
|
interface log_interface
|
|
{
|
|
/**
|
|
* This function returns the state of the log system.
|
|
*
|
|
* @param string $type The log type we want to check. Empty to get
|
|
* global log status.
|
|
*
|
|
* @return bool True if log for the type is enabled
|
|
*/
|
|
public function is_enabled($type = '');
|
|
|
|
/**
|
|
* Disable log
|
|
*
|
|
* This function allows disabling the log system or parts of it, for this
|
|
* page call. When add_log is called and the type is disabled,
|
|
* the log will not be added to the database.
|
|
*
|
|
* @param mixed $type The log type we want to disable. Empty to
|
|
* disable all logs. Can also be an array of types.
|
|
*
|
|
* @return null
|
|
*/
|
|
public function disable($type = '');
|
|
|
|
/**
|
|
* Enable log
|
|
*
|
|
* This function allows re-enabling the log system.
|
|
*
|
|
* @param mixed $type The log type we want to enable. Empty to
|
|
* enable all logs. Can also be an array of types.
|
|
*
|
|
* @return null
|
|
*/
|
|
public function enable($type = '');
|
|
|
|
/**
|
|
* Adds a log entry to the database
|
|
*
|
|
* @param string $mode The mode defines which log_type is used and from which log the entry is retrieved
|
|
* @param int $user_id User ID of the user
|
|
* @param string $log_ip IP address of the user
|
|
* @param string $log_operation Name of the operation
|
|
* @param int $log_time Timestamp when the log entry was added, if empty time() will be used
|
|
* @param array $additional_data More arguments can be added, depending on the log_type
|
|
*
|
|
* @return int|bool Returns the log_id, if the entry was added to the database, false otherwise.
|
|
*/
|
|
public function add($mode, $user_id, $log_ip, $log_operation, $log_time = false, $additional_data = array());
|
|
|
|
/**
|
|
* Delete entries in the logs
|
|
*
|
|
* @param string $mode The mode defines which log_type is used and from which log the entries are deleted
|
|
* @param array $conditions An array of conditions, 3 different forms are accepted
|
|
* 1) <key> => <value> transformed into 'AND <key> = <value>' (value should be an integer)
|
|
* 2) <key> => array(<operator>, <value>) transformed into 'AND <key> <operator> <value>' (values can't be an array)
|
|
* 3) <key> => array('IN' => array(<values>)) transformed into 'AND <key> IN <values>'
|
|
* A special field, keywords, can also be defined. In this case only the log entries that have the keywords in log_operation or log_data will be deleted.
|
|
*/
|
|
public function delete($mode, $conditions = array());
|
|
|
|
/**
|
|
* Grab the logs from the database
|
|
*
|
|
* @param string $mode The mode defines which log_type is used and ifrom which log the entry is retrieved
|
|
* @param bool $count_logs Shall we count all matching log entries?
|
|
* @param int $limit Limit the number of entries that are returned
|
|
* @param int $offset Offset when fetching the log entries, f.e. when paginating
|
|
* @param mixed $forum_id Restrict the log entries to the given forum_id (can also be an array of forum_ids)
|
|
* @param int $topic_id Restrict the log entries to the given topic_id
|
|
* @param int $user_id Restrict the log entries to the given user_id
|
|
* @param int $log_time Only get log entries newer than the given timestamp
|
|
* @param string $sort_by SQL order option, e.g. 'l.log_time DESC'
|
|
* @param string $keywords Will only return log entries that have the keywords in log_operation or log_data
|
|
*
|
|
* @return array The result array with the logs
|
|
*/
|
|
public function get_logs($mode, $count_logs = true, $limit = 0, $offset = 0, $forum_id = 0, $topic_id = 0, $user_id = 0, $log_time = 0, $sort_by = 'l.log_time DESC', $keywords = '');
|
|
|
|
/**
|
|
* Get total log count
|
|
*
|
|
* @return int Returns the number of matching logs from the last call to get_logs()
|
|
*/
|
|
public function get_log_count();
|
|
|
|
/**
|
|
* Get offset of the last valid page
|
|
*
|
|
* @return int Returns the offset of the last valid page from the last call to get_logs()
|
|
*/
|
|
public function get_valid_offset();
|
|
}
|