51 $this->ttlDays = isset( $config[
'ttlDays'] ) ? $config[
'ttlDays'] :
false;
63 $class = $config[
'class'];
64 $jrn =
new $class( $config );
65 if ( !$jrn instanceof
self ) {
66 throw new InvalidArgumentException(
"Class given is not an instance of FileJournal." );
80 for ( $i = 0; $i < 5; $i++ ) {
81 $s .= mt_rand( 0, 2147483647 );
83 $s = Wikimedia\base_convert( sha1(
$s ), 16, 36, 31 );
85 return substr( Wikimedia\base_convert(
wfTimestamp( TS_MW ), 10, 36, 9 ) .
$s, 0, 31 );
100 if ( !count( $entries ) ) {
101 return StatusValue::newGood();
167 if ( $limit && count( $entries ) > $limit ) {
168 $last = array_pop( $entries );
wfTimestamp( $outputtype=TS_UNIX, $ts=0)
Get a timestamp string in one of various formats.
Class for handling file operation journaling.
logChangeBatch(array $entries, $batchId)
Log changes made by a batch file operation.
__construct(array $config)
Construct a new instance from configuration.
getPositionAtTime( $time)
Get the position ID of the latest journal entry at some point in time.
getCurrentPosition()
Get the position ID of the latest journal entry.
purgeOldLogs()
Purge any old log entries.
doGetChangeEntries( $start, $limit)
getTimestampedUUID()
Get a statistically unique ID string.
getChangeEntries( $start=null, $limit=0, &$next=null)
Get an array of file change log entries.
static factory(array $config, $backend)
Create an appropriate FileJournal object from config.
doLogChangeBatch(array $entries, $batchId)
doGetPositionAtTime( $time)
see documentation in includes Linker php for Linker::makeImageLink & $time