X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2FUpdater.php;h=480bff8267956ad82e12d3a4169e7b09f60ee135;hb=b5c368b85885b82e7db7e509c8a7e2035d51e0a1;hp=dece2c020d297fdf13bf8773b76cb37895328025;hpb=9b2bd66fb60ffd5a833480bf329062c7d57bc8c4;p=github%2Fshaarli%2FShaarli.git diff --git a/application/Updater.php b/application/Updater.php index dece2c02..480bff82 100644 --- a/application/Updater.php +++ b/application/Updater.php @@ -2,6 +2,7 @@ use Shaarli\Config\ConfigJson; use Shaarli\Config\ConfigPhp; use Shaarli\Config\ConfigManager; +use Shaarli\Thumbnailer; /** * Class Updater. @@ -30,6 +31,11 @@ class Updater */ protected $isLoggedIn; + /** + * @var array $_SESSION + */ + protected $session; + /** * @var ReflectionMethod[] List of current class methods. */ @@ -42,13 +48,17 @@ class Updater * @param LinkDB $linkDB LinkDB instance. * @param ConfigManager $conf Configuration Manager instance. * @param boolean $isLoggedIn True if the user is logged in. + * @param array $session $_SESSION (by reference) + * + * @throws ReflectionException */ - public function __construct($doneUpdates, $linkDB, $conf, $isLoggedIn) + public function __construct($doneUpdates, $linkDB, $conf, $isLoggedIn, &$session = []) { $this->doneUpdates = $doneUpdates; $this->linkDB = $linkDB; $this->conf = $conf; $this->isLoggedIn = $isLoggedIn; + $this->session = &$session; // Retrieve all update methods. $class = new ReflectionClass($this); @@ -480,6 +490,30 @@ class Updater } $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; }