par
JVL » 26 nov. 2013, 16:46
Alors désolé mais j'ai un peut de mal avec tout les notions auqu'elle tu fait référence, je ne code pas proprement mais j'aime comprendre ce que je fait.
Je fait des requètes dans ma page en elle-même, je souhait juste à déclencher la validation de ma forme sans bouton. J'espère ne pas avoir besoin de crée plusieurs fichier pour ce petit détail de mon appli.
Je te propose de regarder mon code. je souhait seulement déclencher mes requètes.
<!DOCTYPE html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
define('GLPI_ROOT', '..');
include (GLPI_ROOT . "/inc/includes.php");
Session::checkRight("reports", "r");
Html::header($LANG['Menu'][6],$_SERVER['PHP_SELF'],"utils","report"); // appel de l'entête de GLPI
require_once('../inc/connection.php'); // connection à la bdd
$valeur_par_defaut = date('d/m/Y'); // On check si $_post['date'] existe, si oui on l'affiche, sinon on affiche la date du jour
//$date_formulaire = (!isset($_POST['date'])) ? $_POST['date'] : $valeur_par_defaut;
if(isset($_GET['datedajout'])) {
$date_formulaire = $_GET['datedajout'];
}
else if(!isset($_POST['date'])){
$date_formulaire = $valeur_par_defaut;
}
else {
$date_formulaire = $_POST['date'];
}
?>
<script type="text/javascript" src="/glpi/lib/extrajs/calendrier2.js"></script> <!-- javascript du calendrier-->
<script type="text/javascript"> <!--fonction js d'ouverture de la page de rapport d'activiter (projet) -->
<!--/*--><![CDATA[//><!--
function soumettre(id)
{
document.getElementById(id).target = 'formulaire';
window.open('', 'formulaire','width=1600,height=500');
}
//--><!]]>
</script>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="/glpi/css/calendrier2.css" /><!-- css du calendrier -->
<h1><center>Suivi du Réalisé</center></h1>
<div id='page'>
<DIV class=center>
<TABLE border=2 class=tab_cadrehov>
<TBODY>
<tr>
<form method="post" action="teststagiaire.php" name="affi" > <th colSpan="5">Suivi des projets</th>
</tr>
<tr>
<th colSpan=5> <input name="date" id="date" class="calendrier" size="10" value="<?=$date_formulaire;?>" onChange="this.form.submit();" />
</th>
</tr>
</form>
<TR>
<TH><center>Projet</center></TH>
<TH><center>Durée</center></TH>
<TH><center>Catégorie</center></TH>
<TH><center>Commentaire</center></TH>
<TH><center>Actions</center></TH>
</TR>
<?php // requete de selection des entrées(en fonction de la date et de la personne) puis d'affichage.
$format = "%d/%m/%Y";
$string=$date_formulaire;
$name=$_SESSION["glpiname"];
$selection = $connection->query('SELECT * FROM `glpi_suivi_travail` WHERE `Name_suivi`= \''.$name.'\' AND `Date_suivi` = str_to_date(\''.$string.'\', \''.$format.'\')');
while( $enregistrement = $selection->fetch(PDO::FETCH_OBJ)){ // Voici une boucle qui pour chaque résultat boucle sur une ligne du tableau. (+ convertion)
$nombre = $enregistrement->Duree_suivi;
// Le temps travaillé étant stocké en minute, il faut le convertir pour l'afficher sous forme heure:minute. Il est présent dans le while, car il faut convertir chaque "duree" retourner par la requète
//initialisation
$secondes = 0;
$minutes = 0;
$heure = 0;
//convertion
$minutes = $nombre*1;
$secondes = bcmod($nombre,"60");
$minutes = floor($minutes);
while($secondes >= "60") //ajoute une minute toutes les 60 secondes
{
$secondes = $secondes-60;
$minutes++;
}
while($minutes >= "60")//ajoute une heure toutes les 60 minutes
{
$minutes = $minutes-60;
$heure++;
}
if($minutes < "10") // ajoute le deuxieme 0 pour la présentation
{
$minutes = "0".$minutes;
}
if($secondes < "10") // ajoute le deuxieme 0 pour la présentation
{
$secondes = "0".$secondes;
}
if($heure < "10") // ajoute le deuxieme 0 pour la présentation
{
$heure = "0".$heure;
}
$resultat = $heure." h ".$minutes; //contient le résultat final
// affichage dans un tableau les résultats: projet duree converti, categorie du projet, quel projet, affichage des boutons d'actions
echo '<TR> <form method="POST" action="action.php"> <input type=hidden name="id_suivi" value="',$enregistrement->ID_suivi,'">';
echo '<TD><center>',$enregistrement->Projet_suivi,'</center></TD>';
echo '<TD><center>',$resultat,'</center></TD>';
echo '<TD><center>',$enregistrement->Categorie_suivi,'<center></TD> ';
echo '<TD><center>',$enregistrement->Commentaire,'<center></TD>';
echo '<TD>';
echo '<center><input value="Modifier" name="modifier" type="submit" /> ';
echo ' <input value="Supprimer" name="supprimer" type="submit" onClick="return(confirm(\'Etes vous sur ?\'));"/></center>' ;
echo '</TD>';
echo '</form></TR>';
} ?>
<form method="POST" action="add.php">
<TR>
<TD vAlign=middle>
<center><select name="add_select_projet">
<?php $name_assoc = $_SESSION["glpiname"];
include('../front/afficher_association.php'); // requete de selection de tout les projet open ?>
</select>
<?php echo'<input name="name" type=hidden value="'.$_SESSION["glpiname"].'">'; // voici 2 fonctions html qui permettent de cacher et d'envoyé les données nécessaire au bon fonctionnement de la requete
echo'<input name="add_date" type=hidden value="'.$date_formulaire.'">';?>
</TD>
<TD vAlign=middle>
<center><select name="add_duree">
<option value="">Sélectionner une durée</option>
<option value="450">Journee: 7 heures 30 minutes</option>
<option value="465">Journee: 7 heures 45 minutes</option>
<option value="15">15 minutes</option>
<option value="30">30 minutes</option>
<option value="45">45 minutes</option>
<option value="60">1 heure</option>
<option value="75">1 heure 15 minutes</option>
<option value="90">1 heure 30 minutes</option>
<option value="105">1 heure 45 minutes</option>
<option value="120">2 heures</option>
<option value="150">2 heures 30 minutes</option>
<option value="180">3 heures</option>
<option value="210">3 heures 30 minutes</option>
<option value="240">4 heures</option>
<option value="300">5 heures</option>
<option value="360">6 heures</option>
<option value="420">7 heures</option>
</select></center>
</TD>
<TD vAlign=middle>
<center><select name="add_categorie">
<option value="Courant">Courant</option>
<option value="Projet">Projet</option>
</select></center>
</TD>
<TD vAlign=middle>
<TEXTAREA name="commentaire" ROWS=3 COLS=1 style="width: 350px; height: 20px;">
</TEXTAREA>
</TD>
<TD Align=center> <input type="submit" value="Ajouter" />
</TD>
</TR>
</form>
<form> <tr>
<td></td>
<?php // affichage du temps total d'une personne pour une journée
$format1 = "%d/%m/%Y";
$string1=$date_formulaire;
$name1=$_SESSION["glpiname"];// selection via requete du temps total travaille d'une personne pour une journée
$selection1 = $connection->query('SELECT sum(Duree_suivi) as poo FROM `glpi_suivi_travail` WHERE `Name_suivi`= \''.$name1.'\' AND `Date_suivi` = str_to_date(\''.$string1.'\', \''.$format1.'\')');
$dure = $selection1->fetch(PDO::FETCH_OBJ);
$durez = $dure->poo;
///initialisation/ la requète fait la somme de tout les minutes travaillé pour une personne sur un jour, il faut ensuite convertir cette valeur en heures:minutes
$secondes = 0;
$minutes = 0;
$heure = 0;
$minutes = $durez*1;
$secondes = bcmod($nombre,"60");
$minutes = floor($minutes);
while($secondes >= "60") //ajoute une minute toutes les 60 secondes
{
$secondes = $secondes-60;
$minutes++;
}
while($minutes >= "60")//ajoute une heure toutes les 60 minutes
{
$minutes = $minutes-60;
$heure++;
}
if($minutes < "10") // ajoute le deuxieme 0 pour la presentation
{
$minutes = "0".$minutes;
}
if($secondes < "10") // ajoute le deuxieme 0 pour la presentation
{
$secondes = "0".$secondes;
}
if($heure < "10") // ajoute le deuxieme 0 pour la presentation
{
$heure = "0".$heure;
}
$resultat = $heure." H ".$minutes; //contient le résultat final
echo'<td><center>Durée totale : ',$resultat,'</center></td>'; // affichage du temps total apres convertion
?>
</tr>
</form>
</TBODY>
</TABLE>
<br/>
<form>
<TABLE class=tab_cadrehov>
<TBODY>
<tr><th colSpan="4">Suivi des tickets</th></tr>
<tr>
<th>Libellé</th>
<th>Durée</th>
<th>Catégorie</th>
<th>Catégorie de tache</th>
</tr>
<?php
try{
$na = $_SESSION["glpiname"];
$select2 = $connection->query('SELECT id FROM `glpi_users` WHERE `name` = \''.$na. '\''); // selection de l'id en fonction de la personne connécter
$selecticket = $select2->fetch(PDO::FETCH_OBJ);
$idrequete = $selecticket->id;
$formatglpi = "%d/%m/%Y"; // requete qui selectionne les tickets ouvert pour une date.
$selecti = $connection->query('
SELECT Glpi_tickets.`id` , Glpi_tickets.`type` , Glpi_tickettasks.`tickets_id` ,DATE_FORMAT( Glpi_tickettasks.`date` , \''.$formatglpi.'\' ) AS dateformatee , Glpi_tickettasks.`actiontime` , Glpi_taskcategories.`name` , Glpi_tickettasks.`users_id`
FROM Glpi_tickets
INNER JOIN Glpi_tickettasks ON Glpi_tickets.`id` = Glpi_tickettasks.`tickets_id`
LEFT JOIN Glpi_taskcategories ON Glpi_taskcategories.`id` = Glpi_tickettasks.`taskcategories_id`
WHERE DATE_FORMAT( Glpi_tickettasks.`date` , \''.$formatglpi.'\' ) = \''.$date_formulaire.'\' AND Glpi_tickettasks.`users_id` = \''.$idrequete.'\' AND Glpi_tickets.`entities_id` = 0');
while( $result = $selecti->fetch(PDO::FETCH_OBJ)){
// Convertir type: 1,2 en incident, demande, convertir name: projet courant, utiliser ID ticket pour linké le libeller, Convertir secondes en h:s
if($result->type == '1'){ // affichage si le type est incident ou demande
$categorietype = "Incident";}
else{$categorietype = "Demande";}
$ticketid = $connection->query('SELECT `name` FROM Glpi_tickets WHERE `id` = \''.$result->tickets_id.'\''); // affichage nom du ticket en fonction de son id.
$nameticket = $ticketid->fetch(PDO::FETCH_OBJ);
$namelibelle = $nameticket->name;
$libelledureetotal +=$result->actiontime;
$time=$result->actiontime; // convertion secondes en heure minute
$total = $time; //ton nombre de secondes
$timeheures = intval(abs($total / 3600));
$total = $total - ($timeheures * 3600);
$timesminutes = intval(abs($total / 60));
$total = $total - ($timesminutes * 60);
$timeseconde = $total;
// affichage du tableau pour chaque ticket traiter dans la journée pour une personne.
echo '<tr><TD><input type=hidden name="id_suivi" value="',$result->tickets_id,'">';
echo '<center><a href="http://srvpvm-ocs/glpi/front/ticket.form.php?id='.$result->tickets_id.'" target="blank">',$namelibelle,'</a></center></TD>';
echo "<TD><center> $timeheures h $timesminutes </center></TD> ";
echo '<TD><center>',$categorietype,'</center></TD>';
echo '<TD><center>',$result->name,'</center></TD>';
echo '</tr>';
}
}
catch (PDOException $e) {
echo 'Error : ' . $e->getMessage();
$appelsum = $connection->query('SELECT SUM(Glpi_tickettasks.`actiontime`) as too
FROM Glpi_tickets
INNER JOIN Glpi_tickettasks ON Glpi_tickets.`id` = Glpi_tickettasks.`tickets_id`
LEFT JOIN Glpi_taskcategories ON Glpi_taskcategories.`id` = Glpi_tickettasks.`taskcategories_id`
WHERE `users_id`= \''.$idrequete.'\' AND DATE_FORMAT( Glpi_tickettasks.`date` , \''.$formatglpi.'\' ) = \''.$date_formulaire.'\'');
$sumduree = $appelsum->fetch(PDO::FETCH_OBJ);
$sommeduree = $sumduree->too;
$totale = 0;
$timesminutes = 0;
$timesheures = 0;
$timeseconde = 0; }
$total = $sommeduree; //ton nombre de secondes
$timesheures = intval(abs($total / 3600));
$total = $total - ($timesheures * 3600);
$timesminutes = intval(abs($total / 60));
$total = $total - ($timesminutes * 60);
$timeseconde = $total;
echo "<tr><td></td><td><center>Durée totale: $libelledureetotal</center></td><td></td><td></td></tr>";?>
</TBODY>
</TABLE>
</form>
<?php
$timer = $durez*60;
$totaljournee = $timer + $sommeduree;
$totale = 0;
$timesminutes = 0;
$timesheures = 0;
$timeseconde = 0;
$total = $totaljournee; //ton nombre de secondes
$timesheures = intval(abs($total / 3600));
$total = $total - ($timesheures * 3600);
$timesminutes = intval(abs($total / 60));
$total = $total - ($timesminutes * 60);
$timeseconde = $total;
if($timesminutes == '0'){$timesminutes = '00';}
echo "</br><h1><center>Temps total de la journée: $timesheures H $timesminutes</center></h1></br>"; // affichage du temps total travailler pour une journée ticket + projet
?><form action="frame.php" method="POST" id="formulaireID" onsubmit="soumettre('formulaireID');">
<table class=tab_cadrehov>
<tr>
<th colSpan=4> Rapport d'activité </th>
</tr>
<tr>
<th> Sélectionner personnel</th>
<th>Date de début </th>
<th>Date de fin </th>
<th></th>
</tr>
<td>
<?php echo'<input name="name" type=hidden value="'.$_SESSION["glpiname"].'">'; // on passe le login de la personne pour le réutiliser apres dans une requete ?>
<center><select name="yolo">
<?php
$iduser = $connection->query('SELECT id FROM `glpi_users` WHERE `name`= \''.$_SESSION["glpiname"].'\' '); // selection de l'idée de la personne connecter
$idu = $iduser->fetch(PDO::FETCH_OBJ);
$idd = $idu->id;
$managed = $connection->query('SELECT is_manager, groups_id FROM `glpi_groups_users` WHERE `users_id`= \''.$idd.'\' '); // selection pour savoir si la personne est manageur
$manageur = $managed->fetch(PDO::FETCH_OBJ);
$statutuser = $manageur->is_manager;
$group = $manageur->groups_id;
if($statutuser == 0) // si la personne n'es pas manageur, on afficher seulement la personne connecter
{
echo '<option value="'.$_SESSION["glpiname"].'">'.$_SESSION["glpiname"].'</option>';
} else{ // sinon on cherche qu'elle groupe est manageé par la personne connecter, puis on les affiche tous avec en plus la possibiliter de selectionner tout le monde.
$selecgroup = $connection->query('SELECT glpi_users.`name`
FROM glpi_users
INNER JOIN glpi_groups_users ON glpi_users.`id` = glpi_groups_users.`users_id`
WHERE glpi_groups_users.`groups_id` = '.$group.''); // requete de selection des personnes pour un groupe
while($groupliste = $selecgroup->fetch(PDO::FETCH_OBJ)){
echo '<option value="'.$groupliste->name.'">'.$groupliste->name.'</option>'; // boucle sur chaque personne de notre liste
}
echo '<option value="0">Tout le service</option>'; // permet de selectionner tout son équipe
}
echo '<input type=hidden name="service" value="'.$group.'">'; // parametre secret pour faire passer le numéro de l'équipe dans la requete
?>
</select></center>
</td>
<td> <center><input type="text" name="date1" id="date1" class="calendrier" size="10" <?php echo'value="'.$valeur_par_defaut.'"'?> /></center></</td>
<td> <center><input type="text" name="date2" id="date2" class="calendrier" size="10" <?php echo'value="'.$valeur_par_defaut.'"'?> /></center></</td>
<td> <center><input type="submit" name="rapportactivite" value="Afficher" ></center></td
<tr> </tr>
</table>
</form><br/>
<form method="post" action="associer_projet.php">
<table >
<tbody>
<tr>
<th colSpan=2 class=h1>S'associer à un projet</th>
</tr>
<td align=right><select name="add_projet">
<?php include ("../inc/select_projet.php");
echo ' </select> <input type="hidden" name="glpiname" value="'.$_SESSION['glpiname'].'"> '; // on passe le login de la personne pour le réutiliser apres dans une requete ?>
</td>
<td><input type="submit" name="ajout projet" value="Ajouter ">
</td>
</tbody>
</table>
</form>
<br/>
<table>
<form method="POST" action="effacer_projet_assoc.php" >
<tr>
<th colSpan=2 class=h1>Oublier un projet
</th>
<?php echo '</tr><input name="name" type="hidden" value="'.$_SESSION['glpiname'].'">'; // on passe le login de la personne pour le réutiliser apres dans une requete?>
<td align=right>
<select name="delete_projet">
<?php include ('../front/afficher_assoc_projet.php'); ?>
</select>
</td>
<td><input type="submit" name="clore projet" value="Effacer"></td>
</form>
</table> </br></br>
<h1><center>La suite est en construction</center></h1>
<form action="frame_ticket.php" method="POST" id="formulaireIDK" onsubmit="soumettre('formulaireIDK');">
<center><?php echo '<input type="hidden" name="na" value="'.$_SESSION["glpiname"].'"/>';?>
<input type="text" name="date3" id="date3" class="calendrier" size="10" value="<?=$date_formulaire;?>" />
<input type="text" name="date4" id="date4" class="calendrier" size="10" value="<?=$date_formulaire;?>" />
<input type="submit" name="rapport" value="Afficher" ></center></form>
</DIV>
</div><?php Html::footer(); ?>
</body></html>
Alors désolé mais j'ai un peut de mal avec tout les notions auqu'elle tu fait référence, je ne code pas proprement mais j'aime comprendre ce que je fait.
Je fait des requètes dans ma page en elle-même, je souhait juste à déclencher la validation de ma forme sans bouton. J'espère ne pas avoir besoin de crée plusieurs fichier pour ce petit détail de mon appli.
Je te propose de regarder mon code. je souhait seulement déclencher mes requètes.
[php]
<!DOCTYPE html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
define('GLPI_ROOT', '..');
include (GLPI_ROOT . "/inc/includes.php");
Session::checkRight("reports", "r");
Html::header($LANG['Menu'][6],$_SERVER['PHP_SELF'],"utils","report"); // appel de l'entête de GLPI
require_once('../inc/connection.php'); // connection à la bdd
$valeur_par_defaut = date('d/m/Y'); // On check si $_post['date'] existe, si oui on l'affiche, sinon on affiche la date du jour
//$date_formulaire = (!isset($_POST['date'])) ? $_POST['date'] : $valeur_par_defaut;
if(isset($_GET['datedajout'])) {
$date_formulaire = $_GET['datedajout'];
}
else if(!isset($_POST['date'])){
$date_formulaire = $valeur_par_defaut;
}
else {
$date_formulaire = $_POST['date'];
}
?>
<script type="text/javascript" src="/glpi/lib/extrajs/calendrier2.js"></script> <!-- javascript du calendrier-->
<script type="text/javascript"> <!--fonction js d'ouverture de la page de rapport d'activiter (projet) -->
<!--/*--><![CDATA[//><!--
function soumettre(id)
{
document.getElementById(id).target = 'formulaire';
window.open('', 'formulaire','width=1600,height=500');
}
//--><!]]>
</script>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="/glpi/css/calendrier2.css" /><!-- css du calendrier -->
<h1><center>Suivi du Réalisé</center></h1>
<div id='page'>
<DIV class=center>
<TABLE border=2 class=tab_cadrehov>
<TBODY>
<tr>
<form method="post" action="teststagiaire.php" name="affi" > <th colSpan="5">Suivi des projets</th>
</tr>
<tr>
<th colSpan=5> <input name="date" id="date" class="calendrier" size="10" value="<?=$date_formulaire;?>" onChange="this.form.submit();" />
</th>
</tr>
</form>
<TR>
<TH><center>Projet</center></TH>
<TH><center>Durée</center></TH>
<TH><center>Catégorie</center></TH>
<TH><center>Commentaire</center></TH>
<TH><center>Actions</center></TH>
</TR>
<?php // requete de selection des entrées(en fonction de la date et de la personne) puis d'affichage.
$format = "%d/%m/%Y";
$string=$date_formulaire;
$name=$_SESSION["glpiname"];
$selection = $connection->query('SELECT * FROM `glpi_suivi_travail` WHERE `Name_suivi`= \''.$name.'\' AND `Date_suivi` = str_to_date(\''.$string.'\', \''.$format.'\')');
while( $enregistrement = $selection->fetch(PDO::FETCH_OBJ)){ // Voici une boucle qui pour chaque résultat boucle sur une ligne du tableau. (+ convertion)
$nombre = $enregistrement->Duree_suivi;
// Le temps travaillé étant stocké en minute, il faut le convertir pour l'afficher sous forme heure:minute. Il est présent dans le while, car il faut convertir chaque "duree" retourner par la requète
//initialisation
$secondes = 0;
$minutes = 0;
$heure = 0;
//convertion
$minutes = $nombre*1;
$secondes = bcmod($nombre,"60");
$minutes = floor($minutes);
while($secondes >= "60") //ajoute une minute toutes les 60 secondes
{
$secondes = $secondes-60;
$minutes++;
}
while($minutes >= "60")//ajoute une heure toutes les 60 minutes
{
$minutes = $minutes-60;
$heure++;
}
if($minutes < "10") // ajoute le deuxieme 0 pour la présentation
{
$minutes = "0".$minutes;
}
if($secondes < "10") // ajoute le deuxieme 0 pour la présentation
{
$secondes = "0".$secondes;
}
if($heure < "10") // ajoute le deuxieme 0 pour la présentation
{
$heure = "0".$heure;
}
$resultat = $heure." h ".$minutes; //contient le résultat final
// affichage dans un tableau les résultats: projet duree converti, categorie du projet, quel projet, affichage des boutons d'actions
echo '<TR> <form method="POST" action="action.php"> <input type=hidden name="id_suivi" value="',$enregistrement->ID_suivi,'">';
echo '<TD><center>',$enregistrement->Projet_suivi,'</center></TD>';
echo '<TD><center>',$resultat,'</center></TD>';
echo '<TD><center>',$enregistrement->Categorie_suivi,'<center></TD> ';
echo '<TD><center>',$enregistrement->Commentaire,'<center></TD>';
echo '<TD>';
echo '<center><input value="Modifier" name="modifier" type="submit" /> ';
echo ' <input value="Supprimer" name="supprimer" type="submit" onClick="return(confirm(\'Etes vous sur ?\'));"/></center>' ;
echo '</TD>';
echo '</form></TR>';
} ?>
<form method="POST" action="add.php">
<TR>
<TD vAlign=middle>
<center><select name="add_select_projet">
<?php $name_assoc = $_SESSION["glpiname"];
include('../front/afficher_association.php'); // requete de selection de tout les projet open ?>
</select>
<?php echo'<input name="name" type=hidden value="'.$_SESSION["glpiname"].'">'; // voici 2 fonctions html qui permettent de cacher et d'envoyé les données nécessaire au bon fonctionnement de la requete
echo'<input name="add_date" type=hidden value="'.$date_formulaire.'">';?>
</TD>
<TD vAlign=middle>
<center><select name="add_duree">
<option value="">Sélectionner une durée</option>
<option value="450">Journee: 7 heures 30 minutes</option>
<option value="465">Journee: 7 heures 45 minutes</option>
<option value="15">15 minutes</option>
<option value="30">30 minutes</option>
<option value="45">45 minutes</option>
<option value="60">1 heure</option>
<option value="75">1 heure 15 minutes</option>
<option value="90">1 heure 30 minutes</option>
<option value="105">1 heure 45 minutes</option>
<option value="120">2 heures</option>
<option value="150">2 heures 30 minutes</option>
<option value="180">3 heures</option>
<option value="210">3 heures 30 minutes</option>
<option value="240">4 heures</option>
<option value="300">5 heures</option>
<option value="360">6 heures</option>
<option value="420">7 heures</option>
</select></center>
</TD>
<TD vAlign=middle>
<center><select name="add_categorie">
<option value="Courant">Courant</option>
<option value="Projet">Projet</option>
</select></center>
</TD>
<TD vAlign=middle>
<TEXTAREA name="commentaire" ROWS=3 COLS=1 style="width: 350px; height: 20px;">
</TEXTAREA>
</TD>
<TD Align=center> <input type="submit" value="Ajouter" />
</TD>
</TR>
</form>
<form> <tr>
<td></td>
<?php // affichage du temps total d'une personne pour une journée
$format1 = "%d/%m/%Y";
$string1=$date_formulaire;
$name1=$_SESSION["glpiname"];// selection via requete du temps total travaille d'une personne pour une journée
$selection1 = $connection->query('SELECT sum(Duree_suivi) as poo FROM `glpi_suivi_travail` WHERE `Name_suivi`= \''.$name1.'\' AND `Date_suivi` = str_to_date(\''.$string1.'\', \''.$format1.'\')');
$dure = $selection1->fetch(PDO::FETCH_OBJ);
$durez = $dure->poo;
///initialisation/ la requète fait la somme de tout les minutes travaillé pour une personne sur un jour, il faut ensuite convertir cette valeur en heures:minutes
$secondes = 0;
$minutes = 0;
$heure = 0;
$minutes = $durez*1;
$secondes = bcmod($nombre,"60");
$minutes = floor($minutes);
while($secondes >= "60") //ajoute une minute toutes les 60 secondes
{
$secondes = $secondes-60;
$minutes++;
}
while($minutes >= "60")//ajoute une heure toutes les 60 minutes
{
$minutes = $minutes-60;
$heure++;
}
if($minutes < "10") // ajoute le deuxieme 0 pour la presentation
{
$minutes = "0".$minutes;
}
if($secondes < "10") // ajoute le deuxieme 0 pour la presentation
{
$secondes = "0".$secondes;
}
if($heure < "10") // ajoute le deuxieme 0 pour la presentation
{
$heure = "0".$heure;
}
$resultat = $heure." H ".$minutes; //contient le résultat final
echo'<td><center>Durée totale : ',$resultat,'</center></td>'; // affichage du temps total apres convertion
?>
</tr>
</form>
</TBODY>
</TABLE>
<br/>
<form>
<TABLE class=tab_cadrehov>
<TBODY>
<tr><th colSpan="4">Suivi des tickets</th></tr>
<tr>
<th>Libellé</th>
<th>Durée</th>
<th>Catégorie</th>
<th>Catégorie de tache</th>
</tr>
<?php
try{
$na = $_SESSION["glpiname"];
$select2 = $connection->query('SELECT id FROM `glpi_users` WHERE `name` = \''.$na. '\''); // selection de l'id en fonction de la personne connécter
$selecticket = $select2->fetch(PDO::FETCH_OBJ);
$idrequete = $selecticket->id;
$formatglpi = "%d/%m/%Y"; // requete qui selectionne les tickets ouvert pour une date.
$selecti = $connection->query('
SELECT Glpi_tickets.`id` , Glpi_tickets.`type` , Glpi_tickettasks.`tickets_id` ,DATE_FORMAT( Glpi_tickettasks.`date` , \''.$formatglpi.'\' ) AS dateformatee , Glpi_tickettasks.`actiontime` , Glpi_taskcategories.`name` , Glpi_tickettasks.`users_id`
FROM Glpi_tickets
INNER JOIN Glpi_tickettasks ON Glpi_tickets.`id` = Glpi_tickettasks.`tickets_id`
LEFT JOIN Glpi_taskcategories ON Glpi_taskcategories.`id` = Glpi_tickettasks.`taskcategories_id`
WHERE DATE_FORMAT( Glpi_tickettasks.`date` , \''.$formatglpi.'\' ) = \''.$date_formulaire.'\' AND Glpi_tickettasks.`users_id` = \''.$idrequete.'\' AND Glpi_tickets.`entities_id` = 0');
while( $result = $selecti->fetch(PDO::FETCH_OBJ)){
// Convertir type: 1,2 en incident, demande, convertir name: projet courant, utiliser ID ticket pour linké le libeller, Convertir secondes en h:s
if($result->type == '1'){ // affichage si le type est incident ou demande
$categorietype = "Incident";}
else{$categorietype = "Demande";}
$ticketid = $connection->query('SELECT `name` FROM Glpi_tickets WHERE `id` = \''.$result->tickets_id.'\''); // affichage nom du ticket en fonction de son id.
$nameticket = $ticketid->fetch(PDO::FETCH_OBJ);
$namelibelle = $nameticket->name;
$libelledureetotal +=$result->actiontime;
$time=$result->actiontime; // convertion secondes en heure minute
$total = $time; //ton nombre de secondes
$timeheures = intval(abs($total / 3600));
$total = $total - ($timeheures * 3600);
$timesminutes = intval(abs($total / 60));
$total = $total - ($timesminutes * 60);
$timeseconde = $total;
// affichage du tableau pour chaque ticket traiter dans la journée pour une personne.
echo '<tr><TD><input type=hidden name="id_suivi" value="',$result->tickets_id,'">';
echo '<center><a href="http://srvpvm-ocs/glpi/front/ticket.form.php?id='.$result->tickets_id.'" target="blank">',$namelibelle,'</a></center></TD>';
echo "<TD><center> $timeheures h $timesminutes </center></TD> ";
echo '<TD><center>',$categorietype,'</center></TD>';
echo '<TD><center>',$result->name,'</center></TD>';
echo '</tr>';
}
}
catch (PDOException $e) {
echo 'Error : ' . $e->getMessage();
$appelsum = $connection->query('SELECT SUM(Glpi_tickettasks.`actiontime`) as too
FROM Glpi_tickets
INNER JOIN Glpi_tickettasks ON Glpi_tickets.`id` = Glpi_tickettasks.`tickets_id`
LEFT JOIN Glpi_taskcategories ON Glpi_taskcategories.`id` = Glpi_tickettasks.`taskcategories_id`
WHERE `users_id`= \''.$idrequete.'\' AND DATE_FORMAT( Glpi_tickettasks.`date` , \''.$formatglpi.'\' ) = \''.$date_formulaire.'\'');
$sumduree = $appelsum->fetch(PDO::FETCH_OBJ);
$sommeduree = $sumduree->too;
$totale = 0;
$timesminutes = 0;
$timesheures = 0;
$timeseconde = 0; }
$total = $sommeduree; //ton nombre de secondes
$timesheures = intval(abs($total / 3600));
$total = $total - ($timesheures * 3600);
$timesminutes = intval(abs($total / 60));
$total = $total - ($timesminutes * 60);
$timeseconde = $total;
echo "<tr><td></td><td><center>Durée totale: $libelledureetotal</center></td><td></td><td></td></tr>";?>
</TBODY>
</TABLE>
</form>
<?php
$timer = $durez*60;
$totaljournee = $timer + $sommeduree;
$totale = 0;
$timesminutes = 0;
$timesheures = 0;
$timeseconde = 0;
$total = $totaljournee; //ton nombre de secondes
$timesheures = intval(abs($total / 3600));
$total = $total - ($timesheures * 3600);
$timesminutes = intval(abs($total / 60));
$total = $total - ($timesminutes * 60);
$timeseconde = $total;
if($timesminutes == '0'){$timesminutes = '00';}
echo "</br><h1><center>Temps total de la journée: $timesheures H $timesminutes</center></h1></br>"; // affichage du temps total travailler pour une journée ticket + projet
?><form action="frame.php" method="POST" id="formulaireID" onsubmit="soumettre('formulaireID');">
<table class=tab_cadrehov>
<tr>
<th colSpan=4> Rapport d'activité </th>
</tr>
<tr>
<th> Sélectionner personnel</th>
<th>Date de début </th>
<th>Date de fin </th>
<th></th>
</tr>
<td>
<?php echo'<input name="name" type=hidden value="'.$_SESSION["glpiname"].'">'; // on passe le login de la personne pour le réutiliser apres dans une requete ?>
<center><select name="yolo">
<?php
$iduser = $connection->query('SELECT id FROM `glpi_users` WHERE `name`= \''.$_SESSION["glpiname"].'\' '); // selection de l'idée de la personne connecter
$idu = $iduser->fetch(PDO::FETCH_OBJ);
$idd = $idu->id;
$managed = $connection->query('SELECT is_manager, groups_id FROM `glpi_groups_users` WHERE `users_id`= \''.$idd.'\' '); // selection pour savoir si la personne est manageur
$manageur = $managed->fetch(PDO::FETCH_OBJ);
$statutuser = $manageur->is_manager;
$group = $manageur->groups_id;
if($statutuser == 0) // si la personne n'es pas manageur, on afficher seulement la personne connecter
{
echo '<option value="'.$_SESSION["glpiname"].'">'.$_SESSION["glpiname"].'</option>';
} else{ // sinon on cherche qu'elle groupe est manageé par la personne connecter, puis on les affiche tous avec en plus la possibiliter de selectionner tout le monde.
$selecgroup = $connection->query('SELECT glpi_users.`name`
FROM glpi_users
INNER JOIN glpi_groups_users ON glpi_users.`id` = glpi_groups_users.`users_id`
WHERE glpi_groups_users.`groups_id` = '.$group.''); // requete de selection des personnes pour un groupe
while($groupliste = $selecgroup->fetch(PDO::FETCH_OBJ)){
echo '<option value="'.$groupliste->name.'">'.$groupliste->name.'</option>'; // boucle sur chaque personne de notre liste
}
echo '<option value="0">Tout le service</option>'; // permet de selectionner tout son équipe
}
echo '<input type=hidden name="service" value="'.$group.'">'; // parametre secret pour faire passer le numéro de l'équipe dans la requete
?>
</select></center>
</td>
<td> <center><input type="text" name="date1" id="date1" class="calendrier" size="10" <?php echo'value="'.$valeur_par_defaut.'"'?> /></center></</td>
<td> <center><input type="text" name="date2" id="date2" class="calendrier" size="10" <?php echo'value="'.$valeur_par_defaut.'"'?> /></center></</td>
<td> <center><input type="submit" name="rapportactivite" value="Afficher" ></center></td
<tr> </tr>
</table>
</form><br/>
<form method="post" action="associer_projet.php">
<table >
<tbody>
<tr>
<th colSpan=2 class=h1>S'associer à un projet</th>
</tr>
<td align=right><select name="add_projet">
<?php include ("../inc/select_projet.php");
echo ' </select> <input type="hidden" name="glpiname" value="'.$_SESSION['glpiname'].'"> '; // on passe le login de la personne pour le réutiliser apres dans une requete ?>
</td>
<td><input type="submit" name="ajout projet" value="Ajouter ">
</td>
</tbody>
</table>
</form>
<br/>
<table>
<form method="POST" action="effacer_projet_assoc.php" >
<tr>
<th colSpan=2 class=h1>Oublier un projet
</th>
<?php echo '</tr><input name="name" type="hidden" value="'.$_SESSION['glpiname'].'">'; // on passe le login de la personne pour le réutiliser apres dans une requete?>
<td align=right>
<select name="delete_projet">
<?php include ('../front/afficher_assoc_projet.php'); ?>
</select>
</td>
<td><input type="submit" name="clore projet" value="Effacer"></td>
</form>
</table> </br></br>
<h1><center>La suite est en construction</center></h1>
<form action="frame_ticket.php" method="POST" id="formulaireIDK" onsubmit="soumettre('formulaireIDK');">
<center><?php echo '<input type="hidden" name="na" value="'.$_SESSION["glpiname"].'"/>';?>
<input type="text" name="date3" id="date3" class="calendrier" size="10" value="<?=$date_formulaire;?>" />
<input type="text" name="date4" id="date4" class="calendrier" size="10" value="<?=$date_formulaire;?>" />
<input type="submit" name="rapport" value="Afficher" ></center></form>
</DIV>
</div><?php Html::footer(); ?>
</body></html>[/php]