L'élaboration d'un hack pour une installation de vBulletin

L'élaboration d'un Hack
Dans cet article nous allons voir comment vous allez en développement au sujet d'un hack pour une installation vBulletin. Étant basé sur le langage PHP et MySQL sur l'infrastructure de base de données rend vBulletin très polyvalent, donc nous allons avoir à limiter notre champ d'application. Presque tout ce que vous voulez faire avec vBulletin est possible si vous savez comment tirer profit de PHP et MySQL!
En particulier, nous examinerons:
• Comment hacker un forum de discussion en changeant un des fichiers de modèle
• Comment distribuer un hack en donnant d'autres programmeurs des instructions claires sur les modifications de code
Hacking vBulletin
Jetons un regard sur la façon de créer une vBulletin hack. Le hack, nous allons être en développement ici est celui qui vous permet de contrôler comment vBulletin poignées reçus par message privé. Comme nous l'avons vu dans les messages de l'article 3, privé, connu sous le nom PMs, sont des messages qu'un membre peut envoyer à un autre membre du conseil.

  

Les types de membre un message dans la fenêtre de message privé et puis clique sur le SubmitMessagebutton.
Le destinataire peut percevoir le message que la prochaine fois qu'ils se connecter (ou, si elles sont déjà connecté, la prochaine fois qu'ils demandent une nouvelle page à partir du panneau).
Mais il ya une caractéristique qui semble agacer certains membres (surtout si c'est un conseil populaire, où les membres font beaucoup d'usage de la facilité PM). C'est la caractéristique de confirmation de lecture. Quand un PM est soumis, une boîte de message s'affiche demandant à l'expéditeur si elles veulent demander une confirmation de lecture.

Lire les recettes sont une fonctionnalité utile, mais le problème est la boîte de message s'affiche personnes trouvent qu'il est dans la manière et souvent ils ne voudront pas d'envoyer une confirmation de lecture avec chaque message. Vous en tant que l'administrateur peut faire quelque chose pour cela, vous pouvez bidouiller votre installation de vBulletin pour donner à vos membres un plus grand contrôle sur la façon dont les confirmations de lecture sont manipulés.
Vous avez le pouvoir ...
... Pour désactiver la messagerie privée sur les confirmations de lecture tout à fait. Dans le menu de gauche dans le AdminCP, cliquez sur Usergroupsfollowed par groupe d'utilisateurs Manager. Ensuite, pour chaque groupe d'utilisateurs, vous ne voulez pas avoir cette fonctionnalité, cliquez sur editusergroup et définir pouvez utilisez Trackingand CanDeny Message Privé MessageReadReceipt Requestto n ° Ce faisant, toutefois, va supprimer la possibilité pour les membres de demander une confirmation de lecture. Il serait beaucoup mieux de changer tout simplement comment fonctionne le demande.

L'instauration des changements
Agissons maintenant à travers la façon de faire ce hack possible. Il ya un peu de modifications de code que vous devez apporter à une vBulletin modèle. Si les choses tournent mal, vous savez déjà comment revenir modèles à leur état d'origine. Tant que vous prenez soin et suivez attentivement le code ici, tout se passera bien. Mais gardez toujours une sauvegarde au cas où!
Localisation de l'Template
Dans le menu de gauche de la AdminCP, cliquez sur Styles et modèles pour la développer, puis cliquez sur Gestionnaire de style.

Ceci fait apparaître la Managerpage style dans le droit de l'écran côté. Cliquez sur le bouton <<>> pour développer le modèle de fenêtre.

Vous avez maintenant besoin de cliquer sur le nouveau bouton marqué <<>> plus bas sur la page pour élargir tous les modèles de manière à trouver celui que vous recherchez.

Dans la fenêtre de défilement, de travailler votre chemin jusqu'à ce que vous arriviez à un modèle appelé pm_newpm. Double-cliquez sur le lien pour ouvrir le modèle.

