summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorMichael Save <savetheinternet@tinyboard.org>2012-08-27 02:40:50 +1000
committerMichael Save <savetheinternet@tinyboard.org>2012-08-27 02:40:50 +1000
commita9562075f6c17bc848f7a5b1923177ade75f3611 (patch)
treea7674d9d93580a91184b8a7981c2ab5540aec7b4 /inc
parentc7a5635f55c4fc270ba6db0e4624d66605642e1d (diff)
parent82c960cc94eddd1a245a8c1d2f102f9165db1530 (diff)
Merge branch 'master' of git://github.com/Yousha/Tinyboard into yousha
Diffstat (limited to 'inc')
-rw-r--r--inc/anti-bot.php35
-rw-r--r--inc/database.php13
-rw-r--r--inc/functions.php55
3 files changed, 48 insertions, 55 deletions
diff --git a/inc/anti-bot.php b/inc/anti-bot.php
index 716e301c..791c5d8c 100644
--- a/inc/anti-bot.php
+++ b/inc/anti-bot.php
@@ -202,59 +202,56 @@ function _create_antibot($board, $thread) {
function checkSpam(array $extra_salt = array()) {
global $config, $pdo;
-
+
if (!isset($_POST['hash']))
return true;
-
+
$hash = $_POST['hash'];
-
+
if (!empty($extra_salt)) {
// create a salted hash of the "extra salt"
$extra_salt = implode(':', $extra_salt);
} else {
$extra_salt = '';
}
-
+
// Reconsturct the $inputs array
$inputs = array();
-
+
foreach ($_POST as $name => $value) {
if (in_array($name, $config['spam']['valid_inputs']))
continue;
-
+
$inputs[$name] = $value;
}
-
+
// Sort the inputs in alphabetical order (A-Z)
ksort($inputs);
-
+
$_hash = '';
-
+
// Iterate through each input
foreach ($inputs as $name => $value) {
$_hash .= $name . '=' . $value;
}
-
+
// Add a salt to the hash
$_hash .= $config['cookies']['salt'];
-
+
// Use SHA1 for the hash
$_hash = sha1($_hash . $extra_salt);
-
+
if ($hash != $_hash)
return true;
-
+
$query = prepare('SELECT `passed` FROM `antispam` WHERE `hash` = :hash');
$query->bindValue(':hash', $hash);
$query->execute() or error(db_error($query));
- if (($passed = $query->fetchColumn(0)) === false) {
+ if ((($passed = $query->fetchColumn(0)) === false) || ($passed > $config['spam']['hidden_inputs_max_pass'])) {
// there was no database entry for this hash. most likely expired.
return true;
}
-
- if ($passed > $config['spam']['hidden_inputs_max_pass'])
- return true;
-
+
return $hash;
}
@@ -263,5 +260,3 @@ function incrementSpamHash($hash) {
$query->bindValue(':hash', $hash);
$query->execute() or error(db_error($query));
}
-
-
diff --git a/inc/database.php b/inc/database.php
index 84185ad1..0dcc66b2 100644
--- a/inc/database.php
+++ b/inc/database.php
@@ -73,6 +73,7 @@ function prepare($query) {
if ($config['debug'])
return new PreparedQueryDebug($query);
+
return $pdo->prepare($query);
}
@@ -93,19 +94,19 @@ function query($query) {
'time' => '~' . $time
);
return $query;
- } else {
- return $pdo->query($query);
}
+
+ return $pdo->query($query);
}
function db_error($PDOStatement=null) {
global $pdo;
+
if (isset($PDOStatement)) {
$err = $PDOStatement->errorInfo();
return $err[2];
- } else {
- $err = $pdo->errorInfo();
- return $err[2];
}
-}
+ $err = $pdo->errorInfo();
+ return $err[2];
+}
diff --git a/inc/functions.php b/inc/functions.php
index eedbf9b9..cba58e52 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -241,6 +241,7 @@ function create_antibot($board, $thread = null) {
function rebuildThemes($action) {
// List themes
$query = query("SELECT `theme` FROM `theme_settings` WHERE `name` IS NULL AND `value` IS NULL") or error(db_error());
+
while ($theme = $query->fetch()) {
rebuildTheme($theme['theme'], $action);
}
@@ -327,6 +328,7 @@ function setupBoard($array) {
function openBoard($uri) {
global $config;
+
if ($config['cache']['enabled'] && ($board = cache::get('board_' . $uri))) {
setupBoard($board);
return true;
@@ -341,7 +343,9 @@ function openBoard($uri) {
cache::set('board_' . $uri, $board);
setupBoard($board);
return true;
- } else return false;
+ }
+
+ return false;
}
function boardTitle($uri) {
@@ -356,7 +360,9 @@ function boardTitle($uri) {
if ($title = $query->fetch()) {
return $title['title'];
- } else return false;
+ }
+
+ return false;
}
function purge($uri) {
@@ -546,9 +552,9 @@ function until($timestamp) {
return ($num = round($difference/(60*60*24))) . ' day' . ($num != 1 ? 's' : '');
} elseif ($difference < 60*60*24*365) {
return ($num = round($difference/(60*60*24*7))) . ' week' . ($num != 1 ? 's' : '');
- } else {
- return ($num = round($difference/(60*60*24*365))) . ' year' . ($num != 1 ? 's' : '');
}
+
+ return ($num = round($difference/(60*60*24*365))) . ' year' . ($num != 1 ? 's' : '');
}
function ago($timestamp) {
@@ -563,9 +569,9 @@ function ago($timestamp) {
return ($num = round($difference/(60*60*24))) . ' day' . ($num != 1 ? 's' : '');
} elseif ($difference < 60*60*24*365) {
return ($num = round($difference/(60*60*24*7))) . ' week' . ($num != 1 ? 's' : '');
- } else {
- return ($num = round($difference/(60*60*24*365))) . ' year' . ($num != 1 ? 's' : '');
}
+
+ return ($num = round($difference/(60*60*24*365))) . ' year' . ($num != 1 ? 's' : '');
}
function displayBan($ban) {
@@ -683,7 +689,9 @@ function threadExists($id) {
if ($query->rowCount()) {
return true;
- } else return false;
+ }
+
+ return false;
}
function post(array $post) {
@@ -841,10 +849,7 @@ function rebuildPost($id) {
$query->bindValue(':id', $id, PDO::PARAM_INT);
$query->execute() or error(db_error($query));
- if (!$post = $query->fetch())
- return false;
-
- if (!$post['body_nomarkup'])
+ if ((!$post = $query->fetch()) || !$post['body_nomarkup'])
return false;
markup($body = &$post['body_nomarkup']);
@@ -1101,10 +1106,7 @@ function makerobot($body) {
}
function checkRobot($body) {
- if (empty($body))
- return true;
-
- if (event('check-robot', $body))
+ if (empty($body) || event('check-robot', $body))
return true;
$body = makerobot($body);
@@ -1114,14 +1116,13 @@ function checkRobot($body) {
if ($query->fetch()) {
return true;
- } else {
- // Insert new hash
-
- $query = prepare("INSERT INTO `robot` VALUES (:hash)");
- $query->bindValue(':hash', $body);
- $query->execute() or error(db_error($query));
- return false;
}
+
+ // Insert new hash
+ $query = prepare("INSERT INTO `robot` VALUES (:hash)");
+ $query->bindValue(':hash', $body);
+ $query->execute() or error(db_error($query));
+ return false;
}
function numPosts($id) {
@@ -1197,7 +1198,6 @@ function checkMute() {
}
}
-
function buildIndex() {
global $board, $config;
@@ -1536,11 +1536,11 @@ function buildThread($id, $return=false, $mod=false) {
'boardlist' => createBoardlist($mod),
'return' => ($mod ? '?' . $board['url'] . $config['file_index'] : $config['root'] . $board['uri'] . '/' . $config['file_index'])
));
-
+
if ($return)
return $body;
- else
- file_write($board['dir'] . $config['dir']['res'] . sprintf($config['file_page'], $id), $body);
+
+ file_write($board['dir'] . $config['dir']['res'] . sprintf($config['file_page'], $id), $body);
}
function rrmdir($dir) {
@@ -1634,8 +1634,6 @@ function fraction($numerator, $denominator, $sep) {
return "{$numerator}{$sep}{$denominator}";
}
-
-
function getPostByHash($hash) {
global $board;
$query = prepare(sprintf("SELECT `id`,`thread` FROM `posts_%s` WHERE `filehash` = :hash", $board['uri']));
@@ -1706,4 +1704,3 @@ function DNS($host) {
return $ip_addr;
}
-