]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - application/Updater.php
namespacing: \Shaarli\Exceptions\IOException
[github/shaarli/Shaarli.git] / application / Updater.php
index f6b9e205d61ba29c33a23cdd998b57ba3218ed74..c0d541b440eac363dae43a8682d82fe971600e0c 100644 (file)
@@ -2,6 +2,8 @@
 use Shaarli\Config\ConfigJson;
 use Shaarli\Config\ConfigPhp;
 use Shaarli\Config\ConfigManager;
+use Shaarli\Exceptions\IOException;
+use Shaarli\Thumbnailer;
 
 /**
  * Class Updater.
@@ -182,7 +184,7 @@ class Updater
             }
         }
 
-        try{
+        try {
             $this->conf->write($this->isLoggedIn);
             return true;
         } catch (IOException $e) {
@@ -497,12 +499,12 @@ class Updater
      */
     public function updateMethodWebThumbnailer()
     {
-        if ($this->conf->exists('thumbnails.enabled')) {
+        if ($this->conf->exists('thumbnails.mode')) {
             return true;
         }
 
-        $thumbnailsEnabled = $this->conf->get('thumbnail.enable_thumbnails', true);
-        $this->conf->set('thumbnails.enabled', $thumbnailsEnabled);
+        $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');
@@ -510,12 +512,32 @@ class Updater
 
         if ($thumbnailsEnabled) {
             $this->session['warnings'][] = t(
-                'You have enabled thumbnails. <a href="?do=thumbs_update">Please synchonize them</a>.'
+                'You have enabled or changed thumbnails mode. <a href="?do=thumbs_update">Please synchronize them</a>.'
             );
         }
 
         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;
+    }
 }
 
 /**