Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 927 → Rev 928

/trunk/jrest/services/InventoryImport.php
1,112 → 1,52
<?php
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
/**
* PHP Version 5
*
* @category PHP
* @package jrest
* @author David Delon <david.delon@clapas.net>
* @author Aurélien Peronnet <aurelien@tela-botanica.org>
* @copyright 2010 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @version SVN: <svn_id>
* @link /doc/jrest/
*/
David Delon david.delon@clapas.net 2007
/**
* InventoryImport.php
*
* in : utf8
* out : utf8
*
* Cas d'utilisation :
* Service importation releve en cours
*
* 1 : L'utilisateur à traiter est communique au service
* 2 : Les releves associés à la session en cours sont transferés à l'utilisateur identifié
*/
class InventoryImport extends Cel {
 
Ce logiciel est r�gi par la licence CeCILL soumise au droit fran�ais et
respectant les principes de diffusion des logiciels libres. Vous pouvez
utiliser, modifier et/ou redistribuer ce programme sous les conditions
de la licence CeCILL telle que diffus�e par le CEA, le CNRS et l'INRIA
sur le site "http://www.cecill.info".
En contrepartie de l'accessibilit� au code source et des droits de copie,
de modification et de redistribution accord�s par cette licence, il n'est
offert aux utilisateurs qu'une garantie limit�e. Pour les m�mes raisons,
seule une responsabilit� restreinte p�se sur l'auteur du programme, le
titulaire des droits patrimoniaux et les conc�dants successifs.
 
A cet �gard l'attention de l'utilisateur est attir�e sur les risques
associ�s au chargement, � l'utilisation, � la modification et/ou au
d�veloppement et � la reproduction du logiciel par l'utilisateur �tant
donn� sa sp�cificit� de logiciel libre, qui peut le rendre complexe �
manipuler et qui le r�serve donc � des d�veloppeurs et des professionnels
avertis poss�dant des connaissances informatiques approfondies. Les
utilisateurs sont donc invit�s � charger et tester l'ad�quation du
logiciel � leurs besoins dans des conditions permettant d'assurer la
s�curit� de leurs syst�mes et ou de leurs donn�es et, plus g�n�ralement,
� l'utiliser et l'exploiter dans les m�mes conditions de s�curit�.
Le fait que vous puissiez acc�der � cet en-t�te signifie que vous avez
pris connaissance de la licence CeCILL, et que vous en avez accept� les
termes.
*/
 
// in : utf8
// out : utf8
 
/*
* InventoryImport.php
*
* Cas d'utilisation :
* Service importation releve en cours
*
* 1 : L'utilisateur � traiter est communique au service
* 2 : Les releves associ� � la session en cours sont transfer�s � l'utilisateur transmis
*/
 
 
Class InventoryImport extends DBAccessor {
 
var $config;
function getElement($uid){
function InventoryImport($config) {
 
$this->config=$config;
// Controle detournement utilisateur
session_start();
$this->controleUtilisateur($uid[0]);
$id_session_temporaire = session_id();
$gestionnaire_observation = new GestionObservation($this->config);
$migration_compte_a_compte = $gestionnaire_observation->migrerObservations($uid[0], $id_session_temporaire);
$retour = false;
if($migration_compte_a_compte) {
$retour = 'OK';
}
echo $retour;
exit;
}
 
function getElement($uid){
// Controle detournement utilisateur
session_start();
$this->controleUtilisateur($uid[0]);
// uid[0] : utilisateur obligatoire
// Recuperation Dernier num�ro d'ordre utilis� :
$DB=$this->connectDB($this->config,'database_cel');
$query="SELECT max(ordre) AS ordre FROM cel_inventory WHERE identifiant='".$DB->escapeSimple($uid[0])."' ";
$res =& $DB->query($query);
if (DB::isError($res)) {
die($res->getMessage());
}
$ordre=0;
while ($row =& $res->fetchrow(DB_FETCHMODE_ASSOC)) {
$ordre=$row['ordre']+1;
}
 
// Recuperation relev�s associ�s a la session
session_start();
$query=" SELECT ordre FROM cel_inventory WHERE identifiant = '".session_id()."' ORDER BY ordre";
$res =& $DB->query($query);
if (DB::isError($res)) {
die($res->getMessage());
}
while ($row =& $res->fetchrow(DB_FETCHMODE_ASSOC)) {
$query="UPDATE cel_inventory set identifiant ='".$DB->escapeSimple($uid[0]).
"',ordre='".$ordre."' WHERE identifiant = '".session_id()."' AND ordre = '".$row['ordre']."' ";
$res_update =& $DB->query($query);
if (DB::isError($res_update)) {
die($res_update->getMessage());
}
print $query;
$ordre++;
}
}
 
 
}
 
 
/* +--Fin du code ---------------------------------------------------------------------------------------+
* $Log$
* Revision 1.3 2008-01-30 08:57:28 ddelon
117,9 → 57,5
*
* Revision 1.1 2007-05-21 18:12:20 ddelon
* Gestion des importations locale de releves
*
*
*/
 
?>
?>