.

Usermanagement

A complete role based user management implementation. More...

Classes

class   AccessDeniedRedirectRenderDecorator
  Catches 403 and redirects to login page, if user is not already logged in. More...
class   AccessRenderDecorator
  Allow access only for logged in users (of given role). More...
class   AdminDashboard
  Default dashboard implementation for admins. More...
class   AnonymousCacheManager
  Cache manager that caches only if user is not logged in. More...
class   ChangeemailConfirmationHandler
  Confirm email change. More...
class   ChangepasswordConfirmationHandler
  Confirm password change. More...
class   ConfigUsermanagement
  Usermanagement config options. More...
class   ConfirmEmailUsersBaseCommand
  Confirm email of user. More...
class   ConfirmemailUsersCommand
  Confirm a user's email address. More...
class   ConfirmPasswordUsersBaseCommand
  Confirm assword change of user. More...
class   ConfirmpasswordUsersCommand
  Confirm a user's password change. More...
class   CreateaccountConfirmationHandler
  Confirm account creation. More...
class   CreatePermanentloginsCommand
  Create a permanent login. More...
class   CreateUsersBaseCommand
  Create a user command to be overloaded. More...
class   CreateUsersCommand
  Create a user. More...
class   DAOPermanentlogins
  Table Definition for permanentlogins. More...
class   DAOSystemUsers
  A fake user class to use as system user. More...
class   DAOUserroles
  Table Definition for userroles. More...
class   DAOUsers
  Table Definition for users. More...
class   DashboardBase
  Dashboard base class. More...
class   DefaultDashboard
  Default dashboard for all users. More...
class   EditorDashboard
  Default dashboard for editor. More...
class   EndPermanentloginsCommand
  End a permanent login. More...
class   FilterUsername
  Filter name and emial for user name. More...
interface   IDashboard
  Interface for Dashboard implementations. More...
interface   IHashAlgorithm
  Interface for Hash algorithm implementations. More...
class   LoggedInSwitchCacheManager
  Cache manager that caches two versions: One for logged in users and one for guests. More...
class   LoginknownUsersBaseCommand
  Login known user command to be overloaded. More...
class   LoginknownUsersCommand
  Login known user. More...
class   LoginUsersBaseCommand
  Login command to be overloaded. More...
class   LoginUsersCommand
  Login. More...
class   LogoutUsersBaseCommand
  Logout command to be overloaded. More...
class   LogoutUsersCommand
  Logout. More...
class   Md5Hash
  Calculates an MD5 hash. More...
class   OnetimeloginConfirmationHandler
  Confirm onetime login (lost password). More...
class   Pas2fHash
  Calculates a hash using PHPPass 0.2 in full mode. More...
class   Pas2pHash
  Calculates a hash using PHPPass 0.2 in portable mode. More...
class   Pas3fHash
  Calculates a hash using PHPPass 0.3 in full mode. More...
class   Pas3pHash
  Calculates a hash using PHPPass 0.3 in portable mode. More...
class   PermanentLogins
  Helper functions around permant logins. More...
class   RegisterUsersBaseCommand
  Register command to be overloaded. More...
class   RegisterUsersCommand
  Register. More...
class   RestartsessionUsersBaseCommand
  Restart session before logign in user - created salted session id. More...
class   RestartsessionUsersCommand
  Login. More...
class   Sha1Hash
  Calculates an SHA1 hash. More...
class   StatusAnyUsersCommand
  Command to set status. More...
class   UpdateUsersBaseCommand
  Update a user. More...
class   UpdateUsersCommand
  Update a user. More...
class   UserBaseController
  Basic user controller, offers log in, logout etc. More...
class   UserRoles
  Helpers for user role retrieval. More...
class   Users
  Usermanagement Business Logic. More...
class   UsersAccessControl
  User Access Control for Users. More...
class   UsersViewEventSink
  Catch view events to extend rendering. More...
class   ValidateemailConfirmationHandler
  Confirm current email address. More...
class   ValidateUsersBaseCommand
  Validate a user before create, update etc. More...
class   ValidateUsersCommand
  Validate a user. More...

Functions

  users_load_translations ($languages)
  Users translations.

Detailed Description

