Subversion Repositories Applications.projet

Rev

Rev 370 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 370 Rev 399
1
<?php
1
<?php
2
/**
2
/**
3
* PHP Version 5
3
* PHP Version 5
4
*
4
*
5
* @category  PHP
5
* @category  PHP
6
* @package   papyrus_bp
6
* @package   papyrus_bp
7
* @author    aurelien <aurelien@tela-botanica.org>
7
* @author    aurelien <aurelien@tela-botanica.org>
8
* @copyright 2010 Tela-Botanica
8
* @copyright 2010 Tela-Botanica
9
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
9
* @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
10
* @version   SVN: <svn_id>
10
* @version   SVN: <svn_id>
11
* @link      /doc/papyrus_bp/
11
* @link      /doc/papyrus_bp/
12
*/
12
*/
13
 
13
 
14
Class Resume extends ProjetService {
14
Class Resume extends ProjetService {
15
	
15
	
16
	public function __construct($config, $demarrer_session= true) {
16
	public function __construct($config, $demarrer_session= true) {
17
		parent::__construct($config, $demarrer_session);
17
		parent::__construct($config, $demarrer_session);
18
	}
18
	}
19
 
19
 
20
	public function getElement($uid){
20
	public function getElement($uid){
21
 
21
 
22
	    $id_utilisateur = $uid[0];
22
	    $id_utilisateur = $uid[0];
23
	    $mail_utilisateur = $uid[1];
23
	    $mail_utilisateur = $uid[1];
24
 
24
 
25
		// on selectionne les projets les plus actifs
25
		// on selectionne les projets les plus actifs
26
		$requete_projets = 	'SELECT DISTINCT *'.
26
		$requete_projets = 	'SELECT DISTINCT *'.
27
						   	' FROM projet_statistiques'.
27
						   	' FROM projet_statistiques'.
28
						   	' WHERE ps_ce_projet'.
28
						   	' WHERE ps_ce_projet'.
29
								' IN '.
29
								' IN '.
30
								'(SELECT psu_id_projet FROM projet_statut_utilisateurs'.
30
								'(SELECT psu_id_projet FROM projet_statut_utilisateurs'.
31
							'		WHERE psu_id_utilisateur = '.$id_utilisateur.')'.
31
							'		WHERE psu_id_utilisateur = '.$this->bdd->quote($id_utilisateur).')'.
32
							' GROUP BY ps_ce_projet'.
32
							' GROUP BY ps_ce_projet'.
33
							' ORDER BY ps_msg_derniere_semaine DESC'.
33
							' ORDER BY ps_msg_derniere_semaine DESC'.
34
							' LIMIT 0,5';
34
							' LIMIT 0,5';
35
		
35
		
36
		$resume = array();
36
		$resume = array();
37
 
37
 
38
		$resume['titre'] = 'Vos projets les plus actifs';
38
		$resume['titre'] = 'Vos projets les plus actifs';
39
		$resume['lien_appli'] = '<a href="http://www.tela-botanica.org/page:liste_projets"> Voir tous les projets </a>';
39
		$resume['lien_appli'] = '<a href="http://www.tela-botanica.org/page:liste_projets"> Voir tous les projets </a>';
40
 
40
 
41
		$projets = $this->bdd->query($requete_projets)->fetchAll();
41
		$projets = $this->bdd->query($requete_projets)->fetchAll();
42
 
42
 
43
	    if(!$projets) {
43
	    if(!$projets) {
44
	    	$resume['message'] = 'Vous n\'êtes inscrit à aucun projet';
44
	    	$resume['message'] = 'Vous n\'êtes inscrit à aucun projet';
45
	    } else {
45
	    } else {
46
		    foreach($projets as $projet) {
46
		    foreach($projets as $projet) {
47
 
47
 
48
				$requete_info_projet = 'SELECT p_titre'.
48
				$requete_info_projet = 'SELECT p_titre'.
49
									  ' FROM projet'.
49
									  ' FROM projet'.
50
									  ' WHERE p_id = '.$projet['ps_ce_projet'];
50
									  ' WHERE p_id = '.$this->bdd->quote($projet['ps_ce_projet']);
51
 
51
 
52
				$projet_infos = $this->bdd->query($requete_info_projet)->fetchAll();
52
				$projet_infos = $this->bdd->query($requete_info_projet)->fetchAll();
53
 
53
 
54
				$infos_messages = '';
54
				$infos_messages = '';
55
 
55
 
56
				if($projet['ps_msg_derniere_semaine'] > 0) {
56
				if($projet['ps_msg_derniere_semaine'] > 0) {
57
					$infos_messages = ' (+ '.$projet['ps_msg_derniere_semaine'].' nouveaux messages) ';
57
					$infos_messages = ' (+ '.$projet['ps_msg_derniere_semaine'].' nouveaux messages) ';
58
				} else {
58
				} else {
59
					$infos_messages = ' (aucun nouveau message) ';
59
					$infos_messages = ' (aucun nouveau message) ';
60
				}
60
				}
61
 
61
 
62
				$cible_lien = 'http://www.tela-botanica.org/page:liste_projets?id_projet='.$projet['ps_ce_projet'];
62
				$cible_lien = 'http://www.tela-botanica.org/page:liste_projets?id_projet='.$projet['ps_ce_projet'];
63
				$resume_item = array('element' => $projet_infos[0]['p_titre'].$infos_messages, 'lien' => $cible_lien);
63
				$resume_item = array('element' => $projet_infos[0]['p_titre'].$infos_messages, 'lien' => $cible_lien);
64
				$resume['elements'][] = $resume_item;
64
				$resume['elements'][] = $resume_item;
65
		    }
65
		    }
66
	    }
66
	    }
67
 
67
 
68
		$this->envoyer($resume);
68
		$this->envoyer($resume);
69
	}
69
	}
70
 
70
 
71
	public function gererInscription($id_utilisateur, $mail_utilisateur) {
71
	public function gererInscription($id_utilisateur, $mail_utilisateur) {
72
 
72
 
73
		$requete_projets_utilisateur = 'SELECT * FROM projet_statut_utilisateurs'.
73
		$requete_projets_utilisateur = 'SELECT * FROM projet_statut_utilisateurs'.
74
										' WHERE psu_id_utilisateur = '.$id_utilisateur;
74
										' WHERE psu_id_utilisateur = '.$this->bdd->quote($id_utilisateur);
75
 
75
 
76
		$resume = '';
76
		$resume = '';
77
		$projets = $this->requeteTous($requete_projets_utilisateur);
77
		$projets = $this->requeteTous($requete_projets_utilisateur);
78
 
78
 
79
		if($projets <= 0) {
79
		if($projets <= 0) {
80
			$resume = '<h3> Vous n\'êtes inscrit à aucun projet </h3>';
80
			$resume = '<h3> Vous n\'êtes inscrit à aucun projet </h3>';
81
		} else {
81
		} else {
82
			$resume = '<h3> Vos projets </h3>';
82
			$resume = '<h3> Vos projets </h3>';
83
			$resume .= '<ul id="liste_projets">';
83
			$resume .= '<ul id="liste_projets">';
84
			foreach($projets as $projet) {
84
			foreach($projets as $projet) {
85
 
85
 
86
				$requete_info_projet = 'SELECT *'.
86
				$requete_info_projet = 'SELECT *'.
87
									  ' FROM projet'.
87
									  ' FROM projet'.
88
									  ' WHERE p_id = '.$projet['psu_id_projet'];
88
									  ' WHERE p_id = '.$this->bdd->quote($projet['psu_id_projet']);
89
 
89
 
90
				$projet_infos = $this->requeteUn($requete_info_projet);
90
				$projet_infos = $this->requeteUn($requete_info_projet);
91
				$infos_messages = '';
91
				$infos_messages = '';
92
 
92
 
93
				$resume .= '<li>
93
				$resume .= '<li>
94
								<a href="http://www.tela-botanica.org/page:liste_projets?id_projet='.$projet_infos['p_id'].'" >'.
94
								<a href="http://www.tela-botanica.org/page:liste_projets?id_projet='.$projet_infos['p_id'].'" >'.
95
									'<b>'.$projet_infos['p_titre'].'</b>
95
									'<b>'.$projet_infos['p_titre'].'</b>
96
								</a>
96
								</a>
97
								<a onclick="javascript:return confirm(\'Se désinscrire du projet ?\');" href="http://www.tela-botanica.org/page:mes_preferences_des_projets?id_projet=7&amp;act=26">
97
								<a onclick="javascript:return confirm(\'Se désinscrire du projet ?\');" href="http://www.tela-botanica.org/page:mes_preferences_des_projets?id_projet=7&amp;act=26">
98
									Se désinscrire du projet
98
									Se désinscrire du projet
99
								</a>
99
								</a>
100
							</li>';
100
							</li>';
101
			}
101
			}
102
			$resume .= '</ul>';
102
			$resume .= '</ul>';
103
		}
103
		}
104
 
104
 
105
		return $resume;
105
		return $resume;
106
	}
106
	}
107
}
107
}
108
?>
108
?>