Пример #1
0
				<p><input type="submit" name="form_sent" value="<?php 
            echo translate('save');
            ?>
" /></p>
				<?php 
            echo '</form>';
            break;
        case 'sig':
            if (!$cur_user['g_signature']) {
                httperror(404);
            }
            if (isset($_POST['form_sent'])) {
                $errors = array();
                include FORUM_ROOT . '/app_resources/includes/parser.php';
                if ($futurebb_config['enable_bbcode']) {
                    BBCodeController::error_check($_POST['signature'], $errors);
                }
                if ($futurebb_config['sig_max_length'] && strlen($_POST['signature']) > $futurebb_config['sig_max_length']) {
                    $errors[] = translate('sigtoolong', $futurebb_config['sig_max_length'], strlen($_POST['signature']));
                }
                if ($futurebb_config['sig_max_lines'] && sizeof(explode("\n", $_POST['signature'])) > $futurebb_config['sig_max_length']) {
                    $errors[] = translate('toomanysiglines', $futurebb_config['sig_max_lines'], sizeof(explode("\n", $_POST['signature'])));
                }
                if (empty($errors)) {
                    $cur_user['signature'] = $_POST['signature'];
                    $db->query('UPDATE `#^users` SET signature=\'' . $db->escape($_POST['signature']) . '\',parsed_signature=\'' . $db->escape(BBCodeController::parse_msg($_POST['signature'], $futurebb_config['enable_smilies'], false, $futurebb_config['enable_bbcode'])) . '\' WHERE id=' . $cur_user['id'], $futurebb_config['enable_bbcode']) or error('Failed to update sig', __FILE__, __LINE__, $db->error());
                    echo '</div></div>';
                    header('Refresh: 0');
                    return;
                }
            }
Пример #2
0
$cur_post = $db->fetch_assoc($result);
if (!$futurebb_user['g_admin_privs'] && !$futurebb_user['g_mod_privs'] && ($cur_post['poster'] != $futurebb_user['id'] || !$futurebb_user['g_edit_posts']) || strstr($futurebb_user['restricted_privs'], 'edit')) {
    httperror(403);
}
if (($cur_post['closed'] || $cur_post['archived']) && (!$futurebb_user['g_mod_privs'] && !$futurebb_user['g_admin_privs'])) {
    httperror(403);
}
$can_edit_subject = $cur_post['first_post_id'] == $pid;
//only allow subject editing if the first post
$breadcrumbs = array('Index' => '', $cur_post['forum_name'] => $cur_post['furl'], $cur_post['subject'] => $cur_post['furl'] . '/' . $cur_post['turl'], 'Edit post' => '!nourl!');
include_once FORUM_ROOT . '/app_resources/includes/parser.php';
include FORUM_ROOT . '/app_resources/includes/search.php';
if (isset($_POST['form_sent']) || isset($_POST['preview'])) {
    $errors = array();
    if ($futurebb_config['enable_bbcode']) {
        BBCodeController::error_check($_POST['content'], $errors);
    }
    if ($can_edit_subject && trim($_POST['subject']) == '') {
        $errors[] = translate('blanksubject');
    }
    if (trim($_POST['content']) == '') {
        $errors[] = translate('blankcontent');
    }
    if (empty($errors) && !isset($_POST['preview'])) {
        if ($can_edit_subject && isset($_POST['subject']) && $_POST['subject'] != $cur_post['subject']) {
            //change topic subject
            $name = URLEngine::make_friendly($_POST['subject']);
            $base_name = $name;
            $result = $db->query('SELECT url FROM `#^topics` WHERE url LIKE \'' . $db->escape($name) . '%\'') or error('Failed to check for similar URLs', __FILE__, __LINE__, $db->error());
            $urllist = array();
            while (list($url) = $db->fetch_row($result)) {
Пример #3
0
        if (!strstr($cur_topic['reply_groups'], '-' . $futurebb_user['group_id'] . '-') || $cur_topic['closed'] && !$futurebb_user['g_mod_privs'] || $cur_topic['forum_archived'] && !$futurebb_user['g_mod_privs']) {
            httperror(403);
        }
        $page_title = translate('postreply') . ' - ' . $cur_topic['subject'];
        $breadcrumbs = array(translate('index') => '', $cur_topic['forum_name'] => $cur_topic['forum_url'], $cur_topic['subject'] => $cur_topic['forum_url'] . '/' . $cur_topic['url'], translate('postreply') => '!nourl!');
    } else {
        httperror(404);
    }
}
if (isset($_POST['form_sent']) || isset($_POST['preview'])) {
    if (!$futurebb_config['enable_smilies']) {
        $_POST['hidesmilies'] = true;
    }
    $errors = array();
    if ($futurebb_config['enable_bbcode']) {
        BBCodeController::error_check($_POST['message'], $errors);
    }
    if (strlen($_POST['message']) > 256000) {
        $errors[] = translate('msgtoolong', 256000);
    }
    check_flood($errors);
    if ($dirs[2] == 'forum' && trim($_POST['subject']) == '') {
        $errors[] = translate('blanksubject');
    }
    if (trim($_POST['message']) == '') {
        $errors[] = translate('blankmsg');
    }
    $continue_posting = ExtensionConfig::run_hooks('check-post', array('type' => $dirs[2] == 'forum' ? 'topic' : 'reply', 'subject' => isset($_POST['subject']) ? $_POST['subject'] : '', 'message' => $_POST['message'], 'topic_id' => $dirs[3] == 'topic' ? intval($dirs[2]) : '', 'forum_id' => $dirs[3] == 'forum' ? intval($dirs[2]) : ''));
    if (!$continue_posting && empty($errors)) {
        $errors[] = translate('unknownerror');
    }