Newer
Older
if(!defined('OSTADMININC') || !$thisstaff || !$thisstaff->isAdmin()) die('Access Denied');
$matches=Filter::getSupportedMatches();
$match_types=Filter::getSupportedMatchTypes();
$submit_text=__('Save Changes');
$info=array_merge($filter->getInfo(),$filter->getFlatRules());
$info['id']=$filter->getId();
$info['isactive']=isset($info['isactive'])?$info['isactive']:0;
}
$info=Format::htmlchars(($errors && $_POST)?$_POST:$info);
?>
<form action="filters.php?<?php echo Http::build_query($qs); ?>" method="post" id="save">
<input type="hidden" name="do" value="<?php echo $action; ?>">
<input type="hidden" name="a" value="<?php echo Format::htmlchars($_REQUEST['a']); ?>">
<input type="hidden" name="id" value="<?php echo $info['id']; ?>">
<h2><?php echo __('Ticket Filter');?></h2>
<table class="form_table" width="940" border="0" cellspacing="0" cellpadding="2">
<thead>
<tr>
<th colspan="2">
<h4><?php echo $title; ?></h4>
<em><?php echo __('Filters are executed based on execution order. Filter can target specific ticket source.');?></em>
</th>
</tr>
</thead>
<tbody>
<tr>
<td width="180" class="required">
</td>
<td>
<input type="text" size="30" name="name" value="<?php echo $info['name']; ?>">
<span class="error">* <?php echo $errors['name']; ?></span>
</td>
</tr>
<tr>
<td width="180" class="required">
</td>
<td>
<input type="text" size="6" name="execorder" value="<?php echo $info['execorder']; ?>">
<span class="error">* <?php echo $errors['execorder']; ?></span>
<input type="checkbox" name="stop_onmatch" value="1" <?php echo $info['stop_onmatch']?'checked="checked"':''; ?> >
<?php echo __('<strong>Stop</strong> processing further on match!');?>
<i class="help-tip icon-question-sign" href="#execution_order"></i>
</td>
</tr>
<tr>
<td width="180" class="required">
<?php echo __('Filter Status');?>:
$info['isactive']?'checked="checked"':''; ?>> <?php echo __('Active'); ?>
<input type="radio" name="isactive" value="0" <?php echo !$info['isactive']?'checked="checked"':''; ?>
> <?php echo __('Disabled'); ?>
<span class="error">* </span>
</td>
</tr>
<tr>
<?php echo __('Target Channel');?>:
<option value="">— <?php echo __('Select a Channel');?> —</option>
<?php
foreach(Filter::getTargets() as $k => $v) {
echo sprintf('<option value="%s" %s>%s</option>',
$k, (($k==$info['target'])?'selected="selected"':''), $v);
}
$sql='SELECT email_id,email,name FROM '.EMAIL_TABLE.' email ORDER by name';
if(($res=db_query($sql)) && db_num_rows($res)) {
echo sprintf('<OPTGROUP label="%s">', __('System Emails'));
while(list($id,$email,$name)=db_fetch_row($res)) {
$selected=($info['email_id'] && $id==$info['email_id'])?'selected="selected"':'';
if($name)
$email=Format::htmlchars("$name <$email>");
echo sprintf('<option value="%d" %s>%s</option>',$id,$selected,$email);
}
<span class="error">* <?php echo $errors['target']; ?></span>
<i class="help-tip icon-question-sign" href="#target_channel"></i>
<em><strong><?php echo __('Filter Rules');?></strong>: <?php
echo __('Rules are applied based on the criteria.');?> <span class="error">* <?php echo
<em><?php echo __('Rules Matching Criteria');?>:</em>
<input type="radio" name="match_all_rules" value="1" <?php echo $info['match_all_rules']?'checked="checked"':''; ?>><?php echo __('Match All');?>
<input type="radio" name="match_all_rules" value="0" <?php echo !$info['match_all_rules']?'checked="checked"':''; ?>><?php echo __('Match Any');?>
<em>(<?php echo __('case-insensitive comparison');?>)</em>
<i class="help-tip icon-question-sign" href="#rules_matching_criteria"></i>
</td>
</tr>
<?php
$n=($filter?$filter->getNumRules():0)+2; //2 extra rules of unlimited.
for($i=1; $i<=$n; $i++){ ?>
<tr id="r<?php echo $i; ?>">
<td colspan="2">
<select style="max-width: 200px;" name="rule_w<?php echo $i; ?>">
<option value="">— <?php echo __('Select One');?> —</option>
foreach ($matches as $group=>$ms) { ?>
<optgroup label="<?php echo __($group); ?>"><?php
foreach ($ms as $k=>$v) {
$sel=($info["rule_w$i"]==$k)?'selected="selected"':'';
echo sprintf('<option value="%s" %s>%s</option>',
$k,$sel,__($v));
</select>
<select name="rule_h<?php echo $i; ?>">
<option value="0">— <?php echo __('Select One');?> —</option>
<?php
foreach($match_types as $k=>$v){
$sel=($info["rule_h$i"]==$k)?'selected="selected"':'';
echo sprintf('<option value="%s" %s>%s</option>',
<input class="ltr" type="text" size="60" name="rule_v<?php echo $i; ?>" value="<?php echo $info["rule_v$i"]; ?>">
<span class="error"> <?php echo $errors["rule_$i"]; ?></span>
if($info["rule_w$i"] || $info["rule_h$i"] || $info["rule_v$i"]){ ?>
<div class="pull-right" style="padding-right:20px;"><a href="#" class="clearrule">(<?php echo __('clear');?>)</a></div>
</td>
</tr>
<?php
if($i>=25) //Hardcoded limit of 25 rules...also see class.filter.php
break;
} ?>
<tr>
<th colspan="2">
<em><strong><?php echo __('Filter Actions');?></strong>: <?php
echo __('Can be overwridden by other filters depending on processing order.');?> </em>
<?php echo __('Reject Ticket');?>:
<input type="checkbox" name="reject_ticket" value="1" <?php echo $info['reject_ticket']?'checked="checked"':''; ?> >
<strong><font class="error"><?php echo __('Reject Ticket');?></font></strong>
<i class="help-tip icon-question-sign" href="#reject_ticket"></i>
<?php echo __('Reply-To Email');?>:
</td>
<td>
<input type="checkbox" name="use_replyto_email" value="1" <?php echo $info['use_replyto_email']?'checked="checked"':''; ?> >
<?php echo __('<strong>Use</strong> Reply-To Email');?> <em>(<?php echo __('if available');?>)</em>
<i class="help-tip icon-question-sign" href="#reply_to_email"></i></em>
<?php echo __('Ticket auto-response');?>:
</td>
<td>
<input type="checkbox" name="disable_autoresponder" value="1" <?php echo $info['disable_autoresponder']?'checked="checked"':''; ?> >
<?php echo __('<strong>Disable</strong> auto-response.');?>
<i class="help-tip icon-question-sign" href="#ticket_auto_response"></i>
<?php echo __('Canned Response');?>:
<select name="canned_response_id">
<option value="">— <?php echo __('None');?> —</option>
$sql='SELECT canned_id, title, isenabled FROM '.CANNED_TABLE .' ORDER by title';
if ($res=db_query($sql)) {
$selected=($info['canned_response_id'] &&
$id==$info['canned_response_id'])
echo sprintf('<option value="%d" %s>%s</option>',
$id, $selected, $title);
}
}
?>
</select>
<i class="help-tip icon-question-sign" href="#canned_response"></i>
<option value="">— <?php echo __('Default');?> —</option>
<?php
$sql='SELECT dept_id,dept_name FROM '.DEPT_TABLE.' dept ORDER by dept_name';
if(($res=db_query($sql)) && db_num_rows($res)){
while(list($id,$name)=db_fetch_row($res)){
$selected=($info['dept_id'] && $id==$info['dept_id'])?'selected="selected"':'';
echo sprintf('<option value="%d" %s>%s</option>',$id,$selected,$name);
}
}
?>
</select>
<span class="error">* <?php echo $errors['dept_id']; ?></span> <i class="help-tip icon-question-sign" href="#department"></i>
</td>
<td>
<span>
<select name="status_id">
<option value="">— <?php echo __('Default'); ?> —</option>
foreach (TicketStatusList::getStatuses() as $status) {
$name = $status->getName();
if (!($isenabled = $status->isEnabled()))
echo sprintf('<option value="%d" %s %s>%s</option>',
$status->getId(),
($info['status_id'] == $status->getId())
? 'selected="selected"' : '',
$isenabled ? '' : 'disabled="disabled"',
$name
);
}
?>
</select>
<span class="error"><?php echo $errors['status_id']; ?></span>
<i class="help-tip icon-question-sign" href="#status"></i>
</span>
</td>
</tr>
</td>
<td>
<select name="priority_id">
<option value="">— <?php echo __('Default');?> —</option>
<?php
$sql='SELECT priority_id,priority_desc FROM '.PRIORITY_TABLE.' pri ORDER by priority_urgency DESC';
if(($res=db_query($sql)) && db_num_rows($res)){
while(list($id,$name)=db_fetch_row($res)){
$selected=($info['priority_id'] && $id==$info['priority_id'])?'selected="selected"':'';
echo sprintf('<option value="%d" %s>%s</option>',$id,$selected,$name);
}
}
?>
</select>
<span class="error">* <?php echo $errors['priority_id']; ?></span>
<i class="help-tip icon-question-sign" href="#priority"></i>
<option value="0">— <?php echo __('System Default');?> —</option>
if($slas=SLA::getSLAs()) {
foreach($slas as $id =>$name) {
echo sprintf('<option value="%d" %s>%s</option>',
$id, ($info['sla_id']==$id)?'selected="selected"':'',$name);
}
}
?>
</select>
<span class="error"> <?php echo $errors['sla_id']; ?></span>
<i class="help-tip icon-question-sign" href="#sla_plan"></i>
<option value="0">— <?php echo __('Unassigned');?> —</option>
if (($users=Staff::getStaffMembers())) {
echo '<OPTGROUP label="'.__('Agents').'">';
foreach($users as $id => $name) {
$name = new PersonsName($name);
$k="s$id";
$selected = ($info['assign']==$k || $info['staff_id']==$id)?'selected="selected"':'';
?>
<option value="<?php echo $k; ?>"<?php echo $selected; ?>><?php echo $name; ?></option>
$sql='SELECT team_id, isenabled, name FROM '.TEAM_TABLE .' ORDER BY name';
if(($res=db_query($sql)) && db_num_rows($res)){
echo '<OPTGROUP label="'.__('Teams').'">';
$k="t$id";
$selected = ($info['assign']==$k || $info['team_id']==$id)?'selected="selected"':'';
?>
<option value="<?php echo $k; ?>"<?php echo $selected; ?>><?php echo $name; ?></option>
<?php
}
echo '</OPTGROUP>';
}
?>
</select>
<span class="error"> <?php echo
$errors['assign']; ?></span><i class="help-tip icon-question-sign" href="#auto_assign"></i>
</td>
<td>
<select name="topic_id">
<option value="0" selected="selected">— <?php
echo __('Unchanged'); ?> —</option>
<?php
$sql='SELECT topic_id, topic FROM '.TOPIC_TABLE.' T ORDER by topic';
if(($res=db_query($sql)) && db_num_rows($res)){
while(list($id,$name)=db_fetch_row($res)){
$selected=($info['topic_id'] && $id==$info['topic_id'])?'selected="selected"':'';
echo sprintf('<option value="%d" %s>%s</option>',$id,$selected,$name);
}
}
?>
</select>
<span class="error"><?php echo $errors['topic_id']; ?></span><i class="help-tip icon-question-sign" href="#help_topic"></i>
<em><strong><?php echo __('Internal Notes');?></strong>: <?php
echo __("be liberal, they're internal");?></em>
<textarea class="richtext no-bar" name="notes" cols="21"
rows="8" style="width: 80%;"><?php echo $info['notes']; ?></textarea>
<p style="text-align:center;">
<input type="submit" name="submit" value="<?php echo $submit_text; ?>">
<input type="reset" name="reset" value="<?php echo __('Reset');?>">
<input type="button" name="cancel" value="<?php echo __('Cancel');?>" onclick='window.location.href="filters.php"'>