Logs table for mobiles

This commit is contained in:
jerome 2014-04-19 15:21:36 +02:00 committed by Pepijn Over
parent e868e130b0
commit 7c87073242
15 changed files with 95 additions and 41 deletions

View File

@ -105,6 +105,7 @@ $sm_lang = array(
'status' => 'Статус',
'email' => 'Имейл',
'sms' => 'SMS',
'no_logs' => 'No logs',
),
'servers' => array(
'server' => 'Сървър',

View File

@ -105,6 +105,7 @@ $sm_lang = array(
'status' => 'Status',
'email' => 'Email',
'sms' => 'SMS',
'no_logs' => 'No logs',
),
'servers' => array(
'server' => 'Server',

View File

@ -105,6 +105,7 @@ $sm_lang = array(
'status' => 'Status',
'email' => 'Email',
'sms' => 'SMS',
'no_logs' => 'No logs',
),
'servers' => array(
'server' => 'Server',

View File

@ -105,6 +105,7 @@ $sm_lang = array(
'status' => 'Estado',
'email' => 'Email',
'sms' => 'SMS',
'no_logs' => 'No logs',
),
'servers' => array(
'server' => 'Servidores',

View File

@ -105,6 +105,7 @@ $sm_lang = array(
'status' => 'État',
'email' => 'email',
'sms' => 'SMS',
'no_logs' => 'Aucun événement',
),
'servers' => array(
'server' => 'Serveur',

View File

@ -105,6 +105,7 @@ $sm_lang = array(
'status' => 'Stato',
'email' => 'Email',
'sms' => 'SMS',
'no_logs' => 'No logs',
),
'servers' => array(
'server' => 'Server',

View File

@ -105,6 +105,7 @@ $sm_lang = array(
'status' => '상태',
'email' => 'email',
'sms' => 'sms',
'no_logs' => 'No logs',
),
'servers' => array(
'server' => '서버',

View File

@ -105,6 +105,7 @@ $sm_lang = array(
'status' => 'Status',
'email' => 'Email',
'sms' => 'SMS',
'no_logs' => 'No logs',
),
'servers' => array(
'server' => 'Server',

View File

@ -105,6 +105,7 @@ $sm_lang = array(
'status' => 'Status',
'email' => 'Email',
'sms' => 'SMS',
'no_logs' => 'No logs',
),
'servers' => array(
'server' => 'Servidor',

View File

@ -105,6 +105,7 @@ $sm_lang = array(
'status' => '状态',
'email' => '邮件',
'sms' => '短信',
'no_logs' => 'No logs',
),
'servers' => array(
'server' => '服务器',

View File

@ -194,9 +194,6 @@ abstract class AbstractController implements ControllerInterface {
// add sidebar to page?
if($this->sidebar !== null) {
$tpl_data['html_sidebar'] = $this->sidebar->createHTML();
$tpl_data['content_span'] = '10';
} else {
$tpl_data['content_span'] = '12';
}
// add footer to page?
if($this->add_footer) {

View File

@ -63,19 +63,32 @@ class LogController extends AbstractServerController {
$log_count = count($records);
for ($x = 0; $x < $log_count; $x++) {
$records[$x]['class'] = ($x & 1) ? 'odd' : 'even';
$records[$x]['users'] = '';
$records[$x]['server'] = $records[$x]['label'] . ' (' . $records[$x]['label_adv'] . ')';
$records[$x]['datetime_format'] = psm_date($records[$x]['datetime']);
$record = &$records[$x];
$record['class'] = ($x & 1) ? 'odd' : 'even';
$record['users'] = '';
$record['server'] = $record['label'];
$record['type_icon'] = ($record['server_type'] == 'website') ? 'icon-globe' : 'icon-cog';
$record['type_title'] = psm_get_lang('servers', 'type_' . $record['server_type']);
$ip = '(' . $record['ip'];
if(!empty($record['port']) && (($record['server_type'] != 'website') || ($record['port'] != 80))) {
$ip .= ':' . $record['port'];
}
$ip .= ')';
$record['ip'] = $ip;
$record['datetime_format'] = psm_date($record['datetime']);
// fix up user list
if($records[$x]['user_id'] == '') continue;
$users = explode(',', $records[$x]['user_id']);
foreach($users as $user_id) {
if((int) $user_id == 0 || !isset($users_labels[$user_id])) continue;
$records[$x]['users'] .= '<br/>'.$users_labels[$user_id];
if(!empty($record['user_id'])) {
$names = array();
$users = explode(',', $record['user_id']);
foreach($users as $user_id) {
if(isset($users_labels[$user_id])) {
$names[] = $users_labels[$user_id];
}
}
sort($names);
$record['users'] = implode('<br/>', $names);
$record['user_list'] = implode('&nbsp;&bull; ', $names);
}
}
@ -87,6 +100,7 @@ class LogController extends AbstractServerController {
array(
'logtitle' => $key,
'?has_users' => ($key == 'status') ? false : true,
'?no_logs' => ($log_count == 0) ? true : false,
)
);
$this->tpl->addTemplateData(
@ -116,11 +130,9 @@ class LogController extends AbstractServerController {
$entries = $this->db->query(
'SELECT '.
'`servers`.`label`, '.
'CONCAT_WS('.
'\':\','.
'`servers`.`ip`, '.
'`servers`.`port`'.
') AS `label_adv`, '.
'`servers`.`ip`, '.
'`servers`.`port`, '.
'`servers`.`type` AS server_type, '.
'`log`.`type`, '.
'`log`.`message`, '.
'`log`.`datetime`, '.
@ -150,6 +162,7 @@ class LogController extends AbstractServerController {
'label_message' => psm_get_lang('system', 'message'),
'label_date' => psm_get_lang('system', 'date'),
'label_users' => ucfirst(psm_get_lang('menu', 'user')),
'label_no_logs' => psm_get_lang('log', 'no_logs'),
)
);

View File

@ -107,8 +107,12 @@ class ServerController extends AbstractServerController {
if($servers[$x]['type'] == 'website') {
$servers[$x]['type_icon'] = 'icon-globe';
// add link to label
$servers[$x]['ip'] = '<a href="'.$servers[$x]['ip'].'" target="_blank">'.$servers[$x]['ip'].'</a>';
$servers[$x]['ip_short'] = $servers[$x]['ip'];
$ip = $servers[$x]['ip'];
if(!empty($servers[$x]['port']) && ($servers[$x]['port'] != 80)) {
$ip .= ' : ' . $servers[$x]['port'];
}
$servers[$x]['ip'] = '<a href="'.$servers[$x]['ip'].'" target="_blank">'.$ip.'</a>';
$servers[$x]['ip_short'] = $ip;
} else {
$servers[$x]['type_icon'] = 'icon-cog';
$servers[$x]['ip_short'] = $servers[$x]['ip'] . ' : ' . $servers[$x]['port'];

View File

@ -22,30 +22,50 @@
<!--%tpl_server_log_entries-->
<!-- {logtitle} -->
<table class="table table-bordered table-striped">
<colgroup>
<col />
<col />
<col style="width: 135px" />
<!--?has_users--><col /><!--??has_users-->
</colgroup>
<thead>
<tr>
<th>{label_server}</th>
<th>{label_message}</th>
<th>{label_date}</th>
<!--?has_users--><th>{label_users}</th><!--??has_users-->
<th class="hidden-phone">{label_server}</th>
<th class="hidden-phone">{label_message}</th>
<th class="hidden-phone">{label_date}</th>
<!--?has_users--><th class="hidden-phone">{label_users}</th><!--??has_users-->
</tr>
</thead>
<tbody>
<!--%tpl_repeat_entries-->
<tr class="{class}">
<td>{server}</td>
<td>{message}</td>
<td>{datetime_format}</td>
<!--?has_users--><td>{users}</td><!--??has_users-->
</tr>
<!--%%tpl_repeat_entries-->
{entries}
<!--%tpl_repeat_entries-->
<tr class="{class}">
<td>
<div class="table-body">
<div class="table-cell">
<div class="visible-phone pull-right">
&nbsp;{datetime_format}
</div>
<i class="{type_icon}" title="{type_title}"></i> <span class="title">{server}</span> {ip}
</div>
</div>
<div class="visible-phone">
<div class="table-separator"/></div>
<div class="table-body">
<div class="table-cell-details">{message}</div>
</div>
</div>
<!--?has_users--><div class="visible-phone">
<div class="table-separator"/></div>
<div class="table-body">
<div class="table-cell-details">{label_users}: {user_list}</div>
</div>
</div><!--??has_users-->
</td>
<td class="hidden-phone">{message}</td>
<td class="hidden-phone tight">{datetime_format}</td>
<!--?has_users--><td class="hidden-phone tight">{users}</td><!--??has_users-->
</tr>
<!--%%tpl_repeat_entries-->
{entries}
<!--?no_logs-->
<tr class="{class}">
<td colspan="4" class="cell-center">{label_no_logs}</td>
</tr>
<!--??no_logs-->
</tbody>
</table>
<!--%%tpl_server_log_entries-->

View File

@ -117,8 +117,18 @@ fieldset {
top: -2px;
}
.table-separator {
margin: 4px 0;
border-top: 1px solid #EEE;
border-bottom: 1px solid #FFF;
}
td.cell-center {
text-align: center;
}
@media (max-width: 767px) {
.table-cell-title .title {
.table-cell .title, .table-cell-title .title {
font-size: 1.1em;
font-weight: bold;
}