diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/functions.php | 20 | ||||
-rw-r--r-- | include/login_form.php | 3 | ||||
-rwxr-xr-x | include/sanity_check.php | 25 |
3 files changed, 44 insertions, 4 deletions
diff --git a/include/functions.php b/include/functions.php index 4265692ec..5667ac416 100644 --- a/include/functions.php +++ b/include/functions.php @@ -1,6 +1,6 @@ <?php define('EXPECTED_CONFIG_VERSION', 26); - define('SCHEMA_VERSION', 132); + define('SCHEMA_VERSION', 133); define('LABEL_BASE_INDEX', -1024); define('PLUGIN_FEED_BASE_INDEX', -128); @@ -57,6 +57,9 @@ // do not cache files smaller than that (bytes) define_default('CACHE_MAX_DAYS', 7); // max age in days for various automatically cached (temporary) files + define_default('MAX_CONDITIONAL_INTERVAL', 3600*12); + // max interval between forced unconditional updates for servers + // not complying with http if-modified-since (seconds) /* tunables end here */ @@ -2546,3 +2549,18 @@ } } + function check_mysql_tables() { + $schema = db_escape_string(DB_NAME); + + $result = db_query("SELECT engine, table_name FROM information_schema.tables WHERE + table_schema = '$schema' AND table_name LIKE 'ttrss_%' AND engine != 'InnoDB'"); + + $bad_tables = []; + + while ($line = db_fetch_assoc($result)) { + array_push($bad_tables, $line); + } + + return $bad_tables; + } + diff --git a/include/login_form.php b/include/login_form.php index 0d956d207..41c3f173e 100644 --- a/include/login_form.php +++ b/include/login_form.php @@ -3,8 +3,7 @@ <head> <title>Tiny Tiny RSS : Login</title> <?php echo stylesheet_tag("lib/dijit/themes/claro/claro.css") ?> - <?php echo stylesheet_tag("css/tt-rss.css") ?> - <?php echo stylesheet_tag("css/dijit.css") ?> + <?php echo stylesheet_tag("css/default.css") ?> <link rel="shortcut icon" type="image/png" href="images/favicon.png"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <?php diff --git a/include/sanity_check.php b/include/sanity_check.php index 39962219f..a84959f8e 100755 --- a/include/sanity_check.php +++ b/include/sanity_check.php @@ -156,6 +156,29 @@ if (!class_exists("DOMDocument")) { array_push($errors, "PHP support for DOMDocument is required, but was not found."); } + + if (DB_TYPE == "mysql") { + $bad_tables = check_mysql_tables(); + + if (count($bad_tables) > 0) { + $bad_tables_fmt = []; + + foreach ($bad_tables as $bt) { + array_push($bad_tables_fmt, sprintf("%s (%s)", $bt['table_name'], $bt['engine'])); + } + + $msg = "<p>The following tables use an unsupported MySQL engine: <b>" . + implode(", ", $bad_tables_fmt) . "</b>.</p>"; + + $msg .= "<p>The only supported engine on MySQL is InnoDB. MyISAM lacks functionality to run + tt-rss. + Please backup your data (via OPML) and re-import the schema before continuing.</p> + <p><b>WARNING: importing the schema would mean LOSS OF ALL YOUR DATA.</b></p>"; + + + array_push($errors, $msg); + } + } } if (count($errors) > 0 && $_SERVER['REQUEST_URI']) { ?> @@ -165,7 +188,7 @@ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="css/utility.css"> </head> - <body> + <body class='sanity_failed'> <div class="floatingLogo"><img src="images/logo_small.png"></div> <div class="content"> |