* @author Loic Vinet */ include("session.php"); function getEaster ($iYear = null) { if (is_null ($iYear)) { $iYear = (int)date ('Y'); } $iN = $iYear - 1900; $iA = $iN%19; $iB = floor (((7*$iA)+1)/19); $iC = ((11*$iA)-$iB+4)%29; $iD = floor ($iN/4); $iE = ($iN-$iC+$iD+31)%7; $iResult = 25-$iC-$iE; if ($iResult > 0) { $iEaster = strtotime ($iYear.'/04/'.$iResult); } else { $iEaster = strtotime ($iYear.'/03/'.(31+$iResult)); } return $iEaster; } function getNextOpenDay ($iDate, $iDays) { $aBankHolidays = array ( '1_1', '1_5', '8_5', '14_7', '15_8', '1_11', '11_11', '25_12' ); if (function_exists ('easter_date')) { $iEaster = easter_date ((int)date('Y'), $iDate); } else { $iEaster = getEaster ((int)date('Y'), $iDate); } $aBankHolidays[] = date ('j_n',$iEaster); $aBankHolidays[] = date ('j_n', $iEaster + (86400*39)); $aBankHolidays[] = date ('j_n', $iEaster + (86400*49)); //print_r ($aBankHolidays); $iEnd = $iDays * 86400; $i = $iDate; while ($i < $iEnd) { $i = strtotime('+1 day', $i); if (in_array (date ('w', $iDate+$i),array (0,6) ) || in_array (date ('j_n', $iDate+$i), $aBankHolidays)) { $iEnd = strtotime ('+1 day', $iEnd); $iDays ++; } } return $iDays; } //$iDate = strtotime ('2006-06-30'); //echo 'Prochain jour ouvrable partir du 30/06/2006, avec un delta de 2 jours : ', date ('d/m/Y', $iDate + (86400*$iDays)); //exit() if(file_exists($_SESSION['config']['lang'].'.php')) { include($_SESSION['config']['lang'].'.php'); } else { $_SESSION['error'] = "Language file missing...
"; } require_once("class_functions.php"); require_once("class_db.php"); $db = new dbquery(); $db->connect(); if( count($_POST) > 0 ) { $_SESSION['courrier']['chk_date_limite'] = 'N'; //CheckBox checked if( isset($_POST['date_limite_enabled']) && count($_POST['date_limite_enabled']) > 0 ) { $_SESSION['courrier']['chk_date_limite'] = 'Y'; if( isset($_SESSION['courrier']['id']) && !empty($_SESSION['courrier']['id']) ) { $db->query("SELECT DATE_FORMAT(CUSTOM_D2, '%Y-%m-%d') as DATE FROM ".$_SESSION['ressources'][0]['tablename']." WHERE RES_ID = ".$_SESSION['courrier']['id']); $line = $db->fetch_object(); if( $line->DATE ) { $doctype_tt_date = $line->DATE; } } //DOCTYPE else { $db->query("SELECT DELAI_TRAITEMENT as DATE FROM ".$_SESSION['tablename']['doctypes']." WHERE TYPE_ID = '".$_SESSION['courrier']['type_courrier']."'" ); $line = $db->fetch_object(); if( $line->DATE ) { $iDate = time(); $iDays = getNextOpenDay ($iDate, $line->DATE); $doctype_tt_date = date ('Y-m-d', $iDate + (86400*$iDays)); } else { $doctype_tt_date = date('Y-m-d'); } } $tab = array(); $tab = explode("-", $doctype_tt_date ); $_SESSION['courrier']["jour_limite"] = $tab[2]; if(preg_match("/^[0-9]$/", $tab[2]) ) { $_SESSION['courrier']["jour_limite"] = "0".$tab[2]; } $_SESSION['courrier']["mois_limite"] =$tab[1]; if(preg_match("/^[0-9]$/", $tab[1])) { $_SESSION['courrier']["mois_limite"] = "0".$tab[1]; } $_SESSION['courrier']["annee_limite"]= $tab[0]; } //Day,month,year values have changed if( isset($_POST['jour']) || isset($_POST['mois']) || isset($_POST['annee']) ) { if( isset($_REQUEST['jour']) ) { if( $_SESSION['courrier']["jour_limite"] != sprintf('%02d',$_REQUEST['jour']) ){ $focus = "mois"; } $_SESSION['courrier']["jour_limite"] = sprintf('%02d',$_REQUEST['jour']); } if( isset($_REQUEST['mois']) ) { if( $_SESSION['courrier']["mois_limite"] != sprintf('%02d',$_REQUEST['mois']) ) $focus = "annee"; $_SESSION['courrier']["mois_limite"] = sprintf('%02d',$_REQUEST['mois']); } if( isset($_REQUEST['annee']) ) { $_SESSION['courrier']["annee_limite"] = $_REQUEST['annee']; } } } //Refresh or load else { if( isset($_SESSION['courrier']["new_type_courrier"]) && $_SESSION['courrier']["new_type_courrier"] ) { $type_has_changed = true; $_SESSION['courrier']["new_type_courrier"] = false; } else { $type_has_changed = false; } $db = new dbquery(); $db->connect(); $db->query("SELECT DELAI_TRAITEMENT as DATE FROM ".$_SESSION['tablename']['doctypes']." WHERE TYPE_ID = '".$_SESSION['courrier']['type_courrier']."'" ); $line = $db->fetch_object(); if( $line->DATE ) { $iDate = time(); $iDays = getNextOpenDay ($iDate, $line->DATE); $doctype_tt_date = date ('Y-m-d', $iDate + (86400*$iDays)); } else { $doctype_tt_date = NULL; } //RES_X if( isset($_SESSION['courrier']['id']) && !empty($_SESSION['courrier']['id']) ) $db->query("SELECT DATE_FORMAT(CUSTOM_D2, '%Y-%m-%d') as DATE FROM ".$_SESSION['ressources'][0]['tablename']." WHERE RES_ID = ".$_SESSION['courrier']['id']); else if( isset($_SESSION['courrier']['res_id']) && !empty($_SESSION['courrier']['res_id']) ) $db->query("SELECT DATE_FORMAT(CUSTOM_D2, '%Y-%m-%d') as DATE FROM ".$_SESSION['ressources'][0]['tablename']." WHERE RES_ID = ".$_SESSION['courrier']['res_id']); else $db->query("SELECT DATE_FORMAT(CUSTOM_D2, '%Y-%m-%d') as DATE FROM ".$_SESSION['ressources'][0]['tablename']." WHERE RES_ID = 0"); $line = $db->fetch_object(); $resx_tt_date = $line->DATE; //DOC_TYPE CHANGED if($type_has_changed) { $tt_date = $doctype_tt_date; } else { //validation / qualification if( $resx_tt_date == "0000-00-00" || $resx_tt_date == NULL) { $tt_date = NULL; } else if( $resx_tt_date != NULL && $resx_tt_date != "0000-00-00" ) { $tt_date = $resx_tt_date; } else { $tt_date = $doctype_tt_date; } } if( $tt_date == NULL ) { $_SESSION['courrier']['chk_date_limite'] = 'N'; $tab = array(); $tab = explode("-",date('Y-m-d') ); } else { $_SESSION['courrier']['chk_date_limite'] = 'Y'; $tab = array(); $tab = explode("-", $tt_date ); $_SESSION['courrier']["jour_limite"] = $tab[2]; if(preg_match("/^[0-9]$/", $tab[2]) ) { $_SESSION['courrier']["jour_limite"] = "0".$tab[2]; } $_SESSION['courrier']["mois_limite"] =$tab[1]; if(preg_match("/^[0-9]$/", $tab[1])) { $_SESSION['courrier']["mois_limite"] = "0".$tab[1]; } $_SESSION['courrier']["annee_limite"]= $tab[0]; } } ?> <?php echo $_SESSION['config']['applicationname']; ?>

: />

: " maxlength="2" onchange="this.form.submit();return false;" /> : " maxlength="2" onchange="this.form.submit();return false;" /> : " maxlength="4" onchange="this.form.submit();return false;" /> *

document.forms[0].elements['".$focus."'].focus(); "; ?>