source: pmb4.2/trunk/fuentes/pmb/admin/proc/req.inc.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: 3.4 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: req.inc.php,v 1.2 2015-04-03 11:16:23 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9require_once ($class_path.'/request.class.php'); 
10require_once ($class_path.'/requester.class.php');
11require_once ($include_path.'/templates/requests.tpl.php');
12
13$rqt = new requester();
14
15function show_req_add_form($step=0) {
16       
17        global $dbh, $msg, $charset;
18        global $rqt;
19        global $req_add_form;
20        global $bt_enr_form;
21       
22        $form_title = $msg['req_form_tit_add'];
23
24        switch($step) {
25                default :
26                case '0' :
27                        $req_add_form = str_replace('!!form_title!!', $form_title, $req_add_form);
28
29                        $num_classement=0;
30                        $combo_clas= gen_liste ("SELECT idproc_classement,libproc_classement FROM procs_classements ORDER BY libproc_classement ", "idproc_classement", "libproc_classement", "form_classement", "", $num_classement, 0, $msg['proc_clas_aucun'],0, $msg['proc_clas_aucun']) ;
31                        $req_add_form = str_replace('!!classement!!', $combo_clas, $req_add_form);
32                       
33                        $req_add_form = str_replace('!!req_name!!', '', $req_add_form);
34                        $req_add_form = str_replace('!!req_type!!',$rqt->getTypeSelector('1','req_typeChg();'), $req_add_form);
35                        $req_add_form = str_replace('!!req_univ!!',$rqt->getUnivSelector('1','req_univChg();'), $req_add_form);
36                        $req_add_form = str_replace('!!req_comm!!','', $req_add_form);
37                        $req_add_form = str_replace('!!req_code!!','', $req_add_form);
38                        $req_add_form = str_replace('!!req_auth!!', request::getAutorisationsForm(), $req_add_form);
39                        break;
40        }
41
42        print $req_add_form;   
43}
44
45//Verification de la presence et de la syntaxe des parametres de la requete
46//retourne true si OK, sinon retourne le nom du parametre entre parentheses
47function check_param($requete) {
48        $query_parameters=array();
49        //S'il y a des termes !!*!! dans la requête alors il y a des paramètres
50        if (preg_match_all("|!!(.*)!!|U",$requete,$query_parameters)) {
51                        for ($i=0; $i<count($query_parameters[1]); $i++) {
52                                if (!preg_match("/^[A-Za-z][A-Za-z0-9_]*$/",$query_parameters[1][$i])) {
53                                        return "(".$query_parameters[1][$i].")";
54                                }
55                        }
56        }
57        return true;
58}
59
60
61//traitement des actions
62switch($action) {
63       
64        case 'add':
65                show_req_add_form();
66                break;
67
68        case 'modif':
69                break;
70
71        case 'update':
72                if($req_name && $req_code) {
73                        $requete = "SELECT count(1) FROM procs WHERE name='".$req_name."' ";
74                        $res = pmb_mysql_query($requete, $dbh);
75                        $nbr_lignes = pmb_mysql_result($res, 0, 0);
76                        if(!$nbr_lignes) {
77                                if (is_array($user_aut)) { 
78                                        $autorisations=implode(" ",$user_aut);
79                                } else {
80                                        $autorisations='';
81                                }
82                                $param_name=check_param($req_code);
83                                if ($param_name!==true) {
84                                        error_message_history($param_name, sprintf($msg['proc_param_check_field_name'],$param_name), 1);
85                                        exit();
86                                }
87                                $requete = "INSERT INTO procs (idproc,name,requete,comment,autorisations,num_classement) VALUES ('', '$req_name', '$req_code', '$req_comm', '$autorisations', '$form_classement'  ) ";
88                                $res = pmb_mysql_query($requete, $dbh);
89                        } else {
90                                print "<script language='Javascript'>alert(\"".addslashes($msg[709])."\");</script>";
91                        }
92                        print "<script type='text/javascript'> document.location='./admin.php?categ=proc&sub=proc&action='</script>";
93                }
94                break;
95
96               
97        case 'del':
98                break;
99
100        case 'list':
101        default:
102                break;
103}
104
105?>
Note: See TracBrowser for help on using the repository browser.