Donnerstag, 27. Oktober 2011

sr_feuser_register mit md5: Wechsel auf rsa/saltedpasswords

Versionen vor dem Wechsel (funktionierte nicht mehr):
  • TYPO3 4.5.6
  • felogin 1.3.1
  • sr_feuser_register 2.5.27
  • kb_md5fepw 0.4.0
Schritt 1: Extensions
  • kb_md5fepw entfernen
  • sr_feuser_register update auf 2.6.1
  • rsaauth 1.1.0 installieren
  • saltedpasswords 1.0.0 installieren
  • srfeuserregister_t3secsaltedpw 0.2.0 importieren/installieren
Schritt 2: localconf.php anpassen, folgendes hinzufügen
  • $TYPO3_CONF_VARS['FE']['loginSecurityLevel'] = 'rsa';
  • $TYPO3_CONF_VARS['BE']['loginSecurityLevel'] = 'rsa';
Schritt 3: saltedpasswords erneut konfigurieren
  • FE und BE aktivieren
  • MD5 salted hashing verwenden
Schritt 4: sr_feuser_register Konfiguration ändern
  • plugin.tx_srfeuserregister_pi1.useMd5Password = 0
  • plugin.tx_srfeuserregister_pi1.useRSA = 0
  • plugin.tx_srfeuserregister_pi1.useSaltedPassword = 1

Mittwoch, 5. Oktober 2011

Return Path bei Emails

Wenn mailformplus oder der formhandler Emails versenden steht als return-path im Email die Adresse des Servers. Automatische Antworten oder Unzustellbar-Meldungen werden dann aber auch an diese return-path Adresse gesendet. Nicht an die reply-to Adresse.

Damit auch die return-path Adresse korrekt gesetzt ist, muss man im localconf.php folgende Zeile hinzufügen.
$TYPO3_CONF_VARS['SYS']['forceReturnPath'] = 1;

Beim formhandler muss man beim Finisher auch den return_path setzen.
plugin.Tx_Formhandler.settings.predef.myform {
finishers {
5.class = Tx_Formhandler_Finisher_Mail
5.config {
admin {
return_path = return@to.me
}
user {
return_path = return@to.me
}
}
}
}

Dienstag, 26. Juli 2011

Standard Sprache ändern (2/2)

Die Seiten habe ich via eine Kopie der Tabelle erstellt.

Zuerst die Tabelle pages kopieren, inkl. Inhalte. (pages_new)

Schritt 1:
update pages left join pages_language_overlay on pages.uid=pages_language_overlay.pid set pages.title=pages_language_overlay.title,        pages.subtitle=pages_language_overlay.subtitle,     pages.description=pages_language_overlay.description,        pages.keywords=pages_language_overlay.keywords,        pages.abstract=pages_language_overlay.abstract,        pages.nav_title=pages_language_overlay.nav_title    where pages_language_overlay.sys_language_uid=1;

Schritt 2:
update pages_language_overlay right join pages_new on pages_language_overlay.pid=pages_new.uid set pages_language_overlay.title=pages_new.title,        pages_language_overlay.subtitle=pages_new.subtitle,     pages_language_overlay.description=pages_new.description,        pages_language_overlay.keywords=pages_new.keywords,        pages_language_overlay.abstract=pages_new.abstract,        pages_language_overlay.nav_title=pages_new.nav_title    where pages_language_overlay.sys_language_uid=1;

Donnerstag, 21. Juli 2011

Standard Sprache ändern (1/2)

Soviel ich weiss gibt es keine Funktion im TYPO3, die erlaubt die Standardsprache zu ändern. Wenn man TemplaVoila verwendet ist es noch ein Level komplizierter, da IDs von Inhalten in einem templavoila Feld der Seite gespeichert werden.

Aktuelles Setup: Deutsch ist die Standardsprache, English Sprache 1, Französisch Sprache 2.

Ziel: Englisch soll die Standardsprache sein und Deutsch die erste alternative Sprache.

Mit folgenden SQL Statements hat es geklappt.

sys_language_uid der Deutschen Inhalte ändern (von 0 auf 10):
update tt_content set sys_language_uid=10 where sys_language_uid=0;

sys_language_uid der Englischen Inhalte ändern (von 1 auf 0):
update tt_content set sys_language_uid=0 where sys_language_uid=1;

sys_language_uid der Deutschen Inhalte ändern (von 10 auf 1):
update tt_content set sys_language_uid=1 where sys_language_uid=10;

l18n_parent neu setzen für die Deutschen Inhalte:
UPDATE tt_content as c1
    RIGHT JOIN tt_content as c2 on c2.l18n_parent=c1.uid
    SET c1.l18n_parent=c1.uid,c1.t3_origuid=c1.uid
    WHERE c1.sys_language_uid=1
        AND c2.sys_language_uid=0;

uid ändern bei allen Deutschen Inhalten  (> als grösste aktuelle Content ID!):
UPDATE tt_content as c1
    RIGHT JOIN tt_content as c2 on c2.l18n_parent=c1.uid
    SET c1.uid=c2.uid+10000
    WHERE c1.sys_language_uid=1
        AND c2.sys_language_uid=0;

uid der Englischen Inhalte ändern auf die Id der ehemals Deutschen Inhalte:
UPDATE tt_content
    SET uid=l18n_parent where sys_language_uid=0 and l18n_parent>0;

uid der Deutschen Inhalte wieder ändern
UPDATE tt_content
    SET uid=uid-10000 where sys_language_uid=1 and uid>10000;

Clean up
UPDATE tt_content 
    SET l18n_parent=0,t3_origuid=0,l18n_diffsource=''
    where sys_language_uid=0 and l18n_parent>0;

Und bestimmte Felder überetragen:
UPDATE  tt_content as c1
    RIGHT JOIN tt_content as c2 on c2.l18n_parent=c1.uid
    SET c1.hidden=c2.hidden,
        c1.starttime=c2.starttime,
        c1.endtime=c2.endtime
    WHERE c1.sys_language_uid=0
        AND c2.sys_language_uid=1;

Multi-Domain Websites und Cross-Domain Links mit TYPO3

Damit Cross Domain Links bei Multi-Domain Setups korrekt funktionieren müssen folgende Voraussetzungen erfüllt sein. Getestet mit TYPO3 4.5.

1. Bei den Einstiegsseiten der Domains muss die Checkbox "Als Anfang der Website benutzen" aktiviert sein.

2. Folgende TypoScript Konfiguration muss gesetzt sein.
config.typolinkCheckRootline = 1
config.typolinkEnableLinksAcrossDomains = 1