Subversion Repositories eFlore/Applications.cel

Rev

Rev 1933 | Rev 2055 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1933 Rev 2034
Line 174... Line 174...
174
	if(!isset($_SESSION)) session_start();
174
	if(!isset($_SESSION)) session_start();
175
	$this->controleUtilisateur($id_utilisateur);
175
	$this->controleUtilisateur($id_utilisateur);
Line 176... Line 176...
176
 
176
 
Line -... Line 177...
-
 
177
	$this->utilisateur = $this->getInfosComplementairesUtilisateur($id_utilisateur);
-
 
178
	
177
	$this->utilisateur = $this->getInfosComplementairesUtilisateur($id_utilisateur);
179
 
Line 178... Line 180...
178
 
180
 
179
	$this->initialiser_colonnes_statiques($id_utilisateur);
181
	$this->initialiser_colonnes_statiques($id_utilisateur);
180
 
182
 
Line 333... Line 335...
333
	    if(! $dernier_autoinc) trigger_error("l'insertion semble avoir échoué", E_USER_NOTICE);
335
	    if(! $dernier_autoinc) trigger_error("l'insertion semble avoir échoué", E_USER_NOTICE);
Line 334... Line 336...
334
 
336
 
335
	    $obs_ajouts += count($enregistrements);
337
	    $obs_ajouts += count($enregistrements);
336
	    // $obs_ajouts += count($enregistrements['insert']);
338
	    // $obs_ajouts += count($enregistrements['insert']);
-
 
339
	    // $obs_maj += count($enregistrements['update']);
-
 
340
	    
-
 
341
	    $ordre_ids = self::chargerCorrespondancesIdOrdre($this, $enregistrements);
337
	    // $obs_maj += count($enregistrements['update']);
342
	    
338
	    $nb_images_ajoutees += self::stockerImages($enregistrements, $images, $dernier_autoinc);
343
	    $nb_images_ajoutees += self::stockerImages($enregistrements, $images, $ordre_ids);
339
	    $nb_mots_cle_ajoutes += self::stockerMotsCle($enregistrements, $mots_cle, $dernier_autoinc);
344
	    $nb_mots_cle_ajoutes += self::stockerMotsCle($enregistrements, $mots_cle, $dernier_autoinc);
Line 340... Line 345...
340
	}
345
	}
Line 419... Line 424...
419
	// merge ( Array( I => rien ) , Array ( S => Ordre, AA => Phénologie ) )
424
	// merge ( Array( I => rien ) , Array ( S => Ordre, AA => Phénologie ) )
420
	// ==> Array ( I => rien, AA => Phénologie )
425
	// ==> Array ( I => rien, AA => Phénologie )
421
	return array_merge($colonnesID_non_reconnues, $colonnesID_a_exclure);
426
	return array_merge($colonnesID_non_reconnues, $colonnesID_a_exclure);
422
    }
427
    }
Line -... Line 428...
-
 
428
    
-
 
429
    static function chargerCorrespondancesIdOrdre($cel, $lignes) {
-
 
430
    	
-
 
431
    	$ordre_ids = array();
-
 
432
    
-
 
433
    	$requete_obs_ids = "SELECT id_observation, ordre FROM cel_obs WHERE ordre IN (";
-
 
434
    	foreach($lignes as &$ligne) {
-
 
435
    		$requete_obs_ids .= $ligne['ordre'].',';
-
 
436
    	}
-
 
437
    	$requete_obs_ids = rtrim($requete_obs_ids, ',');
-
 
438
    	$requete_obs_ids .= ") AND ce_utilisateur = ".Cel::db()->proteger($cel->id_utilisateur);
-
 
439
    	
-
 
440
    	
-
 
441
    	$obs_ids = Cel::db()->requeter($requete_obs_ids);
-
 
442
    	foreach($obs_ids as &$obs) {
-
 
443
    		$ordre_ids[$obs['ordre']] = $obs['id_observation'];
-
 
444
    	}
-
 
445
    	return $ordre_ids;
-
 
446
    }
423
 
447
 
424
    /*
448
    /*
425
     * charge un groupe de lignes
449
     * charge un groupe de lignes
426
     */
450
     */
427
    static function chargerLignes($cel, $lignes, $colonnes_statiques, &$dernier_ordre) {
451
    static function chargerLignes($cel, $lignes, $colonnes_statiques, &$dernier_ordre) {
Line 490... Line 514...
490
	// debug: var_dump($tous_mots_cle);die;
514
	// debug: var_dump($tous_mots_cle);die;
491
	foreach($tous_mots_cle as $v) $c += count($v['mots_cle']['to_insert']);
515
	foreach($tous_mots_cle as $v) $c += count($v['mots_cle']['to_insert']);
492
	return $c;
516
	return $c;
493
    }
517
    }
Line 494... Line 518...
494
 
518
 
495
    static function stockerImages($enregistrements, $toutes_images, $lastid) {
519
    static function stockerImages($enregistrements, $toutes_images, $ordre_ids) {
496
	$images_insert = 'INSERT INTO cel_obs_images (id_image, id_observation) VALUES %s ON DUPLICATE KEY UPDATE id_image = id_image';
520
	$images_insert = 'INSERT INTO cel_obs_images (id_image, id_observation) VALUES %s ON DUPLICATE KEY UPDATE id_image = id_image';
Line 497... Line 521...
497
	$images_obs_assoc = Array();
521
	$images_obs_assoc = Array();
498
 
522
 
499
	foreach($toutes_images as $images_pour_obs) {
-
 
500
	    $obs = $enregistrements[$images_pour_obs["obs_pos"]];
-
 
501
	    $id_obs = $lastid // dernier autoinc inséré
523
	foreach($toutes_images as $images_pour_obs) {
502
		- count($enregistrements) + 1 // correspondrait au premier autoinc
524
	    $obs = $enregistrements[$images_pour_obs["obs_pos"]];
503
		+ $images_pour_obs["obs_pos"]; // ordre d'insertion = ordre dans le tableau $enregistrements (commence à 0)
525
	    $id_obs = $ordre_ids[$obs['ordre']]; // id réel de l'observation correspondant à l'ordre
504
	    foreach($images_pour_obs['images'] as $image) {
526
	    foreach($images_pour_obs['images'] as $image) {
505
		$images_obs_assoc[] = sprintf('(%d,%d)',
527
		$images_obs_assoc[] = sprintf('(%d,%d)',
506
					      $image['id_image'], // intval() useless
528
					      $image['id_image'], // intval() useless