mirror of
https://github.com/vichan-devel/vichan.git
synced 2024-11-28 01:10:51 +01:00
minor consistency cleanup
This commit is contained in:
parent
eb146d9201
commit
913010cff5
@ -20,7 +20,7 @@ class Cache {
|
|||||||
self::$cache->addServers($config['cache']['memcached']);
|
self::$cache->addServers($config['cache']['memcached']);
|
||||||
break;
|
break;
|
||||||
case 'php':
|
case 'php':
|
||||||
self::$cache = Array();
|
self::$cache = array();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -112,7 +112,7 @@ class Cache {
|
|||||||
case 'apc':
|
case 'apc':
|
||||||
return apc_clear_cache('user');
|
return apc_clear_cache('user');
|
||||||
case 'php':
|
case 'php':
|
||||||
self::$cache[$key] = Array();
|
self::$cache[$key] = array();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ class PreparedQueryDebug {
|
|||||||
if ($config['debug'] && $function == 'execute') {
|
if ($config['debug'] && $function == 'execute') {
|
||||||
$time = round((microtime(true) - $start) * 1000, 2) . 'ms';
|
$time = round((microtime(true) - $start) * 1000, 2) . 'ms';
|
||||||
|
|
||||||
$debug['sql'][] = Array(
|
$debug['sql'][] = array(
|
||||||
'query' => $this->query->queryString,
|
'query' => $this->query->queryString,
|
||||||
'rows' => $this->query->rowCount(),
|
'rows' => $this->query->rowCount(),
|
||||||
'time' => '~' . $time
|
'time' => '~' . $time
|
||||||
@ -91,7 +91,7 @@ function query($query) {
|
|||||||
if (!$query)
|
if (!$query)
|
||||||
return false;
|
return false;
|
||||||
$time = round((microtime(true) - $start) * 1000, 2) . 'ms';
|
$time = round((microtime(true) - $start) * 1000, 2) . 'ms';
|
||||||
$debug['sql'][] = Array(
|
$debug['sql'][] = array(
|
||||||
'query' => $query->queryString,
|
'query' => $query->queryString,
|
||||||
'rows' => $query->rowCount(),
|
'rows' => $query->rowCount(),
|
||||||
'time' => '~' . $time
|
'time' => '~' . $time
|
||||||
|
@ -42,7 +42,7 @@ function doBoardListPart($list, $root) {
|
|||||||
function createBoardlist($mod=false) {
|
function createBoardlist($mod=false) {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
if (!isset($config['boards'])) return Array('top'=>'','bottom'=>'');
|
if (!isset($config['boards'])) return array('top'=>'','bottom'=>'');
|
||||||
|
|
||||||
$body = doBoardListPart($config['boards'], $mod?'?/':$config['root']);
|
$body = doBoardListPart($config['boards'], $mod?'?/':$config['root']);
|
||||||
if (!preg_match('/\] $/', $body))
|
if (!preg_match('/\] $/', $body))
|
||||||
@ -50,7 +50,7 @@ function createBoardlist($mod=false) {
|
|||||||
|
|
||||||
$body = trim($body);
|
$body = trim($body);
|
||||||
|
|
||||||
return Array(
|
return array(
|
||||||
'top' => '<div class="boardlist">' . $body . '</div>',
|
'top' => '<div class="boardlist">' . $body . '</div>',
|
||||||
'bottom' => '<div class="boardlist bottom">' . $body . '</div>'
|
'bottom' => '<div class="boardlist bottom">' . $body . '</div>'
|
||||||
);
|
);
|
||||||
@ -69,7 +69,7 @@ function error($message, $priority = true) {
|
|||||||
die('Error: ' . $message . "\n");
|
die('Error: ' . $message . "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
die(Element('page.html', Array(
|
die(Element('page.html', array(
|
||||||
'config'=>$config,
|
'config'=>$config,
|
||||||
'title'=>'Error',
|
'title'=>'Error',
|
||||||
'subtitle'=>'An error has occured.',
|
'subtitle'=>'An error has occured.',
|
||||||
@ -130,7 +130,7 @@ function capcode($cap) {
|
|||||||
if (!$cap)
|
if (!$cap)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
$capcode = Array();
|
$capcode = array();
|
||||||
if (isset($config['custom_capcode'][$cap])) {
|
if (isset($config['custom_capcode'][$cap])) {
|
||||||
if (is_array($config['custom_capcode'][$cap])) {
|
if (is_array($config['custom_capcode'][$cap])) {
|
||||||
$capcode['cap'] = sprintf($config['custom_capcode'][$cap][0], $cap);
|
$capcode['cap'] = sprintf($config['custom_capcode'][$cap][0], $cap);
|
||||||
@ -174,7 +174,7 @@ function truncate($body, $url, $max_lines = false, $max_chars = false) {
|
|||||||
// Open tags
|
// Open tags
|
||||||
if (preg_match_all('/<([\w]+)[^>]*>/', $body, $open_tags)) {
|
if (preg_match_all('/<([\w]+)[^>]*>/', $body, $open_tags)) {
|
||||||
|
|
||||||
$tags = Array();
|
$tags = array();
|
||||||
for ($x=0;$x<count($open_tags[0]);$x++) {
|
for ($x=0;$x<count($open_tags[0]);$x++) {
|
||||||
if (!preg_match('/\/(\s+)?>$/', $open_tags[0][$x]))
|
if (!preg_match('/\/(\s+)?>$/', $open_tags[0][$x]))
|
||||||
$tags[] = $open_tags[1][$x];
|
$tags[] = $open_tags[1][$x];
|
||||||
@ -300,7 +300,7 @@ class Post {
|
|||||||
public function build($index=false) {
|
public function build($index=false) {
|
||||||
global $board, $config;
|
global $board, $config;
|
||||||
|
|
||||||
return Element('post_reply.html', Array('config' => $config, 'board' => $board, 'post' => &$this, 'index' => $index));
|
return Element('post_reply.html', array('config' => $config, 'board' => $board, 'post' => &$this, 'index' => $index));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -328,7 +328,7 @@ class Thread {
|
|||||||
$this->filename = $filename;
|
$this->filename = $filename;
|
||||||
$this->omitted = 0;
|
$this->omitted = 0;
|
||||||
$this->omitted_images = 0;
|
$this->omitted_images = 0;
|
||||||
$this->posts = Array();
|
$this->posts = array();
|
||||||
$this->ip = $ip;
|
$this->ip = $ip;
|
||||||
$this->sticky = $sticky;
|
$this->sticky = $sticky;
|
||||||
$this->locked = $locked;
|
$this->locked = $locked;
|
||||||
@ -425,7 +425,7 @@ class Thread {
|
|||||||
public function build($index=false) {
|
public function build($index=false) {
|
||||||
global $board, $config, $debug;
|
global $board, $config, $debug;
|
||||||
|
|
||||||
$built = Element('post_thread.html', Array('config' => $config, 'board' => $board, 'post' => &$this, 'index' => $index));
|
$built = Element('post_thread.html', array('config' => $config, 'board' => $board, 'post' => &$this, 'index' => $index));
|
||||||
|
|
||||||
if (!$this->mod && $index && $config['cache']['enabled']) {
|
if (!$this->mod && $index && $config['cache']['enabled']) {
|
||||||
cache::set($this->cache_key($index), $built);
|
cache::set($this->cache_key($index), $built);
|
||||||
|
@ -35,7 +35,7 @@ function event_handler($event, $callback) {
|
|||||||
global $events;
|
global $events;
|
||||||
|
|
||||||
if (!isset($events[$event]))
|
if (!isset($events[$event]))
|
||||||
$events[$event] = Array();
|
$events[$event] = array();
|
||||||
|
|
||||||
$events[$event][] = $callback;
|
$events[$event][] = $callback;
|
||||||
}
|
}
|
||||||
@ -43,6 +43,6 @@ function event_handler($event, $callback) {
|
|||||||
function reset_events() {
|
function reset_events() {
|
||||||
global $events;
|
global $events;
|
||||||
|
|
||||||
$events = Array();
|
$events = array();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ class Image {
|
|||||||
error($config['error']['invalidimg']);
|
error($config['error']['invalidimg']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->size = (object)Array('width' => $this->image->_width(), 'height' => $this->image->_height());
|
$this->size = (object)array('width' => $this->image->_width(), 'height' => $this->image->_height());
|
||||||
if ($this->size->width < 1 || $this->size->height < 1) {
|
if ($this->size->width < 1 || $this->size->height < 1) {
|
||||||
$this->delete();
|
$this->delete();
|
||||||
error($config['error']['invalidimg']);
|
error($config['error']['invalidimg']);
|
||||||
@ -187,7 +187,7 @@ class ImageImagick extends ImageBase {
|
|||||||
$this->image = new Imagick();
|
$this->image = new Imagick();
|
||||||
$this->image->setFormat('gif');
|
$this->image->setFormat('gif');
|
||||||
|
|
||||||
$keep_frames = Array();
|
$keep_frames = array();
|
||||||
for ($i = 0; $i < $this->original->getNumberImages(); $i += floor($this->original->getNumberImages() / $config['thumb_keep_animation_frames']))
|
for ($i = 0; $i < $this->original->getNumberImages(); $i += floor($this->original->getNumberImages() / $config['thumb_keep_animation_frames']))
|
||||||
$keep_frames[] = $i;
|
$keep_frames[] = $i;
|
||||||
|
|
||||||
|
287
inc/mod-old.php
287
inc/mod-old.php
@ -1,287 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright (c) 2010-2012 Tinyboard Development Group
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (realpath($_SERVER['SCRIPT_FILENAME']) == str_replace('\\', '/', __FILE__)) {
|
|
||||||
// You cannot request this file directly.
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
// create a hash/salt pair for validate logins
|
|
||||||
function mkhash($username, $password, $salt = false) {
|
|
||||||
global $config;
|
|
||||||
|
|
||||||
if (!$salt) {
|
|
||||||
// create some sort of salt for the hash
|
|
||||||
$salt = substr(base64_encode(sha1(rand() . time(), true) . $config['cookies']['salt']), 0, 15);
|
|
||||||
|
|
||||||
$generated_salt = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// generate hash (method is not important as long as it's strong)
|
|
||||||
$hash = substr(base64_encode(md5($username . sha1($username . $password . $salt . ($config['mod']['lock_ip'] ? $_SERVER['REMOTE_ADDR'] : ''), true), true)), 0, 20);
|
|
||||||
|
|
||||||
if (isset($generated_salt))
|
|
||||||
return Array($hash, $salt);
|
|
||||||
else
|
|
||||||
return $hash;
|
|
||||||
}
|
|
||||||
|
|
||||||
function login($username, $password, $makehash=true) {
|
|
||||||
global $mod;
|
|
||||||
|
|
||||||
// SHA1 password
|
|
||||||
if ($makehash) {
|
|
||||||
$password = sha1($password);
|
|
||||||
}
|
|
||||||
|
|
||||||
$query = prepare("SELECT `id`,`type`,`boards` FROM `mods` WHERE `username` = :username AND `password` = :password LIMIT 1");
|
|
||||||
$query->bindValue(':username', $username);
|
|
||||||
$query->bindValue(':password', $password);
|
|
||||||
$query->execute() or error(db_error($query));
|
|
||||||
|
|
||||||
if ($user = $query->fetch()) {
|
|
||||||
return $mod = Array(
|
|
||||||
'id' => $user['id'],
|
|
||||||
'type' => $user['type'],
|
|
||||||
'username' => $username,
|
|
||||||
'hash' => mkhash($username, $password),
|
|
||||||
'boards' => explode(',', $user['boards'])
|
|
||||||
);
|
|
||||||
} else return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function setCookies() {
|
|
||||||
global $mod, $config;
|
|
||||||
if (!$mod)
|
|
||||||
error('setCookies() was called for a non-moderator!');
|
|
||||||
|
|
||||||
setcookie($config['cookies']['mod'],
|
|
||||||
$mod['username'] . // username
|
|
||||||
':' .
|
|
||||||
$mod['hash'][0] . // password
|
|
||||||
':' .
|
|
||||||
$mod['hash'][1], // salt
|
|
||||||
time() + $config['cookies']['expire'], $config['cookies']['jail'] ? $config['cookies']['path'] : '/', null, false, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
function destroyCookies() {
|
|
||||||
global $config;
|
|
||||||
// Delete the cookies
|
|
||||||
setcookie($config['cookies']['mod'], 'deleted', time() - $config['cookies']['expire'], $config['cookies']['jail']?$config['cookies']['path'] : '/', null, false, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
function create_pm_header() {
|
|
||||||
global $mod;
|
|
||||||
$query = prepare("SELECT `id` FROM `pms` WHERE `to` = :id AND `unread` = 1");
|
|
||||||
$query->bindValue(':id', $mod['id'], PDO::PARAM_INT);
|
|
||||||
$query->execute() or error(db_error($query));
|
|
||||||
|
|
||||||
if ($pm = $query->fetch()) {
|
|
||||||
return Array('id' => $pm['id'], 'waiting' => $query->rowCount() - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function modLog($action, $_board=null) {
|
|
||||||
global $mod, $board, $config;
|
|
||||||
$query = prepare("INSERT INTO `modlogs` VALUES (:id, :ip, :board, :time, :text)");
|
|
||||||
$query->bindValue(':id', $mod['id'], PDO::PARAM_INT);
|
|
||||||
$query->bindValue(':ip', $_SERVER['REMOTE_ADDR']);
|
|
||||||
$query->bindValue(':time', time(), PDO::PARAM_INT);
|
|
||||||
$query->bindValue(':text', $action);
|
|
||||||
if (isset($_board))
|
|
||||||
$query->bindValue(':board', $_board);
|
|
||||||
elseif (isset($board))
|
|
||||||
$query->bindValue(':board', $board['uri']);
|
|
||||||
else
|
|
||||||
$query->bindValue(':board', null, PDO::PARAM_NULL);
|
|
||||||
$query->execute() or error(db_error($query));
|
|
||||||
|
|
||||||
if ($config['syslog'])
|
|
||||||
_syslog(LOG_INFO, '[mod/' . $mod['username'] . ']: ' . $action);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Generates a <ul> element with a list of linked
|
|
||||||
// boards and their subtitles. (without the <ul> opening and ending tags)
|
|
||||||
function ulBoards() {
|
|
||||||
global $mod, $config;
|
|
||||||
|
|
||||||
$body = '';
|
|
||||||
|
|
||||||
// List of boards
|
|
||||||
$boards = listBoards();
|
|
||||||
|
|
||||||
foreach ($boards as &$b) {
|
|
||||||
$body .= '<li>' .
|
|
||||||
'<a href="?/' .
|
|
||||||
sprintf($config['board_path'], $b['uri']) . $config['file_index'] .
|
|
||||||
'">' .
|
|
||||||
sprintf($config['board_abbreviation'], $b['uri']) .
|
|
||||||
'</a> - ' .
|
|
||||||
$b['title'] .
|
|
||||||
(isset($b['subtitle']) ? '<span class="unimportant"> — ' . $b['subtitle'] . '</span>' : '') .
|
|
||||||
($mod['type'] >= $config['mod']['manageboards'] ?
|
|
||||||
' <a href="?/' . $b['uri'] . '/edit" class="unimportant">[manage]</a>' : '') .
|
|
||||||
'</li>';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($mod['type'] >= $config['mod']['newboard']) {
|
|
||||||
$body .= '<li style="margin-top:15px;"><a href="?/new"><strong>' . _('Create new board') . '</strong></a></li>';
|
|
||||||
}
|
|
||||||
return $body;
|
|
||||||
}
|
|
||||||
|
|
||||||
function form_newBan($ip=null, $reason='', $continue=false, $delete=false, $board=false, $allow_public = false) {
|
|
||||||
global $config, $mod;
|
|
||||||
|
|
||||||
$boards = listBoards();
|
|
||||||
$__boards = '<li><input type="radio" checked="checked" name="board" id="board_*" value=""/> <label style="display:inline" for="board_*"><em>' . _('all boards') . '</em></label></li>';
|
|
||||||
foreach ($boards as &$_board) {
|
|
||||||
$__boards .= '<li>' .
|
|
||||||
'<input type="radio" name="board" id="board_' . $_board['uri'] . '" value="' . $_board['uri'] . '">' .
|
|
||||||
'<label style="display:inline" for="board_' . $_board['uri'] . '"> ' .
|
|
||||||
($_board['uri'] == '*' ?
|
|
||||||
'<em>"*"</em>'
|
|
||||||
:
|
|
||||||
sprintf($config['board_abbreviation'], $_board['uri'])
|
|
||||||
) .
|
|
||||||
' - ' . $_board['title'] .
|
|
||||||
'</label>' .
|
|
||||||
'</li>';
|
|
||||||
}
|
|
||||||
|
|
||||||
return '<fieldset><legend>New ban</legend>' .
|
|
||||||
'<form action="?/ban" method="post">' .
|
|
||||||
($continue ? '<input type="hidden" name="continue" value="' . htmlentities($continue) . '" />' : '') .
|
|
||||||
($delete || $allow_public ? '<input type="hidden" name="' . (!$allow_public ? 'delete' : 'post') . '" value="' . htmlentities($delete) . '" />' : '') .
|
|
||||||
($board ? '<input type="hidden" name="board" value="' . htmlentities($board) . '" />' : '') .
|
|
||||||
'<table>' .
|
|
||||||
'<tr>' .
|
|
||||||
'<th><label for="ip">IP ' .
|
|
||||||
($config['ban_cidr'] ? '<span class="unimportant">(or subnet)' : '') .
|
|
||||||
'</span></label></th>' .
|
|
||||||
'<td><input type="text" name="ip" id="ip" size="30" maxlength="30" ' .
|
|
||||||
(isset($ip) ?
|
|
||||||
'value="' . htmlentities($ip) . '" ' : ''
|
|
||||||
) .
|
|
||||||
'/></td>' .
|
|
||||||
'</tr>' .
|
|
||||||
'<tr>' .
|
|
||||||
'<th><label for="reason">Reason</label></th>' .
|
|
||||||
'<td><textarea name="reason" id="reason" rows="5" cols="30">' .
|
|
||||||
htmlentities($reason) .
|
|
||||||
'</textarea></td>' .
|
|
||||||
'</tr>' .
|
|
||||||
($mod['type'] >= $config['mod']['public_ban'] && $allow_public ?
|
|
||||||
'<tr>' .
|
|
||||||
'<th><label for="message">Message</label></th>' .
|
|
||||||
'<td><input type="checkbox" id="public_message" name="public_message"/>' .
|
|
||||||
' <input type="text" name="message" id="message" size="35" maxlength="200" value="' . htmlentities($config['mod']['default_ban_message']) . '" />' .
|
|
||||||
' <span class="unimportant">(public; attached to post)</span></td>' .
|
|
||||||
'<script type="text/javascript">' .
|
|
||||||
'document.getElementById(\'message\').disabled = true;' .
|
|
||||||
'document.getElementById(\'public_message\').onchange = function() {' .
|
|
||||||
'document.getElementById(\'message\').disabled = !this.checked;' .
|
|
||||||
'}' .
|
|
||||||
|
|
||||||
'</script>' .
|
|
||||||
'</tr>'
|
|
||||||
: '') .
|
|
||||||
'<tr>' .
|
|
||||||
'<th><label for="length">Length</label></th>' .
|
|
||||||
'<td><input type="text" name="length" id="length" size="20" maxlength="40" />' .
|
|
||||||
' <span class="unimportant">(eg. "2d1h30m" or "2 days")</span></td>' .
|
|
||||||
'</tr>' .
|
|
||||||
|
|
||||||
'<tr>' .
|
|
||||||
'<th>Board</th>' .
|
|
||||||
'<td><ul style="list-style:none;padding:2px 5px">' . $__boards . '</tl></td>' .
|
|
||||||
'</tr>' .
|
|
||||||
|
|
||||||
'<tr>' .
|
|
||||||
'<td></td>' .
|
|
||||||
'<td><input name="new_ban" type="submit" value="New Ban" /></td>' .
|
|
||||||
'</tr>' .
|
|
||||||
'</table>' .
|
|
||||||
'</form>' .
|
|
||||||
'</fieldset>';
|
|
||||||
}
|
|
||||||
|
|
||||||
function form_newBoard() {
|
|
||||||
return '<fieldset><legend>New board</legend>' .
|
|
||||||
'<form action="?/new" method="post">' .
|
|
||||||
'<table>' .
|
|
||||||
'<tr>' .
|
|
||||||
'<th><label for="board">URI</label></th>' .
|
|
||||||
'<td><input type="text" name="uri" id="board" size="10" />' .
|
|
||||||
' <span class="unimportant">(eg. "b"; "mu")</span></td>' .
|
|
||||||
'</tr>' .
|
|
||||||
'<tr>' .
|
|
||||||
'<th><label for="title">Title</label></th>' .
|
|
||||||
'<td><input type="text" name="title" id="title" size="25" />' .
|
|
||||||
' <span class="unimportant">(eg. "Random")</span></td>' .
|
|
||||||
'</tr>' .
|
|
||||||
'<tr>' .
|
|
||||||
'<th><label for="subtitle">Subtitle</label></th>' .
|
|
||||||
'<td><input type="text" name="subtitle" id="subtitle" size="25" />' .
|
|
||||||
' <span class="unimportant">(optional)</span></td>' .
|
|
||||||
'</tr>' .
|
|
||||||
'<tr>' .
|
|
||||||
'<td></td>' .
|
|
||||||
'<td><input name="new_board" type="submit" value="New Board" /></td>' .
|
|
||||||
'</tr>' .
|
|
||||||
'</table>' .
|
|
||||||
'</form>' .
|
|
||||||
'</fieldset>';
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function removeBan($id) {
|
|
||||||
global $config, $memcached;
|
|
||||||
|
|
||||||
$query = prepare("DELETE FROM `bans` WHERE `id` = :id");
|
|
||||||
$query->bindValue(':id', $id, PDO::PARAM_INT);
|
|
||||||
$query->execute() or error(db_error($query));
|
|
||||||
|
|
||||||
//if ($config['memcached']['enabled']) {
|
|
||||||
// Remove cached ban
|
|
||||||
// TODO
|
|
||||||
// $memcached->delete("ban_{$id}");
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Validate session
|
|
||||||
|
|
||||||
if (isset($_COOKIE[$config['cookies']['mod']])) {
|
|
||||||
// Should be username:hash:salt
|
|
||||||
$cookie = explode(':', $_COOKIE[$config['cookies']['mod']]);
|
|
||||||
if (count($cookie) != 3) {
|
|
||||||
destroyCookies();
|
|
||||||
error($config['error']['malformed']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$query = prepare("SELECT `id`, `type`, `boards`, `password` FROM `mods` WHERE `username` = :username LIMIT 1");
|
|
||||||
$query->bindValue(':username', $cookie[0]);
|
|
||||||
$query->execute() or error(db_error($query));
|
|
||||||
$user = $query->fetch();
|
|
||||||
|
|
||||||
// validate password hash
|
|
||||||
if ($cookie[1] != mkhash($cookie[0], $user['password'], $cookie[2])) {
|
|
||||||
// Malformed cookies
|
|
||||||
destroyCookies();
|
|
||||||
error($config['error']['malformed']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$mod = Array(
|
|
||||||
'id' => $user['id'],
|
|
||||||
'type' => $user['type'],
|
|
||||||
'username' => $cookie[0],
|
|
||||||
'boards' => explode(',', $user['boards'])
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -24,7 +24,7 @@ function mkhash($username, $password, $salt = false) {
|
|||||||
$hash = substr(base64_encode(md5($username . $config['cookies']['salt'] . sha1($username . $password . $salt . ($config['mod']['lock_ip'] ? $_SERVER['REMOTE_ADDR'] : ''), true), true)), 0, 20);
|
$hash = substr(base64_encode(md5($username . $config['cookies']['salt'] . sha1($username . $password . $salt . ($config['mod']['lock_ip'] ? $_SERVER['REMOTE_ADDR'] : ''), true), true)), 0, 20);
|
||||||
|
|
||||||
if (isset($generated_salt))
|
if (isset($generated_salt))
|
||||||
return Array($hash, $salt);
|
return array($hash, $salt);
|
||||||
else
|
else
|
||||||
return $hash;
|
return $hash;
|
||||||
}
|
}
|
||||||
@ -43,7 +43,7 @@ function login($username, $password, $makehash=true) {
|
|||||||
$query->execute() or error(db_error($query));
|
$query->execute() or error(db_error($query));
|
||||||
|
|
||||||
if ($user = $query->fetch()) {
|
if ($user = $query->fetch()) {
|
||||||
return $mod = Array(
|
return $mod = array(
|
||||||
'id' => $user['id'],
|
'id' => $user['id'],
|
||||||
'type' => $user['type'],
|
'type' => $user['type'],
|
||||||
'username' => $username,
|
'username' => $username,
|
||||||
@ -114,7 +114,7 @@ if (isset($_COOKIE[$config['cookies']['mod']])) {
|
|||||||
error($config['error']['malformed']);
|
error($config['error']['malformed']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$mod = Array(
|
$mod = array(
|
||||||
'id' => $user['id'],
|
'id' => $user['id'],
|
||||||
'type' => $user['type'],
|
'type' => $user['type'],
|
||||||
'username' => $cookie[0],
|
'username' => $cookie[0],
|
||||||
@ -137,7 +137,7 @@ function create_pm_header() {
|
|||||||
$query->execute() or error(db_error($query));
|
$query->execute() or error(db_error($query));
|
||||||
|
|
||||||
if ($pm = $query->fetch())
|
if ($pm = $query->fetch())
|
||||||
$header = Array('id' => $pm['id'], 'waiting' => $query->rowCount() - 1);
|
$header = array('id' => $pm['id'], 'waiting' => $query->rowCount() - 1);
|
||||||
else
|
else
|
||||||
$header = true;
|
$header = true;
|
||||||
|
|
||||||
|
@ -1678,9 +1678,9 @@ function mod_themes_list() {
|
|||||||
if (!hasPermission($config['mod']['themes']))
|
if (!hasPermission($config['mod']['themes']))
|
||||||
error($config['error']['noaccess']);
|
error($config['error']['noaccess']);
|
||||||
|
|
||||||
if(!is_dir($config['dir']['themes']))
|
if (!is_dir($config['dir']['themes']))
|
||||||
error(_('Themes directory doesn\'t exist!'));
|
error(_('Themes directory doesn\'t exist!'));
|
||||||
if(!$dir = opendir($config['dir']['themes']))
|
if (!$dir = opendir($config['dir']['themes']))
|
||||||
error(_('Cannot open themes directory; check permissions.'));
|
error(_('Cannot open themes directory; check permissions.'));
|
||||||
|
|
||||||
$query = query('SELECT `theme` FROM `theme_settings` WHERE `name` IS NULL AND `value` IS NULL') or error(db_error());
|
$query = query('SELECT `theme` FROM `theme_settings` WHERE `name` IS NULL AND `value` IS NULL') or error(db_error());
|
||||||
@ -1707,14 +1707,14 @@ function mod_theme_configure($theme_name) {
|
|||||||
if (!hasPermission($config['mod']['themes']))
|
if (!hasPermission($config['mod']['themes']))
|
||||||
error($config['error']['noaccess']);
|
error($config['error']['noaccess']);
|
||||||
|
|
||||||
if(!$theme = loadThemeConfig($theme_name)) {
|
if (!$theme = loadThemeConfig($theme_name)) {
|
||||||
error($config['error']['invalidtheme']);
|
error($config['error']['invalidtheme']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($_POST['install'])) {
|
if (isset($_POST['install'])) {
|
||||||
// Check if everything is submitted
|
// Check if everything is submitted
|
||||||
foreach($theme['config'] as &$conf) {
|
foreach ($theme['config'] as &$conf) {
|
||||||
if(!isset($_POST[$conf['name']]) && $conf['type'] != 'checkbox')
|
if (!isset($_POST[$conf['name']]) && $conf['type'] != 'checkbox')
|
||||||
error(sprintf($config['error']['required'], $c['title']));
|
error(sprintf($config['error']['required'], $c['title']));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1723,7 +1723,7 @@ function mod_theme_configure($theme_name) {
|
|||||||
$query->bindValue(':theme', $theme_name);
|
$query->bindValue(':theme', $theme_name);
|
||||||
$query->execute() or error(db_error($query));
|
$query->execute() or error(db_error($query));
|
||||||
|
|
||||||
foreach($theme['config'] as &$conf) {
|
foreach ($theme['config'] as &$conf) {
|
||||||
$query = prepare("INSERT INTO `theme_settings` VALUES(:theme, :name, :value)");
|
$query = prepare("INSERT INTO `theme_settings` VALUES(:theme, :name, :value)");
|
||||||
$query->bindValue(':theme', $theme_name);
|
$query->bindValue(':theme', $theme_name);
|
||||||
$query->bindValue(':name', $conf['name']);
|
$query->bindValue(':name', $conf['name']);
|
||||||
@ -1737,17 +1737,17 @@ function mod_theme_configure($theme_name) {
|
|||||||
|
|
||||||
$result = true;
|
$result = true;
|
||||||
$message = false;
|
$message = false;
|
||||||
if(isset($theme['install_callback'])) {
|
if (isset($theme['install_callback'])) {
|
||||||
$ret = $theme['install_callback'](themeSettings($theme_name));
|
$ret = $theme['install_callback'](themeSettings($theme_name));
|
||||||
if($ret && !empty($ret)) {
|
if ($ret && !empty($ret)) {
|
||||||
if(is_array($ret) && count($ret) == 2) {
|
if (is_array($ret) && count($ret) == 2) {
|
||||||
$result = $ret[0];
|
$result = $ret[0];
|
||||||
$message = $ret[1];
|
$message = $ret[1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$result) {
|
if (!$result) {
|
||||||
// Install failed
|
// Install failed
|
||||||
$query = prepare("DELETE FROM `theme_settings` WHERE `theme` = :theme");
|
$query = prepare("DELETE FROM `theme_settings` WHERE `theme` = :theme");
|
||||||
$query->bindValue(':theme', $theme_name);
|
$query->bindValue(':theme', $theme_name);
|
||||||
|
@ -15,7 +15,7 @@ class Remote {
|
|||||||
$this->{$name} = $value;
|
$this->{$name} = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
$methods = Array();
|
$methods = array();
|
||||||
|
|
||||||
if (!isset($this->auth['method']))
|
if (!isset($this->auth['method']))
|
||||||
error('Unspecified authentication method.');
|
error('Unspecified authentication method.');
|
||||||
|
@ -6,7 +6,7 @@ define('VERSION', 'v0.9.6-dev-6');
|
|||||||
require 'inc/functions.php';
|
require 'inc/functions.php';
|
||||||
|
|
||||||
$step = isset($_GET['step']) ? round($_GET['step']) : 0;
|
$step = isset($_GET['step']) ? round($_GET['step']) : 0;
|
||||||
$page = Array(
|
$page = array(
|
||||||
'config' => $config,
|
'config' => $config,
|
||||||
'title' => 'Install',
|
'title' => 'Install',
|
||||||
'body' => '',
|
'body' => '',
|
||||||
@ -92,7 +92,7 @@ if (file_exists($config['has_installed'])) {
|
|||||||
}
|
}
|
||||||
case 'v0.9.3-dev-6':
|
case 'v0.9.3-dev-6':
|
||||||
// change to MyISAM
|
// change to MyISAM
|
||||||
$tables = Array(
|
$tables = array(
|
||||||
'bans', 'boards', 'ip_notes', 'modlogs', 'mods', 'mutes', 'noticeboard', 'pms', 'reports', 'robot', 'theme_settings', 'news'
|
'bans', 'boards', 'ip_notes', 'modlogs', 'mods', 'mutes', 'noticeboard', 'pms', 'reports', 'robot', 'theme_settings', 'news'
|
||||||
);
|
);
|
||||||
foreach ($boards as &$board) {
|
foreach ($boards as &$board) {
|
||||||
@ -527,7 +527,7 @@ if ($step == 0) {
|
|||||||
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 = '';
|
||||||
foreach ($queries as &$query) {
|
foreach ($queries as &$query) {
|
||||||
|
Loading…
Reference in New Issue
Block a user