X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2FUpdater.php;h=ca05ecc2fca49913e3675cebe979f749308b98f9;hb=6696729b88e67504fdd333cbaab43a63c3617d86;hp=f07e76978f170f7c8839f399c9d9c93e319d6384;hpb=9d4736a3e95332198896f97ecc8a83abb0cbe85b;p=github%2Fshaarli%2FShaarli.git diff --git a/application/Updater.php b/application/Updater.php index f07e7697..ca05ecc2 100644 --- a/application/Updater.php +++ b/application/Updater.php @@ -1,7 +1,12 @@ doneUpdates = $doneUpdates; $this->linkDB = $linkDB; $this->conf = $conf; $this->isLoggedIn = $isLoggedIn; + $this->session = &$session; // Retrieve all update methods. $class = new ReflectionClass($this); @@ -173,7 +187,7 @@ class Updater } } - try{ + try { $this->conf->write($this->isLoggedIn); return true; } catch (IOException $e) { @@ -457,6 +471,76 @@ class Updater } return true; } + + /** + * Add download size and timeout to the configuration file + * + * @return bool true if the update is successful, false otherwise. + */ + public function updateMethodDownloadSizeAndTimeoutConf() + { + if ($this->conf->exists('general.download_max_size') + && $this->conf->exists('general.download_timeout') + ) { + return true; + } + + if (! $this->conf->exists('general.download_max_size')) { + $this->conf->set('general.download_max_size', 1024*1024*4); + } + + if (! $this->conf->exists('general.download_timeout')) { + $this->conf->set('general.download_timeout', 30); + } + + $this->conf->write($this->isLoggedIn); + return true; + } + + /** + * * Move thumbnails management to WebThumbnailer, coming with new settings. + */ + public function updateMethodWebThumbnailer() + { + if ($this->conf->exists('thumbnails.mode')) { + return true; + } + + $thumbnailsEnabled = extension_loaded('gd') && $this->conf->get('thumbnail.enable_thumbnails', true); + $this->conf->set('thumbnails.mode', $thumbnailsEnabled ? Thumbnailer::MODE_ALL : Thumbnailer::MODE_NONE); + $this->conf->set('thumbnails.width', 125); + $this->conf->set('thumbnails.height', 90); + $this->conf->remove('thumbnail'); + $this->conf->write(true); + + if ($thumbnailsEnabled) { + $this->session['warnings'][] = t( + 'You have enabled or changed thumbnails mode. Please synchronize them.' + ); + } + + return true; + } + + /** + * Set sticky = false on all links + * + * @return bool true if the update is successful, false otherwise. + */ + public function updateMethodSetSticky() + { + foreach ($this->linkDB as $key => $link) { + if (isset($link['sticky'])) { + return true; + } + $link['sticky'] = false; + $this->linkDB[$key] = $link; + } + + $this->linkDB->save($this->conf->get('resource.page_cache')); + + return true; + } } /**