function generateTimesheet($uid = 0, $disabled = false, $isapproval = false, $forWhichUser = 0) { global $startStamp, $numberOfDays, $_USER; if ($uid == 0) { $uid = $_USER['uid']; } if ($forWhichUser != 0) { $uid = $forWhichUser; } $ts = new nexTime(); $output = ''; $output .= $ts->generateTableHeader($disabled, $isapproval, $ts->determineIfItemIsInLockRangeByDateStamp($startStamp, $uid)); $retval = $ts->generateTimesheetRows($uid, $startStamp, $numberOfDays, NULL, 0, $disabled, $isapproval); $output .= $retval[1]; $output .= $ts->generateTableFooter($isapproval, $retval[2], $retval[3], $retval[4], $retval[5], $ts->determineIfItemIsInLockRangeByDateStamp($startStamp, $uid)); $output .= $ts->generateTotalRowCount($retval[0]); return $output; }
<?php $_glob_fit_height = 3; $_glob_fit_width = 1; $ts = new nexTime(); if ($whichManager > 0) { $csv = $ts->getCSVListOfAssignedEmployees($whichManager, true); } else { $csv = $ts->getAllUIDsWhichHaveSupervisors(); } if ($csv == '') { $csv = '0'; } $sql = "Select {$_TABLES['users']}.uid,{$_TABLES['users']}.fullname from {$_TABLES['users']} left outer join {$_TABLES['nextime_extra_user_data']} on {$_TABLES['users']}.uid = {$_TABLES['nextime_extra_user_data']}.uid where {$_TABLES['users']}.uid in ({$csv}) AND "; $sql .= "( {$_TABLES['nextime_extra_user_data']}.special_exclusion <>1 OR {$_TABLES['nextime_extra_user_data']}.special_exclusion is null)"; $res = DB_query($sql); $nrows = DB_numRows($res); $timesthru = 0; while ($A = DB_fetchArray($res)) { if ($timesthru > 0) { $objPHPExcel->createSheet(); //$objPHPExcel->setActiveSheetIndex($timesthru); } $objPHPExcel->setActiveSheetIndex($timesthru); $techNumber = DB_getItem($_TABLES['nextime_extra_user_data'], "tech_number", "uid={$A['uid']}"); $objPHPExcel->getActiveSheet()->setTitle($A['fullname'] . ' - #' . $techNumber); $objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); $objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup::PAPERSIZE_LEGAL); $objPHPExcel->getActiveSheet()->getPageSetup()->setFitToHeight(3); $objPHPExcel->getActiveSheet()->getPageSetup()->setFitToWidth(1); $objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 9);
<?php $totalsArray = array(); $ts = new nexTime(); if ($whichManager > 0) { $csv = $ts->getCSVListOfAssignedEmployees($whichManager, true); } else { $csv = $ts->getAllUIDsWhichHaveSupervisors(); } if ($csv == '') { $csv = '0'; } $timesthru = 0; $objPHPExcel->setActiveSheetIndex($timesthru); $objPHPExcel->getActiveSheet()->setTitle($task); //set the top left A1 cell to the logo image $objDrawing = new PHPExcel_Worksheet_Drawing(); $objDrawing->setName('Logo'); $objDrawing->setDescription('Logo'); $objDrawing->setPath('./images/logo.png'); $objDrawing->setHeight(36); $objDrawing->setCoordinates('A1'); $objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(27.75); //end top left image //generate header of report $objPHPExcel->getActiveSheet()->setCellValue('H1', $LANG_NEXTIME_REPORTS['title_by_task']); $objPHPExcel->getActiveSheet()->getStyle('H1')->getFont()->setName('Arial'); $objPHPExcel->getActiveSheet()->getStyle('H1')->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle('H1')->getFont()->setSize(14); $objPHPExcel->getActiveSheet()->getStyle('S2')->getFont()->setName('Arial');
$title = $LANG_NEXTIME_HEADER['task_id']; $lid = $CONF_NEXTIME['nexlist_timesheet_tasks']; $list = $ts->getTaskDropDownFromActivityID($selected); break; default: $title = $LANG_NEXTIME_HEADER['nextime_activity_id']; $lid = $CONF_NEXTIME['nexlist_nextime_activities']; break; } $list = str_replace("&", "&", $list); echo $list; echo "<listname>" . htmlentities($title) . "</listname>"; echo "</data>"; break; case 'save': $ts = new nexTime(); header("Cache-Control: no-store, no-cache, must-revalidate"); header("content-type: application/xml"); echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"; $uid = nxtime_testuser($username, $password); if ($uid > 0) { $ds = $_POST['datestamp0']; $testdate = strftime($ds . " 00:00:00", time()); $testintdate = strtotime($testdate); $_POST['datestamp0'] = $testintdate; $_USER['uid'] = $uid; $ts->setDataFromPOST(0); $ret = $ts->commitData(0, $uid); if ($ret) { echo "<data>\n<error>0</error>\n</data>"; } else {
require_once 'nextime.class.php'; echo COM_siteHeader(); $uid = $_USER['uid']; if ($uid < 1) { echo $LANG_NEXTIME['not_logged_in']; echo COM_siteFooter(); exit(0); } $T = new Template($CONF_NEXTIME['template_path']); $T->set_file(array('page' => 'index.thtml', 'jspage' => 'nextime.js.thtml', 'reportspage' => 'reports_row.thtml')); $T->set_var('site_url', $_CONF['site_url']); $T->set_var($LANG_NEXTIME); $T->parse('jscontent', 'jspage'); $T->set_var('js', $T->get_var('jscontent')); $T->set_var('approval_row', 'style="display:none"'); $ts = new nexTime(); $T->set_var('delegate_row', 'style="display:none"'); if ($CONF_NEXTIME['enable_auto_end_date']) { $T->set_var('enable_auto_end_date', "true"); } else { $T->set_var('enable_auto_end_date', "false"); } //this section for supervisors and/or Root if (SEC_inGroup('Root') || SEC_inGroup('nexTime Supervisors') || SEC_inGroup('nexTime Admin')) { $T->parse('reportscontent', 'reportspage'); $T->set_var('reports_row', $T->get_var('reportscontent')); $T->set_var('approval_row', 'style=""'); //now set the employee_dropdown $output = $ts->getOptionListOfAssignedEmployees($uid); $T->set_var('employee_dropdown', $output); $output = $ts->getOptionListOfAssignedEmployees($uid, true);
setcookie('hidefullyapproved', 'false'); } elseif ($hidefullyapproved == '') { //condition where we're just entering into the page from somewhere else if ($cookieHideFullyApproved == 'true') { $hideapproved = true; } } echo COM_siteHeader(); if ($endStamp < $startStamp) { //Hey! You can't have an end date thats less than the start date... echo '<br><br><a href="index.php">' . $LANG_NEXTIME['end_date_before_start']; echo $LANG_NEXTIME['back_link_label'] . '</a>'; echo COM_siteFooter(); exit(0); } $ts = new nexTime(); $T = new Template($CONF_NEXTIME['template_path']); $T->set_file(array('javascript' => 'nextime.js.thtml', 'approvalpage' => 'approve.thtml')); $T->set_var('site_url', $_CONF['site_url']); $T->set_var($LANG_NEXTIME); $T->set_var('allfields', $ts->getTableColumns('nextime_timesheet_entry')); $T->set_var('start_date', $start_date); $T->set_var('end_date', $end_date); $T->set_var('emp', $emp); $T->set_var('disable', "display:none"); $T->set_var('disable_on_lock', " readonly "); $T->set_var('comment_disable', ''); $T->set_var('comment_edit_disable', ''); $adjustment_save = $ts->determineIfItemIsInLockRangeByDateStamp($startStamp, $emp) ? '_adj' : ''; $T->set_var('adj_postfix', $adjustment_save); $T->parse('output', 'javascript');
echo COM_siteFooter(); exit(0); } $start_date = COM_applyFilter($_GET['start_date']); $end_date = COM_applyFilter($_GET['end_date']); $startStamp = strtotime($start_date); $endStamp = strtotime($end_date); $numberOfDays = intval(($endStamp - $startStamp) / 60 / 60 / 24) + 1; if ($endStamp < $startStamp) { //Hey! You can't have an end date thats less than the start date... echo '<br><br><a href="index.php">' . $LANG_NEXTIME['end_date_before_start']; echo $LANG_NEXTIME['back_link_label'] . '</a>'; echo COM_siteFooter(); exit(0); } $ts = new nexTime(); $T = new Template($CONF_NEXTIME['template_path']); $T->set_file(array('page' => 'entry.thtml', 'javascript' => 'nextime.js.thtml')); $T->set_var('site_url', $_CONF['site_url']); $T->set_var($LANG_NEXTIME); $T->set_var('allfields', $ts->getTableColumns('nextime_timesheet_entry')); $T->set_var('start_date', $start_date); $T->set_var('end_date', $end_date); $T->set_var('emp', $_USER['uid']); $T->set_var('approved_by', $_USER['uid']); $T->parse('output', 'javascript'); $output = ''; $output .= $ts->generateTableHeader(false, false, $ts->determineIfItemIsInLockRangeByDateStamp($startStamp, $uid)); $retval = $ts->generateTimesheetRows($uid, $startStamp, $numberOfDays); $output .= $retval[1]; $output .= $ts->generateTableFooter(false, $retval[2], $retval[3], $retval[4], $retval[5], $ts->determineIfItemIsInLockRangeByDateStamp($startStamp, $uid));