]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - application/Updater.php
Use the new 'default' theme... as default
[github/shaarli/Shaarli.git] / application / Updater.php
index efbfc832d352cb4872dd96a4f5a3e3162a88c4e3..40a15906b6bac9b53fb54faff0232b6514dd76ec 100644 (file)
@@ -328,21 +328,6 @@ class Updater
         return rename('inc/user.css', 'data/user.css');
     }
 
-    /**
-     * While the new default theme is in an unstable state
-     * continue to use the vintage theme
-     */
-    public function updateMethodDefaultThemeVintage()
-    {
-        if ($this->conf->get('resource.theme') !== 'default') {
-            return true;
-        }
-        $this->conf->set('resource.theme', 'vintage');
-        $this->conf->write($this->isLoggedIn);
-
-        return true;
-    }
-
     /**
      * * `markdown_escape` is a new setting, set to true as default.
      *
@@ -396,6 +381,61 @@ class Updater
 
         return true;
     }
+
+    /**
+     * Update updates.check_updates_branch setting.
+     *
+     * If the current major version digit matches the latest branch
+     * major version digit, we set the branch to `latest`,
+     * otherwise we'll check updates on the `stable` branch.
+     *
+     * No update required for the dev version.
+     *
+     * Note: due to hardcoded URL and lack of dependency injection, this is not unit testable.
+     *
+     * FIXME! This needs to be removed when we switch to first digit major version
+     *        instead of the second one since the versionning process will change.
+     */
+    public function updateMethodCheckUpdateRemoteBranch()
+    {
+        if (shaarli_version === 'dev' || $this->conf->get('updates.check_updates_branch') === 'latest') {
+            return true;
+        }
+
+        // Get latest branch major version digit
+        $latestVersion = ApplicationUtils::getLatestGitVersionCode(
+            'https://raw.githubusercontent.com/shaarli/Shaarli/latest/shaarli_version.php',
+            5
+        );
+        if (preg_match('/(\d+)\.\d+$/', $latestVersion, $matches) === false) {
+            return false;
+        }
+        $latestMajor = $matches[1];
+
+        // Get current major version digit
+        preg_match('/(\d+)\.\d+$/', shaarli_version, $matches);
+        $currentMajor = $matches[1];
+
+        if ($currentMajor === $latestMajor) {
+            $branch = 'latest';
+        } else {
+            $branch = 'stable';
+        }
+        $this->conf->set('updates.check_updates_branch', $branch);
+        $this->conf->write($this->isLoggedIn);
+        return true;
+    }
+
+    /**
+     * Reset history store file due to date format change.
+     */
+    public function updateMethodResetHistoryFile()
+    {
+        if (is_file($this->conf->get('resource.history'))) {
+            unlink($this->conf->get('resource.history'));
+        }
+        return true;
+    }
 }
 
 /**