- // makeRecordLabel - builds a human readable label for a row in week view,
- // which is a combination ot record properties.
- // Client - Project - Task - Custom field 1.
- // Note that billable property is not part of the label. Instead, we intend to
- // identify such records with a different color in week view.
- static function makeRecordLabel($record) {
- global $user;
- // Start with client.
- if ($user->isPluginEnabled('cl'))
- $label = $record['client'];
-
- // Add project.
- if (!empty($label) && !empty($record['project'])) $label .= ' - ';
- $label .= $record['project'];
-
- // Add task.
- if (!empty($label) && !empty($record['task'])) $label .= ' - ';
- $label .= $record['task'];
-
- // Add custom field 1.
- if ($user->isPluginEnabled('cf')) {
- if (!empty($label) && !empty($record['cf_1_value'])) $label .= ' - ';
- $label .= $record['cf_1_value'];
- }
-
- return $label;
- }
-
- // getDayHeadersForWeek - obtains day column headers for week view, which are simply day numbers in month.
- static function getDayHeadersForWeek($start_date) {
- $dayHeaders = array();
- $objDate = new DateAndTime(DB_DATEFORMAT, $start_date);
- $dayHeaders[] = (string) $objDate->getDate(); // It returns an int on first call.
- if (strlen($dayHeaders[0]) == 1) // Which is an implementation detail of DateAndTime class.
- $dayHeaders[0] = '0'.$dayHeaders[0]; // Add a 0 for single digit day.
- $objDate->incDay();
- $dayHeaders[] = $objDate->getDate(); // After incDay it returns a string with leading 0, when necessary.
- $objDate->incDay();
- $dayHeaders[] = $objDate->getDate();
- $objDate->incDay();
- $dayHeaders[] = $objDate->getDate();
- $objDate->incDay();
- $dayHeaders[] = $objDate->getDate();
- $objDate->incDay();
- $dayHeaders[] = $objDate->getDate();
- $objDate->incDay();
- $dayHeaders[] = $objDate->getDate();
- unset($objDate);
- return $dayHeaders;
- }
-
- // getLockedDaysForWeek - builds an array of locked days in week.
- static function getLockedDaysForWeek($start_date) {
- global $user;
- $lockedDays = array();
- $objDate = new DateAndTime(DB_DATEFORMAT, $start_date);
- for ($i = 0; $i < 7; $i++) {
- $lockedDays[] = $user->isDateLocked($objDate);
- $objDate->incDay();
- }
- unset($objDate);
- return $lockedDays;
- }
-