if (mysql_error()) { trigger_error("MySQL Query Error " . mysql_error(), E_USER_WARNING); } if (mysql_num_rows($result) > 0) { while ($productinforow = mysql_fetch_object($result)) { $var = "pinfo{$productinforow->id}"; $pinfo = cleanvar($_POST[$var]); $pisql = "INSERT INTO `{$dbIncidentProductInfo}` (incidentid, productinfoid, information) "; $pisql .= "VALUES ('{$incidentid}', '{$productinforow->id}', '{$pinfo}')"; mysql_query($pisql); if (mysql_error()) { trigger_error("MySQL Query Error " . mysql_error(), E_USER_ERROR); } } } $updatetext = "{$_SESSION['syslang']['strPriority']}: [b]" . priority_name($priority, TRUE) . "[/b]"; if (!empty($prioritychangedmessage)) { $updatetext .= $prioritychangedmessage; } $updatetext .= "\n\n" . $bodytext; if ($probdesc != '') { $updatetext .= "<b>{$_SESSION['syslang']['strProblemDescription']}</b>\n" . $probdesc . "\n\n"; } if ($workarounds != '') { $updatetext .= "<b>{$_SESSION['syslang']['strWorkAroundsAttempted']}</b>\n" . $workarounds . "\n\n"; } if ($probreproduction != '') { $updatetext .= "<b>{$_SESSION['syslang']['strProblemReproduction']}</b>\n" . $probreproduction . "\n\n"; } if ($custimpact != '') { $updatetext .= "<b>{$_SESSION['syslang']['strCustomerImpact']}</b>\n" . $custimpact . "\n\n";
if (mysql_num_rows($tresult) >= 1) { echo "<table align='center'>"; while ($tag = mysql_fetch_object($tresult)) { echo "<thead><tr><th colspan='9'>{$tag->tag}</th></tr></thead>"; $sql = "SELECT * FROM `{$dbServiceLevels}` WHERE tag='{$tag->tag}' ORDER BY priority"; $result = mysql_query($sql); if (mysql_error()) { trigger_error(mysql_error(), E_USER_WARNING); } echo "<tr><th colspan='2'>{$strPriority}</th><th>{$strInitialResponse}</th>"; echo "<th>{$strProblemDefinition}</th><th>{$strActionPlan}</th><th>{$strResolutionReprioritisation}</th>"; echo "<th>{$strReview}</th><th>{$strTimed}</th><th>{$strOperation}</th></tr>"; while ($sla = mysql_fetch_object($result)) { echo "<tr>"; echo "<td align='right'>" . priority_icon($sla->priority) . "</td>"; echo "<td>" . priority_name($sla->priority) . "</td>"; echo "<td>" . format_workday_minutes($sla->initial_response_mins) . "</td>"; echo "<td>" . format_workday_minutes($sla->prob_determ_mins) . "</td>"; echo "<td>" . format_workday_minutes($sla->action_plan_mins) . "</td>"; // 480 mins in a working day echo "<td>" . format_workday_minutes($sla->resolution_days * 480) . "</td>"; echo "<td>" . sprintf($strXDays, $sla->review_days) . "</td>"; if ($sla->timed == 'yes') { echo "<td>{$strYes}</td>"; } else { echo "<td>{$strNo}</td>"; } echo "<td><a href='service_level_edit.php?tag={$sla->tag}&priority={$sla->priority}'>{$strEdit}</a></td>"; echo "</tr>\n"; } }
function serviceleveltag_drop_down($name, $tag, $collapse = FALSE) { global $dbServiceLevels; if ($collapse) { $sql = "SELECT DISTINCT tag FROM `{$dbServiceLevels}`"; } else { $sql = "SELECT tag, priority FROM `{$dbServiceLevels}`"; } $result = mysql_query($sql); $html = "<select name='{$name}'>\n"; if ($tag == '') { $html .= "<option selected='selected' value=''></option>\n"; } while ($servicelevels = mysql_fetch_object($result)) { $html .= "<option "; $html .= "value='{$servicelevels->tag}' "; if ($servicelevels->tag == $tag) { $html .= "selected='selected'"; } $html .= ">"; if ($collapse) { $html .= $servicelevels->tag; } else { $html .= "{$servicelevels->tag} " . priority_name($servicelevels->priority); } $html .= "</option>\n"; } $html .= "</select>"; return $html; }
} break; default: $timeofnextaction = 0; break; } // Put text into body of update for field changes (reverse order) // delim first $bodytext = "<hr>" . $bodytext; $oldstatus = incident_status($id); $oldtimeofnextaction = incident_timeofnextaction($id); if ($newstatus != $oldstatus) { $bodytext = "Status: " . mysql_real_escape_string(incidentstatus_name($oldstatus)) . " -> <b>" . mysql_real_escape_string(incidentstatus_name($newstatus)) . "</b>\n\n" . $bodytext; } if ($newpriority != incident_priority($id)) { $bodytext = "New Priority: <b>" . mysql_real_escape_string(priority_name($newpriority)) . "</b>\n\n" . $bodytext; } if ($timeofnextaction > $oldtimeofnextaction + 60) { $timetext = "Next Action Time: "; if ($oldtimeofnextaction - $now < 1) { $timetext .= "None"; } else { $timetext .= date("D jS M Y @ g:i A", $oldtimeofnextaction); } $timetext .= " -> <b>"; if ($timeofnextaction < 1) { $timetext .= "None"; } else { $timetext .= date("D jS M Y @ g:i A", $timeofnextaction); } $timetext .= "</b>\n\n";
echo $results["id"]; ?> ')"><?php echo $results["title"]; ?> </a></td> <td align='center' width='100'><?php echo $results['forenames'] . ' ' . $results['surname']; ?> </td> <td align='center' width='100'><?php echo site_name($results['siteid']); ?> </td> <td align='center' width='50'><?php echo $results['servicelevel'] . "<br />" . priority_name($results["priority"]); ?> </td> <td align='center' width='100'><?php echo user_realname($results['owner'], TRUE); ?> </td> <td align='center' width='150'><?php echo ldate($CONFIG['dateformat_datetime'], $results["opened"]); ?> </td> <td align='center' width='150'><?php echo ldate($CONFIG['dateformat_datetime'], $results["lastupdated"]); ?> </td> <td align='center' width='50'><?php
function dashboard_tasks($dashletid) { global $sit, $CONFIG, $iconset, $dbTasks; $user = $sit[2]; if ($CONFIG['tasks_enabled'] == TRUE) { $sql = "SELECT * FROM `{$dbTasks}` WHERE owner='{$user}' AND (completion < 100 OR completion='' OR completion IS NULL) AND "; $sql .= "(distribution = 'public' OR distribution = 'private') "; if (!empty($sort)) { if ($sort == 'id') { $sql .= "ORDER BY id "; } elseif ($sort == 'name') { $sql .= "ORDER BY name "; } elseif ($sort == 'priority') { $sql .= "ORDER BY priority "; } elseif ($sort == 'completion') { $sql .= "ORDER BY completion "; } elseif ($sort == 'startdate') { $sql .= "ORDER BY startdate "; } elseif ($sort == 'duedate') { $sql .= "ORDER BY duedate "; } elseif ($sort == 'distribution') { $sql .= "ORDER BY distribution "; } else { $sql = "ORDER BY id "; } if ($order == 'a' or $order == 'ASC' or $order = '') { $sql .= "ASC"; } else { $sql .= "DESC"; } } else { $sql .= "ORDER BY IF(duedate,duedate,99999999) ASC, duedate ASC, startdate DESC, priority DESC, completion ASC"; } $result = mysql_query($sql); if (mysql_error()) { trigger_error(mysql_error(), E_USER_WARNING); } if (mysql_num_rows($result) >= 1) { $content .= "<table align='center' width='100%'>"; $content .= "<tr>"; $content .= colheader('id', $GLOBALS['strID']); $content .= colheader('name', $GLOBALS['strTask']); $content .= colheader('priority', $GLOBALS['strPriority']); $content .= colheader('completion', $GLOBALS['strCompletion']); $content .= "</tr>\n"; $shade = 'shade1'; while ($task = mysql_fetch_object($result)) { $duedate = mysql2date($task->duedate); $startdate = mysql2date($task->startdate); if (empty($task->name)) { $task->name = $GLOBALS['strUntitled']; } $content .= "<tr class='{$shade}'>"; $content .= "<td>{$task->id}</td>"; $content .= "<td><a href='view_task.php?id={$task->id}' class='info'>" . truncate_string($task->name, 23); if (!empty($task->description)) { $content .= "<span>" . nl2br($task->description) . "</span>"; } $content .= "</a></td>"; $content .= "<td>" . priority_icon($task->priority) . priority_name($task->priority) . "</td>"; $content .= "<td>" . percent_bar($task->completion) . "</td>"; $content .= "</tr>\n"; if ($shade == 'shade1') { $shade = 'shade2'; } else { $shade = 'shade1'; } } $content .= "</table>\n"; } else { $content .= "<p align='center'>{$GLOBALS['strNoRecords']}</p>"; } } else { $content .= "<p class='warning'>{$GLOBALS['strDisabled']}</p>"; } echo dashlet('tasks', $dashletid, icon('task', 16), sprintf($GLOBALS['strXsTasks'], user_realname($user, TRUE)), 'tasks.php', $content); }
if (empty($task->name)) { $task->name = $strUntitled; } if (!empty($incidentTitle)) { $task->name = $incidentTitle; } if ($show == 'incidents') { echo "<a href=\"javascript:incident_details_window('{$incidentidL}','incident{$incidentidL}')\" class='info'>"; } else { echo "<a href='view_task.php?id={$task->id}' class='info'>"; } echo truncate_string($task->name, 100); echo "</a>"; echo "</td>"; if ($show != 'incidents') { echo "<td>" . priority_icon($task->priority) . priority_name($task->priority) . "</td>"; echo "<td>" . percent_bar($task->completion) . "</td>"; } } if ($mode != 'incident') { echo "<td"; if ($startdate > 0 and $startdate <= $now and $task->completion <= 0) { echo " class='urgent'"; } elseif ($startdate > 0 and $startdate <= $now and $task->completion >= 1 and $task->completion < 100) { echo " class='idle'"; } echo ">"; if ($startdate > 0) { echo ldate($CONFIG['dateformat_date'], $startdate); } echo "</td>";
echo "({$strTemp}: " . user_realname($incident->towner, TRUE) . ")"; } echo "<br />"; } if ($software_name != '' or $incident->productversion != '' or $incident->productservicepacks != '') { echo $software_name; if ($incident->productversion != '' or $incident->productservicepacks != '') { echo " (" . $incident->productversion; if ($incident->productservicepacks != '') { echo $incident->productservicepacks; } echo ")"; } echo "<br />\n"; } echo priority_icon($incident->priority) . " " . priority_name($incident->priority); if ($product_name != '') { echo " <a href='contract_details.php?id={$incident->maintenanceid}' title='{$strContactDetails}' target='top.opener'>"; echo "{$product_name}"; echo "</a>"; } elseif ($incident->maintenanceid > 0) { echo "<a href='contract_details.php?id={$incident->maintenanceid}' title='{$strContactDetails}' target='top.opener'>"; echo "{$strContract} {$incident->maintenanceid}"; echo "</a>"; } else { echo "<strong>{$strSiteSupport}</strong>"; } echo " / "; echo "{$servicelevel_tag}<br />\n "; switch (does_contact_have_billable_contract($incident->contactid)) { case CONTACT_HAS_BILLABLE_CONTRACT:
} break; default: $timeofnextaction = 0; break; } // Put text into body of update for field changes (reverse order) // delim first $bodytext = "<hr>" . $bodytext; $oldstatus = incident_status($id); $oldtimeofnextaction = incident_timeofnextaction($id); if ($newstatus != $oldstatus) { $bodytext = "Status: " . incidentstatus_name($oldstatus) . " -> <b>" . incidentstatus_name($newstatus) . "</b>\n\n" . $bodytext; } if ($newpriority != incident_priority($id)) { $bodytext = "New Priority: <b>" . priority_name($newpriority) . "</b>\n\n" . $bodytext; } if ($timeofnextaction > $oldtimeofnextaction + 60) { $timetext = "Next Action Time: "; if ($oldtimeofnextaction - $now < 1) { $timetext .= "None"; } else { $timetext .= date("D jS M Y @ g:i A", $oldtimeofnextaction); } $timetext .= " -> <b>"; if ($timeofnextaction < 1) { $timetext .= "None"; } else { $timetext .= date("D jS M Y @ g:i A", $timeofnextaction); } $timetext .= "</b>\n\n";
// Author: Ivan Lucas <ivanlucas[at]users.sourceforge.net> $permission = 53; // Edit Service Levels require 'core.php'; require APPLICATION_LIBPATH . 'functions.inc.php'; // This page requires authentication require APPLICATION_LIBPATH . 'auth.inc.php'; $title = $strEditServiceLevel; // External variables $tag = cleanvar($_REQUEST['tag']); $priority = cleanvar($_REQUEST['priority']); $action = $_REQUEST['action']; if (empty($action) or $action == "showform") { include APPLICATION_INCPATH . 'htmlheader.inc.php'; echo "<h2>" . icon('sla', 32) . " {$title}</h2>"; echo "<p align='center'>{$tag} " . priority_name($priority) . "</p>"; $sql = "SELECT * FROM `{$dbServiceLevels}` WHERE tag='{$tag}' AND priority='{$priority}'"; $result = mysql_query($sql); if (mysql_error()) { trigger_error(mysql_error(), E_USER_WARNING); } $sla = mysql_fetch_object($result); echo "<form name='edit_servicelevel' action='{$_SERVER['PHP_SELF']}' method='post'>"; echo "<table class='vertical'>"; echo "<tr><th>{$strInitialResponse} " . icon('initialresponse', 16) . "</th>"; echo "<td><input type='text' size='5' name='initial_response_mins' maxlength='5' value='{$sla->initial_response_mins}' /> {$strMinutes}</td></tr>"; echo "<tr><th>{$strProblemDefinition} " . icon('probdef', 16) . "</th>"; echo "<td><input type='text' size='5' name='prob_determ_mins' maxlength='5' value='{$sla->prob_determ_mins}' /> {$strMinutes}</td></tr>"; echo "<tr><th>{$strActionPlan} " . icon('actionplan', 16) . "</th>"; echo "<td><input type='text' size='5' name='action_plan_mins' maxlength='5' value='{$sla->action_plan_mins}' /> {$strMinutes}</td></tr>"; echo "<tr><th>{$strResolutionReprioritisation} " . icon('solution', 16) . "</th>";
$sql .= "WHERE id='{$id}' LIMIT 1"; mysql_query($sql); if (mysql_error()) { trigger_error(mysql_error(), E_USER_ERROR); } // if (mysql_affected_rows() < 1) trigger_error("Task update failed",E_USER_ERROR); // Add a note to say what changed (if required) $bodytext = ''; if ($name != $old_name) { $bodytext .= "{$SYSLANG['strName']}: {$old_name} -> [b]{$name}[/b]\n"; } if ($description != $old_description) { $bodytext .= "{$SYSLANG['strDescription']}: {$old_description} -> [b]{$description}[/b]\n"; } if ($priority != $old_priority) { $bodytext .= "{$SYSLANG['strPriority']}: " . priority_name($old_priority) . " -> [b]" . priority_name($priority) . "[/b]\n"; } $old_startdate = substr($old_startdate, 0, 10); if ($startdate != $old_startdate and ($startdate != '' and $old_startdate != '0000-00-00')) { $bodytext .= "{$SYSLANG['strStartDate']}: {$old_startdate} -> [b]{$startdate}[/b]\n"; } $old_duedate = substr($old_duedate, 0, 10); if ($duedate != $old_duedate and ($duedate != '0000-00-00' and $old_duedate != '0000-00-00')) { $bodytext .= "{$SYSLANG['strDueDate']}: {$old_duedate} -> [b]{$duedate}[/b]\n"; } if ($completion != $old_completion) { $bodytext .= "{$SYSLANG['strCompletion']}: {$old_completion}% -> [b]{$completion}%[/b]\n"; } if ($enddate != $old_enddate and ($enddate != '0000-00-00 00:00:00' and $old_enddate != '0000-00-00 00:00:00')) { $bodytext .= "{$SYSLANG['strDueDate']}: {$old_enddate} -> [b]{$enddate}[/b]\n"; }
$count_obj = mysql_fetch_object($slresult); if ($count_obj->count != 4) { // Service Level / Priority if (!empty($incidents['maintenanceid'])) { echo $servicelevel->tag . "<br />"; } elseif (!empty($incidents['servicelevel'])) { echo $incidents['servicelevel'] . "<br />"; } else { echo "{$strUnknownServiceLevel}<br />"; } } $blinktime = time() - $servicelevel->initial_response_mins * 60; if ($incidents['priority'] == 4 and $incidents['lastupdated'] <= $blinktime) { echo "<strong class='critical'>" . priority_name($incidents["priority"]) . "</strong>"; } else { echo priority_name($incidents['priority']); } echo "</td>\n"; echo "<td align='center'>"; if ($incidents['status'] == 5 and $incidents['towner'] == $sit[2]) { echo "<strong>{$strAwaitingYourResponse}</strong>"; } else { echo incidentstatus_name($incidents["status"]); } if ($incidents['status'] == 2) { echo "<br />" . closingstatus_name($incidents['closingstatus']); } echo "</td>\n"; echo "<td align='center'>"; echo "{$updated}"; echo " {$strby} {$update_user}";