<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; } }
$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)) {
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'); }