Browse Source

Facilitate creation and usage of boards with "." and "+" characters in name.

This commit is mostly work in progress, will be rewritten.
pull/40/head
Marcin Łabanowski 11 years ago
parent
commit
f6e9dbed13
  1. 2
      inc/functions.php
  2. 4
      inc/mod/pages.php
  3. 24
      mod.php

2
inc/functions.php

@ -1436,7 +1436,7 @@ function markup(&$body, $track_cites = false) {
} }
// Cross-board linking // Cross-board linking
if (preg_match_all('/(^|\s)>>>\/(\w+?)\/(\d+)?([\s,.)?]|$)/m', $body, $cites)) { if (preg_match_all('/(^|\s)>>>\/([\w.+]+?)\/(\d+)?([\s,.)?]|$)/m', $body, $cites)) {
if (count($cites[0]) > $config['max_cites']) { if (count($cites[0]) > $config['max_cites']) {
error($config['error']['toomanycross']); error($config['error']['toomanycross']);
} }

4
inc/mod/pages.php

@ -236,8 +236,8 @@ function mod_new_board() {
if ($_POST['title'] == '') if ($_POST['title'] == '')
error(sprintf($config['error']['required'], 'title')); error(sprintf($config['error']['required'], 'title'));
if (!preg_match('/^\w+$/', $_POST['uri'])) #if (!preg_match('/^\w+$/', $_POST['uri']))
error(sprintf($config['error']['invalidfield'], 'URI')); # error(sprintf($config['error']['invalidfield'], 'URI'));
if (openBoard($_POST['uri'])) { if (openBoard($_POST['uri'])) {
error(sprintf($config['error']['boardexists'], $board['url'])); error(sprintf($config['error']['boardexists'], $board['url']));

24
mod.php

@ -59,14 +59,14 @@ $pages = array(
// CSRF-protected moderator actions // CSRF-protected moderator actions
'/ban' => 'secure_POST ban', // new ban '/ban' => 'secure_POST ban', // new ban
'/(\w+)/ban(&delete)?/(\d+)' => 'secure_POST ban_post', // ban poster '/([\w+.]+)/ban(&delete)?/(\d+)' => 'secure_POST ban_post', // ban poster
'/(\w+)/move/(\d+)' => 'secure_POST move', // move thread '/([\w+.]+)/move/(\d+)' => 'secure_POST move', // move thread
'/(\w+)/delete/(\d+)' => 'secure delete', // delete post '/([\w+.]+)/delete/(\d+)' => 'secure delete', // delete post
'/(\w+)/deletefile/(\d+)' => 'secure deletefile', // delete file from post '/([\w+.]+)/deletefile/(\d+)' => 'secure deletefile', // delete file from post
'/(\w+)/deletebyip/(\d+)(/global)?' => 'secure deletebyip', // delete all posts by IP address '/([\w+.]+)/deletebyip/(\d+)(/global)?' => 'secure deletebyip', // delete all posts by IP address
'/(\w+)/(un)?lock/(\d+)' => 'secure lock', // lock thread '/([\w+.]+)/(un)?lock/(\d+)' => 'secure lock', // lock thread
'/(\w+)/(un)?sticky/(\d+)' => 'secure sticky', // sticky thread '/([\w+.]+)/(un)?sticky/(\d+)' => 'secure sticky', // sticky thread
'/(\w+)/bump(un)?lock/(\d+)' => 'secure bumplock', // "bumplock" thread '/([\w+.]+)/bump(un)?lock/(\d+)' => 'secure bumplock', // "bumplock" thread
'/themes' => 'themes_list', // manage themes '/themes' => 'themes_list', // manage themes
'/themes/(\w+)' => 'theme_configure', // configure/reconfigure theme '/themes/(\w+)' => 'theme_configure', // configure/reconfigure theme
@ -79,10 +79,10 @@ $pages = array(
'/debug/antispam' => 'debug_antispam', '/debug/antispam' => 'debug_antispam',
// This should always be at the end: // This should always be at the end:
'/(\w+)/' => 'view_board', '/([\w+.]+)/' => 'view_board',
'/(\w+)/' . preg_quote($config['file_index'], '!') => 'view_board', '/([\w+.]+)/' . preg_quote($config['file_index'], '!') => 'view_board',
'/(\w+)/' . str_replace('%d', '(\d+)', preg_quote($config['file_page'], '!')) => 'view_board', '/([\w+.]+)/' . str_replace('%d', '(\d+)', preg_quote($config['file_page'], '!')) => 'view_board',
'/(\w+)/' . preg_quote($config['dir']['res'], '!') . '/([\w+.]+)/' . preg_quote($config['dir']['res'], '!') .
str_replace('%d', '(\d+)', preg_quote($config['file_page'], '!')) => 'view_thread', str_replace('%d', '(\d+)', preg_quote($config['file_page'], '!')) => 'view_thread',
); );

Loading…
Cancel
Save