<?php

// +----------------------------------------------------------------------+
// | OpenConf                                                             |
// +----------------------------------------------------------------------+
// | Copyright (c) 2002-2012 Zakon Group LLC.  All Rights Reserved.       |
// +----------------------------------------------------------------------+
// | This source file is subject to the OpenConf License, available on    |
// | the OpenConf web site: www.OpenConf.com                              |
// +----------------------------------------------------------------------+

require_once "../include.php";

beginChairSession();

printHeader("Advocates", 1);

if (isset($_POST['submit']) && ($_POST{'submit'} == "Unassign Advocates (UAA)") && !empty($_POST['drop'])) {
	// Check for valid submission
	if (!validToken('chair')) {
		warn('Invalid submission');
	}

	foreach ($_POST['drop'] as $val) {
		if (preg_match("/^\d+,\d+$/",$val)) {
			list($pid,$aid) = explode(",", $val);
			issueSQL("DELETE FROM " . OCC_TABLE_PAPERADVOCATE . " WHERE paperid='".$pid."' AND advocateid='".$aid."'");
			// Also delete as reviewer?
			if (isset($_POST['droprev']) && ($_POST['droprev'] == "yes")) {
				issueSQL("DELETE FROM " . OCC_TABLE_PAPERREVIEWER . " WHERE paperid='".$pid."' AND reviewerid='".$aid."'");
				issueSQL("DELETE FROM " . OCC_TABLE_PAPERSESSION . " WHERE paperid='".$pid."' AND reviewerid='".$aid."'");
			}
		}
		else { print "Unable to process $val.<p>\n"; }
	}
	print "<p align=\"center\" class=\"note\">Advocate(s) have been unassigned.</p>\n";
	if (isset($_POST['s'])) {
		print '<p align="center"><a href="list_advocates.php">Return to Advocate Listings</a></p>';
	}
	printFooter();
	exit;
}

if (!isset($_GET['s']) || ($_GET['s'] == "pid")) {
	$sortby = "paperid";
	$pidsort="<nobr>P-ID</nobr><br />" . $OC_sortImg; 
	$psort='<a href="'.$_SERVER['PHP_SELF'].'?s=paper">Submission</a>'; 
	$nsort='<a href="'.$_SERVER['PHP_SELF'].'?s=name">Advocate</a>'; 
	$aidsort='<nobr><a href="'.$_SERVER['PHP_SELF'].'?s=aid">A-ID</a></nobr>'; 
} elseif ($_GET['s'] == "paper") {
	$sortby = "title";
	$pidsort='<nobr><a href="'.$_SERVER['PHP_SELF'].'?s=pid">P-ID</a></nobr>'; 
	$psort="Submission<br />" . $OC_sortImg; 
	$nsort='<a href="'.$_SERVER['PHP_SELF'].'?s=name">Advocate</a>'; 
	$aidsort='<nobr><a href="'.$_SERVER['PHP_SELF'].'?s=aid">A-ID</a></nobr>'; 
} elseif ($_GET['s'] == "name") { 
	$sortby = "name_last, name_first";
	$pidsort='<nobr><a href="'.$_SERVER['PHP_SELF'].'?s=pid">P-ID</a></nobr>'; 
	$psort='<a href="'.$_SERVER['PHP_SELF'].'?s=paper">Submission</a>'; 
	$nsort="Advocate<br />" . $OC_sortImg; 
	$aidsort='<nobr><a href="'.$_SERVER['PHP_SELF'].'?s=aid">A-ID</a></nobr>'; 
} elseif ($_GET['s'] == "aid") { 
	$sortby = "advocateid";
	$pidsort='<nobr><a href="'.$_SERVER['PHP_SELF'].'?s=pid">P-ID</a></nobr>'; 
	$psort='<a href="'.$_SERVER['PHP_SELF'].'?s=paper">Submission</a>'; 
	$nsort='<a href="'.$_SERVER['PHP_SELF'].'?s=name">Advocate</a>'; 
	$aidsort="<nobr>A-ID</nobr><br />" . $OC_sortImg; 
} else {
	err("Unknown sort source");
}

