Beispiel #1
0
						<input type='text' id='crPrenom' name='prenom'         placeholder='Prénom'                 value='' required><br>
						<input type='text' id='crNom'    name='nom'            placeholder='NOM'                    value='' required><br>
						<input type='radio' name='civilite' value='M' id='civ1' class='crCiv' checked><label for='civ1'>Homme</label><br>
						<input type='radio' name='civilite' value='F' id='civ2' class='crCiv'><label for='civ2'>Femme</label><br>
						<input type='text' id='crAdr'    name='adresse'        placeholder='Adresse'                value='' required><br>
						<input type='text' id='crAdr2'   name='adresse2'       placeholder='Complément adresse'     value=''><br>
						<input type='text' id='crCP'     name='code_postal'    placeholder='09000'                  value='' required><span class='info'>Code postal</span><br>
						<input type='text' id='crVille'  name='ville'          placeholder='Ville'                  value='' required><br>
						<input type='text' id='crDN'     name='date_naissance' placeholder='jj/mm/aaaa'             value='' required><span class='info'>Date de naissance</span><br>
						<input type='text' id='crLN'     name='lieu_naissance' placeholder='Ville de naissance'     value='' required><br>
						<input type='text' id='crSecu'   name='num_secu'        placeholder='1 99 19 99 999 999 99' value='' required><span class='info'>Numéro de sécurité sociale</span><br>

						<span>Choix du médecin traitant (optionnel)</span><br>
						<select id='crMedecin' name='id_medecin'><?php 
echo "<option value='.'>Médecins traitants</option>";
foreach (MedecinRepo::getAll() as $MEDECIN) {
    echo "<option value='" . $MEDECIN['Id'] . "'>" . $MEDECIN['Nom'] . " " . $MEDECIN['Prenom'] . "</option>";
}
?>
</select>
						<br>

						<input type='hidden' name='command' value='Patient:add'>
						<input type='submit' id='sbCreer' value='Créer le patient'>
					</form>

				</article>

			</section>

		</div>
 public function update($params)
 {
     if (StaticRepo::checkParam($params['Id'], 'Numeric') && StaticRepo::checkParam($params['Prenom'], 'String45') && StaticRepo::checkParam($params['Nom'], 'String45')) {
         // si la modification réussit
         if (MedecinRepo::update($params['Id'], $params['Nom'], $params['Prenom'])) {
             $_status = 'success';
             $_title = 'Médecin modifié!';
             $_message = 'Le médecin <strong>' . $params['Prenom'] . ' ' . strtoupper($params['Nom']) . '</strong> a bien été modifié! ';
             if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
                 Response::quickResponse(200, json_encode(['status' => $_status, 'title' => $_title, 'message' => $_message]));
             } else {
                 $response = new Response();
                 $response->setHeader('Location', 'http://' . $_SERVER['HTTP_HOST'] . '/Medecins.php?status=' . $_status . '&title=' . $_title . '&message=' . $_message);
                 $response->send();
             }
         } else {
             $_status = 'error';
             $_title = 'Erreur de modification!';
             $_message = 'La modification a échoué. Réessayez!';
             if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
                 Response::quickResponse(200, json_encode(['status' => $_status, 'title' => $_title, 'message' => $_message]));
             } else {
                 $response = new Response();
                 $response->setHeader('Location', 'http://' . $_SERVER['HTTP_HOST'] . '/Medecins.php?status=' . $_status . '&title=' . $_title . '&message=' . $_message);
                 $response->send();
             }
         }
         // erreur de params
     } else {
         $_status = 'error';
         $_title = 'Erreur de paramètres!';
         $_message = 'Un des champs est incorrect. Réessayez!';
         if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
             Response::quickResponse(200, json_encode(['status' => $_status, 'title' => $_title, 'message' => $_message]));
         } else {
             $response = new Response();
             $response->setHeader('Location', 'http://' . $_SERVER['HTTP_HOST'] . '/Medecins.php?status=' . $_status . '&title=' . $_title . '&message=' . $_message);
             $response->send();
         }
     }
 }
