New access log (created during an eGroupware application development

workshop at Stylite GmbH for new developers)
This commit is contained in:
Ralf Becker 2009-04-27 10:31:23 +00:00
parent 3121bb1106
commit b52d29b7a7
11 changed files with 279 additions and 414 deletions

View File

@ -0,0 +1,144 @@
<?php
/**
* eGgroupWare admin - accesslog
*
* @link http://www.egroupware.org
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
* @package admin
* @copyright (c) 2009 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @version $Id$
*/
/**
* Show eGroupware access log
*/
class admin_accesslog
{
/**
* Which methods of this class can be called as menuation
*
* @var array
*/
public $public_functions = array(
'index' => true,
);
/**
* Our storage object
*
* @var so_sql
*/
protected $so;
/**
* Name of our table
*/
const TABLE = 'egw_access_log';
/**
* Name of app the table is registered
*/
const APP = 'phpgwapi';
/**
* Constructor
*
*/
function __construct()
{
if ($GLOBALS['egw']->acl->check('access_log_access',1,'admin'))
{
$GLOBALS['egw']->redirect_link('/index.php');
}
$this->so = new so_sql(self::APP,self::TABLE,null,'',true);
}
/**
* query rows for the nextmatch widget
*
* @param array $query with keys 'start', 'search', 'order', 'sort', 'col_filter'
* @param array &$rows returned rows/competitions
* @param array &$readonlys eg. to disable buttons based on acl, not use here, maybe in a derived class
* @return int total number of rows
*/
function get_rows($query,&$rows,&$readonlys)
{
$total = $this->so->get_rows($query,$rows,$readonlys);
foreach($rows as &$row)
{
if ($row['lo']) $row['total'] = ($row['lo'] - $row['li']) / 60;
}
$GLOBALS['egw_info']['flags']['app_header'] = lang('Admin').' - '.lang('View Access Log').
($query['col_filter']['account_id'] ? ': '.common::grab_owner_name($query['col_filter']['account_id']) : '');
return $total;
}
/**
* Display the accesslog
*
* @param array $content
*/
function index(array $content=null)
{
//_debug_array($content);
if(!isset($content))
{
$content['nm'] = array(
'get_rows' => 'admin.admin_accesslog.get_rows', // I method/callback to request the data for the rows eg. 'notes.bo.get_rows'
'no_filter' => True, // I disable the 1. filter
'no_filter2' => True, // I disable the 2. filter (params are the same as for filter)
'no_cat' => True, // I disable the cat-selectbox
'header_left' => false, // I template to show left of the range-value, left-aligned (optional)
'header_right' => false, // I template to show right of the range-value, right-aligned (optional)
'never_hide' => True, // I never hide the nextmatch-line if less then maxmatch entries
'lettersearch' => false, // I show a lettersearch
'start' => 0, // IO position in list
'order' => 'li', // IO name of the column to sort after (optional for the sortheaders)
'sort' => 'DESC', // IO direction of the sort: 'ASC' or 'DESC'
//'default_cols' => // I columns to use if there's no user or default pref (! as first char uses all but the named columns), default all columns
'csv_fields' => false, // I false=disable csv export, true or unset=enable it with auto-detected fieldnames,
//or array with name=>label or name=>array('label'=>label,'type'=>type) pairs (type is a eT widget-type)
);
if ((int)$_GET['account_id'])
{
$content['nm']['col_filter']['account_id'] = (int)$_GET['account_id'];
}
}
elseif(isset($content['nm']['rows']['delete']))
{
list($sessionid) = each($content['nm']['rows']['delete']);
unset($content['nm']['rows']['delete']);
if ($sessionid && $this->so->delete(array('sessionid' => $sessionid)))
{
$content['msg'] = lang('%1 log entries deleted.',1);
}
else
{
$content['msg'] = lang('Error deleting log entry!');
}
}
elseif(isset($content['delete']))
{
unset($content['delete']);
if (($deleted = $this->so->delete(array('sessionid' => $content['nm']['rows']['selected']))))
{
$content['msg'] = lang('%1 log entries deleted.',$deleted);
}
else
{
$content['msg'] = lang('Error deleting log entry!');
}
}
$content['percent'] = 100.0 * $GLOBALS['egw']->db->query(
'SELECT ((SELECT COUNT(*) FROM '.self::TABLE.' WHERE lo != 0) / COUNT(*)) FROM '.self::TABLE,
__LINE__,__FILE__)->fetchColumn();
$tmpl = new etemplate('admin.accesslog');
$tmpl->exec('admin.admin_accesslog.index',$content,$sel_options,$readonlys,array(
'nm' => $content['nm'],
));
}
}

View File

