X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2FHistory.php;h=d230f39de71bf0286158240341e41d73336125c5;hb=e6754f2154a79abd8e5e64bd923f6984aa9ad44b;hp=116b9264019c2a667e19f2d1e47aee0d5ab0b362;hpb=b2e2aa42e288e0becaa95bf9cc3be679743fc98e;p=github%2Fshaarli%2FShaarli.git diff --git a/application/History.php b/application/History.php index 116b9264..d230f39d 100644 --- a/application/History.php +++ b/application/History.php @@ -1,5 +1,12 @@ addEvent(self::CREATED, $link['id']); + $this->addEvent(self::CREATED, $link->getId()); } /** * Add Event: update existing link. * - * @param array $link Link data. + * @param Bookmark $link Link data. */ public function updateLink($link) { - $this->addEvent(self::UPDATED, $link['id']); + $this->addEvent(self::UPDATED, $link->getId()); } /** * Add Event: delete existing link. * - * @param array $link Link data. + * @param Bookmark $link Link data. */ public function deleteLink($link) { - $this->addEvent(self::DELETED, $link['id']); + $this->addEvent(self::DELETED, $link->getId()); } /** @@ -121,6 +134,16 @@ class History $this->addEvent(self::SETTINGS); } + /** + * Add Event: bulk import. + * + * Note: we don't store bookmarks add/update one by one since it can have a huge impact on performances. + */ + public function importLinks() + { + $this->addEvent(self::IMPORT); + } + /** * Save a new event and write it in the history file. * @@ -150,12 +173,12 @@ class History */ protected function check() { - if (! is_file($this->historyFilePath)) { + if (!is_file($this->historyFilePath)) { FileUtils::writeFlatDB($this->historyFilePath, []); } - if (! is_writable($this->historyFilePath)) { - throw new Exception('History file isn\'t readable or writable'); + if (!is_writable($this->historyFilePath)) { + throw new Exception(t('History file isn\'t readable or writable')); } } @@ -166,7 +189,7 @@ class History { $this->history = FileUtils::readFlatDB($this->historyFilePath, []); if ($this->history === false) { - throw new Exception('Could not parse history file'); + throw new Exception(t('Could not parse history file')); } } @@ -175,7 +198,7 @@ class History */ protected function write() { - $comparaison = new DateTime('-'. $this->retentionTime . ' seconds'); + $comparaison = new DateTime('-' . $this->retentionTime . ' seconds'); foreach ($this->history as $key => $value) { if ($value['datetime'] < $comparaison) { unset($this->history[$key]);