"; // $out .= "" . $calMonthNames[$selMonth - 1] . ""; // $out .= " "; // $out .= "" . $selYear . ""; $out .= "" . $calMonthNames[$selMonth - 1] . "          " . $selYear . ""; $out .= ""; return $out; } // Prints the headline with the day names // $outArray : List with names (Monday, Tuesday, ... or Montag, Dienstag, ... etc.) // $outMode : Only the first letter of a day name will be displayed (= 1) // $cellWidth : Static width of the table cell // $cellCol : Colour of the cell function printWeekDayHeader($outArray, $outMode = "", $cellWidth = "40", $cellCol = "7777FF") { global $calCurrentWeekName; $lenOutArray = count($outArray); $out = ""; $out .= "" . $calCurrentWeekName . ""; for ($j = 0; $j < $lenOutArray; $j++) : if ($outMode == "1") : $outArray[$j] = substr($outArray[$j],0,2); endif; $out .= "" . $outArray[$j] . ""; endfor; $out .= ""; return $out; } // Gets exactly the value of one specified field from the specified row by key of a certain table function getAppointmentsFromDB($selYearFrom, $selMonthFrom, $selDayFrom, $selYearTo = "", $selMonthTo = "", $selDayTo = "", $csId = "", $cscId = "", $apType = "") { global $db, $PHP_SELF; global $emp_id, $usr_id, $f_selUsrId, $f_hq_id; global $f_ap_visibility_search, $f_ap_cat_search_1, $f_ap_cat_search_2, $f_ap_cat_search_3, $f_ap_cat_search_4; $retArray = array(); if (!is_array($f_ap_visibility_search)) : $f_ap_visibility_search = array(); endif; $dayStringFrom = $selYearFrom . "-" . pad($selMonthFrom,2,"0") . "-" . pad($selDayFrom,2,"0"); $dayStringTo = $selYearTo . "-" . pad($selMonthTo,2,"0") . "-" . pad($selDayTo,2,"0"); if ($selYearTo == "" || $selMonthTo == "" || $selDayTo == "") : $dayStringTo = $dayStringFrom; endif; // Filter to display appointments of other users $whereClauseCreatorFilter = " AND (ap.usr_id = '" . $f_selUsrId . "' OR ap.ap_participants LIKE '%," . $f_selUsrId . ",%') "; if ($f_selUsrId == "0") : $whereClauseCreatorFilter = ""; endif; // Filter to display appointments of special type $whereClauseApType = ""; if ($apType != "" && is_numeric($apType) && $apType > 0) : $whereClauseApType = " AND ap.ap_type = '" . $apType . "' "; endif; // Filter according to selected categories $whereClauseCategoryFilter = ""; // State: Business, private if ($f_ap_cat_search_1 != "") : $whereClauseCategoryFilter .= " AND ap.ap_category_1 = '" . $f_ap_cat_search_1 . "' "; endif; // ... // if ($f_ap_cat_search_2 != "") : $whereClauseCategoryFilter .= " AND ap.ap_category_2 = '" . $f_ap_cat_search_2 . "' "; endif; // Kind: Misc., Meeting, conference, visit, ... if ($f_ap_cat_search_3 != "") : $whereClauseCategoryFilter .= " AND ap.ap_category_3 = '" . $f_ap_cat_search_3 . "' "; endif; // Deadline monitoring if ($f_ap_cat_search_4 != "") : $whereClauseCategoryFilter .= " AND ap.ap_category_4 = '" . $f_ap_cat_search_4 . "' "; endif; // Visibility /* 1 alle Einträge 2 selbst erstellte Einträge 3 nur für mich sichtbar 4 nur für Teilnehmer sichtbar 5 für alle sichtbar 6 Einträge anderer Mitarbeiter 7 ich bin Teilnehmer 8 alle weiteren freigegebenen 1 nur für Teilnehmer 2 nur für mich 3 für alle */ $whereClauseVisibilityFilter = ""; $whereClauseVisibilityFilterArray = array(); $lenApVisibilitySearch = count($f_ap_visibility_search); if ($lenApVisibilitySearch > 0) : for ($i = 0; $i < $lenApVisibilitySearch; $i++) : $tmpApVisibilityArray[$f_ap_visibility_search[$i]] = "1"; endfor; if (!($tmpApVisibilityArray[3] == "1" && $tmpApVisibilityArray[4] == "1" && $tmpApVisibilityArray[5] == "1" && $tmpApVisibilityArray[7] == "1" && $tmpApVisibilityArray[8])) : if ($tmpApVisibilityArray[3] == "1") : $whereClauseVisibilityFilterArray[] = " (ap.usr_id = '" . $usr_id . "' AND ap.ap_category_2 = '2') "; endif; if ($tmpApVisibilityArray[4] == "1") : $whereClauseVisibilityFilterArray[] = " (ap.usr_id = '" . $usr_id . "' AND ap.ap_category_2 = '1') "; endif; if ($tmpApVisibilityArray[5] == "1") : $whereClauseVisibilityFilterArray[] = " (ap.usr_id = '" . $usr_id . "' AND ap.ap_category_2 = '3') "; endif; if ($tmpApVisibilityArray[7] == "1") : $whereClauseVisibilityFilterArray[] = " (ap.usr_id != '" . $usr_id . "' AND ap.ap_participants LIKE '%," . $usr_id . ",%') "; endif; if ($tmpApVisibilityArray[8] == "1") : $whereClauseVisibilityFilterArray[] = " (ap.usr_id != '" . $usr_id . "' AND NOT (ap.ap_participants LIKE '%," . $usr_id . ",%')) "; endif; $whereClauseVisibilityFilter = " AND (" . implode(" OR ", $whereClauseVisibilityFilterArray) . ") "; endif; endif; // Check for special customer $whereClauseCs = ""; if ($csId != "" && is_numeric($csId)) : $whereClauseCs = " AND ap.cs_id = '" . $csId . "' "; endif; // Check for special costcenter $whereClauseCsc = ""; if ($cscId != "" && is_numeric($cscId)) : $whereClauseCsc = " AND ap.csc_id = '" . $cscId . "' "; endif; // Check for headquarters $whereClauseHq = ""; if (count($f_hq_id) > 0) : $whereClauseHq = " AND ap.hq_id IN " . getSQLMandatorArray($f_hq_id) . " "; endif; $sqlStmt = "SELECT ap.ap_id, ap.ap_type, ap.ap_text, ap.ap_confirmed, ap.ap_execdate, ap.ap_enddate," . " cmp.cmp_id, cmp.cmp_comp, cmp.cmp_comp2, cs.cs_id, cs.cs_eid," . " ap.usr_id, usr.usr_firstname, usr.usr_name, ap.ap_participants, ap.csc_id," . " ap.ap_category_1, ap.ap_category_2, ap.ap_category_3, ap.ap_category_4," . " cs_usr.usr_firstname AS cs_usr_firstname, cs_usr.usr_name AS cs_usr_name," . " cs_usr.usr_phone AS cs_usr_phone, cs_usr.usr_phone2 AS cs_usr_phone2" . " FROM phoenix_group.appointment AS ap" . " LEFT JOIN phoenix.customer AS cs ON ap.cs_id = cs.cs_id" . " LEFT JOIN phoenix.company AS cmp ON cs.cmp_id = cmp.cmp_id" . " LEFT JOIN phoenix.user AS usr ON ap.usr_id = usr.usr_id" . " LEFT JOIN phoenix.employee AS cs_emp ON cs.cs_admin = cs_emp.emp_id" . " LEFT JOIN phoenix.user AS cs_usr ON cs_emp.usr_id = cs_usr.usr_id" . " WHERE ((ap.ap_execdate >= ' " . $dayStringFrom . " 00:00:00' AND" . " ap.ap_execdate <= ' " . $dayStringTo . " 23:59:59') OR" . " (ap.ap_execdate < ' " . $dayStringFrom . " 00:00:00' AND" . " ap.ap_enddate >= ' " . $dayStringFrom . " 00:00:00'))" . $whereClauseCategoryFilter . $whereClauseVisibilityFilter . $whereClauseCreatorFilter . $whereClauseCs . $whereClauseCsc . $whereClauseHq . $whereClauseApType . " ORDER BY ap.ap_execdate"; // echo $sqlStmt . "
"; $result = $db->dbQ($sqlStmt); while ($row = $result->fetch_assoc()): $retArray[] = array($row["ap_id"], $row["ap_text"], $row["ap_execdate"], $row["cmp_id"], $row["cmp_comp"], $row["cmp_comp2"], $row["cs_id"], $row["cs_eid"], $row["ap_enddate"], $row["usr_id"], $row["usr_firstname"], $row["usr_name"], $row["ap_participants"], $row["ap_confirmed"], $row["cs_usr_firstname"], $row["cs_usr_name"], $row["cs_usr_phone"], $row["cs_usr_phone2"], $row["ap_category_1"], $row["ap_category_2"], $row["ap_category_3"], $row["ap_category_4"], $row["csc_id"], $row["ap_type"]); endwhile; $result->free(); return $retArray; } // Modifies array according to the appointments starting and ending on different days // $apArray = Array with appointments of the time interval (week, month, ...) // $lowerRangeDate = Date of the beginning of the interval (week, month, ...) // $upperRangeDate = Date of the end of the interval (week, month, ...) function modifyIntervalAppointments2SingleDayAppointments($apArray, $lowerRangeDate, $upperRangeDate) { $tmpApArray = array(); $lenApArray = count($apArray); for ($i = 0; $i < $lenApArray; $i++) : $tmpExecDate = substr($apArray[$i][2],0,10); $tmpExecTime = substr($apArray[$i][2],11,5); $tmpEndDateTime = $apArray[$i][8]; $tmpEndDate = substr($apArray[$i][8],0,10); if ($tmpExecDate == $tmpEndDate) : if ($lowerRangeDate <= $tmpExecDate && $tmpExecDate <= $upperRangeDate) : $tmpApArray[] = $apArray[$i]; // Start day of the appointment endif; else : $apArray[$i][8] = $tmpExecDate . " 23:59:59"; if ($lowerRangeDate <= $tmpExecDate && $tmpExecDate <= $upperRangeDate) : $tmpApArray[] = $apArray[$i]; // Start day of the appointment endif; while ($tmpExecDate != $tmpEndDate) : $tmpExecDate = date("Y-m-d", mktime(0,0,0,substr($tmpExecDate,5,2),substr($tmpExecDate,8,2)+1,substr($tmpExecDate,0,4))); $apArray[$i][2] = $tmpExecDate . " 00:00:00"; $apArray[$i][21] = "0"; // Do not display "alarm" if ($tmpExecDate == $tmpEndDate) : $apArray[$i][8] = $tmpEndDateTime; else : $apArray[$i][8] = $tmpExecDate . " 23:59:59"; endif; if ($lowerRangeDate <= $tmpExecDate && $tmpExecDate <= $upperRangeDate) : $tmpApArray[] = $apArray[$i]; endif; endwhile; endif; endfor; // Sort $tmpApArray[] per "ExecDate" and restore to $apArray $apArray = array(); // First reset $apArray $lenTmpApArray = count($tmpApArray); for ($i = 0; $i < $lenTmpApArray; $i++) : $minDate = "2100-12-31 23:59:59"; for ($j = 0; $j < $lenTmpApArray; $j++) : if ($tmpApArray[$j] != "") : $minDate = min($minDate, $tmpApArray[$j][2]); endif; endfor; for ($j = 0; $j < $lenTmpApArray; $j++) : if ($tmpApArray[$j] != "") : if ($tmpApArray[$j][2] == $minDate) : $apArray[] = $tmpApArray[$j]; $tmpApArray[$j] = ""; endif; endif; endfor; endfor; return $apArray; } // Gets the appointments of one day function getAppointmentsOfOneDay($selYear, $selMonth, $selDay, $csId = "") { $apArray = getAppointmentsFromDB($selYear, $selMonth, $selDay, $selYear, $selMonth, $selDay, $csId); return $apArray; } // Gets the appointments of one week function getAppointmentsOfOneWeek($selWeek, $selYear, $selMonth, $selDay, $csId = "") { global $calCurrentWeekNum, $calWeekDays; if ($selWeek == "") : $selWeek = $calCurrentWeekNum; endif; // Get the first day ("Monday") of the specified week $firstDayOfWeek = calFirstDayNumOfWeek($selWeek, $selYear); // Compute interval to week (eq. 7 days) $tmpDatetime = mktime(0, 0, 0, $firstDayOfWeek[1], $firstDayOfWeek[0] + 6, $firstDayOfWeek[2]); $weekBeginDate = date("Y-m-d", mktime(0, 0, 0, $firstDayOfWeek[1], $firstDayOfWeek[0], $firstDayOfWeek[2])); $weekEndDate = date("Y-m-d", mktime(0, 0, 0, $firstDayOfWeek[1], $firstDayOfWeek[0] + 6, $firstDayOfWeek[2])); // Get appointments of the specified week $apArray = getAppointmentsFromDB($firstDayOfWeek[2], $firstDayOfWeek[1], $firstDayOfWeek[0], date("Y", $tmpDatetime), date("m", $tmpDatetime), date("d", $tmpDatetime), $csId); // Modifies array according to the appointments starting and ending on different days $apArray = modifyIntervalAppointments2SingleDayAppointments($apArray, $weekBeginDate, $weekEndDate); return $apArray; } // Gets the appointments of one month function getAppointmentsOfOneMonth($selYear, $selMonth, $csId = "") { global $calCurrentWeekNum, $calWeekDays, $calMonthDays; // Get the calendar week of the first day of the selected month $calFirstWeekNumofTheMonth = calFirstWeekNumofMonth($selMonth, $selYear); // Get the number of the first day of the selected month $calFirstDayNumOfTheMonth = calFirstDayNumOfMonth($selMonth, $selYear); // Get appointments of the specified month $apArray = getAppointmentsFromDB($selYear, $selMonth, "1", $selYear, $selMonth, $calMonthDays[$selMonth - 1], $csId); $lenApArray = count($apArray); $monthBeginDate = date("Y-m-d", mktime(0, 0, 0, $selMonth, "1", $selYear)); $monthEndDate = date("Y-m-d", mktime(0, 0, 0, $selMonth, $calMonthDays[$selMonth - 1], $selYear)); // Modifies array according to the appointments starting and ending on different days $apArray = modifyIntervalAppointments2SingleDayAppointments($apArray, $monthBeginDate, $monthEndDate); return $apArray; } // Gets the appointments of one year function getAppointmentsOfOneYear($selYear, $csId = "") { global $calCurrentWeekNum, $calWeekDays; global $calMonthNames, $calMonthDays; $apArray = array(); for ($j = 1; $j <= 12; $j++) : $apArray = array_merge($apArray, getAppointmentsOfOneMonth($selYear, $j, $csId)); endfor; return $apArray; } // Gets an array with days of a specified month (and year), where there is at least one appointment per day function getDaysWithAppointments($selYear, $selMonth, $csId = "") { global $db, $PHP_SELF; global $emp_id, $usr_id, $calMonthDays, $f_selUsrId; $dayArray = array(); if ($f_selUsrId == "") : $f_selUsrId = $usr_id; endif; if (substr($selMonth,0,1) == "0") : $selMonth = substr($selMonth,-1); endif; // kind of typecast $tmpArray = getAppointmentsFromDB($selYear, $selMonth, 1, $selYear, $selMonth, $calMonthDays[$selMonth - 1], $csId); // Iterate all days of the current month displayed for ($i = 1; $i <= $calMonthDays[$selMonth - 1]; $i++) : $tmpDate = date("Y-m-d", mktime(0,0,0,$selMonth,$i,$selYear)); $tmpArrayLen = count($tmpArray); for ($j = 0; $j < $tmpArrayLen; $j++) : $tmpExecdate = substr($tmpArray[$j][2],0,10); $tmpEnddate = substr($tmpArray[$j][8],0,10); if ($tmpExecdate <= $tmpDate && $tmpDate <= $tmpEnddate) : mcArrIsSet($dayArray, $i); $dayArray[$i] = "1"; // appointment does exist on this day endif; endfor; endfor; return $dayArray; } // Generates the output of all days of the selected month and year // $selYear : Selected year // $selMonth : Selected month // $cellWidth : Static width of the table cell // $cellCol : Colour of the cell // $appointmentLink : If equals "" then only display the day without link according any logic (usage as "normal calendar") // $checkExistingAppointments : If equals "" then do NOT check for appointments (usage as "normal calendar") function printWeekDays($selYear, $selMonth ,$cellWidth = "40", $cellCol = "AAAAFF", $appointmentLink = "", $checkExistingAppointments = "", $csId = "") { global $calMonthDays; global $f_selUsrId, $f_ap_cat_search_1, $f_ap_cat_search_2, $f_ap_cat_search_3, $f_ap_cat_search_4; // Get the calendar week of the first day of the selected month $calFirstWeekNumofTheMonth = calFirstWeekNumofMonth($selMonth, $selYear); // Get the number of the first day of the selected month $calFirstDayNumOfTheMonth = calFirstDayNumOfMonth($selMonth, $selYear); // Checks existence of appointments of the selected month if requested if ($checkExistingAppointments != "") : $dayArray = getDaysWithAppointments($selYear, $selMonth, $csId); endif; $dayCounter = 1; $out = ""; for ($i = 1; $i < 7; $i++) : // Display the calendar week $out .= ""; if ($appointmentLink == "1") : $tmpSelYearOnlyForDisplay = $selYear; // Only for the link adapt the year ... if ($selMonth == 12 && $calFirstWeekNumofTheMonth <= 2) : $tmpSelYearOnlyForDisplay++; elseif ($selMonth == 1 && $calFirstWeekNumofTheMonth >= 52) : $tmpSelYearOnlyForDisplay--; endif; /* $out .= "" . $calFirstWeekNumofTheMonth . ""; */ $out .= "" . $calFirstWeekNumofTheMonth . ""; // elseif ($appointmentLink == "2") : // $out .= $calFirstWeekNumofTheMonth; else : $out .= $calFirstWeekNumofTheMonth; endif; $out .= ""; // Display the days of the calendar week for ($j = 1; $j <= 7; $j++) : if ((($i > 1) || ($i == 1 && $j >= $calFirstDayNumOfTheMonth)) && $dayCounter <= $calMonthDays[$selMonth - 1]) : $cellCol2 = $cellCol; if ($selYear == date("Y") && $selMonth == date("m") && $dayCounter == date("d")) : $cellCol2 = "FFFF00"; // Yellow else : if ($checkExistingAppointments != "") : // if (!(array_search($dayCounter, $dayArray) === FALSE)) : mcArrIsSet($dayArray, $dayCounter); if ($dayArray[$dayCounter] == "1") : $cellCol2 = "FFAAAA"; // Pink endif; endif; endif; $out .= ""; if ($appointmentLink == "1") : /* $out .= "" . $dayCounter . ""; */ $out .= "" . $dayCounter . ""; elseif ($appointmentLink == "2") : // $out .= "" . $dayCounter . ""; $out .= "" . $dayCounter . ""; else : $out .= $dayCounter; endif; $out .= ""; $dayCounter++; else : $out .= " "; endif; endfor; if ($i < 6) : $out .= ""; endif; // Check especially for changing of the year if ($selMonth == 1 && $calFirstWeekNumofTheMonth >= 52) : $calFirstWeekNumofTheMonth = 0; endif; $calFirstWeekNumofTheMonth++; if ($selMonth == 12 && $calFirstWeekNumofTheMonth > calLastWeekNumofYear($selYear)) : $calFirstWeekNumofTheMonth = 1; endif; endfor; $out .= ""; return $out; } // Prints the action fields to select a special month and a special year // $selYear : Selected year // $selMonth : Selected month // $cellWidth : Static width of the table cell // $cellCol : Colour of the cell function printActionFields($selYear, $selMonth, $cellWidth = "80", $cellCol = "FF7777") { global $calMonthNames; $monthsToSelect = ""; $yearToSelect = ""; // $yearToSelect = ""; $out = ""; $out .= "" . $monthsToSelect . ""; // $out .= ""; $out .= "" . defineButtonType10(getLngt("Anz."), "action_show", "finishPage();", "60", "", "") . ""; $out .= "" . $yearToSelect . ""; $out .= ""; return $out; } // ************************ // *** REPORT FUNCTIONS *** // ************************ // Gets a report list according to a special customer function getReportListStatement ($fromDateRange, $toDateRange, $rpObjType = "cs", $rpObjId = "", $rpType = "", $isMeta = "0", $csParentIdArray = array()) { global $db, $PHP_SELF; global $f_hq_id, $emp_id, $usr_id, $limitOfRowsDisplayed; if ($limitOfRowsDisplayed == "") : $limitOfRowsDisplayed = "50"; endif; if ($fromDateRange == "") : $currentMonth = getDateTime("month"); if ($currentMonth >= 7) : $fromDateRange = getDateTime("year") . "-07-01" . " 00:00:00"; else : $fromDateRange = getDateTime("year") . "-01-01" . " 00:00:00"; endif; endif; if ($toDateRange == "") : $toDateRange = getDateTime("3") . " 23:59:59"; endif; $fieldClause = "rp.rp_id, rp.hq_id, rp.rp_objid, rp.usr_id, rp.rp_reporttype, rp.rp_text, rp.rp_confidential, rp.rp_createtime, " . "usr.usr_firstname, usr.usr_name, usr.usr_phone, " . "CONCAT(usr.usr_firstname,'
',usr.usr_name,'
',usr.usr_phone) AS usr_data, CONCAT(rp.rp_id,',',rp.usr_id,',',rp.rp_reporttype,',',rp.rp_confidential) AS rp_actions, hq.hq_name"; $whereClause = ""; $whereClauseRp = ""; if ($rpObjType == "cs") : $fieldClause .= ", cmp.cmp_comp, cmp.cmp_comp2, cs.cs_eid AS eid"; $fieldClause .= ", CONCAT(cmp.cmp_comp,',',cmp.cmp_comp2,',',cs.cs_eid) AS rp_data "; $fromClause = "phoenix.customer AS cs, phoenix.company AS cmp, "; if ($rpObjId != "") : $whereClauseRp = " rp.rp_objtype = '" . $rpObjType . "' AND rp.rp_objid = '" . $rpObjId . "' AND "; if ($isMeta == "1") : $whereClauseRp = " rp.rp_objtype = '" . $rpObjType . "' AND rp.rp_objid IN (" . implode($csParentIdArray, ",") . ") AND "; endif; endif; $whereClause = "rp.rp_objid = cs.cs_id AND cs.cmp_id = cmp.cmp_id AND "; elseif ($rpObjType == "cr") : $fieldClause .= ", cmp.cmp_comp, cmp.cmp_comp2, cr.cr_eid AS eid"; $fieldClause .= ", CONCAT(cmp.cmp_comp,',',cmp.cmp_comp2,',',cr.cr_eid) AS rp_data "; $fromClause = "phoenix.courier AS cr, phoenix.company AS cmp, "; if ($rpObjId != "") : $whereClauseRp = " rp.rp_objtype = '" . $rpObjType . "' AND rp.rp_objid = '" . $rpObjId . "' AND "; if (FALSE && $isMeta == "1") : $whereClauseRp = " rp.rp_objtype = '" . $rpObjType . "' AND rp.rp_objid IN (" . implode($crParentIdArray, ",") . ") AND "; endif; endif; $whereClause = "rp.rp_objid = cr.cr_id AND cr.cmp_id = cmp.cmp_id AND "; endif; $fromClause .= "phoenix.headquarters AS hq, phoenix_group.report_process AS rp " . "LEFT JOIN phoenix.user AS usr ON rp.usr_id = usr.usr_id "; $whereClause .= $whereClauseRp . $whereClause . "rp.hq_id IN " . getSQLMandatorArray($f_hq_id) . " AND rp.hq_id = hq.hq_id AND " . "rp.rp_createtime >= '$fromDateRange' AND rp.rp_createtime <= '$toDateRange'"; // Filter report type if (is_numeric($rpType) && $rpType > "0") : $whereClause .= " AND rp.rp_reporttype = '" . $rpType . "' "; endif; // Confidential check /* if (!authCheckEmployeeRights($emp_id, "10")) : $whereClause .= " AND (rp.rp_confidential = '0' OR rp.usr_id = '" . $usr_id . "') "; endif; */ $tmpSortField = "rp.rp_createtime"; if ($f_sort != "") : if ($fieldArray[$f_sort] == "rp_actions") : $tmpSortField = "rp.rp_reporttype"; else : $tmpSortField = $fieldArray[$f_sort]; endif; endif; $orderByClause = $tmpSortField . " DESC LIMIT 0," . $limitOfRowsDisplayed; $sqlquery = generateStatement($fieldClause,$fromClause,$whereClause,$orderByClause); return $sqlquery; } // Gets a report list according to a special customer function getReportStatement ($rpId, $rpObjType = "cs") { global $db, $PHP_SELF; global $f_hq_id, $emp_id, $usr_id, $limitOfRowsDisplayed; $fieldClause = "rp.rp_id, rp.hq_id, rp.rp_objid, rp.usr_id, rp.rp_reporttype, rp.rp_text, rp.rp_confidential, rp.rp_createtime, " . "usr.usr_firstname, usr.usr_name, usr.usr_phone, " . "CONCAT(usr.usr_firstname,'
',usr.usr_name,'
',usr.usr_phone) AS usr_data, CONCAT(rp.rp_id,',',rp.usr_id,',',rp.rp_reporttype,',',rp.rp_confidential) AS rp_actions, hq.hq_name"; $whereClause = ""; $orderByClause = ""; if ($rpObjType == "cs") : $fieldClause .= ", cmp.cmp_comp, cmp.cmp_comp2, cs.cs_eid AS eid"; $fieldClause .= ", CONCAT(cmp.cmp_comp,',',cmp.cmp_comp2,',',cs.cs_eid) AS rp_data "; $fromClause = "phoenix.customer AS cs, phoenix.company AS cmp, "; $whereClause = "rp.rp_objid = cs.cs_id AND cs.cmp_id = cmp.cmp_id AND "; elseif ($rpObjType == "cr") : $fieldClause .= ", cmp.cmp_comp, cmp.cmp_comp2, cr.cr_eid AS eid"; $fieldClause .= ", CONCAT(cmp.cmp_comp,',',cmp.cmp_comp2,',',cr.cr_eid) AS rp_data "; $fromClause = "phoenix.courier AS cr, phoenix.company AS cmp, "; $whereClause = "rp.rp_objid = cr.cr_id AND cr.cmp_id = cmp.cmp_id AND "; endif; $fromClause .= "phoenix.headquarters AS hq, phoenix_group.report_process AS rp " . "LEFT JOIN phoenix.user AS usr ON rp.usr_id = usr.usr_id "; $whereClause .= " rp.rp_objtype = '" . $rpObjType . "' AND rp.rp_id = '" . $rpId . "' AND " . $whereClause . "rp.hq_id = hq.hq_id "; $sqlquery = generateStatement($fieldClause,$fromClause,$whereClause,$orderByClause); return $sqlquery; } ?>