コード例 #1
0
ファイル: function_abs.php プロジェクト: rhertzog/lcs
function gerer_absence($id='',$eleve_id,$retard_absence,$groupe_id='',$edt_id='',$jour_semaine='',$creneau_id='',$debut_ts,$fin_ts,$date_saisie,$login_saisie='',$action)
{

	global $prefix_base;

	/*
	$eleve_id -> login de l'élève
	$retard_absence -> R ou A
	$groupe_id -> vide
	$edt_id -> vide
	$jour_semaine -> vide
	$creneau_id -> vide
	$debut_ts -> debut en timestamp / mktime(heure, minute, 0, mois, jour, annee);
	$fin_ts -> fin en timestamp / mktime(heure, minute, 0, mois, jour, annee);
	$date_saisie -> date de saisi en timestamp / mktime(heure, minute, 0, mois, jour, annee);
	$login_saisie -> login de la personne pour la saisi
	$action -> ajouter
	*/

	if ( $action === 'ajouter' )
	{

		// on vérifie qu'une absence ne se trouve pas entre le début et la fin de celle saisie
		$cpt_ligne = old_mysql_result(mysqli_query($GLOBALS["mysqli"], "SELECT count(*)
										   		 FROM " . $prefix_base . "absences_rb
										   		WHERE eleve_id = '" . $eleve_id . "'
										   		  AND retard_absence = '" . $retard_absence . "'
										   		  AND debut_ts >=  '" . $debut_ts . "'
										   		  AND fin_ts <= '" . $fin_ts . "'"
										 	  ),0);

		// s'il n'y aucun enregistrement qui correspond alors on l'ajoute
		if ( $cpt_ligne == 0 )
		{

			$saisie_sql = "INSERT INTO absences_rb
						   		(eleve_id, retard_absence, groupe_id, edt_id, jour_semaine, creneau_id, debut_ts, fin_ts, date_saisie, login_saisie)
						   VALUES
						   		('" . $eleve_id . "', '" . $retard_absence . "', '" . $groupe_id . "', '0', '" . $jour_semaine . "', '" . $creneau_id . "', '" . $debut_ts . "', '" . $fin_ts . "', '" . $date_saisie . "', '" . $_SESSION["login"] . "')";
			$insere_abs = mysqli_query($GLOBALS["mysqli"], $saisie_sql) OR DIE ('Erreur SQL !'.$saisie_sql.'<br />'.mysqli_error($GLOBALS["mysqli"]));//('Impossible d\'enregistrer l\'absence de '.$eleve_absent[$a]);

		}
		else
		{

			// nous allons lister toutes les enregistrement
			$requete = ("SELECT *
				 		   FROM " . $prefix_base . "absences_rb
					 	  WHERE eleve_id = '" . $eleve_id . "'
					   		AND retard_absence = '" . $retard_absence . "'
					   		AND debut_ts >=  '" . $debut_ts . "'
					   		AND fin_ts <= '" . $fin_ts . "'"
				   	   );

			$execution = mysqli_query($GLOBALS["mysqli"], $requete) or die('Erreur SQL !'.$requete.'<br />'.mysqli_error($GLOBALS["mysqli"]));
        	while ($donnee = mysqli_fetch_array($execution))
        	{

				// si le debut est la fin sont compris entre les deux valeur mais égale à aucun début
				// on les supprimes
				if ( $debut_ts > $donnee['debut_ts'] and $fin_ts < $donnee['fin_ts'] )
				{

					gerer_absence($donnee['id'],$eleve_id,$retard_absence,'','','','',$donnee['debut_ts'],$donnee['fin_ts'],$donnee['date_saisie'],'','supprimer');

				}

				// si le debut est égale à la valeur de début et que la fin est inférieur à la fin
				// ???????????????????????
				// en attente de plus d'information

			}

		}

	}

	if ( $action === 'supprimer' )
	{

		if ( !verif_num($id) )
		{

			$req_delete = "DELETE
						     FROM " . $prefix_base . "absences_rb
						    WHERE id = '" . $id . "'
						      AND retard_absence = '" . $retard_absence . "'
						      AND debut_ts >=  '" . $debut_ts . "'
					   		  AND fin_ts <= '" . $fin_ts . "'
					  	  ";

        	$req_sql = mysqli_query($GLOBALS["mysqli"], $req_delete);

		}

	}

}
コード例 #2
0
ファイル: ajout_abs.php プロジェクト: rhertzog/lcs
        	/* gerer_absence($id,$eleve_id,$retard_absence,$groupe_id='',$edt_id='',$jour_semaine='',$creneau_id='',$debut_ts,$fin_ts,$date_saisie,$login_saisie) */

			$explode_heuredeb = explode(":", $d_heure_absence_eleve_ins);
			$explode_heurefin = explode(":", $a_heure_absence_eleve_ins);
			$explode_date_debut = explode("/", date_fr($d_date_absence_eleve_ins));
			$explode_date_fin = explode("/", date_fr($a_date_absence_eleve_ins));
			$debut_ts = mktime($explode_heuredeb[0], $explode_heuredeb[1], 0, $explode_date_debut[1], $explode_date_debut[0], $explode_date_debut[2]);
			$fin_ts = mktime($explode_heurefin[0], $explode_heurefin[1], 0, $explode_date_fin[1], $explode_date_fin[0], $explode_date_fin[2]);
			$date_saisie = mktime(date("H"), date("i"), 0, date("m"), date("d"), date("Y"));
			$login_saisie = $_SESSION['login'];
			$action = 'ajouter';

			if ( $action_sql === "ajouter" )
			{

				gerer_absence('',$eleve_absence_eleve,'A','','','','',$debut_ts,$fin_ts,$date_saisie,$login_saisie,$action);

			}
			elseif ( $action_sql === "modifier" )
			{

				modifier_absences_rb($id,$debut_ts,$fin_ts);

			}

        	/*                                              */
        	/* ******************************************** */


			// on vérifie si une absences est déja définie
