drupal/includes/submission.inc

48 lines
1.9 KiB
PHP
Raw Normal View History

Hoeray! I have a first core version of submission moderation up and running. This means people can submit stories, and moderators can moderate stories. When a submission reaches a certain positive threshold (currently set to 2) the submission becomes a story and up it goes. If a submission reaches a certain negative threshold (currently set to -2) the submission is dumped. The fact this is all done by our visitors (without our intervention) makes it truly spiffy imho. The website can live a life on it's own, fed by the visitors. Beware, a lot of work need to be done though ... it's just a first basic implementation with the core functionality. There are quite a lot of things that I'll need to change, extend and improve. But comments, suggestions and ideas are - as always - welcomed. Please read this log message carefully! It features quite a lot of important information. To test the moderation, log in, select theme 'Dries' (the other themes need a small update) and head by clicking the one and only 'submission moderation' link. Don't be afraid to submit lame/funny/useless stories for testing purpose ... as soon we go public, we'll wipe out the story database. ;-) WHAT'S NEW? ----------- * Added 2 new operations to user.class.php to set and retrieve the user's "history". Very evil but required to avoid people voting twice. * Moved dbsave() from account.php to functions.php. In addition, I added a new function to user.class.php called `save()' that ... well, saves the object back to the database. It's (IMHO) a better approach compared to dbsave(): it keeps things organized. ;-) BUGFIXES: --------- * Fixed a (heavy) memory leak in the constructor of user.class.php: mysql_fetch_array() returns an _associative_ array which made the constructor `pollute' the object with a lot of useless variables. * Fixed the slash-problem on the account pages. :-) * Fixed UnConeD's theme glitch, alas the warning. * Fixed the e-mail address not showing in the confirmation email (upon registration). * Fixed the typical quote and backslash problems in submit.php. * submit.php now uses the database abstraction layer. IMPORTANT: ---------- * You can check the new submission system at: http://beta.drop.org/submission.php or by following the `submission moderation' link from my theme. * UnConeD, Jeroen: you'll need to update your themes to take advantage of the new function: displayAccount(). This function will display the `submission moderation' link when a user is logged on. * Natrak: you might want to apply the patches in user.class.php on the other sites using the same user-system.
2000-06-13 09:42:58 +00:00
<?
function submission_count() {
IMPORANT - IMPORTANT - :) ========================= Wulp. I did a major upgrade by (a) breaking a lot of stuff and (b) by re-doing those things in a much better way. I redesigned the stories and submissions SQL tables, the way they work and the way they co- operate together. In addition, I changed the way parameters are passed to $theme->abstract() and $theme->article(). Instead of passing a sh!tload of parameters that only cluttered the code and required too much pre-processing on the engine-side, we now pass a singly object $story. $story has more variables then the paramaters we used to pass, so it allows for better theming (if you feel like it). I'm not finished yet but I decided to upload my changes so you can start patching and updating your themes: PLEASE update your themes ASAP! I don't plan making heavy changes like this again, so don't get intimiated. ;) You mainly have to update article() and abstract() as well as a minor update of footer(): article(), abstract(): ---------------------- - use the $story object - see my theme! - the morelink can now be themed. Currently you can use the function morelink_bytes() in function.inc to `render' the old morelink. The idea is to make a morelink_words() or morelink_lines() sooner or later because "188 bytes in body" is not half as clear as "52 words in body". Clearly, "52 words" is much more informative. ;-) footer(): --------- - in the article-part, you need to update the displayRelatedLinks(): instead of passing it $sid, you need to pass it $story (after you globaled $story). Everything should display correct on the following pages: - main page - article page (follow a `read more | xxx bytes in bdoy | x comments' link) - submission queue Check if they work with your theme: they should as they work fine for me (theme `Dries') ... If you got stuck, just look at my theme or ask for a hand on the list! Hopefully you can update your themes asap. Thanks in advance.
2000-06-21 15:41:20 +00:00
$result = db_query("SELECT COUNT(id) FROM stories WHERE status = 1");
return ($result) ? db_result($result, 0) : 0;
Hoeray! I have a first core version of submission moderation up and running. This means people can submit stories, and moderators can moderate stories. When a submission reaches a certain positive threshold (currently set to 2) the submission becomes a story and up it goes. If a submission reaches a certain negative threshold (currently set to -2) the submission is dumped. The fact this is all done by our visitors (without our intervention) makes it truly spiffy imho. The website can live a life on it's own, fed by the visitors. Beware, a lot of work need to be done though ... it's just a first basic implementation with the core functionality. There are quite a lot of things that I'll need to change, extend and improve. But comments, suggestions and ideas are - as always - welcomed. Please read this log message carefully! It features quite a lot of important information. To test the moderation, log in, select theme 'Dries' (the other themes need a small update) and head by clicking the one and only 'submission moderation' link. Don't be afraid to submit lame/funny/useless stories for testing purpose ... as soon we go public, we'll wipe out the story database. ;-) WHAT'S NEW? ----------- * Added 2 new operations to user.class.php to set and retrieve the user's "history". Very evil but required to avoid people voting twice. * Moved dbsave() from account.php to functions.php. In addition, I added a new function to user.class.php called `save()' that ... well, saves the object back to the database. It's (IMHO) a better approach compared to dbsave(): it keeps things organized. ;-) BUGFIXES: --------- * Fixed a (heavy) memory leak in the constructor of user.class.php: mysql_fetch_array() returns an _associative_ array which made the constructor `pollute' the object with a lot of useless variables. * Fixed the slash-problem on the account pages. :-) * Fixed UnConeD's theme glitch, alas the warning. * Fixed the e-mail address not showing in the confirmation email (upon registration). * Fixed the typical quote and backslash problems in submit.php. * submit.php now uses the database abstraction layer. IMPORTANT: ---------- * You can check the new submission system at: http://beta.drop.org/submission.php or by following the `submission moderation' link from my theme. * UnConeD, Jeroen: you'll need to update your themes to take advantage of the new function: displayAccount(). This function will display the `submission moderation' link when a user is logged on. * Natrak: you might want to apply the patches in user.class.php on the other sites using the same user-system.
2000-06-13 09:42:58 +00:00
}
function submission_score($id) {
IMPORANT - IMPORTANT - :) ========================= Wulp. I did a major upgrade by (a) breaking a lot of stuff and (b) by re-doing those things in a much better way. I redesigned the stories and submissions SQL tables, the way they work and the way they co- operate together. In addition, I changed the way parameters are passed to $theme->abstract() and $theme->article(). Instead of passing a sh!tload of parameters that only cluttered the code and required too much pre-processing on the engine-side, we now pass a singly object $story. $story has more variables then the paramaters we used to pass, so it allows for better theming (if you feel like it). I'm not finished yet but I decided to upload my changes so you can start patching and updating your themes: PLEASE update your themes ASAP! I don't plan making heavy changes like this again, so don't get intimiated. ;) You mainly have to update article() and abstract() as well as a minor update of footer(): article(), abstract(): ---------------------- - use the $story object - see my theme! - the morelink can now be themed. Currently you can use the function morelink_bytes() in function.inc to `render' the old morelink. The idea is to make a morelink_words() or morelink_lines() sooner or later because "188 bytes in body" is not half as clear as "52 words in body". Clearly, "52 words" is much more informative. ;-) footer(): --------- - in the article-part, you need to update the displayRelatedLinks(): instead of passing it $sid, you need to pass it $story (after you globaled $story). Everything should display correct on the following pages: - main page - article page (follow a `read more | xxx bytes in bdoy | x comments' link) - submission queue Check if they work with your theme: they should as they work fine for me (theme `Dries') ... If you got stuck, just look at my theme or ask for a hand on the list! Hopefully you can update your themes asap. Thanks in advance.
2000-06-21 15:41:20 +00:00
$result = db_query("SELECT score FROM stories WHERE id = $id");
return ($result) ? db_result($result, 0) : 0;
Hoeray! I have a first core version of submission moderation up and running. This means people can submit stories, and moderators can moderate stories. When a submission reaches a certain positive threshold (currently set to 2) the submission becomes a story and up it goes. If a submission reaches a certain negative threshold (currently set to -2) the submission is dumped. The fact this is all done by our visitors (without our intervention) makes it truly spiffy imho. The website can live a life on it's own, fed by the visitors. Beware, a lot of work need to be done though ... it's just a first basic implementation with the core functionality. There are quite a lot of things that I'll need to change, extend and improve. But comments, suggestions and ideas are - as always - welcomed. Please read this log message carefully! It features quite a lot of important information. To test the moderation, log in, select theme 'Dries' (the other themes need a small update) and head by clicking the one and only 'submission moderation' link. Don't be afraid to submit lame/funny/useless stories for testing purpose ... as soon we go public, we'll wipe out the story database. ;-) WHAT'S NEW? ----------- * Added 2 new operations to user.class.php to set and retrieve the user's "history". Very evil but required to avoid people voting twice. * Moved dbsave() from account.php to functions.php. In addition, I added a new function to user.class.php called `save()' that ... well, saves the object back to the database. It's (IMHO) a better approach compared to dbsave(): it keeps things organized. ;-) BUGFIXES: --------- * Fixed a (heavy) memory leak in the constructor of user.class.php: mysql_fetch_array() returns an _associative_ array which made the constructor `pollute' the object with a lot of useless variables. * Fixed the slash-problem on the account pages. :-) * Fixed UnConeD's theme glitch, alas the warning. * Fixed the e-mail address not showing in the confirmation email (upon registration). * Fixed the typical quote and backslash problems in submit.php. * submit.php now uses the database abstraction layer. IMPORTANT: ---------- * You can check the new submission system at: http://beta.drop.org/submission.php or by following the `submission moderation' link from my theme. * UnConeD, Jeroen: you'll need to update your themes to take advantage of the new function: displayAccount(). This function will display the `submission moderation' link when a user is logged on. * Natrak: you might want to apply the patches in user.class.php on the other sites using the same user-system.
2000-06-13 09:42:58 +00:00
}
function submission_vote($id, $vote, $comment) {
global $user;
2001-01-26 13:38:46 +00:00
if (!user_get_history($user->history, "s$id")) {
// Update submission's score- and votes-field:
IMPORANT - IMPORTANT - :) ========================= Wulp. I did a major upgrade by (a) breaking a lot of stuff and (b) by re-doing those things in a much better way. I redesigned the stories and submissions SQL tables, the way they work and the way they co- operate together. In addition, I changed the way parameters are passed to $theme->abstract() and $theme->article(). Instead of passing a sh!tload of parameters that only cluttered the code and required too much pre-processing on the engine-side, we now pass a singly object $story. $story has more variables then the paramaters we used to pass, so it allows for better theming (if you feel like it). I'm not finished yet but I decided to upload my changes so you can start patching and updating your themes: PLEASE update your themes ASAP! I don't plan making heavy changes like this again, so don't get intimiated. ;) You mainly have to update article() and abstract() as well as a minor update of footer(): article(), abstract(): ---------------------- - use the $story object - see my theme! - the morelink can now be themed. Currently you can use the function morelink_bytes() in function.inc to `render' the old morelink. The idea is to make a morelink_words() or morelink_lines() sooner or later because "188 bytes in body" is not half as clear as "52 words in body". Clearly, "52 words" is much more informative. ;-) footer(): --------- - in the article-part, you need to update the displayRelatedLinks(): instead of passing it $sid, you need to pass it $story (after you globaled $story). Everything should display correct on the following pages: - main page - article page (follow a `read more | xxx bytes in bdoy | x comments' link) - submission queue Check if they work with your theme: they should as they work fine for me (theme `Dries') ... If you got stuck, just look at my theme or ask for a hand on the list! Hopefully you can update your themes asap. Thanks in advance.
2000-06-21 15:41:20 +00:00
db_query("UPDATE stories SET score = score $vote, votes = votes + 1 WHERE id = $id");
Hoeray! I have a first core version of submission moderation up and running. This means people can submit stories, and moderators can moderate stories. When a submission reaches a certain positive threshold (currently set to 2) the submission becomes a story and up it goes. If a submission reaches a certain negative threshold (currently set to -2) the submission is dumped. The fact this is all done by our visitors (without our intervention) makes it truly spiffy imho. The website can live a life on it's own, fed by the visitors. Beware, a lot of work need to be done though ... it's just a first basic implementation with the core functionality. There are quite a lot of things that I'll need to change, extend and improve. But comments, suggestions and ideas are - as always - welcomed. Please read this log message carefully! It features quite a lot of important information. To test the moderation, log in, select theme 'Dries' (the other themes need a small update) and head by clicking the one and only 'submission moderation' link. Don't be afraid to submit lame/funny/useless stories for testing purpose ... as soon we go public, we'll wipe out the story database. ;-) WHAT'S NEW? ----------- * Added 2 new operations to user.class.php to set and retrieve the user's "history". Very evil but required to avoid people voting twice. * Moved dbsave() from account.php to functions.php. In addition, I added a new function to user.class.php called `save()' that ... well, saves the object back to the database. It's (IMHO) a better approach compared to dbsave(): it keeps things organized. ;-) BUGFIXES: --------- * Fixed a (heavy) memory leak in the constructor of user.class.php: mysql_fetch_array() returns an _associative_ array which made the constructor `pollute' the object with a lot of useless variables. * Fixed the slash-problem on the account pages. :-) * Fixed UnConeD's theme glitch, alas the warning. * Fixed the e-mail address not showing in the confirmation email (upon registration). * Fixed the typical quote and backslash problems in submit.php. * submit.php now uses the database abstraction layer. IMPORTANT: ---------- * You can check the new submission system at: http://beta.drop.org/submission.php or by following the `submission moderation' link from my theme. * UnConeD, Jeroen: you'll need to update your themes to take advantage of the new function: displayAccount(). This function will display the `submission moderation' link when a user is logged on. * Natrak: you might want to apply the patches in user.class.php on the other sites using the same user-system.
2000-06-13 09:42:58 +00:00
// Update the comments (if required):
2000-11-14 09:03:44 +00:00
if ($comment) {
db_query("INSERT INTO comments (lid, link, author, subject, comment, hostname, timestamp, score) VALUES($id, 'story', $user->id, '". check_input(substr($comment, 0, 29)) ." ...', '". check_input($comment) ."', '". getenv("REMOTE_ADDR") ."', '". time() ."', '1')");
watchdog("comment", "moderation: added comment with subject '$subject'");
2000-11-14 09:03:44 +00:00
}
// Update user's history record:
user_set_history("s$id", $vote);
2001-01-26 13:38:46 +00:00
// Update story table (if required):
2001-01-26 13:38:46 +00:00
$result = db_query("SELECT * FROM stories WHERE id = $id");
Hoeray! I have a first core version of submission moderation up and running. This means people can submit stories, and moderators can moderate stories. When a submission reaches a certain positive threshold (currently set to 2) the submission becomes a story and up it goes. If a submission reaches a certain negative threshold (currently set to -2) the submission is dumped. The fact this is all done by our visitors (without our intervention) makes it truly spiffy imho. The website can live a life on it's own, fed by the visitors. Beware, a lot of work need to be done though ... it's just a first basic implementation with the core functionality. There are quite a lot of things that I'll need to change, extend and improve. But comments, suggestions and ideas are - as always - welcomed. Please read this log message carefully! It features quite a lot of important information. To test the moderation, log in, select theme 'Dries' (the other themes need a small update) and head by clicking the one and only 'submission moderation' link. Don't be afraid to submit lame/funny/useless stories for testing purpose ... as soon we go public, we'll wipe out the story database. ;-) WHAT'S NEW? ----------- * Added 2 new operations to user.class.php to set and retrieve the user's "history". Very evil but required to avoid people voting twice. * Moved dbsave() from account.php to functions.php. In addition, I added a new function to user.class.php called `save()' that ... well, saves the object back to the database. It's (IMHO) a better approach compared to dbsave(): it keeps things organized. ;-) BUGFIXES: --------- * Fixed a (heavy) memory leak in the constructor of user.class.php: mysql_fetch_array() returns an _associative_ array which made the constructor `pollute' the object with a lot of useless variables. * Fixed the slash-problem on the account pages. :-) * Fixed UnConeD's theme glitch, alas the warning. * Fixed the e-mail address not showing in the confirmation email (upon registration). * Fixed the typical quote and backslash problems in submit.php. * submit.php now uses the database abstraction layer. IMPORTANT: ---------- * You can check the new submission system at: http://beta.drop.org/submission.php or by following the `submission moderation' link from my theme. * UnConeD, Jeroen: you'll need to update your themes to take advantage of the new function: displayAccount(). This function will display the `submission moderation' link when a user is logged on. * Natrak: you might want to apply the patches in user.class.php on the other sites using the same user-system.
2000-06-13 09:42:58 +00:00
if ($submission = db_fetch_object($result)) {
if (section_post_threshold($submission->section) <= $submission->score) {
db_query("UPDATE stories SET status = 2, timestamp = '". time() ."' WHERE id = $id");
watchdog("message", "posted story '$submission->subject'");
}
else if (section_dump_threshold($submission->section) >= $submission->score) {
db_query("UPDATE stories SET status = 0, timestamp = '". time() ."' WHERE id = $id");
watchdog("message", "dumped story '$submission->subject'");
}
else if (section_timout_threshold($submission->section) <= $submission->votes) {
db_query("UPDATE stories SET status = 0, timestamp = '". time() ."' WHERE id = $id");
watchdog("message", "expired story '$submission->subject'");
}
Hoeray! I have a first core version of submission moderation up and running. This means people can submit stories, and moderators can moderate stories. When a submission reaches a certain positive threshold (currently set to 2) the submission becomes a story and up it goes. If a submission reaches a certain negative threshold (currently set to -2) the submission is dumped. The fact this is all done by our visitors (without our intervention) makes it truly spiffy imho. The website can live a life on it's own, fed by the visitors. Beware, a lot of work need to be done though ... it's just a first basic implementation with the core functionality. There are quite a lot of things that I'll need to change, extend and improve. But comments, suggestions and ideas are - as always - welcomed. Please read this log message carefully! It features quite a lot of important information. To test the moderation, log in, select theme 'Dries' (the other themes need a small update) and head by clicking the one and only 'submission moderation' link. Don't be afraid to submit lame/funny/useless stories for testing purpose ... as soon we go public, we'll wipe out the story database. ;-) WHAT'S NEW? ----------- * Added 2 new operations to user.class.php to set and retrieve the user's "history". Very evil but required to avoid people voting twice. * Moved dbsave() from account.php to functions.php. In addition, I added a new function to user.class.php called `save()' that ... well, saves the object back to the database. It's (IMHO) a better approach compared to dbsave(): it keeps things organized. ;-) BUGFIXES: --------- * Fixed a (heavy) memory leak in the constructor of user.class.php: mysql_fetch_array() returns an _associative_ array which made the constructor `pollute' the object with a lot of useless variables. * Fixed the slash-problem on the account pages. :-) * Fixed UnConeD's theme glitch, alas the warning. * Fixed the e-mail address not showing in the confirmation email (upon registration). * Fixed the typical quote and backslash problems in submit.php. * submit.php now uses the database abstraction layer. IMPORTANT: ---------- * You can check the new submission system at: http://beta.drop.org/submission.php or by following the `submission moderation' link from my theme. * UnConeD, Jeroen: you'll need to update your themes to take advantage of the new function: displayAccount(). This function will display the `submission moderation' link when a user is logged on. * Natrak: you might want to apply the patches in user.class.php on the other sites using the same user-system.
2000-06-13 09:42:58 +00:00
}
}
}
?>