From 857efe49e653787f5408fc014ae71efec68494d5 Mon Sep 17 00:00:00 2001
From: Andrew Dolgov <fox@fakecake.org>
Date: Wed, 17 Apr 2013 12:10:35 +0400
Subject: [PATCH] add schema checking to feed updating and update script

---
 include/rssfuncs.php | 6 ++++++
 update.php           | 8 ++++++++
 update_daemon2.php   | 4 ++++
 3 files changed, 18 insertions(+)

diff --git a/include/rssfuncs.php b/include/rssfuncs.php
index 0a20f5d8e..9ea2662fc 100644
--- a/include/rssfuncs.php
+++ b/include/rssfuncs.php
@@ -60,6 +60,12 @@
 	function update_daemon_common($link, $limit = DAEMON_FEED_LIMIT, $from_http = false, $debug = true) {
 		// Process all other feeds using last_updated and interval parameters
 
+		$schema_version = get_schema_version($link);
+
+		if ($schema_version != SCHEMA_VERSION) {
+			die("Schema version is wrong, please upgrade the database.\n");
+		}
+
 		define('PREFS_NO_CACHE', true);
 
 		// Test if the user has loggued in recently. If not, it does not update its feeds.
diff --git a/update.php b/update.php
index f5fa9e569..1c43cdb94 100755
--- a/update.php
+++ b/update.php
@@ -89,6 +89,14 @@
 		return;
 	}
 
+	if (!isset($options['update-schema'])) {
+		$schema_version = get_schema_version($link);
+
+		if ($schema_version != SCHEMA_VERSION) {
+			die("Schema version is wrong, please upgrade the database.\n");
+		}
+	}
+
 	define('QUIET', isset($options['quiet']));
 
 	if (isset($options["log"])) {
diff --git a/update_daemon2.php b/update_daemon2.php
index 8e1917b6f..77d05be66 100755
--- a/update_daemon2.php
+++ b/update_daemon2.php
@@ -183,6 +183,10 @@
 
 	db_close($link);
 
+	if ($schema_version != SCHEMA_VERSION) {
+		die("Schema version is wrong, please upgrade the database.\n");
+	}
+
 	while (true) {
 
 		// Since sleep is interupted by SIGCHLD, we need another way to
-- 
GitLab