drupal/submission.php

81 lines
4.4 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
<?
include "functions.inc";
include "theme.inc";
include "submission.inc";
function submission_displayMain() {
global $PHP_SELF, $theme, $user;
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
include "config.inc";
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
### Perform query:
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 s.*, u.userid FROM stories s LEFT JOIN users u ON s.author = u.id WHERE s.status = 1 ORDER BY s.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
Here we go again with a rather large commit: fixed a lot of annoying bugs and boxed whatever there was left to be boxed. * user.class.php: renamed $user->update() to $user->rehash(). * user.class.php: fixed a typical quote-bug in $user->rehash(). * functions.inc: fixed bug in displayOldHeadlines(). * functions.inc: improved several functions. * account.php: fixed major bug in showUser(). * account.php: added some extra words to the human-readable password-generator(tm). * account.php: boxed ALL functions! Fieuw! * submit.php: add some general information and guidlines on how to post submissions. * config.inc: re-thought the categories to be more generic. * submission.php: minor changes * search.pph: fixed minor bug with the author's names. Woops. I have an exam within 4 hours: back to my books. ;-) -------------------------------------------------------------------- * Anyone could check sumbit.php, sumbission.php and faq.php for typoes? * Anyone could adjust calendar.class.php to fit IE? *huh*huh* * Don't be scared to hack along (see below)! I'll be working on the submissions and comments. -------------------------------------------------------------------- Status of drop v0.10: (make the system erational' and release it.) - submissions: submission queue (75% complete) submission moderation (75% complete) - comments: comment moderation ( 0% complete) comment administration ( 0% complete) fixup timestamp mess ( 0% complete) - user system: mail password ( 0% complete) user administation (50% complete) patch admin.php ( 0% complete) account confirmation ( 0% complete) e-mail confimation upon modification of e-mail address ( 0% complete) - proper handling of forms: text2html, html2text html2txt, txt2html (10% complete) bad-word filter (80% complete) automatic link detection ( 0% complete) allowed HTML-tag checker ( 0% complete) - FAQ: cleanup, disclaimer (50% complete) - theme: box everything (100% complete)
2000-06-20 07:33:17 +00:00
$content .= "<P>Anyone who happens by, and has some news or some thoughts they'd like to share, can <A HREF=\"submit.php\">submit</A> new content for consideration. After someone has submitted something, their story is added to a queue. All registered users can access this list of pending stories, that is, stories that have been submitted, but do not yet appear on the public front page. Those registered users can vote whether they think the story should be posted or not. When enough people vote to post a story, the story is pushed over the threshold and up it goes on the public page. On the other hand, when too many people voted to drop a story, the story will get trashed.</P><P>Basically, this means that you, the community, are truly the editors of this site as you have the final decision on the content of this site. It's you judging the overall quality of a story. But remember, vote on whether the story is interesting, not on whether you agree with it or not. If the story goes up, you can disagree all you want, but don't vote `no' because you think the ideas expressed are wrong. Instead, vote `no' when you think the story is plain boring.</P>";
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
$content .= "<TABLE BORDER=\"0\" CELLSPACING=\"4\" CELLPADDING=\"4\">\n";
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
$content .= " <TR BGCOLOR=\"$bgcolor1\"><TH>Subject</TH><TH>Category</TH><TH>Date</TH><TH>Author</TH><TH>Score</TH></TR>\n";
while ($submission = db_fetch_object($result)) {
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
$submission->userid = ($submission->userid) ? $submission->userid : $anonymous;
if (getHistory($user->history, "s$submission->id")) $content .= " <TR><TD WIDTH=\"100%\"><A HREF=\"$PHP_SELF?op=view&id=$submission->id\">$submission->subject</A></TD><TD>$submission->category</TD><TD ALIGN=\"center\">". date("Y-m-d", $submission->timestamp) ."<BR>". date("H:m:s", $submission->timestamp) ."</TD><TD ALIGN=\"center\">$submission->userid</TD><TD ALIGN=\"center\">". submission_score($submission->id) ."</TD></TR>\n";
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
else $content .= " <TR><TD WIDTH=\"100%\"><A HREF=\"$PHP_SELF?op=view&id=$submission->id\">$submission->subject</A></TD><TD>$submission->category</TD><TD ALIGN=\"center\">". date("Y-m-d", $submission->timestamp) ."<BR>". date("H:m:s", $submission->timestamp) ."</TD><TD ALIGN=\"center\">$submission->userid</TD><TD ALIGN=\"center\"><A HREF=\"$PHP_SELF?op=view&id=$submission->id\">vote</A></TD></TR>\n";
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
}
$content .= "</TABLE>\n";
$theme->header();
Here we go again with a rather large commit: fixed a lot of annoying bugs and boxed whatever there was left to be boxed. * user.class.php: renamed $user->update() to $user->rehash(). * user.class.php: fixed a typical quote-bug in $user->rehash(). * functions.inc: fixed bug in displayOldHeadlines(). * functions.inc: improved several functions. * account.php: fixed major bug in showUser(). * account.php: added some extra words to the human-readable password-generator(tm). * account.php: boxed ALL functions! Fieuw! * submit.php: add some general information and guidlines on how to post submissions. * config.inc: re-thought the categories to be more generic. * submission.php: minor changes * search.pph: fixed minor bug with the author's names. Woops. I have an exam within 4 hours: back to my books. ;-) -------------------------------------------------------------------- * Anyone could check sumbit.php, sumbission.php and faq.php for typoes? * Anyone could adjust calendar.class.php to fit IE? *huh*huh* * Don't be scared to hack along (see below)! I'll be working on the submissions and comments. -------------------------------------------------------------------- Status of drop v0.10: (make the system erational' and release it.) - submissions: submission queue (75% complete) submission moderation (75% complete) - comments: comment moderation ( 0% complete) comment administration ( 0% complete) fixup timestamp mess ( 0% complete) - user system: mail password ( 0% complete) user administation (50% complete) patch admin.php ( 0% complete) account confirmation ( 0% complete) e-mail confimation upon modification of e-mail address ( 0% complete) - proper handling of forms: text2html, html2text html2txt, txt2html (10% complete) bad-word filter (80% complete) automatic link detection ( 0% complete) allowed HTML-tag checker ( 0% complete) - FAQ: cleanup, disclaimer (50% complete) - theme: box everything (100% complete)
2000-06-20 07:33:17 +00:00
$theme->box("Submission queue - Pending stories", $content);
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
$theme->footer();
}
function submission_displayItem($id) {
global $PHP_SELF, $theme, $user;
include "config.inc";
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 s.*, u.userid FROM stories s LEFT JOIN users u ON s.author = u.id WHERE s.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
$submission = db_fetch_object($result);
$theme->header();
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
$theme->article($submission, "[ <A HREF=\"$PHP_SELF\"><FONT COLOR=\"$theme->hlcolor2\">back</FONT></A> ]");
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 ($vote = getHistory($user->history, "s$submission->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
print "<P><B>You voted `$vote' for this story!</B><BR><B>Score:</B> $submission->score<BR><B>Votes:</B> $submission->votes</P>\n";
print "<P>\n";
print "<B>Other people voted:</B><BR>\n";
$result = db_query("SELECT * FROM users WHERE history LIKE '%s$submission->id%'");
while ($account = db_fetch_object($result)) {
2000-06-22 21:45:26 +00:00
print "<A HREF=\"account.php?op=userinfo&uname=$account->userid\">$account->userid</A> voted `". getHistory($account->history, "s$submission->id") ."'.<BR>";
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
}
}
else {
print "<FORM ACTION=\"$PHP_SELF\" METHOD=\"post\">\n";
print " <SELECT NAME=\"vote\">\n";
foreach ($submission_votes as $key=>$value) {
print " <OPTION VALUE=\"$value\">". $key ."</OPTION>\n";
}
print " </SELECT>\n";
print " <INPUT TYPE=\"hidden\" NAME=\"id\" VALUE=\"$submission->id\">\n";
print " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Vote\">\n";
print "</FORM>\n";
}
$theme->footer();
}
if ($user) {
switch($op) {
case "view":
submission_displayItem($id);
break;
case "Vote";
submission_vote($id, $vote);
submission_displayItem($id);
break;
default:
submission_displayMain();
break;
}
}
?>