241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
|
if ($name == 'email' && $config['type'] != 'email')
{
throw new UserException('Le champ email ne peut être d\'un type différent de email.');
}
if ($name == 'passe' && $config['type'] != 'password')
{
throw new UserException('Le champ mot de passe ne peut être d\'un type différent de email.');
}
if (!array_key_exists('editable', $config))
{
$config['editable'] = false;
}
|
|
>
>
>
>
>
|
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
|
if ($name == 'email' && $config['type'] != 'email')
{
throw new UserException('Le champ email ne peut être d\'un type différent de email.');
}
if ($name == 'passe' && $config['type'] != 'password')
{
throw new UserException('Le champ mot de passe ne peut être d\'un type différent de mot de passe.');
}
if (($config['type'] == 'multiple' || $config['type'] == 'select') && empty($config['options']))
{
throw new UserException('Le champ "'.$name.'" nécessite de comporter au moins une option possible.');
}
if (!array_key_exists('editable', $config))
{
$config['editable'] = false;
}
|
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
|
{
$db = DB::getInstance();
//$config
}
/**
* Enregistre les changements de champs en base de données
* @param boolean $copy Recopier les anciennes champs dans les nouveaux ?
* @return boolean true
*/
public function save($copy = true)
{
$db = DB::getInstance();
$config = Config::getInstance();
// Champs à créer
$create = array(
'id INTEGER PRIMARY KEY, -- Numéro attribué automatiquement',
|
|
|
|
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
|
{
$db = DB::getInstance();
//$config
}
/**
* Enregistre les changements de champs en base de données
* @param boolean $enable_copy Recopier les anciennes champs dans les nouveaux ?
* @return boolean true
*/
public function save($enable_copy = true)
{
$db = DB::getInstance();
$config = Config::getInstance();
// Champs à créer
$create = array(
'id INTEGER PRIMARY KEY, -- Numéro attribué automatiquement',
|
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
|
$create = 'CREATE TABLE membres_tmp (' . "\n\t" . implode("\n\t", $create) . "\n);";
$copy = 'INSERT INTO membres_tmp (' . implode(', ', $copy) . ') SELECT ' . implode(', ', $copy) . ' FROM membres;';
$db->exec('PRAGMA foreign_keys = OFF;');
$db->exec('BEGIN;');
$db->exec($create);
if ($copy) {
$db->exec($copy);
}
$db->exec('DROP TABLE membres;');
$db->exec('ALTER TABLE membres_tmp RENAME TO membres;');
$db->exec('CREATE INDEX membres_id_categorie ON membres (id_categorie);'); // Index
$db->exec('END;');
$db->exec('PRAGMA foreign_keys = ON;');
$config->set('champs_membres', $this);
$config->save();
return true;
}
}
?>
|
|
|
|
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
|
$create = 'CREATE TABLE membres_tmp (' . "\n\t" . implode("\n\t", $create) . "\n);";
$copy = 'INSERT INTO membres_tmp (' . implode(', ', $copy) . ') SELECT ' . implode(', ', $copy) . ' FROM membres;';
$db->exec('PRAGMA foreign_keys = OFF;');
$db->exec('BEGIN;');
$db->exec($create);
if ($enable_copy) {
$db->exec($copy);
}
$db->exec('DROP TABLE IF EXISTS membres;');
$db->exec('ALTER TABLE membres_tmp RENAME TO membres;');
$db->exec('CREATE INDEX membres_id_categorie ON membres (id_categorie);'); // Index
$db->exec('END;');
$db->exec('PRAGMA foreign_keys = ON;');
$config->set('champs_membres', $this);
$config->save();
return true;
}
}
?>
|