Jak sestrojit url ze storeRequest

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Miri
Člen | 117
+
0
-

Ahoj, chtěl bych se zeptat, jestli existuje nějaká funkce, která z vytáhnutého hashe v storeRequest vypíše celé url? Děkuji za odpovedi
Míra

Zax
Člen | 370
+
0
-

Po rychlém náhledu do zdrojáku funkce restoreRequest bych to zkusil asi něco takového:

public function getStoredRequestUrl($key) {
    $session = $this->session->getSection('Nette.Application/requests');
    if (!isset($session[$key]) || ($session[$key][0] !== NULL && $session[$key][0] !== $this->user->getId())) {
        return;
    }
    $request = clone $session[$key][1];
    return $request->getUrl();
}

EDIT: drobné úpravy

Editoval Zax (10. 6. 2014 11:29)

Jan Endel
Člen | 1016
+
+2
-

Spíše by mě zajímalo k čemu potřebuješ takovou věc, protože jak se zdá ji vyloženě znásilňuješ :-).

Zax
Člen | 370
+
0
-

@Jan Endel: tak může se hodit pokud nechce rovnou přesměrovat, ale třeba jen vytvořit odkaz…

Miri
Člen | 117
+
0
-

No řešim authenticaci přes facebook a ten má vlastní přesměrování. Proto do něj potřebuju dostat již hotovou backlinkovou url adresu.

Díky za řešení, vyzkouším.

David Matějka
Moderator | 6445
+
0
-

z requestu nedostanes primo URL, musis to prohnat constructUrl metodou v routeru

Jan Endel
Člen | 1016
+
+2
-

Já bych na to šel tak, že facebooku bych podstrčil místo původní stránky nákou default s tím, že se uživatel přihlásil a jako parametr do url bych mu dal ten storeRequest hash, a na téhle přihlašovací bych ověřil jeho existenci a posléze restornul kompletní request, pokud existuje.

Zax
Člen | 370
+
0
-

matej21 napsal(a):

z requestu nedostanes primo URL, musis to prohnat constructUrl metodou v routeru

Jo to je fakt, neuvědomil jsem si, že se nevrací Http\Request, ale Application\Request.

Miri
Člen | 117
+
0
-

Jan Endel
Supr, to by mohlobýt řešení. Díky