@ -35,11 +35,11 @@ class admin_prefs_sidebox_hooks
{
$appname = 'admin';
$location = is_array($args) ? $args['location'] : $args;
if ($GLOBALS['egw_info']['user']['apps']['admin'] && $location != 'admins')
{
if (! $GLOBALS['egw']->acl->check('site_config_access',1,'admin'))
{
$file['Site Configuration'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiconfig.index&appname=admin');
@ -80,10 +80,10 @@ class admin_prefs_sidebox_hooks
{
$file['View Sessions'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uicurrentsessions.list_sessions');
}
if (! $GLOBALS['egw']->acl->check('access_log_access',1,'admin'))
{
$file['View Access Log'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiaccess_history.list_history');
$file['View Access Log'] = egw::link('/index.php','menuaction=admin.admin_accesslog.index');
}
if (! $GLOBALS['egw']->acl->check('error_log_access',1,'admin'))
@ -121,10 +121,10 @@ class admin_prefs_sidebox_hooks
{
display_sidebox($appname,lang('Admin'),$file);
}
}
}
/**
* populates $GLOBALS['settings'] for the preferences
*/
@ -134,7 +134,7 @@ class admin_prefs_sidebox_hooks
return true; // otherwise prefs say it cant find the file ;-)
}
/**
* Check if reasonable default preferences are set and set them if not
*

View File

@ -1,85 +0,0 @@
<?php
/**************************************************************************\
* eGroupWare - Administration *
* http://www.egroupware.org *
* -------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\**************************************************************************/
/* $Id$ */
class boaccess_history
{
function boaccess_history()
{
$this->so =& CreateObject('admin.soaccess_history');
}
function list_history($account_id,$start,$order,$sort)
{
$records = $this->so->list_history($account_id,$start,$order,$sort);
while (is_array($records) && list(,$record) = each($records))
{
if ($record['li'] && $record['lo'])
{
$total = ($record['lo'] - $record['li']);
if ($total > 86400 && $total > 172800)
{
$total = gmdate('z \d\a\y\s - G:i:s',$total);
}
else if ($total > 172800)
{
$total = gmdate('z \d\a\y - G:i:s',$total);
}
else
{
$total = gmdate('G:i:s',$total);
}
}
if ($record['li'])
{
$record['li'] = $GLOBALS['egw']->common->show_date($record['li']);
}
if ($record['lo'])
{
$record['lo'] = $GLOBALS['egw']->common->show_date($record['lo']);
}
else
{
$record['lo'] = ''; // dont show a 0 for not loged out
}
if (ereg('@',$record['loginid']))
{
$t = split('@',$record['loginid']);
$record['loginid'] = $t[0];
}
$_records[] = array(
'loginid' => $record['loginid'],
'ip' => $record['ip'],
'li' => $record['li'],
'lo' => $record['lo'],
'account_id' => $record['account_id'],
'sessionid' => $record['sessionid'],
'total' => $total
);
}
return $_records;
}
function total($account_id)
{
return $this->so->total($account_id);
}
function return_logged_out($account_id)
{
return $this->so->return_logged_out($account_id);
}
}

View File

@ -1,66 +0,0 @@
<?php
/**************************************************************************\
* eGroupWare - Administration *
* http://www.egroupware.org *
* -------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\**************************************************************************/
/* $Id$ */
class soaccess_history
{
var $db;
var $table = 'egw_access_log';
function soaccess_history()
{
$this->db = clone($GLOBALS['egw']->db);
$this->db->set_app('phpgwapi');
}
function test_account_id($account_id)
{
if ($account_id)
{
return array('account_id' => $account_id);
}
return false;
}
function &list_history($account_id,$start,$order,$sort)
{
$where = $this->test_account_id($account_id);
$this->db->select($this->table,'loginid,ip,li,lo,account_id,sessionid',$where,__LINE__,__FILE__,(int) $start,'ORDER BY li DESC');
while (($row = $this->db->row(true)))
{
$records[] = $row;
}
return $records;
}
function total($account_id)
{
$where = $this->test_account_id($account_id);
$this->db->select($this->table,'COUNT(*)',$where,__LINE__,__FILE__);
return $this->db->next_record() ? $this->db->f(0) : 0;
}
function return_logged_out($account_id)
{
$where = array('lo != 0');
if ($account_id)
{
$where['account_id'] = $account_id;
}
$this->db->select($this->table,'COUNT(*)',$where,__LINE__,__FILE__);
return $this->db->next_record() ? $this->db->f(0) : 0;
}
}

View File

@ -1,138 +0,0 @@
<?php
/**************************************************************************\
* eGroupWare - Administration *
* http://www.egroupware.org *
* -------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\**************************************************************************/
/* $Id$ */
class uiaccess_history
{
var $template;
var $public_functions = array(
'list_history' => True
);
function uiaccess_history()
{
if ($GLOBALS['egw']->acl->check('access_log_access',1,'admin'))
{
$GLOBALS['egw']->redirect_link('/index.php');
}
$this->bo =& CreateObject('admin.boaccess_history');
$this->nextmatchs =& CreateObject('phpgwapi.nextmatchs');
$this->template = $GLOBALS['egw']->template;
$this->template->set_file(
Array(
'accesslog' => 'accesslog.tpl'
)
);
$this->template->set_block('accesslog','list');
$this->template->set_block('accesslog','row');
$this->template->set_block('accesslog','row_empty');
}
function list_history()
{
$account_id = get_var('account_id',array('GET','POST'));
$start = get_var('start',array('POST'),0);
$sort = get_var('sort',array('POST'),0);
$order = get_var('order',array('POST'),0);
$GLOBALS['egw_info']['flags']['app_header'] = lang('Admin').' - '.lang('View access log');
$GLOBALS['egw']->js->validate_file('jscode','openwindow','admin');
$GLOBALS['egw']->common->egw_header();
echo parse_navbar();
$total_records = $this->bo->total($account_id);
$var = Array(
'th_bg' => $GLOBALS['egw_info']['theme']['th_bg'],
'nextmatchs_left' => $this->nextmatchs->left('/index.php',$start,$total_records,'&menuaction=admin.uiaccess_history.list_history&account_id=' . $account_id),
'nextmatchs_right' => $this->nextmatchs->right('/index.php',$start,$total_records,'&menuaction=admin.uiaccess_history.list_history&account_id=' . $account_id),
'showing' => $this->nextmatchs->show_hits($total_records,$start),
'lang_loginid' => lang('LoginID'),
'lang_ip' => lang('IP'),
'lang_login' => lang('Login'),
'lang_logout' => lang('Logout'),
'lang_total' => lang('Total')
);
if ($account_id)
{
$var['link_return_to_view_account'] = '<a href="' . $GLOBALS['egw']->link('/index.php',
Array(
'menuaction' => 'admin.uiaccounts.view',
'account_id' => $account_id
)
) . '">' . lang('Return to view account') . '</a>';
$var['lang_last_x_logins'] = lang('Last %1 logins for %2',$total_records,$GLOBALS['egw']->common->grab_owner_name($account_id));
}
else
{
$var['lang_last_x_logins'] = lang('Last %1 logins',$total_records);
}
$this->template->set_var($var);
$records = $this->bo->list_history($account_id,$start,$order,$sort);
while (is_array($records) && list(,$record) = each($records))
{
$this->nextmatchs->template_alternate_row_color($this->template);
$var = array(
'row_loginid' => $record['loginid'],
'row_ip' => $record['ip'],
'row_li' => $record['li'],
'row_lo' => $record['account_id'] ? $record['lo'] : '<b>'.lang($record['sessionid']).'</b>',
'row_total' => ($record['lo']?$record['total']:'&nbsp;')
);
$this->template->set_var($var);
$this->template->fp('rows_access','row',True);
}
if (! $total_records && $account_id)
{
$this->nextmatchs->template_alternate_row_color($this->template);
$this->template->set_var('row_message',lang('No login history exists for this user'));
$this->template->fp('rows_access','row_empty',True);
}
$loggedout = $this->bo->return_logged_out($account_id);
if ($total_records)
{
$percent = round((10000 * ($loggedout / $total_records)) / 100);
}
else
{
$percent = '0';
}
$var = Array(
'bg_color' => $GLOBALS['egw_info']['themes']['bg_color'],
'footer_total' => lang('Total records') . ': ' . $total_records
);
if ($account_id)
{
$var['lang_percent'] = lang('Percent this user has logged out') . ': ' . $percent . '%';
}
else
{
$var['lang_percent'] = lang('Percent of users that logged out') . ': ' . $percent . '%';
}
// create the menu on the left, if needed
$menuClass =& CreateObject('admin.uimenuclass');
$var['rows'] = $menuClass->createHTMLCode('view_account');
$this->template->set_var($var);
$this->template->pfp('out','list');
}
}

View File

@ -810,7 +810,7 @@
$GLOBALS['menuData'][] = array(
'description' => 'Login History',
'url' => '/index.php',
'extradata' => 'menuaction=admin.uiaccess_history.list_history'
'extradata' => 'menuaction=admin.admin_accesslog.index'
);
}
// not sure if this realy belongs here, or only in edit_user

View File

@ -1,106 +0,0 @@
<?php
/**************************************************************************\
* eGroupWare *
* http://www.egroupware.org *
* Written by Pim Snel <pim@lingewoud.nl> *
* -------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\**************************************************************************/
/* $Id$ */
{
/*
This hookfile is for generating an app-specific side menu used in the idots
template set.
$menu_title speaks for itself
$file is the array with link to app functions
display_sidebox can be called as much as you like
*/
$menu_title = $GLOBALS['egw_info']['apps'][$appname]['title'] . ' '. lang('Menu');
$file = array();
if (! $GLOBALS['egw']->acl->check('site_config_access',1,'admin'))
{
$file['Site Configuration'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiconfig.index&appname=admin');
}
/*
if (! $GLOBALS['egw']->acl->check('peer_server_access',1,'admin'))
{
$file['Peer Servers'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiserver.list_servers');
}
*/
if (! $GLOBALS['egw']->acl->check('account_access',1,'admin'))
{
$file['User Accounts'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiaccounts.list_users');
}
if (! $GLOBALS['egw']->acl->check('group_access',1,'admin'))
{
$file['User Groups'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiaccounts.list_groups');
}
if (! $GLOBALS['egw']->acl->check('applications_access',1,'admin'))
{
$file['Applications'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiapplications.get_list');
}
if (! $GLOBALS['egw']->acl->check('global_categories_access',1,'admin'))
{
$file['Global Categories'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uicategories.index');
}
if (!$GLOBALS['egw']->acl->check('mainscreen_message_access',1,'admin') || !$GLOBALS['egw']->acl->check('mainscreen_message_access',2,'admin'))
{
$file['Change Main Screen Message'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uimainscreen.index');
}
if (! $GLOBALS['egw']->acl->check('current_sessions_access',1,'admin'))
{
$file['View Sessions'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uicurrentsessions.list_sessions');
}
if (! $GLOBALS['egw']->acl->check('access_log_access',1,'admin'))
{
$file['View Access Log'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiaccess_history.list_history');
}
if (! $GLOBALS['egw']->acl->check('error_log_access',1,'admin'))
{
$file['View Error Log'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uilog.list_log');
}
if (! $GLOBALS['egw']->acl->check('applications_access',16,'admin'))
{
$file['Find and Register all Application Hooks'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiapplications.register_all_hooks');
}
if (! $GLOBALS['egw']->acl->check('asyncservice_access',1,'admin'))
{
$file['Asynchronous timed services'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiasyncservice.index');
}
if (! $GLOBALS['egw']->acl->check('db_backup_access',1,'admin'))
{
$file['DB backup and restore'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.admin_db_backup.index');
}
if (! $GLOBALS['egw']->acl->check('info_access',1,'admin'))
{
$file['phpInfo'] = "javascript:openwindow('" . $GLOBALS['egw']->link('/admin/phpinfo.php') . "')";
}
if($GLOBALS['egw_info']['flags']['currentapp'] =='admin')
{
$menu_title = 'Administration';
$file = array();
display_sidebox($appname,$menu_title,$file);
}
}

View File

@ -4,6 +4,7 @@
%1 class not instanciated admin de %1 Klasse nicht instanziert
%1 group %2 admin de %1 Gruppe %2
%1 is no command! admin de %1 ist kein Kommando!
%1 log entries deleted. admin de %1 Protokolleinträge gelöscht.
%1 not found or not executable !!! admin de %1 nicht gefunden oder nicht ausführbar!!!
%1 rights for %2 and applications %3 admin de %1 Rechte für %2 und Anwendung(en) %3
%1 user %2 admin de %1 Benutzer %2
@ -29,13 +30,14 @@ activate wysiwyg-editor admin de WYSIWYG Editor (formatierter Text) aktivieren
add a category admin de Eine Kategorie hinzufügen
add a group admin de Eine Gruppe hinzufügen
add a new account. admin de Neues Benutzerkonto anlegen
add a new remote instance admin de Eine neue entfernte Instanz hinzufügen
add a subcategory admin de Ein Unterkategorie hizufügen
add a user admin de Einen Benutzer hinzufügen
add account admin de Benutzerkonto hinzufügen
add application admin de Anwendung hinzufügen
add auto-created users to this group ('default' will be attempted if this is empty.) admin de Automatisch erzeuge Benutzer in diese Gruppe aufnehmen ("default" wird versucht wenn sie hier nichts eintragen.)
add global category admin de Globale Kategorie hinzuf&uuml;gen
add global category for %1 admin de Globale Kategorie f&uuml;r %1 hinzuf&uuml;gen
add global category admin de Globale Kategorie hinzufügen
add global category for %1 admin de Globale Kategorie für %1 hinzufügen
add group admin de Gruppe hinzufügen
add new account admin de Neues Benutzerkonto hinzufügen
add new application admin de Neue Anwendung hinzufügen
@ -51,7 +53,7 @@ advanced options admin de erweiterte Optionen
after how many unsuccessful attempts to login, an account should be blocked (default 3) ? admin de Nach wievielen erfolglosen Versuchen sich anzumelden, soll ein Benutzerkonto gesperrt werden (Vorgabe 3)?
after how many unsuccessful attempts to login, an ip should be blocked (default 3) ? admin de Nach wievielen erfolglosen Versuchen sich anzumelden soll eine IP-Adresse gesperrt werden (Vorgabe 3)?
aliases admin de E-Mail-Alias
all records and account information will be lost! admin de Alle Datens&auml;tze und Kontoinformationen sind dann verloren!
all records and account information will be lost! admin de Alle Datensätze und Kontoinformationen sind dann verloren!
all users admin de Alle Benutzer
allow anonymous access to this app admin de Anonymen Zugriff auf diese Anwendung zulassen
allow remote administration from following install id's (comma separated) admin de Erlaube die Remote-Verwaltung identifiziert durch folgende (Komma separierte) Install IDs
@ -69,6 +71,7 @@ applications admin de Anwendungen
applications list admin de Liste der Anwendungen
applications run rights updated. admin de Anwendungsrechte aktualisiert.
applies the changes admin de übernimmt Änderungen
apply the changes admin de Änderungen übernehmen
are you sure you want to delete the application %1 ? admin de Sind Sie sicher, dass Sie die Anwendung %1 löschen wollen?
are you sure you want to delete this account ? admin de Sind Sie sicher, dass Sie dieses Konto löschen wollen?
are you sure you want to delete this application ? admin de Sind Sie sicher, dass Sie diese Applikation löschen möchten?
@ -94,6 +97,7 @@ bottom admin de unten
calculate next run admin de nächste Ausführung berechnen
can change password admin de Darf Passwort ändern
cancel testjob! admin de Testjob abbrechen!
cancel this scheduled command admin de Dieses geplante Komando abbrechen
categories list admin de Liste der Kategorien
category %1 has been saved ! admin de Kategorie %1 wurde gespeichert
category list admin de Kategorieliste
@ -135,10 +139,12 @@ delete application admin de Anwendung löschen
delete category admin de Kategorie löschen
delete group admin de Gruppe löschen
delete peer server admin de Server von Serververbund löschen
delete selected entries admin de Ausgewählte Einträge löschen
delete the category admin de Kategorie löschen
delete the group admin de Gruppe löschen
delete this category admin de Kategorie löschen
delete this group admin de Gruppe löschen
delete this log entry admin de Diesen Protokolleintrag löschen
delete this user admin de Benutzer löschen
deletes this field admin de löscht dieses Feld
deliver extern admin de Extern ausliefern
@ -164,7 +170,7 @@ disable wysiwyg-editor admin de WYSIWYG Editor (formatierter Text) abschalten
disabled (not recomended) admin de abgeschaltet (nicht empfohlen)
display admin de Anzeigen
do not delete the category and return back to the list admin de Kategorie NICHT löschen und zurück zur Liste gehen
do you also want to delete all global subcategories ? admin de wollen Sie auch alle globalen Unterkategorien l&ouml;schen?
do you also want to delete all global subcategories ? admin de wollen Sie auch alle globalen Unterkategorien löschen?
do you want to delete all global subcategories ? admin de Möchten Sie alle Globale Unterkategorien löschen?
do you want to move all global subcategories one level down ? admin de Wollen sie alle globalen Unterkategorien eine Ebene nach unten verschieben?
document root (default) admin de Wurzelverzeichnis des Webservers (Vorgabe)
@ -222,6 +228,7 @@ enter your smtp server port admin de SMTP-Server Port
error canceling timer, maybe there's none set !!! admin de Fehler beim Abbrechen des Testjobs, eventuell läuft gar keiner!!!
error changing the password for % !!! admin de Fehler beim Ändern des Passworts für % !!!
error changing the password for %1 !!! admin de Fehler beim Ändern des Passworts für %1 !
error deleting log entry! admin de Fehler beim Löschen des Protokolleintrags!
error saving admin de Fehler beim Speichern
error saving account! admin de Fehler beim Speichern des Benutzerkontos!
error saving the command! admin de Fehler beim Speichern des Befehls!
@ -269,8 +276,10 @@ in mbyte admin de in MByte
inbound admin de eingehend
initial admin de Anfangsbuchstabe
install crontab admin de Crontab installieren
install id admin de Installations ID
installed applications common de Installierte Anwendungen
installed crontab admin de Installierte Crontab
instance admin de Instanz
interface admin de Schnittstelle
invalid formated date "%1"! admin de Ungültig formatiertes Datum "%1"!
invalid remote id or name "%1"! admin de Ungültige RemoteID oder Name "%1"!
@ -295,17 +304,19 @@ ldap rootdn admin de LDAP rootdn
leave empty for no quota admin de Leer lassen für keine Quota
leave the category untouched and return back to the list admin de Kategorie unverändert lassen und zur Liste zurückkehren
leave the group untouched and return back to the list admin de Gruppe unverändert lassen und zur Liste zurückkehren
leave without saveing the entry admin de beendet ohne den Eintrag zu speichern
leaves without saveing admin de beendet ohne zu speichern
length<br>rows admin de Länge<br>Zeilen
list config settings admin de Konfigurationseinstellungen auflisten
list current sessions admin de aktive Sitzungen anzeigen
list of current users admin de Liste der gegenwärtigen Benutzer
login history common de Login-Kontrolle
login history admin de Login-Kontrolle
login message admin de Meldung der Login-Seite
login screen admin de Login-Seite
login shell admin de Login-Komandointerpreter (Login-Shell)
login time admin de Login-Zeit
loginid admin de Login-ID
logintime admin de Anmeldezeit
logoutime admin de Abmeldezeit
mail settings admin de E-Mail-Einstellungen
main email-address admin de Stamm-E-Mail-Adresse
main screen message admin de Nachricht der Startseite
@ -322,6 +333,7 @@ modified admin de Geändert
month admin de Monat
more secure admin de sicherer
name must not be empty !!! admin de Name darf nicht leer sein !!!
name of the egroupware instance, eg. default admin de Name der eGroupware Instanz, z.B. default
new group name admin de Neuer Gruppenname
new name admin de neuer Name
new password [ leave blank for no change ] admin de Neues Passwort [ Feld leerlassen, wenn das Passwort nicht geändert werden soll ]
@ -372,6 +384,7 @@ remote instance saved admin de Remote Instanz gespeichert
remove admin de Entfernen
remove all users from this group admin de Entferne alle Benutzer aus dieser Gruppe
remove all users from this group ? admin de Entferne alle Benutzer aus dieser Gruppe
requested admin de Angefordert
return to admin mainscreen admin de zum Adminstrationsmenü zurückkehren
return to view account admin de Zurück zum Anzeigen des Benutzerkontos
route all mails to admin de Alle Mails senden an
@ -379,11 +392,14 @@ run asynchronous services admin de Asynchrone Dienste ausführen
save the category admin de Kategorie speichern
save the category and return back to the list admin de Kategorie speichern und zur Liste zurückkehren
saves the changes made and leaves admin de beendet und speichert die Änderungen
saves this entry admin de Speichert diesen Eintrag
scheduled admin de geplant
search accounts admin de Benutzerkonten durchsuchen
search categories admin de Kategorien durchsuchen
search groups admin de Gruppen durchsuchen
search peer servers admin de Serververbund durchsuchen
security admin de Sicherheit
select accounts for which the custom field should be visible admin de Benutzer auswählen, für die dieses benutzerdefinierte Feld sichtbar sein soll
select group managers admin de Gruppenmanager auswählen
select permissions this group will have admin de Wählen Sie die Zugriffsrechte für diese Gruppe.
select the parent category. if this is a main category select no category admin de Eine übergeordnete Kategorie auswählen. Wenn das eine Hauptkategorie ist, KEINE KATEGORIE auswählen.
@ -434,6 +450,7 @@ that server name has been used already ! admin de Dieser Server-Name wird bereit
the api is current admin de Die API ist aktuell
the api requires an upgrade admin de Die API benötigt ein Upgrade
the groups must include the primary group admin de Die Gruppen müssen die primäre Gruppe beinhalten
the install id of an instance can be found under admin > site configuration admin de Id Installations ID für diese Instanz wird unter Addmin >> Konfiguration der Anwendung angezeigt
the login and password can not be the same admin de Benutzername und Passwort dürfen nicht identisch sein
the loginid can not be more then 8 characters admin de Der Benutzername darf nich länger als 8 Zeichen sein
the name used internaly (<= 20 chars), changeing it makes existing data unavailible admin de intern benutzer Name (<= 20 buchstaben), veränderungen machen existierende Daten unerreichbar
@ -445,7 +462,7 @@ there already is a group with this name. userid's can not have the same name as
they must be removed before you can continue admin de Sie müssen zuvor aus dieser entfernt werden
this application is current admin de Diese Anwendung ist aktuell
this application requires an upgrade admin de Diese Anwednung benötigt ein Upgrade
this category is currently being used by applications as a parent category admin de Diese Kategorie wird gegenw&auml;rtig als &uuml;bergeordnete Kategorie benutzt.
this category is currently being used by applications as a parent category admin de Diese Kategorie wird gegenwärtig als übergeordnete Kategorie benutzt.
timeout for application session data in seconds (default 86400 = 1 day) admin de Zeit nach der Anwendungsdaten der Sitzung gelöscht werden in Sekunden (Vorgabe 86400 = 1 Tag)
timeout for sessions in seconds (default 14400 = 4 hours) admin de Zeit nach der Sitzungen verfallen (Vorgabe 14400 = 4 Stunden)
times admin de Zeiten
@ -462,6 +479,7 @@ unknown account: %1 !!! admin de Unbekanntes Benutzerkonto: %1 !!!
unknown command %1! admin de Unbekanntes Kommando %1 !
unknown option %1 admin de Unbekannte Option %1
updated admin de aktualisiert
url of the egroupware installation, eg. http://domain.com/egroupware admin de URL der eGroupware Installation, z.B. http://domain.com/egroupware
use cookies to pass sessionid admin de SitzungsId in einem Cookie speichern
use pure html compliant code (not fully working yet) admin de Vollständig HTML kompatiblen Code verwenden (nicht vollständig implementiert)
use theme admin de Benutztes Farbschema

View File

@ -4,6 +4,7 @@
%1 class not instanciated admin en %1 class not instanciated
%1 group %2 admin en %1 group %2
%1 is no command! admin en %1 is no command!
%1 log entries deleted. admin en %1 log entries deleted.
%1 not found or not executable !!! admin en %1 not found or not executable !!!
%1 rights for %2 and applications %3 admin en %1 rights for %2 and applications %3
%1 user %2 admin en %1 user %2
@ -29,6 +30,7 @@ activate wysiwyg-editor admin en activate WYSIWYG-editor
add a category admin en add a category
add a group admin en add a group
add a new account. admin en Add a new account.
add a new remote instance admin en Add a new remote instance
add a subcategory admin en add a subcategory
add a user admin en add a user
add account admin en Add account
@ -69,6 +71,7 @@ applications admin en Applications
applications list admin en Applications list
applications run rights updated. admin en Applications run rights updated.
applies the changes admin en applies the changes
apply the changes admin en Apply the changes
are you sure you want to delete the application %1 ? admin en Are you sure you want to delete the application %1 ?
are you sure you want to delete this account ? admin en Are you sure you want to delete this account ?
are you sure you want to delete this application ? admin en Are you sure you want to delete this application ?
@ -94,6 +97,7 @@ bottom admin en bottom
calculate next run admin en Calculate next run
can change password admin en Can change password
cancel testjob! admin en Cancel TestJob!
cancel this scheduled command admin en Cancel this scheduled command
categories list admin en Categories list
category %1 has been saved ! admin en Category %1 has been saved !
category list admin en Category list
@ -135,10 +139,12 @@ delete application admin en Delete application
delete category admin en Delete category
delete group admin en Delete group
delete peer server admin en Delete peer server
delete selected entries admin en Delete selected entries
delete the category admin en delete the category
delete the group admin en delete the group
delete this category admin en delete this category
delete this group admin en delete this group
delete this log entry admin en Delete this log entry
delete this user admin en delete this user
deletes this field admin en deletes this field
deliver extern admin en deliver extern
@ -220,6 +226,7 @@ enter your smtp server port admin en Enter your SMTP server port
error canceling timer, maybe there's none set !!! admin en Error canceling timer, maybe there's none set !!!
error changing the password for % !!! admin en Error changing the password for % !!!
error changing the password for %1 !!! admin en Error changing the password for %1 !!!
error deleting log entry! admin en Error deleting log entry!
error saving admin en Error saving
error saving account! admin en Error saving account!
error saving the command! admin en Error saving the command!
@ -267,8 +274,10 @@ in mbyte admin en in MByte
inbound admin en inbound
initial admin en Initial
install crontab admin en Install crontab
install id admin en Install ID
installed applications common en Installed applications
installed crontab admin en Installed crontab
instance admin en Instance
interface admin en Interface
invalid formated date "%1"! admin en Invalid formated date "%1"!
invalid remote id or name "%1"! admin en Invalid remote id or name "%1"!
@ -293,17 +302,19 @@ ldap rootdn admin en LDAP rootdn
leave empty for no quota admin en leave empty for no quota
leave the category untouched and return back to the list admin en leave the category untouched and return back to the list
leave the group untouched and return back to the list admin en Leave the group untouched and return back to the list
leave without saveing the entry admin en leave without saveing the entry
leaves without saveing admin en leaves without saveing
length<br>rows admin en Length<br>Rows
list config settings admin en List config settings
list current sessions admin en List current sessions
list of current users admin en list of current users
login history common en Login History
login history admin en Login History
login message admin en Login message
login screen admin en Login screen
login shell admin en Login shell
login time admin en Login Time
loginid admin en LoginID
logintime admin en Logintime
logoutime admin en Logoutime
mail settings admin en Mail settings
main email-address admin en Main Email-Address
main screen message admin en Main screen message
@ -320,6 +331,7 @@ modified admin en Modified
month admin en Month
more secure admin en more secure
name must not be empty !!! admin en Name must not be empty !!!
name of the egroupware instance, eg. default admin en Name of the eGroupWare instance, eg. default
new group name admin en New group name
new name admin en new name
new password [ leave blank for no change ] admin en New password [ Leave blank for no change ]
@ -370,6 +382,7 @@ remote instance saved admin en Remote instance saved
remove admin en remove
remove all users from this group admin en Remove all users from this group
remove all users from this group ? admin en Remove all users from this group ?
requested admin en Requested
return to admin mainscreen admin en return to admin mainscreen
return to view account admin en Return to view account
route all mails to admin en Route all Mails to
@ -377,11 +390,14 @@ run asynchronous services admin en Run Asynchronous services
save the category admin en save the category
save the category and return back to the list admin en save the category and return back to the list
saves the changes made and leaves admin en saves the changes made and leaves
saves this entry admin en Saves this entry
scheduled admin en Scheduled
search accounts admin en Search accounts
search categories admin en Search categories
search groups admin en Search groups
search peer servers admin en Search peer servers
security admin en Security
select accounts for which the custom field should be visible admin en Select accounts for which the custom field should be visible
select group managers admin en Select Group Managers
select permissions this group will have admin en Select permissions this group will have
select the parent category. if this is a main category select no category admin en Select the parent category. If this is a main category select NO CATEGORY
@ -432,6 +448,7 @@ that server name has been used already ! admin en That server name has been used
the api is current admin en The API is current
the api requires an upgrade admin en The API requires an upgrade
the groups must include the primary group admin en The groups must include the primary group
the install id of an instance can be found under admin > site configuration admin en The install ID of an instance can be found under Admin > Site configuration
the login and password can not be the same admin en The login and password can not be the same
the loginid can not be more then 8 characters admin en The loginid can not be more then 8 characters
the name used internaly (<= 20 chars), changeing it makes existing data unavailible admin en the name used internaly (<= 20 chars), changeing it makes existing data unavailible
@ -460,6 +477,7 @@ unknown account: %1 !!! admin en Unknown account: %1 !!!
unknown command %1! admin en Unknown command %1!
unknown option %1 admin en Unknown option %1
updated admin en updated
url of the egroupware installation, eg. http://domain.com/egroupware admin en URL of the eGroupWare installation, eg. http://domain.com/egroupware
use cookies to pass sessionid admin en Use cookies to pass sessionid
use pure html compliant code (not fully working yet) admin en Use pure HTML compliant code (not fully working yet)
use theme admin en Use theme

View File

@ -1,8 +1,8 @@
<?php
/**
* eGroupWare - eTemplates for Application admin
* http://www.egroupware.org
* generated by soetemplate::dump4setup() 2008-06-11 09:00
* http://www.egroupware.org
* generated by soetemplate::dump4setup() 2009-04-27 12:29
*
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package admin
@ -14,8 +14,12 @@ $templ_version=1;
$templ_data[] = array('name' => 'admin.accesslog','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:9:"nextmatch";s:4:"size";s:24:"admin.accesslog.get_rows";s:4:"name";s:2:"nm";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1164479537',);
$templ_data[] = array('name' => 'admin.accesslog','template' => '','lang' => '','group' => '0','version' => '1.7.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:1:{s:2:"h1";s:6:",!@msg";}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:5:"align";s:6:"center";s:4:"name";s:3:"msg";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:4:{s:4:"type";s:9:"nextmatch";s:4:"size";s:4:"rows";s:4:"name";s:2:"nm";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:3;a:2:{s:1:"A";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:5:"label";s:5:"label";s:32:"Percent of users that logged out";s:8:"readonly";s:1:"1";}i:2;a:5:{s:4:"type";s:5:"float";s:4:"name";s:7:"percent";s:4:"size";s:4:",,,1";s:5:"label";s:6:": %s %";s:8:"readonly";s:1:"1";}}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:5:"right";i:1;a:6:{s:4:"type";s:6:"button";s:4:"name";s:6:"delete";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:4:"help";s:23:"Delete selected entries";s:7:"onclick";s:46:"return confirm(\'Delete the selected entries\');";}i:2;a:4:{s:4:"type";s:10:"buttononly";s:4:"size";s:9:"arrow_ltr";s:7:"onclick";s:71:"toggle_all(this.form,form::name(\'nm[rows][selected][]\')); return false;";s:4:"span";s:15:",selectAllArrow";}}}}s:4:"rows";i:3;s:4:"cols";i:2;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '.selectAllArrow { padding-right: 12px; }','modified' => '1240661952',);
$templ_data[] = array('name' => 'admin.accesslog.get_rows','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";}i:1;a:4:{s:1:"A";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:7:"LoginID";s:4:"name";s:7:"loginid";}s:1:"B";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:2:"IP";s:4:"name";s:2:"ip";}s:1:"C";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:9:"Logintime";s:4:"name";s:2:"li";}s:1:"D";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:9:"Logoutime";s:4:"name";s:2:"lo";}}i:2;a:4:{s:1:"A";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:15:"${row}[loginid]";s:8:"readonly";s:1:"1";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:4:"name";s:10:"${row}[ip]";s:7:"no_lang";s:1:"1";}s:1:"C";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:10:"${row}[li]";s:8:"readonly";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:10:"${row}[lo]";s:8:"readonly";s:1:"1";}}}s:4:"rows";i:2;s:4:"cols";i:4;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1164479930',);
$templ_data[] = array('name' => 'admin.accesslog.rows','template' => '','lang' => '','group' => '0','version' => '1.7.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";s:1:"F";s:2:"1%";}i:1;a:6:{s:1:"A";a:3:{s:4:"type";s:23:"nextmatch-accountfilter";s:4:"size";s:7:"LoginID";s:4:"name";s:10:"account_id";}s:1:"B";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:2:"IP";s:4:"name";s:2:"ip";}s:1:"C";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Login";s:4:"name";s:2:"li";}s:1:"D";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:6:"Logout";s:4:"name";s:2:"lo";}s:1:"E";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:5:"Total";s:4:"name";s:5:"total";}s:1:"F";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";}i:2;a:4:{s:4:"type";s:10:"buttononly";s:4:"size";s:5:"check";s:5:"label";s:10:"Select all";s:7:"onclick";s:61:"toggle_all(this.form,form::name(\'selected[]\')); return false;";}}}i:2;a:6:{s:1:"A";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:18:"${row}[account_id]";s:8:"readonly";s:1:"1";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:4:"name";s:10:"${row}[ip]";}s:1:"C";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:10:"${row}[li]";s:8:"readonly";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:10:"${row}[lo]";s:8:"readonly";s:1:"1";}s:1:"E";a:4:{s:4:"type";s:13:"date-duration";s:4:"name";s:13:"${row}[total]";s:8:"readonly";s:1:"1";s:4:"size";s:6:",hm,24";}s:1:"F";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:6:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:4:"name";s:28:"delete[$row_cont[sessionid]]";s:4:"help";s:21:"Delete this log entry";s:7:"onclick";s:40:"return confirm(\'Delete this log entry\');";}i:2;a:3:{s:4:"type";s:8:"checkbox";s:4:"size";s:20:"$row_cont[sessionid]";s:4:"name";s:10:"selected[]";}s:5:"align";s:6:"center";}}}s:4:"rows";i:2;s:4:"cols";i:6;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1240658367',);
$templ_data[] = array('name' => 'admin.cmds','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:9:"nextmatch";s:4:"size";s:15:"admin.cmds.rows";s:4:"name";s:2:"nm";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1195518120',);
$templ_data[] = array('name' => 'admin.cmds.rows','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";s:2:"h2";s:4:",!@1";}i:1;a:10:{s:1:"A";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:5:"Title";s:4:"name";s:5:"title";}s:1:"B";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:9:"Requested";s:4:"name";s:9:"requested";}s:1:"C";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:9:"Scheduled";s:4:"name";s:13:"cmd_scheduled";}s:1:"D";a:3:{s:4:"type";s:22:"nextmatch-filterheader";s:4:"size";s:6:"Remote";s:4:"name";s:9:"remote_id";}s:1:"E";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:7:"Created";s:4:"name";s:11:"cmd_created";}s:1:"F";a:3:{s:4:"type";s:23:"nextmatch-accountfilter";s:4:"name";s:7:"creator";s:4:"size";s:7:"Creator";}s:1:"G";a:3:{s:4:"type";s:22:"nextmatch-filterheader";s:4:"name";s:6:"status";s:4:"size";s:6:"Status";}s:1:"H";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Modified";s:4:"name";s:12:"cmd_modified";}s:1:"I";a:3:{s:4:"type";s:23:"nextmatch-accountfilter";s:4:"size";s:8:"Modifier";s:4:"name";s:8:"modifier";}s:1:"J";a:1:{s:4:"type";s:5:"label";}}i:2;a:10:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[title]";}s:1:"B";a:4:{s:4:"type";s:9:"url-email";s:4:"name";s:17:"${row}[requested]";s:4:"size";s:29:",,,$row_cont[requested_email]";s:8:"readonly";s:1:"1";}s:1:"C";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:17:"${row}[scheduled]";s:8:"readonly";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:6:"select";s:4:"name";s:17:"${row}[remote_id]";s:8:"readonly";s:1:"1";}s:1:"E";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:15:"${row}[created]";s:8:"readonly";s:1:"1";}s:1:"F";a:4:{s:4:"type";s:9:"url-email";s:4:"name";s:15:"${row}[creator]";s:4:"size";s:27:",,,$row_cont[creator_email]";s:8:"readonly";s:1:"1";}s:1:"G";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:6:"select";s:4:"name";s:14:"${row}[status]";s:8:"readonly";s:1:"1";}i:2;a:3:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[error]";s:4:"span";s:10:",redItalic";}}s:1:"H";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:16:"${row}[modified]";s:8:"readonly";s:1:"1";}s:1:"I";a:4:{s:4:"type";s:9:"url-email";s:4:"name";s:16:"${row}[modifier]";s:8:"readonly";s:1:"1";s:4:"size";s:28:",,,$row_cont[modifier_email]";}s:1:"J";a:6:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:6:"Cancel";s:4:"name";s:21:"delete[$row_cont[id]]";s:4:"help";s:29:"Cancel this scheduled command";s:7:"onclick";s:48:"return confirm(\'Cancel this scheduled command\');";}}}s:4:"rows";i:2;s:4:"cols";i:10;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1195518170',);
@ -25,6 +29,10 @@ $templ_data[] = array('name' => 'admin.customfields','template' => '','lang' =>
$templ_data[] = array('name' => 'admin.customfields','template' => '','lang' => '','group' => '0','version' => '1.2','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:1:{s:1:"G";s:3:"80%";}i:1;a:7:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:9:"error_msg";s:5:"align";s:6:"center";s:7:"no_lang";s:1:"1";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";}}i:2;a:7:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:13:"content_types";s:4:"span";s:3:"all";s:4:"name";s:24:"admin.customfields.types";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}s:1:"G";a:1:{s:4:"type";s:5:"label";}}i:3;a:7:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}s:1:"G";a:1:{s:4:"type";s:5:"label";}}i:4;a:7:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:6:"fields";s:4:"span";s:3:"all";s:4:"name";s:25:"admin.customfields.fields";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}s:1:"G";a:1:{s:4:"type";s:5:"label";}}i:5;a:7:{s:1:"A";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:4:"span";s:3:"all";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:12:"button[save]";s:4:"help";s:33:"saves the changes made and leaves";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:5:"Apply";s:4:"name";s:13:"button[apply]";s:4:"help";s:19:"applies the changes";}i:3;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:14:"button[cancel]";s:4:"help";s:22:"leaves without saveing";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}s:1:"G";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:5;s:4:"cols";i:7;}}','size' => '','style' => '.redItalic { color: red; font-style: italics; }','modified' => '1131453292',);
$templ_data[] = array('name' => 'admin.customfields.fields','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";s:1:"C";s:8:",!@type2";}i:1;a:8:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:3:"Typ";}s:1:"D";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";s:4:"help";s:19:"Type of customfield";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Options";s:4:"help";s:40:"each value is a line like <id>[=<label>]";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Length<br>Rows";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Order";}s:1:"H";a:4:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";s:4:"help";s:18:"deletes this field";}}i:2;a:8:{s:1:"A";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"20,32";s:4:"name";s:12:"${row}[name]";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:4:",255";s:4:"name";s:13:"${row}[label]";s:4:"help";s:30:"the text displayed to the user";}i:2;a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[label]";}}s:1:"C";a:3:{s:4:"type";s:6:"select";s:4:"size";s:3:"All";s:4:"name";s:13:"${row}[type2]";}s:1:"D";a:3:{s:4:"type";s:6:"select";s:4:"name";s:12:"{$row}[type]";s:7:"no_lang";s:1:"1";}s:1:"E";a:4:{s:4:"type";s:8:"textarea";s:4:"size";s:4:"2,30";s:4:"name";s:14:"${row}[values]";s:4:"help";s:40:"each value is a line like <id>[=<label>]";}s:1:"F";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:1:"5";s:4:"name";s:11:"${row}[len]";s:4:"help";s:63:"max length of the input [, length of the inputfield (optional)]";}i:2;a:5:{s:4:"type";s:3:"int";s:4:"size";s:6:"0,10,2";s:4:"name";s:12:"${row}[rows]";s:4:"help";s:70:"number of row for a multiline inputfield or line of a multi-select-box";s:4:"blur";s:1:"1";}}s:1:"G";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:13:"${row}[order]";s:4:"help";s:45:"determines the order the fields are displayed";}s:1:"H";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:23:"delete[$row_cont[name]]";s:4:"help";s:18:"deletes this field";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:21:"create$row_cont[name]";s:4:"help";s:19:"creates a new field";}}}}s:4:"rows";i:2;s:4:"cols";i:8;s:7:"options";a:0:{}}}','size' => '','style' => '','modified' => '1130250309',);
$templ_data[] = array('name' => 'admin.customfields.fields','template' => '','lang' => '','group' => '0','version' => '1.2','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";s:1:"C";s:8:",!@type2";}i:1;a:8:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Subtype";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Options";s:4:"help";s:40:"each value is a line like <id>[=<label>]";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Length<br>Rows";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Order";}s:1:"H";a:4:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";s:4:"help";s:18:"deletes this field";}}i:2;a:8:{s:1:"A";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"20,32";s:4:"name";s:12:"${row}[name]";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:4:",255";s:4:"name";s:13:"${row}[label]";s:4:"help";s:30:"the text displayed to the user";}i:2;a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[label]";}}s:1:"C";a:4:{s:4:"type";s:6:"select";s:4:"size";s:3:"All";s:4:"name";s:13:"${row}[type2]";s:7:"no_lang";s:1:"1";}s:1:"D";a:4:{s:4:"type";s:6:"select";s:4:"name";s:12:"{$row}[type]";s:4:"help";s:19:"Type of customfield";s:7:"no_lang";s:1:"1";}s:1:"E";a:4:{s:4:"type";s:8:"textarea";s:4:"size";s:4:"2,30";s:4:"name";s:14:"${row}[values]";s:4:"help";s:36:"each value is a line like id[=label]";}s:1:"F";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:1:"5";s:4:"name";s:11:"${row}[len]";s:4:"help";s:63:"max length of the input [, length of the inputfield (optional)]";}i:2;a:5:{s:4:"type";s:3:"int";s:4:"size";s:6:"0,10,2";s:4:"name";s:12:"${row}[rows]";s:4:"help";s:70:"number of row for a multiline inputfield or line of a multi-select-box";s:4:"blur";s:1:"1";}}s:1:"G";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:13:"${row}[order]";s:4:"help";s:45:"determines the order the fields are displayed";}s:1:"H";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:23:"delete[$row_cont[name]]";s:4:"help";s:18:"deletes this field";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:21:"create$row_cont[name]";s:4:"help";s:19:"creates a new field";}}}}s:4:"rows";i:2;s:4:"cols";i:8;s:7:"options";a:0:{}}}','size' => '','style' => '','modified' => '1131454776',);
$templ_data[] = array('name' => 'admin.customfields.fields','template' => '','lang' => '','group' => '0','version' => '1.4.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";s:1:"C";s:8:",!@type2";}i:1;a:8:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Subtype";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"E";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Options";s:4:"help";s:40:"each value is a line like <id>[=<label>]";}s:1:"F";a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Length<br>Rows";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Order";}s:1:"H";a:4:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";s:4:"help";s:18:"deletes this field";}}i:2;a:8:{s:1:"A";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"20,32";s:4:"name";s:12:"${row}[name]";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:4:",255";s:4:"name";s:13:"${row}[label]";s:4:"help";s:30:"the text displayed to the user";}i:2;a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[label]";}}s:1:"C";a:4:{s:4:"type";s:6:"select";s:4:"size";s:3:"All";s:4:"name";s:13:"${row}[type2]";s:7:"no_lang";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:18:"customfields-types";s:4:"name";s:12:"{$row}[type]";s:4:"help";s:19:"Type of customfield";}s:1:"E";a:4:{s:4:"type";s:8:"textarea";s:4:"size";s:4:"2,30";s:4:"name";s:14:"${row}[values]";s:4:"help";s:36:"each value is a line like id[=label]";}s:1:"F";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:1:"5";s:4:"name";s:11:"${row}[len]";s:4:"help";s:63:"max length of the input [, length of the inputfield (optional)]";}i:2;a:5:{s:4:"type";s:3:"int";s:4:"size";s:6:"0,10,2";s:4:"name";s:12:"${row}[rows]";s:4:"help";s:70:"number of row for a multiline inputfield or line of a multi-select-box";s:4:"blur";s:1:"1";}}s:1:"G";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:13:"${row}[order]";s:4:"help";s:45:"determines the order the fields are displayed";}s:1:"H";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:23:"delete[$row_cont[name]]";s:4:"help";s:18:"deletes this field";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:21:"create$row_cont[name]";s:4:"help";s:19:"creates a new field";}}}}s:4:"rows";i:2;s:4:"cols";i:8;s:7:"options";a:0:{}}}','size' => '','style' => '','modified' => '1131454776',);
$templ_data[] = array('name' => 'admin.customfields.fields','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:4:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";s:1:"C";s:8:",!@type2";s:1:"E";s:14:",!@use_private";}i:1;a:9:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Subtype";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Private";}s:1:"F";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Options";s:4:"help";s:40:"each value is a line like <id>[=<label>]";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Length<br>Rows";}s:1:"H";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Order";}s:1:"I";a:4:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";s:4:"help";s:18:"deletes this field";}}i:2;a:9:{s:1:"A";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"20,32";s:4:"name";s:12:"${row}[name]";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:4:",255";s:4:"name";s:13:"${row}[label]";s:4:"help";s:30:"the text displayed to the user";}i:2;a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[label]";}}s:1:"C";a:4:{s:4:"type";s:6:"select";s:4:"size";s:3:"All";s:4:"name";s:13:"${row}[type2]";s:7:"no_lang";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:18:"customfields-types";s:4:"name";s:12:"{$row}[type]";s:4:"help";s:19:"Type of customfield";}s:1:"E";a:5:{s:4:"type";s:14:"select-account";s:4:"name";s:15:"${row}[private]";s:4:"help";s:60:"Select accounts for which the custom field should be visible";s:5:"align";s:6:"center";s:4:"size";s:6:"3,both";}s:1:"F";a:4:{s:4:"type";s:8:"textarea";s:4:"size";s:4:"2,30";s:4:"name";s:14:"${row}[values]";s:4:"help";s:36:"each value is a line like id[=label]";}s:1:"G";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:1:"5";s:4:"name";s:11:"${row}[len]";s:4:"help";s:63:"max length of the input [, length of the inputfield (optional)]";}i:2;a:5:{s:4:"type";s:3:"int";s:4:"size";s:6:"0,10,2";s:4:"name";s:12:"${row}[rows]";s:4:"help";s:70:"number of row for a multiline inputfield or line of a multi-select-box";s:4:"blur";s:1:"1";}}s:1:"H";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:13:"${row}[order]";s:4:"help";s:45:"determines the order the fields are displayed";}s:1:"I";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:23:"delete[$row_cont[name]]";s:4:"help";s:18:"deletes this field";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:21:"create$row_cont[name]";s:4:"help";s:19:"creates a new field";}}}}s:4:"rows";i:2;s:4:"cols";i:9;s:7:"options";a:0:{}}}','size' => '','style' => '','modified' => '1131454776',);

View File

@ -0,0 +1,72 @@
<?xml version="1.0"?>
<!-- $Id$ -->
<overlay>
<template id="admin.accesslog.rows" template="" lang="" group="0" version="1.7.001">
<grid width="100%">
<columns>
<column/>
<column/>
<column/>
<column/>
<column/>
<column width="1%"/>
</columns>
<rows>
<row class="th">
<nextmatch-accountfilter options="LoginID" id="account_id"/>
<nextmatch-header label="IP" id="ip"/>
<nextmatch-sortheader label="Login" id="li"/>
<nextmatch-sortheader label="Logout" id="lo"/>
<nextmatch-header label="Total" id="total"/>
<hbox>
<description value="Action" align="center"/>
<buttononly options="check" label="Select all" onclick="toggle_all(this.form,form::name('selected[]')); return false;"/>
</hbox>
</row>
<row class="row">
<menulist>
<menupopup type="select-account" id="${row}[account_id]" readonly="true"/>
</menulist>
<description id="${row}[ip]"/>
<date-time id="${row}[li]" readonly="true"/>
<date-time id="${row}[lo]" readonly="true"/>
<date-duration id="${row}[total]" readonly="true" options=",hm,24"/>
<hbox options="0,0" align="center">
<button image="delete" label="Delete" id="delete[$row_cont[sessionid]]" statustext="Delete this log entry" onclick="return confirm('Delete this log entry');"/>
<checkbox options="$row_cont[sessionid]" id="selected[]"/>
</hbox>
</row>
</rows>
</grid>
</template>
<template id="admin.accesslog" template="" lang="" group="0" version="1.7.001">
<grid width="100%">
<columns>
<column/>
<column/>
</columns>
<rows>
<row disabled="!@msg">
<description span="all" class="redItalic" align="center" id="msg"/>
<description/>
</row>
<row>
<nextmatch options="admin.accesslog.rows" id="nm" span="all"/>
</row>
<row>
<hbox options="0,0">
<description value="Percent of users that logged out" readonly="true"/>
<textbox type="float" id="percent" precision="1" label=": %s %" readonly="true"/>
</hbox>
<hbox align="right">
<button id="delete" image="delete" label="Delete" statustext="Delete selected entries" onclick="return confirm('Delete the selected entries');"/>
<buttononly options="arrow_ltr" onclick="toggle_all(this.form,form::name('nm[rows][selected][]')); return false;" class="selectAllArrow"/>
</hbox>
</row>
</rows>
</grid>
<styles>
.selectAllArrow { padding-right: 12px; }
</styles>
</template>
</overlay>