[Résolu] Php condition avec test sur url

WRInaute accro
Il s'agit d'une condition qui affiche un lien RSS sur toutes les catégories du site.
Code:
    if( ($gorumroll->list=="appcategory" || $gorumroll->list=="item") && $gorumroll->method=="showhtmllist" && $gorumroll->rollid )
    {
        $params.= "/category/$gorumroll->rollid";
        $ctrl =& new AppController($params);
        $feed[] = array("link"=>$ctrl->makeUrl(), "label"=>sprintf($lll["rssLatestInCategory"], $latestNum), "linkClass"=>"color2");//salva affichage rss des categories
    }
    elseif( ($gorumroll->list=="user" && $gorumroll->method=="showdetails") )
    {
        $params.= "/user/$gorumroll->rollid";
        $ctrl =& new AppController($params);
        $feed[] = array("link"=>$ctrl->makeUrl(), "label"=>sprintf($lll["rssLatestOfUser"], $latestNum), "linkClass"=>"color2");
    }
Ci-dessous, j'ai inbriqué une autre condition sur le premier if (celui du code ci-dessus) qui passe tous les paramètres uniquement quand l'uri est différente de /list/76
Code:
    if( ($gorumroll->list=="appcategory" || $gorumroll->list=="item") && $gorumroll->method=="showhtmllist" && $gorumroll->rollid )
      if ($_SERVER['REQUEST_URI'] == "/list/76")
          {
            $params.= "/category/$gorumroll->rollid";
            $ctrl =& new AppController($params);
          }
      else
          {
            $params.= "/category/$gorumroll->rollid";
            $ctrl =& new AppController($params);
            $feed[] = array("link"=>$ctrl->makeUrl(), "label"=>sprintf($lll["rssLatestInCategory"], $latestNum), "linkClass"=>"color2");//salva affichage rss des categories
          }
    {
        $params.= "/user/$gorumroll->rollid";
        $ctrl =& new AppController($params);
        $feed[] = array("link"=>$ctrl->makeUrl(), "label"=>sprintf($lll["rssLatestOfUser"], $latestNum), "linkClass"=>"color2");
    }
    elseif...
Je souhaiterais obtenir le même résultat mais pour plusieurs urls déterminées (une vingtaine toutes sous cette forme : ndd.tld/list/+ un_nombre) et là je me prends la tête. J'ai tenté du preg_match avec moins de résultats encore.

Un petit coup de main, please.
 
WRInaute accro
Re: Php condition avec test sur url

J'y arrive en procédant ainsi
Code:
    if( ($gorumroll->list=="appcategory" || $gorumroll->list=="item") && $gorumroll->method=="showhtmllist" && $gorumroll->rollid )
    {
      $mesUrls = $_SERVER['REQUEST_URI'];
      if ($mesUrls == "/list/11" || $mesUrls == "/list/14" || ..)
          {
            $params.= "/category/$gorumroll->rollid";
            $ctrl =& new AppController($params);
          }
      else
          {
            $params.= "/category/$gorumroll->rollid";
            $ctrl =& new AppController($params);
            $feed[] = array("link"=>$ctrl->makeUrl(), "label"=>sprintf($lll["rssLatestInCategory"], $latestNum), "linkClass"=>"color2");//salva affichage rss des categories
          }
    }
    elseif( ($gorumroll->list=="user" && $gorumroll->method=="showdetails") )
    {
        $params.= "/user/$gorumroll->rollid";
        $ctrl =& new AppController($params);
        $feed[] = array("link"=>$ctrl->makeUrl(), "label"=>sprintf($lll["rssLatestOfUser"], $latestNum), "linkClass"=>"color2");
    }
    View::assign("rssFeed", $feed);
}
N'y aurait-il pas plus simple ?
 
Discussions similaires
Haut