Hacking the pm_newpm Template
Vous pouvez maintenant faire quelques changements à ce modèle. Ces changements comprennent l'enlèvement du code actuel qui provoque l'invite à comparaître et à ajouter un nouveau code qui prévoit une case à cocher de sorte que l'émetteur peut demander une confirmation de lecture, s'ils veulent un.
La première chose que vous devez faire est de localiser le segment suivant de code JavaScript dans le template:
else if (formname.dopreview! = true)
(

if (confirm ( "$ vbphrase [request_receipt_for_message]"))
(
formname.receipt.value = 1;
)

)
Vous devez enlever cette section du code. Plutôt que de le supprimer purement et simplement qu'il vaut mieux commentaire juste le code en ajoutant / / et un espace au début de chaque ligne du script:
/ / Else if (formname.dopreview! = True)
/ / (
et ainsi de suite.
Pendant que vous y êtes, c'est une bonne idée d'ajouter une note afin que plus tard on vous rappellera plus tard pourquoi vous l'avez en commentaire!
/ / Begin PM confirmation de lecture hack
/ / Else if (formname.dopreview! = True)
/ / (

/ /)
/ / H Fin de confirmation de lecture hack

Ensuite, sur le même modèle, de trouver ce segment de code:

(Ce sera sur une longue ligne, de sorte qu'il mai être assez difficile à trouver.) Comment this out too. Comme il s'agit d'HTML, nous en commentaire en plaçant autour de la ligne. Là encore, il est sage d'ajouter des commentaires dans le code pour vous rappeler pourquoi vous avez supprimé la ligne:




Ensuite, regardez pour le segment de code suivante:




Lorsque vous le trouvez pas, vous devez ajouter en dessous de lui comme suit (en se souvenant à nouveau pour ajouter des commentaires):






Maintenant que vous avez apporté les modifications au code, vous pouvez l'enregistrer en cliquant sur le bouton Enregistrer.
Test du Hack
Le test est simple, essayez d'envoyer un MP! Quand vous êtes dans la fenêtre de message privé, vous pourrez voir la nouvelle case à cocher vous permettant de spécifier que vous voulez une confirmation de lecture pour le message que vous envoyez. Essayez une série de tests, l'un avec une demande de confirmation de lecture et un autre sans, juste pour m'assurer que tout fonctionne.

Ensuite, sur le même modèle, de trouver ce segment de code:

(Ce sera sur une longue ligne, de sorte qu'il mai être assez difficile à trouver.) Comment this out too. Comme il s'agit d'HTML, nous en commentaire en plaçant autour de la ligne. Là encore, il est sage d'ajouter des commentaires dans le code pour vous rappeler pourquoi vous avez supprimé la ligne:




Ensuite, regardez pour le segment de code suivante:




Lorsque vous le trouvez pas, vous devez ajouter en dessous de lui comme suit (en se souvenant à nouveau pour ajouter des commentaires):






Maintenant que vous avez apporté les modifications au code, vous pouvez l'enregistrer en cliquant sur le bouton Enregistrer.
Test du Hack
Le test est simple, essayez d'envoyer un MP! Quand vous êtes dans la fenêtre de message privé, vous pourrez voir la nouvelle case à cocher vous permettant de spécifier que vous voulez une confirmation de lecture pour le message que vous envoyez. Essayez une série de tests, l'un avec une demande de confirmation de lecture et un autre sans, juste pour m'assurer que tout fonctionne.

Hack Distribution
Alors maintenant, vous disposez d'un hack et que vous voulez mettre à la disposition d'autres personnes. La question est, comment fais-tu ça? L'accord de licence vous empêche de distribuer l'ensemble des modèles, et de toute façon, vous faites que de petits changements au modèle de sorte qu'il est idiot d'amener les gens à remplacer le code qui est inchangé.
La meilleure façon de distribuer des hacks se présente sous forme d'instructions précises que d'autres puissent suivre facilement. Il ya plusieurs façons de le faire mais ce qui suit est un exemple d'une manière qui soit clair et simple.
MODIFICATION - PM de confirmation de lecture CHECKBOX Version 1.0.2
-------------------------------------------------- ---
Open pm_newpm TEMPLATE
Rechercher et supprimer / COMMENT OUT:
else if (formname.dopreview! = true)
(

if (confirm ( "$ vbphrase [request_receipt_for_message]"))
(
formname.receipt.value = 1;
)

)
Rechercher et supprimer / COMMENT OUT:

Trouver:




ADD code ci-dessous:



SAVE pm_newpm et CLOSE.
Test de modification.
FIN DE MODIFICATION

Avec ce hack nous avions besoin seulement de modifier des modèles, mais il ya des moments où vous devez documenter les modifications aux réglages ou même aux fichiers réels PHP. Les modifications des paramètres peuvent être documentés en spécifiant la navigation dans les menus et le changement de réglage final.

Admin CP -> Groupes d'utilisateurs -> Gestionnaire de groupe d'utilisateurs -> Edit Usergroup
Set "peuvent utiliser le suivi des messages"
et "peut nier Message Privé Demande de confirmation de lecture" à "Non".
La modification du fichier PHP que nous avons vu dans l'article 4 peut aussi être documenté de cette façon:
PAYPAL MODIFICATION Version 1.0.2
---------------------------------
Ouvrir includes \ functions_subscriptions.php
Trouver:

Remplacer par:

Enregistrez et transférez
Test de modification.
FIN DE MODIFICATION
-------------------
Conseils pour Hack Distribution
Voici quelques conseils qui font de la distribution de code plus facile pour vous et la personne qui suit les instructions:
1. Hacks de tester à fond. Si possible, les essayer sur une installation de test de vBulletin avant de faire des modifications à votre bureau actif.
2. Il faut préciser clairement quel fichier ou le modèle nécessite une modification.
3. Remplacer des lignes entières de code ne joue pas à essayer d'expliquer quels bits de la ligne doit être changée.
4. N'hésitez pas à ajouter des commentaires dans le code que vous effectuerez. Cela rendra la vie plus facile pour la personne en suivant les instructions, mais aussi en vrac dans votre code.
5. Soyez clair quant à ce code que vous voulez que l'utilisateur à trouver et à ce qu'ils devraient ensuite faire avec elle (par exemple la remplacer par un autre code ou ajouter quelque chose dessus ou en dessous). Attention à bien vérifier que le code que vous voulez que l'utilisateur à rechercher est pas déjà ailleurs dans le fichier. Si tel est le cas, être plus précis et afficher plus d'une ligne de code.
6. Ne pas utiliser les numéros de ligne peuvent changer avec ces mises à jour du logiciel. Aussi, tout changement de code (ou autres hacks) au-dessus de la ligne entraînera les numéros de ligne d'avoir tort.
7. Assurez-vous que vous donnez le nom propre pour le modèle ou fichier PHP que vous voulez modifier. Dans le cas de fichiers PHP, incluez le chemin dans l'installation vBulletin.

8. Conservez les numéros de version à jour. Si vous faites une petite modification au code (pour corriger une faute de frappe dire ou de faire une petite modification), puis changez le numéro de version mineure (par exemple de 1.0.2 à 1.0.3). Pour les grands changements ou des modifications qui permettent au code de travailler pour une nouvelle version de vBulletin, changez le numéro de version majeure (disons à partir de 1.0.4 à 2.0.0).

un article présenté par Linda Gould


Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite.
Important: Cet article «Élaboration d'un hack pour une installation de vBulletin" a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.


Online: 228 users browsing the articles directory   


  

|