summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorMichael <savetheinternet@tinyboard.org>2013-06-18 10:45:13 -0700
committerMichael <savetheinternet@tinyboard.org>2013-06-18 10:45:13 -0700
commit0ac9dd5f25ffd9969786567cf7f3081c39f4e0c7 (patch)
treefd8e8bce38293493b1565147e1bbc3e3fdb7b875 /inc
parentcbc3bd0c0a13463dbdbc3d53a03dd9b2080496c4 (diff)
parent399aa463b3d046a49c861a2c60c997f39af22561 (diff)
Merge pull request #115 from Macil/miscfixes
Miscellaneous fixes
Diffstat (limited to 'inc')
-rw-r--r--inc/display.php4
-rw-r--r--inc/functions.php35
-rw-r--r--inc/mod/auth.php2
-rw-r--r--inc/mod/pages.php3
4 files changed, 21 insertions, 23 deletions
diff --git a/inc/display.php b/inc/display.php
index ab96eb26..5395edcc 100644
--- a/inc/display.php
+++ b/inc/display.php
@@ -118,7 +118,7 @@ function pm_snippet($body, $len=null) {
// calculate strlen() so we can add "..." after if needed
$strlen = mb_strlen($body);
- $body = substr($body, 0, $len);
+ $body = mb_substr($body, 0, $len);
// Re-escape the characters.
return '<em>' . utf8tohtml($body) . ($strlen > $len ? '&hellip;' : '') . '</em>';
@@ -204,7 +204,7 @@ function truncate($body, $url, $max_lines = false, $max_chars = false) {
}
} else {
// remove broken HTML entity at the end (if existent)
- $body = preg_replace('/&[^;]+$/', '', $body);
+ $body = preg_replace('/&[^;]*$/', '', $body);
}
$body .= '<span class="toolong">Post too long. Click <a href="' . $url . '">here</a> to view the full text.</span>';
diff --git a/inc/functions.php b/inc/functions.php
index cd079141..64a3ca88 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -328,11 +328,19 @@ function setupBoard($array) {
}
function openBoard($uri) {
+ $board = getBoardInfo($uri);
+ if ($board) {
+ setupBoard($board);
+ return true;
+ }
+ return false;
+}
+
+function getBoardInfo($uri) {
global $config;
if ($config['cache']['enabled'] && ($board = cache::get('board_' . $uri))) {
- setupBoard($board);
- return true;
+ return $board;
}
$query = prepare("SELECT * FROM `boards` WHERE `uri` = :uri LIMIT 1");
@@ -342,27 +350,16 @@ function openBoard($uri) {
if ($board = $query->fetch()) {
if ($config['cache']['enabled'])
cache::set('board_' . $uri, $board);
- setupBoard($board);
- return true;
+ return $board;
}
return false;
}
function boardTitle($uri) {
- global $config;
- if ($config['cache']['enabled'] && ($board = cache::get('board_' . $uri))) {
+ $board = getBoardInfo($uri);
+ if ($board)
return $board['title'];
- }
-
- $query = prepare("SELECT `title` FROM `boards` WHERE `uri` = :uri LIMIT 1");
- $query->bindValue(':uri', $uri);
- $query->execute() or error(db_error($query));
-
- if ($title = $query->fetch()) {
- return $title['title'];
- }
-
return false;
}
@@ -725,13 +722,13 @@ function post(array $post) {
$query->bindValue(':password', $post['password']);
$query->bindValue(':ip', isset($post['ip']) ? $post['ip'] : $_SERVER['REMOTE_ADDR']);
- if ($post['op'] && $post['mod'] && $post['sticky']) {
+ if ($post['op'] && $post['mod'] && isset($post['sticky']) && $post['sticky']) {
$query->bindValue(':sticky', 1, PDO::PARAM_INT);
} else {
$query->bindValue(':sticky', 0, PDO::PARAM_INT);
}
- if ($post['op'] && $post['mod'] && $post['locked']) {
+ if ($post['op'] && $post['mod'] && isset($post['locked']) && $post['locked']) {
$query->bindValue(':locked', 1, PDO::PARAM_INT);
} else {
$query->bindValue(':locked', 0, PDO::PARAM_INT);
@@ -1365,8 +1362,8 @@ function unicodify($body) {
// En and em- dashes are rendered exactly the same in
// most monospace fonts (they look the same in code
// editors).
- $body = str_replace('--', '&ndash;', $body); // en dash
$body = str_replace('---', '&mdash;', $body); // em dash
+ $body = str_replace('--', '&ndash;', $body); // en dash
return $body;
}
diff --git a/inc/mod/auth.php b/inc/mod/auth.php
index 73a24c44..173190ab 100644
--- a/inc/mod/auth.php
+++ b/inc/mod/auth.php
@@ -128,7 +128,7 @@ if (isset($_COOKIE[$config['cookies']['mod']])) {
function create_pm_header() {
global $mod, $config;
- if ($config['cache']['enabled'] && ($header = cache::get('pm_unread_' . $mod['id'])) !== false) {
+ if ($config['cache']['enabled'] && ($header = cache::get('pm_unread_' . $mod['id'])) != false) {
if ($header === true)
return false;
diff --git a/inc/mod/pages.php b/inc/mod/pages.php
index 6a780474..86f5ee52 100644
--- a/inc/mod/pages.php
+++ b/inc/mod/pages.php
@@ -92,7 +92,7 @@ function mod_dashboard() {
}
}
- if (!$config['cache']['enabled'] || ($args['unread_pms'] = cache::get('pm_unreadcount_' . $mod['id'])) === false) {
+ if (!$config['cache']['enabled'] || ($args['unread_pms'] = cache::get('pm_unreadcount_' . $mod['id'])) == false) {
$query = prepare('SELECT COUNT(*) FROM `pms` WHERE `to` = :id AND `unread` = 1');
$query->bindValue(':id', $mod['id']);
$query->execute() or error(db_error($query));
@@ -1870,6 +1870,7 @@ function mod_theme_configure($theme_name) {
'result' => $result,
'message' => $message,
));
+ return;
}
$settings = themeSettings($theme_name);