Subversion Repositories eFlore/Applications.cel

Rev

Rev 2180 | Rev 2182 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2180 Rev 2181
Line 428... Line 428...
428
		}
428
		}
Line 429... Line 429...
429
 
429
 
430
		$requete = $this->construireRequeteGrandsContributeurs($nombre, $jours, $critere);
430
		$requete = $this->construireRequeteGrandsContributeurs($nombre, $jours, $critere);
Line -... Line 431...
-
 
431
		$resultats = Cel::db()->requeter($requete);
-
 
432
 
-
 
433
		$courriels = array();
-
 
434
		foreach ($resultats as $res) {
-
 
435
			$courriels[] = $res['courriel_utilisateur'];
-
 
436
		}
-
 
437
		$identites = $this->recupererUtilisateursIdentite($courriels);
-
 
438
		foreach ($resultats as &$res) {
-
 
439
			$res['intitule_utilisateur'] = $identites[$res['courriel_utilisateur']]['intitule'];
-
 
440
			unset($res['courriel_utilisateur']);
-
 
441
			unset($res['nom_utilisateur']);
-
 
442
			unset($res['prenom_utilisateur']);
431
		$resultats = Cel::db()->requeter($requete);
443
		}
432
 
444
 
433
		$retour = array(
445
		$retour = array(
434
			'entete' => array(
446
			'entete' => array(
435
				'nombre' => intval($nombre),
447
				'nombre' => intval($nombre),
Line 458... Line 470...
458
			case "obs":
470
			case "obs":
459
				$req = "SELECT ce_utilisateur , prenom_utilisateur , nom_utilisateur , courriel_utilisateur , count(*) as nombre" .
471
				$req = "SELECT ce_utilisateur , prenom_utilisateur , nom_utilisateur , courriel_utilisateur , count(*) as nombre" .
460
					" FROM cel_obs" .
472
					" FROM cel_obs" .
461
					" WHERE transmission = 1" .
473
					" WHERE transmission = 1" .
462
					" AND TO_DAYS(NOW()) - TO_DAYS(date_transmission) <= $jours" .
474
					" AND TO_DAYS(NOW()) - TO_DAYS(date_transmission) <= $jours" .
463
					" GROUP BY courriel_utilisateur ORDER BY nombre DESC LIMIT $nombre;";
475
					" GROUP BY ce_utilisateur ORDER BY nombre DESC LIMIT $nombre;";
464
				break;
476
				break;
465
			case "img":
477
			case "img":
466
				$req = "SELECT co.ce_utilisateur , co.prenom_utilisateur , co.nom_utilisateur , co.courriel_utilisateur , count(DISTINCT ci.id_image) as nombre" .
478
				$req = "SELECT co.ce_utilisateur , co.prenom_utilisateur , co.nom_utilisateur , co.courriel_utilisateur , count(DISTINCT ci.id_image) as nombre" .
467
					" FROM cel_images ci" .
479
					" FROM cel_images ci" .
468
					" RIGHT JOIN cel_obs_images coi ON coi.id_image = ci.id_image" .
480
					" RIGHT JOIN cel_obs_images coi ON coi.id_image = ci.id_image" .
469
					" LEFT JOIN cel_obs co ON coi.id_observation = co.id_observation" .
481
					" LEFT JOIN cel_obs co ON coi.id_observation = co.id_observation" .
470
					" WHERE co.transmission = 1" .
482
					" WHERE co.transmission = 1" .
471
					" AND TO_DAYS(NOW()) - TO_DAYS(co.date_transmission) <= $jours" .
483
					" AND TO_DAYS(NOW()) - TO_DAYS(co.date_transmission) <= $jours" .
472
					" GROUP BY co.courriel_utilisateur ORDER BY nombre DESC LIMIT $nombre;";
484
					" GROUP BY co.ce_utilisateur ORDER BY nombre DESC LIMIT $nombre;";
473
				break;
485
				break;
474
			default:
486
			default:
475
				$req = "SELECT co.ce_utilisateur , co.prenom_utilisateur , co.nom_utilisateur , co.courriel_utilisateur ," .
487
				$req = "SELECT co.ce_utilisateur , co.prenom_utilisateur , co.nom_utilisateur , co.courriel_utilisateur ," .
476
						" count(DISTINCT ci.id_image) as nombreImg, count(DISTINCT co.id_observation) as nombreObs," .
488
						" count(DISTINCT ci.id_image) as nombreImg, count(DISTINCT co.id_observation) as nombreObs," .
477
						" count(DISTINCT ci.id_image) + count(DISTINCT co.id_observation) as somme" .
489
						" count(DISTINCT ci.id_image) + count(DISTINCT co.id_observation) as somme" .
478
					" FROM cel_images ci" .
490
					" FROM cel_images ci" .
479
					" RIGHT JOIN cel_obs_images coi ON coi.id_image = ci.id_image" .
491
					" RIGHT JOIN cel_obs_images coi ON coi.id_image = ci.id_image" .
480
					" LEFT JOIN cel_obs co ON coi.id_observation = co.id_observation" .
492
					" LEFT JOIN cel_obs co ON coi.id_observation = co.id_observation" .
481
					" WHERE co.transmission = 1" .
493
					" WHERE co.transmission = 1" .
482
					" AND TO_DAYS(NOW()) - TO_DAYS(co.date_transmission) <= $jours" .
494
					" AND TO_DAYS(NOW()) - TO_DAYS(co.date_transmission) <= $jours" .
483
					" GROUP BY co.courriel_utilisateur" .
495
					" GROUP BY co.ce_utilisateur" .
484
					" ORDER BY somme DESC LIMIT $nombre;";
496
					" ORDER BY somme DESC LIMIT $nombre;";
485
		}
497
		}
Line 486... Line 498...
486
 
498
 
487
		return $req;
499
		return $req;