Helpdesk da PluGzOne, baseado no osTicket
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

195 lines
6.9 KiB

<?php
$report = new OverviewReport($_POST['start'], $_POST['period']);
$plots = $report->getPlotData();
?>
<script type="text/javascript" src="js/raphael-min.js?cb6766e"></script>
<script type="text/javascript" src="js/g.raphael.js?cb6766e"></script>
<script type="text/javascript" src="js/g.line-min.js?cb6766e"></script>
<script type="text/javascript" src="js/g.dot-min.js?cb6766e"></script>
<script type="text/javascript" src="js/dashboard.inc.js?cb6766e"></script>
<link rel="stylesheet" type="text/css" href="css/dashboard.css?cb6766e"/>
<form method="post" action="dashboard.php">
<div id="basic_search">
<div style="min-height:25px;">
<!--<p><?php //echo __('Select the starting time and period for the system activity graph');?></p>-->
<?php echo csrf_token(); ?>
<label>
<?php echo __( 'Report timeframe'); ?>:
<input type="text" class="dp input-medium search-query"
name="start" placeholder="<?php echo __('Last month');?>"
value="<?php
echo Format::htmlchars($report->getStartDate());
?>" />
</label>
<label>
<?php echo __( 'period');?>:
<select name="period">
<option value="now" selected="selected">
<?php echo __( 'Up to today');?>
</option>
<option value="+7 days">
<?php echo __( 'One Week');?>
</option>
<option value="+14 days">
<?php echo __( 'Two Weeks');?>
</option>
<option value="+1 month">
<?php echo __( 'One Month');?>
</option>
<option value="+3 months">
<?php echo __( 'One Quarter');?>
</option>
</select>
</label>
<button class="green button action-button muted" type="submit">
<?php echo __( 'Refresh');?>
</button>
<i class="help-tip icon-question-sign" href="#report_timeframe"></i>
</div>
</div>
<div class="clear"></div>
<div style="margin-bottom:20px; padding-top:5px;">
<div class="pull-left flush-left">
<h2><?php echo __('Ticket Activity');
?>&nbsp;<i class="help-tip icon-question-sign" href="#ticket_activity"></i></h2>
</div>
</div>
<div class="clear"></div>
<!-- Create a graph and fetch some data to create pretty dashboard -->
<div style="position:relative">
<div id="line-chart-here" style="height:300px"></div>
<div style="position:absolute;right:0;top:0" id="line-chart-legend"></div>
</div>
<hr/>
<h2><?php echo __('Statistics'); ?>&nbsp;<i class="help-tip icon-question-sign" href="#statistics"></i></h2>
<p><?php echo __('Statistics of tickets organized by department, help topic, and agent.');?></p>
<p><b><?php echo __('Range: '); ?></b>
<?php
$range = array();
foreach ($report->getDateRange() as $date)
{
$date = str_ireplace('FROM_UNIXTIME(', '',$date);
$date = str_ireplace(')', '',$date);
$date = new DateTime('@'.$date);
$date->setTimeZone(new DateTimeZone($cfg->getTimezone()));
$timezone = $date->format('e');
$range[] = $date->format('F j, Y');
}
echo __($range[0] . ' - ' . $range[1] . ' (' . Format::timezone($timezone) . ')');
?>
<ul class="clean tabs">
<?php
$first = true;
$groups = $report->enumTabularGroups();
foreach ($groups as $g=>$desc) { ?>
<li class="<?php echo $first ? 'active' : ''; ?>"><a href="#<?php echo Format::slugify($g); ?>"
><?php echo Format::htmlchars($desc); ?></a></li>
<?php
$first = false;
} ?>
</ul>
<?php
$first = true;
foreach ($groups as $g=>$desc) {
$data = $report->getTabularData($g); ?>
<div class="tab_content <?php echo (!$first) ? 'hidden' : ''; ?>" id="<?php echo Format::slugify($g); ?>">
<table class="dashboard-stats table"><tbody><tr>
<?php
foreach ($data['columns'] as $j=>$c) {
?>
<th <?php if ($j === 0) echo 'width="30%" class="flush-left"'; ?>><?php echo Format::htmlchars($c);
switch ($c) {
case 'Opened':
?>
<i class="help-tip icon-question-sign" href="#opened"></i>
<?php
break;
case 'Assigned':
?>
<i class="help-tip icon-question-sign" href="#assigned"></i>
<?php
break;
case 'Overdue':
?>
<i class="help-tip icon-question-sign" href="#overdue"></i>
<?php
break;
case 'Closed':
?>
<i class="help-tip icon-question-sign" href="#closed"></i>
<?php
break;
case 'Reopened':
?>
<i class="help-tip icon-question-sign" href="#reopened"></i>
<?php
break;
case 'Deleted':
?>
<i class="help-tip icon-question-sign" href="#deleted"></i>
<?php
break;
case 'Service Time':
?>
<i class="help-tip icon-question-sign" href="#service_time"></i>
<?php
break;
case 'Response Time':
?>
<i class="help-tip icon-question-sign" href="#response_time"></i>
<?php
break;
}
?></th>
<?php
} ?>
</tr></tbody>
<tbody>
<?php
foreach ($data['data'] as $i=>$row) {
echo '<tr>';
foreach ($row as $j=>$td) {
if ($j === 0) { ?>
<th class="flush-left"><?php echo Format::htmlchars($td); ?></th>
<?php }
else { ?>
<td><?php echo Format::htmlchars($td);
if ($td) { // TODO Add head map
}
echo '</td>';
}
}
echo '</tr>';
}
$first = false; ?>
</tbody></table>
<div style="margin-top: 5px"><button type="submit" class="link button" name="export"
value="<?php echo Format::htmlchars($g); ?>">
<i class="icon-download"></i>
<?php echo __('Export'); ?></a></div>
</div>
<?php
}
?>
</form>
<script>
$.drawPlots(<?php echo JsonDataEncoder::encode($report->getPlotData()); ?>);
// Set Selected Period For Dashboard Stats and Export
<?php if ($report && $report->end) { ?>
$("div#basic_search select option").each(function(){
// Remove default selection
if ($(this)[0].selected)
$(this).removeAttr('selected');
// Set the selected period by the option's value (periods equal
// option's values)
if ($(this).val() == "<?php echo $report->end; ?>")
$(this).attr("selected","selected");
});
<?php } ?>
</script>