1
0
mirror of https://github.com/vichan-devel/vichan.git synced 2024-11-27 17:00:52 +01:00
vichan/mod.php

64 lines
1.4 KiB
PHP
Raw Normal View History

2010-12-01 11:53:11 +01:00
<?php
require 'inc/functions.php';
require 'inc/display.php';
if (file_exists('inc/instance-config.php')) {
require 'inc/instance-config.php';
}
require 'inc/config.php';
require 'inc/template.php';
require 'inc/user.php';
// If not logged in
2010-12-02 08:02:48 +01:00
if(!$mod) {
2010-12-01 11:53:11 +01:00
if(isset($_POST['login'])) {
// Check if inputs are set and not empty
if( !isset($_POST['username']) ||
!isset($_POST['password']) ||
empty($_POST['username']) ||
empty($_POST['password'])
) loginForm(ERROR_INVALID, $_POST['username']);
// Open connection
sql_open();
if(!login($_POST['username'], $_POST['password']))
loginForm(ERROR_INVALID, $_POST['username']);
// Login successful
// Set cookies
setCookies();
2010-12-02 08:02:48 +01:00
// Redirect
2010-12-02 08:07:24 +01:00
header('Location: ?' . MOD_DEFAULT, true, REDIRECT_HTTP);
2010-12-02 08:02:48 +01:00
2010-12-01 11:53:11 +01:00
// Close connection
sql_close();
} else {
loginForm();
}
} else {
2010-12-01 15:17:27 +01:00
$query = $_SERVER['QUERY_STRING'];
$regex = Array(
2010-12-02 08:02:48 +01:00
'board' => str_replace('%s', '(\w{1,8})', preg_quote(BOARD_PATH, '/'))
2010-12-01 15:17:27 +01:00
);
if(preg_match('/^\/?$/', $query)) {
2010-12-02 08:02:48 +01:00
// Dashboard
2010-12-01 15:17:27 +01:00
2010-12-02 08:02:48 +01:00
} elseif(preg_match('/^\/' . $regex['board'] . '(' . preg_quote(FILE_INDEX, '/') . ')?$/', $query, $matches)) {
// Board index
2010-12-01 15:17:27 +01:00
2010-12-02 08:02:48 +01:00
$boardName = $matches[1];
// Open board
openBoard($boardName);
2010-12-01 15:17:27 +01:00
2010-12-02 08:02:48 +01:00
echo Element('index.html', index(1));
2010-12-01 15:17:27 +01:00
} else {
2010-12-02 08:02:48 +01:00
error("Page not found.");
2010-12-01 15:17:27 +01:00
}
2010-12-01 11:53:11 +01:00
}
?>