goIfInvalid($Conf->paperSite); $Me -> goIfNotPC($Conf->paperSite); $Conf -> connect(); ?> header("Check reviews of your assigned reviewers and send reminders") ?> shortName"; } if (!IsSet($emailBody)) { $emailBody = "Greetings %FIRST% %LAST%,\n\n"; $emailBody .= "$Me->firstName $Me->lastName ($Me->email) "; $emailBody .= "is reminding you to finish your review for\n"; $emailBody .= "paper #%NUMBER%, %TITLE%\n"; $emailBody .= "for the $Conf->longName ($Conf->shortName) conference.\n"; $emailBody .= "\n"; $emailBody .= "You can continue to modify your review(s)\n"; $emailBody .= $Conf->printTimeRange('reviewerSubmitReview'); $emailBody .= "or until you finalize them.\n"; $emailBody .= "\n"; $emailBody .= "If you are unable to complete the review by the deadline,\n"; $emailBody .= "please contact $Me->firstName $Me->lastName ($Me->email)\n"; $emailBody .= "\n"; $emailBody .= "You can access the reviewing website at this URL\n"; $emailBody .= "$Conf->paperSite\n"; $emailBody .= "or use the link at the bottom of this email to automatically log in.\n\n"; $emailBody .= "Contact $Conf->contactName ($Conf->contactEmail) about problems with the website.\n\n"; $emailBody .= "Thank you for helping $Conf->shortName - I understand that reviewing is hard work.\n"; } // // Need to simply finding naglist // if (IsSet($nagList)) { for ($i = 0; $i < sizeof($nagList); $i++) { $nagMe[$nagList[$i]] = 1; } } ?> Nag-o-Matic Status "; } else { print "

Nag-o-Matic Preview

"; } $emailFrom="From: $Conf->emailFrom"; for ($i = 0; $i < sizeof($nagList); $i++) { // // We send out nag notices one at a time // $them=$nagList[$i]; $query="SELECT Paper.paperId, Paper.Title, " . " ContactInfo.firstName, ContactInfo.lastName, ContactInfo.email, " . " ContactInfo.password, " . " Paper.title, Paper.paperId " . "FROM Paper,ContactInfo,ReviewRequest " . "WHERE ReviewRequest.reviewRequestId=$them " . "AND Paper.paperId=ReviewRequest.paperId " . "AND ContactInfo.contactId=ReviewRequest.asked"; $result=$Conf->qe($query); if ( $result ) { $row = $result->fetchRow(DB_FETCHMODE_ASSOC); $msg = $emailBody; $msg=str_replace("%TITLE%", $row['title'], $msg); $msg=str_replace("%NUMBER%", $row['paperId'], $msg); $msg=str_replace("%FIRST%", $row['firstName'], $msg); $msg=str_replace("%LAST%", $row['lastName'], $msg); $msg=str_replace("%EMAIL%", $row['email'], $msg); $cleanPasswd=htmlspecialchars($row['password']); $cleanEmail=htmlspecialchars($row['email']); $extraMsg = "\n"; $extraMsg .= "Depending on your email client, you may be able to click on this link "; $extraMsg .= "to login:\n"; $extraMsg .= "$Conf->paperSite/Reviewer/RequestedReviews.php?loginEmail=$cleanEmail&password=$cleanPasswd\n"; $Conf->log("Nag $cleanEmail about reviews for paper #" . $row['paperId'], $Me); if (IsSet($SendReviews)) { mail($cleanEmail, $emailSubject, $msg . "\n" . $extraMsg, $emailFrom); $Conf->confirmMsg("Sent email to $cleanEmail"); } else if (IsSet($SampleEmails)) { if (($i % 2) == 0 ) { $header=$Conf->contrastColorOne; $body=$Conf->contrastColorTwo; } else { $header=$Conf->contrastColorTwo; $body=$Conf->contrastColorOne; } print ""; print ""; print ""; print ""; print ""; print "
$emailFrom
To: $cleanEmail
Subject: $emailSubject
"; print nl2br(htmlspecialchars($msg)); # For debug # print nl2br(htmlspecialchars($extraMsg)); print "
"; print "

"; } } else { $Conf->errorMsg("hmm - can't nag on review #$them" . $result->getMessage()); } } } else { print "

Nag-O-Matic (tm)

"; $Conf->infoMsg( "If you want to \"nag\" reviews about specific reviews," . "select the checklist by appropriate reviewer / paper. When you've " . "selected all reviewers, modify the template letter as you wish " . "and simply push \"Send a Review Reminder\" " . "at the bottom of the page. They will be sent email " . "reminding them of the review deadline and the important of finishing " . "the reviews. " . "Although you can preview the reviews, " . "there is no confirmation step for sending the email, " . "and there is no protection against sending " . "a nag to someone who already submitted a review, so pay attention to your choices." ); ?>

Here are the reviews you have assigned:

There are three degrees of review status:
  1. Not started - The reviewer has not started the review.
  2. Not finalized - The reviewer has started the review, but changes can be made.
  3. Done - The reviewer has finalized their review and no more changes can be made.

qe("SELECT Paper.paperId, Paper.Title, ContactInfo.email, " . " ContactInfo.contactId, ReviewRequest.reviewRequestId " . "FROM Paper, ContactInfo, ReviewRequest " . "WHERE (ReviewRequest.paperId=Paper.paperId " . " AND ReviewRequest.asked=ContactInfo.contactId " . " AND ReviewRequest.requestedBy=$Me->contactId) " . " ORDER BY Paper.paperId " ); if (DB::isError($result)) { $Conf->errorMsg("Error in retrieving list of reviews: " . $result->getMessage()); } else { ?> fetchRow()) { $paperId = $row[0]; $title = $row[1]; $contactEmail = $row[2]; $contactId = $row[3]; $requestId = $row[4]; $query = "SELECT reviewer, finalized" . " FROM PaperReview " . " WHERE PaperReview.paperId='$paperId' " . " AND PaperReview.reviewer='$contactId' " ; $review_result = $Conf->qe($query); if ( DB::isError($review_result) ) { $Conf->errorMsg("That's odd - no information on reivew. " . $review_result->getMessage()); } else { $review_row = $review_result->fetchRow(); $num = $review_result->numRows(); if ($num == 0) { $finalized = -1; $reviewer = ""; } else if ($num == 1) { $finalized = $review_row[1]; $reviewer = $review_row[0]; } print ""; print ""; print ""; if ($finalized ==1) { $status = " Done "; print ""; print ""; print "\n"; } else if ($finalized ==0) { $status = "Not finalized"; print " \n"; print ""; print ""; } else { $status = "Not started"; print ""; } print "\n"; } } ?>
Nag? Paper # Asked Status Review Title
"; if ( $finalized != 1 ) { print ""; } else { print " "; } print " $paperId $contactEmail $status See review "; print " $title
$status See partial review "; print " $title Not started no review available $title



infoMsg( "Now, type the email you want to send. You can use %TITLE% " . " to refer to the paper title, %NUMBER% to refer to the paper number. " . " The authors name is %FIRST%, %LAST% and %EMAIL%." . " When you press the Preview button, you'll see the email to be generated " . " and shown in another page. You won't see the passwords and automatic " . " link mentioned in the default template (this is always automatically appended). " ); ?>
Subject:
footer() ?>