Login   Register  
PHP Classes
elePHPant
Icontem

File: index.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of djwo  >  DateManager  >  index.php  >  Download  
File: index.php
Role: Example script
Content type: text/plain
Description: Formulaire de test
Class: DateManager
Class to manipulate dates
Author: By
Last change:
Date: 11 years ago
Size: 16,709 bytes
 

Contents

Class file image Download
<?php
if ($_GET["show"]=="classe") {
	show_source("datemanager.class.php");
	exit;
} else if ($_GET["show"]=="page") {
	show_source("index.php");
	exit;
}

?>
<!DOCTYPE HTML PUBLIC "-W3CDTD HTML 4.01 TransitionalEN">

<html>
<head>
	<title>Classe DateManager</title>
<style>
table {
	padding-left : 4px;
}

td {
	font-size : 12px;
	font-family : verdana;	
	padding-left : 4px;
}

h3 {
	font-size : 17px;
	font-family : verdana;
	font-weight : bold;
	background : #DDDDDD;
	padding-bottom : 3px;
	padding-top : 3px;
	padding-left : 4px;
}

.titre {
	font-weight : bold;
	background : #EEEEEE;
}

.form {
	border : 1px solid #000000;
	font-size: 12px; 
	font-family: Verdana; 
	font-weight: normal;
	color : #424142;
	background: #e8e8e8;
}

.methode {
	color : #3333cc;
}

.com {
	font-size : 11px;
}

A:link  {
	font : normal normal 10px/13px Verdana, Geneva, Arial, Helvetica, sans-serif;
	color : #2E5A71;;
	text-decoration : underline;
}

A:visited  {
	font : normal normal 10px/13px Verdana, Geneva, Arial, Helvetica, sans-serif;
	color : #2E5A71;;
	text-decoration : underline;
}

A:hover  {
	font : normal normal 10px/13px Verdana, Geneva, Arial, Helvetica, sans-serif;
	color : #D83D13;
	text-decoration : none;
}

ul {
	margin-top : 3px;
}
</style>
</head>

<body>
<h3>Formulaire de test</h3>
<form method="post" action="index.php">
<table border="1" cellspacing="2" cellpadding="2">
 <tr>
   <td class="titre">Format d'entrée</td>
   <td class="titre">Date</td>
   <td class="titre">Langage</td>
   <td class="titre">Premier jour de la semaine</td>
   <td class="titre">Séparateur</td>
   <td class="titre">Format de sortie / Avec les heures</td>
   <td rowspan="2" bgcolor="#0066cc"><input type="submit" value="tester" class="form"></td>
   <td rowspan="2"><a href="index.php?show=classe" target="_blank">Source classe</a><br><a href="index.php?show=page" target="_blank">Source page</a></td>
 </tr>
 <tr>
   <td><select name="input_format" class="form">
   		 <option value="dd-mm-yyyy">dd-mm-yyyy</option>
   	     <option value="mm-dd-yyyy">mm-dd-yyyy</option>
		 <option value="yyyy-mm-dd">yyyy-mm-dd</option>
		 <option value="yyyymmdd">yyyymmdd</option>
	   </select>
   </td>
   <td><input type="text" name="date" value="" size="12" class="form"></td>
   <td><select name="langage" class="form">
   	     <option value="fr">Français</option>
		 <option value="en">Anglais</option>
		 <option value="es">Espagnol</option>
	   </select>
   </td>	
   <td><select name="first_day" class="form">
   	     <option value="0">Dimanche</option>
		 <option value="1">Lundi</option>
		 <option value="2">Mardi</option>
		 <option value="3">Mercredi</option>
		 <option value="4">Jeudi</option>
		 <option value="5">Vendredi</option>
		 <option value="6">Samedi</option>
	   </select>
   </td>
   <td><input type="text" name="date_separator" size="2" value="-" class="form"></td>
   <td><select name="output_format" class="form">
   	     <option value="dd-mm-yyyy">dd-mm-yyyy</option>
		 <option value="mm-dd-yyyy">mm-dd-yyyy</option>
		 <option value="yyyy-mm-dd">yyyy-mm-dd</option>
		 <option value="yyyymmdd">yyyymmdd</option>
	   </select>
	   <select name="datetime" class="form">
	     <option value="0">Non</option>
		 <option value="1">Oui</option>
	   </select>
   </td>
 </tr>
</table>
</form>

