diff --git a/install.php b/install.php index 3c7bd3dd..e3649c2d 100644 --- a/install.php +++ b/install.php @@ -914,67 +914,67 @@ if ($step == 0) { 'config' => $config, )); } elseif ($step == 2) { - $page['title'] = 'Configuration'; - $sg = new SaltGen(); + $page['title'] = 'Configuration'; + $sg = new SaltGen(); - // Initialize configuration with defaults and override with environment variables + // Initialize configuration with defaults and override with environment variables $config['cookies'] = array( - 'mod' => getenv('VICHAN_COOKIES_MOD') !== false ? getenv('VICHAN_COOKIES_MOD') : 'mod', - 'salt' => $sg->generate(), - ); - - $config['flood_time'] = getenv('VICHAN_FLOOD_TIME') !== false ? (int)getenv('VICHAN_FLOOD_TIME') : 30; - $config['flood_time_ip'] = getenv('VICHAN_FLOOD_TIME_IP') !== false ? (int)getenv('VICHAN_FLOOD_TIME_IP') : 120; - $config['flood_time_same'] = getenv('VICHAN_FLOOD_TIME_SAME') !== false ? (int)getenv('VICHAN_FLOOD_TIME_SAME') : 3600; - $config['max_body'] = getenv('VICHAN_MAX_BODY') !== false ? (int)getenv('VICHAN_MAX_BODY') : 1800; - $config['reply_limit'] = getenv('VICHAN_REPLY_LIMIT') !== false ? (int)getenv('VICHAN_REPLY_LIMIT') : 250; - $config['max_links'] = getenv('VICHAN_MAX_LINKS') !== false ? (int)getenv('VICHAN_MAX_LINKS') : 20; - - $config['max_filesize'] = getenv('VICHAN_IMAGES_MAX_FILESIZE') !== false ? (int)getenv('VICHAN_IMAGES_MAX_FILESIZE') : 10485760; // This is 10MB - $config['thumb_width'] = getenv('VICHAN_IMAGES_THUMB_WIDTH') !== false ? (int)getenv('VICHAN_IMAGES_THUMB_WIDTH') : 250; - $config['thumb_height'] = getenv('VICHAN_IMAGES_THUMB_HEIGHT') !== false ? (int)getenv('VICHAN_IMAGES_THUMB_HEIGHT') : 250; - $config['max_width'] = getenv('VICHAN_IMAGES_MAX_WIDTH') !== false ? (int)getenv('VICHAN_IMAGES_MAX_WIDTH') : 10000; - $config['max_height'] = getenv('VICHAN_IMAGES_MAX_HEIGHT') !== false ? (int)getenv('VICHAN_IMAGES_MAX_HEIGHT') : 10000; - - $config['threads_per_page'] = getenv('VICHAN_DISPLAY_THREADS_PER_PAGE') !== false ? (int)getenv('VICHAN_DISPLAY_THREADS_PER_PAGE') : 10; - $config['max_pages'] = getenv('VICHAN_DISPLAY_MAX_PAGES') !== false ? (int)getenv('VICHAN_DISPLAY_MAX_PAGES') : 11; - $config['threads_preview'] = getenv('VICHAN_DISPLAY_THREADS_PREVIEW') !== false ? (int)getenv('VICHAN_DISPLAY_THREADS_PREVIEW') : 5; - - $config['root'] = getenv('VICHAN_DIRECTORIES_ROOT') !== false ? getenv('VICHAN_DIRECTORIES_ROOT') : '/'; - - $config['secure_trip_salt'] = $sg->generate(); - $config['secure_password_salt'] = $sg->generate(); + 'mod' => getenv('VICHAN_COOKIES_MOD') !== false ? getenv('VICHAN_COOKIES_MOD') : 'mod', + 'salt' => $sg->generate(), + ); + + $config['flood_time'] = getenv('VICHAN_FLOOD_TIME') !== false ? (int)getenv('VICHAN_FLOOD_TIME') : 30; + $config['flood_time_ip'] = getenv('VICHAN_FLOOD_TIME_IP') !== false ? (int)getenv('VICHAN_FLOOD_TIME_IP') : 120; + $config['flood_time_same'] = getenv('VICHAN_FLOOD_TIME_SAME') !== false ? (int)getenv('VICHAN_FLOOD_TIME_SAME') : 3600; + $config['max_body'] = getenv('VICHAN_MAX_BODY') !== false ? (int)getenv('VICHAN_MAX_BODY') : 1800; + $config['reply_limit'] = getenv('VICHAN_REPLY_LIMIT') !== false ? (int)getenv('VICHAN_REPLY_LIMIT') : 250; + $config['max_links'] = getenv('VICHAN_MAX_LINKS') !== false ? (int)getenv('VICHAN_MAX_LINKS') : 20; + + $config['max_filesize'] = getenv('VICHAN_IMAGES_MAX_FILESIZE') !== false ? (int)getenv('VICHAN_IMAGES_MAX_FILESIZE') : 10485760; // This is 10MB + $config['thumb_width'] = getenv('VICHAN_IMAGES_THUMB_WIDTH') !== false ? (int)getenv('VICHAN_IMAGES_THUMB_WIDTH') : 250; + $config['thumb_height'] = getenv('VICHAN_IMAGES_THUMB_HEIGHT') !== false ? (int)getenv('VICHAN_IMAGES_THUMB_HEIGHT') : 250; + $config['max_width'] = getenv('VICHAN_IMAGES_MAX_WIDTH') !== false ? (int)getenv('VICHAN_IMAGES_MAX_WIDTH') : 10000; + $config['max_height'] = getenv('VICHAN_IMAGES_MAX_HEIGHT') !== false ? (int)getenv('VICHAN_IMAGES_MAX_HEIGHT') : 10000; + + $config['threads_per_page'] = getenv('VICHAN_DISPLAY_THREADS_PER_PAGE') !== false ? (int)getenv('VICHAN_DISPLAY_THREADS_PER_PAGE') : 10; + $config['max_pages'] = getenv('VICHAN_DISPLAY_MAX_PAGES') !== false ? (int)getenv('VICHAN_DISPLAY_MAX_PAGES') : 11; + $config['threads_preview'] = getenv('VICHAN_DISPLAY_THREADS_PREVIEW') !== false ? (int)getenv('VICHAN_DISPLAY_THREADS_PREVIEW') : 5; + + $config['root'] = getenv('VICHAN_DIRECTORIES_ROOT') !== false ? getenv('VICHAN_DIRECTORIES_ROOT') : '/'; + + $config['secure_trip_salt'] = $sg->generate(); + $config['secure_password_salt'] = $sg->generate(); // Set database configuration from Docker environment variables, leave empty if not found - $config['db'] = array( - 'type' => 'mysql', // Default, required for MySQL - 'server' => getenv('VICHAN_MYSQL_HOST') !== false ? getenv('VICHAN_MYSQL_HOST') : '', - 'database' => getenv('VICHAN_MYSQL_NAME') !== false ? getenv('VICHAN_MYSQL_NAME') : '', - 'user' => getenv('VICHAN_MYSQL_USER') !== false ? getenv('VICHAN_MYSQL_USER') : '', - 'password' => getenv('VICHAN_MYSQL_PASSWORD') !== false ? getenv('VICHAN_MYSQL_PASSWORD') : '', - ); + $config['db'] = array( + 'type' => 'mysql', // Default, required for MySQL + 'server' => getenv('VICHAN_MYSQL_HOST') !== false ? getenv('VICHAN_MYSQL_HOST') : '', + 'database' => getenv('VICHAN_MYSQL_NAME') !== false ? getenv('VICHAN_MYSQL_NAME') : '', + 'user' => getenv('VICHAN_MYSQL_USER') !== false ? getenv('VICHAN_MYSQL_USER') : '', + 'password' => getenv('VICHAN_MYSQL_PASSWORD') !== false ? getenv('VICHAN_MYSQL_PASSWORD') : '', + ); - // Append secure_login_only to $_SESSION['more'] if VICHAN_SECURE_LOGIN_ONLY is set - if (getenv('VICHAN_SECURE_LOGIN_ONLY') !== false) { - $secure_login_only = (int)getenv('VICHAN_SECURE_LOGIN_ONLY'); - $_SESSION['more'] .= "\n\$config['cookies']['secure_login_only'] = $secure_login_only;"; - } + // Append secure_login_only to $_SESSION['more'] if VICHAN_SECURE_LOGIN_ONLY is set + if (getenv('VICHAN_SECURE_LOGIN_ONLY') !== false) { + $secure_login_only = (int)getenv('VICHAN_SECURE_LOGIN_ONLY'); + $_SESSION['more'] .= "\n\$config['cookies']['secure_login_only'] = $secure_login_only;"; + } // Configuration notice at the top - $page['body'] = '
The following settings can still be configured later. For more customization options, check the Vichan configuration wiki.
The following settings can still be configured later. For more customization options, check the Vichan configuration wiki.
Thank you for using vichan. Please report any bugs you discover.
' . - 'If you are new to vichan, please check out the documentation.
'; + $page['title'] = 'Installation complete'; + $page['body'] = 'Thank you for using vichan. Please report any bugs you discover.
' . + 'If you are new to vichan, please check out the documentation.
'; // Admin panel notice - $page['body'] .= 'You can now log in to the admin panel at /mod.php using the default credentials:
' . - 'Username: admin
' . - 'Password: password
' . - 'Important: For security, please change the administrator password immediately after logging in.
' . - 'You can now log in to the admin panel at /mod.php using the default credentials:
' . + 'Username: admin
' . + 'Password: password
' . + 'Important: For security, please change the administrator password immediately after logging in.
' . + 'SQL errors were encountered when trying to install the database. This may be the result of using a database which is already occupied with a vichan installation; if so, you can probably ignore this.
The errors encountered were:
Warning: Ignoring errors is not recommended and may cause installation issues.
' . - 'SQL errors were encountered when trying to install the database. This may be the result of using a database which is already occupied with a vichan installation; if so, you can probably ignore this.
The errors encountered were:
Warning: Ignoring errors is not recommended and may cause installation issues.
' . + 'I couldn\'t remove install.php. You will have to remove it manually.
I couldn\'t remove install.php. You will have to remove it manually.
Thank you for using vichan. Please report any bugs you discover.
' . - 'If you are new to vichan, please check out the documentation.
'; + $page['title'] = 'Installation complete'; + $page['body'] = 'Thank you for using vichan. Please report any bugs you discover.
' . + 'If you are new to vichan, please check out the documentation.
'; - // Admin panel notice - $page['body'] .= 'You can now log in to the admin panel at /mod.php using the default credentials:
' . - 'Username: admin
' . - 'Password: password
' . - 'Important: For security, please change the administrator password immediately after logging in.
' . - 'You can now log in to the admin panel at /mod.php using the default credentials:
' . + 'Username: admin
' . + 'Password: password
' . + 'Important: For security, please change the administrator password immediately after logging in.
' . + 'I couldn\'t remove install.php. You will have to remove it manually.
I couldn\'t remove install.php. You will have to remove it manually.