diff options
Diffstat (limited to 'includes/submission.inc')
-rw-r--r-- | includes/submission.inc | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/includes/submission.inc b/includes/submission.inc new file mode 100644 index 000000000..376c84059 --- /dev/null +++ b/includes/submission.inc @@ -0,0 +1,35 @@ +<? + +function submission_count() { + $result = db_query("SELECT COUNT(id) FROM stories WHERE status = 1"); + return ($result) ? mysql_result($result, 0) : 0; +} + +function submission_score($id) { + $result = db_query("SELECT score FROM stories WHERE id = $id"); + return ($result) ? mysql_result($result, 0) : 0; +} + +function submission_vote($id, $vote, $comment) { + global $user, $submission_post_threshold, $submission_dump_threshold; + + if (!user_getHistory($user->history, "s$id")) { + ### Update submission's score- and votes-field: + db_query("UPDATE stories SET score = score $vote, votes = votes + 1 WHERE id = $id"); + + ### Update the comments (if required): + if ($comment) db_query("INSERT INTO comments (sid, author, subject, comment, hostname, timestamp) VALUES($id, $user->id, '". addslashes(substr($comment, 0, 29)) ." ...', '". addslashes($comment) ."', '". getenv("REMOTE_ADDR") ."', '". time() ."')"); + + ### Update user's history record: + user_setHistory($user, "s$id", $vote); // s = submission + + ### Update story table (if required): + $result = db_query("SELECT * FROM stories WHERE id = $id"); + if ($submission = db_fetch_object($result)) { + if ($submission->score >= $submission_post_threshold) db_query("UPDATE stories SET status = 2, timestamp = '". time() ."' WHERE id = $id"); + if ($submission->score <= $submission_dump_threshold) db_query("UPDATE stories SET status = 0, timestamp = '". time() ."' WHERE id = $id"); + } + } +} + +?>
\ No newline at end of file |