Better way of loading configuration

This commit is contained in:
Savetheinternet 2011-02-16 16:21:14 +11:00
parent a528996bcd
commit c237b016e6
4 changed files with 39 additions and 8 deletions

View File

@ -173,6 +173,7 @@
$config['file_index'] = 'index.html';
$config['file_page'] = '%d.html';
$config['file_mod'] = 'mod.php';
$config['file_post'] = 'post.php';
// Multi-board (%s is board abbreviation)
$config['board_path'] = '%s/';

View File

@ -1,4 +1,42 @@
<?php
loadConfig();
function loadConfig() {
global $board, $config;
require 'config.php';
if (file_exists('inc/instance-config.php')) {
require 'instance-config.php';
}
$config['post_url'] = $config['root'] . $config['file_post'];
$config['url_match'] = '/^' .
(preg_match($config['url_regex'], $config['root']) ? '' :
(@$_SERVER['HTTPS']?'https':'http') .
':\/\/'.$_SERVER['HTTP_HOST']) .
preg_quote($config['root'], '/') .
'(' .
str_replace('%s', '\w{1,8}', preg_quote($config['board_path'], '/')) .
'|' .
str_replace('%s', '\w{1,8}', preg_quote($config['board_path'], '/')) .
preg_quote($config['file_index'], '/') .
'|' .
str_replace('%s', '\w{1,8}', preg_quote($config['board_path'], '/')) .
str_replace('%d', '\d+', preg_quote($config['file_page'], '/')) .
'|' .
preg_quote($config['file_mod'], '/') .
'\?\/.+' .
')$/i';
$config['dir']['static'] = $config['root'] . 'static/';
$config['image_sticky'] = $config['dir']['static'] . 'sticky.gif';
$config['image_locked'] = $config['dir']['static'] . 'locked.gif';
$config['image_deleted'] = $config['dir']['static'] . 'deleted.png';
$config['image_zip'] = $config['dir']['static'] . 'zip.png';
}
function sprintf3($str, $vars, $delim = '%') {
$replaces = array();
foreach($vars as $k => $v) {

View File

@ -1,10 +1,6 @@
<?php
require 'inc/functions.php';
require 'inc/display.php';
require 'inc/config.php';
if (file_exists('inc/instance-config.php')) {
require 'inc/instance-config.php';
}
require 'inc/template.php';
require 'inc/database.php';
require 'inc/user.php';

View File

@ -1,10 +1,6 @@
<?php
require 'inc/functions.php';
require 'inc/display.php';
require 'inc/config.php';
if (file_exists('inc/instance-config.php')) {
require 'inc/instance-config.php';
}
require 'inc/template.php';
require 'inc/database.php';
require 'inc/user.php';