A complete role based user management implementation.

Usage

After enabling user management, check if the UserController is correctly installed at /app/controllers/user.controller.php. If not, create your own, and derive it from UserBaseController. You can disable or enable features like user registration, login, mail on password loss etc. by overloading the function get_features_policy().

The user management is roled based, whereas roles can be defined in table userroles. By default three roles are set: "Admin", "Editor", and "User". There also is a System user role, which however should not be assignable to users, so it is not stored in userroles table.

Users can have more than one role. They will always have at least one, though. This role is by default "User", you may change it by redefining APP_USER_DEFAULT_ROLE.

Routing and Caching

Use AccessRenderDecorator to allow access to a route only for logged in users or users with given roles. See UserBaseController for some examples.

The AnonymousCacheManager should be used as default cache. It will disable cache for logged in users. Change /app/ww/index.php and replace creating the PageData instance with this code:

 $cache_manager = new AnonymousCacheManager();
 $page_data = new PageData($cache_manager, $_GET, $_POST);
Attention:
It is a common pitfall to forget this! Your users' data may become public if you do!

Views

If user management is enabled, all views are extended by two variables:

  • $current_user: The current user (DAOUsers) or false, if no user is logged in
  • $is_logged_in: True if user is logged in, false otherwise

Pasword Hashing

The usermanagement offers several different password hashing methods. See ConfigUsermanagement for details. Default is "md5". This choice has been made for compatability reasons. Most likely, though, salted md5 (portable phpass) will become the default in the near future, since this is usually regarded more safe.

You may however want to enable salted md5 right away. Do so by defining APP_USER_HASH_TYPE:

 define('APP_USER_HASH_TYPE', 'pas2p');

The system will automatically update the password hash on login, if a user's hash type differs from the default one. This makes it safe to change the hash type at any time.

Update from 0.5 to 0.5.1 or later

With 0.5.1 release a "hash_type" field has been added to users table, along with some changes regarding DB consistency. If you do not use Systemupdate module, please run the SQL in [module]/install/updates/0001_hash_type.sql manually.

Additionally, some changes have been made to the config options. Namely

  • Usermanagement config moved to Config class
  • Names of configuration defines have been unified:
    • USER_DEFAULT_ROLE => APP_USER_DEFAULT_ROLE
    • APP_DEFAULT_PAGE_USER => APP_USER_APP_DEFAULT_PAGE
    • APP_DEFAULT_PAGE_ADMIN => has been removed

If you are not sure, if this has consequences for your code, set APP_VERSION_MAX to 0.5:

 define('APP_VERSION_MAX', 0.5);

This will enable a compatibility layer. In most cases, however, transition should be smooth, since default values usually don't get modified.


Function Documentation

users_load_translations ( languages  ) 

Users translations.

Author:
Gerd Riesselmann, Catarina Schmidt (pt)

Definition at line 8 of file users.translations.php.

