1<?php
2include('../Code/confHeader.inc');
3$_SESSION[Me] -> goIfInvalid("../index.php");
4$_SESSION[Me] -> goIfNotChair('../index.php');
5$Conf -> connect();
6
7function queryFromRecipients($who)
8{
9  if ( $who == "submit-not-finalize" ) {
10    $query = "SELECT Paper.paperId, Paper.title, "
11      . "ContactInfo.firstName, ContactInfo.lastName, ContactInfo.email, "
12       . " Paper.paperId, Paper.title "
13      . "FROM Paper, ContactInfo "
14      . " WHERE Paper.contactId=ContactInfo.contactID AND Paper.acknowledged=0";
15    return $query;
16  } else if ($who == "submit-and-finalize" ) {
17    $query = "SELECT Paper.paperId, Paper.title, "
18      . "ContactInfo.firstName, ContactInfo.lastName, ContactInfo.email, "
19       . " Paper.paperId, Paper.title "
20      . "FROM Paper, ContactInfo "
21      . " WHERE Paper.contactId=ContactInfo.contactID AND Paper.acknowledged=1";
22    return $query;
23  } else if ($who == "asked-to-review") {
24    $query = "
25		SELECT
26		ContactInfo.firstName, ContactInfo.lastName, ContactInfo.email,
27		Paper.paperId, Paper.title
28		from ContactInfo, ReviewRequest, Paper LEFT JOIN
29		PaperReview ON (ContactInfo.contactID=PaperReview.reviewer)
30		WHERE
31		      ( ReviewRequest.asked=ContactInfo.contactID
32		        AND
33		          (PaperReview.finalized = 0 OR PaperReview.finalized IS NULL )
34		          )
35		AND
36		        Paper.paperId=ReviewRequest.paperId
37      	GROUP BY ContactInfo.email
38      	ORDER BY ContactInfo.email
39	";
40    return $query;
41  } else if ($who == "review-not-finalize") {
42    $query = "SELECT ContactInfo.firstName, ContactInfo.lastName, ContactInfo.email, "
43       . " Paper.paperId, Paper.title "
44      . " FROM ContactInfo, PaperReview, Paper "
45      . " WHERE PaperReview.reviewer=ContactInfo.contactID AND PaperReview.finalized=0 "
46      . " AND PaperReview.paperId=Paper.paperId "
47      . " GROUP BY ContactInfo.email "
48      . " ORDER BY ContactInfo.email "
49      ;
50    return $query;
51  } else if ($who == "review-finalized") {
52    $query = "SELECT ContactInfo.firstName, ContactInfo.lastName, ContactInfo.email, "
53       . " Paper.paperId, Paper.title "
54      . " FROM ContactInfo, Paper, PaperReview "
55      . " WHERE PaperReview.reviewer=ContactInfo.contactID AND PaperReview.finalized=1 "
56      . " AND PaperReview.paperId=Paper.paperId "
57      . " GROUP BY ContactInfo.email "
58      . " ORDER BY ContactInfo.email "
59      ;
60    return $query;
61  } else if ($who == "author-accepted") {
62    //
63    // Not grouped since an author may have submitted more than one paper
64    //
65     $query = "SELECT ContactInfo.firstName, ContactInfo.lastName, ContactInfo.email, "
66       . " Paper.paperId, Paper.title "
67       . " FROM ContactInfo, Paper "
68       . " WHERE Paper.contactId=ContactInfo.contactID "
69       . " AND ( Paper.outcome='accepted' OR Paper.outcome='acceptedShort' )"
70       . " ORDER BY ContactInfo.email "
71       ;
72    return $query;
73  } else if ($who == "author-rejected") {
74    //
75    // Not grouped since an author may have submitted more than one paper
76    //
77     $query = "SELECT ContactInfo.firstName, ContactInfo.lastName, ContactInfo.email, "
78       . " Paper.paperId, Paper.title "
79       . " FROM ContactInfo, Paper "
80       . " WHERE Paper.contactId=ContactInfo.contactID "
81       . " AND Paper.outcome='rejected' "
82       . " ORDER BY ContactInfo.email "
83       ;
84    return $query;
85  } else if ($who == "author-late-review") {
86      $query = "SELECT DISTINCT firstName, lastName, email, Paper.paperId, title "
87             . "FROM ContactInfo, Paper, PaperReview, ImportantDates "
88	     . "WHERE Paper.acknowledged "
89	     . "AND PaperReview.paperId = Paper.paperId "
90	     . "AND Paper.contactId = ContactInfo.contactId "
91	     . "AND PaperReview.finalized "
92	     . "AND PaperReview.lastModified > ImportantDates.start "
93	     . "AND ImportantDates.name = 'authorRespondToReviews' "
94	     . "ORDER BY email, Paper.paperId ";
95    return $query;
96  } else {
97    return null;
98  }
99}
100
101$query = queryFromRecipients($_REQUEST[recipients]);
102
103?>
104
105<html>
106
107<?php  $Conf->header("Confirm Sending Mail To Authors") ?>
108
109<body>
110
111<p> recipients is <?php echo $_REQUEST[recipients]?>, query is <?php echo $query?> </p>
112
113<?php  if (!IsSet($_REQUEST[sendTheMail])) { ?>
114 <FORM METHOD="POST" ACTION="<?php echo $_SERVER[PHP_SELF]?>">
115   <p> <input type="submit" value="Yes, Send this mail" name="sendTheMail"> </p>
116   <input type=hidden name=recipients value="<?php echo $_REQUEST[recipients]?>">
117   <input type=hidden name=emailBody
118    value="<?php echo base64_encode($_REQUEST[emailBody])?>">
119   </FORM>
120<?php
121   }
122
123if (IsSet($_REQUEST[sendTheMail])) {
124  //
125  // Turn from mime back to something else..
126  //
127  $_REQUEST[emailBody]=base64_decode($_REQUEST[emailBody]);
128}
129
130$result = $Conf->qe($query);
131if (!DB::isError($result)) {
132  while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
133    $msg = $_REQUEST[emailBody];
134
135    $msg=str_replace("%TITLE%", $row['title'], $msg);
136    $msg=str_replace("%NUMBER%", $row['paperId'], $msg);
137    $msg=str_replace("%FIRST%", $row['firstName'], $msg);
138    $msg=str_replace("%LAST%", $row['lastName'], $msg);
139    $msg=str_replace("%EMAIL%", $row['email'], $msg);
140
141    print "<table border=1 width=75%> <tr> <td> To: ";
142    print nl2br(htmlspecialchars($row['email']));
143    print  "</td> </tr>\n ";
144    print "<tr> <td>";
145    print nl2br(htmlspecialchars($msg));
146    print "</td> </tr> </table> <br> ";
147
148    if ( IsSet($_REQUEST[sendTheMail]) ) {
149      mail($row['email'],
150	   "Mail concerning $Conf->shortName",
151	   $msg,
152	   "From: $Conf->emailFrom");
153      mail($Conf->contactEmail,
154	   "Mail to " . $row['email'] .
155	   "  concerning $Conf->shortName",
156	   $msg,
157	   "From: $Conf->emailFrom");
158	print"<p> <b> Sent to " . $row['email'] . "</b> </p>\n";
159    }
160  }
161}
162
163if (!IsSet($_REQUEST[sendTheMail])) {
164?>
165 <FORM METHOD="POST" ACTION="<?php echo $_SERVER[PHP_SELF]?>">
166   <p> <input type="submit" value="Yes, Send this mail" name="sendTheMail"> </p>
167   <input type=hidden name=recipients value="<?php echo $_REQUEST[recipients]?>">
168   <input type=hidden name=emailBody
169    value="<?php echo base64_encode($_REQUEST[emailBody])?>">
170   </FORM>
171<?php
172}
173
174
175?>
176
177</body>
178<?php  $Conf->footer() ?>
179</html>
180
181
182