source: pmb4.2/trunk/fuentes/pmb/classes/nomenclature/nomenclature_record_formations.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: 3.4 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2014 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: nomenclature_record_formations.class.php,v 1.16 2015-04-10 09:26:25 dgoron Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9
10require_once($class_path."/nomenclature/nomenclature_record_formation.class.php");
11
12/**
13 * class nomenclature_record_formations
14 * Représente les formations de la nomenclature d'une notice
15 */
16class nomenclature_record_formations{
17
18        /** Aggregations: */
19
20        /** Compositions: */
21
22         /*** Attributes: ***/
23
24        /**
25         * Nom du type
26         * @access protected
27         */
28
29        public $record_formations;
30               
31        /**
32         * Constructeur
33         *
34         * @param int id de la notice
35         
36         * @return void
37         * @access public
38         */
39        public function __construct($id=0) {
40                $this->id = $id*1;
41                $this->fetch_datas();
42        } // end of member function __construct
43
44        protected function fetch_datas(){
45                global $dbh;
46                $this->record_formations = array();
47                if($this->id){
48                        $query = "select id_notice_nomenclature from nomenclature_notices_nomenclatures where notice_nomenclature_num_notice = ".$this->id." order by notice_nomenclature_order, notice_nomenclature_label";
49                        $result = pmb_mysql_query($query,$dbh);
50                        if(pmb_mysql_num_rows($result)){
51                                while($row = pmb_mysql_fetch_object($result)){
52                                        $this->add_record_formation( new nomenclature_record_formation($row->id_notice_nomenclature)); 
53                                }
54                        }
55                }
56        }
57       
58        public function add_record_formation($record_formation ) {             
59                $this->record_formations[] = $record_formation; 
60        }
61       
62        public function get_data() {   
63                $data=array();
64                foreach($this->record_formations  as $formation){
65                        $data[]=$formation->get_data();
66                }
67                return($data);
68        }
69       
70        public function save_form($formations_list) {           
71                $this->delete();
72               
73                if(!is_array($formations_list)) return;
74                foreach($formations_list as $record_formation){                 
75                        $formation=new nomenclature_record_formation($record_formation['num_formation']);
76                        $formation->save_form($record_formation);
77                }
78        }
79
80        public function delete(){
81                // supression des formations de la notice
82                foreach($this->record_formations  as $formation){
83                        $formation->delete();
84                }
85                $this->record_formations = array();
86        }
87       
88        public function get_id(){
89                return $this->id;
90        }
91       
92        public static function get_index($id) {
93                global $dbh;
94               
95                $mots="";
96                $req="
97                select formation_name, notice_nomenclature_label, notice_nomenclature_notes,type_name
98                        from nomenclature_notices_nomenclatures, nomenclature_formations, nomenclature_types
99                        where id_formation=notice_nomenclature_num_formation and id_type=notice_nomenclature_num_type and notice_nomenclature_num_notice='".$id."'
100                union
101                select formation_name, notice_nomenclature_label, notice_nomenclature_notes, '' as type_name
102                        from nomenclature_notices_nomenclatures, nomenclature_formations
103                        where id_formation=notice_nomenclature_num_formation and notice_nomenclature_num_type=0 and notice_nomenclature_num_notice='".$id."'
104                ";
105               
106                $result = pmb_mysql_query($req, $dbh);
107                if($result){
108                        if(pmb_mysql_num_rows($result)){
109                                while($row = pmb_mysql_fetch_object($result)){
110                                        $mots.=$row->formation_name." ".$row->notice_nomenclature_label." ".$row->notice_nomenclature_notes." ".$row->type_name." ";
111                                }
112                        }       
113                }
114                return $mots;
115        }       
116} // end of nomenclature_record_formations
Note: See TracBrowser for help on using the repository browser.