summaryrefslogtreecommitdiff
path: root/inc/mod/pages.php
diff options
context:
space:
mode:
authorczaks <marcin@6irc.net>2013-07-31 14:54:20 -0400
committerczaks <marcin@6irc.net>2013-07-31 14:54:20 -0400
commit55c7146d884005f70d15e991a9e8ea31b7021361 (patch)
tree57b6548601dfd1542febe05375efe49d439e1fb4 /inc/mod/pages.php
parentee23ec1e24bb2a0cec24af011012e95652ce85a9 (diff)
parent8e4c493a4c5bbff07483fd4a11c44c687c99e441 (diff)
Merge branch 'master' of https://github.com/savetheinternet/Tinyboard
Conflicts: inc/config.php inc/display.php inc/functions.php inc/image.php js/expand.js js/hide-threads.js js/local-time.js js/smartphone-spoiler.js templates/header.html templates/index.html templates/main.js templates/page.html templates/post_reply.html templates/post_thread.html templates/thread.html
Diffstat (limited to 'inc/mod/pages.php')
-rw-r--r--inc/mod/pages.php17
1 files changed, 17 insertions, 0 deletions
diff --git a/inc/mod/pages.php b/inc/mod/pages.php
index ab4cdaaf..08604039 100644
--- a/inc/mod/pages.php
+++ b/inc/mod/pages.php
@@ -446,6 +446,23 @@ function mod_new_board() {
if (!preg_match('/^' . $config['board_regex'] . '$/u', $_POST['uri']))
error(sprintf($config['error']['invalidfield'], 'URI'));
+ $bytes = 0;
+ $chars = preg_split('//u', $_POST['uri'], -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($chars as $char) {
+ $o = 0;
+ $ord = ordutf8($char, $o);
+ if ($ord > 0x0080)
+ $bytes += 5; // @01ff
+ else
+ $bytes ++;
+ }
+ $bytes + strlen('posts_.frm');
+
+ if ($bytes > 255) {
+ error('Your filesystem cannot handle a board URI of that length (' . $bytes . '/255 bytes)');
+ exit;
+ }
+
if (openBoard($_POST['uri'])) {
error(sprintf($config['error']['boardexists'], $board['url']));
}