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; } // parseFromWeekViewRow - obtains field value encoded in row identifier. // For example, for a row id like "cl:546,bl:0,pr:23456,ts:27464,cf_1:example text" // requesting a client "cl" should return 546. static function parseFromWeekViewRow($row_id, $field_label) { // Find beginning of label. $pos = strpos($row_id, $field_label); if ($pos === false) return null; // Not found. // Strip suffix from row id. $suffixPos = strrpos($row_id, '_'); if ($suffixPos) $remaninder = substr($row_id, 0, $suffixPos); // Find beginning of value. $posBegin = 1 + strpos($remaninder, ':', $pos); // Find end of value. $posEnd = strpos($remaninder, ',', $posBegin); if ($posEnd === false) $posEnd = strlen($remaninder); // Return value. return substr($remaninder, $posBegin, $posEnd - $posBegin); } }