Beispiel #3
0
 public function getSVG($params)
 {
     // conversion du mois
     if (preg_match('/^(\\d{2})\\/(\\d{4})$/', $params['mois'], $m)) {
         $mois = $m[2] . '-' . $m[1];
     } else {
         $mois = '2015-12';
     }
     // constantes et début <SVG>
     $days = ['Mon' => 0, 'Tue' => 1, 'Wed' => 2, 'Thu' => 3, 'Fri' => 4, 'Sat' => 5, 'Sun' => 6];
     $svgCalendar = "<?xml version='1.0' encoding='UTF-8' standalone='no'?>\n                        <!-- Created with PHP Maggle !!LAUUUULEU!! -->\n\n                        <svg\n                           xmlns:svg='http://www.w3.org/2000/svg'\n                           xmlns='http://www.w3.org/2000/svg'\n                           xmlns:xlink='http://www.w3.org/1999/xlink'\n                           version='1.1'\n                           width='80%'\n                           height='auto'\n                           viewbox='0 0 7700 7000'\n                           id='svg2'>\n                          <metadata\n                             id='metadata7'>\n                            <rdf:RDF>\n                              <cc:Work\n                                 rdf:about='>\n                                <dc:format>image/svg+xml</dc:format>\n                                <dc:type\n                                   rdf:resource='http://purl.org/dc/dcmitype/StillImage' />\n                                <dc:title>Calendar</dc:title>\n                              </cc:Work>\n                            </rdf:RDF>\n                          </metadata>\n                          ";
     $current = strtotime($mois);
     //on range les rendez-vous dans un tableau avec leur jour comme clé
     $RDVTemp = RDVRepo::getByMonth($current);
     $RDVs = [];
     foreach ($RDVTemp as $rdv) {
         if (!isset($RDVs[date('j', strtotime($rdv['DateRDV']))])) {
             $RDVs[date('j', strtotime($rdv['DateRDV']))] = [];
         }
         array_push($RDVs[date('j', strtotime($rdv['DateRDV']))], $rdv);
     }
     foreach (range(1, date('t', strtotime($params['mois']))) as $day) {
         //génération du SVG de la journée
         //selon si on a une date sur un ou deux chiffres, on adapte
         $date = strftime("%B   %Y", $current);
         if ($day >= 10) {
             $xDate = 1500;
         } else {
             $xDate = 1000;
         }
         //fond général + affichage de la date
         $svgCalendar .= '<g class="Day_' . $day . '">
             <!-- Case du jour -->
             <rect
                width="7700"
                height="7000"
                x="0"
                y="0"
                class="backgroundDay_' . $day . '"
                style="fill:#fff;fill-opacity:1;stroke:none" />
             
             <!-- Numéro du jour -->
             <text
                x="300"
                y="1000"
                class="TextDay_' . $day . '"
                xml:space="preserve"
                style="font-size:750px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sawasdee;-inkscape-font-specification:Sawasdee">
                    <tspan
                      x="300"
                      y="1000"
                      class="TextSpanDay_' . $day . '">' . $day . '
                    </tspan>
             </text>
             
             <!-- Texte du jour -->
             <text
                x="' . $xDate . '"
                y="1000"
                class="TextMonthDay_' . $day . '"
                xml:space="preserve"
                style="font-size:400px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sawasdee;-inkscape-font-specification:Sawasdee"><tspan
                  x="' . $xDate . '"
                  y="1000"
                  class="TextSpanMonthDay_' . $day . '">' . $date . '
                 </tspan>
             </text>
         ';
         //on défini le tableau si jamais
         if (!isset($RDVs[$day])) {
             $RDVs[$day] = [];
         }
         //on parcours les consultations du jour pour les afficher
         foreach ($RDVs[$day] as $key => $rdv) {
             $patient = PatientRepo::getById(intval($rdv['Patient_Id']));
             $medecin = MedecinRepo::getById(intval($rdv['Medecin_id']));
             //couleur suivant le nombre de consultation
             $color = $key % 2 == 0 ? 'f9f9f9' : 'ececec';
             //du svg blablabla
             $yConsult = 1500 + 700 * $key;
             $svgCalendar .= '<g
                class="ConsultationGroupDay' . $day . 'Consult' . $key . '"
                data-patient="' . $rdv['Patient_Id'] . '"
                data-medecin="' . $rdv['Medecin_id'] . '">
               <rect
                  width="7000"
                  height="700"
                  x="300"
                  y="' . $yConsult . '"
                  class="ConsultationBackgroundDay' . $day . 'Consult' . $key . '"
                  style="fill:#' . $color . ';fill-opacity:1;stroke:none" />
               <text x="400" y="' . $yConsult . '"
                  class="ConsultationTextHourDay' . $day . 'Consult' . $key . '"
                  xml:space="preserve"
                  style="font-size:400px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sawasdee;-inkscape-font-specification:Sawasdee"><tspan
                     x="400" y="' . ($yConsult + 500) . '"
                     class="ConsultationTextSpanHourDay' . $day . 'Consult' . $key . '">' . date('G:i', strtotime($rdv['DateRDV'])) . '</tspan></text>
               <g
                  id="g5136">
                 <text
                    x="6100"
                    y="' . ($yConsult + 500) . '"
                    id="text5084"
                    xml:space="preserve"
                    style="font-size:400px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#999999;fill-opacity:1;stroke:none;font-family:Sawasdee;-inkscape-font-specification:Sawasdee"><tspan
                      x="6100"
                      y="' . ($yConsult + 500) . '"
                      id="tspan5086">' . $rdv['Minute'] . 'mn</tspan></text>
                 <g
                    id="g5224">
                   <text
                      x="2500"
                      y="' . ($yConsult + 270) . '"
                      id="text5072"
                      xml:space="preserve"
                      style="font-size:250px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#4d4d4d;fill-opacity:1;stroke:none;font-family:Sawasdee;-inkscape-font-specification:Sawasdee"><tspan
                        x="2500"
                        y="' . ($yConsult + 270) . '"
                        id="tspan5074">' . $medecin['Prenom'] . '</tspan></text>
                   <text
                      x="3800"
                      y="' . ($yConsult + 270) . '"
                      id="text5186"
                      xml:space="preserve"
                      style="font-size:250px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sawasdee;-inkscape-font-specification:Sawasdee"><tspan
                        x="3800"
                        y="' . ($yConsult + 270) . '"
                        id="tspan5188"
                        style="font-size:250;fill:#4d4d4d;fill-opacity:1">' . $medecin['Nom'] . '</tspan></text>
                 </g>
                 <g
                    id="g5230">
                   <text
                      x="2500"
                      y="' . ($yConsult + 600) . '"
                      id="text5080"
                      xml:space="preserve"
                      style="font-size:250px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#4d4d4d;fill-opacity:1;stroke:none;font-family:Sawasdee;-inkscape-font-specification:Sawasdee"><tspan
                        x="2500"
                        y="' . ($yConsult + 600) . '"
                        id="tspan5082">' . $patient['Prenom'] . '</tspan></text>
                   <text
                      x="3800"
                      y="' . ($yConsult + 600) . '"
                      id="text5194"
                      xml:space="preserve"
                      style="font-size:250px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#4d4d4d;fill-opacity:1;stroke:none;font-family:Sawasdee;-inkscape-font-specification:Sawasdee"><tspan
                        x="3800"
                        y="' . ($yConsult + 600) . '"
                        id="tspan5196">' . $patient['Nom'] . '</tspan></text>
                 </g>
             </g>';
         }
         $svgCalendar .= '</g></g>';
     }
     //on met u fond (sinon on voit les consultation en arrière plan)
     $svgCalendar .= '</g></g><g class="Calendar">';
     $svgCalendar .= '<rect
                            width="7700"
                            height="6000"
                            x="0"
                            y="0"
                            class="BackgroundCalendar"
                            style="fill:#fff";fill-opacity:1;stroke:none" />';
     //position x;y de base des jours du calendrier
     $x = 1100 * $days[date('D', $current)];
     $y = 0;
     //initialisation de variables
     $cal = [];
     $week = [];
     //obligé de séparer la génération des consultation et du calendrier pour organiser le svg
     foreach (range(1, date('t', strtotime($params['mois']))) as $day) {
         //génération du svg du calendrier
         $day = date('D', $current);
         $day_nbr = date('d', $current);
         $week[$days[$day]] = date('d', $current);
         $current = strtotime("+1 day", $current);
         if ($y / 1100 % 2 == 0) {
             if ($days[$day] % 2 == 0) {
                 $color = 'f0f0f0';
             } else {
                 $color = 'fff';
             }
             $svgCalendar .= '<rect
                            width="1000"
                            height="1000"
                            ry="90"
                            x="' . $x . '"
                            y="' . $y . '"
                            class="day_' . $days[$day] . '"
                            style="fill:#' . $color . ';fill-opacity:1;stroke:none" />';
         } else {
             if ($days[$day] % 2 != 0) {
                 $color = 'f0f0f0';
             } else {
                 $color = 'fff';
             }
             $svgCalendar .= '<rect
                            width="1000"
                            height="1000"
                            ry="90"
                            x="' . $x . '"
                            y="' . $y . '"
                            class="day_' . $days[$day] . '"
                            style="fill:#' . $color . ';fill-opacity:1;stroke:none" />';
         }
         $svgCalendar .= '<text
                        x="' . ($x - 700) . '"
                        y="' . ($y + 1100 - 700) . '"
                        class="Textday_' . $days[$day] . '"
                        xml:space="preserve"
                        style="font-size:400px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sawasdee;-inkscape-font-specification:Sawasdee"><tspan
                          x="' . ($x + 260) . '"
                          y="' . ($y + 1100 - 470) . '"
                          class="TextDay_' . $days[$day] . '">' . $day_nbr . '</tspan></text>';
         $x += 1100;
         if ($days[$day] == 6) {
             $i = 0;
             array_push($cal, $week);
             $week = [];
             $y += 1100;
             $x = 0;
         }
     }
     $svgCalendar .= '</g>';
     echo $svgCalendar;
 }
