コード例 #1
0
function nbjoursouvres($mois, $annee)
{
    $date_depart = strtotime($annee . "-" . $mois . "-01");
    $samedi = 0;
    $dimanche = 0;
    $ferie1 = 0;
    $nbjoursMois = nbjoursMois($mois, $annee);
    $jour = jour_semaine($mois, 1, $annee);
    $feries = getFeries($date_depart);
    for ($i = 1; $i <= $nbjoursMois; $i++) {
        switch (true) {
            case in_array(mktime(0, 0, 0, $mois, $i, $annee), $feries):
                $ferie1++;
                break;
            case $jour == 6:
                $samedi++;
                break;
            case $jour == 7:
                $dimanche++;
                break;
        }
        if ($jour == 7) {
            $jour = 0;
        }
        $jour++;
    }
    $jourouvre = $nbjoursMois - $ferie1 - $dimanche - $samedi;
    return $jourouvre;
}
コード例 #2
0
$GLOBALS['retour_page'] = 'chx_date.php?type=visu_prepaie';
$GLOBALS['titre_page'] = '<div class="adm">Pré-Paie de ' . $nomMois . ' ' . $annee . '</div>';
include "menu/menu_global.php";
?>
 
        <!-- Affiche Bonjour Prénom Nom de la personne en loguée + date du jour-->                                                     
        <?php 
