set_var("TITLE", "Error: $message"); $codif = CleanArray ($_POST); $mode = INSERTION; } else { $tpl->set_var("TITLE", "Transaction OK"); $mode = INSERTION; } // Display the form $tpl->set_var("FORM_CODIF", FormCodif ($codeName, array(), $mode, $context)); } else if (isSet($_GET['id'])) { if (!isSet ($_GET['do']) or $_GET['do']=="modify") { // Ask for code modification $tpl->set_var("TITLE", "Modify"); $codif = ChercheCodif ($codeName, $_GET['id'], $db); $tpl->set_var ("FORM_CODIF", FormCodif($codeName, $codif, MAJ, $context)); } else { // Delete the code $query = "DELETE FROM $codeName WHERE id=" . $_GET['id']; $db->execRequete ($query); $tpl->set_var ("FORM_CODIF", FormCodif($codeName, array(), INSERTION, $context)); } } else { // Insert $tpl->set_var("TITLE", "Add a code in table $codeName"); $tpl->set_var ("FORM_CODIF", FormCodif($codeName, $_POST, INSERTION, $context)); } // Always print the list of existing codes $tpl->set_block("TxtCodes", "DETAIL_CODIF", "CODIFS"); $tpl->set_var ("CODIFS", ""); $query = "SELECT * FROM $codeName"; $result = $db->execRequete ($query); while ($code = $db->objetSuivant($result)) { $modLink = Ancre ($context . "&id=$code->id&do=modify", "Modify"); $delLink = Ancre ($context . "&id=$code->id&do=delete", "Delete"); $tpl->set_var("CODIF_LABEL", $code->label); $tpl->set_var("MODIFY", $modLink); $tpl->set_var("DELETE", $delLink); $tpl->parse("CODIFS", "DETAIL_CODIF", true); } $tpl->set_var("ADD_CODE", Ancre($context, "Add a new code")); /* Instanciate CODIFS in BODY */ $tpl->parse("BODY", "TxtCodes"); } function InsertCode ($nomCodif, $codif, $mode, $db) { // Controle $message = ControleCodif ($codif); if (!empty($message)) return $message; // Insertion ou mise à jour $code = SQLCodif ($nomCodif, $codif, $mode, $db); return $code; } function FormCodif ($nomCodif, $codif, $mode, $target) { // Create the form $form = new Formulaire ("POST", $target, false); $form->champCache ("mode", $mode); if ($mode != INSERTION) { $form->champCache ("id", $codif['id']); } else $codif['label'] = ""; $form->champTexte ("Label", "label", $codif['label'], 30, 30); if ($mode == MAJ) $form->champValider ("Modify", "submit"); else $form->champValider ("Insert", "submit"); return $form->fin(false); } // Insérer une codification function SQLCodif ($nomCodif, $codif, $mode, $db) { // Get the variables (easier) $lib = $codif['label']; if ($mode == INSERTION) { // Insert $query = "INSERT INTO $nomCodif (label) " . "VALUES ('$lib') "; $db->execRequete ($query); $code = $db->idDerniereLigne(); } else { // Update $code = $codif['id']; $query = "UPDATE $nomCodif SET label='$lib' " . " WHERE id='$code'"; $db->execRequete ($query); } return $code; } function ControleCodif($codif) { $message = ""; // Quelques tests... if (empty ($codif['label'])) $message = "Please provide a label
"; return $message; } // Recherche d'une codif function ChercheCodif ($nomCodif, $code, $db) { $query = "SELECT * FROM $nomCodif WHERE id = '$code'" ; $result = $db->execRequete ($query); return $db->ligneSuivante ($result); } // Recherche de l'intitulé d'une codif function LibelleCodif ($nomCodif, $code, $db) { $query = "SELECT * FROM $nomCodif WHERE id = '$code'" ; $result = $db->execRequete ($query); $codif = $db->ligneSuivante ($result); return $codif['label']; } ?> The MyReview Conference Management System
Welcome to ACM-GIS 2003 in New Orleans, Louisiana

Paper submission system

Welcome to the MyReview web-based conference management system! This is a demo version that will help you to evaluate (and, hopefully, appreciate) the features of MyReview.

Customization

MyReview is a paper review system written with PHP and MySQL. It proposes the traditional functionalities of such systems (see the main site for a comparison), namely paper submission, reviewer assignment, discussion on conflicting reviews, selection of papers, mails sent to all actors, etc. One of its most salient features, though, is the ability to change the look-and-feel of the HTML pages, as well as all the static, textual information, independently from the PHP code. To do so, it relies on the templates mechanism of PHP which separates (almost) completely the PHP code from the HTML/images/JavaScript/Flash presentation.

Just try it: choose a presentation, which will be then applied to ALL the pages of the site. Select a template with the form below, GO!, and see the result.

Simple template: Complex template:
Convinced? Using this feature allows you to integrate smoothly the functionalities of MyReview in your own site: give your own template, and that's all. You can take a look at the simple template if you wish. Note the TITLE and BODY special elements. MyReview replaces these elements with dynamic content at run-time, depending on the context, content o the DB, user actions, etc. Templates quite be arbitrarily complex, as long as they contain the two elements at the appropriate location (look at the complex template, and search for TITLE and BODY!).

Try it!

You can play with all the functionalities, taking alternatively the role of the three main types of actors
  1. Authors As an author, you can submit an abstract for a paper that you intend to submit, unsing the abstract submission interface. . The system will provide you with an id and a password. You can then access the paper submission interface to upload the PDF file of your complete paper.
  2. Reviewers As a reviewer, you can access the reviewing interface, download your papers, submit and update your reviews. You need a login and a password: use myreview@lri.fr and the password 08b271 for this demo.
  3. Administrator This is the most important role. Using the administrator interface You can configure the system, create new reviewers, enter research topics for your conference, ask reviewers to select their preferred topics, assign manually or automatically papers to reviewers, consult the marks of papers, send mails to everybody, etc. The user myreview@lri.fr (with password 08b271) is an administrator for this demo site.
You can enter an abstract, then a paper, then, in the administrator's interface, create one or several reviewers, assign the papers, enter reviews, look at the status of papers, etc. Please remember that ALL the text can be changed without having to look at a single line of PHP code.

Get and install

Installing MyReview (on a system equipped with PHP and MySQL) is fairly simple. You can read the README file. Here is the archive with everything you need:
myreview.tar.gz
And here is the documentation (still in progress, sorry).
myreview.pdf
The system is tested under Linux and should work as well under Windows. All the tools (including MyReview) are open source. Please tell me if you use the system.

Welcome to ACM-GIS 2003 in New Orleans, Louisiana
 
home
review
admin
main site