Example #1
0
 static function core(&$parser, $ticket, $custom_fields = null)
 {
     if ($ticket) {
         $parser->SetVar('ref', $ticket->reference);
         $parser->SetVar("status", "<span style='color:" . $ticket->color . ";'>" . $ticket->status . "</span>");
         $parser->SetVar("status_text", $ticket->status);
         $parser->SetVar("status_color", $ticket->color);
         if ($ticket->user_id == 0) {
             $name = $ticket->unregname . " (" . JText::_("UNREG") . ")";
         } else {
             $name = $ticket->name;
         }
         $parser->SetVar("name", $name);
         $parser->SetVar("lastactivity", FSS_Helper::TicketTime($ticket->lastupdate, FSS_DATETIME_SHORT));
         $parser->SetVar("opened", FSS_Helper::TicketTime($ticket->opened, FSS_DATETIME_SHORT));
         $parser->SetVar("closed", FSS_Helper::TicketTime($ticket->closed, FSS_DATETIME_SHORT));
         $parser->SetVar("department", $ticket->department);
         $parser->SetVar("category", $ticket->category);
         $parser->SetVar("product", $ticket->product);
         $parser->SetVar("priority", "<span style='color:" . $ticket->pricolor . ";'>" . $ticket->priority . "</span>");
         $parser->SetVar("priority_text", $ticket->priority);
         $parser->SetVar("priority_color", $ticket->pricolor);
         if (FSS_Settings::get('time_tracking') != "") {
             if ($ticket->timetaken > 0) {
                 $hours = floor($ticket->timetaken / 60);
                 $mins = sprintf("%02d", $ticket->timetaken % 60);
                 $parser->SetVar("time_taken", "<i class='icon-clock'></i>" . JText::sprintf("TIME_TAKEN_DISP", $hours, $mins));
             } else {
                 $parser->SetVar("time_taken", "<i class='icon-clock'></i>" . JText::sprintf("TIME_TAKEN_DISP", "0", "00"));
             }
         } else {
             $parser->SetVar("time_taken", '');
         }
         $group_names = array();
         if (isset($ticket->groups)) {
             foreach ($ticket->groups as $group) {
                 $group_names[] = $group->groupname;
             }
         }
         $parser->SetVar('groups', implode(", ", $group_names));
         if (empty($ticket->custom) && !empty($ticket->fields)) {
             $ticket->custom = $ticket->fields;
         }
         if (isset($ticket->customfields)) {
             foreach ($ticket->customfields as $field) {
                 if ($field['type'] != "plugin") {
                     continue;
                 }
                 $aparams = FSSCF::GetValues($field);
                 $plugin = FSSCF::get_plugin($aparams['plugin']);
                 $id = $field['id'];
                 $value = "";
                 if (isset($ticket->custom) && array_key_exists($field['id'], $ticket->custom)) {
                     $value = $ticket->custom[$field['id']];
                 }
                 if (is_array($value)) {
                     $value = $value['value'];
                 }
                 $text = $plugin->Display($value, $aparams['plugindata'], array('ticketid' => $ticket->id, 'userid' => $ticket->user_id, 'ticket' => $ticket, 'inlist' => 1), $field['id']);
                 $parser->SetVar("custom" . $id, $text);
                 $parser->SetVar("custom_" . $id, $text);
                 $cf_alias = $field['alias'];
                 $parser->SetVar("custom_" . $cf_alias, $text);
                 $parser->SetVar("custom_" . $id . "_name", $field['description']);
             }
         }
         if (isset($ticket->custom)) {
             $allcustom = array();
             if (count($ticket->custom) > 0) {
                 foreach ($ticket->custom as $id => $value) {
                     if (is_array($value)) {
                         $value = $value['value'];
                     }
                     if (isset($ticket->customfields) && array_key_exists($id, $ticket->customfields)) {
                         $field = $ticket->customfields[$id];
                         if ($field['inlist'] < 1) {
                             continue;
                         }
                         if ($field['type'] == "plugin") {
                             $aparams = FSSCF::GetValues($field);
                             if (array_key_exists("plugin", $aparams) && array_key_exists("plugindata", $aparams)) {
                                 $plugin = FSSCF::get_plugin($aparams['plugin']);
                                 $value = $plugin->Display($value, $aparams['plugindata'], array('ticketid' => $ticket->id, 'userid' => $ticket->user_id, 'ticket' => $ticket, 'inlist' => 1), $field['id']);
                             }
                         }
                         $prefix = "<span class='cust_field_label cust_field_label_{$cf_alias} cust_field_label_{$id}'>" . $ticket->customfields[$id]['description'] . ":</span> ";
                         if ($ticket->customfields[$id]['type'] == "checkbox") {
                             if ($value == "on") {
                                 $text = JText::_("Yes");
                             } else {
                                 $text = JText::_("No");
                             }
                         } else {
                             $text = $value;
                         }
                         $parser->SetVar("custom" . $id, $text);
                         $parser->SetVar("custom_" . $id, $text);
                         $cf_alias = $ticket->customfields[$id]['alias'];
                         $parser->SetVar("custom_" . $cf_alias, $text);
                         $parser->SetVar("custom_" . $id . "_name", $ticket->customfields[$id]['description']);
                         $allcustom[] = $prefix . "<span class='cust_field_value cust_field_value_{$cf_alias} cust_field_value_{$id}'>" . $text . "</span>";
                     }
                 }
             }
             $parser->SetVar("custom", implode(", ", $allcustom));
         }
         if ($ticket->assigned == '') {
             $parser->SetVar('handlername', JText::_("UNASSIGNED"));
         } else {
             $parser->SetVar('handlername', $ticket->assigned);
         }
         $parser->SetVar('username', $ticket->username);
         $parser->SetVar('email', $ticket->useremail);
         $parser->SetVar('handlerusername', $ticket->handlerusername);
         $parser->SetVar('handleremail', $ticket->handleremail);
         // product image
         $prod = self::getProduct($ticket);
         if ($prod) {
             $parser->SetVar('product_img', JURI::root(true) . "/images/fss/products/" . $prod->image);
         }
         $dept = self::getDepartment($ticket);
         if ($dept) {
             $parser->SetVar('department_img', JURI::root(true) . "/images/fss/departments/" . $dept->image);
         }
         if (strpos($parser->template, "{last_poster}") !== false || strpos($parser->template, "{last_poster_username}") !== false) {
             $parser->SetVar('last_poster', '');
             $parser->SetVar('last_poster_username', '');
             $db = JFactory::getDBO();
             $qry = "SELECT user_id, posted FROM #__fss_ticket_messages WHERE ticket_ticket_id = " . $db->escape($ticket->id) . " AND admin IN (0, 1) ORDER BY posted DESC LIMIT 1";
             $db->setQuery($qry);
             $rows = $db->loadObjectList();
             if ($rows) {
                 $row = reset($rows);
                 if ($row) {
                     $user_id = $row->user_id;
                     $user = JFactory::getUser($user_id);
                     $parser->SetVar('last_poster', $user->name);
                     $parser->SetVar('last_poster_username', $user->username);
                 }
             }
         }
     }
 }