$date_depart = strtotime($annee . "-" . $mois . "-01");
$date_arrive = strtotime($annee . "-" . $mois . "-31");
$samedi = 0;
$dimanche = 0;
$ferie1 = 0;
$tab_we = array();
$nbjoursMois = nbjoursMois($mois, $annee);
//connaitre le nb de jours dans le mois
$jour = jour_semaine($mois, 1, $annee);
$feries = getFeries($date_depart, $date_arrive);
for ($i = 1; $i <= $nbjoursMois; $i++) {
    switch (true) {
        case in_array(mktime(0, 0, 0, $mois, $i, $annee), $feries):
            $ferie1++;
            break;
        case $jour == 6:
            $samedi++;
            array_push($tab_we, $i);
            break;
        case $jour == 7:
            $dimanche++;
            array_push($tab_we, $i);
            break;
    }
コード例 #3
0
/**
 * Génère le calendrier, le select, la légende et les styles pour les congés
 * 
 * @param int $id : l'ID du collaborateur dont on désire les congés
 * @return array : contient chaque morceau généré : style, select, recap et calendrier
 */
function generer_calendrier($id, $mois, $annee)
{
    $retour = array();
    /*
     * préparation de la liste des types d'absence, des styles et du select et du tableau
     */
    $type_absences = array();
    $result_type_absence = $GLOBALS['connexion']->query("SELECT * FROM TYPE_ABSENCE");
    $retour['select'] = 'Choix du type de congés<br /><select name="type">';
    $retour['style'] = '';
    $retour['recap'] = '<table border="1"><thead><tr><th>type</th><th style="width:70px;">Validé</th><th style="width:70px;">Demandé</th></tr></thead><tbody>';
    while ($row = $result_type_absence->fetch_assoc()) {
        $nom = str_replace(' ', '', $row['TYA_LIBELLE']);
        $type_absences[$row['TYA_NO']] = array('nom' => $nom, 'valide' => $row['TYA_COULEUR'], 'demande' => $row['TYA_COULEUR_DEM']);
        $retour['style'] .= ecrire_style($nom, $row['TYA_COULEUR_DEM']);
        $retour['style'] .= ecrire_style($nom . '-valid', $row['TYA_COULEUR']);
        $retour['select'] .= option($nom, $row['TYA_LIBELLE']);
        $retour['recap'] .= ajout_row_conge($row['TYA_LIBELLE'], $nom);
    }
    $retour['select'] .= '</select>';
    $retour['recap'] .= '</tbody></table>';
    /*
     * récupération de la liste des congés validés ou non pour la période donnée
     */
    $conges = array();
    $query = "SELECT TYA_NO, ABS_JOUR, ABS_NBH, ABS_VALIDATION FROM ABSENCE WHERE ABS_MOIS = '" . $mois . "' AND ABS_ANNEE = '" . $annee . "' AND COL_NO = '" . $id . "' AND ABS_ETAT != 3";
    $result = $GLOBALS['connexion']->query($query);
    while ($row = $result->fetch_assoc()) {
        $conges[$row['ABS_JOUR']] = $type_absences[$row['TYA_NO']]['nom'];
        $conges[$row['ABS_JOUR']] .= $row['ABS_VALIDATION'] ? '-valid' : '';
        $conges[$row['ABS_JOUR']] .= $row['ABS_NBH'] == 1 ? '' : '-b';
    }
    /*
     * préparation du tableau des jours
     */
    $semaine = 1;
    //nombre de semaine dans un mois
    $table = array();
    //table du mois
    $nbjoursMois = nbjoursMois($mois, $annee);
    //connaitre le nb de jours dans le mois
    $jour = jour_semaine($mois, 1, $annee);
    //connaitre le jour du premier du mois
    $feries = getFeriesAnnee($annee);
    for ($i = 1; $i <= $nbjoursMois; $i++) {
        switch (true) {
            case isset($conges[$i]):
                $table[$semaine][$jour]['classe'] = $conges[$i];
                $table[$semaine][$jour]['classe'] .= strpos($conges[$i], 'valid') === false ? ' clickable' : '';
                break;
            case in_array(mktime(0, 0, 0, $mois, $i, $annee), $feries):
                $table[$semaine][$jour]['classe'] = 'feries';
                break;
            case $jour == 6:
                $table[$semaine][$jour]['classe'] = 'samedi';
                break;
            case $jour == 7:
                $table[$semaine][$jour]['classe'] = 'dimanche';
                break;
            default:
                $table[$semaine][$jour]['classe'] = 'clickable';
                break;
        }
        $table[$semaine][$jour]['valeur'] = $i;
        if ($jour == 7) {
            $jour = 0;
            $semaine++;
        }
        $jour++;
    }
    $retour['calendrier'] = generer_tableau($table);
    return $retour;
}
コード例 #4
0
ファイル: prof_ajout_abs.php プロジェクト: rhertzog/lcs
// Première étape
    if($passage_form != 'manuel') {
    	//horaire dans lequel nous nous trouvons actuellement
    	// en tenant compte du jour différent
		if (getSettingValue("creneau_different") != 'n') {
			if (date("w") == getSettingValue("creneau_different")) {
				$horaire = periode_heure_jourdifferent(periode_actuel_jourdifferent(date('H:i:s')));
			} else {
				$horaire = periode_heure(periode_actuel(date('H:i:s')));
			}
		}else {
			$horaire = periode_heure(periode_actuel(date('H:i:s')));
		}

		// jour de la semaine au format chiffre
		$jour_aujourdhui = jour_semaine($datej);

    	// On vérifie si la menuBarre n'a pas renvoyé une classe (nouvelle version)
    	if ((getSettingValue("utiliserMenuBarre") != "no") AND $_SESSION["statut"] == "professeur" AND $menuBar == 'ok') {
			$d_heure_absence_eleve = $horaire["debut"];
			$a_heure_absence_eleve = $horaire["fin"];
			$classe = isset($_GET["groupe"]) ? $_GET["groupe"] : NULL;
			$etape = '2';
			$passage_auto = 'oui';
		}else{
			// on vérifie si un emploi du temps pour ce prof n'est pas disponible (ancienne version)
			$sql = 'SELECT * FROM edt_classes WHERE prof_edt_classe = "'.$_SESSION["login"].'" AND jour_edt_classe = "'.$jour_aujourdhui['chiffre'].'" AND semaine_edt_classe = "'.$type_de_semaine.'" AND heuredebut_edt_classe <="'.date('H:i:s').'" AND heurefin_edt_classe >="'.date('H:i:s').'"';
			$req = mysqli_query($GLOBALS["mysqli"], $sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysqli_error($GLOBALS["mysqli"]));
			$nbre = mysqli_num_rows($req);
			if ($nbre >= 1) {
				// on fait une boucle qui va faire un tour pour chaque enregistrement