Nouveau sujet Répondre Imprimer Syndication RSS 2.0

Questions à propos du SDK

groupes + sondages
Nouvelle étincelle
Avatar de wellan
  • Messages : 7
  • Inscrit : 27 Février 2008
  Lien vers ce message 08 Mars 2008, 21:06
Bonsoir (ou bonjour) à tous,

J'ai quelques questions pour vous à propos du SDK.

La première :
En fait, j'aimerai faire un panneau d'administration et un panneau pour les newsers. Donc, j'aimerais récupérer les différents groupes et faire des conditions avec. Le seul problème, c'est que je ne vois pas comment les récupérer (j'ai encore du mal avec la structure de FSB2) ...

La seconde :
j'aimerais récupérer le dernier sondage, mais je n'ai pas vraiment compris comment faire ... j'ai essayé pas mal de combinaisons et toutes ont échouées (hélas). Donc (j'espère que je n'en demande pas trop) j'aimerais bien qu'on me donne un exemple de ce que je devrais mettre.

J'ai été regarder le wiki pour mon second problème mais je n'ai toujours pas compris ...

Merci d'avance pour vos réponses, en espérant que je n'en demande pas trop :$
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14520
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 09 Mars 2008, 16:48
Bonjour,
pour ta première question pourrais tu préciser davantage ce que tu veux faire que je puisse te donner la solution adaptée à ton problème ?

Pour l'histoire des sondages c'est très simple de le faire avec le SDK, tout passe par la méthode get_poll() du SDK. Un petit exemple :
<?php

define('ROOT', 'fsb2/');
include(ROOT . 'sdk.php');

$poll = $fsb->get_poll();

echo 'Titre du sondage : ' . $poll['name'];
echo '<ul>';
foreach ($poll['options'] AS $option)
{
	echo '<li>' . $option['html'] . '</li>';
}
echo '</ul>';


Pour afficher l'ensemble des informations de la variable $poll, il suffit de faire un
printr($poll);

et tu devrais pouvoir faire ce que tu veux avec :)


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Nouvelle étincelle
Avatar de wellan
  • Messages : 7
  • Inscrit : 27 Février 2008
  Lien vers ce message 09 Mars 2008, 20:49
Merci d'avoir répondu :)

Pour les groupes : en fait, j'aimerais que certaines actions du site ne soient disponibles que pour les admins ou les newsers. C'est pourquoi je souhaiterais vérifier si un membre est admin/newser. En gros, j'aimerai avoir un système de droits en rapport avec les groupes du forum.

Une autre question (toute bête) : j'ai réussi à mettre des sondages, seul problème : la barre de résultats est trop longue et dépasse du corps de mon menu. Donc j'aimerais savoir comment la rétrécir.

Merci d'avance :)
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14520
  • Inscrit : 16 Septembre 2004
Message édité 2 fois, dernière édition par Genova, 09 Mars 2008, 21:27     Lien vers ce message 09 Mars 2008, 21:03
Bonsoir,
pour réduire la largeur des barres soit tu génères le HTML par toi même ($poll disposant de toutes les informations dont tu as besoin), soit tu appliques un coup de str_replace() ou de preg_replace() sur le HTML pour réduire un peu l'attribut width="".

Pour vérifier l'appartenance du visiteur courant à un groupe il faut faire :
$id_groupe = ??; // L'ID du groupe que tu veux vérifier

if (in_array($id_groupe, Fsb::$session->data['groups']))
{
   // Appartient au groupe
}


Ca répond à tes questions ?

EDIT : petite erreur de ma part, ce n'est pas $fsb->get_poll mais $fsb->get_last_poll() que tu dois utilise pour avoir le dernier sondage.


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Nouvelle étincelle
Avatar de wellan
  • Messages : 7
  • Inscrit : 27 Février 2008
Message édité 1 fois, dernière édition par wellan, 15 Mars 2008, 18:43     Lien vers ce message 15 Mars 2008, 18:42
Merci beaucoup pour tes réponses :)

Pour la taille de la barre des sondages, je ne me suis pas vraiment cassé la tête puisque j'ai édité le fichier sdk.php pour modifier la taille (un jeu d'enfant).

Pour les groupes c'est exactement ce que je voulais :)
_________________________________________________________

Au fait, j'ai un autre problème (qui a tout de même une certaine importance) : lorsque je désactive le forum et que je vais sur mon site, je tombe sur une belle erreur :
Citation

Fatal error: Call to a member function frame_footer() on a non-object in C:\wamp\www\sims2plus\forum\main\class\class_display.php on line 134


J'ai déjà fait une recherche, mais je n'ai trouvé aucune réponse correcte.

Donc s'il a été corrigé se serai bien qu'on me dise comment débloquer l'affaire :)

Merci d'avance.

PS : j'ai supprimé l'ancien message pour ne pas faire de DP
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14520
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 15 Mars 2008, 19:24
Salut,
c'est probablement un bug, je le corrigerai pour la prochaine version ;)


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Nouvelle étincelle
Avatar de wellan
  • Messages : 7
  • Inscrit : 27 Février 2008
Message édité 1 fois, dernière édition par wellan, 29 Mars 2008, 21:32     Lien vers ce message 29 Mars 2008, 21:30
OK, merci bien :)

Au fait, est-il possible de retirer les "notices fsb" (généralement je mets ça : "error_reporting(E_ALL ^ E_NOTICE);", mais là ça ne marche pas ...) ?

