Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 361

Přidáno uživatelem Michal Kliment před asi 15 roky(ů)

Pridan novy kontroler login_logs pro zobrazeni poslednich prihlaseni uzivatelu

Zobrazit rozdíly:

freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php
'item number' => 'Položka č.',
'item(s) have been successfully added' => 'položka(ek) bylo úspěšně přidáno',
'language' => 'Jazyk',
'last time login' => 'Poslední čas přihlášení',
'leaving date' => 'Datum vystoupení',
'list of all confirmed works' => 'Seznam všech potvrzených prací',
'list of all invoices' => 'Seznam všech faktur',
......
'location details' => 'Detaily umístění',
'logged user' => 'Přihlášený uživatel',
'login data' => 'Přihlašovací údaje',
'login logs' => 'Logy přihlášení',
'login name' => 'Přihlašovací jméno',
'login to' => 'Přihlášení',
'login' => 'Přihlásit',
......
'network address' => 'Síťová adresa',
'network address does not match the mask' => 'Síťová adresa neodpovídá zadané masce.',
'networks' => 'Síť',
'never' => 'Nikdy',
'new device admin has been successfully saved' => 'Nový správce zařízení byl úspěšně uložen.',
'new device engineer has been successfully saved' => 'Nový technik zařízení byl úspěšně uložen.',
'new member' => 'Nový člen',
freenetis/trunk/kohana/application/models/login_log.php
parent::__construct($id);
}
/**
* @author Michal Kliment
* Returns last login of all user
* @return ORM iterator
*/
public function get_all_login_logs()
{
return self::$db->query('SELECT id, CONCAT(\'<a href="'.url_lang::base().'users/show/\',id,\'">\',name,\'</a>\') AS name, IFNULL(last_time,\''.url_lang::lang('texts.Never').'\') as last_time FROM (SELECT * FROM (SELECT u.id, CONCAT(u.name,\' \',u.surname) AS name, l.time AS last_time FROM users u
LEFT JOIN login_logs l ON u.id = l.user_id ORDER BY time DESC) AS q1 GROUP BY q1.id) AS q3 ORDER BY q3.last_time DESC');
}
}
?>
freenetis/trunk/kohana/application/controllers/login_logs.php
<?php
class Login_logs_Controller extends Controller
{
/**
* @author Michal Kliment
* Shows last time login of users
*/
public function index()
{
$login_log_model = new Login_log_Model();
$login_logs = $login_log_model->get_all_login_logs();
$total_login_logs = count($login_logs);
// create grid
$grid = new Grid(url_lang::base().'login_logs', url_lang::lang('texts.Login logs'), array(
//'separator' => '',
'use_paginator' => true,
'use_selector' => true,
'current' => 500, //current selected 'records_per_page' value
'selector_increace' => 200, // increace
'selector_min' => 200, // minimum where selector start
'selector_max_multiplier' => 10,
'uri_segment' => 'page', // pass a string as uri_segment to trigger former 'label' functionality
'total_items' => $total_login_logs, // use db count query here of course
'items_per_page' => 500, // it may be handy to set defaults for stuff like this in config/pagination.php
'style' => 'classic',
'order_by' => 'last_time',
'order_by_direction' => 'desc',
'limit_results' => 500
));
$grid->field('id')->label(url_lang::lang('texts.Id'));
$grid->field('name')->label(url_lang::lang('texts.Name'));
$grid->field('last_time')->label(url_lang::lang('texts.Last time login'));
$grid->datasource($login_logs);
$view = new View('template');
$view->header = new View('base/header');
$view->header->title = url_lang::lang('texts.Login logs');
$view->header->menu = Controller::render_menu();
$view->content = $grid;
$view->footer = new View('base/footer');
$view->render(TRUE);
}
}

Také k dispozici: Unified diff