display_error_page($smarty, kotoba_last_error()); exit(1); } // If word already exist change it and replacement. If not - add. $found = false; foreach ($boards as $board) { foreach ($words as $word) { if ($board['id'] == $word['board_id'] && $word['word'] == $new_word) { words_edit($word['id'], $new_word, $new_replace); $reload_words = true; break; } } } if (!$found) { words_add(boards_check_id($_POST['new_bind_board']), $new_word, $new_replace); $reload_words = true; } } // Change attributes of existed words. foreach ($words as $word) { // Word was changed. $param_name = "word_{$word['id']}"; $new_word = $word['id']; if (isset($_POST[$param_name]) && $_POST[$param_name] != $word['id']) { if ($_POST[$param_name] == '') { $new_word = null; } else { $new_word = words_check_word($_POST[$param_name]); if ($new_word === FALSE) { // Cleanup.
// Check permission and write message to log file. if (!is_admin()) { // Cleanup. DataExchange::releaseResources(); display_error_page($smarty, new NotAdminError()); exit(1); } call_user_func(Logging::$f['EDIT_BOARD_UPLOAD_TYPES_USE']); $upload_types = upload_types_get_all(); $boards = boards_get_all(); $board_upload_types = board_upload_types_get_all(); $reload_board_upload_types = false; if (isset($_POST['submited'])) { // Add new relation. if (isset($_POST['new_bind_board']) && isset($_POST['new_bind_upload_type']) && $_POST['new_bind_board'] !== '' && $_POST['new_bind_upload_type'] !== '') { board_upload_types_add(boards_check_id($_POST['new_bind_board']), upload_types_check_id($_POST['new_bind_upload_type'])); $reload_board_upload_types = true; } // Delete relations. foreach ($board_upload_types as $board_upload_type) { $_ = "delete_{$board_upload_type['board']}" . "_{$board_upload_type['upload_type']}"; if (isset($_POST[$_])) { board_upload_types_delete($board_upload_type['board'], $board_upload_type['upload_type']); $reload_board_upload_types = true; } } } $reload_board_upload_types && ($board_upload_types = board_upload_types_get_all()); // Generate html code of edit board upload types relations page and display it. $smarty->assign('show_control', is_admin() || is_mod()); $smarty->assign('boards', $boards);
} if (Config::ENABLE_SPAMFILTER) { $spam_filter = spamfilter_get_all(); foreach ($spam_filter as $record) { if (TRUE || preg_match("/{$record['pattern']}/", $text) > 0) { // Cleanup DataExchange::releaseResources(); display_error_page($smarty, new SpamError()); exit(1); } } } $text = htmlentities($text, ENT_QUOTES, Config::MB_ENCODING); //$text = transform($text); if (Config::ENABLE_WORDFILTER) { $words = words_get_all_by_board(boards_check_id($_REQUEST['board'])); foreach ($words as $_) { $text = preg_replace("#" . $_['word'] . "#iu", $_['replace'], $text); } } $text = str_replace('\\', '\\\\', $text); if (!posts_check_text($text)) { // Cleanup DataExchange::releaseResources(); display_error_page($smarty, new NonUnicodeError()); exit(1); } posts_prepare_text($text, $board); if (posts_check_text_size($text) === FALSE) { // Cleanup DataExchange::releaseResources();
// Check permission and write message to log file. if (!is_admin()) { // Cleanup. DataExchange::releaseResources(); display_error_page($smarty, new NotAdminError()); exit(1); } call_user_func(Logging::$f['MOVE_THREAD_USE']); // Get necessary data. $boards = boards_get_all(); // Move thread. if (isset($_POST['submited'])) { // Validate input data. $src_board['id'] = boards_check_id($_POST['src_board']); $thread['original_post'] = threads_check_original_post($_POST['thread']); $dst_board['id'] = boards_check_id($_POST['dst_board']); foreach ($boards as $board) { if ($board['id'] == $src_board['id']) { $src_board = $board; } if ($board['id'] == $dst_board['id']) { $dst_board = $board; } } $thread = threads_get_by_original_post($src_board['id'], $thread['original_post']); threads_move_thread($thread['id'], $dst_board['id']); // Copy files. $attachments = attachments_get_by_thread($thread['id']); foreach ($attachments as $a) { switch ($a['attachment_type']) { case Config::ATTACHMENT_TYPE_FILE:
$a = array(); // Action. $page = 1; if (isset($_REQUEST['page'])) { $page = check_page($_REQUEST['page']); } $f['board'] = ''; $f['date_time'] = ''; $f['number'] = ''; $f['ip'] = ''; if (isset($_REQUEST['filter'])) { if (isset($_REQUEST['filter']['board'])) { if ($_REQUEST['filter']['board'] == 'all') { $f['board'] = 'all'; } else { $f['board'] = boards_check_id($_REQUEST['filter']['board']); } } if (isset($_REQUEST['filter']['date_time']) && $_REQUEST['filter']['date_time'] != '') { $f['date_time'] = $_REQUEST['filter']['date_time']; $f['date_time'] = date_format(date_create($f['date_time']), 'U'); } if (isset($_REQUEST['filter']['number']) && $_REQUEST['filter']['number'] != '') { $f['number'] = posts_check_number($_REQUEST['filter']['number']); } if (isset($_REQUEST['filter']['ip']) && $_REQUEST['filter']['ip'] != '') { $f['ip'] = ip2long($_REQUEST['filter']['ip']); } } $a['ban_type'] = ''; $a['del_type'] = '';
} if (!posts_check_text($text)) { // Cleanup DataExchange::releaseResources(); display_error_page($smarty, new NonUnicodeError()); exit(1); } // Strip % and _ signs. $keyword = addcslashes($keyword, '%_'); // Choose boards for search. $search_boards = array(); if (!isset($search['boards'])) { $search_boards = $boards; } else { foreach ($search['boards'] as $id) { $id = boards_check_id($id); foreach ($boards as &$board) { if ($board['id'] == $id) { // Fake field what means what board selected to search. $board = array_merge($board, array('selected' => true)); array_push($search_boards, $board); break; } } } } // Search. $posts = posts_search_visible_by_boards($search_boards, $keyword, users_check_id($_SESSION['user'])); // Assign total founded posts count here. $smarty->assign('count', count($posts)); // Calculate page count.
DataExchange::releaseResources(); display_error_page($smarty, new NotAdminError()); exit(1); } call_user_func(Logging::$f['EDIT_ACL_USE']); $groups = groups_get_all(); $boards = boards_get_all(); if (count($acl = acl_get_all()) <= 0) { throw new AclNoRulesException(); } $reload_acl = false; if (isset($_POST['submited'])) { // Add rule. if (isset($_POST['new_group']) && isset($_POST['new_board']) && isset($_POST['new_thread']) && isset($_POST['new_post']) && ($_POST['new_group'] !== '' || $_POST['new_board'] !== '' || $_POST['new_thread'] !== '' || $_POST['new_post'] !== '')) { $new_group = $_POST['new_group'] === '' ? NULL : groups_check_id($_POST['new_group']); $new_board = $_POST['new_board'] === '' ? NULL : boards_check_id($_POST['new_board']); $new_thread = $_POST['new_thread'] === '' ? NULL : threads_check_id($_POST['new_thread']); $new_post = $_POST['new_post'] === '' ? NULL : posts_check_id($_POST['new_post']); $new_view = isset($_POST['new_view']) ? 1 : 0; $new_change = isset($_POST['new_change']) ? 1 : 0; $new_moderate = isset($_POST['new_moderate']) ? 1 : 0; /* * Board, Thread or Post id is unique. If we know one we dont need * know more. */ $_ = array($new_board, $new_thread, $new_post); if (count(array_filter($_, 'is_null')) != 2) { // Cleanup. DataExchange::releaseResources(); Logging::close_log(); display_error_page($smarty, new ACLRuleExcessError());
DataExchange::releaseResources(); display_error_page($smarty, new NotAdminError()); exit(1); } call_user_func(Logging::$f['REPORTS_USE']); $page = 1; if (isset($_GET['page'])) { $page = check_page($_GET['page']); } $page_max = 1; $prev_filter_board = ''; if (isset($_POST['prev_filter_board'])) { if ($_POST['prev_filter_board'] == 'all') { $prev_filter_board = 'all'; } else { $prev_filter_board = boards_check_id($_POST['prev_filter_board']); } } $boards = boards_get_all(); $reported_posts = array(); $smarty->assign('show_control', is_admin() || is_mod()); $smarty->assign('boards', $boards); $smarty->assign('is_admin', is_admin()); $smarty->assign('ATTACHMENT_TYPE_FILE', Config::ATTACHMENT_TYPE_FILE); $smarty->assign('ATTACHMENT_TYPE_LINK', Config::ATTACHMENT_TYPE_LINK); $smarty->assign('ATTACHMENT_TYPE_VIDEO', Config::ATTACHMENT_TYPE_VIDEO); $smarty->assign('ATTACHMENT_TYPE_IMAGE', Config::ATTACHMENT_TYPE_IMAGE); // Dirty work. if (isset($_GET['filter'])) { $_POST['filter'] = 1; $_POST['filter_board'] = $_GET['bf'];