Zeile 6 | Zeile 6 |
---|
* Website: http://mybb.com * License: http://mybb.com/about/license *
|
* Website: http://mybb.com * License: http://mybb.com/about/license *
|
* $Id: newreply.php 5407 2011-03-20 01:41:12Z jammerx2 $
| * $Id$
|
*/
define("IN_MYBB", 1); define('THIS_SCRIPT', 'newreply.php');
|
*/
define("IN_MYBB", 1); define('THIS_SCRIPT', 'newreply.php');
|
$templatelist = "newreply,previewpost,error_invalidforum,error_invalidthread,redirect_threadposted,loginbox,changeuserbox,posticons,newreply_threadreview,forumrules,attachments,newreply_threadreview_post";
| $templatelist = "newreply,previewpost,error_invalidforum,error_invalidthread,redirect_threadposted,loginbox,changeuserbox,posticons,newreply_threadreview,forumrules,attachments,newreply_threadreview_post,forumdisplay_rules,forumdisplay_rules_link";
|
$templatelist .= ",smilieinsert,smilieinsert_getmore,codebuttons,post_attachments_new,post_attachments,post_savedraftbutton,newreply_modoptions,newreply_threadreview_more,newreply_disablesmilies,postbit_online,postbit_find,postbit_pm,postbit_www,postbit_email,postbit_reputation,postbit_warninglevel,postbit_author_user,postbit_edit,postbit_quickdelete,postbit_inlinecheck,postbit_posturl,postbit_quote,postbit_multiquote,postbit_report,postbit_ignored,postbit,post_subscription_method";
require_once "./global.php";
| $templatelist .= ",smilieinsert,smilieinsert_getmore,codebuttons,post_attachments_new,post_attachments,post_savedraftbutton,newreply_modoptions,newreply_threadreview_more,newreply_disablesmilies,postbit_online,postbit_find,postbit_pm,postbit_www,postbit_email,postbit_reputation,postbit_warninglevel,postbit_author_user,postbit_edit,postbit_quickdelete,postbit_inlinecheck,postbit_posturl,postbit_quote,postbit_multiquote,postbit_report,postbit_ignored,postbit,post_subscription_method";
require_once "./global.php";
|
Zeile 285 | Zeile 285 |
---|
// Check if username exists. if(username_exists($mybb->input['username'])) {
|
// Check if username exists. if(username_exists($mybb->input['username'])) {
|
// If it does and no password is given throw back "username is taken" if(!$mybb->input['password']) { error($lang->error_usernametaken); } // Checks to make sure the user can login; they haven't had too many tries at logging in. // Is a fatal call if user has had too many tries $logins = login_attempt_check();
// If the user specified a password but it is wrong, throw back invalid password. $mybb->user = validate_password_from_username($mybb->input['username'], $mybb->input['password']); if(!$mybb->user['uid']) { my_setcookie('loginattempts', $logins + 1); $db->update_query("users", array('loginattempts' => 'loginattempts+1'), "LOWER(username) = '".$db->escape_string(my_strtolower($mybb->input['username']))."'", 1, true); if($mybb->settings['failedlogintext'] == 1) { $login_text = $lang->sprintf($lang->failed_login_again, $mybb->settings['failedlogincount'] - $logins); } error($lang->error_invalidpassword.$login_text); } // Otherwise they've logged in successfully.
$mybb->input['username'] = $username = $mybb->user['username']; my_setcookie("mybbuser", $mybb->user['uid']."_".$mybb->user['loginkey'], null, true); my_setcookie('loginattempts', 1); // Update the session to contain their user ID $updated_session = array( "uid" => $mybb->user['uid'], ); $db->update_query("sessions", $updated_session, "sid='{$session->sid}'");
$db->update_query("users", array("loginattempts" => 1), "uid='{$mybb->user['uid']}'");
// Set uid and username $uid = $mybb->user['uid']; $username = $mybb->user['username']; // Check if this user is allowed to post here $mybb->usergroup = &$groupscache[$mybb->user['usergroup']]; $forumpermissions = forum_permissions($fid); if($forumpermissions['canview'] == 0 || $forumpermissions['canpostreplys'] == 0 || $mybb->user['suspendposting'] == 1) { error_no_permission(); }
| // If it does throw back "username is taken" error($lang->error_usernametaken);
|
} // This username does not exist. else
| } // This username does not exist. else
|
Zeile 435 | Zeile 390 |
---|
mark_thread_read($tid, $fid);
// Check captcha image
|
mark_thread_read($tid, $fid);
// Check captcha image
|
if($mybb->settings['captchaimage'] == 1 && function_exists("imagepng") && !$mybb->user['uid'])
| if($mybb->settings['captchaimage'] && !$mybb->user['uid'])
|
{
|
{
|
$imagehash = $db->escape_string($mybb->input['imagehash']); $imagestring = $db->escape_string($mybb->input['imagestring']); $query = $db->simple_select("captcha", "*", "imagehash='$imagehash'"); $imgcheck = $db->fetch_array($query); if(my_strtolower($imgcheck['imagestring']) != my_strtolower($imagestring) || !$imgcheck['imagehash']) { $post_errors[] = $lang->invalid_captcha; }
| require_once MYBB_ROOT.'inc/class_captcha.php'; $post_captcha = new captcha(false, "post_captcha");
if($post_captcha->validate_captcha() == false) { // CAPTCHA validation failed foreach($post_captcha->get_errors() as $error) { $post_errors[] = $error; } }
|
else
|
else
|
{ $db->delete_query("captcha", "imagehash='$imagehash'");
| {
|
$hide_captcha = true; }
|
$hide_captcha = true; }
|
// if we're using AJAX, and we have a captcha, regenerate a new one
|
|
if($mybb->input['ajax']) {
|
if($mybb->input['ajax']) {
|
$randomstr = random_str(5); $imagehash = md5(random_str(12)); $imagearray = array( "imagehash" => $imagehash, "imagestring" => $randomstr, "dateline" => TIME_NOW ); $db->insert_query("captcha", $imagearray); header("Content-type: text/html; charset={$lang->settings['charset']}"); echo "<captcha>$imagehash"; if($hide_captcha)
| if($post_captcha->type == 1) { $randomstr = random_str(5); $imagehash = md5(random_str(12));
$imagearray = array( "imagehash" => $imagehash, "imagestring" => $randomstr, "dateline" => TIME_NOW );
$db->insert_query("captcha", $imagearray);
header("Content-type: text/html; charset={$lang->settings['charset']}"); echo "<captcha>$imagehash";
if($hide_captcha) { echo "|$randomstr"; }
echo "</captcha>"; } else if($post_captcha->type == 2)
|
{
|
{
|
echo "|$randomstr";
| header("Content-type: text/html; charset={$lang->settings['charset']}"); echo "<captcha>reload</captcha>";
|
}
|
}
|
echo "</captcha>";
| |
} }
| } }
|
Zeile 646 | Zeile 615 |
---|
} else {
|
} else {
|
$lang->redirect_newreply .= $lang->sprintf($lang->redirect_return_forum, get_forum_link($fid));
| $lang->redirect_newreply .= $lang->sprintf($lang->redirect_return_thread, get_forum_link($fid));
|
redirect($url, $lang->redirect_newreply); exit; }
| redirect($url, $lang->redirect_newreply); exit; }
|
Zeile 766 | Zeile 735 |
---|
if(!$message) { $message = $mybb->input['message'];
|
if(!$message) { $message = $mybb->input['message'];
|
}
| }
|
$message = htmlspecialchars_uni($message);
// Set up the post options. if($mybb->input['previewpost'] || $maximageserror || $reply_errors != '')
|
$message = htmlspecialchars_uni($message);
// Set up the post options. if($mybb->input['previewpost'] || $maximageserror || $reply_errors != '')
|
{
| {
|
$postoptions = $mybb->input['postoptions']; if($postoptions['signature'] == 1)
|
$postoptions = $mybb->input['postoptions']; if($postoptions['signature'] == 1)
|
{ $postoptionschecked['signature'] = " checked=\"checked\""; } if($postoptions['subscriptionmethod'] == "none") { $postoptions_subscriptionmethod_none = "checked=\"checked\""; } else if($postoptions['subscriptionmethod'] == "instant") { $postoptions_subscriptionmethod_instant = "checked=\"checked\""; } else { $postoptions_subscriptionmethod_dont = "checked=\"checked\""; } if($postoptions['disablesmilies'] == 1) { $postoptionschecked['disablesmilies'] = " checked=\"checked\"";
| { $postoptionschecked['signature'] = " checked=\"checked\""; } if($postoptions['subscriptionmethod'] == "none") { $postoptions_subscriptionmethod_none = "checked=\"checked\""; } else if($postoptions['subscriptionmethod'] == "instant") { $postoptions_subscriptionmethod_instant = "checked=\"checked\""; } else { $postoptions_subscriptionmethod_dont = "checked=\"checked\""; } if($postoptions['disablesmilies'] == 1) { $postoptionschecked['disablesmilies'] = " checked=\"checked\"";
|
} $subject = $mybb->input['subject']; }
| } $subject = $mybb->input['subject']; }
|
Zeile 806 | Zeile 775 |
---|
if($post['smilieoff'] == 1) { $postoptionschecked['disablesmilies'] = " checked=\"checked\"";
|
if($post['smilieoff'] == 1) { $postoptionschecked['disablesmilies'] = " checked=\"checked\"";
|
| } if($postoptions['subscriptionmethod'] == "none") { $postoptions_subscriptionmethod_none = "checked=\"checked\""; } else if($postoptions['subscriptionmethod'] == "instant") { $postoptions_subscriptionmethod_instant = "checked=\"checked\""; } else { $postoptions_subscriptionmethod_dont = "checked=\"checked\"";
|
} $mybb->input['icon'] = $post['icon']; }
| } $mybb->input['icon'] = $post['icon']; }
|
Zeile 890 | Zeile 871 |
---|
if(!$mybb->input['username']) { $mybb->input['username'] = $lang->guest;
|
if(!$mybb->input['username']) { $mybb->input['username'] = $lang->guest;
|
} if($mybb->input['username'] && !$mybb->user['uid']) { $mybb->user = validate_password_from_username($mybb->input['username'], $mybb->input['password']);
| |
} $mybb->input['icon'] = intval($mybb->input['icon']); $query = $db->query("
| } $mybb->input['icon'] = intval($mybb->input['icon']); $query = $db->query("
|
Zeile 927 | Zeile 904 |
---|
if($mybb->input['pid']) { $attachwhere = "pid='".intval($mybb->input['pid'])."'";
|
if($mybb->input['pid']) { $attachwhere = "pid='".intval($mybb->input['pid'])."'";
|
}
| }
|
else { $attachwhere = "posthash='".$db->escape_string($mybb->input['posthash'])."'";
| else { $attachwhere = "posthash='".$db->escape_string($mybb->input['posthash'])."'";
|
Zeile 948 | Zeile 925 |
---|
if(!$pid && !$mybb->input['previewpost']) { $subject = "RE: " . $thread['subject'];
|
if(!$pid && !$mybb->input['previewpost']) { $subject = "RE: " . $thread['subject'];
|
}
| }
|
// Setup a unique posthash for attachment management if(!$mybb->input['posthash'] && $mybb->input['action'] != "editdraft") {
| // Setup a unique posthash for attachment management if(!$mybb->input['posthash'] && $mybb->input['action'] != "editdraft") {
|
Zeile 982 | Zeile 959 |
---|
else { $attachwhere = "posthash='".$db->escape_string($posthash)."'";
|
else { $attachwhere = "posthash='".$db->escape_string($posthash)."'";
|
}
| }
|
$attachments = ''; $query = $db->simple_select("attachments", "*", $attachwhere); while($attachment = $db->fetch_array($query)) { $attachment['size'] = get_friendly_size($attachment['filesize']); $attachment['icon'] = get_attachment_icon(get_extension($attachment['filename']));
|
$attachments = ''; $query = $db->simple_select("attachments", "*", $attachwhere); while($attachment = $db->fetch_array($query)) { $attachment['size'] = get_friendly_size($attachment['filesize']); $attachment['icon'] = get_attachment_icon(get_extension($attachment['filename']));
|
| $attachment['filename'] = htmlspecialchars_uni($attachment['filename']);
|
if($mybb->settings['bbcodeinserter'] != 0 && $forum['allowmycode'] != 0 && (!$mybb->user['uid'] || $mybb->user['showcodebuttons'] != 0))
|
if($mybb->settings['bbcodeinserter'] != 0 && $forum['allowmycode'] != 0 && (!$mybb->user['uid'] || $mybb->user['showcodebuttons'] != 0))
|
{
| {
|
eval("\$postinsert = \"".$templates->get("post_attachments_attachment_postinsert")."\";"); } $attach_mod_options = '';
| eval("\$postinsert = \"".$templates->get("post_attachments_attachment_postinsert")."\";"); } $attach_mod_options = '';
|
Zeile 1024 | Zeile 1002 |
---|
if($mybb->settings['maxattachments'] == 0 || ($mybb->settings['maxattachments'] != 0 && $attachcount < $mybb->settings['maxattachments']) && !$noshowattach) { eval("\$newattach = \"".$templates->get("post_attachments_new")."\";");
|
if($mybb->settings['maxattachments'] == 0 || ($mybb->settings['maxattachments'] != 0 && $attachcount < $mybb->settings['maxattachments']) && !$noshowattach) { eval("\$newattach = \"".$templates->get("post_attachments_new")."\";");
|
}
| }
|
eval("\$attachbox = \"".$templates->get("post_attachments")."\";"); }
| eval("\$attachbox = \"".$templates->get("post_attachments")."\";"); }
|
Zeile 1035 | Zeile 1013 |
---|
}
// Show captcha image for guests if enabled
|
}
// Show captcha image for guests if enabled
|
if($mybb->settings['captchaimage'] == 1 && function_exists("imagepng") && !$mybb->user['uid'])
| if($mybb->settings['captchaimage'] && !$mybb->user['uid'])
|
{ $correct = false;
|
{ $correct = false;
|
// If previewing a post - check their current captcha input - if correct, hide the captcha input area
| require_once MYBB_ROOT.'inc/class_captcha.php';
|
if($mybb->input['previewpost'] || $hide_captcha == true)
|
if($mybb->input['previewpost'] || $hide_captcha == true)
|
{ $imagehash = $db->escape_string($mybb->input['imagehash']); $imagestring = $db->escape_string($mybb->input['imagestring']); $query = $db->simple_select("captcha", "*", "imagehash='$imagehash' AND imagestring='$imagestring'"); $imgcheck = $db->fetch_array($query); if($imgcheck['dateline'] > 0) { eval("\$captcha = \"".$templates->get("post_captcha_hidden")."\";"); $correct = true; } else { $db->delete_query("captcha", "imagehash='$imagehash'"); }
| { // If previewing a post - check their current captcha input - if correct, hide the captcha input area $post_captcha = new captcha;
if($post_captcha->validate_captcha() == true) { $correct = true;
// Generate a hidden list of items for our captcha $captcha = $post_captcha->build_hidden_captcha(); }
|
}
|
}
|
|
|
if(!$correct) {
|
if(!$correct) {
|
$randomstr = random_str(5); $imagehash = md5(random_str(12)); $imagearray = array( "imagehash" => $imagehash, "imagestring" => $randomstr, "dateline" => TIME_NOW ); $db->insert_query("captcha", $imagearray); eval("\$captcha = \"".$templates->get("post_captcha")."\";");
| $post_captcha = new captcha(true, "post_captcha");
if($post_captcha->html) { $captcha = $post_captcha->html; }
|
} }
| } }
|
Zeile 1214 | Zeile 1188 |
---|
$lang->post_reply_to = $lang->sprintf($lang->post_reply_to, $thread['subject']); $lang->reply_to = $lang->sprintf($lang->reply_to, $thread['subject']);
|
$lang->post_reply_to = $lang->sprintf($lang->post_reply_to, $thread['subject']); $lang->reply_to = $lang->sprintf($lang->reply_to, $thread['subject']);
|
| // Do we have any forum rules to show for this forum? $forumrules = ''; if($forum['rulestype'] >= 2 && $forum['rules']) { if(!$forum['rulestitle']) { $forum['rulestitle'] = $lang->sprintf($lang->forum_rules, $forum['name']); }
if(!$parser) { require_once MYBB_ROOT.'inc/class_parser.php'; $parser = new postParser; }
$rules_parser = array( "allow_html" => 1, "allow_mycode" => 1, "allow_smilies" => 1, "allow_imgcode" => 1 );
$forum['rules'] = $parser->parse_message($forum['rules'], $rules_parser); $foruminfo = $forum;
if($forum['rulestype'] == 3) { eval("\$forumrules = \"".$templates->get("forumdisplay_rules")."\";"); } else if($forum['rulestype'] == 2) { eval("\$forumrules = \"".$templates->get("forumdisplay_rules_link")."\";"); } }
|
$plugins->run_hooks("newreply_end");
| $plugins->run_hooks("newreply_end");
|