This mod is in Spanish so you can edit it to ur lang and also i change Perms to allow all the members edit the tickets.
in include/class.ticket.php after:
function getOpenTicketsByEmail($email){
$sql='SELECT count(*) as open FROM '.TICKET_TABLE.' WHERE status='.db_input('open').' AND email='.db_input($email);
if(($res=db_query($sql)) && db_num_rows($res))
list($num)=db_fetch_row($res);
return $num;
}
ADD:
/*Added by OSegura*/function update($var,&$errors) {
global $cfg,$thisuser;
$fields=array();
$fields = array('type'=>'string', 'required'=>1, 'error'=>'Name required');
$fields = array('type'=>'email', 'required'=>1, 'error'=>'Email is required');
$fields = array('type'=>'text', 'required'=>1, 'error'=>'Reason for the update required');
$fields = array('type'=>'string', 'required'=>1, 'error'=>'Subject required');
$fields = array('type'=>'string', 'required'=>1, 'error'=>'enterprise required');
$fields = array('type'=>'string', 'required'=>1, 'error'=>'cargo required');
$fields = array('type'=>'int', 'required'=>0, 'error'=>'Invalid Priority');
$fields = array('type'=>'phone', 'required'=>0, 'error'=>'Valid phone # required');
/*$fields = array('type'=>'date', 'required'=>0, 'error'=>'Invalid date - must be MM/DD/YY');*/
$params = new Validator($fields);
if(!$params->validate($var)){
$errors=array_merge($errors,$params->errors());
}
if($var){
if($this->isClosed())
$errors='Duedate can NOT be set on a closed ticket';
elseif(!$var || strpos($var,':')===false)
$errors='Select time';
elseif(strtotime($var.' '.$var)===false)
$errors='Invalid duedate';
elseif(strtotime($var.' '.$var)<=time())
$errors='Due date must be in the future';
}
//Make sure phone extension is valid
if($var ) {
if(!is_numeric($var) && !$errors)
$errors='Invalid phone ext.';
elseif(!$var) //make sure they just didn't enter ext without phone #
$errors='Phone number required';
}
if(!$errors){
$sql='UPDATE '.TICKET_TABLE.' SET updated=NOW() '.
',email='.db_input($var).
',name='.db_input(Format:($var)).
',subject='.db_input(Format:($var)).
',enterprise='.db_input(Format:($var)).
',cargo='.db_input(Format:($var)).
',phone='.db_input($var).
/*',phone_ext='.db_input($var?$var).*/
',priority_id='.db_input($var).
/*',duedate='.($var?db_input(date('Y-m-d G',Misc:($var.' '.$var))):'NULL');*/
/*if($var) { //We are setting new duedate...
$sql.=',isoverdue=0';
}*/
$sql.=' WHERE ticket_id='.db_input($this->getId());
//echo $sql;
if(db_query($sql)){
$this->postNote('Ticket Edit',$var);
$this->reload();
return true;
}
}
return false;
}/*Added by OSegura*
you can modify the phone_ext comment part
in staff/viewticket.inc.php after:
<tr>
<td class="msg">
Ticket #<?php echo $ticket->getExtId()?> <a href="tickets.php?id=<?php echo $id?>" title="Reload/refresh"><span class="Icon refresh"> </span></a>
if you have the print mod you can do it after the print mod or before the "first, last" mod.
ADD:
Added by OSegura<? if($thisuser->canEditTickets() || ($thisuser->isManager() && $dept->getId()==$thisuser->getDeptId())) { ?>
<a href="tickets.php?id=<?=$id?>&a=edit" title="Editar Ticket" class="Icon editTicket">Editar Ticket</a>
<?}?>Added by OSegura
in scp/ticket.php after:
if(!$err && $ticket->getId()==$id)
$page='viewticket.inc.php';
ADD:
if(!$errors && $_REQUEST=='edit') { //If it's an edit check permission.
if($thisuser->canEditTickets() || ($thisuser->isManager() && $ticket->getDeptId()==$thisuser->getDeptId()))
$page='editticket.inc.php';
else
$errors='Access denied. You are not allowed to edit this ticket. Contact admin if you believe this is in error';
}/*Added by OSegura*
scp/ticket.php AFTER the break ok case 'postnote'
ADD:
/*Added by OSegura*/case 'update':
$page='editticket.inc.php';
if(!$ticket || !$thisuser->canEditTickets())
$errors='Permiso Denegado. No puede editar tickets';
elseif($ticket->update($_POST,$errors)){
$msg='Ticket editado satisfactoriamente';
$page='viewticket.inc.php';
}elseif(!$errors) {
$errors='Ocurrio error(es)! Intente nuevamente.';
}
break;/*Added by OSegura*