<?php
include("datemanager.class.php");
$ma_date = new DateManager();

if ($_POST["input_format"]!="") {
	$ma_date-> input_format = $_POST["input_format"];		// Format en entrée
	$ma_date-> output_format = $_POST["output_format"];	  	// Format en sortie
	$ma_date-> datetime = $_POST["datetime"];				  	// Langage pour tout ce qui est nom du mois ou du jour
	$ma_date-> langage = $_POST["langage"];				  	// Langage pour tout ce qui est nom du mois ou du jour
	$ma_date-> firstDayOfWeek = $_POST["first_day"];		// Défini le premier jour de la semaine pour les fonctions GoNextWeek() & GoPreviousWeek() comme étant le lundi
	$ma_date-> dateSeparator = $_POST["date_separator"];	// Défini le séparateur de valeur (fonctionne uniquement pour la méthode GetOutputFormat)
	$ma_date-> date = $_POST["date"];
}

$ma_date-> Initialize();
?>
<h3>Paramétrage actuel de la classe</h3>
<table cellspacing="2" cellpadding="2" border="1" width="100%">
  <tr>
    <td class="titre">Date</td>
	<td class="titre">Format d'entrée</td>
	<td class="titre">Format de sortie / Heure</td>
	<td class="titre">Langage</td>
	<td class="titre">Premier jour de la semaine</td>
	<td class="titre">Séparateur de date</td>
  </tr>
  <tr>
	<td><?php echo $ma_date-> date; ?></td>
    <td><?php echo $ma_date-> input_format; ?></td>
	<td><?php echo $ma_date-> output_format . " / " . $ma_date-> datetime; ?></td>
	<td><?php echo $ma_date-> langage; ?></td>
	<td><?php echo $ma_date-> firstDayOfWeek; ?></td>
	<td><?php echo $ma_date-> dateSeparator; ?></td>
  </tr>
</table>