Example #2
0
 function CanEditField($field)
 {
     if (is_array($field) && $field['type'] == "plugin") {
         $aparams = FSSCF::GetValues($field);
         $plugin = FSSCF::get_plugin($aparams['plugin']);
         if (!$plugin->CanEdit()) {
             return false;
         }
     }
     return true;
 }
Example #3
0
 function CanEditField($field)
 {
     if (is_array($field) && $field['type'] == "plugin") {
         $aparams = FSSCF::GetValues($field);
         $plugin = FSSCF::get_plugin($aparams['plugin']);
         if (!$plugin->CanEdit()) {
             return false;
         }
     }
     $peruser = "";
     if (is_array($field)) {
         $peruser = $field['peruser'];
     } else {
         $peruser = $field->peruser;
     }
     if ($peruser == 1) {
         $owner = $this->ticket['user_id'];
         $user = JFactory::getUser();
         $userid = $user->get('id');
         if ($owner == $userid) {
             return true;
         }
     } else {
         if ($this->ticket['can_edit']) {
             return true;
         }
     }
     return false;
 }
Example #4
0
 static function FieldOutput(&$field, &$fieldvalues, $context)
 {
     $value = "";
     if (count($fieldvalues) > 0) {
         foreach ($fieldvalues as $fieldvalue) {
             if ($fieldvalue['field_id'] == $field['id']) {
                 $value = $fieldvalue['value'];
                 break;
             }
         }
     }
     if ($field['type'] == "plugin") {
         $aparams = FSSCF::GetValues($field);
         $plugin = FSSCF::get_plugin($aparams['plugin']);
         $value = $plugin->Display($value, $aparams['plugindata'], $context, $field['id']);
     }
     if ($field['type'] == "area") {
         $value = str_replace("\n", "<br />", $value);
     }
     if ($field['type'] == "checkbox") {
         if ($value == "on") {
             return "Yes";
         }
         return "No";
     }
     return $value;
 }