Subversion Repositories eFlore/Applications.coel

Rev

Rev 1691 | Rev 1695 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1691 Rev 1693
Line 9... Line 9...
9
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
9
 * @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
10
 * @version $Id$
10
 * @version $Id$
11
 * @copyright 2009
11
 * @copyright 2009
12
 */
12
 */
13
class CoelStructure extends Coel {
13
class CoelStructure extends Coel {
14
	
14
 
-
 
15
    static $optional_bool_fields = array('cs_nbre_personne', 'csc_mark_formation', 'csc_mark_formation_interet');
-
 
16
 
15
	// ATTENTION : tjrs garder la table principale en premier, puis mettre les tables spécialisées.
17
	// ATTENTION : tjrs garder la table principale en premier, puis mettre les tables spécialisées.
16
	protected $tables = array(	120 => array(
18
	protected $tables = array(	120 => array(
17
									'nom' => 'coel_structure', 
19
									'nom' => 'coel_structure', 
18
									'prefixe' => 'cs', 
20
									'prefixe' => 'cs', 
19
									'id' => array('cs_id_structure')),
21
									'id' => array('cs_id_structure')),
Line 166... Line 168...
166
				$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
168
				$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage());
167
			}
169
			}
168
		}
170
		}
169
		return $info;
171
		return $info;
170
	}
172
	}
-
 
173
 
-
 
174
 
-
 
175
    static function NULLifNotNum(&$params, $keys_to_null) {
-
 
176
        foreach($keys_to_null as $v) {
-
 
177
            if(array_key_exists($v, $params) && !is_numeric($params[$v])) {
-
 
178
                $params[$v] = NULL;
-
 
179
            }
-
 
180
        }
-
 
181
    }
Line 171... Line 182...
171
	
182
	
172
	/**
183
	/**
173
	 * Méthode appelée pour ajouter un élément.
184
	 * Méthode appelée pour ajouter un élément.
174
	 */
185
	 */
Line 190... Line 201...
190
					$params['cs_latitude'] = $lonlat['lat'];
201
					$params['cs_latitude'] = $lonlat['lat'];
191
					$params['cs_longitude'] = $lonlat['lon'];
202
					$params['cs_longitude'] = $lonlat['lon'];
192
				}
203
				}
193
			}
204
			}
Line -... Line 205...
-
 
205
 
-
 
206
            self::NULLifNotNum($params, self::$optional_bool_fields);
194
 
207
 
195
			$tables_a_modifier = $this->recupererTablesAModifier($params);
208
			$tables_a_modifier = $this->recupererTablesAModifier($params);
Line 196... Line 209...
196
			reset($tables_a_modifier);
209
			reset($tables_a_modifier);
197
 
210
 
Line 265... Line 278...
265
					$params['cs_latitude'] = $lonlat['lat'];
278
					$params['cs_latitude'] = $lonlat['lat'];
266
					$params['cs_longitude'] = $lonlat['lon'];
279
					$params['cs_longitude'] = $lonlat['lon'];
267
					$form_needs_refresh = TRUE;
280
					$form_needs_refresh = TRUE;
268
				}
281
				}
269
			}
282
			}
270
            if(array_key_exists('cs_nbre_personne', $params) && !is_numeric($params['cs_nbre_personne'])) {
-
 
-
 
283
 
271
                $params['cs_nbre_personne'] = NULL;
284
            self::NULLifNotNum($params, self::$optional_bool_fields);
272
            }
-
 
Line 273... Line 285...
273
 
285
 
274
			// Vérification des tables à vraiment mettre à jour en fonction des données passées.
286
			// Vérification des tables à vraiment mettre à jour en fonction des données passées.
275
			$tables_a_modifier = $this->recupererTablesAModifier($params);
287
			$tables_a_modifier = $this->recupererTablesAModifier($params);
276
			// Pour chaque table du module nous lançons si nécessaire l'historisation puis la mise à jour
288
			// Pour chaque table du module nous lançons si nécessaire l'historisation puis la mise à jour