Passed
Push — master ( f8d49f...a1d922 )
by Saepul
02:10
created

ticketedit.php (1 issue)

Labels
Severity
1
<?php 
2
require 'core/init.php';
3
$general->logged_out_protect();
4
$changeby = $_SESSION['loginid'];
5
$user = $users->userdata($_SESSION['loginid']);
6
$id = $_GET['id'];
7
$ticket = $tickets->ticket_data($id);
8
if ($ticket['ticketstatus'] == 'Closed') {
9
    header("Location: ticketread.php?id=$id");
10
    exit();
11
}
12
if (isset($_POST['submit'])) {
13
    $sla = $_POST['sla'];
14
    $reporteddate = strtotime($_POST['reporteddate']);
15
    $reportedby = $_POST['reportedby'];
16
    $telp = $_POST['telp'];
17
    $email = $_POST['email'];
18
    $problemsummary = $_POST['problemsummary'];
19
    $problemdetail = $_POST['problemdetail'];
20
    $assignee = $_POST['idassignee'];
21
    $type = $_POST['pro'];
22
    $ticketstatus = $_POST['ticketstatus'];
23
    $resolution = $_POST['resolution'];
24
    $pendingby = $_POST['pendingby'];
25
    $pendingdate = $_POST['pendingdate'];
26
    $resolvedby = $_POST['resolvedby'];
27
    $resolveddate = $_POST['resolveddate'];
28
    $closedby = $_POST['closedby'];
29
    $closeddate = $_POST['closeddate'];
30
    $changes = 'Re-assigned the ticket.';
31
    if ($ticketstatus == 'Pending') {
32
        $pendingby = $user['username'];
33
        $pendingdate = strtotime(now);
0 ignored issues
show
The constant now was not found. Maybe you did not declare it correctly or list all dependencies?
Loading history...
34
        $changes = 'Change Status to Pending.';
35
    }
36
    if ($ticketstatus == 'Resolved') {
37
        $resolvedby = $user['username'];
38
        $resolveddate = strtotime(now);
39
        $changes = 'Change Status to Resolved.';
40
    }
41
    if ($ticketstatus == 'Closed') {
42
        $closedby = $user['username'];
43
        $closeddate = strtotime(now);
44
        $changes = 'Change Status to Closed.';
45
    }
46
    $tickets->update_ticket($id, $sla, $reporteddate, $reportedby, $telp, $email, $problemsummary, $problemdetail, $ticketstatus, $assignee, $assigneddate, $pendingby, $pendingdate, $resolution, $resolvedby, $resolveddate, $closedby, $closeddate);
47
    $tickets->log_tickets($id, $sla, $reporteddate, $reportedby, $telp, $email, $problemsummary, $problemdetail, $ticketstatus, $assignee, $assigneddate, $pendingby, $pendingdate, $resolution, $resolvedby, $resolveddate, $closedby, $closeddate, $changes, $changeby);
48
    if ($user['level'] == 'Admin') {
49
        header('Location: ticketlist.php');
50
    } else {
51
        header('Location: myticketbyassignee.php');
52
    }
53
}
54
?>
55
<!DOCTYPE HTML>
56
<html>
57
<head>
58
	<title>Update Ticket</title>
59
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
60
	<style type="text/css">
61
		body{font-size:12px;background-image:url('images/corner.jpg');background-repeat:no-repeat;background-attachment:fixed;font-family: Arial, Helvetica, sans-serif;}
