[TuGLE] stdAuthCode problem

Sabine Deeken sabine.deeken at web.de
Mo Jul 4 11:16:21 CEST 2011


Hallo Andreas,
Danke, das hat mir total geholfen, hab den authcode mit einer userfunc
in ein Register geschrieben und läuft. 
ich poste die Lösung unten gleich mit für den fall daß das jemand mal
brauchen könnte.
viele Grüße,
Sabine

class.tx_myext_auth.php
<?php
class tx_myext_auth { 
	function machauthcode($content,$conf) {
		$conf['recordOrUid']=$this->cObj->stdWrap($conf['recordOrUid'],
$conf['recordOrUid.']);
		$fields = '';
	        $authCode = t3lib_div::stdAuthCode($conf['recordOrUid'],
$fields);
		return $authCode;
	}

}
?>

typoscript

#authcode erzeugen mit gpvar auf der email-erzeugen-Seite
includeLibs.tx_myext_auth = EXT:myext/class.tx_myext_auth.php
page.9 = LOAD_REGISTER
page.9.authcode.cObject = USER
page.9.authcode.cObject {
  userFunc = tx_pruefungsdatenbank_auth->machauthcode
  recordOrUid=TEXT
  recordOrUid {
    data = GP:tx_browser_pi1|showUid
    intval = 1
  }
}


# authcode vergleichen auf der seite, die mit dem emaillink aufgerufen
# wird (ursprünglich war page.10 < styles.content.get, bzw. ein
# CONTENT-Objekt aber das hat auf if nicht reagiert, das parent COA
# dagegen schon.)
page.10 >
page.10 = COA
page.10.10 < styles.content.get
page.10.if{
      value.data = GP:aC
    equals.data = register:authcode
   }

Am Freitag, den 01.07.2011, 09:07 +0200 schrieb Andreas Kießling:
> Hi Sabine,
> 
> schon länger her, dass ich so etwas gebraucht habe, aber ein paar generelle Anmerkungen dazu:
> 
> > darum hatte ich gedacht ich verschicke emaillinks mit authcode, aber wie
> > entschlüssele ich den authcode dann nachher?
> > so richtig schlau bin ich aus dem code der direct_mail extension nicht
> > geworden.
> 
> Du entschlüsselst den Code nicht, sondern musst in dem Link eine uid und den Code mitgeben.
> Über die Uid erzeugst du dann erneut einen Authcode und vergleichst die beiden.
> 
> > 
> > generieren wäre wohl so:
> > 
> > $authCode = t3lib_div::stdAuthCode($uid_des_zu_bewertenden records,
> > $fields);
> > und als $fields nehm ich die uid vom record (ich hätte auch gern noch
> > die uid eines feusers verbaut, muß aber nicht dringend)
> 
> Du kannst anstelle der uid auch ein Array übergeben
> 
> Weil du formhandler erwähnt hast (hab ich evt. auch missverstanden): bitte hier nicht den Finisher GenerateAuthCode mit der t3lib_div Funktion verwechseln.
> Formhandler macht nur ein "md5(serialize($row))", während t3lib_div hier evt. auch noch den encryptionKey mit einbezieht (und ein paar andere Sachen macht).
> 
> HTH,
> Andreas
> _______________________________________________
> TUGLE mailing list
> TUGLE at smi-softmark.de
> http://smi-softmark.de/cgi-bin/mailman/listinfo/tugle




Mehr Informationen über die Mailingliste TUGLE