2006-08-19 09:04:45 +02:00
< ? php
2007-03-05 10:04:55 +01:00
require_once " functions.php " ;
2011-04-26 16:42:05 +02:00
define ( 'EXPECTED_CONFIG_VERSION' , 23 );
2011-10-04 11:11:07 +02:00
define ( 'SCHEMA_VERSION' , 86 );
2006-03-28 09:56:56 +02:00
2005-11-23 18:20:17 +01:00
if ( ! file_exists ( " config.php " )) {
2011-03-17 17:16:44 +01:00
print " <b>Fatal Error</b>: You forgot to copy
2009-01-31 14:17:57 +01:00
< b > config . php - dist </ b > to < b > config . php </ b > and edit it . \n " ;
2005-11-23 18:20:17 +01:00
exit ;
}
2006-03-28 17:44:51 +02:00
require_once " config.php " ;
2011-01-11 10:20:00 +01:00
require_once " sanity_config.php " ;
2006-03-28 17:44:51 +02:00
2006-03-28 09:56:56 +02:00
if ( CONFIG_VERSION != EXPECTED_CONFIG_VERSION ) {
2009-01-31 14:17:57 +01:00
$err_msg = " config: your config file version is incorrect. See config.php-dist. \n " ;
2006-07-04 07:51:05 +02:00
}
2011-04-15 12:06:27 +02:00
$purifier_cache_dir = CACHE_DIR . " /htmlpurifier " ;
2010-12-21 07:29:07 +01:00
if ( ! is_writable ( $purifier_cache_dir )) {
$err_msg = " config: HTMLPurifier cache directory should be writable by anyone (chmod -R 777 $purifier_cache_dir ) " ;
}
2011-01-11 10:20:00 +01:00
if ( GENERATED_CONFIG_CHECK != EXPECTED_CONFIG_VERSION ) {
$err_msg = " config: your sanity_config.php is outdated, please recreate it using ./utils/regen_config_checks.sh " ;
}
foreach ( $requred_defines as $d ) {
if ( ! defined ( $d )) {
$err_msg = " config: required constant $d is not defined. Please check config.php " ;
}
}
2006-12-25 09:00:41 +01:00
if ( defined ( 'RSS_BACKEND_TYPE' )) {
2009-01-31 14:17:57 +01:00
print " <b>Fatal error</b>: RSS_BACKEND_TYPE is deprecated. Please remove this
option from config . php\n " ;
2006-07-04 07:51:05 +02:00
exit ;
}
2006-02-12 11:15:24 +01:00
if ( file_exists ( " xml-export.php " ) || file_exists ( " xml-import.php " )) {
2009-01-31 14:17:57 +01:00
print " <b>Fatal Error</b>: XML Import/Export tools (<b>xml-export.php</b>
2011-03-17 17:16:44 +01:00
and < b > xml - import . php </ b > ) could be used maliciously . Please remove them
2009-01-31 14:17:57 +01:00
from your TT - RSS instance . \n " ;
2006-02-12 11:15:24 +01:00
exit ;
}
2006-07-31 08:44:28 +02:00
2006-08-07 14:22:39 +02:00
if ( SINGLE_USER_MODE && DAEMON_UPDATE_LOGIN_LIMIT > 0 ) {
2009-01-31 14:17:57 +01:00
print " <b>Fatal Error</b>: Please set DAEMON_UPDATE_LOGIN_LIMIT
to 0 in single user mode . \n " ;
2006-08-07 14:22:39 +02:00
exit ;
}
2006-08-20 12:27:25 +02:00
2006-10-01 12:05:20 +02:00
if ( ! defined ( 'SESSION_EXPIRE_TIME' )) {
2009-01-31 14:17:57 +01:00
$err_msg = " config: SESSION_EXPIRE_TIME is undefined " ;
2006-10-01 12:05:20 +02:00
}
if ( SESSION_EXPIRE_TIME < 60 ) {
2009-01-31 14:17:57 +01:00
$err_msg = " config: SESSION_EXPIRE_TIME is too low (less than 60) " ;
2006-10-01 12:05:20 +02:00
}
2007-03-02 12:12:04 +01:00
if ( SESSION_EXPIRE_TIME < SESSION_COOKIE_LIFETIME ) {
2009-01-31 14:17:57 +01:00
$err_msg = " config: SESSION_EXPIRE_TIME should be greater or equal to " .
" SESSION_COOKIE_LIFETIME " ;
2006-10-01 12:05:20 +02:00
}
2006-10-01 13:47:34 +02:00
/* if ( defined ( 'DISABLE_SESSIONS' )) {
2006-10-01 12:05:20 +02:00
$err_msg = " config: you have enabled DISABLE_SESSIONS. Please disable this option. " ;
2006-10-01 13:47:34 +02:00
} */
2006-10-01 12:05:20 +02:00
if ( DATABASE_BACKED_SESSIONS && SINGLE_USER_MODE ) {
2009-01-31 14:17:57 +01:00
$err_msg = " config: DATABASE_BACKED_SESSIONS is incompatible with SINGLE_USER_MODE " ;
2006-10-01 12:05:20 +02:00
}
2006-12-08 06:36:10 +01:00
if ( DATABASE_BACKED_SESSIONS && DB_TYPE == " mysql " ) {
2009-01-31 14:17:57 +01:00
$err_msg = " config: DATABASE_BACKED_SESSIONS are currently broken with MySQL " ;
2006-12-08 06:36:10 +01:00
}
2010-06-10 12:29:55 +02:00
if ( SINGLE_USER_MODE ) {
$link = db_connect ( DB_HOST , DB_USER , DB_PASS , DB_NAME );
if ( $link ) {
$result = db_query ( $link , " SELECT id FROM ttrss_users WHERE id = 1 " );
2011-03-17 17:16:44 +01:00
if ( db_num_rows ( $result ) != 1 ) {
2010-06-10 12:29:55 +02:00
$err_msg = " config: SINGLE_USER_MODE is enabled but default admin account (UID=1) is not found. " ;
}
}
}
2007-08-26 12:32:48 +02:00
if ( defined ( 'MAIL_FROM' )) {
2009-01-31 14:17:57 +01:00
$err_msg = " config: MAIL_FROM has been split into DIGEST_FROM_NAME and DIGEST_FROM_ADDRESS " ;
2007-08-26 12:32:48 +02:00
}
2007-09-20 05:00:19 +02:00
if ( ! defined ( 'COUNTERS_MAX_AGE' )) {
2009-01-31 14:17:57 +01:00
$err_msg = " config: option COUNTERS_MAX_AGE expected, but not defined " ;
2007-09-20 05:00:19 +02:00
}
2007-09-25 06:08:29 +02:00
if ( defined ( 'DAEMON_REFRESH_ONLY' )) {
2010-11-03 11:39:09 +01:00
$err_msg = " config: option DAEMON_REFRESH_ONLY is obsolete. Please remove this option and read about other ways to update feeds on the <a href='http://tt-rss.org/wiki/UpdatingFeeds'>wiki</a>. " ;
2007-09-25 06:06:21 +02:00
}
2010-06-30 10:57:11 +02:00
if ( defined ( 'ENABLE_SIMPLEPIE' )) {
$err_msg = " config: ENABLE_SIMPLEPIE is obsolete and replaced with DEFAULT_UPDATE_METHOD. Please adjust your config.php. " ;
}
if ( ! defined ( 'DEFAULT_UPDATE_METHOD' ) || ( DEFAULT_UPDATE_METHOD != 0 &&
DEFAULT_UPDATE_METHOD != 1 )) {
2011-03-17 17:16:44 +01:00
$err_msg = " config: DEFAULT_UPDATE_METHOD should be either 0 or 1. " ;
2010-06-30 10:57:11 +02:00
}
2010-11-01 10:18:06 +01:00
if ( ! is_writable ( ICONS_DIR )) {
$err_msg = " config: your ICONS_DIR ( " . ICONS_DIR . " ) is not writable. \n " ;
}
2011-08-10 06:48:50 +02:00
if ( ini_get ( " open_basedir " )) {
2010-12-27 13:09:30 +01:00
$err_msg = " php.ini: open_basedir is not supported. " ;
2011-08-10 06:48:50 +02:00
}
2010-12-27 13:09:30 +01:00
2011-04-25 14:46:45 +02:00
if ( ! function_exists ( " curl_init " ) && ! ini_get ( " allow_url_fopen " )) {
$err_msg = " php.ini: either allow_url_fopen or CURL needs to be enabled. " ;
2010-12-27 13:09:30 +01:00
}
if ( ! function_exists ( " json_encode " )) {
$err_msg = " PHP: json functions not found. " ;
}
if ( DB_TYPE == " mysql " && ! function_exists ( " mysql_connect " )) {
$err_msg = " PHP: MySQL functions not found. " ;
}
if ( DB_TYPE == " pgsql " && ! function_exists ( " pg_connect " )) {
$err_msg = " PHP: PostgreSQL functions not found. " ;
}
if ( ! function_exists ( " mb_strlen " )) {
$err_msg = " PHP: mbstring functions not found. " ;
}
2011-10-18 08:44:23 +02:00
if ( ! function_exists ( " ctype_lower " )) {
$err_msg = " PHP: ctype functions not found (required for HTMLPurifier). " ;
}
2010-12-27 13:09:30 +01:00
if ( ini_get ( " safe_mode " )) {
$err_msg = " php.ini: Safe mode is not supported. If you wish to continue, remove this test from sanity_check.php and proceeed at your own risk. Please note that your bug reports will not be accepted or reviewed. " ;
}
2011-04-26 16:48:22 +02:00
if (( PUBSUBHUBBUB_HUB || PUBSUBHUBBUB_ENABLED ) && ! function_exists ( " curl_init " )) {
$err_msg = " CURL is required for PubSubHubbub support. " ;
2011-04-01 07:42:15 +02:00
}
2011-04-05 14:25:07 +02:00
if ( ! class_exists ( " DOMDocument " )) {
$err_msg = " PHP: DOMDocument extension not found. " ;
}
2011-08-16 06:56:52 +02:00
if ( SELF_URL_PATH == " http://local.host/tt-rss " ) {
$err_msg = " config: please set SELF_URL_PATH to the correct value " ;
}
2011-04-12 17:29:45 +02:00
if ( ! ISCONFIGURED ) {
$err_msg = " config: please read config.php completely. " ;
}
2006-10-01 12:05:20 +02:00
if ( $err_msg ) {
2009-01-31 14:17:57 +01:00
print " <b>Fatal Error</b>: $err_msg\n " ;
2006-10-01 12:05:20 +02:00
exit ;
}
2005-11-23 18:20:17 +01:00
?>