function generateAlgoreaCodes($db, $contestID) { // retrieving awarded contestants through "award1" model $modelName = 'award1'; $model = getViewModel($modelName); $request = array("modelName" => $modelName, "model" => $model, "filters" => array()); foreach ($model["fields"] as $fieldName => $field) { $request["fields"][] = $fieldName; } $request["filters"] = array('awarded' => true, 'contestID' => $contestID); if (!$_SESSION["isAdmin"]) { $request["filters"]["userID"] = $_SESSION["userID"]; } $result = selectRows($db, $request); $awarded = $result['items']; if (!count($awarded)) { return; } // we hope that there will be no collision in a serie of generated codes $query = "INSERT ignore INTO `contestant` (`ID`, `algoreaCode`) values "; $first = true; foreach ($awarded as $contestant) { if (!$first) { $query = $query . ', '; } $first = false; $query = $query . '(' . $contestant->ID . ', \'' . genAccessCode($db) . '\')'; } $query = $query . ' on duplicate key update `algoreaCode` = values(`algoreaCode`)'; $db->exec($query); }
<?php require_once "../shared/common.php"; require_once "commonAdmin.php"; if (!isset($_SESSION['userID'])) { echo "Votre session a expiré, veuillez vous reconnecter."; exit; } $model = getViewModel('award1'); $request = array("modelName" => 'award1', "model" => $model, "filters" => array()); foreach ($model["fields"] as $fieldName => $field) { $request["fields"][] = $fieldName; } $request["filters"] = array('awarded' => true); if (!$_SESSION["isAdmin"]) { $request["filters"]["userID"] = $_SESSION["userID"]; } $request['orders'] = $model['orders']; $result = selectRows($db, $request); $awarded = $result['items']; if (!count($awarded)) { echo 'Rien à imprimer !'; exit; } $levelStr = array(1 => "6ème-5ème", 2 => "4ème-3ème", 3 => "Seconde", 4 => "Première-Terminale", 5 => "Seconde professionnelle", 6 => "Première-Terminale professionnelle"); ?> <!doctype html> <html lang="fr"> <head> <style type="text/css"> body, td {
function selectRecordsForJQGrid($db, $modelName, $params, $roles) { $format = "xml"; if (isset($params["format"])) { $format = $params["format"]; } if ($modelName == 'contestant' && $format == 'csv') { $modelName = 'contestantCSV'; } $model = getViewModel($modelName); $request = array("modelName" => $modelName, "model" => $model, "filters" => array()); foreach ($model["fields"] as $fieldName => $field) { $request["fields"][] = $fieldName; } if (!$_SESSION["isAdmin"]) { if ($modelName == "school") { $params["accessUserID"] = $_SESSION["userID"]; } else { if ($modelName === "group") { $params["checkAccessUserID"] = $_SESSION["userID"]; $params["checkSchoolUserID"] = $_SESSION["userID"]; } else { $params["userID"] = $_SESSION["userID"]; } } } $filters = array(); foreach ($params as $name => $value) { if ((isset($model["filters"][$name]) || isset($model["fields"][$name])) && $value !== "_NOF_") { if (isset($model["fields"][$name])) { if (getFieldType($model, $name) == "string") { $value = "%" . $value . "%"; } } $filters[$name] = $value; } } $request["filters"] = $filters; if ($modelName == 'award1' || $modelName == 'award2') { $request['filters']['awarded'] = true; $request['orders'] = $model['orders']; } if (isset($params["sidx"]) && $params["sidx"] != "") { $order = array("field" => $params["sidx"], "dir" => $params["sord"]); $request["orders"] = array($order); } $request["page"] = $params["page"]; $request["rowsPerPage"] = $params["rows"]; if ($format == 'csv' && $modelName !== 'contestantCSV') { explicitCSVRequest($request); } $result = selectRows($db, $request); $limits = $result["limits"]; if ($format === "xml") { displayRowsAsXml($result["items"], $model, $limits["page"], $limits["nbPages"], $result["nbTotalItems"]); } else { displayRowsAsCsv($modelName, $result["items"], $request['model']); } }