// Cr�tion et Initialisation des propri�� des objets PYAobj $reqLChp = "SELECT NM_CHAMP from {$TBDname} where NM_TABLE='parcours' AND NM_CHAMP!='{$NmChDT}' AND (TYPEAFF!='HID' OR (TT_PDTMAJ!='' AND TT_PDTMAJ!= NULL)) ORDER BY ORDAFF, LIBELLE"; $rq1 = db_query($reqLChp) or die("req 2 invalide"); //foreach ($ECT as $PYAObj) { while ($CcChp = db_fetch_row($rq1)) { // boucles sur les champs $PYAObj = new PYAobj(); $PYAObj->NmBase = $dbname; $PYAObj->NmTable = "parcours"; $NM_CHAMP = $CcChp[0]; $PYAObj->NmChamp = $NM_CHAMP; if (!$_REQUEST['editpc']) { $PYAObj->TypEdit = "C"; } // en consultation seule si on a pas appel�l'�ition $PYAObj->InitPO(); if ($PYAObj->TypeAff == "POPL") { $poplex = true; } // s'il existe au moins une edition en popup li� $PYAObj->DirEcho = false; $PYAObj->ValChp = $tbValChp[$NM_CHAMP]; // si pas cr�tion (edit ou copy recup la val) // en acces anonyme, donc on cache tous ceux-l�if (!$booluscreaconnect) { switch ($NM_CHAMP) { case "parcours_id": case "parcours_discp": case "parcours_name": case "parcours_user": case "parcours_start": case "parcours_ouvert":
function PYATableMAJ($DB,$table,$typedit,$tbKeys=array()) { // construction du set, necessite uniquement le nom du champ .. $rq1=db_query("SELECT * from DESC_TABLES where NM_TABLE='$table' AND NM_CHAMP!='TABLE0COMM' AND (TYPEAFF!='HID' OR ( TT_PDTMAJ!='' AND TT_PDTMAJ!= NULL)) ORDER BY ORDAFF, LIBELLE"); $key = implode("_",$tbKeys)."_"; $tbset = array(); $tbWhK = array(); while ($res1 = db_fetch_array($rq1)) { $PYAoMAJ=new PYAobj(); // recréée l'objet pour RAZ ses propriétés !!! $PYAoMAJ->NmBase=$DB; $PYAoMAJ->NmTable=$table; $PYAoMAJ->TypEdit=$typedit; if (MaxFileSize>0) $PYAoMAJ->MaxFSize=MaxFileSize; $NOMC = $res1['NM_CHAMP']; // nom variable=nom du champ $PYAoMAJ->NmChamp = $NOMC; $PYAoMAJ->InitPO($_REQUEST[$NOMC],$res1); // init l'objet, sa valeur, lui passe le tableau d'infos du champ pr éviter une requete suppl. if (array_key_exists($NOMC,$tbKeys)) { $tbWhK = array_merge($tbWhK,$PYAoMAJ->RetSet($key."_",true)); } $PYAoMAJ->ValChp=$_REQUEST[$NOMC]; // sinon en new ca bugue if ($PYAoMAJ->TypeAff=="FICFOT") { if ($_FILES[$NOMC]['name']!="" && $_FILES[$NOMC]['error']!="0") { $error=$_FILES[$NOMC]['error']; $err_lbl="Erreur sur le champ $NOMC de type http"; } $PYAoMAJ->ValChp=($_FILES[$NOMC]['tmp_name']!="" ? $_FILES[$NOMC]['tmp_name'] : $PYAoMAJ->ValChp); $PYAoMAJ->Fok=$_REQUEST["Fok".$NOMC]; $PYAoMAJ->Fname=$_FILES[$NOMC]['name']; $PYAoMAJ->Fsize=$_FILES[$NOMC]['size']; $PYAoMAJ->OFN=$_REQUEST["Old".$NOMC]; // recup infos pour les pj dans le mail $size=($PYAoMAJ->Fsize >0 ? " (".round($PYAoMAJ->Fsize / 1000)."Ko) " : ""); $chemfich="http://".$_SERVER["SERVER_NAME"].str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']).$PYAoMAJ->Valeurs; $fich=($PYAoMAJ->Fname != "" ? $key."_".$PYAoMAJ->Fname : $PYAoMAJ->ValChp); } $tbset=array_merge($tbset,$PYAoMAJ->RetSet($key."_",true)); // key sert �la gestion des fichiers li� if ($PYAoMAJ->error) { $error=true; $err_lbl="Erreur sur le champ $NOMC genree par pya :".$PYAoMAJ->error; $PYAoMAJ->error=""; } } // fin boucle sur les champs if (count($tbWhK)>0) { foreach ($tbWhK as $chp=>$val) $lchp[]=$chp."=$val"; $where= " where ".implode(" AND ",$lchp); } // GROS BUG $where=" where ".$key.($where_sup=="" ? "" : " and $where_sup"); //echovar("_REQUEST['typeditrcr']"); if ($typedit=="M") { // UPDATE $strqaj="UPDATE $table SET ".tbset2set($tbset)." $where"; } elseif ($typedit==-1) { // SUPPRESSION $strqaj="DELETE FROM $table $where"; } elseif ($typedit=="N") { //INSERTION $strqaj="INSERT INTO $table ".tbset2insert($tbset)." ON DUPLICATE KEY UPDATE ".tbset2set($tbset); } // echo "requete sql: $strqaj"; db_query($strqaj); if ($typedit == "N") return(mysql_insert_id()); }
"> <TABLE> <TR class="THEAD"> <TH>Paramètre</TH><TH>Valeur</TH><TH>Commentaire</TH></TR> <? $FCobj=new PYAobj(); $FCobj->NmBase=$DBName; $nolig=0; foreach ($tbargscust as $arg) { $tbpropPya = hash_explode($arg); $nolig++; // pour l'instant on traite que le cas des filtres PYAObj $FCobj->NmTable = $tbpropPya['NmTable']; $FCobj->NmChamp = $tbpropPya['NmChamp']; $tblvarrqc[] = $tbpropPya['NmChamp']; $FCobj->InitPO(); echo "<TR class=\"".($nolig % 2==1 ? "backwhiten" : "backredc")."\"><TD><B>$FCobj->Libelle</B><BR><small>$FCobj->Comment</small></TD><TD>"; $FCobj->EchoFilt(); echo '<input type="hidden" name="nvc_'.$tbpropPya['NmChamp'].'" value="'.$nolig.'">'; echo "</TD><TD>"; $FCobj->EchoCSA(); echo "</TD></TR>\n"; } echo '<input type="hidden" name="tblvarrqc" value="'.implode(",",$tblvarrqc).'">'; } ?> <tr><td colspan="3" align="center"><br> <?php echo trad(LT_nblig_aff_ppage);
$FCobj=new PYAobj(); $FCobj->NmBase=$DBDRHName; $FCobj->NmTable="PERSONNE"; $FCobj->NmChamp="PER_LLNOMPERS"; DispLigReq(); $FCobj->NmChamp="PER_LLPRENOMPERS"; DispLigReq(); $FCobj->NmChamp="DRH_NUUNITE"; $FCobj->NmTable="INFOS_DRH"; //DispLigReq(); $FCobj->InitPO(); // initialise l'objet echo "<tr><td colspan=\"2\">\n"; echo "<b>".$FCobj->Libelle."</b><br>\n"; echo ($FCobj->Comment!="" ? "<br><span class=\"legendes9px\">".$FCobj->Comment."</span>" : ""); $FCobj->EchoFilt(false); // affiche filtre sans négation echo "</td></tr>\n"; ?> <tr><td> </td><td> <input type="hidden" name="tf_PER_LMTYPERS" value="INPLIKE"> <input type="hidden" name="rq_PER_LMTYPERS" value="INT"> <input type="hidden" name="lc_FirstPers" value="0"> <? // fonction renvoyant une chaine contenant les codes positions affichables dans l'annuaire séparés par des : $tbica=Ctbica(); // passage multiples valeurs d'affichage dans l'annuaire ?>
// fin s'il y a au moins un champ fichier attach� } // fin si autre que modif // construction du set, necessite uniquement le nom du champ .. $rq1 = msq("SELECT NM_CHAMP from {$TBDname} where NM_TABLE='{$NM_TABLE}' AND NM_CHAMP!='{$NmChDT}' AND (TYPEAFF!='HID' OR TYPEAFF!='' OR ( TT_PDTMAJ!='' AND TT_PDTMAJ!= NULL)) ORDER BY ORDAFF, LIBELLE"); $tbset = array(); while ($res1 = db_fetch_row($rq1)) { $PYAoMAJ = new PYAobj(); // recréée l'objet pour RAZ ses propriétés !!! $PYAoMAJ->NmBase = $DBName; $PYAoMAJ->NmTable = $NM_TABLE; $PYAoMAJ->TypEdit = $_REQUEST['modif']; $NOMC = $res1[0]; // nom variable=nom du champ $PYAoMAJ->NmChamp = $NOMC; $PYAoMAJ->InitPO(); $PYAoMAJ->ValChp = $_REQUEST[$NOMC]; // issu du formulaire if ($PYAoMAJ->TypeAff == "HR_MN") { $NOMC_mn = $NOMC . "_mn"; $NOMC_hr = $NOMC . "_mn"; $PYAoMAJ->ValChp = ${$NOMC_mn} + ${$NOMC_hr} * 100; } elseif ($PYAoMAJ->TypeAff == "FICFOT") { // en php5, la variable $this->ValChp=$_REQUEST[toto], quand le champ est de type fichier a uploader, contient en fait $_FILES[toto] qui est un tableau... // et ca peut foutre la zouille... //$PYAoMAJ->ValChp=(is_array($$NOMC) ? $$NOMC['name'] : $$NOMC); if ($_FILES[$NOMC][name] != "" && $_FILES[$NOMC][error] != "0") { die("error: impossible de joindre le fichier " . $_FILES[$NOMC][name] . "; sa taille est peut-etre trop importante"); } $VarFok = "Fok" . $NOMC; //print_r($_FILES);
// valeur du champ $tPO->ValChp="ONF"; // appelle la méthode d'init des autres $tPO->InitPO(); Le champ en question est un champ lié à un autre... <? // instancie un nouvel objet $tPO=new PYAobj(); // propriétés de base $tPO->NmBase=$NM_BASE; $tPO->NmTable="ARTICLE"; $tPO->NmChamp="art_coedit"; // initialise les autres $tPO->InitPO(); // valeur du champ $tPO->ValChp="ONF"; ?> La liaison en question est définie par <?php echo $tPO->Valeurs; ?> </pre> <h3>Maintenant on passe à l'acte ...:</h3> <BR>Libellé du champ: <?php echo $tPO->Libelle; ?> <pre>
<b>id de marquage de l'import <input type="text" name="marqimp" value="<?php echo date("dmy"); ?> "></b> <h3>Actions disponibles:</h3> <h4>Import de fichiers trk ou wpt (CartoExplorer)</h4> Sélectionner une discpline dans la liste :<br/> <?php // nouvel objet pour sélection liste déroulante disciplines $ObjSeLD = new PYAobj(); $ObjSeLD->NmBase = $dbname; $ObjSeLD->NmTable = "parcours"; $ObjSeLD->NmChamp = "parcours_discp"; $ObjSeLD->InitPO(); $tabLD = ttChpLink($ObjSeLD->Valeurs); $tabLD = array(0 => "Aucun") + $tabLD; DispLD($tabLD, "LDCats", "no", ""); ?> Sélectionner le fichier à importer : <input type="file" name="ce3file"><BR/> <input type="radio" name="actionname" value="impce3file">Import Fichier CE3<BR/> <hr/> <h4>Import du SIG Régional en shp</h4> Opérations à réaliser pour un import Kayak du SIG Regional:<br><pre> - Supprimer la table temporaire zimptmp_parc_kk (plus obligé si option -d passé à shp2pgsql) - exécuter les commandes /usr/local/pgsql/bin/shp2pgsql -d Parcours.shp zimptmp_parc_kk > /tmp/zimptmp_parc_kk.sql - puis (en user pguser) psql etoil < /tmp/zimptmp_parc_kk.sql