Beispiel #4
0
foreach (MedecinRepo::getAll() as $MEDECIN) {
    if ($medecinOpt == $MEDECIN['Id']) {
        echo "<option value='" . $MEDECIN['Id'] . "' selected>" . $MEDECIN['Nom'] . " " . $MEDECIN['Prenom'] . "</option>";
    } else {
        echo "<option value='" . $MEDECIN['Id'] . "'>" . $MEDECIN['Nom'] . " " . $MEDECIN['Prenom'] . "</option>";
    }
}
?>
						</select>

						<input id="sbCherche" name="submit" type="submit" value="Lancer la recherche" />
					</form>

					<?php 
if ($medecinOpt != null) {
    $medecin = MedecinRepo::getById($_POST['id_medecin']);
    $stats = StatsRepo::getRDVStat($_POST['id_medecin']);
    $heures = ($stats['DureeTotale'] - $stats['DureeTotale'] % 60) / 60;
    $minutes = $stats['DureeTotale'] % 60;
    echo '<div><strong>' . $medecin['Nom'] . ' ' . $medecin['Prenom'] . '</strong>
								<p>Nombre total de consultations: ' . $stats['NombreRDV'] . '</p>
								<p>Durée totale des consultations: ' . $heures . ' Heures et ' . $minutes . ' Minutes</p></div>';
}
?>
				</article>


			</section>

		</div>
		
Beispiel #5
0
<?php

/**
 * Created by PhpStorm.
 * User: seekdasky
 * Date: 03/12/15
 * Time: 11:52
 */
require_once 'autoloader.php';
$jsonP = json_decode(file_get_contents('Docs/PatientExemple.json'), true);
$jsonM = json_decode(file_get_contents('Docs/MedecinExemple.json'), true);
$jsonR = json_decode(file_get_contents('Docs/RDVExemple.json'), true);
var_dump(StaticRepo::testConnexion());
$repo = new PatientRepo();
$repoM = new MedecinRepo();
foreach ($jsonM as $patient) {
    $repoM->add($patient['Civilite'], $patient['Prenom'], $patient['Nom']);
}
foreach ($jsonP as $patient) {
    $repo->add($patient['Civilite'], $patient['Prenom'], $patient['Nom'], $patient['Adresse'], NULL, $patient['Ville'], $patient['CodePostal'], $patient['DateNaissance'], $patient['LieuNaissance'], $patient['NumSecuriteSociale'], $patient['MedecinTraitant']);
}
foreach ($jsonR as $rdv) {
    RDVRepo::add($rdv['DateRDV'], $rdv['Duree'], $rdv['Patient_Id'], $rdv['Medecin_Id']);
}