62
		.breadcrumb{font-size:12px;color:#0000A0;}
63
		.formtable {text-align:left; font-size:12px;color:#000000; background-color:#f0f0f0;padding:10px;width:600px; }
64
		.errormsg {font-size:10pt;color:#ff0000;text-align:left;}
65
	</style>
66
	<link rel="stylesheet" href="css/jquery-ui.css" />
67
	<script type="text/javascript" src="js/jquery.js"></script>
68
	<script src="js/jquery-ui.js"></script>
69
	<script type="text/javascript"> 
70
		$(document).ready(function(){
71
			$("#reporteddate").datepicker
72
			({dateFormat:"dd-M-yy",changeMonth:true,changeYear:true,});
73
		});
74
	</script>
75
	<script type="text/javascript">
76
	function cekData()
77
	{	if (ticketform.idassignee.value == "")
78
		{	alert("Please choose assign to!");
79
			ticketform.idassignee.focus();
80
			return false;
81
		}
82
		if (ticketform.problemsummary.value == "")
83
		{	alert("Problem summary must be filled!");
84
			ticketform.problemsummary.focus();
85
			return false;
86
		}
87
		if (ticketform.problemdetail.value == "")
88
		{	alert("Problem detail must be filled!");
89
			ticketform.problemdetail.focus();
90
			return false;
91
		}
92
		if (ticketform.reportedby.value == "")
93
		{	alert("Reported By must be filled!");
94
			ticketform.reportedby.focus();
95
			return false;
96
		}
97
		var filter = new RegExp(
98
			"^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" +
99
			"[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$");
100
		if (!filter.test(ticketform.email.value) && ticketform.email.value != "")
101
		{	alert("Please enter a valid email address!");
102
			ticketform.email.focus();
103
			return false;
104
		}
105
		if (ticketform.ticketstatus.value == "Closed")
106
		{	if(ticketform.oldticketstatus.value != "Resolved")
107
			{	alert("You must set status to resolved before closed!");
108
				ticketform.ticketstatus.focus();
109
				return false;
110
			}
111
		}
112
		else
113
			return true;
114
	}
115
	</script>
116
</head>
117
<body>	
118
	<div class="breadcrumb"> >> Home >> Update Ticket</div>
119
	<hr/>
120
	<form name="ticketform" method="post" action="" onsubmit="return cekData();">
121
	<fieldset style="display: inline-block;">
122
	<?php echo '<legend> Ticket No: '.$ticket['ticketnumber'].'</legend>'; ?>
123
	<div class="breadcrumb">*) Field Required</div> 
124
	<br/>
125
	<table class="formtable">
126
		<tr>
127
			<td width="120">Ticket No:</td><td> : </td>	
128
			<td><?php echo $ticket['ticketnumber']; ?>
129
			<input type="hidden" size='20' name='ticketnumber' value="">
130
			</td>
131
		</tr>
132
		<tr>
133
			<td> Reported Date*</td><td> : </td>
134
			<td><input type="text" id="reporteddate" name="reporteddate" readonly="readonly" value="<?php echo date('d-M-Y', $ticket['reporteddate']); ?>"></td>
135
		</tr>
136
		<tr>
137
			<td> Reported By* </td><td> : </td>
138
			<td> <input type='text' size='50' name='reportedby' maxlength="50" value='<?php echo $ticket['reportedby']; ?>'> </td>
139
		</tr>
140
		<tr>
141
			<td> Urgency (SLA)*</td><td> : </td>
142
			<td><select name="sla">
143
				<?php 
144
                    $sladata = $slas->sla_data($ticket['sla']);
145
                    echo '<option value="'.$ticket['sla'].'" selected="selected">'.$sladata['namasla'].'</option>';
146
                    $sla = $slas->get_sla();
147
                    foreach ($sla as $slaval) {
148
                        echo '<option value="'.$slaval['slaid'].'">'.$slaval['namasla'].'</option>';
149
                    }
150
                ?>
151
				</select>
152
			</td>
153
		</tr>
154
		<tr>
155
			<td> Type</td><td> : </td>
156
			<td>
157
				<?php 
158
                    //$pro = $slas->get_sla();
159
                    echo $ticket['pro'];
160
161
                ?>
162
				
163
			</td>
164
		</tr>
165
		<tr>
166
		<tr>
167
			<td> Problem Summary* </td><td> : </td>
168
			<td> <input type="text" size="60" name="problemsummary" maxlength="60" value='<?php echo $ticket['problemsummary']; ?>'> </td>
169
		</tr>
170
		<tr valign="top">
171
			<td> Problem Detail* </td><td> : </td>
172
			<td> <textarea name="problemdetail" rows="3" cols="38"><?php echo $ticket['problemdetail']; ?></textarea> </td>
173
		</tr>
174
		<tr>
175
			<td> Telephone </td><td> : </td>
176
			<td> <input type='text' size='20' name='telp' maxlength="20" value='<?php echo $ticket['telp']; ?>'> </td>
177
		</tr>
178
		<tr>
179
			<td> Email </td><td> : </td>
180
			<td> <input type='text' size='50' name='email' maxlength="50" value='<?php echo $ticket['email']; ?>'> </td>
181
		</tr>
182
	</table>
183
	<br/>
184
	<table class="formtable">
185
		<tr>
186
			<td width="120"> Assign to* </td><td> : </td>
187
			<td> <select name="idassignee">
188
			<?php
189
                $userassignee = $users->userdata($ticket['assignee']);
190
                echo '<option value='.$ticket['assignee'].' selected="selected">'.$userassignee['fullname'].'</option>';
191
                $listusers = $users->get_users();
192
                foreach ($listusers as $user) {
193
                    echo '<option value='.$user['id'].'>'.$user['fullname'].'</option>';
194
                }
195
            ?>
196
			</select> </td>
197
		</tr>
198
		<tr>
199
			<td> Status* </td><td> : </td>
200
			<td> <input type="hidden" name="oldticketstatus" value="<?php echo $ticket['ticketstatus']; ?>"> 
201
			<select name="ticketstatus">
202
				<?php
203
                    echo '<option value='.$ticket['ticketstatus'].' selected="selected">'.$ticket['ticketstatus'].'</option>';
204
                ?>
205
				<option value="Assigned"> Assigned </option>
206
				<option value="Resolved"> Resolved </option>
207
				<option value="Pending"> Pending </option>
208
				<option value="Closed"> Closed </option>
209
			</select> 
210
			</td>
211
		</tr>
212
		<tr valign="top">
213
			<td> Resolution* </td><td> : </td>
214
			<td> <textarea name="resolution" rows="3" cols="38"><?php echo $ticket['resolution']; ?></textarea> </td>
215
		</tr>
216
		<tr>
217
			<td> </td><td> </td>
218
			<td> <input type="hidden" name="pendingby" value="<?php echo $ticket['pendingby']; ?>"> 
219
				 <input type="hidden" name="pendingdate" value="<?php echo $ticket['pendingdate']; ?>"> 
220
				 <input type="hidden" name="resolvedby" value="<?php echo $ticket['resolvedby']; ?>"> 
221
				 <input type="hidden" name="resolveddate" value="<?php echo $ticket['resolveddate']; ?>"> 
222
				 <input type="hidden" name="closedby" value="<?php echo $ticket['closedby']; ?>"> 
223
				 <input type="hidden" name="closeddate" value="<?php echo $ticket['closeddate']; ?>"> 
224
			</td>
225
		</tr>
226
		<tr>
227
			<td> </td> <td> </td>
228
			<td> 
229
				<input type='submit' name='submit' value=' Submit '>  &nbsp;&nbsp;&nbsp;
230
				<input type='reset' name='reset' value=' Reset '> 
231
			</td>
232
		</tr>
233
	</table>
234
	</fieldset>
235
	</form>
236
	<br/>
237
	<fieldset style="display: inline-block;">
238
	<legend> Ticket Audit Trail</legend>
239
	<table class="formtable">
240
	<tr bgcolor="#e0e0e0" ><td width="150">Updated On</td><td width="150">Updated By</td><td>Description</td></tr>
241
	<?php
242
        $list_log_tickets = $tickets->get_audit_trail($id);
243
        foreach ($list_log_tickets as $log_ticket) {
244
            $changed_by = $users->userdata($log_ticket['changeby']);
245
            echo '<tr><td>'.date('d-M-Y H:i:s', $log_ticket['changedate']).'</td>'.
246
                 '<td>'.$changed_by['fullname'].'</td>'.
247
                 '<td>'.$log_ticket['changes'].'</td></tr>';
248
        }
249
    ?>
250
	</table>
251
	</fieldset>
252
	<br/><br/>
253
</body>
254
</html>