]> git.wh0rd.org - tt-rss.git/blobdiff - update.php
add missing update scripts for schema v.17
[tt-rss.git] / update.php
index 964626d7fa9dd2f02076cb9b733b68d9922336de..e3a25f47cf68504dbb53f140d0418fbef9a8ad82 100644 (file)
@@ -1,47 +1,58 @@
 <?php
-       require_once "sessions.php";
+       error_reporting(E_ERROR | E_WARNING | E_PARSE);
 
+       require_once "sessions.php";
+       
        require_once "sanity_check.php";
        require_once "functions.php";
        require_once "config.php";
        require_once "db.php";
-
+       
        $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); 
-
+       
        if (DB_TYPE == "pgsql") {
                pg_query($link, "set client_encoding = 'utf-8'");
                pg_set_client_encoding("UNICODE");
        }
-
+       
        login_sequence($link);
-
+       
        $owner_uid = $_SESSION["uid"];
-
-       if ($_SESSION["access_level"] < 10) { 
-               header("Location: login.php"); die;
+       
+       if (!SINGLE_USER_MODE && $_SESSION["access_level"] < 10) { 
+               $_SESSION["login_error_msg"] = __("Your access level is insufficient to run this script.");
+               render_login_form($link);
+               exit;
        }
 
-       define('SCHEMA_VERSION', 13);
 
 ?>
 
 <html>
 <head>
-       <title>Database Updater</title>
-       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-       <link rel="stylesheet" type="text/css" href="update.css">
+<title>Database Updater</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link rel="stylesheet" type="text/css" href="utility.css">
 </head>
 
 <body>
 
-<h1>Database Updater</h1>
+<script type='text/javascript'>
+function confirmOP() {
+       return confirm(__("Update the database?"));
+}
+</script>
+
+<div class="floatingLogo"><img src="images/ttrss_logo.png"></div>
+
+<h1><?php echo __("Database Updater") ?></h1>
 
 <?php
        function getline($fp, $delim) {
-          $result = "";
-          while(!feof($fp)) {
+               $result = "";
+               while(!feof($fp)) {
                        $tmp = fgetc($fp);
-
+       
                        if($tmp == $delim) {
                                return $result;
                        }
                }
                return $result;
        }
-
-       $op = $_REQUEST["op"];
+       
+       $op = $_POST["op"];
        
        $result = db_query($link, "SELECT schema_version FROM ttrss_version");
        $version = db_fetch_result($result, 0, "schema_version");
-
+       
        $update_files = glob("schema/versions/".DB_TYPE."/*sql");
        $update_versions = array();
-
+       
        foreach ($update_files as $f) {
                $m = array();
                preg_match_all("/schema\/versions\/".DB_TYPE."\/(\d*)\.sql/", $f, $m,
                        PREG_PATTERN_ORDER);
-
+       
                if ($m[1][0]) {
                        $update_versions[$m[1][0]] = $f;
                }
        }
-
+       
        ksort($update_versions, SORT_NUMERIC);
-
+       
        $latest_version = max(array_keys($update_versions));
-
+       
        if ($version == $latest_version) {
-               print "Database schema is up to date (version $version).";
+               print "<p>".__("Tiny Tiny RSS database is up to date.")."</p>";
+               print "<form method=\"GET\" action=\"tt-rss.php\">
+                       <input type=\"submit\" value=\"".__("Return to Tiny Tiny RSS")."\">
+                       </form>";
+
                return;
        }
-
+       
        if (!$op) {
-               print "<p class='warning'><b>Warning:</b> Please backup your database before proceeding.</p>";
-
-               print "<p>Your database schema version is $version. Latest version is ".
-                       "$latest_version.</p>";
-
-               print "<p>Available incremental updates:";
-
+               print_warning("Please backup your database before proceeding.");
+       
+               print "<p>" . T_sprintf("Your Tiny Tiny RSS database needs update to the latest version (<b>%d</b> to <b>%d</b>).", $version, $latest_version) . "</p>";
+       
+       /*              print "<p>Available incremental updates:";
+       
                foreach (array_keys($update_versions) as $v) {
                        if ($v > $version) {
                                print " <a href='$update_versions[$v]'>$v</a>";
                        }
-               }
-
+               } */
+       
                print "</p>";
-               print "<a href='update.php?op=do'>Click here to perform updates.</a>";
-
+       
+               print "<form method='POST'>
+                       <input type='hidden' name='op' value='do'>
+                       <input type='submit' onclick='return confirmOP()' value='".__("Perform updates")."'>
+                       </form>";
+       
        } else if ($op == "do") {
-
-               print "<p>Performing updates (version: $version)...</p>";
-
+       
+               print "<p>".__("Performing updates...")."</p>";
+       
                $num_updates = 0;
-
+       
                foreach (array_keys($update_versions) as $v) {
                        if ($v == $version + 1) {
-                               print "<p>Updating to version $v...</p>";
+                               print "<p>".T_sprintf("Updating to version %d...", $v)."</p>";
                                $fp = fopen($update_versions[$v], "r");
                                if ($fp) {
                                        while (!feof($fp)) {
                                                $query = trim(getline($fp, ";"));
                                                if ($query != "") {
-                                                       print "<p class='query'><b>QUERY:</b> $query</p>";
+                                                       print "<p class='query'>$query</p>";
                                                        db_query($link, $query);
                                                }
                                        }
                                }
                                fclose($fp);
-
-                               print "<p>Checking version... ";
-
+       
+                               print "<p>".__("Checking version... ");
+       
                                $result = db_query($link, "SELECT schema_version FROM ttrss_version");
                                $version = db_fetch_result($result, 0, "schema_version");
-
+       
                                if ($version == $v) {
-                                       print "OK!";
+                                       print __("OK!");
                                } else {
-                                       print "<b>ERROR!</b>";
+                                       print "<b>".__("ERROR!")."</b>";
                                        return;
                                }
-
+       
                                $num_updates++;
                        }
                }
+       
+               print "<p>".T_sprintf("Finished. Performed <b>%d</b> update(s) up to schema
+                       version <b>%d</b>.", $num_updates, $version)."</p>";
+       
+               print "<form method=\"GET\" action=\"logout.php\">
+                       <input type=\"submit\" value=\"".__("Return to Tiny Tiny RSS")."\">
+                       </form>";
 
-               print "<p>Finished. Performed $num_updates updates up to schema
-                       version $version.</p>";
        }
+       
 ?>
 
-
 </body>
 </html>