JR

2 minute read

If you haven’t heard, RSTickets! is an advanced Joomla! Help Desk ticketing system that allows you (or a team of yous) to manage and keep track of your clients’ issues. It’s actually one of the few effective, useful Help Desk systems available for the Joomla! 1.5+ framework that I would personally recommend. Unfortunately, it’s still under development and lacks certain features that one may desire, such as a read-only listing page that displays tickets already submitted to you or your department.

My Problem:

I noticed internal network clients were submitting several duplicate tickets related to a shared problem (i.e. printer trouble, network outages, etc.). I couldn’t blame them since they couldn’t view previously submitted tickets, so I decided to create a quick + dirty page that pulls “open,” or “on-hold,” tickets from a specific department’s table of submitted [active] tickets and displays them on a Joomla! article page (using the Sourcerer plug-in to execute custom PHP with {source} tags). Pasting this code into an article without the Sourcerer plug-in [or some sort of plug-in for executing PHP] will do nothing. Also note the include file for making a raw connection to your MySQL database. This is required (and should be stored in a directory with the appropriate permissions to prevent outside read access).

If you’d like to simply list the number (amount) of tickets (open, closed, on-hold) for all departments, you might want to check the unreleased version of RSJoomla!’s RSTicket Module.

[php]

{source}

’; echo ‘Please check the open, pending, or on-hold tickets listed below before submitting a support ticket. The list below can be utilized as an informal gauge for IT response times. If a duplicate support ticket is submitted, you may cancel it yourself or it will be deleted by the IT Department upon review. Thank you for your cooperation.’; echo ‘SUBMITTED SUPPORT TICKETS:’; echo ‘Submitted:Username:Ticket Code:Subject:Status:Priority:’; while($row = mysql\_fetch\_array($result2)) { $custid = $row[‘CustomerId’]; $userquery= mysql\_query("SELECT name FROM jos\_users WHERE id=$custid") or die(mysql_error()); $username = mysql\_fetch\_array($userquery); echo ‘’ . date("Y-m-d H:m", $row[‘TicketTime’]) . ‘’ . $username[‘name’] . ‘’ . $row[‘TicketCode’] . ‘’ . $row[‘TicketSubject’] . ‘’ . strtoupper($row[‘TicketStatus’]) . ‘’; if ($row[‘TicketPriority’]==’high’){ echo ‘’; } else if ($row[‘TicketPriority’]==’normal’){ echo ‘’; } else if ($row[‘TicketPriority’]==’low’){ echo ‘’;} echo strtoupper($row[‘TicketPriority’]) . ‘’; } echo ‘
SUBMIT A NEW SUPPORT TICKET
’; echo ‘
’; ?>

{/source}

[/php]

connect_custom.php :

[php]

[/php]

comments powered by Disqus