id, '.changes'); } /** * Returns path to current page/media * * @param string|int $rev empty string or revision timestamp * @return string path to file */ protected function getFilename($rev = '') { return mediaFN($this->id, $rev); } /** * Returns mode * * @return string RevisionInfo::MODE_PAGE */ protected function getMode() { return RevisionInfo::MODE_MEDIA; } /** * Adds an entry to the changelog * * @param array $info Revision info structure of a media file * @param int $timestamp log line date (optional) * @return array revision info of added log line * * @see also addMediaLogEntry() in inc/changelog.php file */ public function addLogEntry(array $info, $timestamp = null) { global $conf; if (isset($timestamp)) unset($this->cache[$this->id][$info['date']]); // add changelog lines $logline = static::buildLogLine($info, $timestamp); io_saveFile(mediaMetaFN($this->id, '.changes'), $logline, $append = true); io_saveFile($conf['media_changelog'], $logline, $append = true); //global changelog cache // update cache $this->currentRevision = $info['date']; $info['mode'] = $this->getMode(); $this->cache[$this->id][$this->currentRevision] = $info; return $info; } }