import('ttRoleHelper');
// Access checks.
-if (!ttAccessAllowed('manage_basic_settings')) {
+if (!(ttAccessAllowed('manage_basic_settings') || ttAccessAllowed('manage_advanced_settings'))) {
header('Location: access_denied.php');
exit();
}
// End of access checks.
+$advanced_settings = $user->can('manage_advanced_settings');
if (!defined('CURRENCY_DEFAULT')) define('CURRENCY_DEFAULT', '$');
if ($request->isPost()) {
$cl_future_entries = $request->getParameter('future_entries');
$cl_uncompleted_indicators = $request->getParameter('uncompleted_indicators');
$cl_bcc_email = trim($request->getParameter('bcc_email'));
+ $cl_allow_ip = trim($request->getParameter('allow_ip'));
// Plugin checkboxes.
$cl_charts = $request->getParameter('charts');
$cl_future_entries = $user->future_entries;
$cl_uncompleted_indicators = $user->uncompleted_indicators;
$cl_bcc_email = $user->bcc_email;
+ $cl_allow_ip = $user->allow_ip;
// Which plugins do we have enabled?
$plugins = explode(',', $user->plugins);
}
$form = new Form('groupForm');
-$form->addInput(array('type'=>'text','maxlength'=>'200','name'=>'team_name','value'=>$cl_team));
+$form->addInput(array('type'=>'text','maxlength'=>'200','name'=>'team_name','value'=>$cl_team,'enable'=>$advanced_settings));
$form->addInput(array('type'=>'text','maxlength'=>'7','name'=>'currency','value'=>$cl_currency));
// Prepare an array of available languages.
// Uncompleted indicators checkbox.
$form->addInput(array('type'=>'checkbox','name'=>'uncompleted_indicators','value'=>$cl_uncompleted_indicators));
-// Add bcc email control, for manager only.
-if ($user->can('manage_advanced_settings')) {
+// Add bcc email control.
+if ($advanced_settings) {
$form->addInput(array('type'=>'text','maxlength'=>'100','name'=>'bcc_email','value'=>$cl_bcc_email));
+ $form->addInput(array('type'=>'text','maxlength'=>'100','name'=>'allow_ip','value'=>$cl_allow_ip));
}
// Plugin checkboxes.
if ($request->isPost()) {
// Validate user input.
- if (!ttValidString($cl_team, true)) $err->add($i18n->get('error.field'), $i18n->get('label.team_name'));
+ if (!ttValidString($cl_team, true)) $err->add($i18n->get('error.field'), $i18n->get('label.group_name'));
if (!ttValidString($cl_currency, true)) $err->add($i18n->get('error.field'), $i18n->get('label.currency'));
- if ($user->can('manage_advanced_settings')) {
+ if ($advanced_settings) {
if (!ttValidEmail($cl_bcc_email, true)) $err->add($i18n->get('error.field'), $i18n->get('label.bcc'));
+ if (!ttValidIP($cl_allow_ip, true)) $err->add($i18n->get('error.field'), $i18n->get('form.profile.allow_ip'));
}
// Finished validating user input.
'record_type' => $cl_record_type,
'uncompleted_indicators' => $cl_uncompleted_indicators,
'bcc_email' => $cl_bcc_email,
+ 'allow_ip' => $cl_allow_ip,
'plugins' => $plugins,
'config' => $config));
}