var $project_required = 0; // Whether project selection is required on time entires.
var $task_required = 0; // Whether task selection is required on time entires.
var $record_type = 0; // Record type (duration vs start and finish, or both).
- var $punch_in_mode = 0; // Whether punch in mode is enabled for user.
+ var $punch_mode = 0; // Whether punch mode is enabled for user.
var $allow_overlap = 0; // Whether to allow overlapping time entries.
var $future_entries = 0; // Whether to allow creating future entries.
var $uncompleted_indicators = 0; // Uncompleted time entry indicators (show nowhere or on users page).
// Set user config options.
$this->show_holidays = in_array('show_holidays', $config_array);
- $this->punch_in_mode = in_array('punch_in_mode', $config_array);
+ $this->punch_mode = in_array('punch_mode', $config_array);
$this->allow_overlap = in_array('allow_overlap', $config_array);
$this->future_entries = in_array('future_entries', $config_array);
$this->uncompleted_indicators = in_array('uncompleted_indicators', $config_array);
define('ROLE_SITE_ADMIN', 1024); // Site administrator.
*/
- // Adjust punch_in_mode for managers as they are allowed to overwrite start and end times.
- if ($this->canManageTeam()) $this->punch_in_mode = 0;
+ // Adjust punch_mode for managers as they are allowed to overwrite start and end times.
+ // TODO: because of this we currently have a bug on the Team Profile page with "Punch mode" checkbox always off.
+ if ($this->canManageTeam()) $this->punch_mode = 0;
}
}
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
'form.profile.type_start_finish' => 'Start og slut',
'form.profile.type_duration' => 'Varighed',
// TODO: translate the following.
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
'form.profile.uncompleted_indicators' => 'Uafsluttede indikatore',
'form.profile.type_start_finish' => 'Start und Ende',
'form.profile.type_duration' => 'Dauer',
// TODO: translate the following.
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
'form.profile.type_all' => 'all',
'form.profile.type_start_finish' => 'start and finish',
'form.profile.type_duration' => 'duration',
-'form.profile.punch_in_mode' => 'Punch in mode',
+'form.profile.punch_mode' => 'Punch mode',
'form.profile.allow_overlap' => 'Allow overlap',
'form.profile.future_entries' => 'Future entries',
'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
'form.profile.type_start_finish' => 'شروع و اتمام',
'form.profile.type_duration' => 'مدت زمان',
// TODO: translate the following.
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
'form.profile.type_start_finish' => 'aloitus ja lopetus',
'form.profile.type_duration' => 'kesto',
// TODO: translate the following.
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
'form.profile.type_start_finish' => 'Début et fin',
'form.profile.type_duration' => 'Durée',
// TODO: translate the following.
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
'form.profile.type_start_finish' => 'התחלה וסיום',
'form.profile.type_duration' => 'משך זמן',
// TODO: translate the following.
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
'form.profile.type_start_finish' => 'inizio e fine',
'form.profile.type_duration' => 'durata',
// TODO: translate the following.
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
'form.profile.uncompleted_indicators' => 'Indicatori incompleti',
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
'form.profile.type_start_finish' => 'begin en einde',
'form.profile.type_duration' => 'duur',
// TODO: translate the following.
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
'form.profile.uncompleted_indicators' => 'Onvolledige indicatoren',
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
'form.profile.type_start_finish' => 'początek i koniec',
'form.profile.type_duration' => 'czas trwania',
// TODO: translate the following.
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
'form.profile.type_start_finish' => 'início e fim',
'form.profile.type_duration' => 'duração',
// TODO: translate the following.
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
'form.profile.type_all' => 'все',
'form.profile.type_start_finish' => 'начало и конец',
'form.profile.type_duration' => 'длительность',
-'form.profile.punch_in_mode' => 'Пробивать время',
+'form.profile.punch_mode' => 'Пробивать время',
'form.profile.allow_overlap' => 'Возможное перекрывание',
'form.profile.future_entries' => 'Будущие записи',
'form.profile.uncompleted_indicators' => 'Индикаторы незавершения',
'form.profile.type_start_finish' => 'začiatok a koniec',
'form.profile.type_duration' => 'trvanie',
// TODO: translate the following.
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
'form.profile.type_start_finish' => 'početak i kraj',
'form.profile.type_duration' => 'trajanje',
// TODO: translate the following.
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
'form.profile.type_start_finish' => 'Starttid och sluttid',
'form.profile.type_duration' => 'Varaktighet',
// TODO: translate the following.
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
'form.profile.uncompleted_indicators' => 'Indikatorer för oavslutad registrering',
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Allow overlap',
-// 'form.profile.allow_overlap' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
+// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
// 'form.profile.plugins' => 'Plugins',
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
// 'form.profile.type_all' => 'all',
// 'form.profile.type_start_finish' => 'start and finish',
// 'form.profile.type_duration' => 'duration',
-// 'form.profile.punch_in_mode' => 'Punch in mode',
+// 'form.profile.punch_mode' => 'Punch mode',
// 'form.profile.allow_overlap' => 'Allow overlap',
// 'form.profile.future_entries' => 'Future entries',
// 'form.profile.uncompleted_indicators' => 'Uncompleted indicators',
<br>
<table cellspacing="0" cellpadding="4" width="100%" border="0">
<tr>
- <td align="center"> Anuko Time Tracker 1.17.23.4000 | Copyright © <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
+ <td align="center"> Anuko Time Tracker 1.17.23.4001 | 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>{$forms.profileForm.record_type.control}</td>
</tr>
<tr>
- <td align="right" nowrap>{$i18n.form.profile.punch_in_mode}:</td>
- <td>{$forms.profileForm.punch_in_mode.control} <a href="https://www.anuko.com/lp/tt_18.htm" target="_blank">{$i18n.label.what_is_it}</a></td>
+ <td align="right" nowrap>{$i18n.form.profile.punch_mode}:</td>
+ <td>{$forms.profileForm.punch_mode.control} <a href="https://www.anuko.com/lp/tt_18.htm" target="_blank">{$i18n.label.what_is_it}</a></td>
</tr>
<tr>
<td align="right" nowrap>{$i18n.form.profile.allow_overlap}:</td>
if ((TYPE_START_FINISH == $user->record_type) || (TYPE_ALL == $user->record_type)) {
$form->addInput(array('type'=>'text','name'=>'start','value'=>$cl_start,'onchange'=>"formDisable('start');"));
$form->addInput(array('type'=>'text','name'=>'finish','value'=>$cl_finish,'onchange'=>"formDisable('finish');"));
- if ($user->punch_in_mode) {
+ if ($user->punch_mode) {
// Make the start and finish fields read-only.
$form->getElement('start')->setEnabled(false);
$form->getElement('finish')->setEnabled(false);
if ((TYPE_START_FINISH == $user->record_type) || (TYPE_ALL == $user->record_type)) {
$form->addInput(array('type'=>'text','name'=>'start','value'=>$cl_start,'onchange'=>"formDisable('start');"));
$form->addInput(array('type'=>'text','name'=>'finish','value'=>$cl_finish,'onchange'=>"formDisable('finish');"));
- if ($user->punch_in_mode) {
+ if ($user->punch_mode) {
// Make the start and finish fields read-only.
$form->getElement('start')->setEnabled(false);
$form->getElement('finish')->setEnabled(false);
$cl_project_required = $request->getParameter('project_required');
$cl_task_required = $request->getParameter('task_required');
$cl_record_type = $request->getParameter('record_type');
- $cl_punch_in_mode = $request->getParameter('punch_in_mode');
+ $cl_punch_mode = $request->getParameter('punch_mode');
$cl_allow_overlap = $request->getParameter('allow_overlap');
$cl_future_entries = $request->getParameter('future_entries');
$cl_uncompleted_indicators = $request->getParameter('uncompleted_indicators');
$cl_project_required = $user->project_required;
$cl_task_required = $user->task_required;
$cl_record_type = $user->record_type;
- $cl_punch_in_mode = $user->punch_in_mode;
+ $cl_punch_mode = $user->punch_mode;
$cl_allow_overlap = $user->allow_overlap;
$cl_future_entries = $user->future_entries;
$cl_uncompleted_indicators = $user->uncompleted_indicators;
$record_type_options[TYPE_DURATION] = $i18n->getKey('form.profile.type_duration');
$form->addInput(array('type'=>'combobox','name'=>'record_type','style'=>'width: 150px;','data'=>$record_type_options,'value'=>$cl_record_type));
- // Punch in mode checkbox.
- $form->addInput(array('type'=>'checkbox','name'=>'punch_in_mode','value'=>$cl_punch_in_mode));
+ // Punch mode checkbox.
+ $form->addInput(array('type'=>'checkbox','name'=>'punch_mode','value'=>$cl_punch_mode));
// Allow overlap checkbox.
$form->addInput(array('type'=>'checkbox','name'=>'allow_overlap','value'=>$cl_allow_overlap));
// Prepare config string.
if ($cl_show_holidays)
$config .= ',show_holidays';
- if ($cl_punch_in_mode)
- $config .= ',punch_in_mode';
+ if ($cl_punch_mode)
+ $config .= ',punch_mode';
if ($cl_allow_overlap)
$config .= ',allow_overlap';
if ($cl_future_entries)
if ((TYPE_START_FINISH == $user->record_type) || (TYPE_ALL == $user->record_type)) {
$form->addInput(array('type'=>'text','name'=>'start','value'=>$cl_start,'onchange'=>"formDisable('start');"));
$form->addInput(array('type'=>'text','name'=>'finish','value'=>$cl_finish,'onchange'=>"formDisable('finish');"));
- if ($user->punch_in_mode) {
+ if ($user->punch_mode) {
// Make the start and finish fields read-only.
$form->getElement('start')->setEnabled(false);
$form->getElement('finish')->setEnabled(false);
if ((TYPE_START_FINISH == $user->record_type) || (TYPE_ALL == $user->record_type)) {
$form->addInput(array('type'=>'text','name'=>'start','value'=>$cl_start,'onchange'=>"formDisable('start');"));
$form->addInput(array('type'=>'text','name'=>'finish','value'=>$cl_finish,'onchange'=>"formDisable('finish');"));
- if ($user->punch_in_mode) {
+ if ($user->punch_mode) {
// Make the start and finish fields read-only.
$form->getElement('start')->setEnabled(false);
$form->getElement('finish')->setEnabled(false);