From a09ccfb730daff2c965a7c935da5ab35fc9d69e1 Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Sun, 18 May 2003 19:18:58 +0000 Subject: [PATCH] merged sesson-functions for .16, incl. the brute-force stuffe and cacheing the data from other session in the appsession fixed multidomain logins for register_globals off --- admin/inc/class.boaccess_history.inc.php | 14 ++- admin/inc/class.bocurrentsessions.inc.php | 8 +- admin/inc/class.soaccess_history.inc.php | 5 +- admin/inc/class.uiaccess_history.inc.php | 5 +- admin/inc/class.uicurrentsessions.inc.php | 6 +- admin/inc/class.uilog.inc.php | 1 + admin/setup/phpgw_de.lang | 31 ++++-- admin/setup/phpgw_en.lang | 26 ++++- admin/templates/default/accesslog.tpl | 14 +-- admin/templates/default/currentusers.tpl | 9 +- login.php | 122 +++++++++++----------- phpgwapi/inc/functions.inc.php | 76 ++++++-------- phpgwapi/setup/phpgw_br.lang | 2 +- phpgwapi/setup/phpgw_cs.lang | 2 +- phpgwapi/setup/phpgw_da.lang | 2 +- phpgwapi/setup/phpgw_de.lang | 5 +- phpgwapi/setup/phpgw_en.lang | 11 +- phpgwapi/setup/phpgw_es.lang | 2 +- phpgwapi/setup/phpgw_fi.lang | 2 +- phpgwapi/setup/phpgw_fr.lang | 2 +- phpgwapi/setup/phpgw_hu.lang | 2 +- phpgwapi/setup/phpgw_it.lang | 2 +- phpgwapi/setup/phpgw_ja.lang | 2 +- phpgwapi/setup/phpgw_ko.lang | 2 +- phpgwapi/setup/phpgw_nl.lang | 2 +- phpgwapi/setup/phpgw_no.lang | 2 +- phpgwapi/setup/phpgw_pl.lang | 2 +- phpgwapi/setup/phpgw_pt.lang | 2 +- phpgwapi/setup/phpgw_sv.lang | 2 +- phpgwapi/setup/phpgw_zt.lang | 2 +- phpgwapi/setup/setup.inc.php | 2 +- phpgwapi/setup/tables_current.inc.php | 12 +-- phpgwapi/setup/tables_update.inc.php | 23 ++++ 33 files changed, 231 insertions(+), 171 deletions(-) diff --git a/admin/inc/class.boaccess_history.inc.php b/admin/inc/class.boaccess_history.inc.php index 6aff5a2929..fb403443f1 100644 --- a/admin/inc/class.boaccess_history.inc.php +++ b/admin/inc/class.boaccess_history.inc.php @@ -45,10 +45,14 @@ $record['li'] = $GLOBALS['phpgw']->common->show_date($record['li']); } - if ($record['lo'] != '') + if ($record['lo']) { $record['lo'] = $GLOBALS['phpgw']->common->show_date($record['lo']); } + else + { + $record['lo'] = ''; // dont show a 0 for not loged out + } if (ereg('@',$record['loginid'])) { @@ -62,19 +66,13 @@ 'li' => $record['li'], 'lo' => $record['lo'], 'account_id' => $record['account_id'], + 'sessionid' => $record['sessionid'], 'total' => $total ); } return $_records; } - function grab_fullname($account_id) - { - $acct = createobject('phpgwapi.accounts',$account_id); - $acct->read_repository(); - return $GLOBALS['phpgw']->common->display_fullname($acct->data['account_lid'],$acct->data['firstname'],$acct->data['lastname']); - } - function total($account_id) { return $this->so->total($account_id); diff --git a/admin/inc/class.bocurrentsessions.inc.php b/admin/inc/class.bocurrentsessions.inc.php index f4357e1a93..22a17ae785 100644 --- a/admin/inc/class.bocurrentsessions.inc.php +++ b/admin/inc/class.bocurrentsessions.inc.php @@ -48,7 +48,7 @@ 'session_logintime' => $GLOBALS['phpgw']->common->show_date($value['session_logintime']), 'session_action' => $value['session_action'], 'session_dla' => $value['session_dla'], - 'session_idle' => gmdate('G:i:s',($GLOBALS['phpgw']->datetime->gmtnow - $value['session_dla'])) + 'session_idle' => gmdate('G:i:s',(time() - $value['session_dla'])) ); } return $_values; @@ -56,11 +56,11 @@ function kill() { - if ($GLOBALS['HTTP_GET_VARS']['ksession'] && - ($GLOBALS['sessionid'] != $GLOBALS['HTTP_GET_VARS']['ksession']) && + if ($_GET['ksession'] && + ($GLOBALS['sessionid'] != $_GET['ksession']) && ! $GLOBALS['phpgw']->acl->check('current_sessions_access',8,'admin')) { - $GLOBALS['phpgw']->session->destroy($GLOBALS['HTTP_GET_VARS']['ksession'],0); + $GLOBALS['phpgw']->session->destroy($_GET['ksession'],0); } $this->ui = createobject('admin.uicurrentsessions'); $this->ui->list_sessions(); diff --git a/admin/inc/class.soaccess_history.inc.php b/admin/inc/class.soaccess_history.inc.php index eb57c9ad11..8f0863bd18 100644 --- a/admin/inc/class.soaccess_history.inc.php +++ b/admin/inc/class.soaccess_history.inc.php @@ -32,7 +32,7 @@ { $where = $this->test_account_id($account_id); - $this->db->limit_query("select loginid,ip,li,lo,account_id from phpgw_access_log $where order by li desc",$start,__LINE__,__FILE__); + $this->db->limit_query("select loginid,ip,li,lo,account_id,sessionid from phpgw_access_log $where order by li desc",$start,__LINE__,__FILE__); while ($this->db->next_record()) { $records[] = array( @@ -40,7 +40,8 @@ 'ip' => $this->db->f('ip'), 'li' => $this->db->f('li'), 'lo' => $this->db->f('lo'), - 'account_id' => $this->db->f('account_id') + 'account_id' => $this->db->f('account_id'), + 'sessionid' => $this->db->f('sessionid') ); } return $records; diff --git a/admin/inc/class.uiaccess_history.inc.php b/admin/inc/class.uiaccess_history.inc.php index abccd3e578..43915293a6 100644 --- a/admin/inc/class.uiaccess_history.inc.php +++ b/admin/inc/class.uiaccess_history.inc.php @@ -40,6 +40,7 @@ $sort = ($GLOBALS['HTTP_POST_VARS']['sort']?$GLOBALS['HTTP_POST_VARS']['sort']:0); $order = ($GLOBALS['HTTP_POST_VARS']['order']?$GLOBALS['HTTP_POST_VARS']['order']:0); + $GLOBALS['phpgw_info']['flags']['app_header'] = lang('Admin').' - '.lang('View access log'); $GLOBALS['phpgw']->common->phpgw_header(); $total_records = $this->bo->total($account_id); @@ -64,7 +65,7 @@ 'account_id' => $account_id ) ) . '">' . lang('Return to view account') . ''; - $var['lang_last_x_logins'] = lang('Last %1 logins for %2',$total_records,$this->bo->grab_fullname($account_id)); + $var['lang_last_x_logins'] = lang('Last %1 logins for %2',$total_records,$GLOBALS['phpgw']->common->grab_owner_name($account_id)); } else { @@ -82,7 +83,7 @@ 'row_loginid' => $record['loginid'], 'row_ip' => $record['ip'], 'row_li' => $record['li'], - 'row_lo' => $record['lo'], + 'row_lo' => $record['account_id'] ? $record['lo'] : ''.lang($record['sessionid']).'', 'row_total' => ($record['lo']?$record['total']:' ') ); $this->template->set_var($var); diff --git a/admin/inc/class.uicurrentsessions.inc.php b/admin/inc/class.uicurrentsessions.inc.php index bc82ebff08..0d03db25b9 100644 --- a/admin/inc/class.uicurrentsessions.inc.php +++ b/admin/inc/class.uicurrentsessions.inc.php @@ -71,6 +71,7 @@ $this->store_location($info); } + $GLOBALS['phpgw_info']['flags']['app_header'] = lang('Admin').' - '.lang('List of current users'); $this->header(); $this->template->set_file('current','currentusers.tpl'); @@ -89,7 +90,6 @@ $total = $this->bo->total(); - $this->template->set_var('lang_current_users',lang('List of current users')); $this->template->set_var('bg_color',$GLOBALS['phpgw_info']['theme']['bg_color']); $this->template->set_var('left_next_matchs',$this->nextmatchs->left('/admin/currentusers.php',$info['start'],$total)); $this->template->set_var('right_next_matchs',$this->nextmatchs->right('/admin/currentusers.php',$info['start'],$total)); @@ -164,13 +164,13 @@ return False; } + $GLOBALS['phpgw_info']['flags']['app_header'] = lang('Admin').' - '.lang('Kill session'); $this->header(); $this->template->set_file('form','kill_session.tpl'); - $this->template->set_var('lang_title',lang('Kill session')); $this->template->set_var('lang_message',lang('Are you sure you want to kill this session ?')); $this->template->set_var('link_no','' . lang('No') . ''); - $this->template->set_var('link_yes','' . lang('Yes') . ''); + $this->template->set_var('link_yes','' . lang('Yes') . ''); $this->template->pfp('out','form'); } diff --git a/admin/inc/class.uilog.inc.php b/admin/inc/class.uilog.inc.php index e6365dad19..aa6d7f36f0 100644 --- a/admin/inc/class.uilog.inc.php +++ b/admin/inc/class.uilog.inc.php @@ -255,6 +255,7 @@ $table = $this->html->hash_table($rows,$header,$this, 'format_row'); $this->t->set_var('event_list',$table); + $GLOBALS['phpgw_info']['flags']['app_header'] = lang('Admin').' - '.($this->editmode?lang('Edit Table format') : lang('View error log')); $GLOBALS['phpgw']->common->phpgw_header(); $this->t->pfp('out','log_list_t'); // $this->set_app_langs(); diff --git a/admin/setup/phpgw_de.lang b/admin/setup/phpgw_de.lang index b65e316a33..5416b7cdc0 100644 --- a/admin/setup/phpgw_de.lang +++ b/admin/setup/phpgw_de.lang @@ -1,6 +1,8 @@ +%1 - %2 of %3 user accounts admin de %1 - %2 von %3 Benutzerkonten (stored password will not be shown here) admin de (Gespeicherte Passwort wird hier nicht angezeigt) (to install new applications use
setup [manage applications admin de (Zur Installation neuer Anwendungen verwenden Sie bitte
Setup [Anwendungen Verwalten] !!!) (to install new applications use
setup [manage applications] !!!) admin de (Zur Installation neuer Anwendungen verwenden Sie bitte
Setup [Anwendungen Verwalten] !!!) +accesslog and bruteforce defense admin de Zugangsprotokoll und Abwehr von BruteForce Angriffen account active admin de Konto aktiv account has been created common de Konto wurde erstellt account has been deleted common de Konto wurde gel.scht @@ -18,26 +20,30 @@ add new account admin de Neues Konto hinzufügen add new application admin de Neue Anwendung hinzufügen add peer server admin de Peer Server hinzufügen admin email admin de Email Administration +admin email addresses (comma-separated) to be notified about the blocking (empty for no notify) ? admin de Email Adressen der Administratoren (mit Komma getrennt) die über eine Sperre benachrichtigt werden sollen (leer für keine Benachrichtigung) ? admin name admin de Admin Name administration admin de Administration admins admin de Admins +after how many unsuccessful attempts to login, an account should be blocked (default 3) ? admin de Nach wie vielen 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 wie vielen erfolglosen Versuchen sich anzumelden, soll eine IP-Adresse gesperrt werden (Vorgabe 3) ? 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 anonymous user admin de Anonymer Benutzer +anonymous user
(not shown in list sessions) admin de Anonymer Benutzer
(wird bei Sitzungen anzeigen nicht angezeigt) application admin de Anwendung application name admin de Name der Anwendung application title admin de Titel der Anwendung applications admin de Anwendungen +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 Anwendung löschen wollen ? are you sure you want to delete this category ? common de Sind Sie sicher, dass Sie diese Kategorie löschen wollen ? are you sure you want to delete this group ? admin de Sind Sie sicher, dass Sie diese Gruppe löschen wollen ? are you sure you want to delete this server? admin de Sind sie sicher, dass sie diesen Server löschen wollen ? are you sure you want to kill this session ? admin de Sind Sie sicher, dass Sie diese Session killen wollen ? attempt to use correct mimetype for ftp instead of default 'application/octet-stream' admin de Soll versucht werden den richtigen MINE-typ für FTP zu verwenden, statt dem default 'application/octet-stream' authentication / accounts admin de Benutzerauthentifizierung / Benutzerkonten -auto create account records for authenticated users admin de Automatisch Kontendaten für authentifizierte Benutzer anlegen +auto create account records for authenticated users admin de Automatisch Benutzerkonten für authentifizierte Benutzer anlegen bi-dir passthrough admin de Weiterleitung in beide Richtungen bi-directional admin de beide Richtungen bottom admin de unten @@ -78,6 +84,9 @@ edit table format admin de Tabellenformat bearbeiten edit user account admin de Benutzerkonto bearbeiten enabled - hidden from navbar admin de Verfügbar, aber nicht in der Navigationsleiste enter some random text for app_session
encryption (requires mcrypt) admin de Zufälligen Text für app_session
Verschlüsselung (braucht mcrypt) +enter the background color for the login page admin de Hintergrundfarbe für die Anmeldeseite +enter the background color for the site title admin de Hintergrundfarbe für den Title der phpGroupWare installation +enter the file name of your logo admin de Dateiname ihres Logos enter the full path for temporary files.
examples: /tmp, c:\temp admin de Vollständiger Pfad für temporäre Dateien.
Beispiel: /tmp, C:\TEMP enter the full path for users and group files.
examples: /files, e:\files admin de Vollständiger Pfad für Benutzer- und Gruppendateien.
Beispiel: /files, E:\Files enter the hostname of the machine on which this server is running admin de Hostname des Computers auf dem der Server läuft @@ -85,11 +94,14 @@ enter the location of phpgroupware's url.
example: http://www.domain.com/phpg enter the site password for peer servers admin de Site Passwort für Peer Server enter the site username for peer servers admin de Site Benutzername für Peer Server enter the title for your site admin de Titel der phpGroupWare Installation +enter the title of your logo admin de Titel Ihres Logos +enter the url where your logo should link to admin de URL mit der das Logo verlinkt werden soll enter your default ftp server admin de Default FTP Server enter your http proxy server admin de HTTP Proxy Server enter your http proxy server port admin de HTTP Proxy Server Port expires admin de abgelaufen file space admin de Dateiraum +file space must be an integer admin de Speicherplatz muss eine Zahl sein find and register all application hooks admin de Registrieren aller Applikation hooks force selectbox admin de Auswahl erzwingen global categories admin de Globale Kategorien @@ -102,6 +114,8 @@ group name admin de Gruppenname hide php information admin de PHP Informationen ausblenden home directory admin de Benutzerverzeichnis host information admin de Host Information +how many days should entries stay in the access log, before they get deleted (default 90) ? admin de Wie viele Tage sollen Einträge im Zugangsprotokoll bleiben, bevor sie gelöscht werden (Vorgabe 90) ? +how many minutes should an account or ip be blocked (default 30) ? admin de Wie viele Minuten soll ein Benutzerkonto oder eine IP gesperrt werden (Vorgabe 30) ? idle admin de im Leerlauf if no acl records for user or any group the user is a member of admin de Wenn es keinen ACL Eintrag für einen Benutzer oder oder eine Gruppe der er angehört gibt if using ldap, do you want to manage homedirectory and loginshell attributes? admin de Wenn sie LDAP verwenden, wollen Sie Benutzerverzeichnisse und Komandointerpreter verwalten ? @@ -138,15 +152,17 @@ message has been updated admin de Nachricht wurde ge minimum account id (e.g. 500 or 100, etc.) admin de Minimum für Benutzer Id (zB. mode admin de Modus never admin de Nie +new group admin de Neuer Benutzer new group name admin de Neuer Gruppenname -new password [ leave blank for no change admin de Neues Passwort [ Feld leerlassen, wenn das Passwort nicht geändert werden soll ] -new password [ leave blank for no change admin de +new password [ leave blank for no change admin de new password [ leave blank for no change ] admin de Neues Passwort [ Feld leerlassen, wenn das Passwort nicht geändert werden soll ] +new user admin de Neue Gruppe no algorithms available admin de Kein Algorithmus verfügbar no login history exists for this user admin de Benutzer hat sich noch nie angemeldet no matches found admin de Keine Übereinstimmungen gefunden no modes available admin de Kein Modus verfügbar note: ssl available only if php is compiled with curl support admin de Notiz: SSL ist nur verfügbar, wenn PHP mit CURL-Unterstützung erzeugt wurde +open popup window admin de PopUp Fenster öffnen outbound admin de ausgehend passthrough admin de durchgehend path information admin de Pfad-Information @@ -159,6 +175,7 @@ phpinfo admin de PHP Informationen please enter a name admin de Bitte einen Namen eingeben please enter a name for that server ! admin de Bitte einen Namen für diesen Server eingeben ! please run setup to become current admin de Bitte Setup ausführen um die Installation zu aktualisieren +please select admin de Bitte auswählen preferences admin de Einstellungen re-enter password admin de Passwort wiederholen read this list of methods. admin de Diese Liste der Methoden lesen @@ -179,7 +196,7 @@ server password admin de Server Passwort server type(mode) admin de Server Typ (Modus) server url admin de Server URL server username admin de Server Benutzername -set preference values. admin de Einstellungswert würde geändert +set preference values. admin de Einstellungswert wurde geändert show 'powered by' logo on admin de Zeige 'powered by' Logo site admin de Site site configuration admin de Konfiguration der Anwendung @@ -203,6 +220,8 @@ they must be removed before you can continue admin de Sie m 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ä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)
(not for php4 sessions!!!) admin de Zeit nach der Sitzungen verfallen (Vorgabe 14400 = 4 Stunden)
(nicht für php4 Sitzungen) top admin de oben total records admin de Anzahl Datensätze insgesamt trust level admin de Grad des Vertrauens @@ -215,7 +234,7 @@ user data admin de Benutzerdaten user groups admin de Benutzergruppen userdata admin de Benutzerkonto users choice admin de Benutzerauswahl -view access log admin de Zugriffs-Protokoll anzeigen +view access log admin de Zugangsprotokoll anzeigen view error log admin de Fehler-Protokoll anzeigen view sessions admin de Sitzungen anzeigen view user account admin de Benutzerkonto anzeigen diff --git a/admin/setup/phpgw_en.lang b/admin/setup/phpgw_en.lang index c5aeb10822..3b2e57e561 100644 --- a/admin/setup/phpgw_en.lang +++ b/admin/setup/phpgw_en.lang @@ -1,5 +1,7 @@ +%1 - %2 of %3 user accounts admin en %1 - %2 of %3 user accounts (stored password will not be shown here) admin en (Stored password will not be shown here) (to install new applications use
setup [manage applications] !!!) admin en (To install new applications use
Setup [Manage Applications] !!!) +accesslog and bruteforce defense admin en AccessLog and BruteForce defense account active admin en Account active account has been created common en Account has been created account has been deleted common en Account has been deleted @@ -21,20 +23,24 @@ add new account admin en Add new account add new application admin en Add new application add peer server admin en Add Peer Server admin email admin en Admin Email +admin email addresses (comma-separated) to be notified about the blocking (empty for no notify) ? admin en Admin email addresses (comma-separated) to be notified about the blocking (empty for no notify) ? admin name admin en Admin Name administration admin en Administration admins admin en Admins +after how many unsuccessful attempts to login, an account should be blocked (default 3) ? admin en After how many unsuccessful attempts to login, an account should be blocked (default 3) ? +after how many unsuccessful attempts to login, an ip should be blocked (default 3) ? admin en After how many unsuccessful attempts to login, an IP should be blocked (default 3) ? all records and account information will be lost! admin en All records and account information will be lost! all users admin en All Users allow anonymous access to this app admin en Allow anonymous access to this app anonymous user admin en Anonymous user +anonymous user
(not shown in list sessions) admin en Anonymous User
(not shown in list sessions) application admin en Application application name admin en Application name application title admin en Application title applications admin en Applications apply admin en apply +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 ? are you sure you want to delete this category ? common en Are you sure you want to delete this category ? are you sure you want to delete this global category ? admin en Are you sure you want to delete this global category ? are you sure you want to delete this group ? admin en Are you sure you want to delete this group ? @@ -48,6 +54,7 @@ bi-dir passthrough admin en bi-dir passthrough bi-directional admin en bi-directional bottom admin en bottom category %1 has been saved ! admin en Category %1 has been saved ! +category list admin en Category list change main screen message admin en Change main screen message check ip address of all sessions admin en check ip address of all sessions check items to %1 to %2 for %3 admin en Check items to %1 to %2 for %3 @@ -97,6 +104,9 @@ edit user account admin en Edit user account enabled - hidden from navbar admin en Enabled - Hidden from navbar enter a description for the category admin en enter a description for the category enter some random text for app_session
encryption (requires mcrypt) admin en Enter some random text for app_session
encryption (requires mcrypt) +enter the background color for the login page admin en Enter the background color for the login page +enter the background color for the site title admin en Enter the background color for the site title +enter the file name of your logo admin en Enter the file name of your logo enter the full path for temporary files.
examples: /tmp, c:\temp admin en Enter the full path for temporary files.
Examples: /tmp, C:\TEMP enter the full path for users and group files.
examples: /files, e:\files admin en Enter the full path for users and group files.
Examples: /files, E:\FILES enter the hostname of the machine on which this server is running admin en Enter the hostname of the machine on which this server is running @@ -105,6 +115,8 @@ enter the search string. to show all entries, empty this field and press the sub enter the site password for peer servers admin en Enter the site password for peer servers enter the site username for peer servers admin en Enter the site username for peer servers enter the title for your site admin en Enter the title for your site +enter the title of your logo admin en Enter the title of your logo +enter the url where your logo should link to admin en Enter the url where your logo should link to enter your default ftp server admin en Enter your default FTP server enter your http proxy server admin en Enter your HTTP proxy server enter your http proxy server port admin en Enter your HTTP proxy server port @@ -123,6 +135,8 @@ group name admin en Group Name hide php information admin en hide php information home directory admin en Home directory host information admin en Host information +how many days should entries stay in the access log, before they get deleted (default 90) ? admin en How many days should entries stay in the access log, before they get deleted (default 90) ? +how many minutes should an account or ip be blocked (default 30) ? admin en How many minutes should an account or IP be blocked (default 30) ? idle admin en idle if no acl records for user or any group the user is a member of admin en If no ACL records for user or any group the user is a member of if using ldap, do you want to manage homedirectory and loginshell attributes? admin en If using LDAP, do you want to manage homedirectory and loginshell attributes? @@ -159,14 +173,20 @@ maximum account id (e.g. 65535 or 1000000) admin en Maximum account id (e.g. 655 message has been updated admin en message has been updated minimum account id (e.g. 500 or 100, etc.) admin en Minimum account id (e.g. 500 or 100, etc.) mode admin en Mode +new group admin en New Group new group name admin en New group name new password [ leave blank for no change ] admin en New password [ Leave blank for no change ] +new user admin en New User +no algorithms available admin en no algorithms available no login history exists for this user admin en No login history exists for this user no matches found admin en No matches found no permission to add groups admin en no permission to add groups no permission to add users admin en no permission to add users no permission to create groups admin en no permission to create groups note: ssl available only if php is compiled with curl support admin en Note: SSL available only if PHP is compiled with curl support +no modes available admin en no modes available +note: ssl available only if php is compiled with curl support admin en Note: SSL available only if PHP is compiled with curl support +open popup window admin en open popup window outbound admin en outbound passthrough admin en passthrough path information admin en Path information @@ -179,8 +199,10 @@ phpinfo admin en PHP information please enter a name admin en Please enter a name please enter a name for that server ! admin en Please enter a name for that server ! please run setup to become current admin en Please run setup to become current +please select admin en Please Select preferences admin en Preferences re-enter password admin en Re-enter password +read this list of methods. admin en Read this list of methods. 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 ? return to admin mainscreen admin en return to admin mainscreen @@ -228,6 +250,8 @@ they must be removed before you can continue admin en They must be removed befor this application is current admin en This application is current this application requires an upgrade admin en This application requires an upgrade this category is currently being used by applications as a parent category admin en This category is currently being used by applications as a parent category. +timeout for application session data in seconds (default 86400 = 1 day) admin en Timeout for application session data in seconds (default 86400 = 1 day) +timeout for sessions in seconds (default 14400 = 4 hours)
(not for php4 sessions!!!) admin en Timeout for sessions in seconds (default 14400 = 4 hours)
(not for php4 sessions!!!) top admin en top total records admin en Total records trust level admin en Trust Level diff --git a/admin/templates/default/accesslog.tpl b/admin/templates/default/accesslog.tpl index bf3c16bc34..95febfc2c9 100644 --- a/admin/templates/default/accesslog.tpl +++ b/admin/templates/default/accesslog.tpl @@ -8,11 +8,11 @@
- - + - - - - - + + + + {rows_access} diff --git a/admin/templates/default/currentusers.tpl b/admin/templates/default/currentusers.tpl index b67d18d80e..9c248d310a 100644 --- a/admin/templates/default/currentusers.tpl +++ b/admin/templates/default/currentusers.tpl @@ -1,7 +1,6 @@ -
-{lang_current_users}: -
+
{lang_last_x_logins} + {showing} @@ -24,10 +24,10 @@
{lang_loginid}{lang_ip}{lang_login}{lang_logout}{lang_loginid}{lang_ip}{lang_login}{lang_logout} {lang_total}
+
+
{left_next_matchs} @@ -20,8 +19,8 @@ {rows} -
 
+
@@ -34,5 +33,3 @@ {row_kill} - - diff --git a/login.php b/login.php index c73695781e..aece319a99 100755 --- a/login.php +++ b/login.php @@ -11,7 +11,7 @@ * option) any later version. * \**************************************************************************/ /* $Id$ */ - $phpgw_info = array(); + $GLOBALS['phpgw_info'] = array(); $GLOBALS['phpgw_info']['flags'] = array ( 'login' => True, @@ -22,6 +22,7 @@ if(file_exists('./header.inc.php')) { include('./header.inc.php'); + $GLOBALS['phpgw']->sessions = createObject('phpgwapi.sessions'); } else { @@ -65,18 +66,9 @@ $data['login_standard']['loginscreen'] = True; - function show_cookie() - { - /* This needs to be this way, because if someone doesnt want to use cookies, we shouldnt sneak one in */ - if ($GLOBALS['HTTP_GET_VARS']['code'] != 5 && (isset($GLOBALS['phpgw_info']['server']['usecookies']) && $GLOBALS['phpgw_info']['server']['usecookies'])) - { - return $GLOBALS['HTTP_COOKIE_VARS']['last_loginid']; - } - } - function check_logoutcode() { - switch($GLOBALS['HTTP_GET_VARS']['code']) + switch($_GET['code']) { case 1: $GLOBALS['phpgw_info']['flags']['msgbox_data']['You have been successfully logged out'] = True; @@ -87,14 +79,21 @@ case 5: $GLOBALS['phpgw_info']['flags']['msgbox_data']['Bad login or password'] = False; break; + case 99: + $GLOBALS['phpgw_info']['flags']['msgbox_data']['Blocked, too many attempts'] = False; + break; case 10: - if($GLOBALS['phpgw_info']['server']['usecookies']) - { - Setcookie('sessionid'); - Setcookie('kp3'); - Setcookie('domain'); - } $GLOBALS['phpgw_info']['flags']['msgbox_data']['Your session could not be verified'] = False; + + $GLOBALS['phpgw']->sessions->phpgw_setcookie('sessionid'); + $GLOBALS['phpgw']->sessions->phpgw_setcookie('kp3'); + $GLOBALS['phpgw']->sessions->phpgw_setcookie('domain'); + + //fix for bug php4 expired sessions bug + if($GLOBALS['phpgw_info']['server']['sessions_type'] == 'php4') + { + $GLOBALS['phpgw']->sessions->phpgw_setcookie(PHPGW_PHPSESSID); + } break; } } @@ -139,34 +138,34 @@ $GLOBALS['phpgw_setup']->detection->check_lang(false); // get installed langs $langs = $GLOBALS['phpgw_info']['setup']['installed_langs']; - while (list($lang) = each($langs)) + while (list($lang) = @each($langs)) { $langs[$lang] = $lang; } - $GLOBALS['HTTP_POST_VARS']['submit'] = true; - $GLOBALS['HTTP_POST_VARS']['lang_selected'] = $langs; - $GLOBALS['HTTP_POST_VARS']['upgrademethod'] = 'dumpold'; + $_POST['submit'] = true; + $_POST['lang_selected'] = $langs; + $_POST['upgrademethod'] = 'dumpold'; $included = 'from_login'; include(PHPGW_SERVER_ROOT . '/setup/lang.php'); } /* Program starts here */ - if ($GLOBALS['phpgw_info']['server']['auth_type'] == 'http' && isset($PHP_AUTH_USER)) + if ($GLOBALS['phpgw_info']['server']['auth_type'] == 'http' && isset($_SERVER['PHP_AUTH_USER'])) { $submit = True; - $login = $PHP_AUTH_USER; - $passwd = $PHP_AUTH_PW; + $login = $_SERVER['PHP_AUTH_USER']; + $passwd = $_SERVER['PHP_AUTH_PW']; } # Apache + mod_ssl style SSL certificate authentication # Certificate (chain) verification occurs inside mod_ssl - if ($GLOBALS['phpgw_info']['server']['auth_type'] == 'sqlssl' && isset($HTTP_SERVER_VARS['SSL_CLIENT_S_DN']) && !isset($GLOBALS['HTTP_GET_VARS']['code'])) + if ($GLOBALS['phpgw_info']['server']['auth_type'] == 'sqlssl' && isset($_SERVER['SSL_CLIENT_S_DN']) && !isset($_GET['code'])) { # an X.509 subject looks like: # /CN=john.doe/OU=Department/O=Company/C=xx/Email=john@comapy.tld/L=City/ # the username is deliberately lowercase, to ease LDAP integration - $sslattribs = explode('/',$HTTP_SERVER_VARS['SSL_CLIENT_S_DN']); + $sslattribs = explode('/',$_SERVER['SSL_CLIENT_S_DN']); # skip the part in front of the first '/' (nothing) while ($sslattrib = next($sslattribs)) { @@ -180,36 +179,41 @@ # login will be set here if the user logged out and uses a different username with # the same SSL-certificate. - if (!isset($login)&&isset($sslattributes['Email'])) - { + if (!isset($_POST['login'])&&isset($sslattributes['Email'])) { $login = $sslattributes['Email']; # not checked against the database, but delivered to authentication module - $passwd = $HTTP_SERVER_VARS['SSL_CLIENT_S_DN']; + $passwd = $_SERVER['SSL_CLIENT_S_DN']; } } unset($key); unset($val); unset($sslattributes); } - if (isset($GLOBALS['HTTP_POST_VARS']['passwd_type']) || $submit_x || $submit_y) -// isset($GLOBALS['HTTP_POST_VARS']['passwd']) && $GLOBALS['HTTP_POST_VARS']['passwd']) // enable konqueror to login via Return + + if (isset($_POST['passwd_type']) || $submit_x || $submit_y) +// isset($_POST['passwd']) && $_POST['passwd']) // enable konqueror to login via Return { if (getenv(REQUEST_METHOD) != 'POST' && $_SERVER['REQUEST_METHOD'] != 'POST' - && !isset($PHP_AUTH_USER) && !isset($HTTP_SERVER_VARS['SSL_CLIENT_S_DN'])) + && !isset($_SERVER['PHP_AUTH_USER']) && !isset($_SERVER['SSL_CLIENT_S_DN'])) { $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/login.php','code=5')); } - $GLOBALS['sessionid'] = $GLOBALS['phpgw']->session->create($GLOBALS['HTTP_POST_VARS']['login'],$GLOBALS['HTTP_POST_VARS']['passwd'],$GLOBALS['HTTP_POST_VARS']['passwd_type']); + $login = $_POST['login']; + if (strstr($login,'@') === False && isset($_POST['logindomain'])) + { + $login .= '@' . $_POST['logindomain']; + } + $GLOBALS['sessionid'] = $GLOBALS['phpgw']->session->create($login,$_POST['passwd'],$_POST['passwd_type']); if(!isset($GLOBALS['sessionid']) || !$GLOBALS['sessionid']) { - $GLOBALS['phpgw']->redirect($GLOBALS['phpgw_info']['server']['webserver_url'] . '/login.php?code=5'); + $GLOBALS['phpgw']->redirect($GLOBALS['phpgw_info']['server']['webserver_url'] . '/login.php?code=' . $GLOBALS['phpgw']->session->cd_reason); } else { if ($GLOBALS['phpgw_forward']) { - while (list($name,$value) = each($GLOBALS['HTTP_GET_VARS'])) + while (list($name,$value) = each($_GET)) { if (ereg('phpgw_',$name)) { @@ -219,7 +223,7 @@ } check_langs(); - $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/home.php','code=yes' . $extra_vars,True)); + $GLOBALS['phpgw']->redirect_link('/home.php','cd=yes' . $extra_vars); } } else @@ -227,10 +231,10 @@ // !!! DONT CHANGE THESE LINES !!! // If there is something wrong with this code TELL ME! // Commenting out the code will not fix it. (jengo) - if (isset($GLOBALS['HTTP_COOKIE_VARS']['last_loginid'])) + if (isset($_COOKIE['last_loginid'])) { $accounts = CreateObject('phpgwapi.accounts'); - $prefs = CreateObject('phpgwapi.preferences', $accounts->name2id($last_loginid)); + $prefs = CreateObject('phpgwapi.preferences', $accounts->name2id($_COOKIE['last_loginid'])); if (! $prefs->account_id) { @@ -241,47 +245,45 @@ $GLOBALS['phpgw_info']['user']['preferences'] = $prefs->read_repository(); } #print 'LANG:' . $GLOBALS['phpgw_info']['user']['preferences']['common']['lang'] . '
'; - $GLOBALS['phpgw']->translation->add_app('login'); - $GLOBALS['phpgw']->translation->add_app('loginscreen'); - if (lang('loginscreen_message') != 'loginscreen_message*') - { - $data['login_standard']['phpgw_loginscreen_message'] = stripslashes(lang('loginscreen_message')); - } } else { // If the lastloginid cookies isn't set, we will default to english. // Change this if you need. $GLOBALS['phpgw_info']['user']['preferences']['common']['lang'] = 'en'; - $GLOBALS['phpgw']->translation->add_app('login'); - $GLOBALS['phpgw']->translation->add_app('loginscreen'); - if (lang('loginscreen_message') != 'loginscreen_message*') - { - $data['login_standard']['phpgw_loginscreen_message'] = stripslashes(lang('loginscreen_message')); - } + } + $GLOBALS['phpgw']->translation->add_app('login'); + $GLOBALS['phpgw']->translation->add_app('loginscreen'); + if (lang('loginscreen_message') != 'loginscreen_message*') + { + $data['login_standard']['phpgw_loginscreen_message'] = stripslashes(lang('loginscreen_message')); } } - if (!isset($GLOBALS['HTTP_GET_VARS']['code']) || !$GLOBALS['HTTP_GET_VARS']['code']) - { - $GLOBALS['HTTP_GET_VARS']['code'] = ''; - } - + $last_loginid = $_COOKIE['last_loginid']; if ($GLOBALS['phpgw_info']['server']['show_domain_selectbox']) { foreach ($phpgw_domain as $domain => $domain_data) { $ds = array('domain' => $domain); - if ($domain == $last_domain) + if ($domain == $_COOKIE['last_domain']) { - $ds += array('selected' => 'selected'); + $ds['selected'] = 'selected'; } - $data['login_standard']['domain_select'][] = $ds; } } + elseif ($last_loginid !== '') + { + reset($GLOBALS['phpgw_domain']); + list($default_domain) = each($GLOBALS['phpgw_domain']); + if ($_COOKIE['last_domain'] != $default_domain) + { + $last_loginid .= '@' . $_COOKIE['last_domain']; + } + } - while (list($name,$value) = each($GLOBALS['HTTP_GET_VARS'])) + while (list($name,$value) = each($_GET)) { if (ereg('phpgw_',$name)) { @@ -305,7 +307,7 @@ $data['login_standard']['website_title'] = $GLOBALS['phpgw_info']['server']['site_title']; $data['login_standard']['login_url'] = 'login.php' . $extra_vars; - $data['login_standard']['cookie'] = show_cookie(); + $data['login_standard']['cookie'] = $last_loginid; $data['login_standard']['lang_username'] = lang('username'); $data['login_standard']['lang_powered_by'] = lang('powered by'); $data['login_standard']['lang_version'] = lang('version'); diff --git a/phpgwapi/inc/functions.inc.php b/phpgwapi/inc/functions.inc.php index edf3ae7e9b..0f782117b4 100644 --- a/phpgwapi/inc/functions.inc.php +++ b/phpgwapi/inc/functions.inc.php @@ -21,16 +21,18 @@ * along with this library; if not, write to the Free Software Foundation, * * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * \**************************************************************************/ + /* $Id$ */ - - /***************************************************************************\ - * If running in PHP3, then load up the support functions file for * - * transparent support. * - \***************************************************************************/ + + /****************************************************************************\ + * If running in PHP3, then force admin to upgrade * + \****************************************************************************/ if (floor(phpversion()) == 3) { - include(PHPGW_API_INC.'/php3_support_functions.inc.php'); + echo 'phpGroupWare now requires PHP 4.1 or greater.
'; + echo 'Please contact your System Administrator'; + exit; } include(PHPGW_API_INC.'/common_functions.inc.php'); @@ -89,7 +91,7 @@ /****************************************************************************\ * Multi-Domain support * \****************************************************************************/ - + /* make them fix their header */ if (!isset($GLOBALS['phpgw_domain'])) { @@ -97,39 +99,20 @@ exit; } reset($GLOBALS['phpgw_domain']); - $default_domain = each($GLOBALS['phpgw_domain']); - $GLOBALS['phpgw_info']['server']['default_domain'] = $default_domain[0]; - unset ($default_domain); // we kill this for security reasons + list($GLOBALS['phpgw_info']['server']['default_domain']) = each($GLOBALS['phpgw_domain']); - $GLOBALS['login'] = get_var('login',Array('POST')); - $GLOBALS['logindomain'] = get_var('logindomain',Array('POST')); - - /* This code will handle virtdomains so that is a user logins with user@domain.com, it will switch into virtualization mode. */ - if (isset($domain) && $domain) + if (isset($_POST['login'])) // on login { - $GLOBALS['phpgw_info']['user']['domain'] = $domain; + $GLOBALS['login'] = $_POST['login']; + if (strstr($GLOBALS['login'],'@') === False) + { + $GLOBALS['login'] .= '@' . get_var('logindomain',array('POST'),$GLOBALS['phpgw_info']['server']['default_domain']); + } + list(,$GLOBALS['phpgw_info']['user']['domain']) = explode('@',$GLOBALS['login']); } - elseif (isset($GLOBALS['login']) && isset($GLOBALS['logindomain'])) + else // on "normal" pageview { - if (!ereg ("\@", $GLOBALS['login'])) - { - $GLOBALS['login'] = $GLOBALS['login'] . '@' . $GLOBALS['logindomain']; - } - $GLOBALS['phpgw_info']['user']['domain'] = $GLOBALS['logindomain']; - unset ($GLOBALS['logindomain']); - } - elseif (isset($GLOBALS['login']) && !isset($GLOBALS['logindomain'])) - { - if (ereg ("\@", $GLOBALS['login'])) - { - $login_array = explode('@', $GLOBALS['login']); - $GLOBALS['phpgw_info']['user']['domain'] = $login_array[1]; - } - else - { - $GLOBALS['phpgw_info']['user']['domain'] = $GLOBALS['phpgw_info']['server']['default_domain']; - $GLOBALS['login'] = $GLOBALS['login'] . '@' . $GLOBALS['phpgw_info']['user']['domain']; - } + $GLOBALS['phpgw_info']['user']['domain'] = get_var('domain', array('GET', 'COOKIE'), FALSE); } if (@isset($GLOBALS['phpgw_domain'][$GLOBALS['phpgw_info']['user']['domain']])) @@ -153,7 +136,6 @@ { unset ($GLOBALS['phpgw_domain']); // we kill this for security reasons } - unset ($domain); // we kill this to save memory @print_debug('domain',$GLOBALS['phpgw_info']['user']['domain'],'api'); @@ -232,6 +214,12 @@ unset($cache_query); unset($server_info_cache); + if(@isset($GLOBALS['phpgw_info']['server']['enforce_ssl']) && !$HTTPS) + { + Header('Location: https://' . $GLOBALS['phpgw_info']['server']['hostname'] . $GLOBALS['phpgw_info']['server']['webserver_url'] . $_SERVER['REQUEST_URI']); + exit; + } + /************************************************************************\ * Required classes * \************************************************************************/ @@ -289,16 +277,12 @@ { if ($GLOBALS['phpgw_info']['flags']['currentapp'] == 'login') { - if(@isset($GLOBALS['phpgw_info']['server']['enforce_ssl']) && $GLOBALS['phpgw_info']['server']['enforce_ssl'] && !$GLOBALS['HTTP_SERVER_VARS']['HTTPS']) + if (@$_POST['login'] != '') { - $GLOBALS['phpgw']->redirect($GLOBALS['HTTP_SERVER_VARS']['REQUEST_URI']); - } - if (@$login != '') - { - $login_array = explode("@",$login); - print_debug('LID : '.$login_array[0], 'messageonly','api'); - $login_id = $GLOBALS['phpgw']->accounts->name2id($login_array[0]); - print_debug('User ID : '.$login_id, 'messageonly','api'); + list($login) = explode("@",$_POST['login']); + print_debug('LID',$login,'app'); + $login_id = $GLOBALS['phpgw']->accounts->name2id($login); + print_debug('User ID',$login_id,'app'); $GLOBALS['phpgw']->accounts->accounts($login_id); $GLOBALS['phpgw']->preferences->preferences($login_id); } diff --git a/phpgwapi/setup/phpgw_br.lang b/phpgwapi/setup/phpgw_br.lang index a5ccb7e2ae..d6f7c7456b 100644 --- a/phpgwapi/setup/phpgw_br.lang +++ b/phpgwapi/setup/phpgw_br.lang @@ -100,7 +100,7 @@ your message as been sent common br Sua mensagem foi enviada your search returned 1 match common br sua pesquisa retornou 1 correspondecia your search returned %1 matchs common br Sua pesquisa retornou %1 correspondencias your settings have been updated common br suas preferencias foram atualizadas -bad login or password login br login ou senha incorreta +bad login or password common br login ou senha incorreta login login br Login password login br Password sorry, your login has expired login br Desculpe, sua conta expiorou diff --git a/phpgwapi/setup/phpgw_cs.lang b/phpgwapi/setup/phpgw_cs.lang index 580a203263..5fa49e9ae7 100644 --- a/phpgwapi/setup/phpgw_cs.lang +++ b/phpgwapi/setup/phpgw_cs.lang @@ -36,7 +36,7 @@ author common cs Autor autosave default category common cs Automaticky ukládat standartní kategorii azerbaijan common cs back common cs Zpìt -bad login or password login cs ©patné jméno nebo heslo +bad login or password common cs ©patné jméno nebo heslo bahamas common cs bahrain common cs bangladesh common cs diff --git a/phpgwapi/setup/phpgw_da.lang b/phpgwapi/setup/phpgw_da.lang index 356351dc2b..4b557dcb8e 100644 --- a/phpgwapi/setup/phpgw_da.lang +++ b/phpgwapi/setup/phpgw_da.lang @@ -35,7 +35,7 @@ author common da Forfatter autosave default category common da Autogem Standard Kategori azerbaijan common da Azerbaijan back common da Tilbage -bad login or password login da Forkert brugernavn eller password +bad login or password common da Forkert brugernavn eller password bahamas common da Bahamas bahrain common da Bahrain bangladesh common da Bangladesh diff --git a/phpgwapi/setup/phpgw_de.lang b/phpgwapi/setup/phpgw_de.lang index 3d707b8712..bf124c2747 100644 --- a/phpgwapi/setup/phpgw_de.lang +++ b/phpgwapi/setup/phpgw_de.lang @@ -35,7 +35,7 @@ austria common de ÖSTERREICH autosave default category common de Standard-Kategorie automatisch speichern azerbaijan common de ASERBAIDSCHAN back common de Zurück -bad login or password login de Falsches Login order Passwort +bad login or password common de Falscher Benutzername oder Passwort bahamas common de BAHAMAS bahrain common de BAHRAIN bangladesh common de BANGLADESH @@ -47,6 +47,7 @@ belize common de BELIZE benin common de BENIN bermuda common de BERMUDA bhutan common de BHUTAN +blocked, too many attempts common de Gesperrt, zu viele Versuche bolivia common de BOLIVIEN bosnia and herzegovina common de BOSNIEN UND HERZEGOVINA botswana common de BOTSWANA @@ -452,7 +453,7 @@ todays date, eg. "%1" common de heutiges Datum, zB. "%1" togo common de TOGO tokelau common de TOKELAU tonga common de TONGA -total common de Gesammt +total common de Gesamt trinidad and tobago common de TRINIDAD AND TOBAGO tuesday common de Dienstag tunisia common de TUNISIEN diff --git a/phpgwapi/setup/phpgw_en.lang b/phpgwapi/setup/phpgw_en.lang index 9f2e33c236..a1e59c26ae 100644 --- a/phpgwapi/setup/phpgw_en.lang +++ b/phpgwapi/setup/phpgw_en.lang @@ -36,7 +36,7 @@ author common en Author autosave default category common en Autosave Default Category azerbaijan common en AZERBAIJAN back common en Back -bad login or password login en Bad login or password +bad login or password common en Bad login or password bahamas common en BAHAMAS bahrain common en BAHRAIN bangladesh common en BANGLADESH @@ -48,6 +48,7 @@ belize common en BELIZE benin common en BENIN bermuda common en BERMUDA bhutan common en BHUTAN +blocked, too many attempts common en Blocked, too many attempts bolivia common en BOLIVIA bosnia and herzegovina common en BOSNIA AND HERZEGOVINA botswana common en BOTSWANA @@ -182,8 +183,11 @@ group access common en Group Access group has been added common en Group has been added group has been deleted common en Group has been deleted group has been updated common en Group has been updated +group name common en group name group public common en Group Public groups common en Groups +groups with permission for %1 common en Groups with permission for %1 +groups without permission for %1 common en Groups without permission for %1 guadeloupe common en GUADELOUPE guam common en GUAM guatemala common en GUATEMALA @@ -246,6 +250,7 @@ list common en List lithuania common en LITHUANIA local common en Local login common en Login +loginid common en LoginID logout common en Logout low common en Low lowest common en Lowest @@ -399,7 +404,9 @@ search common en Search section common en Section select common en Select select category common en Select Category +select group common en Select group select one common en Select one +select user common en Select user send common en Send senegal common en SENEGAL september common en September @@ -483,6 +490,8 @@ use button to search for common en use Button to search for use button to search for address common en use Button to search for Address use button to search for project common en use Button to search for Project user common en User +user accounts common en user accounts +user groups common en user groups username common en Username users common en users users choice common en Users Choice diff --git a/phpgwapi/setup/phpgw_es.lang b/phpgwapi/setup/phpgw_es.lang index 2eadb7b7c9..739af16854 100644 --- a/phpgwapi/setup/phpgw_es.lang +++ b/phpgwapi/setup/phpgw_es.lang @@ -30,7 +30,7 @@ author common es Autor autosave default category common es Autograbar Categoria Predeterminada azerbaijan common es AZERBAIJAN back common es Volver -bad login or password login es Nombre de Usuario o Clave invalido +bad login or password common es Nombre de Usuario o Clave invalido bahamas common es BAHAMAS bahrain common es BAHRAIN bangladesh common es BANGLADESH diff --git a/phpgwapi/setup/phpgw_fi.lang b/phpgwapi/setup/phpgw_fi.lang index 87940105d9..de62667f68 100644 --- a/phpgwapi/setup/phpgw_fi.lang +++ b/phpgwapi/setup/phpgw_fi.lang @@ -30,7 +30,7 @@ author common fi Luonut autosave default category common fi Tallenna oletusluokka automaattisesti azerbaijan common fi AZERBAIJAN back common fi Takaisin -bad login or password login fi Tunnus tai salasana ei kelpaa +bad login or password common fi Tunnus tai salasana ei kelpaa bahamas common fi BAHAMA bahrain common fi BAHRAIN bangladesh common fi BANGLADESH diff --git a/phpgwapi/setup/phpgw_fr.lang b/phpgwapi/setup/phpgw_fr.lang index d92f12a2c6..a82bdde288 100644 --- a/phpgwapi/setup/phpgw_fr.lang +++ b/phpgwapi/setup/phpgw_fr.lang @@ -32,7 +32,7 @@ author common fr Auteur autosave default category common fr Sauvegarde automatique dans catégorie par défaut azerbaijan common fr AZERBAIDJAN back common fr Retour -bad login or password login fr Mauvais login ou mot de passe +bad login or password common fr Mauvais login ou mot de passe bahamas common fr BAHAMAS bahrain common fr BAHRAIN bangladesh common fr BANGLADESH diff --git a/phpgwapi/setup/phpgw_hu.lang b/phpgwapi/setup/phpgw_hu.lang index 27542b235f..5c15736949 100644 --- a/phpgwapi/setup/phpgw_hu.lang +++ b/phpgwapi/setup/phpgw_hu.lang @@ -112,7 +112,7 @@ your message has been sent common hu your search returned 1 match common hu Keresés végeredménye: 1 találat your search returned %1 matchs common hu Keresés végeredménye: %1 találat your settings have been updated common hu A beállításai módosításra kerültek -bad login or password login hu Rossz felhasználó vagy jelszó +bad login or password common hu Rossz felhasználó vagy jelszó login login hu Belépés password login hu Jelszó phpgroupware login login hu phpGroupWare bejelentkezés diff --git a/phpgwapi/setup/phpgw_it.lang b/phpgwapi/setup/phpgw_it.lang index 7714869f58..944f0003c4 100644 --- a/phpgwapi/setup/phpgw_it.lang +++ b/phpgwapi/setup/phpgw_it.lang @@ -30,7 +30,7 @@ author common it Autore autosave default category common it Categoria default per il salvataggio automatico azerbaijan common it AZERBAIJAN back common it Indietro -bad login or password login it Nome utente o password sbagliati +bad login or password common it Nome utente o password sbagliati bahamas common it BAHAMAS bahrain common it BAHRAIN bangladesh common it BANGLADESH diff --git a/phpgwapi/setup/phpgw_ja.lang b/phpgwapi/setup/phpgw_ja.lang index 6e8087e959..12a9438ee1 100644 --- a/phpgwapi/setup/phpgw_ja.lang +++ b/phpgwapi/setup/phpgw_ja.lang @@ -213,7 +213,7 @@ your search has returned no matchs ! common ja your search returned 1 match common ja £±·ï¸«¤Ä¤«¤ê¤Þ¤·¤¿¡£ your search returned %1 matchs common ja %1 ·ï¸«¤Ä¤«¤ê¤Þ¤·¤¿¡£ your settings have been updated common ja Your settings have been Updated -bad login or password login ja ¥Ñ¥¹¥ï¡¼¥É¤¬¸í¤Ã¤Æ¤¤¤Þ¤¹ +bad login or password common ja ¥Ñ¥¹¥ï¡¼¥É¤¬¸í¤Ã¤Æ¤¤¤Þ¤¹ login login ja ¥í¥°¥¤¥ó password login ja ¥Ñ¥¹¥ï¡¼¥É phpgroupware login login ja phpGroupWare login diff --git a/phpgwapi/setup/phpgw_ko.lang b/phpgwapi/setup/phpgw_ko.lang index b38b8b0d20..aa3a455a5c 100644 --- a/phpgwapi/setup/phpgw_ko.lang +++ b/phpgwapi/setup/phpgw_ko.lang @@ -108,7 +108,7 @@ your message has been sent common ko your search returned 1 match common ko 1°ÇÀÇ °á°ú°¡ °Ë»öµÇ¾ú½À´Ï´Ù. your search returned %1 matchs common ko %1°ÇÀÇ °á°ú°¡ °Ë»öµÇ¾ú½À´Ï´Ù. your settings have been updated common ko ¼³Á¤ÀÌ º¯°æµÇ¾ú½À´Ï´Ù. -bad login or password login ko »ç¿ëÀÚID³ª Æнº¿öµå°¡ Ʋ¸³´Ï´Ù. +bad login or password common ko »ç¿ëÀÚID³ª Æнº¿öµå°¡ Ʋ¸³´Ï´Ù. login login ko ·Î±×ÀÎ password login ko ºñ¹Ð¹øÈ£ sorry, your login has expired login ko »ç¿ëÀÚID¸¦ ´õ ÀÌ»ó »ç¿ëÇϽǼö ¾ø½À´Ï´Ù. diff --git a/phpgwapi/setup/phpgw_nl.lang b/phpgwapi/setup/phpgw_nl.lang index bf7bb641a1..dc5ef7327c 100644 --- a/phpgwapi/setup/phpgw_nl.lang +++ b/phpgwapi/setup/phpgw_nl.lang @@ -123,7 +123,7 @@ your search returned 1 match common nl Uw zoekopdracht leverde 1 item op your search returned %1 matchs common nl Uw zoekopdracht leverde %1 items op your settings have been updated common nl Uw instellingen zijn gewijzigd powered by phpgroupware version %1 all nl Deze site werkt met phpGroupWare version %1 -bad login or password login nl Onjuiste gebruikersnaam of wachtwoord +bad login or password common nl Onjuiste gebruikersnaam of wachtwoord login login nl Aanmelden password login nl Wachtwoord phpgroupware login login nl pgpGroupWare aanmelding diff --git a/phpgwapi/setup/phpgw_no.lang b/phpgwapi/setup/phpgw_no.lang index fce4c43e3c..45e61c2caf 100644 --- a/phpgwapi/setup/phpgw_no.lang +++ b/phpgwapi/setup/phpgw_no.lang @@ -102,7 +102,7 @@ your message has been sent common no Din melding har blitt sent your search returned 1 match common no ditt søk gav 1 match your search returned %1 matchs common no ditt søk gav %1 match your settings have been updated common no Dine innstillinger har blitt oppdatert -bad login or password login no Ugyldig login eller passord +bad login or password common no Ugyldig login eller passord login login no Login password login no Passord sorry, your login has expired login no Beklager, din login er utgått diff --git a/phpgwapi/setup/phpgw_pl.lang b/phpgwapi/setup/phpgw_pl.lang index fdc2e74b1e..877c239946 100755 --- a/phpgwapi/setup/phpgw_pl.lang +++ b/phpgwapi/setup/phpgw_pl.lang @@ -30,7 +30,7 @@ author common pl Autor autosave default category common pl Automatyczny zapis domy¶lnej kategorii azerbaijan common pl AZERBEJD¯AN back common pl Powrót -bad login or password login pl B³êdna nazwa u¿ytkownika lub has³o +bad login or password common pl B³êdna nazwa u¿ytkownika lub has³o bahamas common pl BAHAMY bahrain common pl BAHRAJN bangladesh common pl BANGLADESZ diff --git a/phpgwapi/setup/phpgw_pt.lang b/phpgwapi/setup/phpgw_pt.lang index bf4b0bd397..10fa98d445 100644 --- a/phpgwapi/setup/phpgw_pt.lang +++ b/phpgwapi/setup/phpgw_pt.lang @@ -30,7 +30,7 @@ author common pt Autor autosave default category common pt Salvar automaticamente categoria padrão azerbaijan common pt AZERBAIJAN back common pt Voltar -bad login or password login pt Login ou senha incorretos +bad login or password common pt Login ou senha incorretos bahamas common pt BAHAMAS bahrain common pt BAHRAIN bangladesh common pt BANGLADESH diff --git a/phpgwapi/setup/phpgw_sv.lang b/phpgwapi/setup/phpgw_sv.lang index d5b981bea1..4e20709711 100644 --- a/phpgwapi/setup/phpgw_sv.lang +++ b/phpgwapi/setup/phpgw_sv.lang @@ -125,7 +125,7 @@ your search returned 1 match common sv din s your search returned %1 matchs common sv din sökning gav %1 träffar your settings have been updated common sv Dina innställningar har blivit uppdaterade zip code common sv Postnummer -bad login or password login sv Ogiltigt login eller lösenord +bad login or password common sv Ogiltigt login eller lösenord sorry, your login has expired login sv Beklagar, din login har utgått use cookies login sv Använd cookies username login sv Användarnamn diff --git a/phpgwapi/setup/phpgw_zt.lang b/phpgwapi/setup/phpgw_zt.lang index 2c27b21765..3e4e38be2f 100644 --- a/phpgwapi/setup/phpgw_zt.lang +++ b/phpgwapi/setup/phpgw_zt.lang @@ -27,7 +27,7 @@ australia common zt AUSTRALIA austria common zt AUSTRIA autosave default category common zt ¦Û°ÊÀx¦s¹w³]¤ÀÃþ¥Ø¿ý azerbaijan common zt AZERBAIJAN -bad login or password login zt ¿ù»~ªº¨Ï¥ÎªÌ¥N½X©Î±K½X +bad login or password common zt ¿ù»~ªº¨Ï¥ÎªÌ¥N½X©Î±K½X bahamas common zt BAHAMAS bahrain common zt BAHRAIN bangladesh common zt BANGLADESH diff --git a/phpgwapi/setup/setup.inc.php b/phpgwapi/setup/setup.inc.php index 3fdc84728c..7886db0b57 100755 --- a/phpgwapi/setup/setup.inc.php +++ b/phpgwapi/setup/setup.inc.php @@ -12,7 +12,7 @@ /* Basic information about this app */ $setup_info['phpgwapi']['name'] = 'phpgwapi'; - $setup_info['phpgwapi']['version'] = '0.9.15.012'; + $setup_info['phpgwapi']['version'] = '0.9.15.013'; $setup_info['phpgwapi']['versions']['current_header'] = '1.23'; $setup_info['phpgwapi']['enable'] = 3; $setup_info['phpgwapi']['app_order'] = 1; diff --git a/phpgwapi/setup/tables_current.inc.php b/phpgwapi/setup/tables_current.inc.php index 70c10c7606..82ad339851 100644 --- a/phpgwapi/setup/tables_current.inc.php +++ b/phpgwapi/setup/tables_current.inc.php @@ -112,12 +112,12 @@ ), 'phpgw_access_log' => array( 'fd' => array( - 'sessionid' => array('type' => 'char', 'precision' => 32), - 'loginid' => array('type' => 'varchar', 'precision' => 30), - 'ip' => array('type' => 'varchar', 'precision' => 30), - 'li' => array('type' => 'int', 'precision' => 4), - 'lo' => array('type' => 'varchar', 'precision' => 255), - 'account_id' => array('type' => 'int', 'precision' => 4, 'default' => 0, 'nullable' => False) + 'sessionid' => array('type' => 'char','precision' => '32','nullable' => False), + 'loginid' => array('type' => 'varchar','precision' => '30','nullable' => False), + 'ip' => array('type' => 'varchar','precision' => '30','nullable' => False), + 'li' => array('type' => 'int','precision' => '4','nullable' => False), + 'lo' => array('type' => 'int','precision' => '4','nullable' => True,'default' => '0'), + 'account_id' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0') ), 'pk' => array(), 'fk' => array(), diff --git a/phpgwapi/setup/tables_update.inc.php b/phpgwapi/setup/tables_update.inc.php index f1065265f8..687f2917b7 100644 --- a/phpgwapi/setup/tables_update.inc.php +++ b/phpgwapi/setup/tables_update.inc.php @@ -139,6 +139,14 @@ return $GLOBALS['setup_info']['phpgwapi']['currentver']; } + $test[] = '0.9.14.506'; + function phpgwapi_upgrade0_9_14_506() + { + // 0.9.15.001-13 are already included in 0.9.14.506 + $GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.013'; + return $GLOBALS['setup_info']['phpgwapi']['currentver']; + } + $test[] = '0.9.15.001'; function phpgwapi_upgrade0_9_15_001() { @@ -382,4 +390,19 @@ $GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.012'; return $GLOBALS['setup_info']['phpgwapi']['currentver']; } + + $test[] = '0.9.15.012'; + function phpgwapi_upgrade0_9_15_012() + { + $GLOBALS['phpgw_setup']->oProc->AlterColumn('phpgw_access_log','lo',array( + 'type' => 'int', + 'precision' => '4', + 'nullable' => True, + 'default' => '0' + )); + + + $GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.013'; + return $GLOBALS['setup_info']['phpgwapi']['currentver']; + } ?>