$q = "SELECT " . OCC_TABLE_PAPER . ".paperid, " . OCC_TABLE_PAPERADVOCATE . ".advocateid, adv_recommendation, CONCAT_WS(' '," . OCC_TABLE_REVIEWER . ".name_first," . OCC_TABLE_REVIEWER . ".name_last) AS name, title FROM " . OCC_TABLE_PAPER . " LEFT JOIN " . OCC_TABLE_PAPERADVOCATE . " ON " . OCC_TABLE_PAPER . ".paperid=" . OCC_TABLE_PAPERADVOCATE . ".paperid LEFT JOIN " . OCC_TABLE_REVIEWER . " ON " . OCC_TABLE_PAPERADVOCATE . ".advocateid=" . OCC_TABLE_REVIEWER . ".reviewerid ORDER BY ".$sortby;
$r = ocsql_query($q) or err("$q<p>Unable to get information ".mysql_errno());
if (mysql_num_rows($r) == 0) {
	print '<span class="warn">No advocate assignments have been made yet.</span><p>';
} else {
	print '
<dl>
<dt><strong>Links:</strong></dt>
<dd><em>Recom.</em> &#8211; Show recommendation</dd>
<dd><em>Submission</em> &#8211; Show Submission info</dd>
<dd><em>Advocate</em> &#8211; Show Advocate info</dd>
</dl>
<p />

<form method="post" action="list_advocates.php">
<input type="hidden" name="token" value="' . $_SESSION[OCC_SESSION_VAR_NAME]['chairtoken'] . '" />
<input type="hidden" name="s" value="' . safeHTMLstr(varValue('s', $_GET)) . '">
<table border=0 cellspacing=1 cellpadding=4>
<tr><td align="right" colspan="6"><span style="background-color: #ccf; border: 12px solid #ccf;"> &nbsp; <input type="submit" name="submit" value="Unassign Advocates (UAA)" /> &nbsp; </span><p /><input type="checkbox" name="droprev" value="yes"> Check to also unassign review</td></tr>
<tr class="rowheader"><th valign="top">Recom.</th><th valign="top">'.$pidsort.'</th><th valign="top">'.$psort.'</th><th valign="top">'.$aidsort.'</th><th valign="top">'.$nsort.'</th><th bgcolor="#ccccff" valign="top">UAA</th></tr>
	';
	$row = 1;	
	while ($l = mysql_fetch_array($r)) {
		print '<tr class="row' . $row . '">';
 		if (empty($l['adv_recommendation'])) { print "<td>&nbsp;</td>"; }
		else {
			print '<td><a href="show_adv_review.php?p=' . $l['paperid'] . '&a=' . $l['advocateid'] . '&s=' . urlencode(varValue('s', $_GET)) . '">' . $l['adv_recommendation'] . '</a></td>';
		}
		print '<td align="right">' . $l['paperid'] . '</td><td><a href="show_paper.php?pid='.$l['paperid'].'">' . safeHTMLstr($l['title']) . '</a></td>';
		if (empty($l['advocateid'])) { print "<td>&nbsp;</td><td>&nbsp;</td><td bgcolor=\"#ccccff\">&nbsp;</td>"; }
		else {
			print '<td align="right">' . $l['advocateid'] . '</td><td><a href="show_reviewer.php?rid='.$l['advocateid'].'">' . safeHTMLstr($l['name']) . '</a></td>';
			print '<td align="center" bgcolor="#ccccff"><input type="checkbox" name="drop[]" value="'.$l['paperid'].','.$l['advocateid'].'"></td>';
		}
		print "</tr>";
		if ($row==1) { $row=2; } else { $row=1; }
	}
	print '
<tr><td align="right" colspan="6"><input type="checkbox" name="droprev" value="yes"> Check to also unassign review<p /><span style="background-color: #ccf; border: 12px solid #ccf;"> &nbsp; <input type="submit" name="submit" value="Unassign Advocates (UAA)" /> &nbsp; </span></td></tr>
</table>
</form>
';
}

printFooter();

?>