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

Dries's avatar
 
Dries committed
3
function submit_enter() {
Dries's avatar
 
Dries committed
4
  global $anonymous, $allowed_html, $theme, $user;
Dries's avatar
 
Dries committed
5

Dries's avatar
 
Dries committed
6
  // Guidlines:
Dries's avatar
 
Dries committed
7
  $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";
Dries's avatar
 
Dries committed
8
  $output .= "<P>Note that we do not revamp or extend your submission so it is up to you to make sure your submission 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";
Dries's avatar
 
Dries committed
9
  $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";
Dries's avatar
 
Dries committed
10

Dries's avatar
 
Dries committed
11
  // Submission form:
Dries's avatar
 
Dries committed
12
  $output .= "<FORM ACTION=\"submit.php\" METHOD=\"post\">\n";
Dries's avatar
Dries committed
13

Dries's avatar
 
Dries committed
14
  $output .= "<P>\n <B>Your name:</B><BR>\n";
Dries's avatar
 
Dries committed
15
  $output .= format_username($user->userid);
Dries's avatar
 
Dries committed
16
  $output .= "</P>\n";
Dries's avatar
 
Dries committed
17

Dries's avatar
 
Dries committed
18 19
  $output .= "<P>\n";
  $output .= " <B>Subject:</B><BR>\n";
Dries's avatar
 
Dries committed
20
  $output .= " <INPUT TYPE=\"text\" NAME=\"subject\" SIZE=\"50\" MAXLENGTH=\"60\"><BR>\n";
Dries's avatar
 
Dries committed
21 22 23
  $output .= " <SMALL><I>Bad subjects are 'Check this out!' or 'An article'.  Be descriptive, clear and simple!</I></SMALL>\n";
  $output .= "</P>\n";

Dries's avatar
 
Dries committed
24
  $output .= "<P><B>Section:</B><BR>\n";
Dries's avatar
 
Dries committed
25
  $output .= " <SELECT NAME=\"section\">\n";
Dries's avatar
 
Dries committed
26
  foreach ($sections = section_get() as $value) $output .= "  <OPTION VALUE=\"$value\">$value</OPTION>\n";
Dries's avatar
 
Dries committed
27 28 29
  $output .= " </SELECT>\n";
  $output .= "</P>\n";

Dries's avatar
 
Dries committed
30
  $output .= "<P>\n";
Dries's avatar
 
Dries committed
31
  $output .= " <B>Abstract:</B><BR>\n";
Dries's avatar
 
Dries committed
32
  $output .= " <TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"10\" NAME=\"abstract\" MAXLENGTH=\"20\"></TEXTAREA><BR>\n";
Dries's avatar
 
Dries committed
33
  $output .= " <SMALL><I>Allowed HTML tags: ". htmlspecialchars($allowed_html) .".</I></SMALL>\n";
Dries's avatar
 
Dries committed
34 35
  $output .= "</P>\n";

Dries's avatar
 
Dries committed
36
  $output .= "<P>\n";
Dries's avatar
 
Dries committed
37
  $output .= " <B>Extended story:</B><BR>\n";
Dries's avatar
 
Dries committed
38
  $output .= " <TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"15\" NAME=\"article\"></TEXTAREA><BR>\n";
Dries's avatar
 
Dries committed
39
  $output .= " <SMALL><I>Allowed HTML tags: ". htmlspecialchars($allowed_html) .".</I></SMALL>\n";
Dries's avatar
 
Dries committed
40
  $output .= "</P>\n";
Dries's avatar
 
Dries committed
41

Dries's avatar
 
Dries committed
42
  $output .= "<P>\n";
Dries's avatar
 
Dries committed
43
  $output .= " <SMALL><I>You must preview at least once before you can submit:</I></SMALL><BR>\n";
Dries's avatar
 
Dries committed
44
  $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Preview submission\">\n";
Dries's avatar
 
Dries committed
45
  $output .= "</P>\n";
Dries's avatar
 
Dries committed
46

Dries's avatar
 
Dries committed
47
  $output .= "</FORM>\n";
Dries's avatar
 
Dries committed
48

Dries's avatar
 
Dries committed
49 50 51
  $theme->header();
  $theme->box("Submit a story", $output);
  $theme->footer();
Dries's avatar
Dries committed
52 53
}

Dries's avatar
 
