postInfo($PostID); $forum->setForum($ForumID); // Make sure they aren't trying to edit posts they shouldn't // We use die() here instead of error() because whatever we spit out is displayed to the user in the box where his forum post is if (!Forums::check_forumperm($ForumID, 'Write') || ($IsLocked && !check_perms('site_moderate_forums'))) { error('Either the thread is locked, or you lack the permission to edit this post.', true); } if ($UserID != $AuthorID && !check_perms('site_moderate_forums')) { error(403,true); } // Send a PM to the user to notify them of the edit if ($UserID != $AuthorID && $DoPM) { $PMSubject = "Your post #$PostID has been edited"; $PMurl = site_url()."forums.php?action=viewthread&postid=$PostID#post$PostID"; $ProfLink = '[url='.site_url()."user.php?id=$UserID]".$LoggedUser['Username'].'[/url]'; $PMBody = "One of your posts has been edited by $ProfLink: [url]{$PMurl}[/url]"; Misc::send_pm($AuthorID, 0, $PMSubject, $PMBody); } // Perform the update $forum->editPost($UserID, $PostID, $Body); $forum->saveEdit($UserID, $PostID, $OldBody); $CatalogueID = floor((POSTS_PER_PAGE * $Page - POSTS_PER_PAGE) / THREAD_CATALOGUE); $Cache->begin_transaction("thread_$TopicID"."_catalogue_$CatalogueID"); if ($Cache->MemcacheDBArray[$Key]['ID'] != $PostID) { $Cache->cancel_transaction(); $Cache->delete_value("thread_$TopicID"."_catalogue_$CatalogueID"); //just clear the cache for would be cache-screwer-uppers } else { $Cache->update_row($Key, [ 'ID' => $Cache->MemcacheDBArray[$Key]['ID'], 'AuthorID' => $Cache->MemcacheDBArray[$Key]['AuthorID'], 'AddedTime' => $Cache->MemcacheDBArray[$Key]['AddedTime'], 'Body' => $Body, //Don't url decode. 'EditedUserID' => $LoggedUser['ID'], 'EditedTime' => $SQLTime, 'Username' => $LoggedUser['Username'] ]); $Cache->commit_transaction(3600 * 24 * 5); } $ThreadInfo = Forums::get_thread_info($TopicID); if ($ThreadInfo === null) { error(404); } if ($ThreadInfo['StickyPostID'] == $PostID) { $ThreadInfo['StickyPost']['Body'] = $Body; $ThreadInfo['StickyPost']['EditedUserID'] = $LoggedUser['ID']; $ThreadInfo['StickyPost']['EditedTime'] = $SQLTime; $Cache->cache_value("thread_$TopicID".'_info', $ThreadInfo, 0); } // This gets sent to the browser, which echoes it in place of the old body echo Text::full_format($Body); ?>

Last edited by Just now