示例#1
0
// 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);
示例#4
0
	$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>&nbsp;</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>
示例#7
0
<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