source: pmb4.2/trunk/fuentes/pmb/classes/suggestions_origine.class.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 4.3 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2005 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: suggestions_origine.class.php,v 1.14 2015-04-03 11:16:19 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9class suggestions_origine{
10       
11       
12        var $origine = 0;                                               //Auteur de la suggestion (email ou identifiant utilisateur ou identifiant abonné)
13        var $num_suggestion = 0;                                //Numéro de la suggestion
14        var $type_origine = 0;                                  //Identifie le type de l'auteur (0 = utilisateur, 1 = abonné, 2 = visiteur, ..)
15        var $date_suggestion = NULL;                    //Date et heure de la suggestion       
16
17         
18        //Constructeur. 
19        function suggestions_origine($origine= 0, $num_suggestion= 0,$type=0) {
20               
21                global $dbh;
22       
23                $this->origine = $origine;
24                $this->num_suggestion = $num_suggestion;
25                $this->type_origine = $type;
26                $q = "select count(1) from suggestions_origine where origine = '".$this->origine."' and num_suggestion = '".$this->num_suggestion."' and type_origine='".$this->type_origine."'";
27                $r = pmb_mysql_query($q, $dbh);
28                if (pmb_mysql_result($r, 0, 0) != 0) {
29                        $this->load();
30                }
31
32        }       
33
34
35        static function exists($origine= 0, $num_suggestion= 0,$type=0) {
36                global $dbh;
37                $q = "select count(1) from suggestions_origine where origine = '".$origine."' and num_suggestion = '".$num_suggestion."' and type_origine='".$type."'";
38                $r = pmb_mysql_query($q, $dbh);
39                return pmb_mysql_result($r, 0, 0) != 0;
40        }
41       
42        // charge un auteur et une de ses suggestions à partir de la base.
43        function load(){
44       
45                global $dbh;
46               
47                $q = "select * from suggestions_origine where origine = '".$this->origine."' and num_suggestion = '".$this->num_suggestion."' and type_origine='".$this->type_origine."'";
48                $r = pmb_mysql_query($q, $dbh);
49                $obj = pmb_mysql_fetch_object($r);
50                $this->type_origine = $obj->type_origine;
51                $this->date_suggestion = $obj->date_suggestion;
52
53        }
54
55       
56        // enregistre un auteur et une de ses suggestions en base.
57        function save(){
58               
59                global $dbh;
60               
61                if (!$this->origine && !$this->num_suggestion) die("Erreur de création suggestions_origine");
62               
63                $q = "select count(1) from suggestions_origine where origine = '".$this->origine."' and num_suggestion = '".$this->num_suggestion."' and type_origine='".$this->type_origine."'";       
64                $r = pmb_mysql_query($q, $dbh);
65                if (pmb_mysql_result($r, 0, 0) != 0) {
66               
67                        $q = "update suggestions_origine set type_origine = '".$this->type_origine."' ";
68                        $q.= "where origine = '".$this->origine."' and num_suggestion = '".$this->num_suggestion."' ";
69                        $r = pmb_mysql_query($q, $dbh);
70                       
71                } else {
72                               
73                        $q = "insert into suggestions_origine set origine = '".$this->origine."', num_suggestion = '".$this->num_suggestion."', ";
74                        $q.= "type_origine =  '".$this->type_origine."', date_suggestion = now() ";
75                        $r = pmb_mysql_query($q, $dbh);
76                       
77                }
78        }
79
80
81        //supprime la suggestion d'un auteur de la base
82        function delete($num_suggestion, $origine=0,$type=0 ) {
83               
84                global $dbh;
85
86                $q = "delete from suggestions_origine where num_suggestion = '".$num_suggestion."' ";
87                if($origine) $q.= "and origine = '".$origine."' ";
88                 if($type) $q.= "and type_origine = '".$type."' ";
89                $r = pmb_mysql_query($q, $dbh);
90                               
91        }
92
93       
94        //optimization de la table suggestions_origine
95        function optimize() {
96               
97                global $dbh;
98               
99                $opt = pmb_mysql_query('OPTIMIZE TABLE suggestions_origine', $dbh);
100                return $opt;
101                               
102        }
103       
104        //recherche les occurences d'une suggestion triées par date
105        static function listOccurences($num_suggestion, $limit=0){
106               
107                global $dbh;
108               
109                $q = "Select origine, type_origine, date_suggestion from suggestions_origine where num_suggestion = '".$num_suggestion."' order by date_suggestion asc ";
110                if ($limit) $q.= "limit ".$limit;
111                return $q;
112        }
113
114        //fusion des suggestions
115        function fusionne($origine, $from_sug, $to_sug){
116               
117                global $dbh;
118               
119                //On commence par supprimer les suggestions pour lesquelles l'origine est identique à celle de destination
120                $q = "Delete from suggestions_origine where origine = '".$origine."' and num_suggestion = '".$from_sug."' ";
121                $r = pmb_mysql_query($q, $dbh);
122               
123                //On met à jour les suggestions à fusionner
124                $q = "Update suggestions_origine set num_suggestion = '".$to_sug."' where num_suggestion = '".$from_sug."' ";
125                $r = pmb_mysql_query($q, $dbh);
126        }
127
128
129                               
130}
131?>
Note: See TracBrowser for help on using the repository browser.