submit.php 6.96 KB
Newer Older
Dries's avatar
Dries committed
1 2
<?PHP

Dries's avatar
 
Dries committed
3
function submit_enter() {
Dries's avatar
Dries committed
4 5
  include "functions.inc";
  include "theme.inc";
Dries's avatar
 
Dries committed
6
  
7
  global $user;
Dries's avatar
Dries committed
8

Dries's avatar
 
Dries committed
9 10 11 12 13 14
  ### Guidlines:
  $output .= "<P>Got some news or some thoughts you would like to share?  Fill out this form and they will automatically get whisked away to our submission queue where our moderators will frown at it, poke at it and hopefully post it.  Every registered user is automatically a moderator and can vote whether or not your sumbission should be carried to the front page for discussion.</P>\n";
  $output .= "<P>Note that we do not revamp or extend your submission so it is totally up to you to make sure it is well-written: if you don't care enough to be clear and complete, your submission is likely to be moderated down by our army of moderators.  Try to be complete, aim for clarity, organize and structure your text, and try to carry out your statements with examples.  It is also encouraged to extend your submission with arguments that flow from your unique intellectual capability and experience: offer some insight or explanation as to why you think your submission is interesting.  Make sure your submission has some meat on it!</P>\n";
  $output .= "<P>However, if you have bugs to report, complaints, personal questions or anything besides a public submission, we would prefer you to mail us instead, or your message is likely to get lost.</P><BR>\n";

  ### Submission form:
Dries's avatar
 
Dries committed
15
  $output .= "<FORM ACTION=\"submit.php\" METHOD=\"post\">\n";
Dries's avatar
Dries committed
16

Dries's avatar
 
Dries committed
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
  $output .= "<P>\n <B>Your name:</B><BR>\n";
  if ($user) $output .= " <A HREF=\"account.php\">$user->userid</A> &nbsp; &nbsp; <SMALL>[ <A HREF=\"account.php?op=logout\">logout</A> ]</SMALL>\n";
  else $output .= " $anonymous &nbsp; &nbsp; <SMALL>[ <A HREF=\"account.php\">login</A> | <A HREF=\"account.php\">create an account</A> ]</SMALL>\n"; 
  $output .= "</P>\n";
 
  $output .= "<P>\n";
  $output .= " <B>Subject:</B><BR>\n";
  $output .= " <INPUT TYPE=\"text\" NAME=\"subject\" SIZE=\"50\"><BR>\n";
  $output .= " <SMALL><I>Bad subjects are 'Check this out!' or 'An article'.  Be descriptive, clear and simple!</I></SMALL>\n";
  $output .= "</P>\n";

  $output .= "<P><B>Category:</B><BR>\n";
  $output .= " <SELECT NAME=\"category\">\n";
    
  for ($i = 0; $i < sizeof($categories); $i++) {
    $output .= "  <OPTION VALUE=\"$categories[$i]\">$categories[$i]</OPTION>\n";
  }
  
  $output .= " </SELECT>\n";
  $output .= "</P>\n";

  $output .= "<P>\n"; 
  $output .= " <B>Abstract:</B><BR>\n";
  $output .= " <TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"10\" NAME=\"abstract\"></TEXTAREA><BR>\n";
  $output .= " <SMALL><I>HTML is nice and dandy, but double check those URLs and HTML tags!</I></SMALL>\n";
  $output .= "</P>\n";

  $output .= "<P>\n"; 
  $output .= " <B>Extended story:</B><BR>\n";
  $output .= " <TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"15\" NAME=\"story\"></TEXTAREA><BR>\n";
  $output .= " <SMALL><I>HTML is nice and dandy, but double check those URLs and HTML tags!</I></SMALL>\n";
  $output .= "</P>\n";
Dries's avatar
Dries committed
49
 
Dries's avatar
 
Dries committed
50 51 52
  $output .= "<P>\n";
  $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Preview submission\"> (You must preview at least once before you can submit.)\n";
  $output .= "</P>\n";
Dries's avatar
Dries committed
53
 
Dries's avatar
 
Dries committed
54 55 56 57 58
  $output .= "</FORM>\n";
  
  $theme->header();
  $theme->box("Submit a story", $output);
  $theme->footer();
Dries's avatar
Dries committed
59 60
}

Dries's avatar
 
