"; for ($i = 0; $i < $fieldsLength; $i++) : if (trim($titlesArray[$i]) == "") : $titlesArray[$i] = " "; endif; // $tableHeader .= "" . $titlesArray[$i] . ""; $tableHeader .= "" . $titlesArray[$i] . ""; // Check for newline ("linefeed") if ($newline != ""): $nlValue = substr($newline, $i, 1); if ($nlValue == "1") : $tableHeader .= ""; endif; endif; endfor; $tableHeader .= ""; endif; $tpl->setCurrentBlock("tableHeader"); $tpl->setVariable("_tableHeader_", $tableHeader); $tpl->parseCurrentBlock("tableHeader"); // Get date (today plus offset) $offsetDate = getDateTime("date_plus_offset",array(0,MASK_DATE_PLUSOFFSETDAYS,0),"Y-m-d"); $offsetDateOut = getDateTime("date_plus_offset",array(0,MASK_DATE_PLUSOFFSETDAYS,0),"d.m.Y"); // Create filter for vehicles $vehicleFilter = spliti(",",MASK_JOBLIST_VEHICLE_FILTER); $vehicleFilterLen = count($vehicleFilter); // Entries of the list $rowCounter = 0; $showFutureJobsFlag = TRUE; $showPermanentJobsFlag = TRUE; if (isset($filter_job_future) && $filter_job_future == "") : $showFutureJobsFlag = FALSE; endif; if (isset($filter_job_permanent) && $filter_job_permanent == "") : $showPermanentJobsFlag = FALSE; endif; while ($row = $result->fetch_assoc()): $jobentry = ""; $jbPermanent = "0"; if ($row[jb_permanent] != "") : $jbPermanent = $row[jb_permanent]; endif; $jbLonghaul = "0"; if ($row[jb_longhaul] != "") : $jbLonghaul = $row[jb_longhaul]; endif; // Filter for displaying jobs. Do not show: // - "sub-jobs" (jb_id_parent is not empty) // - permanent jobs if not requested // if (($jbPermanent == "0" || ($jbPermanent > 0 && $showPermanentJobsFlag)) && // ($userTypeName == "hq" || ($userTypeName == "cs" && ($row[jb_id_parent] == "" || $row[jb_id_parent] == "0" || $row[jb_id_parent] == "-1")) ) ) : // Rules to display subjobs: // - CS never see subjobs, - HQ only see subjobs if jb_status == "2" and jb_totalprice > 0 (no credit notes) because of reference to main job if ( ($jbPermanent == "0" || ($jbPermanent > 0 && $showPermanentJobsFlag)) && ( ($userTypeName == "hq" && ( ($row[jb_id_parent] == "" || $row[jb_id_parent] == "0" || $row[jb_id_parent] == "-1") || ($row[jb_status] == "2" && $row[jb_totalprice] >= "0" && $row[jb_id_parent] > "0") ) ) || ($userTypeName == "cs" && ($row[jb_id_parent] == "" || $row[jb_id_parent] == "0" || $row[jb_id_parent] == "-1") ) ) ): $rowCounter++; // Split output per date (ONLY if sorted by ORDERTIME) if ($showFutureJobsFlag && $row[jb_ordertime] >= $offsetDate) : if ($fieldsArray[$jb_sort] == "jb_ordertime" && ($row[jb_status] == "0" || $row[jb_status] == "8" || $row[jb_status] == "9")) : $jobentry .= ""; $jobentry .= "