<h3>Manipulation du format</h3>
<table cellspacing="2" cellpadding="2" width="100%" border="1">
  <tr>
    <td class="titre">Méthode</td>
	<td class="titre">Résultat</td>
	<td class="titre" width="60%">Commentaire</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> Today()</td>
	<td><?php echo $ma_date-> Today(); ?></td>
	<td class="com">Date du jour (vous pouvez faire appel à cette méthode à n'importe quel moment dans votre script, elle n'affecte pas votre variable $objet-> date. Il suffit, par ex, d'écrire "echo $objet-> Today()")</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetDay()</td>
	<td><?php echo $ma_date-> GetDay() ?></td>
	<td class="com">Numéro du jour dans le mois</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetWeekDay()</td>
	<td><?php echo $ma_date-> GetWeekDay(); ?></td>
	<td class="com">Numéro du jour dans la semaine</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetMonth()</td>
	<td><?php echo $ma_date-> GetMonth(); ?></td>
	<td class="com">Numéro du mois</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetFullYear()</td>
	<td><?php echo $ma_date-> GetFullYear(); ?></td>
	<td class="com">Année pleine</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetYear()</td>
	<td><?php echo $ma_date-> GetYear(); ?></td>
	<td class="com">Année courte</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetDayName()</td>
	<td><?php echo $ma_date-> GetDayName(); ?></td>
	<td class="com">Nom du jour de la date</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetMonthName()</td>
	<td><?php echo $ma_date-> GetMonthName(); ?></td>
	<td class="com">Nom du mois de la date</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetWeek()</td>
	<td><?php echo $ma_date-> GetWeek(); ?></td>
	<td class="com">Numéro de la semaine (0-> 01-01-YYYY, 53-> 31-12-YYYY) </td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetLongDate()</td>
	<td><?php echo $ma_date-> GetLongDate(); ?></td>
	<td class="com">Date version textuelle</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetAge()</td>
	<td><?php echo $ma_date-> GetAge(); ?></td>
	<td class="com">Age en année en fonction de la date donnée et de la date du jour</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetNumDay()</td>
	<td><?php echo $ma_date-> GetNumDay(); ?></td>
	<td class="com">Retourne le numéro du jour dans l'année (de 1 à 365)</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetHour()</td>
	<td><?php echo $ma_date-> GetHour(); ?></td>
	<td class="com">Retourne les heures</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetMin()</td>
	<td><?php echo $ma_date-> GetMin(); ?></td>
	<td class="com">Retourne les minutes</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetSec()</td>
	<td><?php echo $ma_date-> GetSec(); ?></td>
	<td class="com">Retourne les secondes</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetTime()</td>
	<td><?php echo $ma_date-> GetTime(); ?></td>
	<td class="com">Retourne l'heure au format hh:mm:ss</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetTimeStamp()</td>
	<td><?php echo $ma_date-> DateTimeStamp; ?></td>
	<td class="com">Date au format TimeStamp (nb sec écoulées depuis 1970).</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetOutputFormat()</td>
	<td><?php echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Date en fonction du format de sortie et du séparateur choisi</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GetDayInMonth()</td>
	<td><?php echo $ma_date-> GetDayInMonth(); ?></td>
	<td class="com">Nombre de jours dans le mois en cours</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> IsValid()</td>
	<td><?php echo $ma_date-> IsValid(); ?></td>
	<td class="com">Date valide (retourne un booléen)</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> IsWeek()</td>
	<td><?php echo $ma_date-> IsWeek(); ?></td>
	<td class="com">Retourne "true" si la date donnée tombe un week-end, "false" sinon</td>
  </tr>
</table>

<h3>Opérations sur la date</h3>
<table cellspacing="2" cellpadding="2" width="100%" border="1">
  <tr>
    <td class="titre">Méthode</td>
	<td class="titre">Résultat</td>
	<td class="titre">Commentaire</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> AddDay(6)</td>
	<td><?php $ma_date-> AddDay(6); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Ajout de 6 jours à la date</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> AddDay(-6)</td>
	<td><?php $ma_date-> AddDay(-6); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Soustraction de 6 jours à la date</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> AddMonth(10)</td>
	<td><?php $ma_date-> AddMonth(10); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Ajout de 10 mois à la date</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> AddMonth(-5)</td>
	<td><?php $ma_date-> AddMonth(-5); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Soustraction de 5 mois à la date</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> AddYear(1)</td>
	<td><?php $ma_date-> AddYear(1); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Ajout de 1 année à la date</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> AddYear(-1)</td>
	<td><?php $ma_date-> AddYear(-1); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Soustraction de 1 année à la date</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> AddSec(86478)</td>
	<td><?php $ma_date-> AddSec(86478); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Ajout de 86478 secondes à la date</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> AddHour(5)</td>
	<td><?php $ma_date-> AddHour(5); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Ajout de 5 heures à la date</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> AddMin(5)</td>
	<td><?php $ma_date-> AddMin(5); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Ajout de 5 minutes à la date</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> Add(1, 1, 1, 24, 60, 86400)</td>
	<td><?php $ma_date-> Add(1, 1, 1, 24, 60, 86400); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Ajout de 1 jours, 1 mois, 1 an, 24 heures, 60 minutes et 84600 secondes</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> AddWeek(2)</td>
	<td><?php $ma_date-> AddWeek(2); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Ajout de 2 semaines (jour pour jour)</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GoNextWeek()</td>
	<td><?php $ma_date-> GoNextWeek(); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Va au premier jour de la semaine suivante (jour déterminé dans le form ci-dessus)</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GoPreviousWeek()</td>
	<td><?php $ma_date-> GoPreviousWeek(); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Va au premier jour de la semaine précédente (jour déterminé dans le form ci-dessus)</td>
  </tr>
  <tr>
    <td class="methode">$Objet-> GoToWeekNumber(52)</td>
	<td><?php $ma_date-> GoToWeekNumber(52); echo $ma_date-> GetOutputFormat(); ?></td>
	<td class="com">Va au premier jour de la semaine 52 (jour déterminé dans le form ci-dessus)</td>
  </tr>
</table>

<?php
// Utilisation des fonctions inclues à la classe

$date1 = new DateManager();
$date1-> input_format = "dd-mm-yyyy";
$date1-> output_format = "dd-mm-yyyy";
$date1-> langage = "fr";
$date1-> date = "30-08-2006";
$date1-> Initialize();

$date2 = new DateManager();
$date2-> input_format = "dd-mm-yyyy";
$date2-> output_format = "dd-mm-yyyy";
$date2-> langage = "fr";
$date2-> date = "01-08-2003";
$date2-> Initialize();

#--- FONCTION 1 : WhoIsSup()

$test = WhoIsSup($date1-> GetTimeStamp(), $date2-> GetTimeStamp());

if ($test==0) {
	$result1 = $date1-> GetOutputFormat() . " et " . $date2-> GetOutputFormat() . " sont égales.<br>";
} 
else if ($test==1) {
	$result1 = $date1-> GetOutputFormat() . " est supérieure à " . $date2-> GetOutputFormat() . ".<br>";
}
else {
	$result1 =	print $date1-> GetOutputFormat() . " est inférieure à " . $date2-> GetOutputFormat() . ".<br>";
}


#--- FONCTION 2 :  DayDiff()
$nbDayDiff = DayDiff($date1-> DateTimeStamp, $date2-> DateTimeStamp);
?>
<h3>Utilisation des fonctions annexes</h3>
<table cellspacing="2" cellpadding="2" width="100%" border="1">
  <tr>
    <td class="titre">Fonction</td>
	<td class="titre">Résultat</td>
	<td class="titre">Commentaire</td>
  </tr>
  <tr>
    <td class="methode">WhoIsSup($date1 : DateTimeStamp, $date2 : DateTimeStamp) : integer;</td>
	<td><?php echo $result1; ?></td>
	<td class="com">Quelle date est la plus grande. "0" => égalité . "1" => date1 supérieure . "2" => date2 supérieure</td>
  </tr>
  <tr>
    <td class="methode">DayDiff($date1 : DateTimeStamp, $date2 : DateTimeStamp) : integer;</td>
	<td><?php print "$nbDayDiff jours séparent les deux dates ci-dessus."; ?></td>
	<td class="com">Nombre de jours séparant 2 dates.</td>
  </tr>
</table>
<h3>Notes</h3>
<table cellspacing="2" cellpadding="2" width="100%" border="1">
  <tr>
    <td class="titre">Objet</td>
	<td class="titre">Commentaire</td>
  </tr>
  <tr>
    <td class="methode">Limites de dates</td>
	<td class="com">Sous windows, la classe ne peut prendre en compte que les dates comprises entre le 02 janv. 1970 et le 19 janv. 2038.
	<br>Sous linux, elle ne peut prendre en compte que les dates comprises entre le 13 déc. 1901 et le 19 janv. 2038.</td>
  </tr>
  <tr>
    <td class="methode">Traductions</td>
	<td class="com">L'anglais, l'espagnol et le français sont traduits. Pour ajouter d'autres langues, éditez le fichiez "datemanager-lang.inc.php".</td>
  </tr>
  <tr>
    <td class="methode">A quoi sert la variable firstDayOfWeek ?</td>
	<td class="com">La variable firstDayOfWeek permet de préciser aux méthodes GoNextWeek(), GoPreviousWeek(), GoToWeekNumber(11) sur quel jour de la semaine elles doivent positionner la date. Par défaut,
	elle se positionne sur le dimanche. Pour se positionner sur le lundi, il aurait fallu déclarer la variable comme suit : $Objet-> firstDayOfWeek = 1 .</td>
  </tr>
  <tr>
    <td class="methode">Spécification d'une date</td>
	<td class="com">Lorsque vous spécifiez une date à la classe, elle doit correspondre au masque d'entré spécifié. Si votre format d'entrée est "yyyymmdd", vous devez passer la date, par ex., "20030130".</td>
  </tr>
  <tr>
    <td class="methode">Les heures / minutes / secondes</td>
	<td class="com">Autant il est utile de préciser le format de la date, autant les informations d'heures ne variant pas, la classe
	considère que le format est unique et correspond au masque hh:mm:ss. Pour travailler avec les heures, vous pouvez donc procéder comme suit : $Objet-> date = "12-04-1979 12:00:00". 
	Les heures fonctionnent au format 24h. Pour obtenir les heures en sortie, il suffit de mettre la valeur " 1 " à la variable $Objet-> datetime. </td>
  </tr>
  <tr>
    <td class="methode" valign="top">Valeurs par défaut</td>
	<td class="com">La classe peut fonctionner en standalone, en précisant 0 ou x paramètres. Suivant les variables non précisées, les valeurs par défaut suivantes seront affectées :
	<ul>
	  <li>date : la date du jour</li>
	  <li>input_format : "mm-dd-yyyy"</li>
	  <li>output_format : "mm-dd-yyyy"</li>
	  <li>firstDayOfWeek : 0 (dimanche)</li>
	  <li>dateSeparator : "-"</li>
	  <li>datetime : 0 (pas d'informations sur l'heure)</li>
	</ul>
	</td>
  </tr>
</table>
</body>
</html>