Dries committed
61
function submit_preview($name, $address, $subject, $abstract, $story, $category) {
62
  global $user;
Dries's avatar
 
Dries committed
63

Dries's avatar
Dries committed
64 65
  include "functions.inc";
  include "theme.inc";
Dries's avatar
 
Dries committed
66

Dries's avatar
 
Dries committed
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
  $output .= "<FORM ACTION=\"submit.php\" METHOD=\"post\">\n";

  $output .= "<P>\n";
  $output .= " <B>Your name:</B><BR>\n";
  if ($user) $output .= " <A HREF=\"account.php\">$user->userid</A> &nbsp; &nbsp; <SMALL> [ <A HREF=\"account.php?op=logout\">logout</A> ]</SMALL>\n";
  else $output .= " $anonymous &nbsp; &nbsp; <SMALL>[ <A HREF=\"$account.php\">login</A> | <A HREF=\"account.php\">create an account</A> ]</SMALL>\n";
  $output .= "</P>\n";

  $output .= "<P>\n";
  $output .= " <B>Subject:</B><BR>\n";
  $output .= " <INPUT TYPE=\"text\" NAME=\"subject\" SIZE=\"50\" VALUE=\"". stripslashes($subject) ."\"><BR>\n";
  $output .= " <SMALL><I>Bad subjects are 'Check this out!' or 'An article'.  Be descriptive, clear and simple!</I></SMALL>\n";
  $output .= "</P>\n";

  $output .= "<P><B>Category:</B><BR>\n";
  $output .= " <SELECT NAME=\"category\">\n";
  for ($i = 0; $i < sizeof($categories); $i++) {
    $output .= "  <OPTION VALUE=\"$categories[$i]\" ";
    if ($category == $categories[$i]) $output .= "SELECTED";
    $output .= ">$categories[$i]</OPTION>\n";
  }
  $output .= "</SELECT>\n";
  $output .= "</P>\n";

  $output .= "<P>\n";
  $output .= "<B>Abstract:</B><BR>\n";
  $output .= " <TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"10\" NAME=\"abstract\">". stripslashes($abstract) ."</TEXTAREA><BR>\n";
  $output .= " <SMALL><I>HTML is nice and dandy, but double check those URLs and HTML tags!</I></SMALL>\n";
  $output .= "</P>\n";

  $output .= "<P>\n";
  $output .= " <B>Extended story:</B><BR>\n";
  $output .= " <TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"15\" NAME=\"story\">". stripslashes($story) ."</TEXTAREA><BR>\n";
  $output .= " <SMALL><I>HTML is nice and dandy, but double check those URLs and HTML tags!</I></SMALL>\n";
  $output .= "</P>\n";
Dries's avatar
Dries committed
102
 
Dries's avatar
 
Dries committed
103 104 105
  $output .= "<P>\n";
  $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Preview submission\"> <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Submit submission\">\n";
  $output .= "</P>\n";
Dries's avatar
Dries committed
106

Dries's avatar
 
Dries committed
107 108 109 110 111 112
  $output .= "</FORM>\n";
  
  $theme->header();
  $theme->preview("", $user->userid, date("l, F d, Y - H:i A", time()), stripslashes($subject), "we-hate-typoes", stripslashes($abstract), "", stripslashes($story));
  $theme->box("Submit a story", $output);
  $theme->footer();
Dries's avatar
Dries committed
113 114
}

Dries's avatar
 
Dries committed
115
function submit_submit($name, $address, $subject, $abstract, $article, $category) {
116
  global $user;
Dries's avatar
 
Dries committed
117

Dries's avatar
Dries committed
118
  include "functions.inc";
Dries's avatar
 
Dries committed
119
  include "theme.inc";
Dries's avatar
Dries committed
120 121

  ### Display confirmation message:
Dries's avatar
 
Dries committed
122

Dries's avatar
Dries committed
123
  $theme->header(); 
Dries's avatar
 
Dries committed
124
  $theme->box("Thanks for your submission.", "Thanks for your submission.  The submission moderators in our basement will frown at it, poke at it, and vote for it!");
Dries's avatar
Dries committed
125 126 127 128
  $theme->footer();

  ### Add submission to queue:
  if ($user) {
129 130
    $uid = $user->id;
    $name = $user->userid;
Dries's avatar
Dries committed
131 132 133 134 135 136
  }
  else {
    $uid = -1;
    $name = $anonymous;
  }

Dries's avatar
 
Dries committed
137
  db_query("INSERT INTO submissions (uid, uname, subject, article, timestamp, category, abstract, score, votes) VALUES ('$uid', '$name', '$subject', '$article', '". time() ."', '$category', '$abstract', '0', '0')");
Dries's avatar
Dries committed
138
  
Dries's avatar
 
Dries committed
139
  ### Send e-mail notification (if enabled):
Dries's avatar
Dries committed
140 141 142 143 144 145 146
  if ($notify) {
    $message = "New submission:\n\nsubject...: $subject\nauthor....: $name\ncategory..: $category\nabstract..:\n$abstract\n\narticle...:\n$article";
    mail($notify_email, "$notify_subject $subject", $message, "From: $notify_from\nX-Mailer: PHP/" . phpversion());
  }
}

switch($op) {
Dries's avatar
 
Dries committed
147 148
  case "Preview submission":
    submit_preview($name, $address, $subject, $abstract, $story, $category);
Dries's avatar
Dries committed
149
    break;
Dries's avatar
 
Dries committed
150 151
  case "Submit submission":
    submit_submit($name, $address, $subject, $abstract, $story, $category);
Dries's avatar
Dries committed
152 153
    break;
  default:
Dries's avatar
 
Dries committed
154
    submit_enter();
Dries's avatar
Dries committed
155 156 157 158
    break;
}

?>