<?
/*
Copyright (C) 2002 Loc Dayot - Mairie Pierrefitte (93)
EPNadmin - Version 0.6 - 01/01/2003
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
http://epnadmin.pierrefitte93.fr/
*/
//require_once("header.inc.php");
//require_once("constantes.inc.php"); // dfinition des constantes
//require_once("fonctions.inc.php"); // concernant des fonctions transversales inclassables
//require_once("mysql.inc.php"); // concernant mysql
//require_once("sessions.inc.php"); // concernant les sessions et initiations
//require_once("usagers.inc.php"); // concernant la gestion des usagers
//require_once("reservations.inc.php"); // concernant les rservations des postes en accs individuel par des usagers
//require_once("tableaux.inc.php"); // Concernant l'affichage transpos d'un tableau
//require_once("siteweb.inc.php"); // concernant les pages perso des usagers et les sites web des structures
//require_once("dateheure.inc.php"); // concernant la manipulation des heures et des dates, formulaire, conversion...
//require_once("structures.inc.php"); // concernant les structures
//require_once("initiations.inc.php"); // concernant les initiations et les thmes
//require_once("parcours.inc.php"); // concernant les parcours des usagers et leur positionnement
// -
// Manipulation de tableaux transposs -
// -
// Ajout dans la version 0.5
// fonction qui affiche un tableau html partir d'un tableau (array) avec ventuel transpos.
function affiche_tableau($tableau, $sens)
{
if ($sens!="transpos")
{
$i=0;
while (isset($tableau[$i][0]["contenu"]) || isset($tableau[$i][0]["param"]))
{
$j=0;
echo "<tr>\n";
while (isset($tableau[$i][$j]["contenu"]) || isset($tableau[$i][$j]["param"]))
{
echo "<td".$tableau[$i][$j]["param"].">";
echo $tableau[$i][$j]["contenu"];
echo "</td>\n";
$j++;
}
echo "</tr>\n";
$i++;
}
}
else // il faut faire la transpose du tableau
{
$i=0;
while (isset($tableau[0][$i]["contenu"]) || isset($tableau[0][$i]["param"]))
{
$j=0;
echo "<tr>\n";
while (isset($tableau[$j][$i]["contenu"]) || isset($tableau[$j][$i]["param"]))
{
if (isset($tableau[$j][$i]["param"]))
{
$p=0;
while (($p=strpos($tableau[$j][$i]["param"],"span",$p))>0)
{
//debug ("$i $j ".$tableau[$j][$i]["param"]);
if (substr($tableau[$j][$i]["param"],$p-3,3)=="col")
{
$t="row";
// trouver le nombre de cellules colles
$egal=strpos($tableau[$j][$i]["param"], "=", $p);
$apresegal=substr($tableau[$j][$i]["param"], $egal+1, 10);
/* on supprime les quote pour alors on les supprime pour prendre le nombre
while ($pp=strpos($apresegal, "'"))
$apresegal=substr($apresegal, 0, $pp).substr($apresegal, $pp+1);
*/
$nbcel = 0 + $apresegal;
//debug($apresegal." -> ".$nbcel);
// Il faut dcaller les lignes suivantes pour que l'affichage soit correct
// on recherche la dernire cellule de la ligne
$derniere=$i;
while (isset($tableau[$j][$derniere]["contenu"]) || isset($tableau[$j][$derniere]["param"]))
$derniere++;
// on dcalle depuis la fin jusqu'au dbut les cellules de la ligne
for ($cellule=$derniere; $cellule>$i; $cellule--)
{
$tableau[$j][$cellule+$nbcel-1]["param"]=$tableau[$j][$cellule]["param"];
$tableau[$j][$cellule+$nbcel-1]["contenu"]=$tableau[$j][$cellule]["contenu"];
}
// on annule la cellule suivante, elle ne sera pas affiche, mais saute.
for ($cellule=1; $cellule<$nbcel; $cellule++)
{
$tableau[$j][$i+$cellule]["contenu"]="*";
unset($tableau[$j][$i+$cellule]["param"]);
}
} // if col est dans la chaine param
else
$t="col";
$tableau[$j][$i]["param"]=
substr($tableau[$j][$i]["param"],0,$p-3).$t.substr($tableau[$j][$i]["param"],$p);
$p++;
} // while span dans la chaine
}
if ($tableau[$j][$i]["contenu"]!="*")
{
echo "<td".$tableau[$j][$i]["param"].">";
echo $tableau[$j][$i]["contenu"];
echo "</td>\n";
}
$j++;
}
echo "</tr>\n";
$i++;
}
}
}
// Partie d'un formulaire pour le choix du sens du tableau, horaires en colonnes ou en lignes
function ChoixSenstableau($sens)
{
global $sheuresenlignes, $sheuresencolonnes;
// Affichage plus simple
echo "<input type=\"radio\" name=\"sens\" value=\"normal\"";
if ($sens=="normal") echo " checked";
echo ">$sheuresencolonnes<br>
<input type=\"radio\" name=\"sens\" value=\"transpos\"";
if ($sens=="transpos") echo " checked";
echo ">$sheuresenlignes\n";
}
?>