<?php 
$this->data['header'] = 'SimpleSAMLphp Statistics'; 
 
$this->data['jquery'] = array('version' => '1.6', 'core' => TRUE, 'ui' => TRUE, 'css' => TRUE); 
 
// $this->data['hideLanguageBar'] = TRUE; 
 
$this->data['head'] =''; 
$this->data['head'] .= '<script type="text/javascript"> 
$(document).ready(function() { 
    $("#tabdiv").tabs(); 
}); 
</script>'; 
 
$this->includeAtTemplateBase('includes/header.php'); 
 
 
function getBaseURL($t, $type = 'get', $key = NULL, $value = NULL) { 
    $vars = array( 
        'rule' => $t->data['selected.rule'], 
        'time' => $t->data['selected.time'], 
        'res' => $t->data['selected.timeres'], 
    ); 
    if (isset($t->data['selected.delimiter'])) $vars['d'] = $t->data['selected.delimiter']; 
    if (!empty($t->data['selected.rule2']) && $t->data['selected.rule2'] !== '_') $vars['rule2'] = $t->data['selected.rule2']; 
     
    if (isset($key)) { 
        if (isset($vars[$key])) unset($vars[$key]); 
        if (isset($value)) $vars[$key] = $value; 
    } 
 
    if ($type === 'get') { 
        return 'showstats.php?' . http_build_query($vars, '', '&'); 
    } else { 
        $text = ''; 
        foreach($vars AS $k => $v) { 
            $text .= '<input type="hidden" name="' . $k . '" value="'. htmlspecialchars($v) . '" />' . "\n"; 
        } 
        return $text; 
    } 
     
} 
 
 
 
?> 
 
    <style type="text/css" media="all"> 
.ui-tabs-panel { padding: .5em } 
div#content { 
    margin: .4em ! important; 
} 
.tableview { 
    border-collapse: collapse; 
    border: 1px solid #ccc; 
    margin: 1em; 
    width: 80%; 
} 
.tableview th, .tableview td{ 
    border: 1px solid: #ccc; 
    padding: 0px 5px; 
} 
.tableview th { 
    background: #e5e5e5; 
} 
.tableview tr.total td { 
    color: #500; font-weight: bold; 
} 
.tableview tr.even td { 
    background: #f5f5f5; 
    border-top: 1px solid #e0e0e0; 
    border-bottom: 1px solid #e0e0e0; 
} 
.tableview th.value, .tableview td.value { 
    text-align: right; 
} 
div.corner_t { 
    max-width: none ! important; 
} 
table.timeseries tr.odd td { 
    background-color: #f4f4f4; 
} 
table.timeseries td { 
    padding-right: 2em; border: 1px solid #ccc 
} 
td.datacontent { 
    text-align: right; 
} 
    </style> 
 
<?php 
echo('<h1>'. $this->data['available.rules'][$this->data['selected.rule']]['name'] . '</h1>'); 
echo('<p>' . $this->data['available.rules'][$this->data['selected.rule']]['descr'] . '</p>'); 
 
// echo('<pre>'); 
// print_r($this->data); 
// exit; 
 
 
// Report settings 
echo '<table class="selecttime" style="width: 100%; border: 1px solid #ccc; background: #eee; margin: 1px 0px; padding: 0px">'; 
echo('<tr><td style="width: 50px; padding: 0px"><img style="margin: 0px" src="../../resources/icons/crystal_project/kchart.32x32.png" alt="Report settings" /></td>'); 
 
// Select report 
echo '<td>'; 
echo '<form style="display: inline">'; 
echo getBaseURL($this, 'post', 'rule'); 
echo '<select onChange="submit();" name="rule">'; 
foreach ($this->data['available.rules'] AS $key => $rule) { 
    if ($key === $this->data['selected.rule']) { 
        echo '<option selected="selected" value="' . $key . '">' . $rule['name'] . '</option>'; 
    } else { 
        echo '<option value="' . $key . '">' . $rule['name'] . '</option>'; 
    } 
} 
echo '</select></form>'; 
echo '</td>'; 
 
 
// Select delimiter 
echo '<td style="text-align: right">'; 
 