00008                                              {
00009         return array(
00010                 'UNCONFIRMED' => array(
00011                         'en' => 'Unconfirmed',
00012                         'de' => 'Unbestätigt'
00013                 ),
00014                 'ACTIVE' => array(
00015                         'en' => 'Active',
00016                         'de' => 'Aktiv'
00017                 ),
00018                 'DISABLED' => array(
00019                         'en' => 'Disabled',
00020                         'de' => 'Inaktiv'
00021                 ),
00022                 'DELETED' => array(
00023                         'en' => 'Deleted',
00024                         'de' => 'Gelöscht'
00025                 ),      
00026                 'CONFIRMED' => array(
00027                         'en' => 'Confirmed',
00028                         'de' => 'Bestätitgt'
00029                 ),      
00030                 'EXPIRED' => array(
00031                         'en' => 'Expired',
00032                         'de' => 'Abgelaufen'
00033                 ),      
00034                 'BOUNCED' => array(
00035                         'en' => 'Bounced',
00036                         'de' => 'Unzustellbar'
00037                 ),      
00038                 'E-mail' => array(
00039                         'de' => 'E-Mail',
00040                         'pt' => 'e-mail'
00041                 ),
00042                 'Registered since' => array(
00043                         'de' => 'Mitglied seit',
00044                         'pt' => 'Membro desde'
00045                 ),
00046                 'Username or password are wrong. Please try again.' => array(
00047                         'de' => 'Benutzername oder Passwort waren falsch. Bitte versuchen Sie es noch einmal.',
00048                         'pt' => 'Nome de usuário ou senha estão errados. Por favor tente novamente.'
00049                 ),
00050                 'Your account has not yet been activated' => array(
00051                         'en' => 'Your account has not yet been activated. Please activate it using the url that has been mailed to you.',
00052                         'de' => 'Ihr Zugang wurde noch nicht aktiviert. Bitte aktivieren Sie Ihren Zugang mit dem Link, der Ihnen per E-Mail zugegangen ist.',
00053                         'pt' => 'O seu acesso ainda não foi ativado. Por favor ative o seu acesso através do link que lhe foi enviado por e-mail.'
00054                 ),
00055                 'Activation code could not be created' => array(
00056                         'en' => 'Activation code could not be created. Please try again',
00057                         'de' => 'Aktivierungscode konnte nicht erzeugt werden. Bitte versuchen Sie es noch einmal.',
00058                         'pt' => 'Não foi possível gerar o código de ativação. Por favor tente novamente.'
00059                 ),
00060                 'An user with this username already exists' => array(
00061                         'de' => 'Ihr gewählter Benutzername ist leider bereits vergeben'
00062                 ),
00063                 'No password' => array(
00064                         'en' => 'Please enter a password',
00065                         'de' => 'Bitte geben Sie Ihr Passwort ein',
00066                         'pt' => 'Por favor digite a sua senha'
00067                 ),
00068                 'Your registration' => array(
00069                         'de' => 'Ihre Registrierung',
00070                         'pt' => 'O seu cadastro'
00071                 ),
00072                 'Change e-mail address' => array(
00073                         'de' => 'E-Mail-Adresse ändern',
00074                         'pt' => 'Mudar o endereço e-mail'
00075                 ),
00076                 'Confirm new e-mail address' => array(
00077                         'de' => 'Neue E-Mail-Adresse bestätigen',
00078                         'pt' => 'Confirmar endereço eletrônico'
00079                 ),
00080                 'Confirm your e-mail address' => array(
00081                         'de' => 'E-Mail-Adresse bestätigen',
00082                         'pt' => 'Confirmar endereço eletrônico'
00083                 ),
00084                 'Administer catalogue' => array(
00085                         'de' => 'Katalog verwalten',
00086                         'pt' => 'Administrar o catálogo'
00087                 ),
00088                 'My catalogue' => array(
00089                         'de' => 'Mein Katalog',
00090                         'pt' => 'O meu catálogo'
00091                 ),
00092                 'Edit and administer entries and user settings' => array(
00093                         'de' => 'Einträge und Benutzereinstellungen ändern und verwalten',
00094                         'pt' => 'Gerir e editar entradas e definições do usuário'
00095                 ),
00096                 'Login' => array(
00097                         'de' => 'Anmelden',
00098                         'pt' => 'Login'                 
00099                 ),
00100                 'Log into %app%' => array(
00101                         'de' => 'In %app% einloggen',
00102                         'pt' => 'Efetuar Login em %app%'
00103                 ),
00104                 'Register' => array(
00105                         'de' => 'Registrieren',
00106                         'pt' => 'Cadastrar-se'
00107                 ),
00108                 'Registered user can add and edit entries' => array(
00109                         'de' => 'Registrierte Benutzer können Einträge anlegen und ändern',
00110                         'pt' => 'Usuários cadastrados podem criar e editar entradas'
00111                 ),
00112                 'Logged in as %user%' => array(
00113                         'de' => 'Angemeldet als %user%',
00114                         'pt' => 'Logado como %user%'
00115                 ),
00116                 'Logout' => array(
00117                         'de' => 'Abmelden',
00118                         'pt' => 'Logout'
00119                 ),
00120                 'Quit %app%' => array(
00121                         'de' => '%app% verlassen',
00122                         'pt' => 'Sair de %app%'
00123                 ),
00124                 'Confirmation' => array(
00125                         'de' => 'Bestätigung',
00126                         'pt' => 'Confirmação'
00127                 ),
00128                 'Edit user %name%' => array(
00129                         'de' => 'Benutzerdaten für %name% ändern',
00130                         'pt' => 'Editar dados do usuário %name%'
00131                 ),
00132                 'All users' => array(
00133                         'de' => 'Alle Benutzer',
00134                         'pt' => 'Todos os usuários'
00135                 ),
00136                 'Already logged in' => array(
00137                         'en' => 'You are already logged in',
00138                         'de' => 'Sie sind bereits angemeldet',
00139                         'pt' => 'Já está logado'
00140                 ),
00141                 'Password and password confirmation are different' => array(
00142                         'de' => 'Passwort und Bestätigung stimmen nicht überein',
00143                         'pt' => 'Senha e confirmação não coincidem'
00144                 ),
00145                 'Please agree to the Terms of Service' => array(
00146                         'de' => 'Bitte stimmen Sie den Allgemeinen Geschäftsbedingungen sowie den Datenschutzbestimmungen zu.',
00147                         'pt' => 'Por favor consinta nos termos e condições e às regras de protecção de dados.'
00148                 ),
00149                 'Your registration request has been created' => array(
00150                         'de' => 'Ihre Registrierung wurde angelegt. Eine E-Mail mit Ihren Zugangsdaten sowie einem Bestätigungslink ist unterwegs.',
00151                         'pt' => 'O seu cadastro foi criado. Um e-mail com os seus dados de login assim como um link de confirmação lhe foi enviado.'
00152                 ),
00153                 'Your registration has been confirmed' => array(
00154                         'de' => 'Sie haben Ihre Registrierung erfolgreich bestätigt.',
00155                         'pt' => 'O seu cadastro foi confirmado.'
00156                 ),
00157                 'Your changes have been stored' => array(
00158                         'de' => 'Ihre Änderungen wurden gespeichert',
00159                         'pt' => 'As suas alterações foram salvadas'
00160                 ),
00161                 'admin' => array(
00162                         'en' => 'Admin',
00163                         'de' => 'Administrator',
00164                         'pt' => 'Administrador'
00165                 ),
00166                 'user' => array(
00167                         'en' => 'User',
00168                         'de' => 'Normaler Benutzer',
00169                         'pt' => 'Usuário normal'
00170                 ),
00171                 'editor' => array(
00172                         'en' => 'Editor',
00173                         'de' => 'Redakteur',
00174                         'pt' => 'Editor'
00175                 ),
00176                 'VALIDATOR' => array(
00177                         'en' => 'Validator',
00178                         'de' => 'Eingangsprüfer',
00179                         'pt' => 'Revisor'
00180                 ),
00181                 'Admin' => array(
00182                         'de' => 'Administrator',
00183                         'pt' => 'Administrador'
00184                 ),
00185                 'User' => array(
00186                         'de' => 'Normaler Benutzer',
00187                         'pt' => 'Usuário normal'
00188                 ),
00189                 'Editor' => array(
00190                         'de' => 'Redakteur',
00191                         'pt' => 'Editor'
00192                 ),
00193                 'Unconfirmed' => array(
00194                         'de' => 'Nicht bestätigt',
00195                         'pt' => 'Não confirmado'
00196                 ),
00197                 'Deleted' => array(
00198                         'de' => 'Gelöscht',
00199                         'pt' => 'Apagado'
00200                 ),
00201                 'Banned' => array(
00202                         'de' => 'Gebannt',
00203                         'de' => 'Banido'
00204                 ),
00205                 'Active' => array(
00206                         'de' => 'Aktiv',
00207                         'pt' => 'Ativo'
00208                 ),
00209                 'Edit User' => array(
00210                         'de' => 'Benutzerdaten ändern',
00211                         'pt' => 'Editar dados de usuário'
00212                 ),
00213                 'Your account was set to "%status%"' => array(
00214                         'de' => 'Ihr Account wurde auf "%status%" gesetzt',
00215                         'pt' => 'A sua conta foi definida "%status%"'
00216                 ),
00217                 'Show User\'s Entries' => array(
00218                         'de' => 'Einträge des Benutzers',
00219                         'pt' => 'Entradas do usuário'
00220                 ),
00221                 'You are not allowed to login' => array(
00222                         'de' => 'Sie haben kein Recht, sich anzumelden',
00223                         'pt' => 'Não é permitido fazer o login'
00224                 ),
00225                 'Edit Acount' => array(
00226                         'de' => 'Zugangsdaten ändern',
00227                         'pt' => 'Alterar os dados de login'
00228                 ),
00229                 'Edit your account settings' => array(
00230                         'de' => 'Benutzername und Password ändern',
00231                         'pt' => 'Alterar nome de usuário e senha'
00232                 ),      
00233                 'Confirm your account settings' => array(
00234                         'de' => 'Zugangsdaten bestätigen',
00235                 ),      
00236                 'An user with this email address already exists' => array (
00237                         'de' => 'Es existiert bereits ein Benutzer mit dieser E-Mail-Adresse.',
00238                         'pt' => 'Já existe um usuário com este endereço de e-mail.'
00239                 ),
00240                 'Delete Account' => array(
00241                         'de' => 'Mitgliedschaft beenden',
00242                         'pt' => 'Cancelar assinatura'
00243                 ),
00244                 'Delete your account' => array(
00245                         'de' => 'Löscht Ihren Account und Ihre persönlichen Daten',
00246                         'pt' => 'Apaga a sua conta e os seus dados pessoais'
00247                 ),
00248                 'Your account has been deleted' => array(
00249                         'de' => 'Ihre Mitgliedschaft wurde beendet und Ihre persönlichen Daten werden umgehend gelöscht',
00250                         'de' => 'A sua assinatura foi cancelada e os seus dados pessoais serão apagados imediatamente'
00251                 ),
00252                 'No user set to delete' => array(
00253                         'de' => 'Delete User Command: Es wurde kein Benutzer gesetzt'   ,
00254                         'pt' => 'Delete User Command: Nenhum usuário definido'
00255                 ),
00256                 'User Role' => array(
00257                         'de' => 'Berechtigung',
00258                         'pt' => 'Permissão'
00259                 ),
00260                 'Lost password' => array(
00261                         'de' => 'Passwort vergessen',
00262                         'de' => 'Esqueceu senha'
00263                 ),
00264                 'Your one time login request has been created' => array(
00265                         'de' => 'Es wurde ein einmaliges Login für Sie eingerichtet. Bitte prüfen Sie Ihre E-Mail.',
00266                         'pt' => 'O seu login único foi criado. Por favor verifique o seu e-mail.'
00267                 ),
00268                 'Unknown email' => array(
00269                         'de' => 'Unbekannte E-Mail-Adresse',
00270                         'pt' => 'Endereço e-mail desconhecido'
00271                 ),
00272                 'One time login' => array(
00273                         'de' => 'Einmaliges automatisches Login',
00274                         'pt' => 'Login automático único'
00275                 ),
00276                 'Resend Activation Mail' => array(
00277                         'de' => 'Aktivierungsmail erneut zuschicken',
00278                         'pt' => 'Enviar novamente e-mail de ativação'
00279                 ),
00280                 'Your activation information mail has been send to you again' => array(
00281                         'de' => 'Ihre Aktivierungsmail wurde Ihnen erneut zugeschickt.',
00282                         'pt' => 'O e-mail da sua ativação foi enviado novamente.'
00283                 ),
00284                 'Your account already has been activated, use you email address and password to log in.' => array(
00285                         'de' => 'Ihr Zugang wurde bereits freigeschaltet. Melden Sie sich mit Ihrer E-Mail-Adresse und Ihrem Passwort an.',
00286                         'pt' => 'A sua conta já foi activada. Efectue o Login com o seu endereço de e-mail e a sua senha.'
00287                 ),
00288                 'You activation request already has expired.' => array(
00289                         'de' => 'Ihre Aktivierung ist nicht länger gültig und wurde gelöscht.',
00290                         'pt' => 'A sua ativação já expirou e foi apagada.'
00291                 ),
00292                 'You are now logged in. Feel comfortable.' => array(
00293                         'de' => 'Hallo! Sie sind nun eingeloggt.',
00294                         'de' => 'Bem-vindo! Você está logado.'
00295                 ),
00296                 'Please enter your username and password and click <strong>Login</strong>.' => array(
00297                         'de' => 'Bitte geben Sie Ihren Benutzernamen und Ihr Passwort ein und drücken dann auf <strong>Anmelden</strong>.',
00298                         'pt' => 'Por favor introduza o seu nome de usuário de a sua senha e clique em <strong>Login</strong>.'
00299                 ),
00300                 'Forgot password?' => array(
00301                         'de' => 'Passwort vergessen?',
00302                         'pt' => 'Esqueceu senha?'
00303                 ),
00304                 'Username:' => array(
00305                         'de' => 'Benutzername:',
00306                         'pt' => 'Nome de usuário:'
00307                 ),
00308                 'Password:' => array(
00309                         'de' => 'Passwort:',
00310                         'pt' => 'Senha:'
00311                 ),
00312                 'New password:' => array(
00313                         'de' => 'Neues Passwort:',
00314                         'pt' => 'Senha nova:'
00315                 ),
00316                 'Old password:' => array(
00317                         'de' => 'Altes Passwort:',
00318                         'pt' => 'Senha actual:'
00319                 ),
00320                 'Registered, but got no confirmation mail?' => array(
00321                         'de' => 'Registriert, aber noch keine Bestätigungs-Mail bekommen?',
00322                         'pt' => 'Cadastrado, mas ainda não reçebeu o e-mail de confirmação?'
00323                 ),
00324                 'Stay logged in.' => array(
00325                         'de' => 'Eingeloggt bleiben, nachdem der Browser geschlossen wurde',
00326                         'pt' => 'Ficar logado depois de fechar o navegador'
00327                 ),
00328                 'Click here to become a member.' => array(
00329                         'de' => 'Klicken Sie hier, um Mitglied zu werden',
00330                         'pt' => 'Clique aqui para tornar-se membro'
00331                 ),
00332                 'Welcome! You are now logged in.' => array(
00333                         'de' => 'Willkommen! Sie sind nun eingeloggt.',
00334                         'pt' => 'Bem-vindo! Agora está logado.'
00335                 ),
00336                 'Application Management' => array(
00337                         'de' => 'Administration',
00338                         'pt' => 'Administração'
00339                 ),
00340                 'Your links' => array(
00341                         'de' => 'Persönliche Einstellungen',
00342                         'pt' => 'Configurações pessoais'
00343                 ),
00344                 'List unconfirmed users' => array(
00345                         'de' => 'Unbestätigte Benutzer auflisten',
00346                         'pt' => 'Mostar usuários não confirmados'
00347                 ),
00348                 'List all users' => array(
00349                         'de' => 'Alle Benutzer auflisten',
00350                         'pt' => 'Mostar todos os usuários'
00351                 ),
00352                 'Edit your account' => array(
00353                         'de' => 'Benutzerdaten ändern',
00354                         'pt' => 'Alterar os dados da sua conta'
00355                 ),
00356                 'Welcome %name' => array(
00357                         'de' => 'Willkommen, %name!',
00358                         'pt' => 'Bem-vindo, %name!'
00359                 ),
00360                 'Not registered yet?' => array(
00361                         'de' => 'Noch kein Mitglied?',
00362                         'pt' => 'Ainda não está cadastrado?'
00363                 ),
00364                 'Your personal site' => array(
00365                         'de' => 'Kontrollzentrum',
00366                         'pt' => 'centro de controle'
00367                 ),
00368                 'Content Management' => array(
00369                         'de' => 'Inhalte verwalten',
00370                         'pt' => 'gerenciar conteúdo'
00371                 ),
00372                 'User Menu' => array(
00373                         'de' => 'Benutzermenü',
00374                         'pt' => 'menu do usuário'
00375                 ),
00376                 'You have been logged out' => array(
00377                         'de' => 'Sie wurden abgemeldet',
00378                         'pt' => 'Você foi desconectado'
00379                 ),
00380                 'Become a member' => array(
00381                         'de' => 'Mitglied werden',
00382                         'pt' => 'Tornar-se membro'
00383                 ),
00384                 'Fill in the fields and click <strong>Register</strong> to become a member. You will get an e-mail with a confirmation link afterwards.' => array(
00385                         'de' => 'Füllen Sie die Felder aus und klicken anschließend <strong>Registrieren</strong> um ein Mitglied zu werden. Sie bekommen anschließend eine E-Mail mit einem Bestätigungslink.' ,
00386                         'pt' => 'Preencha estes campos e clique <strong>Cadastrar-se</strong> para tornar-se membro. Depois receberá um e-mail com um link de confirmação.'
00387                 ),
00388                 'If you enter your e-mail address, the system will send you a link to log you in for once. You then will be able to change your password.' => array(
00389                         'de' => 'Geben Sie Ihre E-Mail-Adresse ein. Das System schickt Ihnen einen Link, mit dem Sie sich einmalig einloggen können. Dort können Sie dann Ihr Passwort ändern.',
00390                         'pt' => 'Introduza o seu endereço de e-mail. O sistema enviará um link, com o qual se pode fazer um login único. Lá você pode alterar a sua senha.'
00391                 ),
00392                 'Please enter your e-mail address and click <strong>Submit</strong> afterwards.' => array(
00393                         'de' => 'Bitte geben Sie Ihre E-Mail-Adresse ein und klicken anschließend auf <strong>Absenden</strong>',
00394                         'pt' => 'Por favor introduza o seu endereço de e-mail e clique em <strong>Enviar</strong>'
00395                 ),
00396                 'Submit' => array(
00397                         'de' => 'Absenden',
00398                         'pt' => 'Enviar'
00399                 ),
00400                 'Lost Password' => array(
00401                         'de' => 'Passwort vergessen',
00402                         'pt' => 'Esqueceu senha'
00403                 ),
00404                 'If you registered but did not receive an activation e-mail, you can force the mail to be resend by filling out the form and clicking on <strong>Resend</strong> below' => array(
00405                         'de' => 'Wenn Sie sich registriert haben, aber keine Aktivierungs-E-Mail bekommen haben, können Sie sich diese hier erneut zuschicken lassen. Tragen Sie dazu Ihre E-Mail-Adresse und klicken dann auf <strong>Erneut zusenden</strong>.' ,
00406                         'pt' => 'Se se cadastrou mas não reçebeu um e-mail de ativação, pode mandar reenviar aqui. Introduza o seu endereço de e-mail e clique em <strong>Reenviar</strong>.'
00407                 ),
00408                 'Please check, if the mail has been blocked as spam, before trying to resend.' => array(
00409                         'de' => 'Bitte prüfen Sie vorher, ob Ihr Mail-Programm oder Ihr Mail-Provider die Aktivierungsnachricht irrtümlich als Spam eingestuft haben.',
00410                         'pt' => 'Por favor verifique antes se o seu programa ou o seu provedor de e-mail classificou o e-mail de ativação como Spam.'
00411                 ),
00412                 'Resend' => array(
00413                         'de' => 'Erneut zusenden',
00414                         'pt' => 'Reenviar'
00415                 ),
00416                 'Edit' => array(
00417                         'de' => 'Bearbeiten',
00418                         'pt' => 'Editar'
00419                 ),
00420                 'Change Account Data' => array(
00421                         'de' => 'Benutzerkonto Bearbeiten',
00422                         'pt' => 'Editar dados de conta'
00423                 ),
00424                 'Fill out the fields below and click <strong>Save</strong> to save your data.' => array(
00425                         'de' => 'Füllen Sie die Felder aus und klicken Sie dann <strong>Speichern</strong> um die Daten zu übernehmen.',
00426                         'pt' => 'Preencha estes campos e clique <strong>Guardar</strong> para guardar os dados.'
00427                 ),
00428                 'If the e-mail changes, you will get a mail send to the new address to confirm this address exists.' => array(
00429                         'de' => 'Wenn sich Ihre E-Mail-Adresse ändert erhalten Sie eine Mail an die neue Adresse, um diese zu verifizieren.',
00430                         'pt' => 'No caso de o seu endereço de e-mail alterar, reçeberá um e-mail ao endereço novo para verificá-lo.'
00431                 ),
00432                 'Repeat Password:' => array(
00433                         'de' => 'Passwort wiederholen:',
00434                         'pt' => 'Repita senha:'
00435                 ),
00436                 'Repeat new password:' => array(
00437                         'de' => 'Neues Passwort wiederholen:',
00438                         'pt' => 'Repita senha nova:'
00439                 ),
00440                 'Leave these fields empty to not change the password.' => array(
00441                         'de' => 'Lassen Sie diese Felder leer um das Passwort nicht zu ändern.',
00442                         'pt' => 'Deixe este campo vazio para não alterar o senha.'
00443                 ),              
00444                 'E-mail:' => array(
00445                         'de' => 'E-Mail:',
00446                         'pt' => 'E-mail:'
00447                 ),              
00448                 'Save' => array(
00449                         'de' => 'Speichern',
00450                         'pt' => 'Guardar'
00451                 ),
00452                 'Users' => array(
00453                         'de' => 'Benutzer',
00454                         'pt' => 'Usuários'
00455                 ),
00456                 'Your changes have been saved' => array(
00457                         'de' => 'Ihre Änderungen wurden gespeichert',
00458                         'pt' => 'As suas alterações foram guardadas'
00459                 ),
00460                 'Your e-mail address has been changed' => array(
00461                         'de' => 'Ihre E-Mail-Adresse wurde geändert',
00462                         'pt' => 'O seu endereço eletrônico foi alterado.'
00463                 ),
00464                 'Please provide a user name for login' => array(
00465                         'de' => 'Bitte geben Sie einen Benuutzernamen ein.'                     
00466                 ),
00467                 'Please provide a password for login' => array(
00468                         'de' => 'Bitte geben Sie ein Passwort ein.'
00469                 ),
00470                 'Please agree to the Terms of Service.' => array(
00471                         'de' => 'Bitte stimmen Sie den Allgemeinen Geschäftsbedingungen zu.'
00472                 ),
00473                 'Your e-mail address has been successfully validated' => array(
00474                         'de' => 'Ihre E-Mail-Adresse wurde erfolgreich bestätigt.'
00475                 ),
00476                 'Waiting for e-mail verification' => array(
00477                         'de' => 'E-Mail-Bestätigung steht noch aus'
00478                 ),
00479                 'An e-mail has been send to <strong>%email</strong>. Please <strong>click the link inside the mail</strong> to confirm your e-mail address. <strong>Refresh this page</strong> afterwards.' => array(
00480                         'de' => 'Es wurde eine E-Mail an die Adress <strong>%email</strong> geschickt. Bitte <strong>klicken Sie auf den Link in der Mail</strong>, um die E-Mail-Adresse zu bestätigen. Anschließend <strong>laden Sie die Seite neu</strong>.'
00481                 ),
00482                 'No matching user account was found' => array(
00483                         'de' => 'Es wurde leider kein passender Benutzer-Account gefunden.'
00484                 ),
00485                 'You have been automatically logged in. You now can change your password.' => array(
00486                         'de' => 'Sie wurden automatisch angemeldet und können nun Ihr Passwort ändern.'
00487                 ),
00488                 'Please confirm changes of the email address by entering the password:' => array(
00489                         'de' => 'Bitte Änderung der E-Mail Adresse mit Passwort bestätigen:'
00490                 ),              
00491                 'The password entered for email change confirmation is not correct. Please try again.' => array(
00492                         'de' => 'Das Passwort für die Bestätigung der neuen E-Mail Adresse ist leider falsch. Bitte versuchen Sie es noch einmal.'
00493                 ),
00494                 'The old password is not correct. Please try again.' => array(
00495                         'de' => 'Das alte Passwort ist leider falsch. Bitte versuchen Sie es noch einmal.'
00496                 ),
00497                 'If the password changes, you will get a mail send to you to confirm this change.' => array(
00498                         'de' => 'Wenn Sie das Passwort ändern, erhalten Sie eine E-Mail, um die Änderung zu bestätigen.'
00499                 ),
00500                 'Your password has been changed' => array(
00501                         'de' => 'Ihr Passwort wurde geändert'
00502                 ),
00503                 'Confirm new password' => array(
00504                         'de' => 'Password-Änderung bestätigen'
00505                 )
00506         );
00507 }