Esempio n. 1
0
         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);
Esempio n. 3
0
 }
 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();
Esempio n. 4
0
 // 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:
Esempio n. 5
0
 $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'] = '';
Esempio n. 6
0
 }
 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.
Esempio n. 7
0
     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());
Esempio n. 8
0
     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'];