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 wikiFN($this->id, $rev); } /** * Returns mode * * @return string RevisionInfo::MODE_PAGE */ protected function getMode() { return RevisionInfo::MODE_PAGE; } /** * Adds an entry to the changelog * * @param array $info Revision info structure of a page * @param int $timestamp log line date (optional) * @return array revision info of added log line * * @see also addLogEntry() 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(metaFN($this->id, '.changes'), $logline, true); io_saveFile($conf['changelog'], $logline, true); //global changelog cache // update cache $this->currentRevision = $info['date']; $info['mode'] = $this->getMode(); $this->cache[$this->id][$this->currentRevision] = $info; return $info; } }