forked from science-ation/science-ation
256 lines
7.6 KiB
PHP
256 lines
7.6 KiB
PHP
<?
|
|
|
|
/*
|
|
* This file is part of the Science-ation project
|
|
* Science-ation Website: https://science-ation.ca
|
|
*
|
|
* This file was part of the 'Science Fair In A Box' project
|
|
*
|
|
*
|
|
* Copyright (C) 2005 Sci-Tech Ontario Inc <info@scitechontario.org>
|
|
* Copyright (C) 2005 James Grant <james@lightbox.org>
|
|
* Copyright (C) 2024 AlgoLibre Inc. <science-ation@algolibre.io>
|
|
* Copyright (C) 2024 AlgoLibre Inc. <science-ation@algolibre.io>
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public
|
|
* License as published by the Free Software Foundation, version 2.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; see the file COPYING. If not, write to
|
|
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
* Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
// This file was modified March of 2015 by Sebastian Ruan
|
|
// Judges now have a private information field which only committee members can see and edit.
|
|
// If information is entered into this field the judge will be flagged in ./admin/user_list.php table.
|
|
|
|
?>
|
|
<?
|
|
require_once('common.inc.php');
|
|
require_once('user.inc.php');
|
|
require_once('judge.inc.php');
|
|
require_once('questions.inc.php');
|
|
|
|
/* Sort out who we're editting */
|
|
if (get_value_from_array($_POST, 'users_id'))
|
|
$eid = intval($_POST['users_id']); /* From a save form */
|
|
else if (array_key_exists('embed_edit_id', $_SESSION))
|
|
$eid = $_SESSION['embed_edit_id']; /* From the embedded editor */
|
|
else
|
|
$eid = $_SESSION['users_id']; /* Regular entry */
|
|
|
|
if ($eid != $_SESSION['users_id']) {
|
|
/*
|
|
* Not editing ourself, we had better be
|
|
* a committee member
|
|
*/
|
|
user_auth_required('committee', 'admin');
|
|
}
|
|
|
|
$u = user_load($eid);
|
|
|
|
switch (get_value_from_array($_GET, 'action')) {
|
|
case 'save':
|
|
if (!is_array($_POST['languages']))
|
|
$_POST['languages'] = array();
|
|
|
|
$u['languages'] = array();
|
|
foreach ($_POST['languages'] as $val)
|
|
$u['languages'][] = $val;
|
|
|
|
$u['special_award_only'] = ($_POST['special_award_only'] == 'yes') ? 'yes' : 'no';
|
|
$u['willing_chair'] = ($_POST['willing_chair'] == 'yes') ? 'yes' : 'no';
|
|
$u['years_school'] = intval($_POST['years_school']);
|
|
$u['years_regional'] = intval($_POST['years_regional']);
|
|
$u['years_national'] = intval($_POST['years_national']);
|
|
$u['highest_psd'] = stripslashes($_POST['highest_psd']);
|
|
$u['private_info'] = iconv('UTF-8', 'ISO-8859-1//TRANSLIT', stripslashes($_POST['private_info']));
|
|
|
|
// check if judge has been flagged then update them
|
|
|
|
if (empty($_POST['private_info'])) {
|
|
$u['flagged_judge'] = '0';
|
|
} else {
|
|
$u['flagged_judge'] = '1';
|
|
}
|
|
|
|
user_save($u);
|
|
|
|
if ($POST['questions'])
|
|
questions_save_answers('judgereg', $u['id'], $_POST['questions']);
|
|
|
|
happy_('Preferences successfully saved');
|
|
|
|
$u = user_load($eid);
|
|
$newstatus = judge_status_other($u);
|
|
echo '<script type="text/javascript">';
|
|
echo "other_update_status('$newstatus');\n";
|
|
echo "</script>\n";
|
|
exit;
|
|
}
|
|
|
|
if ($_SESSION['embed'] == true) {
|
|
echo '<br />';
|
|
display_messages();
|
|
echo '<h3>' . i18n('Other Information') . '</h3>';
|
|
echo '<br />';
|
|
} else {
|
|
// send the header
|
|
send_header(
|
|
'Other Information',
|
|
array('Judge Registration' => 'judge_main.php')
|
|
);
|
|
}
|
|
|
|
$newstatus = judge_status_other($u);
|
|
?>
|
|
<script type="text/javascript">
|
|
function judgeother_save() {
|
|
$("#debug").load("<?= $config['SFIABDIRECTORY'] ?>/judge_other.php?action=save", $("#judgeother_form").serializeArray());
|
|
return false;
|
|
}
|
|
|
|
function other_update_status(s) {
|
|
if (s != 'complete') {
|
|
$("#other_info_status").html('<?= error(i18n('Other Information Incomplete')) ?>');
|
|
} else
|
|
$("#other_info_status").html('<?= happy(i18n('Other Information Complete')) ?>');
|
|
}
|
|
|
|
//when we're ready, output the status
|
|
$(document).ready(function() {
|
|
other_update_status('<?= $newstatus ?>');
|
|
});
|
|
</script>
|
|
<?
|
|
judge_status_update($u);
|
|
echo "<div id=\"other_info_status\"></div>\n";
|
|
?>
|
|
<form name="otherform" id="judgeother_form">
|
|
<input type="hidden" name="users_id" value="<?= $u['id'] ?>">
|
|
<table class="editor">
|
|
<tr>
|
|
<td style="width:35%"><?= i18n('I can judge in the following languages') . ' ' . REQUIREDFIELD ?>: </td>
|
|
<td>
|
|
<?
|
|
$q = $pdo->prepare("SELECT * FROM languages WHERE active='Y' ORDER BY langname");
|
|
$q->execute();
|
|
show_pdo_errors_if_any($pdo);
|
|
while ($r = $q->fetch(PDO::FETCH_OBJ)) {
|
|
$ch = (in_array($r->lang, $u['languages'])) ? 'checked="checked"' : '';
|
|
echo "<input onclick=\"fieldChanged()\" $ch type=\"checkbox\" name=\"languages[]\" value=\"$r->lang\" /> $r->langname <br />";
|
|
}
|
|
?>
|
|
|
|
</td>
|
|
</tr>
|
|
|
|
<?
|
|
if ($config['judges_specialaward_only_enable'] == 'yes') {
|
|
?>
|
|
<tr>
|
|
<td colspan="2">
|
|
<hr />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><?= i18n('I am a judge for a specific special award') ?>:</td>
|
|
<td>
|
|
<table>
|
|
<tr>
|
|
<td>
|
|
<?
|
|
$ch = ($u['special_award_only'] == 'yes') ? 'checked="checked"' : '';
|
|
echo "<input $ch type=\"checkbox\" name=\"special_award_only\" value=\"yes\" />";
|
|
echo '</td><td>';
|
|
echo i18n('Check this box if you are supposed to judge a specific special award, and please select that award on the Special Award Preferences page.');
|
|
?>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<?
|
|
}
|
|
?>
|
|
|
|
<tr>
|
|
<td colspan="2">
|
|
<hr />
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td><?= i18n('Years of judging experience at a School level:') ?></td>
|
|
<td><input onchange="fieldChanged()" type="text" name="years_school" size="5" value="<?= $u['years_school'] ?>" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td><?= i18n('Years of judging experience at a Regional level:') ?></td>
|
|
<td><input onchange="fieldChanged()" type="text" name="years_regional" size="5" value="<?= $u['years_regional'] ?>" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td><?= i18n('Years of judging experience at a National level:') ?></td>
|
|
<td><input onchange="fieldChanged()" type="text" name="years_national" size="5" value="<?= $u['years_national'] ?>" /></td>
|
|
</tr>
|
|
<tr>
|
|
<td><?= i18n('I am willing to be the lead for my judging team') ?></td>
|
|
<td>
|
|
<? $ch = ($u['willing_chair'] == 'yes') ? 'checked="checked"' : ''; ?>
|
|
<input <?= $ch ?> type="checkbox" name="willing_chair" value="yes" />
|
|
</tr>
|
|
<tr>
|
|
|
|
<td><?= i18n('Highest post-secondary degree') ?></td>
|
|
<td><input onchange="fieldChanged()" type="text" name="highest_psd" size="35" value="<?= $u['highest_psd'] ?>" /></td>
|
|
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<hr />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<table class="editor">
|
|
<td style="width:35%" colspan="2"></td>
|
|
<td colspan="2"></td>
|
|
<?
|
|
questions_print_answer_editor('judgereg', $u, 'questions');
|
|
?>
|
|
</table>
|
|
|
|
<?
|
|
if ($_SESSION['users_type'] == 'committee' && committee_auth_has_access('admin') == true) {
|
|
?>
|
|
<table class="editor">
|
|
<tr>
|
|
<td colspan="4">
|
|
<hr />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<?
|
|
// <td><?=i18n("Private Information")? > </td><td>
|
|
// <input onchange="fieldChanged()" type="textarea" name="private_info" size="35" value="<?=$u['private_info']? >"></td></tr>
|
|
echo '<tr><td>' . i18n('Private Information') . ': </td><td><textarea cols="110" rows="8" id="private_info" name="private_info">' . htmlspecialchars(get_value_from_array($u, 'private_info', '')) . '</textarea><br />';
|
|
?>
|
|
</table>
|
|
<?
|
|
}
|
|
?>
|
|
|
|
<br /><br />
|
|
|
|
<input type="submit" onclick="judgeother_save(); return false;" value="<?= i18n('Save Information') ?>" />
|
|
</form>
|
|
|
|
<?
|
|
if ($_SESSION['embed'] != true)
|
|
send_footer();
|
|
?>
|