return ($this->behalfGroup ? $this->behalfGroup->configHelper->getConfig() : $this->configHelper->getConfig());
}
+ // getConfigHelper returns ttConfigHelper instance for active group.
+ function getConfigHelper() {
+ return ($this->behalfGroup ? $this->behalfGroup->configHelper : $this->configHelper);
+ }
+
// getConfigOption returns true if an option is defined for group.
// This helps us keeping a set of user attributes smaller.
// We determine whether the option is set only on pages that need to know.
global $i18n;
$dataArray = array();
+ $includeNotes = $user->isOptionEnabled('week_notes');
// Construct the first row for a brand new entry.
$dataArray[] = array('row_id' => null,'label' => $i18n->get('form.week.new_entry').':'); // Insert row.
$control_id = '0_'. $dayHeaders[$i];
$dataArray[0][$dayHeaders[$i]] = array('control_id' => $control_id, 'tt_log_id' => null,'duration' => null);
}
- if ($user->isPluginEnabled('wvns')) {
+ if ($includeNotes) {
// Construct the second row for daily comments for a brand new entry.
$dataArray[] = array('row_id' => null,'label' => $i18n->get('label.notes').':'); // Insert row.
// Insert empty cells with proper control ids.
$dataArray[$pos][$dayHeaders[$i]] = array('control_id' => $control_id, 'tt_log_id' => null,'duration' => null);
}
// Insert row for comments.
- if ($user->isPluginEnabled('wvns')) {
+ if ($includeNotes) {
$dataArray[] = array('row_id' => $row_id.'_notes','label' => $i18n->get('label.notes').':');
$pos++;
// Insert empty cells with proper control ids.
// Insert actual cell data from $record (one cell only).
$dataArray[$pos][$day_header] = array('control_id' => $pos.'_'. $day_header, 'tt_log_id' => $record['id'],'duration' => $record['duration']);
// Insert existing comment from $record into the comment cell.
- if ($user->isPluginEnabled('wvns')) {
+ if ($includeNotes) {
$pos++;
$dataArray[$pos][$day_header] = array('control_id' => $pos.'_'. $day_header, 'tt_log_id' => $record['id'],'note' => $record['comment']);
}
$control_id = '0_'. $dayHeaders[$i];
$dataArray[0][$dayHeaders[$i]] = array('control_id' => $control_id, 'tt_log_id' => null,'duration' => null);
}
- if ($user->isPluginEnabled('wvns')) {
+ $includeNotes = $user->isOptionEnabled('week_notes');
+ if ($includeNotes) {
// Construct the second row for daily comments for a brand new entry.
$dataArray[] = array('row_id' => null,'label' => $i18n->get('label.notes').':'); // Insert row.
// Insert empty cells with proper control ids.
$dataArray[$pos][$dayHeaders[$i]] = array('control_id' => $control_id, 'tt_log_id' => null,'duration' => null);
}
// Insert row for comments.
- if ($user->isPluginEnabled('wvns')) {
+ if ($includeNotes) {
$dataArray[] = array('row_id' => $row_id.'_notes','label' => $i18n->get('label.notes').':');
$pos++;
// Insert empty cells with proper control ids.
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
'label.paid_status' => 'Bezahlstatus',
'label.paid' => 'Bezahlt',
'label.mark_paid' => 'Als bezahlt setzen',
+// 'label.week_menu' => 'Week menu',
'label.week_note' => 'Wochennotiz',
'label.week_list' => 'Wochenliste',
'label.work_units' => 'Arbeitseinheiten',
'label.paid_status' => 'Paid status',
'label.paid' => 'Paid',
'label.mark_paid' => 'Mark paid',
+'label.week_menu' => 'Week menu',
'label.week_note' => 'Week note',
'label.week_list' => 'Week list',
'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
'label.paid_status' => 'Makse olek',
'label.paid' => 'Makstud',
'label.mark_paid' => 'Märgi makstuks',
+// TODO: translate the following.
+// 'label.week_menu' => 'Week menu',
'label.week_note' => 'Nädala märge',
'label.week_list' => 'Nädala nimekiri',
'label.work_units' => 'Töö ühikud',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
'label.paid_status' => 'Κατάσταση πληρωμής',
'label.paid' => 'Πληρωμένο',
'label.mark_paid' => 'Σήμανση πληρωμένα',
+// TODO: translate the following.
+// 'label.week_menu' => 'Week menu',
'label.week_note' => 'Σημείωση εβδομάδας',
'label.week_list' => 'Λίστα εβδομάδων',
// TODO: translate the following.
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
'label.paid_status' => 'Stato pagamento',
'label.paid' => 'Pagato',
'label.mark_paid' => 'Segna come pagato',
+// TODO: translate the following.
+// 'label.week_menu' => 'Week menu',
'label.week_note' => 'Nota settimanale',
'label.week_list' => 'Lista settimanale',
// TODO: translate the following.
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
'label.paid_status' => 'Status van betaling',
'label.paid' => 'Betaald',
'label.mark_paid' => 'Markeer als betaald',
+// TODO: translate the following.
+// 'label.week_menu' => 'Week menu',
'label.week_note' => 'Week aantekening',
'label.week_list' => 'Week overzicht',
'label.work_units' => 'Werk eenheid',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
'label.paid_status' => 'Статус оплаты',
'label.paid' => 'Оплачено',
'label.mark_paid' => 'Отметить оплату',
+'label.week_menu' => 'Меню недели',
'label.week_note' => 'Комментарий недели',
'label.week_list' => 'Список недели',
'label.work_units' => 'Единицы работы',
// 'label.quantity' => 'Quantity',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
-// 'button.mark_paid' => 'Mark paid',
+// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.quantity' => 'Quantity',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
-// 'button.mark_paid' => 'Mark paid',
+// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
// 'label.paid_status' => 'Paid status',
// 'label.paid' => 'Paid',
// 'label.mark_paid' => 'Mark paid',
+// 'label.week_menu' => 'Week menu',
// 'label.week_note' => 'Week note',
// 'label.week_list' => 'Week list',
// 'label.work_units' => 'Work units',
{$forms.displayOptionsForm.open}
<table cellspacing="1" cellpadding="2" border="0">
-{if $show_week_menu}
- <tr><td> </td></tr>
- <tr><td class="sectionHeaderNoBorder">{$i18n.form.display_options.menu}</td></tr>
- <tr>
- <td><label for="menu_week">{$i18n.label.week_view}:</label></td>
- <td nowrap>{$forms.displayOptionsForm.menu_week.control} <a href="https://www.anuko.com/lp/tt_35.htm" target="_blank">{$i18n.label.what_is_it}</a></td>
- </tr>
-{/if}
-
<tr><td> </td></tr>
<tr><td class="sectionHeaderNoBorder">{$i18n.title.time}</td></tr>
<tr>
<br>
<table cellspacing="0" cellpadding="4" width="100%" border="0">
<tr>
- <td align="center"> Anuko Time Tracker 1.19.4.4999 | Copyright © <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
+ <td align="center"> Anuko Time Tracker 1.19.4.5000 | Copyright © <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
<a href="https://www.anuko.com/lp/tt_4.htm" target="_blank">{$i18n.footer.credits}</a> |
<a href="https://www.anuko.com/lp/tt_5.htm" target="_blank">{$i18n.footer.license}</a> |
<a href="https://www.anuko.com/lp/tt_7.htm" target="_blank">{$i18n.footer.improve}</a>
<td align="center" bgcolor="#d9d9d9" nowrap height="17" background="images/subm_bg.gif">
{if $user->exists() && ($user->can('track_own_time') || $user->can('track_time'))}
<a class="mainMenu" href="time.php">{$i18n.menu.time}</a>
- {if $user->isPluginEnabled('wv') && $user->getConfigOption('menu_week')}
+ {if $user->isPluginEnabled('wv') && $user->isOptionEnabled('week_menu')}
<a class="mainMenu" href="week.php">{$i18n.menu.week}</a>
{/if}
{/if}
<td>{$forms.weekTimeForm.task.control}</td>
</tr>
{/if}
-{if $user->isPluginEnabled('wvn')}
+{if $show_week_note}
<tr>
<td align="right">{$i18n.label.week_note}:</td>
<td>{$forms.weekTimeForm.note.control}</td>
<tr><td> </td></tr>
</table>
-{if $user->isPluginEnabled('wvl')}
+{if $show_week_list}
<table width="720">
<tr>
<td valign="top">
{if $time_records}
<table cellpadding="3" cellspacing="1" width="720">
- {if $user->isPluginEnabled('wvl')}
+ {if $show_week_list}
<tr>
<td align="left">{$i18n.label.week_total}: {$week_total}</td>
<td></td>
{$forms.weekViewForm.open}
<table cellspacing="1" cellpadding="2" border="0">
+ <tr>
+ <td align="right" nowrap>{$forms.weekViewForm.week_menu.control}</td>
+ <td><label for="week_note">{$i18n.label.week_menu}</label> <a href="https://www.anuko.com/lp/tt_35.htm" target="_blank">{$i18n.label.what_is_it}</a></td>
+ </tr>
<tr>
<td align="right" nowrap>{$forms.weekViewForm.week_note.control}</td>
<td><label for="week_note">{$i18n.label.week_note}</label> <a href="https://www.anuko.com/lp/tt_11.htm" target="_blank">{$i18n.label.what_is_it}</a></td>
}
// End of access checks.
-$config = new ttConfigHelper($user->getConfig());
+$config = $user->getConfigHelper();
if ($request->isPost()) {
- $cl_menu_week = $request->getParameter('menu_week');
$cl_time_note_on_separate_row = $request->getParameter('time_note_on_separate_row');
$cl_report_note_on_separate_row = $request->getParameter('report_note_on_separate_row');
} else {
- $cl_menu_week = $config->getDefinedValue('menu_week');
$cl_time_note_on_separate_row = $config->getDefinedValue('time_note_on_separate_row');
$cl_report_note_on_separate_row = $config->getDefinedValue('report_note_on_separate_row');
}
$form = new Form('displayOptionsForm');
-// Menu.
-$form->addInput(array('type'=>'checkbox','name'=>'menu_week','value'=>$cl_menu_week));
// Time page.
// $form->addInput(array('type'=>'checkbox','name'=>'time_client','value'=>$cl_time_client));
if ($request->isPost()){
if ($err->no()) {
// Update config.
- $config->setDefinedValue('menu_week', $cl_menu_week);
$config->setDefinedValue('time_note_on_separate_row', $cl_time_note_on_separate_row);
$config->setDefinedValue('report_note_on_separate_row', $cl_report_note_on_separate_row);
if ($user->updateGroup(array('config' => $config->getConfig()))) {
}
$smarty->assign('forms', array($form->getName()=>$form->toArray()));
-$smarty->assign('show_week_menu', $user->isPluginEnabled('wv'));
$smarty->assign('title', $i18n->get('title.display_options'));
$smarty->assign('content_page_name', 'display_options.tpl');
$smarty->display('index.tpl');
$groups = $user->getGroupsForDropdown();
$group = ttGroupHelper::getGroupAttrs($group_id);
-$config = new ttConfigHelper($group['config']);
+$config = $user->getConfigHelper();
$advanced_settings = $home_group ? $user->can('manage_advanced_settings') : true;
if (!defined('CURRENCY_DEFAULT')) define('CURRENCY_DEFAULT', '$');
$plugins .= ',at';
if ($cl_work)
$plugins .= ',wk';
-
- // Recycle week view plugin options as they are not configured on this page.
- $existing_plugins = explode(',', $user->getPlugins());
- if (in_array('wvn', $existing_plugins))
- $plugins .= ',wvn';
- if (in_array('wvl', $existing_plugins))
- $plugins .= ',wvl';
- if (in_array('wvns', $existing_plugins))
- $plugins .= ',wvns';
-
$plugins = trim($plugins, ',');
// Prepare a new config string.
// Build day totals (total durations for each day in week).
$dayTotals = ttWeekViewHelper::getDayTotals($dataArray, $dayHeaders);
+$showWeekNote = $user->isOptionEnabled('week_note');
+$showWeekNotes = $user->isOptionEnabled('week_notes');
+
// Define rendering class for a label field to the left of durations.
class LabelCellRenderer extends DefaultCellRenderer {
function render(&$table, $value, $row, $column, $selected = false) {
global $user;
+ $showNotes = $user->isOptionEnabled('week_notes');
$this->setOptions(array('width'=>200,'valign'=>'middle'));
// Special handling for a new week entry (row 0, or 0 and 1 if we show notes).
if (0 == $row) {
$this->setOptions(array('style'=>'text-align: center; font-weight: bold; vertical-align: top;'));
- } else if ($user->isPluginEnabled('wvns') && (1 == $row)) {
+ } else if ($showNotes && (1 == $row)) {
$this->setOptions(array('style'=>'text-align: right; vertical-align: top;'));
- } else if ($user->isPluginEnabled('wvns') && (0 != $row % 2)) {
+ } else if ($showNotes && (0 != $row % 2)) {
$this->setOptions(array('style'=>'text-align: right;'));
}
// Special handling for not billable entries.
- $ignoreRow = $user->isPluginEnabled('wvns') ? 1 : 0;
+ $ignoreRow = $showNotes ? 1 : 0;
if ($row > $ignoreRow) {
$row_id = $table->getValueAtName($row,'row_id');
$billable = ttWeekViewHelper::parseFromWeekViewRow($row_id, 'bl');
if (!$billable) {
- if (($user->isPluginEnabled('wvns') && (0 == $row % 2)) || !$user->isPluginEnabled('wvns')) {
+ if (($showNotes && (0 == $row % 2)) || !$showNotes) {
$this->setOptions(array('style'=>'color: red;')); // TODO: style it properly in CSS.
}
}
class WeekViewCellRenderer extends DefaultCellRenderer {
function render(&$table, $value, $row, $column, $selected = false) {
global $user;
+ $showNotes = $user->isOptionEnabled('week_notes');
$field_name = $table->getValueAt($row,$column)['control_id']; // Our text field names (and ids) are like x_y (row_column).
$field = new TextField($field_name);
$field->setFormName($table->getFormName());
$field->setStyle('width: 60px;'); // TODO: need to style everything properly, eventually.
// Provide visual separation for new entry row.
- $rowToSeparate = $user->isPluginEnabled('wvns') ? 1 : 0;
+ $rowToSeparate = $showNotes ? 1 : 0;
if ($rowToSeparate == $row) {
$field->setStyle('width: 60px; margin-bottom: 40px');
}
- if ($user->isPluginEnabled('wvns')) {
+ if ($showNotes) {
if (0 == $row % 2) {
$field->setValue($table->getValueAt($row,$column)['duration']); // Duration for even rows.
} else {
$control_id = $rowNumber.'_'.$dayHeader;
// Handle durations and comments in separate blocks of code.
- if (!$user->isPluginEnabled('wvns') || (0 == $rowNumber % 2)) {
+ if (!$showWeekNotes || (0 == $rowNumber % 2)) {
// Handle durations row here.
// Obtain existing and posted durations.
// Note: no need to check for a possible conflict with an already existing row
// because we are doing an insert that does not affect already existing data.
- if ($user->isPluginEnabled('wvn')) {
+ if ($showWeekNote) {
$fields['note'] = $request->getParameter('note');
}
}
$fields['start_date'] = $startDate->toString(DB_DATEFORMAT); // To be able to determine date for the entry using $dayHeader.
$fields['duration'] = $postedDuration;
$fields['browser_today'] = $request->getParameter('browser_today', null);
- if ($user->isPluginEnabled('wvns')) {
+ if ($showWeekNotes) {
// Take note value from the control below duration.
$noteRowNumber = $rowNumber + 1;
$note_control_id = $noteRowNumber.'_'.$dayHeader;
}
if (!$result) break; // Break out of the loop in case of first error.
- } else if ($user->isPluginEnabled('wvns')) {
+ } else if ($showWeekNotes) {
// Handle commments row here.
// Obtain existing and posted comments.
$smarty->assign('show_client', $showClient);
$smarty->assign('show_project', $showProject);
$smarty->assign('show_task', $showTask);
+$smarty->assign('show_week_note', $showWeekNote);
+$smarty->assign('show_week_list', $user->isOptionEnabled('week_list'));
$smarty->assign('show_files', $showFiles);
$smarty->assign('title', $i18n->get('menu.week'));
$smarty->assign('content_page_name', 'week.tpl');
exit();
}
+$config = $user->getConfigHelper();
+
if ($request->isPost()) {
+ $cl_week_menu = $request->getParameter('week_menu');
$cl_week_note = $request->getParameter('week_note');
$cl_week_list = $request->getParameter('week_list');
$cl_notes = $request->getParameter('notes');
} else {
- $plugins = explode(',', $user->plugins);
- $cl_week_note = in_array('wvn', $plugins);
- $cl_week_list = in_array('wvl', $plugins);
- $cl_notes = in_array('wvns', $plugins);
+ $cl_week_menu = $config->getDefinedValue('week_menu');
+ $cl_week_note = $config->getDefinedValue('week_note');
+ $cl_week_list = $config->getDefinedValue('week_list');
+ $cl_notes = $config->getDefinedValue('week_notes');
}
-
$form = new Form('weekViewForm');
+$form->addInput(array('type'=>'checkbox','name'=>'week_menu','value'=>$cl_week_menu));
$form->addInput(array('type'=>'checkbox','name'=>'week_note','value'=>$cl_week_note));
$form->addInput(array('type'=>'checkbox','name'=>'week_list','value'=>$cl_week_list));
$form->addInput(array('type'=>'checkbox','name'=>'notes','value'=>$cl_notes));
$form->addInput(array('type'=>'submit','name'=>'btn_save','value'=>$i18n->get('button.save')));
if ($request->isPost()){
- if (!$user->enablePlugin('wvn', $cl_week_note) ||
- !$user->enablePlugin('wvl', $cl_week_list) ||
- !$user->enablePlugin('wvns', $cl_notes)) {
+ // Update config.
+ $config->setDefinedValue('week_menu', $cl_week_menu);
+ $config->setDefinedValue('week_note', $cl_week_note);
+ $config->setDefinedValue('week_list', $cl_week_list);
+ $config->setDefinedValue('week_notes', $cl_notes);
+ if (!$user->updateGroup(array('config' => $config->getConfig()))) {
$err->add($i18n->get('error.db'));
}
}