forked from chilek/lms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
configadd.php
89 lines (76 loc) · 2.66 KB
/
configadd.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
/*
* LMS version 1.5-cvs
*
* (C) Copyright 2001-2005 LMS Developers
*
* Please, see the doc/AUTHORS for more information about authors!
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License Version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*
* $Id$
*/
$layout['pagetitle'] = trans('New Config Option');
$error = array();
$config = isset($_POST['config']) ? $_POST['config'] : array();
if(sizeof($config))
{
foreach($config as $key => $val)
$config[$key] = trim($val);
if(!($config['name'] || $config['value'] || $config['description']))
{
$SESSION->redirect('?m=configlist');
}
if($config['name']=='')
$error['name'] = trans('Option name is required!');
elseif(strlen($config['name'])>64)
$error['name'] = trans('Option name is too long (max.64 characters)!');
elseif(!eregi('^[a-z0-9_-]+$', $config['name']))
$error['name'] = trans('Option name contains forbidden characters!');
elseif($LMS->GetConfigOptionId($config['name'], $config['section']))
$error['name'] = trans('Option exists!');
if(!eregi('^[a-z0-9_-]+$', $config['section']) && $config['section']!='')
$error['section'] = trans('Section name contains forbidden characters!');
if($config['value']=='')
$error['value'] = trans('Option with empty value not allowed!');
elseif($msg = $LMS->CheckOption($config['name'], $config['value']))
$error['value'] = $msg;
if(!isset($config['disabled'])) $config['disabled'] = 0;
if(!$error)
{
$LMS->DB->Execute('INSERT INTO uiconfig (section, var, value, description, disabled) VALUES (?, ?, ?, ?, ?)',
array( $config['section'],
$config['name'],
$config['value'],
$config['description'],
$config['disabled']
));
$LMS->SetTS('uiconfig');
if(!isset($config['reuse']))
{
$SESSION->redirect('?m=configlist');
}
unset($config['name']);
unset($config['value']);
unset($config['description']);
unset($config['disabled']);
}
}
$SESSION->save('backto', $_SERVER['QUERY_STRING']);
$SMARTY->assign('error', $error);
$SMARTY->assign('config', $config);
$SMARTY->assign('layout', $layout);
$SMARTY->display('configadd.html');
?>