Dries committed
54 55
function submit_preview($subject, $abstract, $article, $section) {
  global $allowed_html, $theme, $user;
Dries's avatar
 
Dries committed
56

Dries's avatar
 
Dries committed
57 58
  include "includes/story.inc";

Dries's avatar
 
Dries committed
59 60 61 62
  $output .= "<FORM ACTION=\"submit.php\" METHOD=\"post\">\n";

  $output .= "<P>\n";
  $output .= " <B>Your name:</B><BR>\n";
Dries's avatar
 
Dries committed
63
  $output .= format_username($user->userid);
Dries's avatar
 
Dries committed
64 65 66 67
  $output .= "</P>\n";

  $output .= "<P>\n";
  $output .= " <B>Subject:</B><BR>\n";
Dries's avatar
 
Dries committed
68
  $output .= " <INPUT TYPE=\"text\" NAME=\"subject\" SIZE=\"50\" MAXLENGTH=\"60\" VALUE=\"". check_output(check_textfield($subject)) ."\"><BR>\n";
Dries's avatar
 
Dries committed
69 70 71
  $output .= " <SMALL><I>Bad subjects are 'Check this out!' or 'An article'.  Be descriptive, clear and simple!</I></SMALL>\n";
  $output .= "</P>\n";

Dries's avatar
 
Dries committed
72 73 74
  $output .= "<P><B>Section:</B><BR>\n";
  $output .= " <SELECT NAME=\"section\">\n";
  foreach ($sections = section_get() as $value) $output .= "  <OPTION VALUE=\"$value\"". ($section == $value ? " SELECTED" : "") .">$value</OPTION>\n";
Dries's avatar
 
Dries committed
75 76 77 78 79
  $output .= "</SELECT>\n";
  $output .= "</P>\n";

  $output .= "<P>\n";
  $output .= "<B>Abstract:</B><BR>\n";
Dries's avatar
 
Dries committed
80
  $output .= " <TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"10\" NAME=\"abstract\">". check_textarea($abstract) ."</TEXTAREA><BR>\n";
Dries's avatar
 
Dries committed
81
  $output .= " <SMALL><I>Allowed HTML tags: ". htmlspecialchars($allowed_html) .".</I></SMALL>\n";
Dries's avatar
 
Dries committed
82 83 84 85
  $output .= "</P>\n";

  $output .= "<P>\n";
  $output .= " <B>Extended story:</B><BR>\n";
Dries's avatar
 
Dries committed
86
  $output .= " <TEXTAREA WRAP=\"virtual\" COLS=\"50\" ROWS=\"15\" NAME=\"article\">". check_textarea($article) ."</TEXTAREA><BR>\n";
Dries's avatar
 
Dries committed
87
  $output .= " <SMALL><I>Allowed HTML tags: ". htmlspecialchars($allowed_html) .".</I></SMALL>\n";
Dries's avatar
 
Dries committed
88
  $output .= "</P>\n";
Dries's avatar
 
Dries committed
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

  if (empty($subject)) {
    $output .= "<P>\n";
    $output .= " <FONT COLOR=\"red\"><B>Warning:</B></FONT> you did not supply a <U>subject</U>.\n";
    $outout .= "</P>\n";
    $output .= "<P>\n";
    $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Preview submission\">\n";
    $output .= "</P>\n";
  }
  else if (empty($abstract)) {
    $output .= "<P>\n";
    $output .= " <FONT COLOR=\"red\"><B>Warning:</B></FONT> you did not supply an <U>abstract</U>.\n";
    $outout .= "</P>\n";
    $output .= "<P>\n";
    $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Preview submission\">\n";
    $output .= "</P>\n";
  }
Dries's avatar
 
Dries committed
106
  else {
Dries's avatar
 
Dries committed
107
    $output .= "<P>\n";
Dries's avatar
 
Dries committed
108 109
    $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Preview submission\">\n";
    $output .= " <INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"Submit submission\">\n";
Dries's avatar
 
Dries committed
110 111
    $output .= "</P>\n";
  }
Dries's avatar
 
Dries committed
112
  $output .= "</FORM>\n";
Dries's avatar
 
Dries committed
113

Dries's avatar
 
Dries committed
114
  $theme->header();
Dries's avatar
 
Dries committed
115
  $theme->article(new Story($user->userid, $subject, $abstract, $article, $section, time()));
Dries's avatar
 
Dries committed
116 117
  $theme->box("Submit a story", $output);
  $theme->footer();
Dries's avatar
Dries committed
118 119
}

Dries's avatar
 
Dries committed
120
function submit_submit($subject, $abstract, $article, $section) {
Dries's avatar
 
Dries committed
121
  global $user, $theme;
Dries's avatar
Dries committed
122

Dries's avatar
 
Dries committed
123
  // Add log entry:
Dries's avatar
 
Dries committed
124
  watchdog("story", "story: added '$subject'");
Dries's avatar
 
Dries committed
125

Dries's avatar
 
Dries committed
126
  // Add submission to SQL table:
Dries's avatar
 
Dries committed
127
  db_query("INSERT INTO stories (author, subject, abstract, article, section, timestamp) VALUES ('$user->id', '". check_input($subject) ."', '". check_input($abstract) ."', '". check_input($article) ."', '". check_input($section) ."', '". time() ."')");
Dries's avatar
 
Dries committed
128

Dries's avatar
 
Dries committed
129
  // Display confirmation message:
Dries's avatar
 
Dries committed
130
  $theme->header();
Dries's avatar
 
Dries committed
131
  $theme->box("Thank you for your submission.", "Thank you for your submission. Your submission has been whisked away to our submission queue where our registered users will frown at it, poke at it and hopefully carry it to the front page for discussion.");
Dries's avatar
Dries committed
132 133 134
  $theme->footer();
}

135
include_once "includes/common.inc";
Dries's avatar
 
Dries committed
136

Dries's avatar
Dries committed
137
switch($op) {
Dries's avatar
 
Dries committed
138
  case "Preview submission":
Dries's avatar
 
Dries committed
139
    submit_preview($subject, $abstract, $article, $section);
Dries's avatar
Dries committed
140
    break;
Dries's avatar
 
Dries committed
141
  case "Submit submission":
Dries's avatar
 
Dries committed
142
    submit_submit($subject, $abstract, $article, $section);
Dries's avatar
Dries committed
143 144
    break;
  default:
Dries's avatar
 
Dries committed
145
    submit_enter();
Dries's avatar
Dries committed
146 147 148
    break;
}

Dries's avatar
Dries committed
149
?>