function writeProjectRow($idx, $project) { //--------------------------------------------------------------------- // //--------------------------------------------------------------------- if (is_numeric($project->lAssignedMin)) { $strValue = strDurationViaMinutes($project->lAssignedMin); } else { $strValue = $project->lAssignedMin; } echoT(' <tr> <td class="enpViewLabel" style="padding-top: 8px;">' . htmlspecialchars($project->strGroupName) . ': </td> <td class="enpView" style="vertical-align: top;"> <input type="text" name="txtPMin' . $idx . '" size="5" maxlength="8" style="text-align: right;" onFocus="txtPMin' . $idx . '.style.background=\'#fff\';" id="addEditEntry" value="' . $strValue . '"> </td> <td style="vertical-align: top; padding-top: 6pt;"> hh:mm </td> <td style="width: 45pt; text-align: right;vertical-align: top; padding-top: 6pt;"> Notes: </td> <td style="text-align: top;"> <textarea name="txtNotes' . $idx . '" rows="2" cols="30">' . $project->notes . '</textarea>' . form_error('txtPMin' . $idx) . ' </td> </tr>'); }
function writeTSEntryRow(&$attributes, &$lMonthGroup, $logRec) { //--------------------------------------------------------------------- // //--------------------------------------------------------------------- global $genumDateFormat; $lMon = (int) date('n', $logRec->dteTSEntry); $lTSLogID = $logRec->lKeyID; $bPublished = !is_null($logRec->dteSubmitted); $dteStarting = $logRec->dteTSEntry; if ($lMonthGroup != $lMon) { if ($lMonthGroup > 0) { echoT('</table>' . "\n"); $attributes->bCloseDiv = true; closeBlock($attributes); $attributes->bCloseDiv = false; } $attributes->divID = 'month' . $lMon . 'Div'; $attributes->divImageID = 'month' . $lMon . 'DivImg'; $attributes->bStartOpen = true; openBlock(date('F Y', $logRec->dteTSEntry), '', $attributes); echoT('<table style="border: 1px solid black;"> <tr> <td style="width: 50pt; color: #fff; background-color: #888;"> <b>entryID</b> </td> <td style="width: 50pt; color: #fff; background-color: #888;"> <b>Submitted?</b> </td> <td style="width: 200pt; color: #fff; background-color: #888;"> <b>Time Frame</b> </td> <td style="width: 150pt; color: #fff; background-color: #888;"> <b>Template</b> </td> <td style="width: 80pt; color: #fff; background-color: #888;"> <b>Reporting Period</b> </td> <td style="width: 50pt; color: #fff; background-color: #888;"> <b>Total Hours</b> </td> </tr>' . "\n"); $lMonthGroup = $lMon; } echoT('<tr class="makeStripe"> <td style="width: 50pt; text-align: center; vertical-align: top;">' . strLinkView_TSLogEntries($lTSLogID, 'View Time Sheet', true) . ' ' . str_pad($lTSLogID, 5, '0', STR_PAD_LEFT) . ' </td>'); if ($bPublished) { if (bAllowAccess('timeSheetAdmin')) { $strUnsubmit = '<br>' . strLink_TSLogEntryUnsubmit($lTSLogID, 'Unsubmit', true) . ' ' . strLink_TSLogEntryUnsubmit($lTSLogID, 'Unsubmit', false); } else { $strUnsubmit = ''; } echoT(' <td style="width: 80pt; text-align: center; center; vertical-align: top;">Yes: ' . date($genumDateFormat, $logRec->dteSubmitted) . $strUnsubmit . ' </td>'); } else { echoT(' <td style="width: 80pt; text-align: center; center; vertical-align: top;">' . strLinkEdit_TSLog($lTSLogID, 'Edit Time Sheet', true) . ' No </td>'); } echoT(' <td style="width: 50pt; text-align: left; center; vertical-align: top;"> <font style="font-size: 8pt;">Week beginning: </font>' . date('l, F jS, Y', $dteStarting) . ' </td>'); echoT(' <td style="width: 150pt; center; vertical-align: top;">' . htmlspecialchars($logRec->strTSName) . ' </td>'); echoT(' <td style="width: 80pt; center; vertical-align: top;">' . $logRec->enumRptPeriod . ' </td>'); echoT(' <td style="width: 50pt; text-align: right; padding-right: 3pt; center; vertical-align: top;">' . strDurationViaMinutes($logRec->lCumulativeMinutes) . ' </td> </tr>'); }
</td> <td class="enpRptLabel"> Notes </td> </tr>'); $lTotMin = 0; foreach ($projects as $proj) { $lTotMin += $proj->lMinutesToProject; echoT(' <tr class="makeStripe"> <td class="enpRpt">' . htmlspecialchars($proj->strProjectName) . ' </td> <td class="enpRpt" style="text-align: center;">' . strDurationViaMinutes($proj->lMinutesToProject) . ' </td> <td class="enpRpt" style="width: 375pt;">' . nl2br(htmlspecialchars($proj->strNotes)) . ' </td> </tr>'); } echoT(' <tr class="makeStripe"> <td class="enpRpt" style="text-align: left;" > <b>TOTAL </td> <td class="enpRpt" style="text-align: center;"><b>' . strDurationViaMinutes($lTotMin) . '</b> </td> <td class="enpRpt" colspan="1"> </td> </tr>'); echoT('</table>'); closeBlock();
function strTSTLogOverviewBlock(&$clsRpt, &$tst, &$logRec, $bAllowSubmit, $bAllProjHrsEdit) { //--------------------------------------------------------------------- // //--------------------------------------------------------------------- global $genumDateFormat; $lTSLogID = $logRec->lKeyID; $lMinutesTot = $logRec->lMinutesTot; $lMinutesTotProj = $logRec->lMinutesTotProj; $bMinutesMatch = abs($lMinutesTot - $lMinutesTotProj) < 0.1; $bSubmitted = !is_null($logRec->dteSubmitted); $strLinkProjects = ''; if ($bSubmitted) { $strSubmitted = 'Submitted on ' . date($genumDateFormat . ' H:i:s', $logRec->dteSubmitted); } else { $strSubmitted = 'Not submitted'; if ($bAllProjHrsEdit) { $strLinkProjects = ' ' . strLinkEdit_TSLogToProjects($lTSLogID, 'Assign hours to projects', true); } if ($bAllowSubmit) { if ($bMinutesMatch && $lMinutesTot > 0) { $strSubmitted .= '<br>' . form_open('staff/timesheets/ts_log_edit/ts_submit/' . $lTSLogID) . "\n" . '<div style="width: 300pt; border: 1px solid black; padding: 3px; margin-top: 3px;">' . form_hidden('forceSubmit', 'makeItSo') . "\n" . '<input type="checkbox" name="chkIAgree" value="true">' . "\n" . nl2br(htmlspecialchars($tst->strAckText)) . "<br><br>\n" . '<input type="submit" class="btn" onmouseover="this.className=\'btn btnhov\'" onmouseout="this.className=\'btn\'" value="Submit Time Sheet"><br> <i>Once submitted, you can only make changes through your system administrator.</i></div>' . "\n" . form_close(); } elseif (!$bMinutesMatch) { $strSubmitted .= '<br> <div style="color: red; width: 300pt; border: 1px solid red; padding: 3px; margin-top: 3px;"> Your <b>Total Hours</b> for this time period does not match the <b>Hours Assigned to Projects</b>. These hours must be equal before you can submit your time sheet. </div>'; } } } $strOut = strOpenBlock(date('F jS, Y', $logRec->dteTSEntry) . ': Time Sheet for ' . htmlspecialchars($logRec->strUserFName . ' ' . $logRec->strUserLName), ''); $strOut .= $clsRpt->openReport(); $strOut .= $clsRpt->openRow() . $clsRpt->writeLabel('Time Sheet Template:', '', 'vertical-align: bottom;') . $clsRpt->writeCell(htmlspecialchars($logRec->strTSName)) . $clsRpt->closeRow(); $strOut .= $clsRpt->openRow() . $clsRpt->writeLabel('Reporting Frequency:', '') . $clsRpt->writeCell($logRec->enumRptPeriod) . $clsRpt->closeRow(); $strOut .= $clsRpt->openRow() . $clsRpt->writeLabel('Total Hours:', '') . $clsRpt->writeCell(strDurationViaMinutes($lMinutesTot)) . $clsRpt->closeRow(); $strOut .= $clsRpt->openRow() . $clsRpt->writeLabel('Project Hours Assigned:', '') . $clsRpt->writeCell(strDurationViaMinutes($lMinutesTotProj) . $strLinkProjects) . $clsRpt->closeRow(); $strOut .= $clsRpt->openRow() . $clsRpt->writeLabel('Status:', '') . $clsRpt->writeCell($strSubmitted) . $clsRpt->closeRow(); $strOut .= $clsRpt->closeReport(); $strOut .= strCloseBlock(); return $strOut; }
<td style="text-align: center;"><b>' . strDurationViaMinutes($lDateTot) . ' </td> </tr> <tr><td colspan="8"> </td></tr>'); } else { echoT(' <tr> <td colspan="7"><i>No entries for this date.</i></td> </tr> <tr> <td colspan="7"> </td> </tr>'); } } echoT(' <tr> <td style="background-color: #b4cdd2;" colspan="7"> <b>Total:</b> </td> <td style="background-color: #b4cdd2; text-align: right;"> <b>' . strDurationViaMinutes($lTotMinutes) . '</b> </td> <td style="background-color: #b4cdd2;"> </td> <td style="background-color: #b4cdd2;"> </td> </tr>'); echoT('</table><br>'); closeBlock();