source: pmb4.2/trunk/fuentes/pmb/classes/suggestion_source.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.7 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: suggestion_source.class.php,v 1.2 2015-04-03 11:16:19 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9require_once($include_path."/templates/suggestion_source.tpl.php");
10
11class suggestion_source{
12       
13        var $id_source=0;
14        var $libelle_source='';
15       
16        /*
17         * Constructeur
18         */
19        function suggestion_source($id=0){
20                global $dbh;
21               
22                $this->id_source = $id;
23               
24                if(!$this->id_source){
25                        $this->libelle_source ='';
26                } else {
27                        $req="select libelle_source from suggestions_source where id_source='".$this->id_source."'";
28                        $res = pmb_mysql_query($req,$dbh);
29                        $src = pmb_mysql_fetch_object($res);
30                        $this->libelle_source = $src->libelle_source;
31                }
32        }
33       
34        /*
35         * Gestion des actions
36         */
37        function proceed($action){
38               
39                switch($action){
40                       
41                        case 'save':
42                                $this->save();
43                                $this->show_form();
44                                break;
45                        case 'modif':
46                        case 'add':
47                                $this->show_edit_form();
48                                break;
49                        case 'del':
50                                $ko = $this->delete();
51                                if(!$ko) $this->show_form();
52                                break;
53                        default:
54                                $this->show_form();
55                                break;
56                }
57        }
58       
59        /*
60         * Formulaire d'ajout/modification
61         */
62        function show_edit_form(){
63                global $src_form, $msg, $charset;
64               
65                if(!$this->id_source){
66                        $src_form = str_replace('!!form_title!!',$msg[acquisition_ajout_src],$src_form);
67                        $src_form = str_replace('!!libelle!!','',$src_form);
68                        $src_form = str_replace('!!bouton_sup!!','',$src_form);
69                        $src_form = str_replace('!!id!!','',$src_form);
70                } else {
71                        $src_form .= "<script type='text/javascript'>
72                                function confirm_del_src(){
73                                        result = confirm(\"".$msg['acquisition_sugg_source_del']."\");
74                                return result;
75                        }
76                        </script>";
77                        $src_form = str_replace('!!id!!',$this->id_source,$src_form);
78                        $src_form = str_replace('!!form_title!!',$msg[acquisition_modif_src],$src_form);
79                        $src_form = str_replace('!!libelle!!',htmlentities($this->libelle_source, ENT_QUOTES, $charset),$src_form);
80                        $btn_sup = "<input class='bouton' type='submit' name='del_src' id='del_src' value='$msg[63]' onclick='this.form.act.value=\"del\"; return confirm_del_src();'";
81                        $src_form = str_replace('!!bouton_sup!!',$btn_sup,$src_form);
82                }
83               
84                print $src_form;
85        }
86       
87        /*
88         * Formulaire de présentation
89         */
90        function show_form(){
91                global $dbh;
92                global $msg;
93                global $charset;
94               
95                $display='';
96                $display= "<table>
97                <tr>
98                        <th>".htmlentities($msg[103], ENT_QUOTES, $charset)."</th>
99                </tr>";
100                $tab_src =array();
101                $req = "select * from suggestions_source order by libelle_source";
102                $res=pmb_mysql_query($req,$dbh);
103                while ($row = pmb_mysql_fetch_object($res)){
104                        $tab_src[$row->id_source] = $row->libelle_source;
105                }
106               
107                if(count($tab_src) == 0){
108                        $display .= "<tr><td>".$msg[acquisition_no_src_available]."</td></tr>";
109                } 
110                $parity=1;
111                foreach($tab_src as $id_src=>$lib_src) {
112                        if ($parity % 2) {
113                                $pair_impair = "even";
114                        } else {
115                                $pair_impair = "odd";
116                        }
117                        $parity += 1;
118                        $tr_javascript=" onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='$pair_impair'\" onmousedown=\"document.location='./admin.php?categ=acquisition&sub=src&act=modif&id_src=$id_src';\" ";
119                $display .= "<tr class='$pair_impair' $tr_javascript style='cursor: pointer'><td><i>".htmlentities($lib_src, ENT_QUOTES, $charset)."</i></td>";
120                        $display .= "</tr>";
121                }
122                $display .= "</table>
123                        <input class='bouton' type='button' value=' ".$msg[acquisition_ajout_src]." ' onClick=\"document.location='./admin.php?categ=acquisition&sub=src&act=add'\" />";
124               
125                print $display;
126        }
127       
128        /*
129         * Création/Modification
130         */
131        function save(){
132               
133                global $dbh, $libelle;
134               
135                if(!$this->id_source){
136                        $req = "insert into suggestions_source set libelle_source='".$libelle."'";
137                } else {
138                        $req="update suggestions_source set libelle_source='".$libelle."' where id_source='".$this->id_source."'";
139                }               
140                pmb_mysql_query($req,$dbh);
141        }
142       
143        //Suppression d'une source
144        function delete(){
145                global $dbh,$msg;               
146               
147                $error = false;
148                if($this->hasSuggestions()){
149                        error_message($msg[321],$msg['acquisition_sugg_source_used'],1, 'admin.php?categ=acquisition&sub=src');
150                        $error=true;
151                } else {               
152                        $req="delete from suggestions_source where id_source='".$this->id_source."'";
153                        pmb_mysql_query($req,$dbh);
154                }
155               
156                return $error;
157        }
158       
159        //Vérifie si la source de suggestions est utilisee dans les suggestions
160        function hasSuggestions(){
161               
162                global $dbh;
163               
164                $q = "select count(1) from suggestions where sugg_source = '".$this->id_source."' ";
165                $r = pmb_mysql_query($q, $dbh); 
166                return pmb_mysql_result($r, 0, 0);
167               
168        }
169}
170?>
Note: See TracBrowser for help on using the repository browser.