Aufträge ab dem " . $offsetDateOut; $jobentry .= ""; $showFutureJobsFlag = FALSE; endif; endif; // Do not generate an output for empty table rows $outIsNotEmpty = FALSE; $jobentry .= ""; for ($i = 0; $i < $fieldsLength; $i++) : if ($rowCounter % 2 == 0 && $i % 2 == 0) : $cellColor = "#BBBBFF"; endif; if ($rowCounter % 2 == 0 && $i % 2 == 1) : $cellColor = "#CCCCFF"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 0) : $cellColor = "#DDDDDD"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 1) : $cellColor = "#EEEEEE"; endif; // Change colour if job is not associated with a courier (not placed into the global market) if ($row[jb_status] == 9 || $row[jb_status] == 8) : if ($rowCounter % 2 == 0 && $i % 2 == 0) : $cellColor = "#FFBBBB"; endif; if ($rowCounter % 2 == 0 && $i % 2 == 1) : $cellColor = "#FFCCCC"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 0) : $cellColor = "#DDDDDD"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 1) : $cellColor = "#EEEEEE"; endif; endif; // Job is for all couriers if ($row[jb_status] == 0 && $row[jb_type] == 1) : if ($rowCounter % 2 == 0 && $i % 2 == 0) : $cellColor = "#BBFFBB"; endif; if ($rowCounter % 2 == 0 && $i % 2 == 1) : $cellColor = "#CCFFCC"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 0) : $cellColor = "#BBFFBB"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 1) : $cellColor = "#CCFFCC"; endif; endif; // Job is incomplete and has to be updated before invoicing if ($row[jb_incomplete] == 1 && $row[jb_status] == 2) : if ($rowCounter % 2 == 0 && $i % 2 == 0) : $cellColor = "#FFBBBB"; endif; if ($rowCounter % 2 == 0 && $i % 2 == 1) : $cellColor = "#FFCCCC"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 0) : $cellColor = "#FFBBBB"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 1) : $cellColor = "#FFCCCC"; endif; endif; $tmpVarName = $fieldsArray[$i]; ${$tmpVarName} = $row[$tmpVarName]; // *** Special treatment of fields *** // Job is permanent if ($tmpVarName == "jb_id" && $jbPermanent > 0 && ($row[jb_status] == "0" || $row[jb_status] == "1" || $row[jb_status] == "8" || $row[jb_status] == "9")) : $cellColor = "#01C025"; // #01C025 #66FFCC endif; // Job is generated by customer if ($userTypeName == "hq") : if ($tmpVarName == "business_volume" && $row[jb_csc_id] > 0 && ($row[jb_status] == "0" || $row[jb_status] == "1" || $row[jb_status] == "8" || $row[jb_status] == "9")) : $cellColor = "#FFFF00"; // Yellow endif; endif; // Ordertime if ($tmpVarName == "jb_ordertime") : $tmp = ${$tmpVarName}; if ($row[jb_reserv] == 1) : // mktime(hour,minute,second,month,day,year) $latestTakeTime = LATEST_TAKETIME_IN_MINUTES; if (is_numeric($row[srvpt_traveltime]) && $row[srvpt_traveltime] > 0) : $latestTakeTime = $row[srvpt_traveltime]; endif; $compareTime = date("Y-m-d H:i:s", mktime(substr($tmp,11,2),substr($tmp,14,2)-($latestTakeTime),substr($tmp,17,2),substr($tmp,5,2),substr($tmp,8,2),substr($tmp,2,2))); else : $compareTime = date("Y-m-d H:i:s", mktime(substr($tmp,11,2),substr($tmp,14,2)+5,substr($tmp,17,2),substr($tmp,5,2),substr($tmp,8,2),substr($tmp,2,2))); endif; if ((date("Y-m-d H:i:s") > $compareTime) && ($row[jb_status] == "0" || $row[jb_status] == "8" || $row[jb_status] == "9") && $row[jb_offer] != "1") : if ($rowCounter % 2 == 0 && $i % 2 == 0) : $cellColor = "#FF1133"; endif; if ($rowCounter % 2 == 0 && $i % 2 == 1) : $cellColor = "#FF3333"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 0) : $cellColor = "#FF4444"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 1) : $cellColor = "#FF5555"; endif; endif; endif; // Latest taketime if ($tmpVarName == "jb_latesttaketime") : if ($row[jb_waittime] != "") : ${$tmpVarName} = $row[jb_waittime]; else : $tmp = ${$tmpVarName}; if ($row[jb_reserv] == 1) : // mktime(hour,minute,second,month,day,year) $latestTakeTime = LATEST_TAKETIME_IN_MINUTES; if (is_numeric($row[srvpt_traveltime]) && $row[srvpt_traveltime] > 0) : $latestTakeTime = $row[srvpt_traveltime]; endif; ${$tmpVarName} = date("Y-m-d H:i:s", mktime(substr($tmp,11,2),substr($tmp,14,2)-($latestTakeTime),substr($tmp,17,2),substr($tmp,5,2),substr($tmp,8,2),substr($tmp,2,2))); else : ${$tmpVarName} = date("Y-m-d H:i:s", mktime(substr($tmp,11,2),substr($tmp,14,2)+5,substr($tmp,17,2),substr($tmp,5,2),substr($tmp,8,2),substr($tmp,2,2))); endif; endif; if ((date("Y-m-d H:i:s") > ${$tmpVarName}) && ($row[jb_status] == "0" || $row[jb_status] == "8" || $row[jb_status] == "9") && $row[jb_offer] != "1") : if ($rowCounter % 2 == 0 && $i % 2 == 0) : $cellColor = "#FF1133"; endif; if ($rowCounter % 2 == 0 && $i % 2 == 1) : $cellColor = "#FF3333"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 0) : $cellColor = "#FF4444"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 1) : $cellColor = "#FF5555"; endif; endif; endif; // All zipcodes of the tour if ($tmpVarName == "jb_tourzipcodes") : if ($row[jb_tourzipcodes] != "" && !(strpos($row[jb_tourzipcodes], "|") === false)) : $jbZipcodes = substr($row[jb_tourzipcodes], 0, strpos($row[jb_tourzipcodes], "|")); $jbZipcodes = trim($jbZipcodes); if (substr($jbZipcodes, -1) == ";") : // Remove last character if ";" again $jbZipcodes = substr($jbZipcodes, 0, -1); endif; $jbZipcodes = str_replace (";", ", ", $jbZipcodes); ${$tmpVarName} = $jbZipcodes; else : ${$tmpVarName} = $row[ad_zipcode]; if ($row[ad2_zipcode] != "") : ${$tmpVarName} .= ", " . $row[ad2_zipcode]; endif; endif; endif; // All cities of the tour if ($tmpVarName == "jb_tourcities") : if ($row[jb_tourcities] != "" && !(strpos($row[jb_tourcities], "|") === false)) : $jbCities = substr($row[jb_tourcities], strpos($row[jb_tourcities], "|") + 1); $jbCities = trim($jbCities); if (substr($jbCities, -1) == ";") : // Remove last character if ";" again $jbCities = substr($jbCities, 0, -1); endif; $jbCities = str_replace (";", ", ", $jbCities); ${$tmpVarName} = $jbCities; else : ${$tmpVarName} = $row[ad_city]; if ($row[ad2_city] != "") : ${$tmpVarName} .= ", " . $row[ad2_city]; endif; endif; endif; // Optional summation of one or more fields if ($summationField != "" && ($tmpVarName == $summationField) && is_numeric(${$tmpVarName})) : // Check for row is NOT an subjob if (!($row[jb_id_parent] > "0")) : $sumOfSummationField += ${$tmpVarName}; endif; endif; // Convert output from "float" to "float_rounded_2" if ($tmpVarName == "jb_cr_price" && is_numeric($row[jb_cr_price])) : $outputFormatField[$tmpVarName] = "float_rounded_2"; endif; $out = formatOutput(${$tmpVarName},$outputFormatField[$tmpVarName]); if ($tmpVarName == "jb_tourname") : $out = substr($out,0,MASK_JOBLIST_LENGTH_TOURNAME); endif; if ($tmpVarName == "jb_id" || $tmpVarName == "jb_tourname") : // Check job for being a subjob $tmpJbId = $row[jb_id]; if ($row[jb_id_parent] > "0") : $tmpJbId = $row[jb_id_parent]; endif; $out = "" . $out . ""; endif; if ($tmpVarName == "jb_storno") : if (($row[jb_export_time] == "" || $row[jb_export_time] == "0000-00-00 00:00:00") && ($row[jb_id_parent] == "" || $row[jb_id_parent] == "0" || $row[jb_id_parent] == "-1")) : if (${$tmpVarName} == "" || ${$tmpVarName} == "0") : // if ($row[jb_status] == 0 || $row[jb_status] == 9) : $out = "" . "Storno" . ""; // else : // $out = ""; // endif; else : if ($rowCounter % 2 == 0 && $i % 2 == 0) : $cellColor = "#FF2222"; endif; if ($rowCounter % 2 == 0 && $i % 2 == 1) : $cellColor = "#FF3333"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 0) : $cellColor = "#FF4444"; endif; if ($rowCounter % 2 == 1 && $i % 2 == 1) : $cellColor = "#FF5555"; endif; if (${$tmpVarName} == "1") : $out = "St.m.K."; elseif (${$tmpVarName} == "2") : $out = "St.o.K."; endif; endif; else : $out = ""; endif; endif; // Only jobs generated by customers or jobs generated by headquarters can be modified if (($userTypeName == "hq" || ($row[jb_csc_id] > 0 && MASK_JB_CS_EDITJOB == "1")) && $tmpVarName == "jb_edit") : // $userTypeName == "hq" && if ($row[jb_export_time] == "" || $row[jb_export_time] == "0000-00-00 00:00:00") : // Check job for being a subjob $tmpJbId = $row[jb_id]; if ($row[jb_id_parent] > "0") : $tmpJbId = $row[jb_id_parent]; endif; $out = "" . $row[jb_id] . ""; // if ($row[jb_id_parent] == "-1") : // $out = "* " . $out . " *"; // endif; if ($row[jb_id_parent] > "0") : $out = "* " . $out . " *"; endif; else : $out = ""; if ($row[jb_id_parent] == "-1") : $out = "* HA *"; endif; if ($row[jb_id_parent] > "0") : $out = "* UA *"; endif; endif; endif; if ($userTypeName == "hq" && $tmpVarName == "cr_sid") : // Check for subjob, if it is then no output ... if ($row[jb_id_parent] == "" || $row[jb_id_parent] == "0" || $row[jb_id_parent] == "-1") : if (($row[jb_export_time] == "" || $row[jb_export_time] == "0000-00-00 00:00:00") && ($jbLonghaul == "0" || ($jbLonghaul == "1" || $jbLonghaul == "3") && authCheckEmployeeRights($emp_id, "10")) ) : if ($row[cr_sid] == "") : $out = "" . "???" . ""; else : $out = "" . $row[cr_sid] . ""; // Show red brackets if at least one stop of the tour (the first one) is done (ONLY taken jobs!) if ($row[jb_status] == 1) : if ($row[tr_status] == "1") : $out = "(" . $out . ")"; endif; endif; if ($row[jb_status] == 2) : $out = $row[cr_sid]; endif; // Show alert if time between the legs of the tour if (MASK_JOBLIST_ALERT_LEG_TIME_SECONDS != "" && is_numeric(MASK_JOBLIST_ALERT_LEG_TIME_SECONDS)) : $maxDeltaLegTime = MASK_JOBLIST_ALERT_LEG_TIME_SECONDS; $deltaTime1 = ($row[time2] - $row[time1]); $deltaTime2 = ($row[time3] - $row[time2]); $deltaTime3 = ($row[time4] - $row[time3]); $deltaTime4 = ($row[time5] - $row[time4]); $deltaTime5 = ($row[time6] - $row[time5]); if ( (($deltaTime1 < $maxDeltaLegTime) && $deltaTime1 > 0) || (($deltaTime2 < $maxDeltaLegTime) && $deltaTime2 > 0) || (($deltaTime3 < $maxDeltaLegTime) && $deltaTime3 > 0) || (($deltaTime4 < $maxDeltaLegTime) && $deltaTime4 > 0) || (($deltaTime5 < $maxDeltaLegTime) && $deltaTime5 > 0) ) : $out .= "!"; endif; endif; endif; else : if (($jbLonghaul == "1" || $jbLonghaul == "3") && !authCheckEmployeeRights($emp_id, "10")) : $out = "FT"; // Longhaul job not to be mediated by employees without mandatory right ("FT" = "Ferntour") else : $out = $row[cr_sid]; endif; endif; // Check job is an offer if ($row[jb_offer] == "1") : $out = "Angebot"; endif; else : $out = $row[cr_sid]; endif; endif; if ($tmpVarName == "vht_value" && $row[jb_cr_filter] != "") : for ($j = 0; $j < $vehicleFilterLen; $j++) : if (!(strpos($row[jb_cr_filter], $vehicleFilter[$j]) === FALSE)) : $out .= " " . $vehicleFilter[$j]; endif; endfor; endif; // Set the colour of the credit notes if ($userTypeName == "hq" && MASK_JOBLIST_CREDITNOTE_COLOUR == "1") : if (($tmpVarName == "business_volume" && is_numeric($row[business_volume]) && $row[business_volume] < 0) || ($tmpVarName == "jb_cr_price" && is_numeric($row[jb_cr_price]) && $row[jb_cr_price] < 0)) : $out = "" . $out . ""; endif; endif; // Customer-sign if ($tmpVarName == "tour_1_sign" || $tmpVarName == "tour_2_sign" || $tmpVarName == "tour_3_sign" || $tmpVarName == "tour_4_sign" || $tmpVarName == "tour_5_sign" || $tmpVarName == "tour_6_sign") : if ($row[tr_sign] != "") : $rawCoord = splitRawCoordinates ($row[$tmpVarName]); $maxCoord = checkMaxCoordinates($rawCoord); $out = ""; endif; endif; if (trim($out) != ""): $outIsNotEmpty = TRUE; endif; $jobentry .= " " . ($cellTextPreArray[$i] != "" ? $cellTextPreArray[$i] : "") . $out . " "; // Check for newline ("linefeed") if ($newline != ""): $nlValue = substr($newline, $i, 1); if ($nlValue == "1") : $jobentry .= ""; endif; endif; endfor; $jobentry .= ""; // Check for newline ("linefeed") if (is_numeric($emptylines) && $emptylines >= "1"): for ($k = 1; $k <= $rowArrayLen; $k++) : $jobentry .= " 
 "; endfor; endif; // Do not generate an output for emty table rows if ($outIsNotEmpty == FALSE) : $jobentry = ""; endif; $tpl->setCurrentBlock("jobentry"); $tpl->setVariable("_jobentry_", $jobentry); $tpl->parseCurrentBlock("jobentry"); endif; // Filter for displaying jobs endwhile; ?>