diff options
Diffstat (limited to 'forum/utils/edit.php')
-rw-r--r-- | forum/utils/edit.php | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/forum/utils/edit.php b/forum/utils/edit.php new file mode 100644 index 0000000..0af361c --- /dev/null +++ b/forum/utils/edit.php @@ -0,0 +1,89 @@ +<?php +include_once($UTIL_DIR . "/error.php"); +include_once($UTIL_DIR . "/convert.php"); +include_once($UTIL_DIR . "/notify.php"); + +$message = stripslashes($message); +$title = stripslashes($title); + +switch($task) { + case "new": + if($fid) { + include_once("posts.php"); + $tid = time(); + $pid = time(); + $posts = new Posts($FORUMS_DIR . "/" . $fid . "/" . $tid . ".xml"); + $post = new Post($pid, $title, $current_user->uid, time(), $message); + $posts->add($post); + $posts->thread->name = $title; + $posts->thread->tid = $tid; + $posts->thread->lastpost = time(); + $posts->write(); + notify("forum", "New thread: http://www.executionroom.com/forum/?fid=". $fid . "&tid=" . $tid); + } else { + error("No forum id supplied!"); + } + break; + +case "reply": + if($fid && $tid && $pid) { + include_once("posts.php"); + $posts = new Posts($FORUMS_DIR . "/" . $fid . "/" . $tid . ".xml"); + $reply = $posts->getPost($pid); + if($reply) { + $post = new Post($posts->nextkey(), $title, $current_uid, time(), $message); + $reply->add($post); + $posts->thread->lastpost = time(); + $posts->write(); + notify("forum", "New reply: http://www.executionroom.com/forum/?fid=". $fid . "&tid=" . $tid); + } else { + error("Message " . $pid . " not found!"); + } + } else { + error("No message supplied!"); + } + break; + + case "edit": + if($fid && $tid && $pid) { + include_once("posts.php"); + $posts = new Posts($FORUMS_DIR . "/" . $fid . "/" . $tid . ".xml"); + $edit = $posts->getPost($pid); + if($edit) { + if($posts->thread->tid == $edit->pid) $posts->thread->name = $title; + $edit->title = $title; + $edit->message = $message . "\nEdited at: " . date("r", time()); + $posts->thread->lastpost = time(); + $posts->write(); + notify("forum", "Message has been edited: http://www.executionroom.com/forum/?fid=". $fid . "&tid=" . $tid); + } else { + error("Message " . $pid . " not found!"); + } + } else { + error("No message supplied!"); + } + break; + + case "quote": + if($fid && $tid && $pid) { + include_once("posts.php"); + $posts = new Posts($FORUMS_DIR . "/" . $fid . "/" . $tid . ".xml"); + $quote = $posts->getPost($pid); + if($quote) { + $post = new Post($posts->nextkey(), $title, $current_uid, time(), $message); + $quote->add($post); + $posts->thread->lastpost = time(); + $posts->write(); + notify("forum", "New reply (quote): http://www.executionroom.com/forum/?fid=". $fid . "&tid=" . $tid); + } else { + error("Message " . $pid . " not found!"); + } + } else { + error("No message supplied!"); + } + break; + +} +echo "<p><a href=\"?fid=" . $fid . "&tid=" . $tid . "\">Return to thread.</a></p>\n"; + +?>
\ No newline at end of file |