</b>) sur ce sport a été atteint</div> <?php } } else { ?> <select name="sportif[]" data-place="<?php echo min($quota_places, $quota_inscrip); ?> "> <option value="" selected>Sportif...</option> <?php foreach ($sportifs as $sid => $sportif) { if ($equipe[0]['sexe'] != 'm' && $equipe[0]['sexe'] != $sportif['sexe'] || !empty($sportif['id_sports']) && (!in_array_multiple(explode(',', $sportif['id_sports']), explode(',', $multiples)) || in_array($eid, explode(',', $sportif['id_sports'])) || !in_array($eid, explode(',', $multiples)) || array_values(explode(',', $sportif['id_sports'])) == array_values(explode(',', $multiples))) || $equipe[0]['special'] && $eid != $sportif['id_sport_special']) { continue; } ?> <option data-sexe="<?php echo $sportif['sexe']; ?> " value="<?php echo $sid; ?> "><?php echo stripslashes(strtoupper($sportif['nom']) . ' ' . $sportif['prenom']); ?> </option>
function in_array_multiple($needles, $haystack) { if (!count($needles)) { return false; } $needle = array_pop($needles); return in_array($needle, $haystack) && (!count($needles) || in_array_multiple($needles, $haystack)); }
if (isset($_POST['add']) && !empty($_POST['sport'][0]) && !empty($_POST['capitaine'][0]) && !empty($_POST['effectif'][0]) && intval($_POST['sport'][0]) && intval($_POST['capitaine'][0]) && intval($_POST['effectif'][0]) && in_array($_POST['sport'][0], array_keys($sports)) && in_array($_POST['capitaine'][0], array_keys($sportifs)) && ($sportifs[$_POST['capitaine'][0]]['sexe'] == $sports[$_POST['sport'][0]]['sexe'] || $sports[$_POST['sport'][0]]['sexe'] == 'm') && (empty($sportifs[$_POST['capitaine'][0]]['id_sports']) || in_array_multiple(explode(',', $sportifs[$_POST['capitaine'][0]]['id_sports']), explode(',', $multiples)) && in_array($_POST['sport'][0], explode(',', $multiples))) && $_POST['effectif'][0] >= 1 && $_POST['effectif'][0] <= $sports[$_POST['sport'][0]]['quota_max'] && (empty($sports[$_POST['sport'][0]]['quota_inscription']) || $sports[$_POST['sport'][0]]['quota_inscription'] - $sports[$_POST['sport'][0]]['inscrits'] > 0)) { if ($sports[$_POST['sport'][0]]['special'] && $sportifs[$_POST['capitaine'][0]]['id_sport_special'] != $_POST['sport'][0]) { $sport_special = true; } else { $pdo->exec('INSERT INTO equipes SET ' . 'id_capitaine = ' . (int) $_POST['capitaine'][0] . ', ' . 'effectif = ' . (int) $_POST['effectif'][0] . ', ' . 'id_sport = ' . (int) $_POST['sport'][0] . ', ' . 'id_ecole = ' . $_SESSION['ecole']['user']); //On ajoute le capitaine dans l'équipe $pdo->exec('INSERT INTO sportifs SET ' . 'id_participant = ' . (int) $_POST['capitaine'][0] . ', ' . 'id_sport = ' . (int) $_POST['sport'][0] . ', ' . 'id_ecole = ' . $_SESSION['ecole']['user']); $add = true; } } //On récupère l'indice du champ concerné if ((!empty($_POST['delete']) || !empty($_POST['edit'])) && isset($_POST['sport']) && is_array($_POST['sport'])) { $i = array_search(empty($_POST['delete']) ? $_POST['edit'] : $_POST['delete'], $_POST['sport']); } //On edite une équipe if (!empty($i) && empty($_POST['delete']) && !empty($_POST['sport'][$i]) && !empty($_POST['capitaine'][$i]) && !empty($_POST['effectif'][$i]) && intval($_POST['sport'][$i]) && intval($_POST['capitaine'][$i]) && intval($_POST['effectif'][$i]) && in_array($_POST['sport'][$i], array_keys($equipes)) && (in_array($_POST['capitaine'][$i], array_keys($sportifs)) && ($sportifs[$_POST['capitaine'][$i]]['sexe'] == $equipes[$_POST['sport'][$i]]['sexe'] || $equipes[$_POST['sport'][$i]]['sexe'] == 'm') && (empty($sportifs[$_POST['capitaine'][$i]]['id_sports']) || in_array($_POST['sport'][$i], explode(',', $sportifs[$_POST['capitaine'][$i]]['id_sports'])) || in_array($_POST['sport'][$i], explode(',', $multiples)) && in_array_multiple(explode(',', $sportifs[$_POST['capitaine'][$i]]['id_sports']), explode(',', $multiples))) || $_POST['capitaine'][$i] == $equipes[$_POST['sport'][$i]]['cid']) && $_POST['effectif'][$i] >= max(1, $equipes[$_POST['sport'][$i]]['nb']) && $_POST['effectif'][$i] <= $equipes[$_POST['sport'][$i]]['quota_max'] && (empty($equipes[$_POST['sport'][$i]]['quota_inscription']) || $_POST['capitaine'][$i] == $equipes[$_POST['sport'][$i]]['cid'] || $equipes[$_POST['sport'][$i]]['quota_inscription'] - $equipes[$_POST['sport'][$i]]['inscrits'] > 0)) { if ($equipes[$_POST['sport'][$i]]['special'] && $_POST['capitaine'][$i] != $equipes[$_POST['sport'][$i]]['cid'] && $sportifs[$_POST['capitaine'][$i]]['id_sport_special'] != $_POST['sport'][$i]) { $sport_special = true; } else { $pdo->exec('UPDATE equipes SET ' . 'id_capitaine = ' . (int) $_POST['capitaine'][$i] . ', ' . 'effectif = ' . (int) $_POST['effectif'][$i] . ' ' . 'WHERE ' . 'id_sport = ' . (int) $_POST['sport'][$i] . ' AND ' . 'id_ecole = ' . $_SESSION['ecole']['user']); //On ajoute le capitaine dans l'équipe //Mais on n'enlève pas l'ancien if ($_POST['capitaine'][$i] != $equipes[$_POST['sport'][$i]]['cid'] && !in_array($_POST['sport'][$i], explode(',', $sportifs[$_POST['capitaine'][$i]]['id_sports']))) { $pdo->exec('INSERT INTO sportifs SET ' . 'id_participant = ' . (int) $_POST['capitaine'][$i] . ', ' . 'id_sport = ' . (int) $_POST['sport'][$i] . ', ' . 'id_ecole = ' . $_SESSION['ecole']['user']); } $modify = true; } } else { if (!empty($i) && !empty($_POST['delete']) && !empty($_POST['sport'])) { $pdo->exec('DELETE FROM equipes ' . 'WHERE ' . 'id_ecole = ' . $_SESSION['ecole']['user'] . ' AND ' . 'id_sport = ' . $_POST['sport'][$i]); $pdo->query('DELETE FROM sportifs ' . 'WHERE ' . 'id_ecole = ' . $_SESSION['ecole']['user'] . ' AND ' . 'id_sport = ' . $_POST['sport'][$i]);
?> </option> <?php } ?> </select> </td> <td> <select name="capitaine[]"> <option value="" selected>Capitaine...</option> <?php foreach ($sportifs as $sid => $sportif) { if (!empty($sportif['id_sports']) && !in_array_multiple(explode(',', $sportif['id_sports']), explode(',', $multiples))) { continue; } ?> <option data-sports="<?php echo $sportif['id_sports']; ?> " data-sexe="<?php echo $sportif['sexe']; ?> " value="<?php echo $sid; ?> "><?php echo stripslashes(strtoupper($sportif['nom']) . ' ' . $sportif['prenom']);