#echo('<pre>here'); print_r($this->data['delimiterPresentation']); echo('</pre>'); 
 
echo '<form style="display: inline">'; 
echo getBaseURL($this, 'post', 'd'); 
echo '<select onChange="submit();" name="d">'; 
foreach ($this->data['availdelimiters'] AS $key => $delim) { 
 
    $delimName = $delim; 
    if(array_key_exists($delim, $this->data['delimiterPresentation'])) $delimName = $this->data['delimiterPresentation'][$delim]; 
 
    if ($key == '_') { 
        echo '<option value="_">Total</option>'; 
    } elseif (isset($_REQUEST['d']) && $delim == $_REQUEST['d']) { 
        echo '<option selected="selected" value="' . htmlspecialchars($delim) . '">' . htmlspecialchars($delimName) . '</option>'; 
    } else { 
        echo '<option  value="' . htmlspecialchars($delim) . '">' . htmlspecialchars($delimName) . '</option>'; 
    } 
} 
echo '</select></form>'; 
echo '</td>'; 
 
echo '</table>'; 
 
// End report settings 
 
 
 
 
// Select time and date 
echo '<table class="selecttime" style="width: 100%; border: 1px solid #ccc; background: #eee; margin: 1px 0px; padding: 0px">'; 
echo('<tr><td style="width: 50px; padding: 0px"><img style="margin: 0px" src="../../resources/icons/crystal_project/date.32x32.png" alt="Select date and time" /></td>'); 
 
 
 
 
 
 
if (isset($this->data['available.times.prev'])) { 
 
    echo('<td style=""><a href="' . getBaseURL($this, 'get', 'time', $this->data['available.times.prev']) . '">« Previous</a></td>'); 
} else { 
    echo('<td style="color: #ccc">« Previous</td>'); 
} 
 
 
echo '<td style="text-align: right">'; 
echo '<form style="display: inline">'; 
echo getBaseURL($this, 'post', 'res'); 
// echo '<input type="hidden" name="rule" value="' . $this->data['selected.rule'] . '" />'; 
echo '<select onChange="submit();" name="res">'; 
foreach ($this->data['available.timeres'] AS $key => $timeresname) { 
    if ($key == $this->data['selected.timeres']) { 
        echo '<option selected="selected" value="' . $key . '">' . $timeresname . '</option>'; 
    } else { 
        echo '<option  value="' . $key . '">' . $timeresname . '</option>'; 
    } 
} 
echo '</select></form>'; 
echo '</td>'; 
 
 
echo '<td style="text-align: left">'; 
echo '<form style="display: inline">'; 
echo getBaseURL($this, 'post', 'time'); 
// echo '<input type="hidden" name="rule" value="' . $this->data['selected.rule'] . '" />'; 
echo '<select onChange="submit();" name="time">'; 
foreach ($this->data['available.times'] AS $key => $timedescr) { 
    if ($key == $this->data['selected.time']) { 
        echo '<option selected="selected" value="' . $key . '">' . $timedescr . '</option>'; 
    } else { 
        echo '<option  value="' . $key . '">' . $timedescr . '</option>'; 
    } 
} 
echo '</select></form>'; 
echo '</td>'; 
 
if (isset($this->data['available.times.next'])) { 
    echo('<td style="text-align: right; padding-right: 4px"><a href="' . getBaseURL($this, 'get', 'time', $this->data['available.times.next']) . '">Next »</a></td>'); 
} else { 
    echo('<td style="color: #ccc; text-align: right; padding-right: 4px">Next »</td>'); 
} 
 
 
 
 
echo '</tr></table>'; 
 
 
 
 
 
 
 
