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