Je sais à quoi elles sont dûes, mais je n'ai pas envi de remodifier toutes mes pages pour ajouter une variable ...

__________________________________

Au fait, y'a t-il moyen d'integrer le formulaire de contact du forum sur une page de mon site ?
 
Volcan
Avatar de Talus
  • Age : 20 ans
  • Messages : 1552
  • Inscrit : 28 Septembre 2006
  Lien vers ce message 30 Mars 2008, 2:25
Ce serait plutot : error_reporting(E_ALL | ~E_NOTICE); pour désactiver les notices.


 
Nouvelle étincelle
Avatar de wellan
  • Messages : 7
  • Inscrit : 27 Février 2008
Message édité 4 fois, dernière édition par wellan, 30 Mars 2008, 11:27     Lien vers ce message 30 Mars 2008, 11:17
Non, ce n'est pas ça (il me remet toutes les notices), ce que j'ai mis marche parfaitement sur les notices du site (pas de FSB).

J'ai essayé avec "error_reporting(E_ALL & ~E_NOTICE);" et c'est toujours pareil : les notices du site sont désactivées, mais j'ai toujours les notices fsb ...
 
Volcan
Avatar de Talus
  • Age : 20 ans
  • Messages : 1552
  • Inscrit : 28 Septembre 2006
  Lien vers ce message 30 Mars 2008, 11:31
En fait, le truc, c'est que c'est géré en interne par FSB2. C'est lui qui établi un nouveau registre des erreurs... Donc du coup, quelque part, doit y avoir un autre error_reporting.

Facon, cacher ses erreurs, cay le mal, faut apprendre à coder correctement (E_ALL | E_STRICT) §§


 
Equipe de support
Avatar de B.Moncef
  • Age : 18 ans
  • Messages : 1926
  • Inscrit : 10 Septembre 2005
  Lien vers ce message 30 Mars 2008, 14:06
Dans main/start.php, il y a le error_reporting de FSB, il est à E_ALL.
 
Volcan
Avatar de Sékiltoyai
  • Age : 20 ans
  • Messages : 1034
  • Inscrit : 19 Septembre 2006
  Lien vers ce message 30 Mars 2008, 23:51
Si tu as des erreurs notice, ce n'est pas pour rien, c'est parce qu'il y a des variables non initialisées, des indes de tableau inexistants. Donc que le code n'est pas correct et potentiellement buggué, faillé, et instable.


http://www.phpfrance.com : Support francophone PHP et Web.
http://sekil.labrute.fr/
 
Volcan
Avatar de Spark
  • Messages : 1999
  • Inscrit : 24 Juin 2006
  Lien vers ce message 31 Mars 2008, 0:56
On est pas en C, ce n'est pas obligatoire en PHP donc ça me saoul de voir les gens imposer cette idées. Initialiser toutes les variables c'est beaucoup de codes pour ... pour rien.


Mon site de jeux en réseau Hamachi :
http://www.jeux-reseau.fr
Le forum : http://forum.jeux-reseau.fr
http://img100.imageshack.us/img100/4097/voegelpc3jk2jx2kw4xg6.gif
 
Etoile
Avatar de BlackJowy
  • Age : 22 ans
  • Messages : 3477
  • Inscrit : 01 Mars 2007
  Lien vers ce message 31 Mars 2008, 8:30
Non, Sékiltoyai n'a pas tord et il n'impose pas une idée, il donne les bonnes pratiques.

C'est pas parce que le langage te l'impose pas que tu peux faire tout et n'importe quoi.

Tu peux quitter les chiottes sans tirer la chasse après avoir chié un truc ignoble, mais généralement tu tires la chasse pour éviter que ça stagne et pue encore plus, pour éviter que ça s'incruste, pour éviter donc de plus tard frotter ta propre merde et incommoder celui qui passera derrière.

Là c'est pareil, il y a des bonnes pratiques, certaines qui se résument à de l'ergonomie (genre indenter ton code), d'autres qui vont potentiellement t'économiser des heures de boulot par la suite, mettre le rapport d'erreur au max ça te permet de voir toutes les conneries que tu fais, certaines sont pas très graves, mais sur un gros code, ben l'accumulation fou un bordel monstrueux parfois. Coder avec le rapport d'erreur activé ça te permet de te former aux bonnes pratiques, c'est chiant au début mais par la suite ça te prend pas vraiment plus de temps, et ça t'en fais gagner en débugage.

Pour le point précis des variables initilisées, dans tous les cas tu dois le faire, PHP ou C, ce dont tu peux te passer en PHP c'est de les déclarer, c'est bien différent.

En PHP tu peux te passer te dire que ta variable sera un Array ou un Int, mais faut que tu lui mette une valeur, sinon tu travailles sur de l'inconnu.


"It's backup day today so I'm pissed off. Being the BOFH, however, does have it's advantages. I reassign null to be the tape device — it's so much more economical on my time as I don't have to keep getting up to change tapes every 5 minutes. And it speeds up backups too, so it can't be all bad can it? Of course not." S.Travaglia

 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14520
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 31 Mars 2008, 23:21
Je confirme que par expérience de nombreux bugs et de nombreuses failles de sécurité sont dues aux variables non initialisées.

Sinon effectivement l'error_reporting() est activé dans le fichier start.php, j'ai prévu de supprimer l'affichage des notices en production pour la prochaine version (en effet un utilisateur lambda n'a pas à tombé dessus).


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Répondre


.