logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
28 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 109 368 390

  • Nb. de membres 8 695
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Le coin des codeurs »» [Résolu] - changer de thème même en anonyme

[Résolu] - changer de thème même en anonyme#24683

2Contributeur(s)
skippyAnonyme
3 Modérateur(s)
developpeurjpbJireck
skippy skippyicon_post
salut,

j'essaie sur le Labo à thèmes pour NPDS, j'aimerai faire en sorte que mêmes les anonymes puissent tester les thèmes.

Est-ce que npds génère un cookies "anonyme" ?

dans la fonction j'ai ceci :



function chgtheme() {
    global $user;

    $userinfo=getusrinfo($user);
    opentable();
    echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"header\">\n";
    echo translate("Select One Theme");
    echo "</td></tr></table>\n";
    echo "<p align=\"center\"><form action=\"user.php\" method=\"post\">
          <select class=\"textbox_standard\" name=\"theme\">";
    !include!("themes/list.php");
    $themelist = explode(" ", $themelist);
    for ($i=0; $i < sizeof($themelist); $i++) {
       if ($themelist[$i]!="") {
          echo "<option value=\"$themelist[$i]\" ";
          if ((($userinfo[theme]=="") && ($themelist[$i]=="$Default_Theme")) || ($userinfo[theme]==$themelist[$i])) echo "selected=\"selected\"";
             echo ">$themelist[$i]\n";
          }
    }
    if ($userinfo[theme]=="") $userinfo[theme] = "Default_Theme";

    echo "<input type=\"hidden\" name=\"uname\" value=\"$userinfo[uname]\" />
          <input type=\"hidden\" name=\"uid\" value=\"$userinfo[uid]\" />
          <input type=\"hidden\" name=\"op\" value=\"savetheme\" />
          <p></p>
          <input class=\"bouton_standard\" type=\"submit\" value=\"".translate("Save Changes!")."\" />
          </form>";
    closetable();

}
function savetheme($uid, $theme) {
    global $NPDS_Prefix;
    global $user;
    $cookie=cookiedecode($user);
    $check = $cookie[1];
    $result = sql_query("select uid from ".$NPDS_Prefix."users where uname='$check'");
    list($vuid) = sql_fetch_row($result);
    if ($uid == $vuid) {
        sql_query("update ".$NPDS_Prefix."users set theme='$theme' where uid='$uid'");
        $userinfo=getusrinfo($user);
        docookie($userinfo[uid],$userinfo[uname],$userinfo[pass],$userinfo[storynum],$userinfo[umode],$userinfo[uorder],$userinfo[thold],$userinfo[noscore],$userinfo[ublockon],$userinfo[theme],$userinfo[commentmax], "");
        // !include! cache manager for purge cache Page
        $cache_obj = new cacheManager();
        $cache_obj->UsercacheCleanup();
        Header("Location: user.php");
    } else {
       Header("Location: index.php");
    }
}


switch ($op) {
    case "chgtheme":
         if ($user)
            chgtheme();
         else
            Header("Location: index.php");
         break;
    case "savetheme":
         savetheme($uid, $theme);
         break;
}
?>



J'avoue être un peu perdu. Si quelqu'un pourrait m'aider à mettre ce système en place ça serait :=!

A tut
skippy skippyicon_post
Bon j'y arrive gentiment mais sûrement. J'arrive déjà à mettre le système de séléction via un !include! dans un bloc.
Mais j'ai un drôle de bug. Si dans mon bloc j'ai bien le select pour séléctionner les thèmes, J'ai aussi en dessus : modules/change-theme/chg_theme.php (écrit tel quel :-o)

Voici mon bloc :

!include!#modules/change-theme/chg_theme.php



mon code :


!include!("../../mainfile.php");

     $userinfo=getusrinfo($user);
    $content .="<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"header\">\n";
    $content .= translate("Select One Theme");
    $content .="</td></tr></table>\n";
    $content .="<p align=\"center\"><form action=\"user.php\" method=\"post\">
          <select class=\"textbox_standard\" name=\"theme\" style=\"width:130px\" >";
    !include!("themes/list.php");
    $themelist = explode(" ", $themelist);
    for ($i=0; $i < sizeof($themelist); $i++) {
       if ($themelist[$i]!="") {
    
    $content .="<option value=\"$themelist[$i]\" ";
          if ((($userinfo[theme]=="") && ($themelist[$i]=="$Default_Theme")) || ($userinfo[theme]==$themelist[$i])) 
    $content .= "selected=\"selected\"";
    $content .= ">$themelist[$i]\n";
         }
    }
   if ($userinfo[theme]=="") $userinfo[theme] = "Default_Theme";    
   
    $content .= "<input type=\"hidden\" name=\"uname\" value=\"$userinfo[uname]\" />
          <input type=\"hidden\" name=\"uid\" value=\"$userinfo[uid]\" />
          <input type=\"hidden\" name=\"op\" value=\"savetheme\" />
          <p></p>
          <input class=\"bouton_standard\" type=\"submit\" value=\"".translate("Save")."\"  style=\"width:100px\"  />
          </form>"; 
  
?>



Autres chose, j'aimerai que comme cité dans le titre que même ceux non inscrit puissent changer leur thème.
Anonyme Anonymeicon_post
Je ne vois pas trop l'intérêt...
Tu invites tes anonymes à se connecter en user en donnant mot de passe.
Et c'est réglé
skippy skippyicon_post
bah c'est pour simplifier un maximum.

Quand je veux tester des templates joomla, wordpress, blogger, etc.. je n'ai pas besoin d'être loggué et c'est très pratique

Merci pour ta réponse, mais elle résoud pas vraiment mon problème ;-)