function get($request, $user) { $response = new Response($request); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); ouverture(); // recherche du championnat en cours $querySaisonEnCours = "SELECT phpl_gr_championnats.id\r\n\t\t\t\t\t\t\t\tFROM phpl_gr_championnats \r\n\t\t\t\t\t\t\t\tWHERE phpl_gr_championnats.activ_prono = '1' \r\n\t\t\t\t\t\t\t\tORDER by id desc"; $resultat = mysql_query($querySaisonEnCours) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $idSaisonEnCours = $row[0]; // évolution sur la dernière journée $queryEvolution = "SELECT graph.type, graph.classement as place, graph.fin\r\n \t\t\t\t\t\t FROM phpl_membres membre\r\n\t\t\t\t JOIN phpl_pronos_graph graph ON graph.id_membre = membre.id_prono\r\n\t\t\t\t \t\t\t\t\t\t AND graph.id_gr_champ = '{$idSaisonEnCours}'\r\n\t\t\t\t \t\t\t\t\t\t AND graph.type in ('general', 'hourra', 'mixte')\r\n\t\t\t\t WHERE membre.pseudo = '{$user}'\t\t \t\t\t\t\t\t \t \r\n\t\t\t\t\t\t\t ORDER BY graph.type, graph.fin"; $resultat = mysql_query($queryEvolution) or die("probleme " . mysql_error()); while ($row = mysql_fetch_array($resultat)) { $typeChamp = $row["type"]; $numPlace = $row['place']; $numJournee = $row['fin']; array_push($data, array("type" => $typeChamp, "place" => $numPlace, "jour" => $numJournee)); } // Retour du tableau au format JSON $response->body = json_encode(array("profilEvolution" => $data)); return $response; }
function get($request, $debut, $limit) { $response = new Response($request); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); ouverture(); if ($debut == null) { $debut = 0; } if ($limit == null) { $limit = 10; } // requete pour récupérer tous les gazouillis $requete = "SELECT id_membre, pseudo, contenu, date_creation \n\t\t\tFROM phpl_gazouillis, phpl_membres \n\t\t\tWHERE phpl_gazouillis.id_membre=phpl_membres.id\n\t\t\tORDER BY date_creation DESC\n\t\t\tLIMIT " . $debut . "," . $limit . ""; $resultat = mysql_query($requete); while ($row = mysql_fetch_array($resultat)) { $url_avatar = "http://" . $_SERVER['SERVER_NAME'] . "/suopronos/prono/images/avatars/" . $row["id_membre"] . ".gif"; if (!remote_file_exists($url_avatar)) { $url_avatar = "http://" . $_SERVER['SERVER_NAME'] . "/suopronos/prono/images/avatars/no_avatar.png"; } array_push($data, array("id_membre" => $row["id_membre"], "pseudo" => $row["pseudo"], "url_avatar" => $url_avatar, "contenu" => utf8_encode($row["contenu"]), "date" => $row["date_creation"])); } $response->body = json_encode(array("gazouillis" => $data)); return $response; }
function get($request, $user) { $response = new Response($request); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); ouverture(); // recherche de l'id de l'utilisateur $queryUser = "******"; $resultat = mysql_query($queryUser); $row = mysql_fetch_array($resultat); $idUser = $row[0]; // Saison en cours de l'utilisateur + palmarès de l'utilisateur $queryPalmares = "SELECT classement.id_champ, classement.place, classement.type, \r\n\t\t\t\t\t\t\t\tcase when groupes.activ_prono = '0' then groupes.nom else 'Saison en cours' end as nom\r\n\t\t\t\t\t\t\tFROM phpl_clmnt_pronos classement\r\n\t\t\t\t\t\t\tJOIN phpl_gr_championnats groupes ON groupes.id = classement.id_champ\r\n\t\t\t\t\t\t\tWHERE classement.id_membre = {$idUser}\r\n\t\t\t\t\t\t\t\tAND classement.type IN ('general', 'hourra', 'mixte')\r\n\t\t\t\t\t\t\tORDER BY classement.id_champ DESC, classement.type ASC"; $resultat = mysql_query($queryPalmares) or die("probleme " . mysql_error()); // Remplissage du tableau avec le palmarès de l'utilisateur while ($row = mysql_fetch_array($resultat)) { $numPlace = $row["place"]; $typeChamp = $row["type"]; $nomSaison = $row["nom"]; array_push($data, array("nomSaison" => $nomSaison, "typeChamp" => $typeChamp, "numPlace" => $numPlace)); } // Retour du tableau au format JSON $response->body = json_encode(array("palmares" => $data)); return $response; }
function post($request) { ouverture(); $response = new Response($request); if (!$this->isSecured()) { $response->body = "401"; return $response; } $contenu = file_get_contents('php://input'); if (empty($contenu)) { $response->body = "500:NO_DATA"; return $response; } else { if (strlen($contenu) > 140) { $response->body = "le message fait plus de 140 caractères"; return $response; } } $user_pseudo = $_SERVER['PHP_AUTH_USER']; $requete = "SELECT pseudo, id_prono FROM phpl_membres WHERE pseudo='{$user_pseudo}'"; $result = mysql_query($requete); $row = mysql_fetch_array($result); $user_id = $row[1]; $contenu = addslashes($contenu); mysql_query("INSERT INTO phpl_gazouillis (id_membre, contenu, reponse_a) VALUES ('{$user_id}','{$contenu}',null)") or die("probleme " . mysql_error()); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); return $response; }
function get($request, $user) { $response = new Response($request); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); ouverture(); // recherche du championnat en cours $querySaisonEnCours = "SELECT phpl_gr_championnats.id\r\n\t\t\t\t\t\t\t\tFROM phpl_gr_championnats \r\n\t\t\t\t\t\t\t\tWHERE phpl_gr_championnats.activ_prono = '1' \r\n\t\t\t\t\t\t\t\tORDER by id desc"; $resultat = mysql_query($querySaisonEnCours) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $idSaisonEnCours = $row[0]; // recherche de l'id de la dernière journée $queryDerniereJournee = "SELECT max(evolutionGraph.fin)\r\n\t\t\t\t\t\t\t\tFROM phpl_pronos_graph evolutionGraph\r\n\t\t\t\t\t\t\t\tWHERE evolutionGraph.id_gr_champ = '{$idSaisonEnCours}'"; $resultat = mysql_query($queryDerniereJournee); $row = mysql_fetch_array($resultat); $idDerniereJournee = $row[0]; // évolution sur la dernière journée $queryEvolution = "SELECT P2.type, P2.classement as place, (P2.points - P1.points) as points, (P1.classement - P2.classement) as evolution\r\n \t\t\t\t\t\t FROM phpl_membres membre\r\n\t\t\t\t JOIN phpl_pronos_graph P1 ON P1.id_membre = membre.id_prono\r\n\t\t\t\t \t\t\t\t\t\t AND P1.id_gr_champ = '{$idSaisonEnCours}'\r\n\t\t\t\t \t\t\t\t\t\t AND P1.type in ('general', 'hourra', 'mixte')\r\n\t\t\t\t\t\t\t \t\t\t\t\t\t AND P1.fin = '" . ($idDerniereJournee - 1) . "'\t\t \t\t\t\t\t\t \r\n\t\t\t\t JOIN phpl_pronos_graph P2 ON P2.id_membre = P1.id_membre\r\n\t\t\t\t \t\t\t\t\t\t AND P2.id_gr_champ = P1.id_gr_champ\r\n\t\t\t\t \t\t\t\t\t\t AND P2.type = P1.type\r\n\t\t\t\t \t\t\t\t\t\t AND P2.fin = '{$idDerniereJournee}'\r\n\t\t\t\t WHERE pseudo = '{$user}'\t\t \t\t\t\t\t\t \t \r\n\t\t\t\t\t\t\t ORDER BY P2.type"; $resultat = mysql_query($queryEvolution) or die("probleme " . mysql_error()); while ($row = mysql_fetch_array($resultat)) { $typeChamp = $row["type"]; $numPlace = $row['place']; $nbPoints = $row['points']; $numEvolution = $row["evolution"]; array_push($data, array("type" => $typeChamp, "place" => $numPlace, "points" => $nbPoints, "evolution" => $numEvolution)); } // Retour du tableau au format JSON $response->body = json_encode(array("profilStat" => $data)); return $response; }
function get($request, $idMatch) { $response = new Response($request); ouverture(); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); if (isset($_GET['paramProno'])) { $paramProno = $_GET['paramProno']; } else { $paramProno = ""; } $requete = "SELECT max(id) FROM phpl_championnats"; $resultat = mysql_query($requete) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $gr_champ = $row[0]; // Recherche du nombre de points max $requete = "SELECT pts_prono_exact FROM phpl_gr_championnats WHERE id_champ = '{$gr_champ}'"; $resultat = mysql_query($requete) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $points_prono_exact = $row[0]; // si il y des pronos automatiques à faire sur ce match, on calcule les cotes //On compte le nombre de parieurs sur le match $requete = "SELECT COUNT(*) FROM phpl_pronostics WHERE id_match = '{$idMatch}'"; $resultat = mysql_query($requete) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $nb_parieurs_total = $row[0]; // Retour au format JSON for ($i = 0; $i < 3; $i++) { switch ($i) { case 0: $type_prono = "1"; break; case 1: $type_prono = "N"; break; case 2: $type_prono = "2"; break; } if ($paramProno != "") { $type_prono = $paramProno; $i = 3; } //On compte le nombre de parieurs sur une victoire de l'equipe à l'exterieur $requete = "SELECT COUNT(*) FROM phpl_pronostics WHERE id_match = '{$idMatch}' AND pronostic = '{$type_prono}'"; $resultat = mysql_query($requete) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $nb_parieurs = $row[0]; if ($nb_parieurs == "0") { $points_prono = "0"; } else { $points_prono = floor($points_prono_exact * $nb_parieurs_total / $nb_parieurs); } array_push($data, array("type" => $type_prono, "cote" => $points_prono)); } $response->body = json_encode(array("coteMatch" => $data)); return $response; }
function get($request, $username, $password) { $response = new Response($request); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); ouverture(); if (VerifSession($username, $password) == "1") { $response->body = json_encode(array("compte" => "ok")); } else { $response->body = json_encode(array("compte" => "ko")); } return $response; }
function get($request, $user) { $response = new Response($request); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); ouverture(); // récupération du type de liste if (isset($_GET['type'])) { $type = $_GET['type']; } else { $type = "1"; } if ($type == "1") { // Liste des amis triés par pseudo $queryClassementAmis = "SELECT classement.pseudo, classement.type, classement.place, classement.points\r\n\t\t\t\tFROM phpl_membres membre\r\n\t\t\t\tJOIN phpl_clmnt_filtre filtre ON filtre.id = membre.id_prono\r\n\t\t\t\tJOIN phpl_clmnt_pronos classement ON classement.id_membre = filtre.idMembre\r\n\t\t\t\tJOIN phpl_gr_championnats groupes ON groupes.id = classement.id_champ\r\n\t\t\t\t\t\t\t\t\t\t\t\t AND groupes.activ_prono = '1'\r\n\t\t\t\tWHERE membre.pseudo = '{$user}' AND membre.actif = '1'\r\n\t\t\t\t AND classement.type IN ('general', 'hourra', 'mixte')\r\n\t\t\t\tORDER BY classement.pseudo ASC, classement.type ASC"; $resultat = mysql_query($queryClassementAmis) or die("probleme " . mysql_error()); // Remplissage du tableau avec le palmarès de l'utilisateur while ($row = mysql_fetch_array($resultat)) { $numPlace = $row["place"]; $typeChamp = $row["type"]; $pseudoAmi = $row["pseudo"]; $nbPoints = $row["points"]; array_push($data, array("pseudo" => $pseudoAmi, "type" => $typeChamp, "place" => $numPlace, "point" => $nbPoints)); } } else { // utilisateur postant la requête $requete = "SELECT id_prono FROM phpl_membres WHERE pseudo = '{$user}'"; $result = mysql_query($requete); $row = mysql_fetch_array($result); $user_id = $row[0]; // Liste des utilisateurs non amis $queryListeUtilisateur = "SELECT membre.pseudo, membre.nom, membre.prenom, ifnull(filtre.idMembre, 0) as ami\r\n\t\t\t\tFROM phpl_membres membre\r\n\t\t\t\tLEFT JOIN phpl_clmnt_filtre filtre ON filtre.idMembre = membre.id\r\n\t\t\t\t\t\t\t\t\t\t\t\t AND filtre.id = '{$user_id}'\r\n\t\t\t\tWHERE membre.actif = '1'\r\n\t\t\t\tORDER BY membre.pseudo"; $resultat = mysql_query($queryListeUtilisateur) or die("probleme " . mysql_error()); // Remplissage du tableau avec le palmarès de l'utilisateur while ($row = mysql_fetch_array($resultat)) { $pseudo = $row["pseudo"]; $nom = utf8_encode($row["nom"]); $prenom = utf8_encode($row["prenom"]); if ($row["ami"] == 0) { $ami = '0'; } else { $ami = '1'; } array_push($data, array("pseudo" => $pseudo, "nom" => $nom, "prenom" => $prenom, "ami" => $ami)); } } // Retour du tableau au format JSON $response->body = json_encode(array("listeAmis" => $data)); return $response; }
function get($request, $typeChamp) { $response = new Response($request); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); ouverture(); // récupération du nombre d'utilisateur en retour par top/flop/classement if (isset($_GET['nbUser'])) { $nbUser = $_GET['nbUser']; } else { $nbUser = 3; } // récupération du type d'évolution if (isset($_GET['typeEvol'])) { $typeEvol = $_GET['typeEvol']; } else { $typeEvol = "0"; } // recherche du championnat en cours $querySaisonEnCours = "SELECT phpl_gr_championnats.id\r\n\t\t\t\t\t\t\t\tFROM phpl_gr_championnats \r\n\t\t\t\t\t\t\t\tWHERE phpl_gr_championnats.activ_prono = '1' \r\n\t\t\t\t\t\t\t\tORDER by id desc"; $resultat = mysql_query($querySaisonEnCours) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $idSaisonEnCours = $row[0]; // recherche de l'id de la dernière journée $queryDerniereJournee = "SELECT max(evolutionGraph.fin)\r\n\t\t\t\t\t\t\t\tFROM phpl_pronos_graph evolutionGraph\r\n\t\t\t\t\t\t\t\tWHERE evolutionGraph.id_gr_champ = '{$idSaisonEnCours}'"; $resultat = mysql_query($queryDerniereJournee); $row = mysql_fetch_array($resultat); $idDerniereJournee = $row[0]; $queryEvolution = "SELECT P1.type, (P1.classement - P2.classement) as evolution, membre.pseudo\r\n\t\t\t\t\t\t\t FROM phpl_membres membre\r\n\t\t\t\t JOIN phpl_pronos_graph P1 ON P1.id_membre = membre.id_prono\r\n\t\t\t\t \t\t\t\t\t\t AND P1.id_gr_champ = '{$idSaisonEnCours}'\r\n\t\t\t\t \t\t\t\t\t\t AND P1.type = '{$typeChamp}'\r\n\t\t\t\t\t\t\t \t\t\t\t\t\t AND P1.fin = '" . ($idDerniereJournee - 1) . "'\t\t \t\t\t\t\t\t \r\n\t\t\t\t JOIN phpl_pronos_graph P2 ON P2.id_membre = P1.id_membre\r\n\t\t\t\t \t\t\t\t\t\t AND P2.id_gr_champ = P1.id_gr_champ\r\n\t\t\t\t \t\t\t\t\t\t AND P2.type = P1.type\r\n\t\t\t\t \t\t\t\t\t\t AND P2.fin = '{$idDerniereJournee}'\r\n\t\t\t\t WHERE membre.actif = '1'"; if ($typeEvol == "0") { $queryEvolution = $queryEvolution . " ORDER BY P1.type, evolution DESC, P2.participations DESC, membre.pseudo\r\n\t\t\t\t\t\t\t\t\t\t\t\t LIMIT 0, {$nbUser}"; } else { $queryEvolution = $queryEvolution . " ORDER BY P1.type, evolution ASC, P2.participations DESC, membre.pseudo\r\n\t\t\t\t\t\t\t\t\t\t\t\t LIMIT 0, {$nbUser}"; } $resultat = mysql_query($queryEvolution) or die("probleme " . mysql_error()); // Remplissage du tableau avec les tops / flops while ($row = mysql_fetch_array($resultat)) { $typeChamp = $row["type"]; $nomPseudo = $row["pseudo"]; $numEvolution = $row["evolution"]; array_push($data, array("type" => $typeChamp, "evol" => $numEvolution, "pseudo" => $nomPseudo)); } // Retour du tableau au format JSON $response->body = json_encode(array("topFlop" => $data)); return $response; }
function get($request, $user) { $response = new Response($request); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); ouverture(); // récupération du filtre if (isset($_GET['filtre'])) { $filtre = $_GET['filtre']; } else { $filtre = "0"; } // recherche du championnat en cours $querySaisonEnCours = "SELECT phpl_gr_championnats.id\r\n\t\t\t\t\t\t\t\tFROM phpl_gr_championnats \r\n\t\t\t\t\t\t\t\tWHERE phpl_gr_championnats.activ_prono = '1' \r\n\t\t\t\t\t\t\t\tORDER by id desc"; $resultat = mysql_query($querySaisonEnCours) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $idSaisonEnCours = $row[0]; // recherche de l'id de la dernière journée $queryDerniereJournee = "SELECT max(evolutionGraph.fin)\r\n\t\t\t\t\t\t\t\tFROM phpl_pronos_graph evolutionGraph\r\n\t\t\t\t\t\t\t\tWHERE evolutionGraph.id_gr_champ = '{$idSaisonEnCours}'"; $resultat = mysql_query($queryDerniereJournee); $row = mysql_fetch_array($resultat); $idDerniereJournee = $row[0]; // Liste des tops / flops de tous les utilisateurs if ($filtre == "0") { $queryEvolution = "SELECT P1.type, (P1.classement - P2.classement) as evolution, membre.pseudo\r\n\t\t\t\t\t\t\t\t FROM phpl_membres membre\r\n\t\t\t\t\t JOIN phpl_pronos_graph P1 ON P1.id_membre = membre.id_prono\r\n\t\t\t\t\t \t\t\t\t\t\t AND P1.id_gr_champ = '{$idSaisonEnCours}'\r\n\t\t\t\t\t \t\t\t\t\t\t AND P1.type in ('general', 'hourra', 'mixte')\r\n\t\t\t\t\t\t\t\t \t\t\t\t\t\t AND P1.fin = '" . ($idDerniereJournee - 1) . "'\t\t \t\t\t\t\t\t \r\n\t\t\t\t\t JOIN phpl_pronos_graph P2 ON P2.id_membre = P1.id_membre\r\n\t\t\t\t\t \t\t\t\t\t\t AND P2.id_gr_champ = P1.id_gr_champ\r\n\t\t\t\t\t \t\t\t\t\t\t AND P2.type = P1.type\r\n\t\t\t\t\t \t\t\t\t\t\t AND P2.fin = '{$idDerniereJournee}'\r\n\t\t\t\t\t WHERE membre.actif = '1'\t\t \t\t\t\t\t\t \t \r\n\t\t\t\t\t\t\t\t ORDER BY P1.type, evolution DESC, P2.participations DESC, membre.pseudo"; } else { // utilisateur postant la requête $requete = "SELECT id_prono FROM phpl_membres WHERE pseudo = '{$user}'"; $result = mysql_query($requete); $row = mysql_fetch_array($result); $user_id = $row[0]; $queryEvolution = "SELECT P1.type, (P1.classement - P2.classement) as evolution, membre.pseudo\r\n\t \t\t\t\t\t\t FROM phpl_clmnt_filtre filtre\r\n\t \t\t\t\t\t\t JOIN phpl_membres membre ON membre.id_prono = filtre.idMembre\r\n\t \t\t\t\t\t\t \t\t\t\t\t\t AND membre.actif = '1'\r\n\t\t\t\t\t JOIN phpl_pronos_graph P1 ON P1.id_membre = filtre.idMembre\r\n\t\t\t\t\t \t\t\t\t\t\t AND P1.id_gr_champ = '{$idSaisonEnCours}'\r\n\t\t\t\t\t \t\t\t\t\t\t AND P1.type in ('general', 'hourra', 'mixte')\r\n\t\t\t\t\t\t\t\t \t\t\t\t\t\t AND P1.fin = '" . ($idDerniereJournee - 1) . "'\t\t \t\t\t\t\t\t \r\n\t\t\t\t\t JOIN phpl_pronos_graph P2 ON P2.id_membre = P1.id_membre\r\n\t\t\t\t\t \t\t\t\t\t\t AND P2.id_gr_champ = P1.id_gr_champ\r\n\t\t\t\t\t \t\t\t\t\t\t AND P2.type = P1.type\r\n\t\t\t\t\t \t\t\t\t\t\t AND P2.fin = '{$idDerniereJournee}'\r\n\t\t\t\t\t WHERE filtre.id = '{$user_id}'\t\t \t\t\t\t\t\t \t \r\n\t\t\t\t\t\t\t\t ORDER BY membre.pseudo, P1.type"; } $resultat = mysql_query($queryEvolution) or die("probleme " . mysql_error()); // Remplissage du tableau avec les tops / flops while ($row = mysql_fetch_array($resultat)) { $typeChamp = $row["type"]; $nomPseudo = $row["pseudo"]; $numEvolution = $row["evolution"]; array_push($data, array("type" => $typeChamp, "evol" => $numEvolution, "pseudo" => $nomPseudo)); } // Retour du tableau au format JSON $response->body = json_encode(array("evolutionClassement" => $data)); return $response; }
function get($request, $club) { $response = new Response($request); ouverture(); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); $requete = "SELECT phpl_gr_championnats.id_champ FROM phpl_gr_championnats WHERE phpl_gr_championnats.activ_prono='1' ORDER by id desc"; $resultat = mysql_query($requete) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $gr_champ = $row[0]; $query = "SELECT numJour.numero, rencontre.date_reelle, rencontre.buts_dom, rencontre.buts_ext, \n\t \t\t\t\tCase When cldom.nom = '{$club}' then cldom.nom_court else cldom.nom end as clubDom, \n\t \t\t\t\tCase When clext.nom = '{$club}' then clext.nom_court else clext.nom end as clubExt,\n\t \t\t\t\tCase When cldom.nom = '{$club}' then 'D' else 'E' end as type\n\t \t\t\tFROM phpl_journees as numJour\n\t\t\t JOIN phpl_matchs as rencontre ON rencontre.id_journee = numJour.id\n\t\t\t JOIN phpl_equipes as dom ON dom.id = rencontre.id_equipe_dom\n\t\t\t JOIN phpl_equipes as ext ON ext.id = rencontre.id_equipe_ext\n\t\t\t JOIN phpl_clubs as cldom ON cldom.id = dom.id_club\n\t\t\t JOIN phpl_clubs as clext ON clext.id = ext.id_club\n\t\t\t WHERE numJour.id_champ = '{$gr_champ}'\n\t\t\t \tAND (cldom.nom = '{$club}' OR clext.nom = '{$club}')\n\t\t\t ORDER BY numJour.numero"; $result = mysql_query($query) or die("probleme " . mysql_error()); while ($row = mysql_fetch_array($result)) { array_push($data, array("numJour" => $row["numero"], "date" => $row["date_reelle"], "butDom" => $row["buts_dom"], "butExt" => $row["buts_ext"], "clubDom" => $row["clubDom"], "clubExt" => $row["clubExt"], "type" => $row["type"])); } $response->body = json_encode(array("calendrierClub" => $data)); return $response; }
function get($request, $club) { $response = new Response($request); ouverture(); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); $requete = "SELECT phpl_gr_championnats.id_champ FROM phpl_gr_championnats WHERE phpl_gr_championnats.activ_prono='1' ORDER by id desc"; $resultat = mysql_query($requete) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $gr_champ = $row[0]; $query = "SELECT evol.fin, evol.classement\n\t \t\t\tFROM phpl_clubs club \n\t \t\t\tJOIN phpl_equipes equipe On equipe.id_club = club.id\n\t \t\t\t And equipe.id_champ = '{$gr_champ}' \n\t \t\t\tJOIN phpl_clmnt_graph evol On evol.id_equipe = equipe.id\n\t\t\t WHERE club.nom = '{$club}' \n\t\t\t ORDER BY evol.fin"; $result = mysql_query($query) or die("probleme " . mysql_error()); while ($row = mysql_fetch_array($result)) { array_push($data, array("jour" => $row["fin"], "place" => $row["classement"])); } $response->body = json_encode(array("evolutionClassementL1" => $data)); return $response; }
function get($request) { $response = new Response($request); ouverture(); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); $requete = "SELECT max(id) FROM phpl_championnats"; $resultat = mysql_query($requete) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $gr_champ = $row[0]; $query = "SELECT classement.nom, points, joues, g, n, p, butspour, butscontre, diff, club.url_logo \n \t\t\tFROM phpl_clmnt_cache classement\n \t\t\tJOIN phpl_clubs club ON club.nom = classement.nom\n\t \t\tWHERE ID_CHAMP='{$gr_champ}' \n\t \t\tORDER BY POINTS DESC, DIFF DESC, BUTSPOUR DESC , BUTSCONTRE ASC, classement.NOM"; $result = mysql_query($query) or die("probleme " . mysql_error()); while ($row = mysql_fetch_array($result)) { array_push($data, array("club" => $row["nom"], "points" => $row["points"], "joues" => $row["joues"], "g" => $row["g"], "n" => $row["n"], "p" => $row["p"], "butspour" => $row["butspour"], "butscontre" => $row["butscontre"], "diff" => $row["diff"], "url_logo" => "http://" . $_SERVER['SERVER_NAME'] . "/suopronos/prono/images/clubs/" . rawurlencode($row["url_logo"]))); } $response->body = json_encode(array("classementL1" => $data)); return $response; }
function get($request, $type) { $response = new Response($request); ouverture(); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); if (isset($_GET['filtre'])) { $filtre = $_GET['filtre']; if ($filtre == "1") { if (!$this->isSecured()) { $response->body = "401"; return $response; } else { $user = $_SERVER['PHP_AUTH_USER']; } } else { $filtre = "0"; } } else { $filtre = "0"; } $requete = "SELECT phpl_gr_championnats.id FROM phpl_gr_championnats WHERE phpl_gr_championnats.activ_prono='1' ORDER by id desc"; $resultat = mysql_query($requete) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $gr_champ = $row[0]; $requete = "SELECT phpl_gr_championnats.id \n\t \t\t\tFROM phpl_gr_championnats \n\t \t\t\tWHERE phpl_gr_championnats.activ_prono='0' \n\t \t\t\tORDER by id desc"; $resultat = mysql_query($requete) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $gr_champ_prec = $row[0]; if ($filtre == "0") { $query = "SELECT classement.pseudo, classement.points, classement.participation as champion, \n\t\t \t\t\t\t classement.place, ifNull(classementPrec.place, 0) as placePrec\n\t\t \t\t FROM phpl_membres membre \n\t\t \t\t JOIN phpl_clmnt_pronos classement ON classement.id_membre = membre.id_prono\n\t\t \t\t \t\t\t\t\t\t\t\t AND classement.id_champ = '{$gr_champ}'\n\t\t \t\t \t\t\t\t\t\t\t\t AND classement.type = '{$type}'\n\t\t \t\t LEFT JOIN phpl_clmnt_pronos classementPrec ON classementPrec.id_membre = membre.id_prono\n\t\t \t\t \t\t\t\t\t\t\t\t AND classementPrec.id_champ = '{$gr_champ_prec}'\n\t\t \t\t \t\t\t\t\t\t\t\t AND classementPrec.type = '{$type}'\n\t\t \t\t WHERE membre.actif = '1' \n\t\t \t\t ORDER by classement.points desc, classement.participation asc, classement.pseudo"; } else { $query = "SELECT classement.pseudo, classement.points, classement.participation as champion,\n\t \t\t\t\t\t classement.place, ifNull(classementPrec.place, 0) as placePrec\n\t \t\t\t FROM phpl_membres membre\n\t \t\t\t JOIN phpl_clmnt_filtre filtre ON filtre.id = membre.id_prono\n\t \t\t\t JOIN phpl_clmnt_pronos classement ON classement.id_champ = '{$gr_champ}' \n\t \t\t\t \t\t\t\t\t\t\t\t AND classement.type = '{$type}' \n\t \t\t\t\t \t\t\t\t\t\t\t AND classement.id_membre = filtre.idMembre\n\t\t \t\t LEFT JOIN phpl_clmnt_pronos classementPrec ON classementPrec.id_membre = filtre.idMembre\n\t\t \t\t \t\t\t\t\t\t\t\t AND classementPrec.id_champ = '{$gr_champ_prec}'\n\t\t \t\t \t\t\t\t\t\t\t\t AND classementPrec.type = '{$type}'\n\t \t\t\t WHERE membre.pseudo = '{$user}' AND membre.actif = '1'\n\t \t\t\t ORDER by classement.points desc, classement.participation asc, classement.pseudo"; } $result = mysql_query($query) or die("probleme " . mysql_error()); while ($row = mysql_fetch_array($result)) { array_push($data, array("place" => $row["place"], "placePrec" => $row["placePrec"], pseudo => $row["pseudo"], "points" => $row["points"])); } $response->body = json_encode(array("classement" => $data)); return $response; }
function post($request, $user) { $response = new Response($request); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); ouverture(); if (!$this->isSecured($user)) { $response->body = "401"; return $response; } // On vérifie s'il y a des matchs en cours pour savoir si on autrosie la mise à jour de la strategie $requete = "SELECT phpl_matchs.id, phpl_matchs.date_reelle, TIMEDIFF( phpl_matchs.date_reelle, NOW( ) ) , TIME_TO_SEC( TIMEDIFF( phpl_matchs.date_reelle, NOW( ) ) )\n\t\t\tFROM phpl_matchs, phpl_journees, phpl_gr_championnats\n\t\t\tWHERE phpl_gr_championnats.id = {$gr_champ}\n\t\t\tAND phpl_journees.id_champ = phpl_gr_championnats.id_champ\n\t\t\tAND phpl_matchs.id_journee = phpl_journees.id\n\t\t\tAND phpl_matchs.buts_dom IS NULL\n\t\t\tAND phpl_matchs.buts_ext IS NULL\n\t\t\tAND TIME_TO_SEC( TIMEDIFF( phpl_matchs.date_reelle, NOW( ) ) ) < 0"; $resultat = mysql_query($requete); if ($row = mysql_fetch_array($resultat)) { $response->body = "La mise à jour de votre stratégie n'est pas autorisée quand des match sont en cours"; return $response; } // récupération de la nouvelle stratégie $strategie = file_get_contents('php://input'); if (empty($strategie)) { $response->body = "500:NO_DATA"; return $response; } $user_pseudo = $_SERVER['PHP_AUTH_USER']; $requete = "SELECT pseudo, id_prono FROM phpl_membres WHERE pseudo='{$user_pseudo}'"; $result = mysql_query($requete); $row = mysql_fetch_array($result); $user_id = $row[1]; // mise à jour de la stratégie $requete = "SELECT * FROM phpl_strategie WHERE id_membre='{$user_id}'"; $resultat = mysql_query($requete); if ($row = mysql_fetch_array($resultat)) { $strQuery = "UPDATE phpl_strategie SET id_type={$strategie}, priorite=0 WHERE id_membre='{$user_id}'"; mysql_query($strQuery) or die("probleme " . mysql_error()); } else { $strQuery = "INSERT INTO phpl_strategie (id_membre, id_type, priorite) VALUES ({$user_id}, {$strategie}, 0)"; mysql_query($strQuery) or die("probleme " . mysql_error()); } return $response; }
function get($request, $club) { $response = new Response($request); ouverture(); if (isset($_GET['clubAdverse'])) { $clubAdverse = $_GET['clubAdverse']; } else { $response->body = "401"; return $response; } $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $query = "SELECT cldom.nom as clubDom, clext.nom as clubExt, phpl_matchs.buts_dom, phpl_matchs.buts_ext\n\t \t\t\tFROM phpl_gr_championnats champ\n\t \t\t\tJOIN phpl_journees journee on journee.id_champ = champ.id_champ \n\t\t\t JOIN phpl_matchs ON phpl_matchs.id_journee = journee.id\n\t\t\t\t\t\t\t AND phpl_matchs.buts_dom is not null\n\t\t\t\t\t\t\t AND phpl_matchs.buts_ext is not null\n\t\t\t JOIN phpl_equipes as dom ON dom.id = phpl_matchs.id_equipe_dom\n\t\t\t JOIN phpl_equipes as ext ON ext.id = phpl_matchs.id_equipe_ext\n\t\t\t JOIN phpl_clubs as cldom ON cldom.id = dom.id_club\n\t\t\t JOIN phpl_clubs as clext ON clext.id = ext.id_club\n\t\t\t WHERE (cldom.nom = '{$club}' AND clext.nom = '{$clubAdverse}')\n\t\t\t OR (cldom.nom = '{$clubAdverse}' AND clext.nom = '{$club}')\n\t\t\t ORDER BY journee.id DESC"; $result = mysql_query($query) or die("probleme " . mysql_error()); $data = array(); while ($row = mysql_fetch_array($result)) { array_push($data, array("clubDom" => $row["clubDom"], "butDom" => $row["buts_dom"], "clubExt" => $row["clubExt"], "butExt" => $row["buts_ext"])); } $response->body = json_encode(array("confrontationClub" => $data)); return $response; }
function get($request, $club) { $response = new Response($request); ouverture(); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); $requete = "SELECT max(id) FROM phpl_championnats"; $resultat = mysql_query($requete) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $gr_champ = $row[0]; $query = "SELECT club.nom, club.url_logo\n \t\t\tFROM phpl_clubs club \n\t \t\tWHERE club.nom = '{$club}'"; $result = mysql_query($query) or die("probleme " . mysql_error()); while ($row = mysql_fetch_array($result)) { $queryPlace = "SELECT rownum, points, joues, g, n, p, butspour, butscontre, diff,\n\t\t\t\t\t\t\tdomg, domn, domp, extg, extn, extp \n\t\t\t\t\t\t FROM (\n\t\t\t\t\t\t\t SELECT @rownum:=@rownum+1 rownum, classement.*\n\t\t\t\t\t\t\t FROM (SELECT @rownum:=0) r, phpl_clmnt_cache classement\n\t\t\t\t\t\t\t WHERE ID_CHAMP = '{$gr_champ}'\n\t\t\t\t\t\t\t ORDER BY POINTS DESC, DIFF DESC, BUTSPOUR DESC , BUTSCONTRE ASC, NOM) tt\n\t\t\t\t\t\t WHERE tt.nom = '{$club}'"; $resultPlace = mysql_query($queryPlace) or die("probleme " . mysql_error()); $rowPlace = mysql_fetch_array($resultPlace); array_push($data, array("club" => $row["nom"], "place" => $rowPlace["rownum"], "points" => $rowPlace["points"], "j" => $rowPlace["joues"], "g" => $rowPlace["g"], "n" => $rowPlace["n"], "p" => $rowPlace["p"], "bp" => $rowPlace["butspour"], "bc" => $rowPlace["butscontre"], "diff" => $rowPlace["diff"], "domg" => $rowPlace["domg"], "domn" => $rowPlace["domn"], "domp" => $rowPlace["domp"], "extg" => $rowPlace["extg"], "extn" => $rowPlace["extn"], "extp" => $rowPlace["extp"], "url_logo" => "http://" . $_SERVER['SERVER_NAME'] . "/suopronos/prono/images/clubs/hdpi/" . rawurlencode($row["url_logo"]))); } $response->body = json_encode(array("infoClub" => $data)); return $response; }
function get($request, $user) { $response = new Response($request); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); ouverture(); $queryInfosUser = "******"; $resultInfosUser = mysql_query($queryInfosUser) or die("probleme " . mysql_error()); if ($rowInfosUser = mysql_fetch_array($resultInfosUser)) { $data["id_membre"] = $rowInfosUser["id_membre"]; $data["url_avatar"] = "http://" . $_SERVER['SERVER_NAME'] . "/suopronos/prono/images/avatars/" . $rowInfosUser["id_membre"] . ".gif"; $data["nom"] = utf8_encode($rowInfosUser["nom"]); $data["prenom"] = utf8_encode($rowInfosUser["prenom"]); $data["ville"] = utf8_encode($rowInfosUser["ville"]); $data["departement"] = $rowInfosUser["departement"]; $data["url_logo"] = "http://" . $_SERVER['SERVER_NAME'] . "/suopronos/prono/images/clubs/" . rawurlencode($rowInfosUser["url_logo"]); $data["club_favori"] = $rowInfosUser["nom_club"]; } $response->body = json_encode(array("profil" => $data)); return $response; }
function get($request, $club) { $response = new Response($request); ouverture(); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); if (isset($_GET['nbMatch'])) { $nbMatch = $_GET['nbMatch']; } else { $nbMatch = "5"; } $requete = "SELECT phpl_gr_championnats.id_champ FROM phpl_gr_championnats WHERE phpl_gr_championnats.activ_prono='1' ORDER by id desc"; $resultat = mysql_query($requete) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $gr_champ = $row[0]; $query = "SELECT phpl_matchs.buts_dom, phpl_matchs.buts_ext, \n\t \t\t\t\tCase When cldom.nom = '{$club}' then cldom.nom_court else cldom.nom end as clubDom, \n\t \t\t\t\tCase When clext.nom = '{$club}' then clext.nom_court else clext.nom end as clubExt,\n\t \t\t\t\tCase When cldom.nom = '{$club}' then 'D' else 'E' end as type\n\t \t\t\tFROM phpl_journees \n\t\t\t JOIN phpl_matchs ON phpl_matchs.id_journee = phpl_journees.id\n\t\t\t\t\t\t\t AND phpl_matchs.buts_dom is not null\n\t\t\t\t\t\t\t AND phpl_matchs.buts_ext is not null\n\t\t\t JOIN phpl_equipes as dom ON dom.id = phpl_matchs.id_equipe_dom\n\t\t\t JOIN phpl_equipes as ext ON ext.id = phpl_matchs.id_equipe_ext\n\t\t\t JOIN phpl_clubs as cldom ON cldom.id = dom.id_club\n\t\t\t JOIN phpl_clubs as clext ON clext.id = ext.id_club\n\t\t\t WHERE phpl_journees.id_champ = '{$gr_champ}'\n\t\t\t \tAND (cldom.nom = '{$club}' OR clext.nom = '{$club}')\n\t\t\t ORDER BY phpl_journees.numero DESC\n\t\t\t LIMIT 0, {$nbMatch}"; $result = mysql_query($query) or die("probleme " . mysql_error()); while ($row = mysql_fetch_array($result)) { array_push($data, array("butDom" => $row["buts_dom"], "butExt" => $row["buts_ext"], "clubDom" => $row["clubDom"], "clubExt" => $row["clubExt"], "type" => $row["type"])); } $response->body = json_encode(array("serieClub" => $data)); return $response; }
// Version : 0.82b */ // Copyright (c) 2004 Alexis MANGIN */ // http://phpleague.univert.org */ // */ // 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; either version 2 of the License. */ // */ //***********************************************************************/ // Support technique : http://phpleague.univert.org/forum */ // */ //***********************************************************************/ include "avant.php"; require "../config.php"; require "../consult/fonctions.php"; ouverture(); ENTETE2(); // Choix du championnat if (!isset($_REQUEST['champ'])) { demande_champ(); } else { if (isset($_REQUEST['a'])) { $a = $_REQUEST['a']; } else { $a = ""; } if (isset($_REQUEST['numero'])) { $numero = $_REQUEST['numero']; } else { $numero = ""; }
while ( $donnee_periode = mysqli_fetch_array( $execution_periode ) ) { $Horaire[$i] = heure_texte_court($donnee_periode['heuredebut_definie_periode']).' - '.heure_texte_court($donnee_periode['heurefin_definie_periode']); $HorDeb[$i] = $donnee_periode['heuredebut_definie_periode']; $HorFin[$i] = $donnee_periode['heurefin_definie_periode']; $i = $i + 1; } if ( $i === '0' ) { $i = '0'; $Horaire = Array(0 => "8h-9h", "9h-10h", "10h-11h", "11h-12h", "12h-13h", "13h-14h", "14h-15h", "15h-16h", "16h-17h", "17h-18h","18h-19h"); $HorDeb = Array(0 => "08:00:00", "09:00:00", "10:00:00", "11:00:00", "12:00:00", "13:00:00", "14:00:00", "15:00:00", "16:00:00", "17:00:00","18:00:00"); $HorFin = Array(0 => "09:00:00", "10:00:00", "11:00:00", "12:00:00", "13:00:00", "14:00:00", "15:00:00", "16:00:00", "17:00:00", "18:00:00", "19:00:00"); } // REQUETE SQL POUR LES HORAIRES D'OUVERTURE $semaine_horaire = ouverture(); class fiche_PDF extends FPDF { /** * Draws text within a box defined by width = w, height = h, and aligns * the text vertically within the box ($valign = M/B/T for middle, bottom, or top) * Also, aligns the text horizontally ($align = L/C/R/J for left, centered, right or justified) * drawTextBox uses drawRows * * This function is provided by TUFaT.com */ function drawTextBox($strText, $w, $h, $align='L', $valign='T', $border=1) {
$execution_periode = mysqli_query($GLOBALS["mysqli"], $requete_periode) or die('Erreur SQL !'.$requete_periode.'<br />'.mysqli_error($GLOBALS["mysqli"])); while ( $donnee_periode = mysqli_fetch_array( $execution_periode ) ) { $Horaire[$i] = heure_texte_court($donnee_periode['heuredebut_definie_periode']).'-'.heure_texte_court($donnee_periode['heurefin_definie_periode']); $HorDeb[$i] = $donnee_periode['heuredebut_definie_periode']; $HorFin[$i] = $donnee_periode['heurefin_definie_periode']; $i = $i + 1; } if ( $i === '0' ) { $i = '0'; $Horaire = Array(0 => "8h-9h", "9h-10h", "10h-11h", "11h-12h", "12h-13h", "13h-14h", "14h-15h", "15h-16h", "16h-17h", "17h-18h","18h-19h"); $HorDeb = Array(0 => "08:00:00", "09:00:00", "10:00:00", "11:00:00", "12:00:00", "13:00:00", "14:00:00", "15:00:00", "16:00:00", "17:00:00","18:00:00"); $HorFin = Array(0 => "09:00:00", "10:00:00", "11:00:00", "12:00:00", "13:00:00", "14:00:00", "15:00:00", "16:00:00", "17:00:00", "18:00:00", "19:00:00"); } $semaine = ouverture(); ?><br /><br /><a name="tab_sem_abs"></a> <table style="border-style: solid; border-width: 2px; border-color: black; width: 320px; border-collapse: collapse; margin: auto;"> <caption style="font-size: 14px; text-align: center; margin: auto;"><strong>Nombre d'absences par créneau horaire</strong></caption> <tr style="background-color: #F0FFCF;"> <td class="td_semaine_jour"></td> <?php if ( isset($semaine['lundi']['ouverture']) ) { ?><td class="td_semaine_jour">Lun.</td><?php } ?> <?php if ( isset($semaine['mardi']['ouverture']) ) { ?><td class="td_semaine_jour">Mar.</td><?php } ?> <?php if ( isset($semaine['mercredi']['ouverture']) ) { ?><td class="td_semaine_jour">Mer.</td><?php } ?> <?php if ( isset($semaine['jeudi']['ouverture']) ) { ?><td class="td_semaine_jour">Jeu.</td><?php } ?> <?php if ( isset($semaine['vendredi']['ouverture']) ) { ?><td class="td_semaine_jour">Ven.</td><?php } ?> <?php if ( isset($semaine['samedi']['ouverture']) ) { ?><td class="td_semaine_jour">Sam.</td><?php } ?> </tr> <?php
function repartire_jour($login, $type, $du, $au) { global $prefix_base; //date_default_timezone_set ('Europe/Paris') ; $i = '0'; // date_default_timezone_get(); // n'est compatible que PHP 5.0.1 if ( function_exists('date_default_timezone_get') ) { date_default_timezone_set('UTC'); date_default_timezone_get(); } else { localtime(); } $tableau_de_donnees = ''; $requete = "SELECT * FROM ".$prefix_base."absences_eleves WHERE eleve_absence_eleve = '".$login."' AND type_absence_eleve = '".$type."' ORDER BY d_date_absence_eleve ASC, d_heure_absence_eleve ASC"; $execution = mysqli_query($GLOBALS["mysqli"], $requete) or die('Erreur SQL !'.$requete.'<br />'.mysqli_error($GLOBALS["mysqli"])); while ( $donnee = mysqli_fetch_array($execution)) { $i = '0'; $i2 = '0'; $horraire = ouverture(); // si la date de debut et de fin son identique on peut saisir les donnes tout de suite if($donnee['d_date_absence_eleve'] === $donnee['a_date_absence_eleve']) { $date_select = $donnee['d_date_absence_eleve']; // incrémente en fonction du nombre de fois ou on trouve une heure de début pour un même jour if ( !isset($nb_horraire_date[$date_select]) ) { $nb_horraire_date[$date_select] = 0; } else { $nb_horraire_date[$date_select] = $nb_horraire_date[$date_select] + 1; } $nb_passage_horraire = $nb_horraire_date[$date_select]; $date_tt = $date_select.'-'.$nb_passage_horraire; $pause = ''; $tableau_de_donnees[$date_tt]['login'] = $donnee['eleve_absence_eleve']; $tableau_de_donnees[$date_tt]['jour'] = jour_sem_sql($donnee['d_date_absence_eleve']); $tab_jour = array("dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"); $jour_num = $tableau_de_donnees[$date_tt]['jour']; $jour = $tab_jour[$jour_num]; if ( isset($horraire[$jour]) ) { $heure_de_debut = $horraire[$jour]['ouverture']; $heure_de_debut_min = convert_heures_minutes($horraire[$jour]['ouverture']); $heure_de_fin = $horraire[$jour]['fermeture']; $heure_de_fin_min = convert_heures_minutes($horraire[$jour]['fermeture']); $pause = $horraire[$jour]['pause']; $pause_min = convert_heures_minutes($horraire[$jour]['pause']); } else { $heure_de_debut = '00:00:00'; $heure_de_debut_min = convert_heures_minutes($pause); $heure_de_fin = '00:00:00'; $heure_de_fin_min = convert_heures_minutes($pause); $pause = '00:00:00'; $pause_min = convert_heures_minutes($pause); } $tableau_de_donnees[$date_tt]['date'] = $donnee['d_date_absence_eleve']; //$tableau_de_donnees[$date]['heure_debut'.$nb_passage_horraire] = $donnee['d_heure_absence_eleve']; //$tableau_de_donnees[$date]['heure_fin'.$nb_passage_horraire] = $donnee['a_heure_absence_eleve']; $tableau_de_donnees[$date_tt]['heure_debut'] = $donnee['d_heure_absence_eleve']; $tableau_de_donnees[$date_tt]['heure_fin'] = $donnee['a_heure_absence_eleve']; if ( $donnee['justify_absence_eleve'] === 'N' ) { $tableau_de_donnees[$date_tt]['justifie'] = 'non'; } else { $tableau_de_donnees[$date_tt]['justifie'] = 'oui'; } // statistique par mois $tab_date = explode('-',$date_select); $mois = $tab_date[1]; $annee = $tab_date[0]; if ( !isset($tableau_de_donnees[$annee.'-'.$mois]) ) { $tableau_de_donnees[$annee.'-'.$mois]['nb'] = 1; if ( $donnee['justify_absence_eleve'] === 'N' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_nj'] = 1; } else { $tableau_de_donnees[$annee.'-'.$mois]['nb_nj'] = 0; } if ( $donnee['justify_absence_eleve'] != 'N' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_j'] = 1; } else { $tableau_de_donnees[$annee.'-'.$mois]['nb_j'] = 0; } if ( $donnee['type_absence_eleve'] === 'A' ) { // en heure $minute_debut = convert_heures_minutes($tableau_de_donnees[$date_tt]['heure_debut']); $minute_fin = convert_heures_minutes($tableau_de_donnees[$date_tt]['heure_fin']); if ( $minute_debut <= $heure_de_debut_min and $minute_fin >= $heure_de_fin_min ) { $temp_total_min = ($minute_fin - $minute_debut ) - $pause_min; } else { $temp_total_min = ($minute_fin - $minute_debut ); } if ( $tableau_de_donnees[$date_tt]['justifie'] != 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_j'] = $temp_total_min; } else { $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_j'] = '0'; } if ( $tableau_de_donnees[$date_tt]['justifie'] === 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_nj'] = $temp_total_min; } else { $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_nj'] = '0'; } } } else { $tableau_de_donnees[$annee.'-'.$mois]['nb'] = $tableau_de_donnees[$annee.'-'.$mois]['nb'] + 1; if ( $tableau_de_donnees[$date_tt]['justifie'] === 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_nj'] = $tableau_de_donnees[$annee.'-'.$mois]['nb_nj'] + 1; } if ( $tableau_de_donnees[$date_tt]['justifie'] != 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_j'] = $tableau_de_donnees[$annee.'-'.$mois]['nb_j'] + 1; } if ( $donnee['type_absence_eleve'] === 'A' ) { // en heure $minute_debut = convert_heures_minutes($tableau_de_donnees[$date_tt]['heure_debut']); $minute_fin = convert_heures_minutes($tableau_de_donnees[$date_tt]['heure_fin']); if ( $minute_debut <= $heure_de_debut_min and $minute_fin >= $heure_de_fin_min ) { $temp_total_min = ( $minute_fin - $minute_debut ) - $pause_min; } else { $temp_total_min = ( $minute_fin - $minute_debut ); } if ( $tableau_de_donnees[$date_tt]['justifie'] != 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_j'] = $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_j'] + $temp_total_min; } if ( $tableau_de_donnees[$date_tt]['justifie'] === 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_nj'] = $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_nj'] + $temp_total_min; } } } // statistique global if ( !isset($tableau_de_donnees['global']) ) { $tableau_de_donnees['global']['nb'] = 1; if ( $donnee['type_absence_eleve'] === 'A' ) { // en heure $tableau_de_donnees['global']['nb_min'] = $temp_total_min; } } else { $tableau_de_donnees['global']['nb'] = $tableau_de_donnees['global']['nb'] + 1; if ( $donnee['type_absence_eleve'] === 'A' ) { // en heure $tableau_de_donnees['global']['nb_min'] = $tableau_de_donnees['global']['nb_min'] + $temp_total_min; } } $i2 = $i2 + 1; } // si la date de debut et de fin ne son pas identique alors on doit faire jour par jour pour la saisi des données if($donnee['d_date_absence_eleve'] != $donnee['a_date_absence_eleve']) { $jour_select = $donnee['d_date_absence_eleve']; // calcule le nombre de jour entre deux date $date1 = str_replace("-", "", $donnee['d_date_absence_eleve']); $date2 = str_replace("-", "", $donnee['a_date_absence_eleve']); $nbjours = floor((strtotime($date2) - strtotime($date1))/(60*60*24)); $nb_jour_passe = '0'; $jour_passe = $donnee['d_date_absence_eleve']; while($nb_jour_passe<=$nbjours) { // incrémente en fonction du nombre de fois ou on trouve une heure de début pour un même jour if ( !isset($nb_horraire_date[$jour_passe]) ) { $nb_horraire_date[$jour_passe] = 0; } else { $nb_horraire_date[$jour_passe] = $nb_horraire_date[$jour_passe] + 1; } $nb_passage_horraire = $nb_horraire_date[$jour_passe]; $jour_passe_tt = $jour_passe.'-'.$nb_passage_horraire; $tableau_de_donnees[$jour_passe_tt]['login'] = $donnee['eleve_absence_eleve']; $tableau_de_donnees[$jour_passe_tt]['jour'] = jour_sem_sql($jour_passe); $tab_jour = array("dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"); $jour_num = $tableau_de_donnees[$jour_passe_tt]['jour']; $jour = $tab_jour[$jour_num]; if ( isset($horraire[$jour]) ) { $heure_de_debut = $horraire[$jour]['ouverture']; $heure_de_fin = $horraire[$jour]['fermeture']; $pause = $horraire[$jour]['pause']; } else { $heure_de_debut = '00:00:00'; $heure_de_fin = '00:00:00'; $pause = '00:00:00'; } $tableau_de_donnees[$jour_passe_tt]['date'] = $jour_passe; if($jour_passe != $donnee['d_date_absence_eleve'] and $jour_passe != $donnee['a_date_absence_eleve']) { $tableau_de_donnees[$jour_passe_tt]['heure_debut'] = $heure_de_debut; $tableau_de_donnees[$jour_passe_tt]['heure_fin'] = $heure_de_fin; } else { if($jour_passe === $donnee['d_date_absence_eleve']) { $tableau_de_donnees[$jour_passe_tt]['heure_debut'] = $donnee['d_heure_absence_eleve']; } else { $tableau_de_donnees[$jour_passe_tt]['heure_debut'] = $heure_de_debut; } if($jour_passe === $donnee['a_date_absence_eleve']) { $tableau_de_donnees[$jour_passe_tt]['heure_fin'] = $donnee['a_heure_absence_eleve']; } else { $tableau_de_donnees[$jour_passe_tt]['heure_fin'] = $heure_de_fin; } } if ( $donnee['justify_absence_eleve'] === 'N' ) { $tableau_de_donnees[$jour_passe_tt]['justifie'] = 'non'; } else { $tableau_de_donnees[$jour_passe_tt]['justifie'] = 'oui'; } // statistique par mois $tab_date = explode('-',$jour_passe); $mois = $tab_date[1]; $annee = $tab_date[0]; if ( !isset($tableau_de_donnees[$annee.'-'.$mois]) and isset($tableau_de_donnees[$jour_passe_tt]) ) { $tableau_de_donnees[$annee.'-'.$mois]['nb'] = 1; if ( $tableau_de_donnees[$jour_passe_tt]['justifie'] === 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_nj'] = 1; } else { $tableau_de_donnees[$annee.'-'.$mois]['nb_nj'] = 0; } if ( $tableau_de_donnees[$jour_passe_tt]['justifie'] != 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_j'] = 1; } else { $tableau_de_donnees[$annee.'-'.$mois]['nb_j'] = 0; } if ( $donnee['type_absence_eleve'] === 'A' ) { // en heure $minute_debut = convert_heures_minutes($tableau_de_donnees[$jour_passe_tt]['heure_debut']); $minute_fin = convert_heures_minutes($tableau_de_donnees[$jour_passe_tt]['heure_fin']); $temp_total_min = ( $minute_fin - $minute_debut ) - convert_heures_minutes($pause); if ( $tableau_de_donnees[$jour_passe_tt]['justifie'] != 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_j'] = $temp_total_min; } else { $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_j'] = '0'; } if ( $tableau_de_donnees[$jour_passe_tt]['justifie'] === 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_nj'] = $temp_total_min; } else { $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_nj'] = '0'; } } } else { $tableau_de_donnees[$annee.'-'.$mois]['nb'] = $tableau_de_donnees[$annee.'-'.$mois]['nb'] + 1; if ( $tableau_de_donnees[$jour_passe_tt]['justifie'] === 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_nj'] = $tableau_de_donnees[$annee.'-'.$mois]['nb_nj'] + 1; } if ( $tableau_de_donnees[$jour_passe_tt]['justifie'] != 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_j'] = $tableau_de_donnees[$annee.'-'.$mois]['nb_j'] + 1; } if ( $donnee['type_absence_eleve'] === 'A' ) { // en heure $minute_debut = convert_heures_minutes($tableau_de_donnees[$jour_passe_tt]['heure_debut']); $minute_fin = convert_heures_minutes($tableau_de_donnees[$jour_passe_tt]['heure_fin']); $temp_total_min = ( $minute_fin - $minute_debut ) - convert_heures_minutes($pause); if ( $tableau_de_donnees[$jour_passe_tt]['justifie'] != 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_j'] = $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_j'] + $temp_total_min; } if ( $tableau_de_donnees[$jour_passe_tt]['justifie'] === 'non' ) { $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_nj'] = $tableau_de_donnees[$annee.'-'.$mois]['nb_heure_nj'] + $temp_total_min; } } } // statistique global if ( !isset($tableau_de_donnees['global']) ) { $tableau_de_donnees['global']['nb'] = 1; if ( $donnee['type_absence_eleve'] === 'A' ) { // en heure $tableau_de_donnees['global']['nb_min'] = $temp_total_min; } } else { $tableau_de_donnees['global']['nb'] = $tableau_de_donnees['global']['nb'] + 1; if ( $donnee['type_absence_eleve'] === 'A' ) { // en heure $tableau_de_donnees['global']['nb_min'] = $tableau_de_donnees['global']['nb_min'] + $temp_total_min; } } $jour_passe = date("Y-m-d", mktime(0, 0, 0, $tab_date[1], $tab_date[2]+1, $tab_date[0])); $nb_jour_passe = $nb_jour_passe + 1; $i2 = $i2 + 1; } } $i = $i + 1; } return $tableau_de_donnees; }
function get($request, $filtre) { $response = new Response($request); $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); $data = array(); ouverture(); // récupération de l'utilisateur à filtrer if (isset($_GET['user'])) { $pseudo = $_GET['pseudo']; } else { $pseudo = ""; } // recherche du championnat en cours $querySaisonEnCours = "SELECT phpl_gr_championnats.id, phpl_gr_championnats.id_champ \r\n\t\t\t\t\t\t\t\tFROM phpl_gr_championnats \r\n\t\t\t\t\t\t\t\tWHERE phpl_gr_championnats.activ_prono = '1' \r\n\t\t\t\t\t\t\t\tORDER by id desc"; $resultat = mysql_query($querySaisonEnCours) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $idSaisonEnCours = $row[0]; $idChampEnCours = $row[1]; // recherche de l'id de la dernière journée $queryDerniereJournee = "SELECT max(evolutionGraph.fin)\r\n\t\t\t\t\t\t\t\tFROM phpl_pronos_graph evolutionGraph\r\n\t\t\t\t\t\t\t\tWHERE evolutionGraph.id_gr_champ = '{$idSaisonEnCours}'"; $resultat = mysql_query($queryDerniereJournee); $row = mysql_fetch_array($resultat); $idDerniereJournee = $row[0]; //liste des classements $listeChamp = array('general', 'hourra', 'mixte'); // STATISTIQUE MEILLEUR TOP/FLOP PAR CLASSEMENT //liste des stats $listeEvol = array('Evol Top', 'Evol Flop'); // Préparation requête Meilleur Top / Pire Flop $queryInitEvol = "SELECT P2.type, P2.fin, (P1.classement - P2.classement) as evolution, membre.pseudo\r\n\t\t\t\t\t\t\tFROM phpl_pronos_graph P2\r\n\t\t\t\t\t\t\tJOIN phpl_membres membre ON membre.id_prono = P2.id_membre\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND membre.actif = '1'"; $queryVariableJ1 = "\t\t\t\t\t\t\tAND P2.fin = '{$idDerniereJournee}'"; $queryVariableUSER = "******"; $queryVariableTOP = "\tORDER BY P2.type, evolution DESC, P2.participations DESC, P2.fin DESC, membre.pseudo\r\n\t\t\t\t\t\t\t\tLIMIT 0, 1"; $queryVariableFLOP = "\tORDER BY P2.type, evolution ASC, P2.participations DESC, P2.fin DESC, membre.pseudo\r\n\t\t\t\t\t\t\t\tLIMIT 0, 1"; // 1 occurence TOP, 1 occurence FLOP for ($i = 0; $i < 2; $i++) { // 1 occurence par classement (général, hourra, mixte) for ($j = 0; $j < 3; $j++) { $queryVariableP1 = "\tJOIN phpl_pronos_graph P1 ON P1.id_membre = P2.id_membre\r\n\t\t\t\t\t\t\t\t\t\t\tAND P1.id_gr_champ = P2.id_gr_champ\r\n\t\t\t\t\t\t\t\t\t\t\tAND P1.type = P2.type\r\n\t\t\t\t\t\t\t\t\t\t\tAND P1.fin = P2.fin - 1\r\n\t\t\t\t\t\t\t\t\t\tWHERE P2.id_gr_champ = '{$idSaisonEnCours}' AND P2.type = '{$listeChamp[$j]}'"; // Construction de la requête if ($pseudo == "") { $queryEvolution = $queryInitEvol . $queryVariableP1; } else { $queryEvolution = $queryInitEvol . $queryVariableUSER . $queryVariableP1; } if ($filtre == "1") { $queryEvolution = $queryEvolution . $queryVariableJ1; } // Tri if ($i == 0) { $queryEvolution = $queryEvolution . $queryVariableTOP; } else { $queryEvolution = $queryEvolution . $queryVariableFLOP; } $resultat = mysql_query($queryEvolution) or die("probleme " . mysql_error()); // Remplissage du tableau avec les tops / flops if ($row = mysql_fetch_array($resultat)) { $typeStat = $listeEvol[$i]; $type = $row["type"]; $nomPseudo = $row["pseudo"]; if ($i == 0) { $numEvolution = "+" . $row["evolution"]; } else { $numEvolution = $row["evolution"]; } $numJournee = $row["fin"]; array_push($data, array("stat" => $typeStat, "quoi" => $type, "result" => $numEvolution, "pseudo" => $nomPseudo, "quand" => $numJournee)); } } } // STATISTIQUE NB POINT +/- PAR CLASSEMENT //liste des stats $listeEvol = array('Point Top', 'Point Flop'); // Préparation requête Plus grand / Plus petit nombre de points $queryInitEvol = "SELECT P2.type, P2.fin, (P2.points - P1.points) as evolution, membre.pseudo\r\n\t\t\t\t\t\t\tFROM phpl_pronos_graph P2\r\n\t\t\t\t\t\t\tJOIN phpl_membres membre ON membre.id_prono = P2.id_membre\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND membre.actif = '1'"; $queryVariableJ1 = "\t\t\t\t\t\t\tAND P2.fin = '{$idDerniereJournee}'"; $queryVariableUSER = "******"; $queryVariableTOP = "\tORDER BY P2.type, evolution DESC, P2.participations DESC, P2.fin DESC, membre.pseudo\r\n\t\t\t\t\t\t\t\tLIMIT 0, 1"; $queryVariableFLOP = "\tORDER BY P2.type, evolution ASC, P2.participations DESC, P2.fin DESC, membre.pseudo\r\n\t\t\t\t\t\t\t\tLIMIT 0, 1"; // 1 occurence TOP, 1 occurence FLOP for ($i = 0; $i < 2; $i++) { // 1 occurence par classement (général, hourra) for ($j = 0; $j < 2; $j++) { $queryVariableP1 = "\tJOIN phpl_pronos_graph P1 ON P1.id_membre = P2.id_membre\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND P1.id_gr_champ = P2.id_gr_champ\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND P1.type = P2.type\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND P1.fin = P2.fin - 1\r\n\t\t\t\t\t\t\t\t\t\tWHERE P2.id_gr_champ = '{$idSaisonEnCours}' AND P2.type = '{$listeChamp[$j]}'"; // Construction de la requête if ($pseudo == "") { $queryEvolution = $queryInitEvol . $queryVariableP1; } else { $queryEvolution = $queryInitEvol . $queryVariableUSER . $queryVariableP1; } if ($filtre == "1") { $queryEvolution = $queryEvolution . $queryVariableJ1; } // Tri if ($i == 0) { $queryEvolution = $queryEvolution . $queryVariableTOP; } else { $queryEvolution = $queryEvolution . $queryVariableFLOP; } $resultat = mysql_query($queryEvolution) or die("probleme " . mysql_error()); // Remplissage du tableau avec les tops / flops if ($row = mysql_fetch_array($resultat)) { $typeStat = $listeEvol[$i]; $type = $row["type"]; $nomPseudo = $row["pseudo"]; $nbPoints = $row["evolution"]; $numJournee = $row["fin"]; array_push($data, array("stat" => $typeStat, "quoi" => $type, "result" => $nbPoints, "pseudo" => $nomPseudo, "quand" => $numJournee)); } } } // MEILLEUR SERIE //liste des stats $listeSerie = array('Serie Top', 'Serie Flop'); // Series en cours $queryInitSerie = "SELECT membre.pseudo as pseudo, club_dom.nom as club_dom, club_ext.nom as club_ext, phpl_pronostics.points as points, phpl_journees.numero as journee \r\n\t\t\tFROM phpl_pronostics\r\n\t\t\tJOIN phpl_matchs ON phpl_matchs.id = phpl_pronostics.id_match\r\n\t\t\t\t\t\t\tAND phpl_matchs.buts_dom IS NOT NULL\r\n\t\t\tJOIN phpl_membres membre ON membre.id = phpl_pronostics.id_membre\r\n\t\t\t\t\t\t\tAND membre.actif = '1'"; $querySerieVariable = " JOIN phpl_journees ON phpl_journees.id = phpl_matchs.id_journee\r\n\t\t\t JOIN phpl_equipes eq_dom ON eq_dom.id = phpl_matchs.id_equipe_dom\r\n\t\t\t JOIN phpl_clubs club_dom ON club_dom.id = eq_dom.id_club\r\n\t\t\t JOIN phpl_equipes eq_ext ON eq_ext.id = phpl_matchs.id_equipe_ext\r\n\t\t\t JOIN phpl_clubs club_ext ON club_ext.id = eq_ext.id_club\r\n\t\t\t WHERE phpl_pronostics.id_champ = {$idSaisonEnCours}\t\t\t\t\r\n\t\t\t ORDER BY phpl_journees.numero"; if ($pseudo == "") { $querySerie = $queryInitSerie . $querySerieVariable; } else { $querySerie = $queryInitSerie . $queryVariableUSER . $querySerieVariable; } // 1 occurence TOP, 1 occurence FLOP for ($i = 0; $i < 2; $i++) { $resultSeriesEnCours = mysql_query($querySerie) or die(mysql_error()); $derniere_journee = 0; $series = array(); $seriesTmp = array(); $series_encours = array(); while ($rowSeriesEnCours = mysql_fetch_array($resultSeriesEnCours)) { if ($derniere_journee < $rowSeriesEnCours['journee']) { $derniere_journee = $rowSeriesEnCours['journee']; } // si prono correct (série TOP) ou incorrect (série FLOP) if ($i == 0 && $rowSeriesEnCours['points'] > 0 || $i == 1 && $rowSeriesEnCours['points'] == 0) { $seriesTmp[$rowSeriesEnCours['pseudo']][$rowSeriesEnCours['club_dom']] += 1; $seriesTmp[$rowSeriesEnCours['pseudo']][$rowSeriesEnCours['club_ext']] += 1; } else { // si une série était en cours pour l'équipe dom... if ($seriesTmp[$rowSeriesEnCours['pseudo']][$rowSeriesEnCours['club_dom']] > 5) { $serie = new Serie(); $serie->user = $rowSeriesEnCours['pseudo']; $serie->equipe = $rowSeriesEnCours['club_dom']; $serie->journee_fin = $rowSeriesEnCours['journee'] - 1; $serie->journee_debut = $serie->journee_fin - $seriesTmp[$rowSeriesEnCours['pseudo']][$rowSeriesEnCours['club_dom']] + 1; $serie->duree = $serie->journee_fin - $serie->journee_debut + 1; $serie->en_cours = false; $series[] = $serie; } // si une série était en cours pour l'équipe ext... if ($seriesTmp[$rowSeriesEnCours['pseudo']][$rowSeriesEnCours['club_ext']] > 5) { $serie = new Serie(); $serie->user = $rowSeriesEnCours['pseudo']; $serie->equipe = $rowSeriesEnCours['club_ext']; $serie->journee_fin = $rowSeriesEnCours['journee'] - 1; $serie->journee_debut = $serie->journee_fin - $seriesTmp[$rowSeriesEnCours['pseudo']][$rowSeriesEnCours['club_ext']] + 1; $serie->duree = $serie->journee_fin - $serie->journee_debut + 1; $serie->en_cours = false; $series[] = $serie; } // remise à zéro des séries pour ces équipes $seriesTmp[$rowSeriesEnCours['pseudo']][$rowSeriesEnCours['club_dom']] = 0; $seriesTmp[$rowSeriesEnCours['pseudo']][$rowSeriesEnCours['club_ext']] = 0; } } // Traitement des séries foreach ($seriesTmp as $user => $serieFinSaison) { foreach ($serieFinSaison as $equipe => $nb) { if ($nb > 5) { $serie = new Serie(); $serie->user = $user; $serie->equipe = $equipe; $serie->journee_fin = $derniere_journee; $serie->journee_debut = $serie->journee_fin - $nb + 1; $serie->duree = $serie->journee_fin - $serie->journee_debut + 1; $serie->en_cours = true; $series[] = $serie; } } } // Tri du tableau par durée, pseudo usort($series, array("Serie", "cmp_serie")); if ($filtre == '0') { array_push($data, array("stat" => $listeSerie[$i], "quoi" => "histo", "result" => $series[0]->equipe, "pseudo" => $series[0]->user, "quand" => $series[0]->duree)); } else { // Traitement des séries en cours foreach ($series as $serie_encours) { if ($serie_encours->en_cours == true) { $series_encours[] = $serie_encours; } } array_push($data, array("stat" => $listeSerie[$i], "quoi" => "en cours", "result" => $series_encours[0]->equipe, "pseudo" => $series_encours[0]->user, "quand" => $series_encours[0]->duree)); } } // REPARTITION DES PRONOS // Préparation requête répartition des pronos $queryInitPronos = "SELECT prono.pronostic, count(*) as nbPronos\r\n\t\t\t\t\t\t\tFROM phpl_journees journee\r\n\t\t\t\t\t\t\tJOIN phpl_matchs matchs on matchs.id_journee = journee.id\r\n\t\t\t\t\t\t\t AND matchs.buts_dom is not null\r\n\t\t\t\t\t\t\tJOIN phpl_pronostics prono on prono.id_match = matchs.id\r\n\t\t\t\t\t\t\tJOIN phpl_membres membre on membre.id = prono.id_membre\r\n\t\t\t\t\t\t\t AND membre.actif = '1'"; $queryVariableJ1 = " AND journee.numero = '{$idDerniereJournee}'"; $queryVariableUSER = "******"; $queryVariableWHERE = " WHERE journee.id_champ = '{$idChampEnCours}'"; $queryVariableFIN = " GROUP BY prono.pronostic"; // Construction de la requête if ($pseudo == "") { $queryPronos = $queryInitPronos . $queryVariableWHERE; } else { $queryPronos = $queryInitPronos . $queryVariableUSER . $queryVariableWHERE; } if ($filtre == "1") { $queryPronos = $queryPronos . $queryVariableJ1; } $queryPronos = $queryPronos . $queryVariableFIN; $resultat = mysql_query($queryPronos) or die("probleme " . mysql_error()); // Remplissage du tableau avec les tops / flops while ($row = mysql_fetch_array($resultat)) { $typeStat = "Repart Prono"; $type = 0; $nomPseudo = $row["pronostic"]; $nbPoints = $row["nbPronos"]; $numJournee = 0; array_push($data, array("stat" => $typeStat, "quoi" => $type, "result" => $nbPoints, "pseudo" => $nomPseudo, "quand" => $numJournee)); } // REPARTITION DES RESULTATS // Préparation requête répartition des résultats $queryInitPronos = "SELECT case when matchs.buts_dom > matchs.buts_ext then '1' \r\n\t\t\t\t\t\t\t\t\t\t when matchs.buts_dom = matchs.buts_ext then 'N' \r\n\t\t\t\t\t\t\t\t\t\t else '2' end as type, count(*) as nbPronos\r\n\t\t\t\t\t\t\tFROM phpl_journees journee\r\n\t\t\t\t\t\t\tJOIN phpl_matchs matchs on matchs.id_journee = journee.id\r\n\t\t\t\t\t\t\t\tAND matchs.buts_dom is not null"; $queryVariableJ1 = " AND journee.numero = '{$idDerniereJournee}'"; $queryVariableWHERE = " WHERE journee.id_champ = '{$idChampEnCours}'"; $queryVariableFIN = " GROUP BY type"; // Construction de la requête if ($pseudo == "") { $queryPronos = $queryInitPronos . $queryVariableWHERE; } else { $queryPronos = $queryInitPronos . $queryVariableUSER . $queryVariableWHERE; } if ($filtre == "1") { $queryPronos = $queryPronos . $queryVariableJ1; } $queryPronos = $queryPronos . $queryVariableFIN; $resultat = mysql_query($queryPronos) or die("probleme " . mysql_error()); // Remplissage du tableau avec les tops / flops while ($row = mysql_fetch_array($resultat)) { $typeStat = "Repart Result"; $type = 0; $nomPseudo = $row["type"]; $nbPoints = $row["nbPronos"]; $numJournee = 0; array_push($data, array("stat" => $typeStat, "quoi" => $type, "result" => $nbPoints, "pseudo" => $nomPseudo, "quand" => $numJournee)); } // Retour du tableau au format JSON $response->body = json_encode(array("statistique" => $data)); return $response; }
function post($request, $user) { ouverture(); $response = new Response($request); if (!$this->isSecured($user)) { $response->body = "401"; return $response; } $json = file_get_contents('php://input'); if (empty($json)) { $response->body = "500:NO_DATA"; return $response; } $pronos = json_decode($json); // récupération de l'id du championnat $requete = "SELECT phpl_gr_championnats.id FROM phpl_gr_championnats WHERE phpl_gr_championnats.activ_prono='1' ORDER by id desc"; $resultat = mysql_query($requete) or die("probleme " . mysql_error()); $row = mysql_fetch_array($resultat); $gr_champ = $row[0]; foreach ($pronos as $prono) { $valeur_prono = $prono->prono; $id_match = $prono->id; // on récupère la date du match $requete = "SELECT phpl_matchs.date_reelle FROM phpl_matchs WHERE phpl_matchs.id='{$id_match}'"; $resultat = mysql_query($requete); while ($row = mysql_fetch_array($resultat)) { $date_relle = $row[0]; } // on récupère le temps avant l'expiration des pronos $requete = "SELECT tps_avant_prono FROM phpl_gr_championnats WHERE id='{$gr_champ}'"; $resultat = mysql_query($requete); while ($row = mysql_fetch_array($resultat)) { $temps_avant_prono = $row[0]; } $date_match_timestamp = format_date_timestamp($date_relle); $date_actuelle = time(); if ($valeur_prono !== "undefined") { mysql_query("DELETE FROM phpl_pronostics WHERE pronostic=' '") or die("probleme " . mysql_error()); $requete = "SELECT * FROM phpl_matchs, phpl_pronostics, phpl_membres \n\t \t\t\t\t\t WHERE phpl_membres.pseudo='{$user}'\n\t\t\t AND phpl_membres.id=phpl_pronostics.id_membre\n\t\t\t AND phpl_pronostics.id_match=phpl_matchs.id\n\t\t\t AND phpl_pronostics.id_match='{$id_match}'"; $resultat = mysql_query($requete); $nb_prono = mysql_num_rows($resultat); $requete = "SELECT id FROM phpl_membres WHERE pseudo='{$user}'"; $resultat = mysql_query($requete); while ($row = mysql_fetch_array($resultat)) { $id = $row["id"]; } // on prend en compte le prono si la date d'expiration n'est pas passée if ($date_actuelle < $date_match_timestamp + $temps_avant_prono * 60) { // si l'utilisateur avait déjà pronostiqué ce match... if ($nb_prono == "1") { if ($valeur_prono == "0") { mysql_query("DELETE FROM phpl_pronostics WHERE phpl_pronostics.id_match='{$id_match}' AND phpl_pronostics.id_membre='{$id}' AND phpl_pronostics.id_champ='{$gr_champ}'") or die("probleme " . mysql_error()); } else { mysql_query("UPDATE phpl_pronostics SET pronostic='{$valeur_prono}'\n\t\t\t\t WHERE phpl_pronostics.id_membre='{$id}'\n\t\t\t\t AND phpl_pronostics.id_match='{$id_match}'") or die("probleme " . mysql_error()); } } if ($nb_prono == "0" && $valeur_prono != "0") { mysql_query("INSERT INTO phpl_pronostics (id_membre, pronostic, id_match, id_champ) VALUES ('{$id}','{$valeur_prono}','{$id_match}', '{$gr_champ}')") or die("probleme " . mysql_error()); } elseif ($nb_prono != "1" and $nb_prono != "0") { $response->body = "500:DATA_ERROR"; return $response; } } } } $response->code = Response::OK; $response->addHeader('content-type', 'text/plain'); return $response; }