Eléphanteau du PHP |
10 Messages
02 nov. 2016, 11:48
global $DB, $LANG;
$today = date("Ymd");
$mois = date("m");
$ans = date("Y");
$num_jour_du_mois = cal_days_in_month(CAL_GREGORIAN, $mois, $anno);
$str_premierjj = "01-" . $mois . "-" . $anno . " 00:00:00";
$str_dernierjj = $num_jour_du_mois . "-" . $mois . "-" . $anno . " 23:59:59";
$premier_jour_du_mois = DateTime::createFromFormat('j-m-Y H:i:s', $str_premierjj);
$dernier_jour_du_mois = DateTime::createFromFormat('j-m-Y H:i:s', $str_dernierjj);
if (isset($_POST['tickets_id']) && isset($_POST['comment_change_m'])) {
$comment = Toolbox::clean_cross_side_scripting_deep($_POST['comment_change_m']);
$comment = Html::cleanInputText($comment);
$tickets_id = intval($_POST['tickets_id']);
$query_comment = "UPDATE `tickets` SET `comment_change_m`='" . $comment . "' where `id`=" . $tickets_id . "";
if ($result_comment = $DB->query($query_comment)) {
$msg = "good";
echo '<script type="text/javascript">alert("' . $msg . '"); </script>';
} else {
$msg = "Error";
echo '<script type="text/javascript">alert("' . $msg . '"); </script>';
};
}
echo '
<table border="1" width="1237px">
<tr>
<th rowspan="2" width="30px">ID</th>
<th rowspan="2" width="120px">elemento</th>
<th rowspan="2" width="200px">commento</th>
<th colspan="' . $num_jour_du_mois . '" width="558px">MESE</th>';
echo "<tr>";
for ($g = 1; $g <= $num_jour_du_mois; $g++) {
echo "<th rowspan='1' width='18px'><small>g$g</small></th>";
}
echo '</tr>';
$date_begin_mois = $premier_jour_du_mois->format('Y-m-d H:i:s');
$date_end_mois = $dernier_jour_du_mois->format('Y-m-d H:i:s');
$query = "select * from ticketchangemanagements LEFT JOIN `moone_tickets` ON (`ticketchangemanagements`.`tickets_id` = `tickets`.`id` ) where begin<'" . $date_end_mois . "' AND end>'" . $date_begin_mois . "' GROUP BY tickets_id";
$risu = $DB->query($query);
$risultat = $DB->numrows($risu);
if ($risultat > 0) {
echo "<tr>";
$i = 0;
while ($dati = $DB->fetch_assoc($risu)) {
switch ($dati['priority']) {
case 1:
echo"<th color='black' bgcolor='#ffffff'>" . $dati['tickets_id'] . "</th>";
break;
case 2:
echo"<th color='black' bgcolor='##ffe0e0'>" . $dati['tickets_id'] . "</th>";
break;
case 3:
echo"<th color='black' bgcolor='#ffff22'>" . $dati['tickets_id'] . "</th>";
break;
case 4:
echo"<th color='black' bgcolor='#ffaa11'>" . $dati['tickets_id'] . "</th>";
break;
case 5:
echo"<th color='black' bgcolor='#ff1111'>" . $dati['tickets_id'] . "</th>";
break;
case 6:
echo"<th color='black' bgcolor='#ff5555'>" . $dati['tickets_id'] . "</th>";
break;
}
echo "<td>" . HTML::resume_text($dati['name'],20) . "</td>";
echo "<td>";
echo"<form method=post action='" . $_SERVER['PHP_SELF'] . "'>";
echo"<input type='text' style='width:225px;' name='comment_change_m' value='" . $dati['comment_change_m'] . "'>";
echo"<input type='hidden' name='tickets_id' value='" . $dati['tickets_id'] . "'>";
echo " ";
echo"<input type='submit' id='button' value='send'>";
echo"</form>";
echo"</td>";
$query_int = "select * from ticketchangemanagements where begin<'" . $date_end_mois . "' AND end>'" . $date_begin_mois . "' and tickets_id='" . $dati['tickets_id'] . "' ORDER BY id ASC";
$risu_int = $DB->query($query_int);
$fasi = $DB->numrows($risu_int);
if ($fasi > 0) {
$num_total_quad_stamp = "";
while ($dati_fase = $DB->fetch_assoc($risu_int)) {
$num_total_quad_stamp2 = "";
$num_de_quad_par_fase2 = "";
$num_de_quad_par_fase = "";
$begin_fase = $dati_fase["begin"];
$end_fase = $dati_fase["end"];
$tipe_fase = $dati_fase["changemanagementcategories_id"];
$date_begin_fase = DateTime::createFromFormat('Y-m-j H:i:s', $begin_fase);
$date_end_fase = DateTime::createFromFormat('Y-m-j H:i:s', $end_fase);
if ($date_begin_fase < $premier_jour_du_mois) {
$interval2 = $date_begin_fase->diff($premier_jour_du_mois);
$num_de_quad_par_fase2 = $interval2->format('%d.%h');
$flnmb2 = floatval($num_de_quad_par_fase2);
$num_de_quad_par_fase2 = ceil($flnmb2);
$num_total_quad_stamp2 = $num_total_quad_stamp2 + $num_de_quad_par_fase2;
}
$interval = $date_begin_fase->diff($date_end_fase);
$num_de_quad_par_fase = $interval->format('%d.%h%i');
$flnmb = floatval($num_de_quad_par_fase);
$num_de_quad_par_fase = ceil($flnmb);
if ($num_de_quad_par_fase2 > 0) {
$num_de_quad_par_fase = $num_de_quad_par_fase - $num_de_quad_par_fase2;
}
$num_quad_stamp_fase_precedent = $num_total_quad_stamp;
$num_total_quad_stamp = $num_total_quad_stamp + $num_de_quad_par_fase;
$mois_begin_fase = $date_begin_fase->format('m');
if ($mois_begin_fase) {
$jour_inizio_fase = $date_begin_fase->format('j');
if ($tipo_fase == 3) {
$interval_vide = $premier_jour_du_mois->diff($date_begin_fase);
$num_quad_vide = $interval_vide->format('%R%a');
if ($num_quad_vide > 0) {
$num_total_quad_stamp = $num_total_quad_stamp + $num_quad_vide;
for ($i = 0; $i < $num_quad_vide; $i++) {
echo"<td width='18px'> </td>";
}
}
} else {
}
if ($num_total_quad_stamp > $num_jour_du_mois) {
$num_de_quad_par_fase = $num_jour_du_mois - $num_quad_stamp_fase_precedent;
}
for ($k = 1; $k <= $num_de_quad_par_fase; $k++) {
switch ($tipo_fase) {
case 1:
echo"<th color='black' bgcolor='#000000' width='18px'> </th>";
break;
case 3:
case 4:
case 5:
echo"<th color='black' bgcolor='#87CEFA' width='18px'> </th>";
break;
case 6:
echo"<th color='black' bgcolor='#0000FF' width='18px'> </th>";
break;
case 7:
case 8:
echo"<th color='black' bgcolor='#8A2BE2' width='18px'> </th>";
break;
case 9:
echo"<th color='black' bgcolor='#FFB6C1' width='18px'> </th>";
break;
}
}
}
}
if ($num_total_quad_stamp < $num_jour_du_mois) {
$interval_vide_fuori = $num_jour_du_mois - $num_total_quad_stamp;
for ($i = 0; $i < $interval_vide_fuori; $i++) {
echo"<td width='18px'> </td>";
}
}
echo "</tr>";
}
}
echo "</table>";
}