[CODAGE] Créer un nouveau sujet par script - Version imprimable +- MyBB.support, le portail francophone de MyBB (https://mybb.support) +-- Forum : MyBB.fr (https://mybb.support/forum-1.html) +--- Forum : Tutoriels (https://mybb.support/forum-19.html) +--- Sujet : [CODAGE] Créer un nouveau sujet par script (/thread-4166.html) |
[CODAGE] Créer un nouveau sujet par script - valentin45000 - 19-05-2011 OBJECTIF
Bonjour, Notre objectif dans se tutoriel va être de créer un sujet sur son forum à partir d'un script. Peut importe sa localisation sur le FTP. Et comme je suis sadique nous allons mettre se script à l’extérieur de dossier du forum, vous verrez que en fait ça n'a pas beaucoup d'importance ARCHITECTURE DE DÉPART
Pour notre architecture nous allons imaginez que nous avons ceci : Code : images/ Voilà rien de bien méchant, notez que les dossier images/ et css/ ne nous serviront pas, je les est juste mis pour mieux monter une architecture basique. En réalité nous allons avoir besoin que d'un seul fichier => test.php, bien entendu vous l'appelez comme vous voulez CODAGE
Bon cette fois ci on y va Donc nous allons ouvrir notre fichier, ici test.php et nous allons devoir dans un premier temps inclure et initialiser MyBB. Pour cela c'est assez simple : Code PHP : <?php Code PHP : require_once "forum/inc/datahandlers/post.php"; Alors la pour la suite si vous ne connaissez pas la POO vous allez être un peut perdu On créer une variable $poster et on initialise PostDataHandler() puis sur la dernière ligne on indique que l'action est de poster un nouveau sujet. Bon maintenant on va voir un array qui contient toutes les infos : Code PHP : $nouveau_sujet = array( Bon on créer la variable $nouveau_sujet qui contient un tableau, pas besoin de s'étendre plus la dessus. Alors le fid est s'en doute le plus dur, en fait c'est l'id du forum dans lequel va être posté le sujet. Et l'a vous allez me dire "Ok c'est bien beau mais comment on peut connaître l'id ?". TROUVER L'ID
C'est pas bien dur il vous suffit de vous rendre sur le forum en question de regarder l'URL elle va ressembler à : Citation :http://localhost/mybb/forumdisplay.php?fid=5Regarder à la fin "fid=5", vous vous devez sûrement avoir un autre chiffre que 5. et bien le chiffre après fid= c'est votre id, donc ici c'est 5 on reprend donc notre code : RETOUR AU CODE
Code PHP : $nouveau_sujet = array( Deuxième ligne c'est le titre de notre sujet. Troisième ligne c'est si on veut une icone ici non donc "-1". Uid c'est l'id de la personne qui poste le message pour le connaître rendez-vous sur le profil du membre et dans l'url prenez que se qu'il y a derrière uid= Citation :http://localhost/mybb/member.php?action=profile&uid=4Si vous ne voulez pas que se soit un membre mais par exemple un robot entrez "-1". Ensuite username c'est le pseudo qui s’affichera. Le message c'est le message. ipaddress et posthash n'y touchez pas, sauf si vous voulez qu'une IP s'affiche en particulier. Et ensuite savedraft c'est si le message doit être sauvegarder sur le membre qui à le uid entré. Vous savez quoi on va ajouter à deuxième tableau Non mais moins gros Code PHP : $nouveau_sujet['options'] = array( Là si vous comprenez un minimum l'anglais c'est bon. Signature c'est si on active la signature, emailnotify c'est si on active la notification par email et disablesmilies c'est si on désactive les smiley. YES = OUI / NO = NON Encore une ligne ! En fait si on écrit pas la ligne suivante tout se qu'on viens fa ire sert à rien, sur la suivante vous n'aurez rien à modifier, ça va juste écrire le sujet avec tout se qu'on lui a indiqué. Code PHP : $poster->set_data($nouveau_sujet); BONUS : VÉRIFIER L'ÉTAT
Ensuite on peut vérifier si un problème c'est passer pour cela on fait une condition : Code PHP : if($poster->validate_thread()){ Bon est bien voilà Bonne chance. Valentin. RE: [CODAGE] Créer un nouveau sujet par script - Alexandre - 19-05-2011 Merci bien ! |