コード例 #1
0
ファイル: server.php プロジェクト: hostellerie/nexpro
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;
}
コード例 #2
0
ファイル: byEmployee.php プロジェクト: hostellerie/nexpro
<?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);
コード例 #3
0
ファイル: byTask.php プロジェクト: hostellerie/nexpro
<?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');
コード例 #4
0
ファイル: upload.php プロジェクト: hostellerie/nexpro
             $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("&", "&amp;", $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 {
コード例 #5
0
ファイル: index.php プロジェクト: hostellerie/nexpro
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);
コード例 #6
0
ファイル: approvals.php プロジェクト: hostellerie/nexpro
    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');
コード例 #7
0
ファイル: entry.php プロジェクト: hostellerie/nexpro
    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));