SSL nastavení, routy, link

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

Ahoj,

mám seznam článků a podle jejich parametru ssl potřebuju, rozhodovat, jestli mám použít Route::SECURED. Zajímá mě ale jak se k tomu dostanu, aniž bych musel zbytečně duplikovat kod do jiný akce.

<?php

$frontRouter[] = new Route('d[/<link>]', 'FillUp:default');
//$frontRouter[] = new Route('d[/<link>]', 'FillUp:default', Route::SECURED); // použít tuhle, když je param. ssl

?>

popř. dá se to řešit někde přímo v linku?

Díky moc.

Aurielle
Člen | 1281
+
0
-
$frontRouter[] = new Route('d[/<link>]', 'FillUp:default', $ssl ? Route::SECURED : NULL);
wise
Člen | 161
+
0
-

Jde mi spíš o to, jak zachytím to $ssl. Dejme tomu článek má name, autora atd. a taky ssl.

bojovyletoun
Člen | 667
+
0
-

podle mě takováhle feature v nette není a se musí přepsat router, protože Route::constructUrl@L395 přidá https jen podle flagu route. Ty asi chceš třeba {link Article: id => $art->id, ssl => $art->ssl}. Pak to bude chtít upravit onen řádek, aby přidal https i v přítomnosti tohoto parametru.

wise
Člen | 161
+
0
-

Vyřešeno:

<?php

$frontRouter[] = new Route("d/<link>[/<ssl 0>]", array(
            'presenter'	=> 'FillUp',
            'action'    => 'default',
            'ssl'       => 0
    ));

    $frontRouter[] = new Route("d/<link>[/<ssl 1>]", array(
            'presenter'	=> 'FillUp',
            'action'    => 'default',
            'ssl'       => 1
    ), Route::SECURED);

// link
{link :Front:FillUp:, $survey->link, 'ssl' => $survey->ssl}
?>