forked from GithubBackups/vichan
Merge pull request #2 from AlexVeeBee/master
Update installer and cache config
This commit is contained in:
commit
64edc11a23
@ -53,7 +53,8 @@ MYSQL_PASSWORD=vichan!
|
|||||||
MYSQL_ROOT_PASSWORD=vichan!!
|
MYSQL_ROOT_PASSWORD=vichan!!
|
||||||
|
|
||||||
|
|
||||||
# Redis
|
# Cache Settings
|
||||||
VICHAN_REDIS_HOST=redis
|
VICHAN_CACHE_ENGINE=redis
|
||||||
VICHAN_REDIS_PORT=6379
|
VICHAN_CACHE_HOST=redis
|
||||||
VICHAN_REDIS_PASSWORD=redis!
|
VICHAN_CACHE_PORT=6379
|
||||||
|
VICHAN_CACHE_PASSWORD=redis!
|
||||||
|
|||||||
15
compose.yml
15
compose.yml
@ -39,10 +39,11 @@ services:
|
|||||||
VICHAN_MYSQL_PASSWORD: ${VICHAN_MYSQL_PASSWORD}
|
VICHAN_MYSQL_PASSWORD: ${VICHAN_MYSQL_PASSWORD}
|
||||||
# Security
|
# Security
|
||||||
VICHAN_SECURE_LOGIN_ONLY: ${VICHAN_SECURE_LOGIN_ONLY}
|
VICHAN_SECURE_LOGIN_ONLY: ${VICHAN_SECURE_LOGIN_ONLY}
|
||||||
# Redis settings
|
# Cache settings
|
||||||
VICHAN_REDIS_HOST: ${VICHAN_REDIS_HOST}
|
VICHAN_CACHE_ENGINE: ${VICHAN_CACHE_ENGINE}
|
||||||
VICHAN_REDIS_PORT: ${VICHAN_REDIS_PORT}
|
VICHAN_CACHE_HOST: ${VICHAN_CACHE_HOST}
|
||||||
VICHAN_REDIS_PASSWORD: ${VICHAN_REDIS_PASSWORD}
|
VICHAN_CACHE_PORT: ${VICHAN_CACHE_PORT}
|
||||||
|
VICHAN_CACHE_PASSWORD: ${VICHAN_CACHE_PASSWORD}
|
||||||
# Cookies
|
# Cookies
|
||||||
VICHAN_COOKIES_MOD: ${VICHAN_COOKIES_MOD}
|
VICHAN_COOKIES_MOD: ${VICHAN_COOKIES_MOD}
|
||||||
# Flood Control
|
# Flood Control
|
||||||
@ -88,10 +89,10 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./local-instances/${INSTANCE:-0}/redis:/data
|
- ./local-instances/${INSTANCE:-0}/redis:/data
|
||||||
environment:
|
environment:
|
||||||
REDIS_PASSWORD: ${VICHAN_REDIS_PASSWORD}
|
REDIS_PASSWORD: ${VICHAN_CACHE_PASSWORD}
|
||||||
command: redis-server --requirepass ${VICHAN_REDIS_PASSWORD}
|
command: redis-server --requirepass ${VICHAN_CACHE_PASSWORD}
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "redis-cli", "-a", "${VICHAN_REDIS_PASSWORD}", "ping"]
|
test: ["CMD", "redis-cli", "-a", "${VICHAN_CACHE_PASSWORD}", "ping"]
|
||||||
interval: 10s
|
interval: 10s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
|||||||
@ -47,7 +47,7 @@ RUN apk add --no-cache \
|
|||||||
&& pecl install -o -f igbinary \
|
&& pecl install -o -f igbinary \
|
||||||
&& pecl install redis \
|
&& pecl install redis \
|
||||||
&& pecl install imagick \
|
&& pecl install imagick \
|
||||||
$$ docker-php-ext-enable \
|
&& docker-php-ext-enable \
|
||||||
igbinary \
|
igbinary \
|
||||||
redis \
|
redis \
|
||||||
imagick \
|
imagick \
|
||||||
|
|||||||
@ -20,12 +20,22 @@ class Cache {
|
|||||||
$config['cache']['memcached']
|
$config['cache']['memcached']
|
||||||
);
|
);
|
||||||
case 'redis':
|
case 'redis':
|
||||||
|
$host = $config['cache']['redis'][0] ?? 'localhost';
|
||||||
|
$port = $config['cache']['redis'][1] ?? 6379;
|
||||||
|
$password = $config['cache']['redis'][2] ?? '';
|
||||||
|
$database = $config['cache']['redis'][3] ?? 1;
|
||||||
|
|
||||||
|
$host = getenv('VICHAN_CACHE_HOST') ?: $host;
|
||||||
|
$port = getenv('VICHAN_CACHE_PORT') ?: $port;
|
||||||
|
$password = getenv('VICHAN_CACHE_PASSWORD') ?: $password;
|
||||||
|
$database = getenv('VICHAN_CACHE_DATABASE') ?: $database;
|
||||||
|
|
||||||
return new RedisCacheDriver(
|
return new RedisCacheDriver(
|
||||||
$config['cache']['prefix'],
|
$config['cache']['prefix'],
|
||||||
$config['cache']['redis'][0],
|
$host,
|
||||||
$config['cache']['redis'][1],
|
$port,
|
||||||
$config['cache']['redis'][2],
|
$password,
|
||||||
$config['cache']['redis'][3]
|
$database
|
||||||
);
|
);
|
||||||
case 'apcu':
|
case 'apcu':
|
||||||
return new ApcuCacheDriver;
|
return new ApcuCacheDriver;
|
||||||
|
|||||||
@ -137,32 +137,16 @@
|
|||||||
* ====================
|
* ====================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$config['cache']['enabled'] = 'php';
|
||||||
|
$config['cache']['redis'] = array(
|
||||||
|
'host' => 'localhost',
|
||||||
|
'port' => 6379,
|
||||||
|
'password' => '',
|
||||||
|
'database' => 1
|
||||||
|
);
|
||||||
|
|
||||||
// Determine if Redis is configured via environment variables
|
// Determine if Redis is configured via environment variables
|
||||||
$redis_enabled = getenv('VICHAN_REDIS_HOST') !== false && getenv('VICHAN_REDIS_PORT') !== false;
|
getenv('VICHAN_CACHE_ENGINE') && $config['cache']['enabled'] = getenv('VICHAN_CACHE_ENGINE');
|
||||||
|
|
||||||
// Configure cache
|
|
||||||
if ($redis_enabled) {
|
|
||||||
$config['cache']['enabled'] = 'redis';
|
|
||||||
$config['cache']['redis'] = [
|
|
||||||
'host' => getenv('VICHAN_REDIS_HOST') ?: 'localhost',
|
|
||||||
'port' => (int)(getenv('VICHAN_REDIS_PORT') ?: 6379),
|
|
||||||
'password' => getenv('VICHAN_REDIS_PASSWORD') ?: '',
|
|
||||||
'database' => 1,
|
|
||||||
];
|
|
||||||
} else {
|
|
||||||
$config['cache']['enabled'] = 'php';
|
|
||||||
}
|
|
||||||
|
|
||||||
// Configure sessions to use Redis if enabled
|
|
||||||
if ($redis_enabled) {
|
|
||||||
$config['session']['enabled'] = 'redis';
|
|
||||||
$config['session']['redis'] = [
|
|
||||||
'host' => getenv('VICHAN_REDIS_HOST') ?: 'localhost',
|
|
||||||
'port' => (int)(getenv('VICHAN_REDIS_PORT') ?: 6379),
|
|
||||||
'password' => getenv('VICHAN_REDIS_PASSWORD') ?: '',
|
|
||||||
'database' => 1,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
// Cache timeout for cached objects
|
// Cache timeout for cached objects
|
||||||
$config['cache']['timeout'] = 60 * 60 * 48; // 48 hours
|
$config['cache']['timeout'] = 60 * 60 * 48; // 48 hours
|
||||||
@ -1869,6 +1853,18 @@
|
|||||||
// Enable public logs? 0: NO, 1: YES, 2: YES, but drop names
|
// Enable public logs? 0: NO, 1: YES, 2: YES, but drop names
|
||||||
$config['public_logs'] = 0;
|
$config['public_logs'] = 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ====================
|
||||||
|
* Container settings
|
||||||
|
* ===================
|
||||||
|
*/
|
||||||
|
|
||||||
|
$isDocker = is_file("/.dockerenv") || is_file("/run/.containerenv");
|
||||||
|
$isKubernetes = is_file("/var/run/secrets/kubernetes.io/serviceaccount/namespace");
|
||||||
|
$config['is_container'] = $isDocker || $isKubernetes ? true : false;
|
||||||
|
$config['is_docker'] = $isDocker;
|
||||||
|
$config['is_kubernetes'] = $isKubernetes;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ====================
|
* ====================
|
||||||
* Events (PHP 5.3.0+)
|
* Events (PHP 5.3.0+)
|
||||||
|
|||||||
241
install.php
241
install.php
@ -684,7 +684,7 @@ if ($step == 0) {
|
|||||||
$page['body'] = '
|
$page['body'] = '
|
||||||
<textarea style="width:700px;height:370px;margin:auto;display:block;background:white;color:black" disabled>' . htmlentities(file_get_contents('LICENSE.md')) . '</textarea>
|
<textarea style="width:700px;height:370px;margin:auto;display:block;background:white;color:black" disabled>' . htmlentities(file_get_contents('LICENSE.md')) . '</textarea>
|
||||||
<p style="text-align:center">
|
<p style="text-align:center">
|
||||||
<button onclick="window.location.href=\'?step=1\'">I have read and understood the agreement. Proceed to installation.</button>
|
<a href="?step=1">I have read and understood the agreement. Proceed to installation.</a>
|
||||||
</p>';
|
</p>';
|
||||||
|
|
||||||
echo Element('page.html', $page);
|
echo Element('page.html', $page);
|
||||||
@ -914,67 +914,67 @@ if ($step == 0) {
|
|||||||
'config' => $config,
|
'config' => $config,
|
||||||
));
|
));
|
||||||
} elseif ($step == 2) {
|
} elseif ($step == 2) {
|
||||||
$page['title'] = 'Configuration';
|
$page['title'] = 'Configuration';
|
||||||
$sg = new SaltGen();
|
$sg = new SaltGen();
|
||||||
|
|
||||||
// Initialize configuration with defaults and override with environment variables
|
// Initialize configuration with defaults and override with environment variables
|
||||||
$config['cookies'] = array(
|
$config['cookies'] = array(
|
||||||
'mod' => getenv('VICHAN_COOKIES_MOD') !== false ? getenv('VICHAN_COOKIES_MOD') : 'mod',
|
'mod' => getenv('VICHAN_COOKIES_MOD') !== false ? getenv('VICHAN_COOKIES_MOD') : 'mod',
|
||||||
'salt' => $sg->generate(),
|
'salt' => $sg->generate(),
|
||||||
);
|
);
|
||||||
|
|
||||||
$config['flood_time'] = getenv('VICHAN_FLOOD_TIME') !== false ? (int)getenv('VICHAN_FLOOD_TIME') : 30;
|
$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_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['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['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['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_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['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_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['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_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['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['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['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['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['root'] = getenv('VICHAN_DIRECTORIES_ROOT') !== false ? getenv('VICHAN_DIRECTORIES_ROOT') : '/';
|
||||||
|
|
||||||
$config['secure_trip_salt'] = $sg->generate();
|
$config['secure_trip_salt'] = $sg->generate();
|
||||||
$config['secure_password_salt'] = $sg->generate();
|
$config['secure_password_salt'] = $sg->generate();
|
||||||
|
|
||||||
// Set database configuration from Docker environment variables, leave empty if not found
|
// Set database configuration from Docker environment variables, leave empty if not found
|
||||||
$config['db'] = array(
|
$config['db'] = array(
|
||||||
'type' => 'mysql', // Default, required for MySQL
|
'type' => 'mysql', // Default, required for MySQL
|
||||||
'server' => getenv('VICHAN_MYSQL_HOST') !== false ? getenv('VICHAN_MYSQL_HOST') : '',
|
'server' => getenv('VICHAN_MYSQL_HOST') !== false ? getenv('VICHAN_MYSQL_HOST') : '',
|
||||||
'database' => getenv('VICHAN_MYSQL_NAME') !== false ? getenv('VICHAN_MYSQL_NAME') : '',
|
'database' => getenv('VICHAN_MYSQL_NAME') !== false ? getenv('VICHAN_MYSQL_NAME') : '',
|
||||||
'user' => getenv('VICHAN_MYSQL_USER') !== false ? getenv('VICHAN_MYSQL_USER') : '',
|
'user' => getenv('VICHAN_MYSQL_USER') !== false ? getenv('VICHAN_MYSQL_USER') : '',
|
||||||
'password' => getenv('VICHAN_MYSQL_PASSWORD') !== false ? getenv('VICHAN_MYSQL_PASSWORD') : '',
|
'password' => getenv('VICHAN_MYSQL_PASSWORD') !== false ? getenv('VICHAN_MYSQL_PASSWORD') : '',
|
||||||
);
|
);
|
||||||
|
|
||||||
// Append secure_login_only to $_SESSION['more'] if VICHAN_SECURE_LOGIN_ONLY is set
|
// Append secure_login_only to $_SESSION['more'] if VICHAN_SECURE_LOGIN_ONLY is set
|
||||||
if (getenv('VICHAN_SECURE_LOGIN_ONLY') !== false) {
|
if (getenv('VICHAN_SECURE_LOGIN_ONLY') !== false) {
|
||||||
$secure_login_only = (int)getenv('VICHAN_SECURE_LOGIN_ONLY');
|
$secure_login_only = (int)getenv('VICHAN_SECURE_LOGIN_ONLY');
|
||||||
$_SESSION['more'] .= "\n\$config['cookies']['secure_login_only'] = $secure_login_only;";
|
$_SESSION['more'] .= "\n\$config['cookies']['secure_login_only'] = $secure_login_only;";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configuration notice at the top
|
// Configuration notice at the top
|
||||||
$page['body'] = '<div class="ban"><h2>Configuration Note</h2>' .
|
$page['body'] = '<div class="ban"><h2>Configuration Note</h2>' .
|
||||||
'<p style="text-align:center;">The following settings can still be configured later. For more customization options, <a href="https://github.com/vichan-devel/vichan/wiki/config" target="_blank" rel="noopener noreferrer">check the Vichan configuration wiki.</a></p></div>';
|
'<p style="text-align:center;">The following settings can still be configured later. For more customization options, <a href="https://github.com/vichan-devel/vichan/wiki/config" target="_blank" rel="noopener noreferrer">check the Vichan configuration wiki.</a></p></div>';
|
||||||
|
|
||||||
// Append the configuration form
|
// Append the configuration form
|
||||||
$page['body'] .= Element('installer/config.html', array(
|
$page['body'] .= Element('installer/config.html', array(
|
||||||
'config' => $config,
|
'config' => $config,
|
||||||
'more' => $_SESSION['more'],
|
'more' => $_SESSION['more'],
|
||||||
));
|
));
|
||||||
|
|
||||||
echo Element('page.html', array(
|
echo Element('page.html', array(
|
||||||
'body' => $page['body'],
|
'body' => $page['body'],
|
||||||
'title' => 'Configuration',
|
'title' => 'Configuration',
|
||||||
'config' => $config
|
'config' => $config
|
||||||
));
|
));
|
||||||
} elseif ($step == 3) {
|
} elseif ($step == 3) {
|
||||||
$more = $_POST['more'];
|
$more = $_POST['more'];
|
||||||
unset($_POST['more']);
|
unset($_POST['more']);
|
||||||
@ -1017,89 +1017,88 @@ if ($step == 0) {
|
|||||||
echo Element('page.html', $page);
|
echo Element('page.html', $page);
|
||||||
}
|
}
|
||||||
} elseif ($step == 4) {
|
} elseif ($step == 4) {
|
||||||
buildJavascript();
|
buildJavascript();
|
||||||
|
|
||||||
$sql = @file_get_contents('install.sql') or error("Couldn't load install.sql.");
|
$sql = @file_get_contents('install.sql') or error("Couldn't load install.sql.");
|
||||||
|
|
||||||
sql_open();
|
sql_open();
|
||||||
$mysql_version = mysql_version();
|
$mysql_version = mysql_version();
|
||||||
|
|
||||||
// This code is probably horrible, but what I'm trying
|
// This code is probably horrible, but what I'm trying
|
||||||
// to do is find all of the SQL queires and put them
|
// to do is find all of the SQL queires and put them
|
||||||
// in an array.
|
// in an array.
|
||||||
preg_match_all("/(^|\n)((SET|CREATE|INSERT).+)\n\n/msU", $sql, $queries);
|
preg_match_all("/(^|\n)((SET|CREATE|INSERT).+)\n\n/msU", $sql, $queries);
|
||||||
$queries = $queries[2];
|
$queries = $queries[2];
|
||||||
|
|
||||||
$queries[] = Element('posts.sql', array('board' => 'b'));
|
$queries[] = Element('posts.sql', array('board' => 'b'));
|
||||||
|
|
||||||
$sql_errors = '';
|
$sql_errors = '';
|
||||||
$sql_err_count = 0;
|
$sql_err_count = 0;
|
||||||
foreach ($queries as $query) {
|
foreach ($queries as $query) {
|
||||||
if ($mysql_version < 50503)
|
if ($mysql_version < 50503)
|
||||||
$query = preg_replace('/(CHARSET=|CHARACTER SET )utf8mb4/', '$1utf8', $query);
|
$query = preg_replace('/(CHARSET=|CHARACTER SET )utf8mb4/', '$1utf8', $query);
|
||||||
$query = preg_replace('/^([\w\s]*)`([0-9a-zA-Z$_\x{0080}-\x{FFFF}]+)`/u', '$1``$2``', $query);
|
$query = preg_replace('/^([\w\s]*)`([0-9a-zA-Z$_\x{0080}-\x{FFFF}]+)`/u', '$1``$2``', $query);
|
||||||
if (!query($query)) {
|
if (!query($query)) {
|
||||||
$sql_err_count++;
|
$sql_err_count++;
|
||||||
$error = db_error();
|
$error = db_error();
|
||||||
$sql_errors .= "<li>$sql_err_count<ul><li>$query</li><li>$error</li></ul></li>";
|
$sql_errors .= "<li>$sql_err_count<ul><li>$query</li><li>$error</li></ul></li>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$page['title'] = 'Installation complete';
|
$page['title'] = 'Installation complete';
|
||||||
$page['body'] = '<p style="text-align:center">Thank you for using vichan. <a href="https://github.com/vichan-devel/vichan/issues/new/choose" target="_blank" rel="noopener noreferrer">Please report any bugs you discover.</a></p>' .
|
$page['body'] = '<p style="text-align:center">Thank you for using vichan. <a href="https://github.com/vichan-devel/vichan/issues/new/choose" target="_blank" rel="noopener noreferrer">Please report any bugs you discover.</a></p>' .
|
||||||
'<p style="text-align:center">If you are new to vichan, <a href="https://github.com/vichan-devel/vichan/wiki" target="_blank" rel="noopener noreferrer">please check out the documentation.</a></p>';
|
'<p style="text-align:center">If you are new to vichan, <a href="https://github.com/vichan-devel/vichan/wiki" target="_blank" rel="noopener noreferrer">please check out the documentation.</a></p>';
|
||||||
|
|
||||||
// Admin panel notice
|
// Admin panel notice
|
||||||
$page['body'] .= '<div class="ban"><h2>Next Steps</h2>' .
|
$page['body'] .= '<div class="ban"><h2>Next Steps</h2>' .
|
||||||
'<p>You can now log in to the admin panel at <strong>/mod.php</strong> using the default credentials:</p>' .
|
'<p>You can now log in to the admin panel at <strong>/mod.php</strong> using the default credentials:</p>' .
|
||||||
'<p><strong>Username:</strong> admin</p>' .
|
'<p><strong>Username:</strong> admin</p>' .
|
||||||
'<p><strong>Password:</strong> password</p>' .
|
'<p><strong>Password:</strong> password</p>' .
|
||||||
'<p><strong>Important:</strong> For security, please change the administrator password immediately after logging in.</p>' .
|
'<p><strong>Important:</strong> For security, please change the administrator password immediately after logging in.</p>' .
|
||||||
'<p style="text-align:center"><button onclick="window.location.href=\'/mod.php\'">Go to Admin Panel</button></p></div>';
|
'<p style="text-align:center"><button onclick="window.location.href=\'/mod.php\'">Go to Admin Panel</button></p></div>';
|
||||||
|
|
||||||
|
|
||||||
if (!empty($sql_errors)) {
|
if (!empty($sql_errors)) {
|
||||||
$page['body'] .= '<div class="ban"><h2>SQL errors</h2><p>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.</p><p>The errors encountered were:</p><ul>' . $sql_errors . '</ul>' .
|
$page['body'] .= '<div class="ban"><h2>SQL errors</h2><p>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.</p><p>The errors encountered were:</p><ul>' . $sql_errors . '</ul>' .
|
||||||
'<p style="text-align:center;color:#d00"><strong>Warning:</strong> Ignoring errors is not recommended and may cause installation issues.</p>' .
|
'<p style="text-align:center;color:#d00"><strong>Warning:</strong> Ignoring errors is not recommended and may cause installation issues.</p>' .
|
||||||
'<p style="text-align:center"><button onclick="window.location.href=\'?step=5\'">Next</button></p></div>';
|
'<p style="text-align:center"><button onclick="window.location.href=\'?step=5\'">Next</button></p></div>';
|
||||||
} else {
|
} else {
|
||||||
$boards = listBoards();
|
$boards = listBoards();
|
||||||
foreach ($boards as &$_board) {
|
foreach ($boards as &$_board) {
|
||||||
setupBoard($_board);
|
setupBoard($_board);
|
||||||
buildIndex();
|
buildIndex();
|
||||||
}
|
}
|
||||||
|
|
||||||
file_write($config['has_installed'], VERSION);
|
file_write($config['has_installed'], VERSION);
|
||||||
/*if (!file_unlink(__FILE__)) {
|
/*if (!file_unlink(__FILE__)) {
|
||||||
$page['body'] .= '<div class="ban"><h2>Delete install.php!</h2><p>I couldn\'t remove <strong>install.php</strong>. You will have to remove it manually.</p></div>';
|
$page['body'] .= '<div class="ban"><h2>Delete install.php!</h2><p>I couldn\'t remove <strong>install.php</strong>. You will have to remove it manually.</p></div>';
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
echo Element('page.html', $page);
|
echo Element('page.html', $page);
|
||||||
} elseif ($step == 5) {
|
} elseif ($step == 5) {
|
||||||
$page['title'] = 'Installation complete';
|
$page['title'] = 'Installation complete';
|
||||||
$page['body'] = '<p style="text-align:center">Thank you for using vichan. Please report any bugs you discover.</p>' .
|
$page['body'] = '<p style="text-align:center">Thank you for using vichan. Please report any bugs you discover.</p>' .
|
||||||
'<p style="text-align:center">If you are new to vichan, <a href="https://github.com/vichan-devel/vichan/wiki">please check out the documentation</a>.</p>';
|
'<p style="text-align:center">If you are new to vichan, <a href="https://github.com/vichan-devel/vichan/wiki">please check out the documentation</a>.</p>';
|
||||||
|
|
||||||
// Admin panel notice
|
// Admin panel notice
|
||||||
$page['body'] .= '<div class="ban"><h2>Next Steps</h2>' .
|
$page['body'] .= '<div class="ban"><h2>Next Steps</h2>' .
|
||||||
'<p>You can now log in to the admin panel at <strong>/mod.php</strong> using the default credentials:</p>' .
|
'<p>You can now log in to the admin panel at <strong>/mod.php</strong> using the default credentials:</p>' .
|
||||||
'<p><strong>Username:</strong> admin</p>' .
|
'<p><strong>Username:</strong> admin</p>' .
|
||||||
'<p><strong>Password:</strong> password</p>' .
|
'<p><strong>Password:</strong> password</p>' .
|
||||||
'<p><strong>Important:</strong> For security, please change the administrator password immediately after logging in.</p>' .
|
'<p><strong>Important:</strong> For security, please change the administrator password immediately after logging in.</p>' .
|
||||||
'<p style="text-align:center"><button onclick="window.location.href=\'/mod.php\'">Go to Admin Panel</button></p></div>';
|
'<p style="text-align:center"><button onclick="window.location.href=\'/mod.php\'">Go to Admin Panel</button></p></div>';
|
||||||
|
|
||||||
|
$boards = listBoards();
|
||||||
|
foreach ($boards as &$_board) {
|
||||||
|
setupBoard($_board);
|
||||||
|
buildIndex();
|
||||||
|
}
|
||||||
|
|
||||||
$boards = listBoards();
|
file_write($config['has_installed'], VERSION);
|
||||||
foreach ($boards as &$_board) {
|
if (!file_unlink(__FILE__)) {
|
||||||
setupBoard($_board);
|
$page['body'] .= '<div class="ban"><h2>Delete install.php!</h2><p>I couldn\'t remove <strong>install.php</strong>. You will have to remove it manually.</p></div>';
|
||||||
buildIndex();
|
}
|
||||||
}
|
|
||||||
|
|
||||||
file_write($config['has_installed'], VERSION);
|
echo Element('page.html', $page);
|
||||||
if (!file_unlink(__FILE__)) {
|
|
||||||
$page['body'] .= '<div class="ban"><h2>Delete install.php!</h2><p>I couldn\'t remove <strong>install.php</strong>. You will have to remove it manually.</p></div>';
|
|
||||||
}
|
|
||||||
|
|
||||||
echo Element('page.html', $page);
|
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user