Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2446 Rev 2449
Line 382... Line 382...
382
	 * en termes d'observations ajoutées, d'images ajoutées, ou les deux
382
	 * en termes d'observations ajoutées, d'images ajoutées, ou les deux
383
	 * Paramètres : "jours" (int), "nombre" (int), "critere" ("obs" ou "img" ou "")
383
	 * Paramètres : "jours" (int), "nombre" (int), "critere" ("obs" ou "img" ou "")
384
	 * @return array
384
	 * @return array
385
	 */
385
	 */
386
	private function getGrandsContributeurs() {
386
	private function getGrandsContributeurs() {
387
 
-
 
388
		$nombre = 10; // les $nombre plus importants contributeurs
387
		$nombre = 10; // les $nombre plus importants contributeurs
389
		$jours = 7; // depuis $jours jours
388
		$jours = 7; // depuis $jours jours
390
		$critere = null; // "obs", "img" ou null (les deux)
389
		$critere = null; // "obs", "img" ou null (les deux)
Line 391... Line 390...
391
 
390
 
Line 441... Line 440...
441
		}
440
		}
442
		return $retour;
441
		return $retour;
443
	}
442
	}
Line 444... Line 443...
444
 
443
 
445
	private function construireRequeteGrandsContributeurs($nombre = 10, $jours = 7, $critere = null) {
444
	private function construireRequeteGrandsContributeurs($nombre = 10, $jours = 7, $critere = null) {
446
		$req = "";
445
		$requete = '';
447
		switch ($critere) {
446
		switch ($critere) {
448
			case "obs":
447
			case 'obs':
-
 
448
				$requete = "SELECT ce_utilisateur , prenom_utilisateur , nom_utilisateur , courriel_utilisateur , ".
449
				$req = "SELECT ce_utilisateur , prenom_utilisateur , nom_utilisateur , courriel_utilisateur , count(*) as nombreObs" .
449
					"	COUNT(*) AS nombreObs ".
450
					" FROM cel_obs" .
450
					"FROM cel_obs ".
451
					" WHERE transmission = 1" .
451
					"WHERE transmission = 1 ".
-
 
452
					"AND TO_DAYS(NOW()) - TO_DAYS(date_transmission) <= $jours ".
452
					" AND TO_DAYS(NOW()) - TO_DAYS(date_transmission) <= $jours" .
453
					"GROUP BY ce_utilisateur ".
-
 
454
					"ORDER BY nombreObs DESC ".
453
					" GROUP BY ce_utilisateur ORDER BY nombreObs DESC LIMIT $nombre;";
455
					"LIMIT $nombre ";
454
				break;
456
				break;
455
			case "img":
457
			case 'img':
-
 
458
				$requete = "SELECT co.ce_utilisateur , co.prenom_utilisateur , co.nom_utilisateur , ".
456
				$req = "SELECT co.ce_utilisateur , co.prenom_utilisateur , co.nom_utilisateur , co.courriel_utilisateur , count(DISTINCT ci.id_image) as nombreImg ".
459
					"	co.courriel_utilisateur , COUNT(DISTINCT ci.id_image) AS nombreImg ".
457
					"FROM cel_images ci ".
460
					"FROM cel_images ci ".
458
					"RIGHT JOIN cel_obs co ON ci.ce_observation = co.id_observation ".
461
					"	RIGHT JOIN cel_obs co ON ci.ce_observation = co.id_observation ".
459
					"WHERE co.transmission = 1 ".
462
					"WHERE co.transmission = 1 ".
460
					"AND TO_DAYS(NOW()) - TO_DAYS(co.date_transmission) <= $jours ".
463
					"AND TO_DAYS(NOW()) - TO_DAYS(co.date_transmission) <= $jours ".
-
 
464
					"GROUP BY co.ce_utilisateur ".
-
 
465
					"ORDER BY nombreImg DESC ".
461
					"GROUP BY co.ce_utilisateur ORDER BY nombreImg DESC LIMIT $nombre; ";
466
					"LIMIT $nombre ";
462
				break;
467
				break;
463
			default:
468
			default:
464
				$req = "SELECT co.ce_utilisateur, co.prenom_utilisateur, co.nom_utilisateur, co.courriel_utilisateur, ".
469
				$requete = "SELECT co.ce_utilisateur, co.prenom_utilisateur, co.nom_utilisateur, co.courriel_utilisateur, ".
465
					"COUNT(DISTINCT ci.id_image) AS nombreImg, COUNT(DISTINCT co.id_observation) AS nombreObs, ".
470
					"COUNT(DISTINCT ci.id_image) AS nombreImg, COUNT(DISTINCT co.id_observation) AS nombreObs, ".
466
					"COUNT(DISTINCT ci.id_image) + COUNT(DISTINCT co.id_observation) AS somme ".
471
					"COUNT(DISTINCT ci.id_image) + COUNT(DISTINCT co.id_observation) AS somme ".
467
					"FROM cel_images ci ".
472
					"FROM cel_images ci ".
468
					"RIGHT JOIN cel_obs co ON ci.ce_observation = co.id_observation ".
473
					"	RIGHT JOIN cel_obs co ON ci.ce_observation = co.id_observation ".
469
					"WHERE co.transmission = 1 ".
474
					"WHERE co.transmission = 1 ".
470
					"AND TO_DAYS(NOW()) - TO_DAYS(co.date_transmission) <= $jours ".
475
					"AND TO_DAYS(NOW()) - TO_DAYS(co.date_transmission) <= $jours ".
471
					"GROUP BY co.ce_utilisateur ".
476
					"GROUP BY co.ce_utilisateur ".
-
 
477
					"ORDER BY somme DESC ".
472
					"ORDER BY somme DESC LIMIT $nombre ; ";
478
					"LIMIT $nombre ";
473
		}
-
 
474
 
479
		}
475
		return $req;
480
		return $requete;
476
	}
-
 
477
}
-
 
478
?>
481
	}
-
 
482
}
479
483