Project

General

Profile

Feature #17825 » 20071204_felogin.patch

Administrator Admin, 2007-12-04 12:43

View differences:

typo3/sysext/felogin/locallang_db.xml (revision 0)
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3locallang>
<meta type="array">
<type>database</type>
<description>Language labels for database tables/fields belonging to extension 'felogin'</description>
</meta>
<data type="array">
<languageKey index="default" type="array">
<label index="tt_content.CType_pi1">Website User Login</label>
<label index="felogin_redirectPid">Redirect at Login to Page (felogin):</label>
<label index="tt_content.pi_flexform.general_header">General Header:</label>
<label index="tt_content.pi_flexform.general_message">General Message:</label>
<label index="tt_content.pi_flexform.redirect_header">Redirect Header:</label>
<label index="tt_content.pi_flexform.redirect_message">Redirect Message:</label>
<label index="tt_content.pi_flexform.welcome_header">Welcome Header:</label>
<label index="tt_content.pi_flexform.welcome_message">Welcome Message:</label>
<label index="tt_content.pi_flexform.success_header">Login Success Header:</label>
<label index="tt_content.pi_flexform.success_message">Login Success Message:</label>
<label index="tt_content.pi_flexform.error_header">Login Error Header:</label>
<label index="tt_content.pi_flexform.error_message">Login Error Message:</label>
<label index="tt_content.pi_flexform.status_header">Status Display Header:</label>
<label index="tt_content.pi_flexform.status_message">Status Display Message:</label>
<label index="tt_content.pi_flexform.logout_header">Logout Header:</label>
<label index="tt_content.pi_flexform.logout_message">Logout Message:</label>
<label index="tt_content.pi_flexform.forgot_header">Forgot Password Header:</label>
<label index="tt_content.pi_flexform.forgot_message">Forgot Password Message:</label>
<label index="tt_content.pi_flexform.sheet_general">General</label>
<label index="tt_content.pi_flexform.sheet_redirect">Redirect Options</label>
<label index="tt_content.pi_flexform.sheet_messages">Messages</label>
<label index="tt_content.pi_flexform.show_forgot_password">Show &quot;Forgot password?&quot; link:</label>
<label index="tt_content.pi_flexform.show_permalogin">Show &quot;Stay logged in&quot; checkbox (if switched on for the installation):</label>
<label index="tt_content.pi_flexform.groupSelectmode">FE group select mode:</label>
<label index="tt_content.pi_flexform.groupSelectmode_showAll">Show all</label>
<label index="tt_content.pi_flexform.groupSelectmode_showSelected">Show selected</label>
<label index="tt_content.pi_flexform.groupSelectmode_DontShowSelected">Dont show selected</label>
<label index="tt_content.pi_flexform.groupSelectmode_FromTS">(from Typoscript)</label>
<label index="tt_content.pi_flexform.groupSelection">FE group selection:</label>
<label index="tt_content.pi_flexform.groupSelection_noGroup">no group</label>
<label index="tt_content.pi_flexform.field_manualOrder">Using fieldlists below:</label>
<label index="tt_content.pi_flexform.field_orderList">User Fields/list:</label>
<label index="tt_content.pi_flexform.field_orderDetails">User Fields/details:</label>
<label index="tt_content.pi_flexform.redirectMode">Redirect Mode (you have to choose the options, without defined Mode there is no redirect):</label>
<label index="tt_content.pi_flexform.redirectMode.I.0">defined by Usergroup Record</label>
<label index="tt_content.pi_flexform.redirectMode.I.1">defined by User Record</label>
<label index="tt_content.pi_flexform.redirectMode.I.2">after Login (TS or Flexform)</label>
<label index="tt_content.pi_flexform.redirectMode.I.3">after Logout (TS or Flexform)</label>
<label index="tt_content.pi_flexform.redirectMode.I.4">after Login Error (TS or Flexform)</label>
<label index="tt_content.pi_flexform.redirectMode.I.5">defined by GET/POST-Vars</label>
<label index="tt_content.pi_flexform.redirectMode.I.6">defined by Referrer</label>
<label index="tt_content.pi_flexform.redirectMode.I.7">defined by Domain entries</label>
<label index="tt_content.pi_flexform.redirectFirstMethod">Use the first mode found:</label>
<label index="tt_content.pi_flexform.redirectDisable">Disable redirect:</label>
<label index="tt_content.pi_flexform.redirectPageLogin">After successful login redirect to page:</label>
<label index="tt_content.pi_flexform.redirectPageLoginError">After login with error redirect to page:</label>
<label index="tt_content.pi_flexform.redirectPageLogout">After logout redirect to page:</label>
<label index="tt_content.pi_flexform.template_file">Template file:</label>
</languageKey>
<languageKey index="dk" type="array">
<label index="tt_content.pi_flexform.header">Overskrift:</label>
<label index="tt_content.pi_flexform.message">Tekst:</label>
<label index="tt_content.pi_flexform.sheet_general">Generelle valg</label>
<label index="tt_content.pi_flexform.sheet_welcome">Velkomst</label>
<label index="tt_content.pi_flexform.sheet_success">Login Succes</label>
<label index="tt_content.pi_flexform.sheet_error">Login Fejl</label>
<label index="tt_content.pi_flexform.sheet_status">Status</label>
<label index="tt_content.pi_flexform.sheet_logout">Logout</label>
<label index="tt_content.pi_flexform.show_forgot_password">Vis &quot;Glemt password?&quot; link:</label>
<label index="tt_content.pi_flexform.template_file">Skabelon fil</label>
</languageKey>
<languageKey index="de" type="array">
<label index="tt_content.pi_flexform.header">Überschrift:</label>
<label index="tt_content.pi_flexform.message">Nachricht:</label>
<label index="tt_content.pi_flexform.sheet_general">Allgemein</label>
<label index="tt_content.pi_flexform.sheet_welcome">Willkommen</label>
<label index="tt_content.pi_flexform.sheet_success">Erfolgreich angemeldet</label>
<label index="tt_content.pi_flexform.sheet_error">Anmeldefehler</label>
<label index="tt_content.pi_flexform.sheet_status">Status</label>
<label index="tt_content.pi_flexform.sheet_logout">Abmelden</label>
<label index="tt_content.pi_flexform.show_forgot_password">&quot;Passwort vergessen?&quot; Link anzeigen:</label>
<label index="tt_content.pi_flexform.show_permalogin">&quot;Eingeloggt bleiben&quot; checkbox anzeigen (wenn auf dem System verfügbar:</label>
<label index="tt_content.pi_flexform.groupSelectmode">FE-Gruppen Auswahlmodus:</label>
<label index="tt_content.pi_flexform.groupSelectmode_showAll">Alle anzeigen</label>
<label index="tt_content.pi_flexform.groupSelectmode_showSelected">Nur die Ausgewählten anzeigen</label>
<label index="tt_content.pi_flexform.groupSelectmode_DontShowSelected">Die Ausgewählten NICHT anzeigen</label>
<label index="tt_content.pi_flexform.groupSelectmode_FromTS">(gemäss Typoscript)</label>
<label index="tt_content.pi_flexform.groupSelection">FE-Gruppen Auswahl:</label>
<label index="tt_content.pi_flexform.groupSelection_noGroup">in keiner Gruppe einsortiert</label>
<label index="tt_content.pi_flexform.field_manualOrder">Folgende Felder benutzen:</label>
<label index="tt_content.pi_flexform.field_orderList">Listenansicht:</label>
<label index="tt_content.pi_flexform.field_orderDetails">Detailansicht:</label>
<label index="tt_content.pi_flexform.redirectPageLogin">Nach erfolgreichem Login auf folgende Seite weiterleiten:</label>
<label index="tt_content.pi_flexform.template_file">Template:</label>
<label index="felogin_redirPid">Beim Login weiterleiten zur Seite...</label>
</languageKey>
<languageKey index="no" type="array">
<label index="tt_content.pi_flexform.header">Overskrift:</label>
<label index="tt_content.pi_flexform.message">Tekst:</label>
<label index="tt_content.pi_flexform.sheet_general">Generelle valg</label>
<label index="tt_content.pi_flexform.sheet_welcome">Velkomstmelding</label>
<label index="tt_content.pi_flexform.sheet_success">Vellykket innlogging</label>
<label index="tt_content.pi_flexform.sheet_error">Feil ved innlogging</label>
<label index="tt_content.pi_flexform.sheet_status">Status</label>
<label index="tt_content.pi_flexform.sheet_logout">Logg ut</label>
<label index="tt_content.pi_flexform.show_forgot_password">Vis &quot;Glemt passordet?&quot;-lenke</label>
<label index="tt_content.pi_flexform.field_manualOrder">Bruk feltlisten under:</label>
<label index="tt_content.pi_flexform.field_orderList">Brukerfelter/liste:</label>
<label index="tt_content.pi_flexform.field_orderDetails">Brukerfelter/detaljer:</label>
<label index="tt_content.pi_flexform.template_file">Malfil</label>
</languageKey>
<languageKey index="it" type="array">
<label index="tt_content.pi_flexform.header">Intestazione:</label>
<label index="tt_content.pi_flexform.message">Messaggio:</label>
<label index="tt_content.pi_flexform.sheet_general">Generale:</label>
<label index="tt_content.pi_flexform.sheet_welcome">Benvenuto</label>
<label index="tt_content.pi_flexform.sheet_success">Login avvenuto</label>
<label index="tt_content.pi_flexform.sheet_error">Errore di Login</label>
<label index="tt_content.pi_flexform.sheet_status">Stato</label>
<label index="tt_content.pi_flexform.sheet_logout">Logout</label>
<label index="tt_content.pi_flexform.show_forgot_password">Mostra link &quot;Dimenticato la password?&quot;:</label>
<label index="tt_content.pi_flexform.field_manualOrder">Usa i campi sottostanti:</label>
<label index="tt_content.pi_flexform.field_orderList">Campi Utente/lista:</label>
<label index="tt_content.pi_flexform.field_orderDetails">Campi Utente/dettagli:</label>
<label index="felogin_redirPid">Carica la pagina (al login)</label>
</languageKey>
<languageKey index="fr" type="array">
<label index="tt_content.pi_flexform.header">Titre</label>
<label index="tt_content.pi_flexform.message">Message</label>
<label index="tt_content.pi_flexform.sheet_general">Général</label>
<label index="tt_content.pi_flexform.sheet_welcome">Bienvenue</label>
<label index="tt_content.pi_flexform.sheet_success">Succès</label>
<label index="tt_content.pi_flexform.sheet_error">Erreur</label>
<label index="tt_content.pi_flexform.sheet_status">État</label>
<label index="tt_content.pi_flexform.sheet_logout">Déconnexion</label>
<label index="tt_content.pi_flexform.show_forgot_password">Affiché le lien &quot;Mot de passe oublié?&quot;</label>
<label index="tt_content.pi_flexform.field_manualOrder">Utiliser les champs suivant:</label>
<label index="tt_content.pi_flexform.field_orderList">Champs (liste)</label>
<label index="tt_content.pi_flexform.field_orderDetails">Champs (détails)</label>
</languageKey>
<languageKey index="es" type="array">
<label index="tt_content.pi_flexform.template_file">Fichero de plantilla</label>
</languageKey>
<languageKey index="nl" type="array">
<label index="tt_content.pi_flexform.header">Kop:</label>
<label index="tt_content.pi_flexform.message">Bericht:</label>
<label index="tt_content.pi_flexform.sheet_general">Algemeen</label>
<label index="tt_content.pi_flexform.sheet_welcome">Welkom</label>
<label index="tt_content.pi_flexform.sheet_success">Inloggen gelukt</label>
<label index="tt_content.pi_flexform.sheet_error">Fout bij het inloggen</label>
<label index="tt_content.pi_flexform.sheet_status">Status</label>
<label index="tt_content.pi_flexform.sheet_logout">Uitloggen</label>
<label index="tt_content.pi_flexform.show_forgot_password">Toon &quot;Password vergeten?&quot; link:</label>
<label index="tt_content.pi_flexform.template_file">Sjabloon bestand</label>
</languageKey>
<languageKey index="cz" type="array">
<label index="tt_content.pi_flexform.header">Nadpis</label>
<label index="tt_content.pi_flexform.message">Zpráva:</label>
<label index="tt_content.pi_flexform.sheet_general">Obecné</label>
<label index="tt_content.pi_flexform.sheet_welcome">Vítejte</label>
<label index="tt_content.pi_flexform.sheet_success">Úspěšné přihlášení</label>
<label index="tt_content.pi_flexform.sheet_error">Chyba přihlášení</label>
<label index="tt_content.pi_flexform.sheet_status">Stav</label>
<label index="tt_content.pi_flexform.sheet_logout">Odhlášení</label>
<label index="tt_content.pi_flexform.show_forgot_password">Zobrazovat odkaz &quot;Zapoměli jste své heslo&quot;?</label>
<label index="tt_content.pi_flexform.template_file">Soubor šablony</label>
</languageKey>
<languageKey index="pl" type="array">
<label index="tt_content.pi_flexform.header">Nagłówek:</label>
<label index="tt_content.pi_flexform.message">Wiadomość:</label>
<label index="tt_content.pi_flexform.sheet_general">Ogólne</label>
<label index="tt_content.pi_flexform.sheet_welcome">Powitanie</label>
<label index="tt_content.pi_flexform.sheet_success">Udane logowanie</label>
<label index="tt_content.pi_flexform.sheet_error">Błędne logowanie</label>
<label index="tt_content.pi_flexform.sheet_status">Status</label>
<label index="tt_content.pi_flexform.sheet_logout">Wylogowanie</label>
<label index="tt_content.pi_flexform.show_forgot_password">Pokazuj odnośnik &quot;zapomniałem hasło&quot;:</label>
<label index="tt_content.pi_flexform.field_manualOrder">Użycie listy pól poniżej:</label>
<label index="tt_content.pi_flexform.field_orderList">Pola użytkownika/lista:</label>
<label index="tt_content.pi_flexform.field_orderDetails">Pola użytkownika/szczegóły:</label>
<label index="felogin_redirPid">Przekieruj po zalogowaniu do strony:</label>
</languageKey>
<languageKey index="si" type="array">
</languageKey>
<languageKey index="fi" type="array">
<label index="tt_content.pi_flexform.header">Otsikko:</label>
<label index="tt_content.pi_flexform.message">Viesti</label>
<label index="tt_content.pi_flexform.sheet_general">Yleistä</label>
<label index="tt_content.pi_flexform.sheet_welcome">Tervetulotoivotus</label>
<label index="tt_content.pi_flexform.sheet_success">Onnistunut sisäänkirjoitus</label>
<label index="tt_content.pi_flexform.sheet_error">Epäonnistunut sisäänkirjoitus</label>
<label index="tt_content.pi_flexform.sheet_status">Tila</label>
<label index="tt_content.pi_flexform.sheet_logout">Ulos kirjoittautuminen</label>
<label index="tt_content.pi_flexform.show_forgot_password">Näytä &quot;Unohditko salasanasi ?&quot; linkki:</label>
<label index="tt_content.pi_flexform.field_manualOrder">Käytetään allaolevaa tietolistaa:</label>
<label index="tt_content.pi_flexform.field_orderList">Käyttäjän tiedot/lista:</label>
<label index="tt_content.pi_flexform.field_orderDetails">Käyttäjän tiedot/tarkat tiedot:</label>
<label index="felogin_redirPid">Edelleen ohjaus loginissa sivulle:</label>
</languageKey>
<languageKey index="tr" type="array">
<label index="tt_content.pi_flexform.header">Başlık:</label>
<label index="tt_content.pi_flexform.message">Mesaj:</label>
<label index="tt_content.pi_flexform.sheet_general">Genel</label>
<label index="tt_content.pi_flexform.sheet_welcome">Hoşgeldin</label>
<label index="tt_content.pi_flexform.sheet_success">Oturum başarıyla açıldı</label>
<label index="tt_content.pi_flexform.sheet_error">Oturum açmada hata</label>
<label index="tt_content.pi_flexform.sheet_status">Statü</label>
<label index="tt_content.pi_flexform.sheet_logout">Oturumu kapat</label>
<label index="tt_content.pi_flexform.show_forgot_password">'Parola kayıp?' linkini göster:</label>
<label index="tt_content.pi_flexform.field_manualOrder">Altdaki alan listelerini kullan:</label>
<label index="tt_content.pi_flexform.field_orderList">Liste görüntüsü</label>
<label index="tt_content.pi_flexform.field_orderDetails">Detaylı görüntü</label>
</languageKey>
<languageKey index="se" type="array">
<label index="felogin_redirPid">Vidareskicka vid inloggning till sidan:</label>
</languageKey>
<languageKey index="pt" type="array">
</languageKey>
<languageKey index="ru" type="array">
<label index="tt_content.pi_flexform.header">Заголовок:</label>
<label index="tt_content.pi_flexform.message">Сообщение:</label>
<label index="tt_content.pi_flexform.sheet_general">Общие</label>
<label index="tt_content.pi_flexform.sheet_welcome">Добро пожаловать!</label>
<label index="tt_content.pi_flexform.sheet_success">Успешный вход</label>
<label index="tt_content.pi_flexform.sheet_error">Ошибка входа</label>
<label index="tt_content.pi_flexform.sheet_status">Статус</label>
<label index="tt_content.pi_flexform.sheet_logout">Выход</label>
<label index="tt_content.pi_flexform.show_forgot_password">Показывать ссылку &quot;Забыли пароль?&quot;</label>
<label index="tt_content.pi_flexform.field_manualOrder">Используя список полей внизу:</label>
<label index="tt_content.pi_flexform.field_orderList">Поля в режиме списка пользователей:</label>
<label index="tt_content.pi_flexform.field_orderDetails">Поля в режиме деталей пользователя:</label>
</languageKey>
<languageKey index="ro" type="array">
</languageKey>
<languageKey index="ch" type="array">
</languageKey>
<languageKey index="sk" type="array">
</languageKey>
<languageKey index="lt" type="array">
</languageKey>
<languageKey index="is" type="array">
</languageKey>
<languageKey index="hr" type="array">
<label index="tt_content.pi_flexform.header">Zaglavlje:</label>
<label index="tt_content.pi_flexform.message">Poruka:</label>
<label index="tt_content.pi_flexform.sheet_general">Općenito</label>
<label index="tt_content.pi_flexform.sheet_welcome">Dobrodošli</label>
<label index="tt_content.pi_flexform.sheet_success">Prijava uspješna</label>
<label index="tt_content.pi_flexform.sheet_error">Greška pri prijavi</label>
<label index="tt_content.pi_flexform.sheet_status">Status</label>
<label index="tt_content.pi_flexform.sheet_logout">Odjava</label>
<label index="tt_content.pi_flexform.show_forgot_password">Prikaži &quot;Zaboravljena lozinka?&quot; link:</label>
<label index="tt_content.pi_flexform.field_manualOrder">Koristeći niže navedena polja:</label>
<label index="tt_content.pi_flexform.field_orderList">Korisnička Polja/popis:</label>
<label index="tt_content.pi_flexform.field_orderDetails">Korisnička Polja/detalji:</label>
</languageKey>
<languageKey index="hu" type="array">
</languageKey>
<languageKey index="gl" type="array">
</languageKey>
<languageKey index="th" type="array">
</languageKey>
<languageKey index="gr" type="array">
</languageKey>
<languageKey index="hk" type="array">
</languageKey>
<languageKey index="eu" type="array">
</languageKey>
<languageKey index="bg" type="array">
</languageKey>
<languageKey index="br" type="array">
<label index="tt_content.pi_flexform.header">Cabeçalho:</label>
<label index="tt_content.pi_flexform.message">Mensagem:</label>
<label index="tt_content.pi_flexform.sheet_general">Geral</label>
<label index="tt_content.pi_flexform.sheet_welcome">Bem-vindo</label>
<label index="tt_content.pi_flexform.sheet_success">Identificação com Sucesso</label>
<label index="tt_content.pi_flexform.sheet_error">Erro de Identificação</label>
<label index="tt_content.pi_flexform.sheet_status">Situação</label>
<label index="tt_content.pi_flexform.sheet_logout">Encerrar</label>
<label index="tt_content.pi_flexform.show_forgot_password">Exibir o link &quot;Esqueci minha senha?&quot;:</label>
<label index="tt_content.pi_flexform.field_manualOrder">Utilizando os campos abaixo:</label>
<label index="tt_content.pi_flexform.field_orderList">Campos de Usuário/Lista:</label>
<label index="tt_content.pi_flexform.field_orderDetails">Campos de Usuário/Detalhes:</label>
<label index="felogin_redirPid">Ao logar, redirecionar para Página:</label>
</languageKey>
<languageKey index="et" type="array">
</languageKey>
<languageKey index="ar" type="array">
</languageKey>
<languageKey index="he" type="array">
</languageKey>
<languageKey index="ua" type="array">
</languageKey>
<languageKey index="lv" type="array">
</languageKey>
<languageKey index="jp" type="array">
</languageKey>
<languageKey index="vn" type="array">
</languageKey>
<languageKey index="ca" type="array">
</languageKey>
<languageKey index="ba" type="array">
</languageKey>
<languageKey index="kr" type="array">
</languageKey>
<languageKey index="eo" type="array">
</languageKey>
<languageKey index="my" type="array">
</languageKey>
<languageKey index="hi" type="array">
</languageKey>
</data>
</T3locallang>
typo3/sysext/felogin/ext_tables.php (revision 0)
<?php
if (!defined ('TYPO3_MODE')) die ('Access denied.');
$_EXTCONF = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['felogin']);
t3lib_div::loadTCA('tt_content');
if(t3lib_div::int_from_ver(TYPO3_version) >= 4002000)
t3lib_extMgm::addPiFlexFormValue('*','FILE:EXT:'.$_EXTKEY.'/flexform.xml','login');
else
t3lib_extMgm::addPiFlexFormValue('default','FILE:EXT:'.$_EXTKEY.'/flexform.xml');
#replace login
$TCA['tt_content']['types']['login']['showitem']='CType;;4;button;1-1-1, header;;3;;2-2-2,pi_flexform';
// Adds the redirect-field to the fe_group- and fe_users-table
$tempColumns = Array (
"felogin_redirectPid" => Array (
"exclude" => 1,
"label" => "LLL:EXT:felogin/locallang_db.xml:felogin_redirectPid",
"config" => Array (
"type" => "group",
"internal_type" => "db",
"allowed" => "pages",
"size" => 1,
"minitems" => 0,
"maxitems" => 1,
)
),
);
t3lib_div::loadTCA("fe_groups");
t3lib_extMgm::addTCAcolumns("fe_groups",$tempColumns,1);
t3lib_extMgm::addToAllTCAtypes("fe_groups","felogin_redirectPid;;;;1-1-1");
t3lib_div::loadTCA("fe_users");
t3lib_extMgm::addTCAcolumns("fe_users",$tempColumns,1);
t3lib_extMgm::addToAllTCAtypes("fe_users","felogin_redirectPid;;;;1-1-1");
?>
typo3/sysext/felogin/flexform.xml (revision 0)
<T3DataStructure>
<meta>
<langDisable>0</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.sheet_general</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<showForgotPassword>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.show_forgot_password</label>
<config>
<type>check</type>
</config>
</TCEforms>
</showForgotPassword>
<showPermaLogin>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.show_permalogin</label>
<config>
<default>1</default>
<type>check</type>
</config>
</TCEforms>
</showPermaLogin>
<pages>
<TCEforms>
<exclude>1</exclude>
<label>LLL:EXT:lang/locallang_general.php:LGL.startingpoint</label>
<config>
<type>group</type>
<internal_type>db</internal_type>
<allowed>pages</allowed>
<size>3</size>
<maxitems>22</maxitems>
<minitems>0</minitems>
<show_thumbs>1</show_thumbs>
</config>
</TCEforms>
</pages>
<recursive>
<TCEforms>
<label>LLL:EXT:lang/locallang_general.php:LGL.recursive</label>
<config>
<type>select</type>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0"></numIndex>
<numIndex index="1"></numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">LLL:EXT:cms/locallang_ttc.php:recursive.I.1</numIndex>
<numIndex index="1">1</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">LLL:EXT:cms/locallang_ttc.php:recursive.I.2</numIndex>
<numIndex index="1">2</numIndex>
</numIndex>
<numIndex index="3" type="array">
<numIndex index="0">LLL:EXT:cms/locallang_ttc.php:recursive.I.3</numIndex>
<numIndex index="1">3</numIndex>
</numIndex>
<numIndex index="4" type="array">
<numIndex index="0">LLL:EXT:cms/locallang_ttc.php:recursive.I.4</numIndex>
<numIndex index="1">4</numIndex>
</numIndex>
<numIndex index="5" type="array">
<numIndex index="0">LLL:EXT:cms/locallang_ttc.php:recursive.I.5</numIndex>
<numIndex index="1">250</numIndex>
</numIndex>
</items>
<minitems>0</minitems>
<maxitems>1</maxitems>
<size>1</size>
</config>
</TCEforms>
</recursive>
<templateFile>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.template_file</label>
<config>
<type>group</type>
<internal_type>file</internal_type>
<allowed>tmpl,html,htm</allowed>
<max_size>100</max_size>
<uploadfolder>uploads/tx_felogin</uploadfolder>
<maxitems>1</maxitems>
<size>1</size>
<selectedListStyle>width:180px</selectedListStyle>
</config>
</TCEforms>
</templateFile>
</el>
</ROOT>
</sDEF>
<s_redirect>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.sheet_redirect</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<redirectMode>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectMode</label>
<config>
<type>select</type>
<items type="array">
<numIndex index="0" type="array">
<numIndex index="0">LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectMode.I.0</numIndex>
<numIndex index="1">groupLogin</numIndex>
</numIndex>
<numIndex index="1" type="array">
<numIndex index="0">LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectMode.I.1</numIndex>
<numIndex index="1">userLogin</numIndex>
</numIndex>
<numIndex index="2" type="array">
<numIndex index="0">LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectMode.I.2</numIndex>
<numIndex index="1">login</numIndex>
</numIndex>
<numIndex index="3" type="array">
<numIndex index="0">LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectMode.I.3</numIndex>
<numIndex index="1">logout</numIndex>
</numIndex>
<numIndex index="4" type="array">
<numIndex index="0">LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectMode.I.4</numIndex>
<numIndex index="1">loginError</numIndex>
</numIndex>
<numIndex index="5" type="array">
<numIndex index="0">LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectMode.I.5</numIndex>
<numIndex index="1">getpost</numIndex>
</numIndex>
<numIndex index="6" type="array">
<numIndex index="0">LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectMode.I.6</numIndex>
<numIndex index="1">referer</numIndex>
</numIndex>
<numIndex index="7" type="array">
<numIndex index="0">LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectMode.I.7</numIndex>
<numIndex index="1">refererDomains</numIndex>
</numIndex>
</items>
<size>8</size>
<minitems>0</minitems>
<maxitems>8</maxitems>
</config>
</TCEforms>
</redirectMode>
<redirectFirstMethod>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectFirstMethod</label>
<config>
<type>check</type>
</config>
</TCEforms>
</redirectFirstMethod>
<redirectPageLogin>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectPageLogin</label>
<config>
<type>group</type>
<internal_type>db</internal_type>
<allowed>pages</allowed>
<size>1</size>
<maxitems>1</maxitems>
<minitems>0</minitems>
<show_thumbs>1</show_thumbs>
</config>
</TCEforms>
</redirectPageLogin>
<redirectPageLoginError>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectPageLoginError</label>
<config>
<type>group</type>
<internal_type>db</internal_type>
<allowed>pages</allowed>
<size>1</size>
<maxitems>1</maxitems>
<minitems>0</minitems>
<show_thumbs>1</show_thumbs>
</config>
</TCEforms>
</redirectPageLoginError>
<redirectPageLogout>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectPageLogout</label>
<config>
<type>group</type>
<internal_type>db</internal_type>
<allowed>pages</allowed>
<size>1</size>
<maxitems>1</maxitems>
<minitems>0</minitems>
<show_thumbs>1</show_thumbs>
</config>
</TCEforms>
</redirectPageLogout>
<redirectDisable>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.redirectDisable</label>
<config>
<type>check</type>
</config>
</TCEforms>
</redirectDisable>
</el>
</ROOT>
</s_redirect>
<s_messages>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.sheet_messages</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<welcome_header>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.welcome_header</label>
<config>
<type>input</type>
<size>30</size>
</config>
</TCEforms>
</welcome_header>
<welcome_message>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.welcome_message</label>
<config>
<type>text</type>
<cols>30</cols>
<rows>5</rows>
</config>
</TCEforms>
</welcome_message>
<success_header>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.success_header</label>
<config>
<type>input</type>
<size>30</size>
</config>
</TCEforms>
</success_header>
<success_message>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.success_message</label>
<config>
<type>text</type>
<cols>30</cols>
<rows>5</rows>
</config>
</TCEforms>
</success_message>
<error_header>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.error_header</label>
<config>
<type>input</type>
<size>30</size>
</config>
</TCEforms>
</error_header>
<error_message>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.error_message</label>
<config>
<type>text</type>
<cols>30</cols>
<rows>5</rows>
</config>
</TCEforms>
</error_message>
<status_header>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.status_header</label>
<config>
<type>input</type>
<size>30</size>
</config>
</TCEforms>
</status_header>
<status_message>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.status_message</label>
<config>
<type>text</type>
<cols>30</cols>
<rows>5</rows>
</config>
</TCEforms>
</status_message>
<logout_header>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.logout_header</label>
<config>
<type>input</type>
<size>30</size>
</config>
</TCEforms>
</logout_header>
<logout_message>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.logout_message</label>
<config>
<type>text</type>
<cols>30</cols>
<rows>5</rows>
</config>
</TCEforms>
</logout_message>
<forgot_header>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.forgot_header</label>
<config>
<type>input</type>
<size>30</size>
</config>
</TCEforms>
</forgot_header>
<forgot_message>
<TCEforms>
<label>LLL:EXT:felogin/locallang_db.xml:tt_content.pi_flexform.forgot_message</label>
<config>
<type>text</type>
<cols>30</cols>
<rows>5</rows>
</config>
</TCEforms>
</forgot_message>
</el>
</ROOT>
</s_messages>
</sheets>
</T3DataStructure>
typo3/sysext/felogin/ext_localconf.php (revision 0)
<?php
if (!defined ('TYPO3_MODE')) die ('Access denied.');
//replace old Login
$pluginContent = trim('
plugin.tx_felogin_pi1 = USER_INT
plugin.tx_felogin_pi1 {
includeLibs = EXT:felogin/pi1/class.tx_felogin_pi1.php
userFunc = tx_felogin_pi1->main
}
');
t3lib_extMgm::addTypoScript($_EXTKEY,'setup','
# Setting '.$_EXTKEY.' plugin TypoScript
'.$pluginContent);
$addLine = trim('
tt_content.login = COA
tt_content.login {
10 = < lib.stdheader
20 >
20 = < plugin.tx_felogin_pi1
}
');
t3lib_extMgm::addTypoScript($_EXTKEY,'setup','# Setting '.$_EXTKEY.' plugin TypoScript'.$addLine.'',43);
//activate support for kb_md5fepw
if (t3lib_extMgm::isLoaded('kb_md5fepw') && (TYPO3_MODE == 'FE')) {
$GLOBALS ['TYPO3_CONF_VARS']['EXTCONF']['felogin']['loginFormOnSubmitFuncs'][] = 'tx_kbmd5fepw_newloginbox->loginFormOnSubmit';
require_once(t3lib_extMgm::extPath('kb_md5fepw').'pi1/class.tx_kbmd5fepw_newloginbox.php');
}
?>
typo3/sysext/felogin/ChangeLog (revision 0)
2007-12-04 Steffen Kamper <info@sk-typo3.de>
* Final 1.0.0 for testing in the trunk
2007-11-16 Steffen Kamper <info@sk-typo3.de>
* Initial release
typo3/sysext/felogin/ext_tables.sql (revision 0)
#
# Table structure for table 'fe_groups'
#
CREATE TABLE fe_groups (
felogin_redirectPid tinytext
);
#
# Table structure for table 'fe_users'
#
CREATE TABLE fe_users (
felogin_redirectPid tinytext
);
typo3/sysext/felogin/pi1/class.tx_felogin_pi1.php (revision 0)
<?php
/***************************************************************
* Copyright notice
*
* (c) 2007 Steffen Kamper <info@sk-typo3.de>
* All rights reserved
*
* This script is part of the TYPO3 project. The TYPO3 project is
* free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* The GNU General Public License can be found at
* http://www.gnu.org/copyleft/gpl.html.
*
* This script is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* The code was adapted from newloginbox, see manual for detailed description
*
*
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
require_once(PATH_tslib.'class.tslib_pibase.php');
/**
* Plugin 'Website User Login' for the 'felogin' extension.
*
* @author Steffen Kamper <info@sk-typo3.de>
* @package TYPO3
* @subpackage tx_felogin
*/
class tx_felogin_pi1 extends tslib_pibase {
var $prefixId = 'tx_felogin_pi1'; // Same as class name
var $scriptRelPath = 'pi1/class.tx_felogin_pi1.php'; // Path to this script relative to the extension dir.
var $extKey = 'felogin'; // The extension key.
var $pi_checkCHash = true;
var $userIsLoggedIn; //is user logged in?
var $template;
var $uploadDir;
var $redirectUrl;
/**
* The main method of the PlugIn
*
* @param string $content: The PlugIn content
* @param array $conf: The PlugIn configuration
* @return The content that is displayed on the website
*/
public function main($content,$conf) {
// Loading TypoScript array into object variable:
$this->conf = $conf;
$this->uploadDir = 'uploads/tx_felogin/';
// Loading language-labels
$this->pi_loadLL();
// Init FlexForm configuration for plugin:
$this->pi_initPIflexForm();
$this->mergeflexFormValuesIntoConf();
// Get storage PIDs:
if ($this->conf['storagePid']) {
$this->spid = $this->conf['storagePid'];
} else {
$pids = $GLOBALS['TSFE']->getStorageSiterootPids();
$this->spid = $pids['_STORAGE_PID'];
}
// GPvars:
$this->logintype = t3lib_div::_GP('logintype');
$this->redirectUrl = t3lib_div::_GP('redirect_url');
// get Template
$templateFile = $this->conf['templateFile'] ? $this->conf['templateFile'] : 'EXT:felogin/template.html';
$this->template = $this->cObj->fileResource($templateFile);
// is user logged in?
$this->userIsLoggedIn = $GLOBALS['TSFE']->loginUser;
//redirect
if ($this->conf['redirectMode'] && !$this->conf['redirectDisable']) {
$this->redirectUrl = $this->processRedirect();
}
//what to display
$content='';
if ($this->piVars['forgot']) {
$content .= $this->showForgot();
} else {
if($this->userIsLoggedIn && !$this->logintype) {
$content .= $this->showLogout();
} else {
$content .= $this->showLogin();
}
}
// process the redirect
if (($this->logintype=='login' || $this->logintype=='logout') && $this->redirectUrl) {
if (!$GLOBALS['TSFE']->fe_user->cookieId) {
$content .= '<p style="color:red; font-weight:bold;">' . $this->pi_getLL('cookie_warning', '', 1) . '</p>';
} else {
header('Location: '.t3lib_div::locationHeaderUrl($this->redirectUrl));
exit;
}
}
return $this->conf['wrapContentInBaseClass'] ? $this->pi_wrapInBaseClass($content) : $content;
}
/**
* shows the forgot password form
*
* @return [string] content
*/
private function showForgot() {
$subpart = $this->cObj->getSubpart($this->template, '###TEMPLATE_FORGOT###');
if ($this->piVars['forgot_email']) {
if (t3lib_div::validEmail($this->piVars['forgot_email'])) {
// look for user record and send the password
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
'uid, username, password',
'fe_users',
'email="'.htmlspecialchars($this->piVars['forgot_email']).'" AND pid IN('.$GLOBALS['TYPO3_DB']->cleanIntList($this->spid).') '.$this->cObj->enableFields('fe_users')
);
if ($GLOBALS['TYPO3_DB']->sql_num_rows($res)) {
$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
$msg = sprintf($this->pi_getLL('ll_forgot_email_password', '', 0), $this->piVars['forgot_email'], $row['username'], $row['password']);
} else {
$msg = sprintf($this->pi_getLL('ll_forgot_email_nopassword', '', 0), $this->piVars['forgot_email']);
}
// generate new password with md5 and save it in user record
if ($GLOBALS['TYPO3_DB']->sql_num_rows($res) && t3lib_extMgm::isLoaded('kb_md5fepw')) {
$newPass = $this->generatePassword(8);
$res=$GLOBALS['TYPO3_DB']->exec_UPDATEquery(
'fe_users',
'uid=' . $row['uid'],
array('password' => md5($newPass))
);
$msg = sprintf($this->pi_getLL('ll_forgot_email_password', '', 0),$this->piVars['forgot_email'], $row['username'], $newPass);
}
$this->cObj->sendNotifyEmail($msg, $this->piVars['forgot_email'], '', $this->conf['email_from'], $this->conf['email_fromName'], $this->conf['replyTo']);
$markerArray['###STATUS_MESSAGE###'] = sprintf($this->pi_getLL('ll_forgot_message_emailSent', '', 1),'<em>' . htmlspecialchars($this->piVars['forgot_email']) .'</em>');
$subpartArray['###FORGOT_FORM###'] = '';
} else {
//wrong email
$markerArray['###STATUS_MESSAGE###'] = $this->getDisplayText('forgot_message',$this->conf['forgotMessage_stdWrap.']);
$markerArray['###BACKLINK_LOGIN###'] = '';
}
} else {
$markerArray['###STATUS_MESSAGE###'] = $this->getDisplayText('forgot_message',$this->conf['forgotMessage_stdWrap.']);
$markerArray['###BACKLINK_LOGIN###'] = '';
}
$markerArray['###BACKLINK_LOGIN###'] = $this->getPageLink($this->pi_getLL('ll_forgot_header_backToLogin', '', 1), array());
$markerArray['###STATUS_HEADER###'] = $this->getDisplayText('forgot_header',$this->conf['forgotHeader_stdWrap.']);
$markerArray['###LEGEND###'] = $this->pi_getLL('send_password', '', 1);
$markerArray['###ACTION_URI###'] = $this->getPageLink('',array($this->prefixId.'[forgot]'=>1),true);
$markerArray['###EMAIL_LABEL###'] = $this->pi_getLL('your_email', '', 1);
$markerArray['###FORGOT_PASSWORD_ENTEREMAIL###'] = $this->pi_getLL('forgot_password_enterEmail', '', 1);
$markerArray['###FORGOT_EMAIL###'] = $this->prefixId.'[forgot_email]';
$markerArray['###SEND_PASSWORD###'] = $this->pi_getLL('send_password', '', 1);
return $this->cObj->substituteMarkerArrayCached($subpart, $markerArray, $subpartArray, $linkpartArray);
}
/**
* shows logout form
*
* @return [string] content
*/
private function showLogout() {
$subpart = $this->cObj->getSubpart($this->template, '###TEMPLATE_LOGOUT###');
$markerArray['###STATUS_HEADER###'] = $this->getDisplayText('status_header',$this->conf['logoutHeader_stdWrap.']);
$markerArray['###STATUS_MESSAGE###']=$this->getDisplayText('status_message',$this->conf['logoutMessage_stdWrap.']);$this->cObj->stdWrap($this->flexFormValue('message','s_status'),$this->conf['logoutMessage_stdWrap.']);
$markerArray['###LEGEND###'] = $this->pi_getLL('logout', '', 1);
$markerArray['###ACTION_URI###'] = $this->getPageLink('',array(),true);
$markerArray['###LOGOUT_LABEL###'] = $this->pi_getLL('logout', '', 1);
$markerArray['###NAME###'] = $GLOBALS['TSFE']->fe_user->user['name'];
$markerArray['###STORAGE_PID###'] = $this->spid;
$markerArray['###USERNAME###'] = $GLOBALS['TSFE']->fe_user->user['username'];
$markerArray['###USERNAME_LABEL###'] = $this->pi_getLL('username', '', 1);
return $this->cObj->substituteMarkerArrayCached($subpart, $markerArray, $subpartArray, $linkpartArray);
}
/**
* shows login form
*
* @return [string] content
*/
private function showLogin() {
$subpart = $this->cObj->getSubpart($this->template, '###TEMPLATE_LOGIN###');
$markerArray['###LEGEND###'] = $this->pi_getLL('oLabel_header_welcome', '', 1);
if($this->logintype == 'login') {
if($this->userIsLoggedIn) {
// login success
$markerArray['###STATUS_HEADER###'] = $this->getDisplayText('success_header',$this->conf['successHeader_stdWrap.']);
$markerArray['###STATUS_MESSAGE###'] = str_replace('###USER###',$GLOBALS['TSFE']->fe_user->user['username'],$this->getDisplayText('success_message',$this->conf['successMessage_stdWrap.']));
$subpartArray['###LOGIN_FORM###'] = '';
// Hook for general actions after after login has been confirmed (by Thomas Danzl <thomas@danzl.org>)
if ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['felogin']['login_confirmed']) {
$_params = array();
foreach($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['newloginbox']['felogin'] as $_funcRef) {
if ($_funcRef) {
t3lib_div::callUserFunction($_funcRef, $_params, $this);
}
}
}
} else {
// login error
$markerArray['###STATUS_HEADER###'] = $this->getDisplayText('error_header',$this->conf['errorHeader_stdWrap.']);
$markerArray['###STATUS_MESSAGE###'] = $this->getDisplayText('error_message',$this->conf['errorMesssage_stdWrap.']);
}
} else {
if($this->logintype == 'logout') {
// login form after logout
$markerArray['###STATUS_HEADER###'] = $this->getDisplayText('logout_header',$this->conf['welcomeHeader_stdWrap.']);
$markerArray['###STATUS_MESSAGE###'] = $this->getDisplayText('logout_message',$this->conf['welcomeMessage_stdWrap.']);
} else {
// login form
$markerArray['###STATUS_HEADER###'] = $this->getDisplayText('welcome_header',$this->conf['welcomeHeader_stdWrap.']);
$markerArray['###STATUS_MESSAGE###'] = $this->getDisplayText('welcome_message',$this->conf['welcomeMessage_stdWrap.']);
}
}
// Hook (used by kb_md5fepw extension by Kraft Bernhard <kraftb@gmx.net>)
// This hook allows to call User JS functions.
// The methods should also set the required JS functions to get included
$onSubmit = '';
$extraHidden = '';
if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['felogin']['loginFormOnSubmitFuncs'])) {
$_params = array();
$onSubmitAr = array();
$extraHiddenAr = array();
foreach($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['felogin']['loginFormOnSubmitFuncs'] as $funcRef) {
list($onSub, $hid) = t3lib_div::callUserFunction($funcRef, $_params, $this);
$onSubmitAr[] = $onSub;
$extraHiddenAr[] = $hid;
}
}
if (count($onSubmitAr)) {
$onSubmit = implode('; ', $onSubmitAr).'; return true;';
$extraHidden = implode(chr(10), $extraHiddenAr);
}
// Login form
$markerArray['###ACTION_URI###'] = $this->getPageLink('',array(),true);
$markerArray['###EXTRA_HIDDEN###'] = $extraHidden; // used by kb_md5fepw extension...
$markerArray['###LEGEND###'] = $this->pi_getLL('login', '', 1);
$markerArray['###LOGIN_LABEL###'] = $this->pi_getLL('login', '', 1);
$markerArray['###ON_SUBMIT###'] = $onSubmit; // used by kb_md5fepw extension...
$markerArray['###PASSWORD_LABEL###'] = $this->pi_getLL('password', '', 1);
$markerArray['###STORAGE_PID###'] = $this->spid;
$markerArray['###USERNAME_LABEL###'] = $this->pi_getLL('username', '', 1);
$markerArray['###REDIRECT_URL###'] = $this->redirectUrl;
if ($this->flexFormValue('showForgotPassword','sDEF')) {
$linkpartArray['###FORGOT_PASSWORD_LINK###'] = explode('|',$this->getPageLink('|',array($this->prefixId.'[forgot]'=>1)));
$markerArray['###FORGOT_PASSWORD###'] = $this->pi_getLL('ll_forgot_header', '', 1);
} else {
$subpartArray['###FORGOTP_VALID###'] = '';
}
if (($this->conf['showPermaLogin']) && ($GLOBALS['TYPO3_CONF_VARS']['FE']['permalogin'] == 0 || $GLOBALS['TYPO3_CONF_VARS']['FE']['permalogin'] == 1) && $GLOBALS['TYPO3_CONF_VARS']['FE']['lifetime'] > 0) {
$markerArray['###PERMALOGIN###'] = $this->pi_getLL('permalogin', '', 1);
if($GLOBALS['TYPO3_CONF_VARS']['FE']['permalogin'] == 1) {
$markerArray['###PERMALOGIN_HIDDENFIELD_ATTRIBUTES###'] = 'disabled="disabled"';
$markerArray['###PERMALOGIN_CHECKBOX_ATTRIBUTES###'] = 'checked="checked"';
} else {
$markerArray['###PERMALOGIN_HIDDENFIELD_ATTRIBUTES###'] = '';
$markerArray['###PERMALOGIN_CHECKBOX_ATTRIBUTES###'] = '';
}
} else {
$subpartArray['###PERMALOGIN_VALID###'] = '';
}
return $this->cObj->substituteMarkerArrayCached($subpart, $markerArray, $subpartArray, $linkpartArray);
}
/**
* process redirect methods. The function search in all configured methods for a redirect url
*
* @return [string] redirect url
*/
private function processRedirect() {
if ($this->conf['redirectMode']) {
foreach (explode(',',$this->conf['redirectMode']) as $redirMethod) {
if ($GLOBALS['TSFE']->loginUser && $this->logintype=='login') {
// logintype is needed because the login-page wouldn't be accessible anymore after a login (would always redirect)
switch ($redirMethod) {
case 'groupLogin': // taken from dkd_redirect_at_login written by Ingmar Schlecht; database-field changed
$groupData = $GLOBALS['TSFE']->fe_user->groupData;
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
'felogin_redirectPid',
$GLOBALS['TSFE']->fe_user->usergroup_table,
'felogin_redirectPid!="" AND uid IN ('.implode(',',$groupData['uid']).')'
);
if ($row = $GLOBALS['TYPO3_DB']->sql_fetch_row($res)) {
$redirect_url = $this->pi_getPageLink($row[0],array(),true); // take the first group with a redirect page
}
break;
case 'userLogin':
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
'felogin_redirectPid',
$GLOBALS['TSFE']->fe_user->user_table,
$GLOBALS['TSFE']->fe_user->userid_column . '=' . $GLOBALS['TSFE']->fe_user->user['uid'] . ' AND felogin_redirectPid!=""'
);
if ($row = $GLOBALS['TYPO3_DB']->sql_fetch_row($res)) {
$redirect_url = $this->pi_getPageLink($row[0],array(),true);
}
break;
case 'login':
if ($this->conf['redirectPageLogin']) {
$redirect_url = $this->pi_getPageLink(intval($this->conf['redirectPageLogin']),array(),true);
}
break;
case 'getpost':
$redirect_url = $this->redirectUrl;
break;
case 'referer':
$redirect_url = t3lib_div::getIndpEnv('HTTP_REFERER');
// avoid forced logout, when trying to login immediatly after a logout
$redirect_url = ereg_replace("[&?]logintype=[a-z]+", '', $redirect_url);
break;
case 'refererDomains':
// Auto redirect.
// Feature to redirect to the page where the user came from (HTTP_REFERER).
// Allowed domains to redirect to, can be configured with plugin.tx_felogin_pi1.domains
// Thanks to plan2.net / Martin Kutschker for implementing this feature.
if (!$redirect_url && $this->conf['domains']) {
$redirect_url = t3lib_div::getIndpEnv('HTTP_REFERER');
// is referring url allowed to redirect?
$match = array();
if (ereg('^http://([[:alnum:]._-]+)/', $redirect_url, $match)) {
$redirect_domain = $match[1];
$found = false;
foreach(split(',', $this->conf['domains']) as $d) {
if (ereg('(^|\.)'.$d.'$', $redirect_domain)) {
$found = true;
break;
}
}
if (!$found) {
$redirect_url = '';
}
}
// avoid forced logout, when trying to login immediatly after a logout
$redirect_url = ereg_replace("[&?]logintype=[a-z]+", "", $redirect_url);
}
break;
}
} else if ($this->logintype=='login') { // after login-error
switch ($redirMethod) {
case 'loginError':
if ($this->conf['redirectPageLoginError']) {
$redirect_url = $this->pi_getPageLink(intval($this->conf['redirectPageLoginError']), array(), true);
}
break;
}
} elseif ($this->logintype=='logout') { // after logout
switch ($redirMethod) {
case 'logout':
if ($this->conf['redirectPageLogout']) {
$redirect_url = $this->pi_getPageLink(intval($this->conf['redirectPageLogout']), array(), true);
}
break;
}
} else { // not logged in
// placeholder for maybe future options
switch ($redirMethod) {
}
}
if ($redirect_url && $this->conf['redirectFirstMethod']) {
break;
}
}
}
return $redirect_url;
}
/**
* reads flexform configuration and merge it with $this->conf
*
* @return no return
*/
private function mergeflexFormValuesIntoConf() {
$flex = array();
if ($this->flexFormValue('showForgotPassword', 'sDEF')) $flex['showForgotPassword'] = $this->flexFormValue('showForgotPassword','sDEF');
if ($this->flexFormValue('showPermaLogin', 'sDEF')) $flex['showPermaLogin'] = $this->flexFormValue('showPermaLogin', 'sDEF');
if ($this->flexFormValue('pages', 'sDEF')) $flex['pages'] = $this->flexFormValue('pages', 'sDEF');
if ($this->flexFormValue('recursive', 'sDEF')) $flex['recursive'] = $this->flexFormValue('recursive', 'sDEF');
if ($this->flexFormValue('templateFile', 'sDEF')) $flex['templateFile'] = $this->uploadDir . $this->flexFormValue('templateFile', 'sDEF');
if ($this->flexFormValue('redirectMode', 's_redirect')) $flex['redirectMode'] = $this->flexFormValue('redirectMode', 's_redirect');
if ($this->flexFormValue('redirectFirstMethod', 's_redirect')) $flex['redirectFirstMethod'] = $this->flexFormValue('redirectFirstMethod', 's_redirect');
if ($this->flexFormValue('redirectDisable', 's_redirect')) $flex['redirectDisable'] = $this->flexFormValue('redirectDisable', 's_redirect');
if ($this->flexFormValue('redirectPageLogin', 's_redirect')) $flex['redirectPageLogin'] = $this->flexFormValue('redirectPageLogin', 's_redirect');
if ($this->flexFormValue('redirectPageLoginError', 's_redirect')) $flex['redirectPageLoginError'] = $this->flexFormValue('redirectPageLoginError','s_redirect');
if ($this->flexFormValue('redirectPageLogout', 's_redirect')) $flex['redirectPageLogout'] = $this->flexFormValue('redirectPageLogout', 's_redirect');
$pid = $flex['pages'] ? $this->pi_getPidList($flex['pages'], $flex['recursive']) : 0;
if ($pid > 0) {
$flex['storagePid'] = $pid;
}
$this->conf = array_merge($this->conf, $flex);
}
/**
* Loads a variable from the flexform
*
* @param [string] name of variable
* @param [string] name of sheet
* @return [string] value of var
*/
private function flexFormValue($var, $sheet) {
return $this->pi_getFFvalue($this->cObj->data['pi_flexform'], $var,$sheet);
}
/**
* generate link with typolink function
*
* @param [string] linktext
* @param [array] link vars
* @param [boolean] true: returns only url false (default) returns the link)
* @return [string] link or url
*/
private function getPageLink($label, $piVars,$returnUrl = false) {
$additionalParams = '';
if (count($piVars)) {
foreach($piVars as $key=>$val) {
$additionalParams .= '&' . $key . '=' . $val;
}
}
// should GETvars be preserved?
if ($this->conf['preserveGETvars']) {
$additionalParams .= $this->getPreserveGetVars();
}
$this->conf['linkConfig.']['parameter'] = $GLOBALS['TSFE']->id;
if ($additionalParams) {
$this->conf['linkConfig.']['additionalParams'] = $additionalParams;
}
if ($returnUrl) {
return $this->cObj->typolink_url($this->conf['linkConfig.']);
} else {
return $this->cObj->typolink($label,$this->conf['linkConfig.']);
}
}
/**
*
* is used by TS-setting preserveGETvars
* possible values are "all" or a commaseperated list of GET-vars
* they are used as additionalParams for link generation
*
* @return [string] additionalParams-string
*/
private function getPreserveGetVars() {
$params = '';
$preserveVars =! ($this->conf['preserveGETvars'] || $this->conf['preserveGETvars']=='all' ? array() : implode(',', (array)$this->conf['preserveGETvars']));
$getVars = t3lib_div::_GET();
foreach ($getVars as $key=>$val) {
if (stristr($key,$this->prefixId) === false) {
if (is_array($val)) {
foreach ($val as $key1=>$val1) {
if ($this->conf['preserveGETvars']=='all' || in_array($key.'['.$key1.']',$preserveVars)) {
$params.='&'.$key.'['.$key1.']='.$val1;
}
}
} else {
if (!in_array($key,array('id','no_cache','logintype','redirect_url','cHash'))) {
$params.='&'.$key.'='.$val;
}
}
}
}
return $params;
}
/**
*
* is used by forgot password - function with md5 option
* this function is from Bernhard Kraft
* @param [int] length of new password
* @return [string] new password
*/
private function generatePassword($len) {
$pass = '';
while ($len--) {
$char = rand(0,35);
if ($char < 10) {
$pass .= ''.$char;
} else {
$pass .= chr($char-10+97);
}
}
return $pass;
}
/**
*
* return the header / message value from flexform if present, else from locallang.xml
* @param [string] label name
* @param [string] TS stdWrap array
* @return [string] label text
*/
private function getDisplayText($label, $stdWrapArray=array()) {
return $this->flexFormValue($label,'s_messages') ? $this->cObj->stdWrap($this->flexFormValue($label,'s_messages'),$stdWrapArray) : $this->cObj->stdWrap($this->pi_getLL('ll_'.$label, '', 1), $stdWrapArray);
}
}
if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/felogin/pi1/class.tx_felogin_pi1.php']) {
include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/felogin/pi1/class.tx_felogin_pi1.php']);
}
?>
typo3/sysext/felogin/pi1/locallang.xml (revision 0)
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3locallang>
<meta type="array">
<description>Texts for plugin 'newloginbox'</description>
<type></type>
<csh_table></csh_table>
<labelContext type="array">
</labelContext>
</meta>
<data type="array">
<languageKey index="default" type="array">
<label index="ll_welcome_header">User login</label>
<label index="ll_welcome_message">Enter your username and password here in order to log in on the website:</label>
<label index="ll_logout_header">You have logged out.</label>
<label index="ll_logout_message">You just logged out from your user session on this website. You can login again or as another user by the form below.</label>
<label index="ll_error_header">Login failure</label>
<label index="ll_error_message">An error occurred during login. Most likely you didn't enter the username or password correctly.
Be certain that you enter them precisely as they are, including upper/lower case.
Another possibility is that cookies might be disabled in your webbrowser.</label>
<label index="ll_success_header">Login successful</label>
<label index="ll_success_message">You are now logged in as '###USER###'</label>
<label index="ll_status_header">Current status</label>
<label index="ll_status_message">This is your current status:</label>
<label index="cookie_warning">Warning: There is a possibility that cookies are not enabled in your webbrowser! If your login disappears on your next click that is the case and you should enable cookies (or accept cookies from this website) immediately!</label>
<label index="username">Username:</label>
<label index="password">Password:</label>
<label index="login">Login</label>
<label index="permalogin">Stay logged in:</label>
<label index="logout">Logout</label>
<label index="send_password">Send password</label>
<label index="your_email">Your email:</label>
<label index="ll_forgot_header">Forgot your password?</label>
<label index="ll_forgot_email_password">Your password
Hi %s
Your username is &quot;%s&quot;
Your password is &quot;%s&quot;
</label>
<label index="ll_forgot_email_nopassword">Your password
Hi %s
We couldn't find a username for this email address and so cannot send the password to you. Probably you misspelled the email address (upper/lower case makes a difference) or maybe you even didn't register yet?
</label>
<label index="ll_forgot_message">Please enter the email address by which you registered your user account. Then press &quot;Send password&quot; and your password will immediately be emailed to you. Make sure to spell your email address correctly.</label>
<label index="ll_forgot_message_emailSent">Your password has now been sent to the email address %s</label>
<label index="ll_forgot_header_backToLogin">Return to login form</label>
</languageKey>
<languageKey index="dk" type="array">
<label index="ll_welcome_header">Brugerlogin</label>
<label index="ll_welcome_message">Indtast dit brugernavn og password her for at logge ind på websitet:</label>
<label index="ll_logout_header">Du har nu logget ud.</label>
<label index="ll_logout_message">Du har netop logget ud fra dit ophold som bruger på dette website. Du kan logge ind igen med formen herunder.</label>
<label index="ll_error_header">Fejl i login</label>
<label index="ll_error_message">Der skete en fejl under login proceduren. Højst sandsynligt har du ikke indtastet brugernavn og password korrekt.
Vær sikker på, at indtaster dem helt rigtigt inklusiv store og små bogstaver.
En anden mulighed kan være, at du har slået 'cookies' fra i din browser.</label>
<label index="ll_success_header">Login succesfuldt</label>
<label index="ll_success_message">Du er nu logget in som '###USER###'</label>
<label index="ll_status_header">Nuværende status</label>
<label index="ll_status_message">Dette er din nuværende status:</label>
<label index="cookie_warning">Advarsel: Der er en sandsynlighed for at cookies ikke er slået til i din browser! Hvis dit login forsvinder ved næste klik så er det tilfældet og du bør slå cookies til (eller acceptere cookies fra dette website) med det samme!</label>
<label index="username">Brugernavn:</label>
<label index="password">Password:</label>
<label index="login">Log ind</label>
<label index="logout">Log ud</label>
<label index="send_password">Send password</label>
<label index="your_email">Din email:</label>
<label index="ll_forgot_header">Har du glemt dit password?</label>
<label index="ll_forgot_email_password">Dit password
Hej %s
Dit brugernavn er &quot;%s&quot;
Dit password er &quot;%s&quot;</label>
<label index="ll_forgot_email_nopassword">Dit password
Hej %s
Vi kunne ikke finde et brugernavn tilhørende denne email-adresse og kan derfor ikke sende et password til dig. Du har formentlig stavet din email adresse forkert (store og små bogstaver betragtes som forskellige) eller også har du ikke registreret dig selv endnu?</label>
<label index="ll_forgot_message">Indtast venligst den email-adresse som du er registreret med. Tryk derefter &quot;Send password&quot; og du vil straks modtage dit password pr. email. Vær sikker på, at du staver din email adresse rigtigt.</label>
<label index="ll_forgot_message_emailSent">Dit password er nu blevet sendt til email adressen %s</label>
<label index="ll_forgot_header_backToLogin">Tilbage til login formular</label>
</languageKey>
<languageKey index="de" type="array">
<label index="ll_welcome_header">Benutzer Anmeldung</label>
<label index="ll_welcome_message">Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich an der Webseite anzumelden:</label>
<label index="ll_logout_header">Sie haben sich abgemeldet.</label>
<label index="ll_logout_message">Sie haben sich von dieser Webseite abgemeldet. Sie können sich erneut, auch als ein anderer Benutzer, mit dem unten angezeigten Formular anmelden.</label>
<label index="ll_error_header">Anmeldefehler</label>
<label index="ll_error_message">Ein Fehler trat während der Anmeldung auf. Wahrscheinlich haben Sie Ihren Benutzernamen oder das Passwort falsch eingegeben.
Vergewissern Sie sich, dass Sie beide Angaben korrekt eingegeben haben - Groß-/Kleinschreibung wird unterschieden.
Eine andere Möglichkeit ist, dass Sie eventuell die Cookies in Ihrem Webbrowser deaktiviert haben.</label>
<label index="ll_success_header">Anmeldung erfolgreich</label>
<label index="ll_success_message">Sie sind nun angemeldet als '###USER###'</label>
<label index="ll_status_header">Aktueller Status</label>
<label index="ll_status_message">Das ist Ihr aktueller Status:</label>
<label index="cookie_warning">Warnung: Es besteht die Möglichkeit, dass in Ihrem Browser Cookies deaktiviert sind! Sollte trotz erfolgreicher Anmeldung beim nächsten Klick wieder die Anmeldeseite erscheinen, so sind Cookies deaktiviert. Sie sollten daher umgehend Cookies akzeptieren, entweder generell für alle Websites oder nur für diese spezielle.</label>
<label index="username">Benutzername:</label>
<label index="password">Passwort:</label>
<label index="login">Anmelden</label>
<label index="permalogin">Angemeldet bleiben:</label>
<label index="logout">Abmelden</label>
<label index="send_password">Passwort senden</label>
<label index="your_email">Ihre Email:</label>
<label index="ll_forgot_header">Passwort vergessen?</label>
<label index="ll_forgot_email_password">Ihr Passwort
Hallo %s
Ihr Benutzername ist &quot;%s&quot;
Ihr Passwort ist &quot;%s&quot;</label>
<label index="ll_forgot_email_nopassword">Ihr Passwort
Hallo %s
Wir konnten keine mit dem angegeben Benutzernamen verknüpfte Email-Adresse finden. Aus diesem Grund können wir Ihnen kein Passwort zusenden. Vielleicht haben Sie Ihre Email-Adresse fehlerhaft eingegeben (Groß-/Kleinschreibug wird unterschieden!) oder Sie haben sich eventuell noch gar nicht registriert.</label>
<label index="ll_forgot_message">Bitte geben Sie die Email Adresse ein, mit der Sie sich registiert haben. Anschließend klicken Sie auf &quot;Passwort senden&quot; und Ihr Passwort wird Ihnen umgehend zugesendet. Achten Sie auf die korrekte schreibweise Ihrer Email-Adresse.</label>
<label index="ll_forgot_message_emailSent">Ihr Passwort wurde nun zur Email Adresse %s gesendet</label>
<label index="ll_forgot_header_backToLogin">Zurück zum Anmeldeformular</label>
</languageKey>
<languageKey index="no" type="array">
<label index="ll_welcome_header">Brukerinnlogging</label>
<label index="ll_welcome_message">Tast inn ditt brukernavn og passord her for å logge inn på nettstedet:</label>
<label index="ll_logout_header">Du har nå logget ut.</label>
<label index="ll_logout_message">Du har nettopp logget ut fra ditt opphold som bruker på nettstedet. Du kan logge inn igjen ved å benytte skjemaet under.</label>
<label index="ll_error_header">Innlogging feilet</label>
<label index="ll_error_message">Noe gikk galt under innloggingsprosedyren. Mest sannsynlig har du ikke tastet brukernavn og passord korrekt.
Forsikre deg om at du taster dem helt riktig inklusive store og små bokstaver.
En annen mulighet kan være at informasjonskapsler (cookies) er avslått i din nettleser.</label>
<label index="ll_success_header">Innlogging vellykket</label>
<label index="ll_success_message">Du er nå logget inn som '###USER###'</label>
<label index="ll_status_header">Nåværende status</label>
<label index="ll_status_message">Dette er din nåværende status</label>
<label index="cookie_warning">Advarsel: Det er en sannsynlighet for at cookies ikke er slått på i din nettleser! Dersom ditt logg inn forsvinner ved neste klikk er det tilfellet og du bør slå på cookies (eller akseptere fra dette nettstedet) med det samme!</label>
<label index="username">Brukernavn:</label>
<label index="password">Passord:</label>
<label index="login">Logg inn</label>
<label index="logout">Logg ut</label>
<label index="send_password">Send passord</label>
<label index="your_email">Din e-post:</label>
<label index="ll_forgot_header">Har du glemt passordet ditt?</label>
<label index="ll_forgot_email_password">Ditt passord
Hei %s
Ditt brukernavn er: %s
Ditt passord er: %s</label>
<label index="ll_forgot_email_nopassword">Ditt passord
Hei %s
... This diff was truncated because it exceeds the maximum size that can be displayed.
(4-4/4)