From 5d410a023b97533e59ad60ce6f1aa42cf90b153d Mon Sep 17 00:00:00 2001 From: arman Date: Sat, 8 Feb 2025 03:56:52 +0000 Subject: [PATCH] Resolve issues with awards management --- admin/award_awards.php | 35 ++++++++++++++++++++--------------- admin/awards.inc.php | 13 +++++++------ 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/admin/award_awards.php b/admin/award_awards.php index 2c38c896..a9473f25 100644 --- a/admin/award_awards.php +++ b/admin/award_awards.php @@ -32,6 +32,7 @@ $_GET['action'] = $_GET['action'] ?? ''; switch ($_GET['action']) { case 'awardinfo_load': + ; $id = intval(get_value_from_array($_GET, 'id')); $q = $pdo->prepare("SELECT * FROM award_awards WHERE id='$id'"); $q->execute(); @@ -39,7 +40,6 @@ switch ($_GET['action']) { // json_encode NEEDS UTF8 DATA, but we store it in the database as ISO :( foreach ($ret AS $k => $v) { - print ('sdfs'); $ret[$k] = iconv('ISO-8859-1', 'UTF-8', $v); } // echo iconv("ISO-8859-1","UTF-8",json_encode($ret)); @@ -86,8 +86,7 @@ switch ($_GET['action']) { $q .= "WHERE id='$id'"; $q = $pdo->prepare($q); $q->execute(); - print_r($_POST); - echo $q; + show_pdo_errors_if_any($pdo); happy_('Award information saved'); exit; @@ -104,6 +103,7 @@ switch ($_GET['action']) { } // select the current categories that this award is linked to + $q = $pdo->$prepare("SELECT * FROM award_awards_projectdivisions WHERE award_awards_id='$id'"); $q->execute(); while ($r = $q->fetch(PDO::FETCH_ASSOC)) { @@ -188,7 +188,7 @@ switch ($_GET['action']) { case 'prizeinfo_load': $id = intval($_GET['id']); if ($id == -1) { - $q = $pdo->prepare("SELECT * FROM award_prizes WHERE year='-1' AND award_awards_id='0' ORDER BY `order`"); + $q = $pdo->prepare("SELECT * FROM award_prizes WHERE year='-1' AND award_awards_id='0' ORDER BY `order`"); $q->execute(); } else { $q = $pdo->prepare("SELECT * FROM award_prizes WHERE award_awards_id='$id' ORDER BY `order`"); @@ -250,16 +250,16 @@ switch ($_GET['action']) { WHERE id = :id'); $q->bindParam(':prize', stripslashes(iconv('UTF-8', 'ISO-8859-1', $_POST['prize'])), PDO::PARAM_STR); - $q->bindParam(':cash', intval($_POST['cash']), PDO::PARAM_INT); - $q->bindParam(':scholarship', intval($_POST['scholarship']), PDO::PARAM_INT); - $q->bindParam(':value', intval($_POST['value']), PDO::PARAM_INT); - $q->bindParam(':number', intval($_POST['number']), PDO::PARAM_INT); - $q->bindParam(':excludefromac', ($_POST['excludefromac'] == 1) ? 1 : 0, PDO::PARAM_INT); - $q->bindParam(':trophystudentkeeper', ($_POST['trophystudentkeeper'] == 1) ? 1 : 0, PDO::PARAM_INT); - $q->bindParam(':trophystudentreturn', ($_POST['trophystudentreturn'] == 1) ? 1 : 0, PDO::PARAM_INT); - $q->bindParam(':trophyschoolkeeper', ($_POST['trophyschoolkeeper'] == 1) ? 1 : 0, PDO::PARAM_INT); - $q->bindParam(':trophyschoolreturn', ($_POST['trophyschoolreturn'] == 1) ? 1 : 0, PDO::PARAM_INT); - $q->bindParam(':id', $id, PDO::PARAM_INT); + $q->bindValue(':cash', intval($_POST['cash']), PDO::PARAM_INT); + $q->bindValue(':scholarship', intval($_POST['scholarship']), PDO::PARAM_INT); + $q->bindValue(':value', intval($_POST['value']), PDO::PARAM_INT); + $q->bindValue(':number', intval($_POST['number']), PDO::PARAM_INT); + $q->bindValue(':excludefromac', ($_POST['excludefromac'] == 1) ? 1 : 0, PDO::PARAM_INT); + $q->bindValue(':trophystudentkeeper', ($_POST['trophystudentkeeper'] == 1) ? 1 : 0, PDO::PARAM_INT); + $q->bindValue(':trophystudentreturn', ($_POST['trophystudentreturn'] == 1) ? 1 : 0, PDO::PARAM_INT); + $q->bindValue(':trophyschoolkeeper', ($_POST['trophyschoolkeeper'] == 1) ? 1 : 0, PDO::PARAM_INT); + $q->bindValue(':trophyschoolreturn', ($_POST['trophyschoolreturn'] == 1) ? 1 : 0, PDO::PARAM_INT); + $q->bindValue(':id', $id, PDO::PARAM_INT); $q->execute(); @@ -651,13 +651,18 @@ $(document).ready(function() { }); $("#editor_tabs").tabs({ + create: function(event, ui) { + update_awardinfo(); + update_eligibility(); + update_prizeinfo(); + update_feeder(); + }, activate: function( event, ui ) { update_awardinfo(); update_eligibility(); update_prizeinfo(); update_feeder(); }, - collapsible: true, active: -1 }); diff --git a/admin/awards.inc.php b/admin/awards.inc.php index 0dca7404..d3db41b8 100644 --- a/admin/awards.inc.php +++ b/admin/awards.inc.php @@ -24,15 +24,16 @@ prepare("SELECT id FROM award_prizes WHERE award_awards_id='$award_awards_id'"); $q->execute(); while (($p = $q->fetch(PDO::FETCH_ASSOC))) { - $q = $pdo->prepare(); - $q->execute("DELETE FROM winners WHERE award_prizes_id='{$p['id']}'"); + + $q = $pdo->prepare("DELETE FROM winners WHERE awards_prizes_id='{$p['id']}'"); + $q->execute(); } /* FIXME: maybe delte judging teams and judge @@ -54,8 +55,8 @@ function award_delete($award_awards_id) } function award_prize_delete($award_prizes_id) -{ - $q = $pdo->prepare("DELETE FROM winners WHERE award_prizes_id='$award_prizes_id'"); +{ global $pdo; + $q = $pdo->prepare("DELETE FROM winners WHERE awards_prizes_id='$award_prizes_id'"); $q->execute(); $q = $pdo->prepare("DELETE FROM award_prizes WHERE id='$award_prizes_id'");