echo '<div id="tabdiv"><ul class="tabset_tabs"> 
   <li><a href="#graph">Graph</a></li> 
   <li><a href="#table">Summary table</a></li> 
   <li><a href="#debug">Time serie</a></li> 
</ul>'; 
echo ' 
 
<div id="graph" class="tabset_content">'; 
 
 
echo '<img src="' . htmlspecialchars($this->data['imgurl']) . '" />'; 
 
 
echo '<form style="display: inline">'; 
echo('<p style="text-align: right">Compare with total from this dataset '); 
echo getBaseURL($this, 'post', 'rule2'); 
echo '<select onChange="submit();" name="rule2">'; 
echo '    <option value="_">None</option>'; 
foreach ($this->data['available.rules'] AS $key => $rule) { 
    if ($key === $this->data['selected.rule2']) { 
        echo '<option selected="selected" value="' . $key . '">' . $rule['name'] . '</option>'; 
    } else { 
        echo '<option value="' . $key . '">' . $rule['name'] . '</option>'; 
    } 
} 
echo '</select></form>'; 
 
 
echo '</div>'; # end graph content. 
 
 
 
/** 
 * Handle table view - - - - - -  
 */ 
$classint = array('odd', 'even'); $i = 0; 
echo '<div id="table" class="tabset_content">'; 
 
if (isset($this->data['pieimgurl'])) { 
    echo('<img src="' . $this->data['pieimgurl'] . '" />'); 
} 
echo '<table class="tableview"><tr><th class="value">Value</th><th class="category">Data range</th>'; 
 
foreach ( $this->data['summaryDataset'] as $key => $value ) { 
    $clint = $classint[$i++ % 2]; 
     
    $keyName = $key; 
    if(array_key_exists($key, $this->data['delimiterPresentation'])) $keyName = $this->data['delimiterPresentation'][$key]; 
 
    if ($key === '_') { 
        echo '<tr class="total '  . $clint . '"><td  class="value">' . $value . '</td><td class="category">' . $keyName . '</td></tr>'; 
    } else { 
        echo '<tr class="' . $clint . '"><td  class="value">' . $value . '</td><td class="category">' . $keyName . '</td></tr>'; 
    } 
} 
 
echo '</table></div>'; 
//  - - - - - - - End table view - - - - - - -  
 
 
//  
//  echo('<pre>'); 
// print_r($this->data['results']); 
// exit; 
 
 
echo '<div id="debug" >'; 
 
#echo $this->data['selected.time']; 
#echo '<input style="width: 80%" value="' . htmlspecialchars($this->data['imgurl']) . '" />'; 
 
echo '<table class="timeseries" style="">'; 
echo('<tr><th>Time</th><th>Total</th>'); 
foreach($this->data['topdelimiters'] AS $key) { 
    $keyName = $key; 
    if(array_key_exists($key, $this->data['delimiterPresentation'])) $keyName = $this->data['delimiterPresentation'][$key]; 
     echo('<th>' . $keyName . '</th>'); 
} 
echo('</tr>'); 
 
 
$i = 0; 
foreach ($this->data['debugdata'] AS $slot => $dd) { 
    echo('<tr class="' . ((++$i % 2) == 0 ? 'odd' : 'even') . '">'); 
    echo('<td style="">' . $dd[0] . '</td>');     
    echo('<td class="datacontent">' . $dd[1] . '</td>'); 
 
    foreach($this->data['topdelimiters'] AS $key) { 
        echo('<td class="datacontent">' .  
            (array_key_exists($key, $this->data['results'][$slot]) ? $this->data['results'][$slot][$key] : ' ') .  
            '</td>'); 
    } 
    echo('</tr>'); 
} 
echo '</table>'; 
 
 
echo '</div>'; # End debug tab content 
echo('</div>'); # End tab div 
 
 
 
$this->includeAtTemplateBase('includes/footer.php'); 
 
 
 |