コード例 #3
0
ファイル: ajout_ret.php プロジェクト: rhertzog/lcs
				        /* gerer_absence($id,$eleve_id,$retard_absence,$groupe_id='',$edt_id='',$jour_semaine='',$creneau_id='',$debut_ts,$fin_ts,$date_saisie,$login_saisie) */

						$explode_heuredeb = explode(":", $d_heure_absence_eleve_form);
						$explode_heurefin = explode(":", $d_heure_absence_eleve_form);
						$explode_date_debut = explode("/", date_fr($d_date_absence_eleve_form));
						$explode_date_fin = explode("/", date_fr($d_date_absence_eleve_form));
						$debut_ts = mktime($explode_heuredeb[0], $explode_heuredeb[1], 0, $explode_date_debut[1], $explode_date_debut[0], $explode_date_debut[2]);
						$fin_ts = mktime($explode_heurefin[0], $explode_heurefin[1], 0, $explode_date_fin[1], $explode_date_fin[0], $explode_date_fin[2]);
						$date_saisie = mktime(date("H"), date("i"), 0, date("m"), date("d"), date("Y"));
						$login_saisie = $_SESSION['login'];
						$action = 'ajouter';

						if ( $action_sql === "ajouter" )
						{

							gerer_absence('',$id_absence_eleve_form,'R','','','','',$debut_ts,$fin_ts,$date_saisie,$login_saisie,$action);

						}

						if ( $action_sql === "modifier" )
						{

							modifier_absences_rb($id,$debut_ts,$fin_ts);

						}

        				/*                                              */
        				/* ******************************************** */

                      if ( $action_sql === "ajouter" ) { $requete="INSERT INTO absences_eleves (type_absence_eleve,eleve_absence_eleve,justify_absence_eleve,info_justify_absence_eleve,motif_absence_eleve,d_date_absence_eleve,a_date_absence_eleve,d_heure_absence_eleve,saisie_absence_eleve) values ('R','$id_absence_eleve_form','$justify_absence_eleve_form','$info_justify_absence_eleve_form','$motif_absence_eleve_form','$d_date_absence_eleve_form','$a_date_absence_eleve_form','$d_heure_absence_eleve_form','".$_SESSION['login']."')"; }
                      if ( $action_sql === "modifier" ) { $requete="UPDATE absences_eleves SET justify_absence_eleve = '$justify_absence_eleve_form', info_justify_absence_eleve = '$info_justify_absence_eleve_form', motif_absence_eleve = '$motif_absence_eleve_form', d_date_absence_eleve = '$d_date_absence_eleve_form', a_date_absence_eleve = '$a_date_absence_eleve_form', d_heure_absence_eleve = '$d_heure_absence_eleve_form', saisie_absence_eleve = '".$_SESSION['login']."' WHERE eleve_absence_eleve = '".$id_absence_eleve_form."' and id_absence_eleve = '".$id."'"; }