Grummfy

Ou mon grand bazard présenté au public!

Rechercher

Divers

Site et domaine hébergé par OVH


Tutoriaux

Créer une prémods

Voici un petit tutorial sur la création d’une prémods de a à z, pour fsb

Réflexion :

Avant tout, il faut se demander si ça prémods pourra être utile à d’autres, si certain mods sont très simple à installé et n’apporte pas beaucoup de chose : mieux vaux les installer plus tard !

Création :

Les différentes étapes de la création proprement dites.

Avant :

Choisir une liste des mods
Demander l’accord aux différents auteurs
Faire de même avec les thèmes
Prendre la dernière version de ceux-ci (thèmes et mods) et en faire un liste claire avec :

  • nom
  • version
  • auteur

Dans se même fichier on notera la version de fsb utilisée et si adaptation de certain mods ou autre effectué le dire

Pendant :

Installer en local ou en ligne un forum
Installer les différents mods
Noter les requête cache et sql effectué
Si des modifications aux thèmes sont effectués il est bien de le noté afin de pouvoir adapté un thèmes et de préférence les triés par fichiers modifié
Tester la prémods

Après :

Une fois les bugs éventuel éliminé :
On va créer une installation automatique !
Prenez la liste de requête sql et cache
•Les requêtes du cache :
Commençons par les mettre sous la bonne forme. Pour chaque requête différentes :
$R_CACHE[] = ''; Entre les ' ' vous devez mettre votre requête si des « ' » sont utilisé vous devez mettre un \ devant afin d’obtenir \' pour évité des problèmes.

Ensuite, créer un dossier « premods_schema » dans « install/ »
Créer un fichier « requetes_cache.php » dans « install/premods_schema/ »
Voici à quoi doit ressembler votre fichier : <?php

$R_CACHE = array();

// Vos requête ici…

?>
Sauver le fichier

Les requêtes sql :
Il faut avant tout les trier par sorte, d’un coté les requête de type structure et de l’autre celle de type données.
Le type structure ressemble à ceci :
CREATE TABLE `fsb_bannis` (
  `bannis_id` int(11) NOT NULL auto_increment,
  `bannis_objet` varchar(50) NOT NULL default '',
  `bannis_type` tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (`bannis_id`)
) TYPE=MyISAM
Ou encore
ALTER TABLE `fsb_message_lus` ADD INDEX(`sujet_id`); Il y a toujours CREATE TABLE ou un ALTER TABLE

Le type donnée ressemble à ceci :
INSERT INTO fsb_membres (membre_id, membre_login, membre_aut, membre_actif, code_activation) VALUES (0, 'Invite', -1, 1, 'aucun') Il y a toujours un INSERT INTO ou un UPDATE TABLE

Une fois la séparation effectuée il faut maintenant les adapter pour pouvoir être utilisée à l’installation.

Commençons par créer deux fichiers qui porteront le nom de « LABASEDEDONNÉE_structure.php » et « LABASEDEDONNÉE_donnees.php » si vous utilisé mysql : « mysql_structure.php » et « mysql_donnees.php » que vous placerez dans « install/ premods_schemas/ »

Dans chaque requête il faut vérifié que s’il existe des " il soit remplacer par des \" afin d’éviter des problèmes. Enfin remplacer les noms des tables par la constante associée (tout se trouve dans includes/constate.php) pour fsb_bannis remplacer par BANNIS_TABLE
pour fsb_membres remplacer par MEMBRES_TABLE
pour fsb_messages remplacer par MESSAGES_TABLE
pour fsb_messages_lus remplacer par MESSAGES_LUS_TABLE
pour fsb_sessions remplacer par SESSIONS_TABLE
pour fsb_sujets remplacer par SUJETS_TABLE

Par après, pour chaque requête de structure vous devrez les mettre dans se format :
$STRUCTURE[] = "CREATE TABLE `" . BANNIS_TABLE . "` (
  `bannis_id` int(11) NOT NULL auto_increment,
  `bannis_objet` varchar(50) NOT NULL default '',
  `bannis_type` tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (`bannis_id`)
) TYPE=MyISAM; ";
Et pour chaque requête de données :
$DONNEES[] = "INSERT INTO " . MEMBRES_TABLE . " (membre_id, membre_login, membre_aut, membre_actif, code_activation) VALUES (0, 'Invite', -1, 1, 'aucun');"; Maintenant on copie le code dans « LABASEDEDONNÉE_structure.php » pour la structure et « LABASEDEDONNÉE_donnees.php » pour les données
Pour obtenir :

  • Structure :
    <?php

    $STRUCTURE = array();

    // vos requêtes structure

    ?>
  • Données :
    <?php

    $DONNEES = array();

    // vos requêtes données

    ?>

Enregistrer les deux fichiers

Passons au fichiers installation proprement dit.
Ouvrez « install/installation.php » et chercher :
if ( $installation_finie )
{
   $tpl->assign_vars( array(
      'L_SUCCES' =>      $langue['install_sucess'],
      'L_FIN_INSTALL' =>   sprintf($langue['install_fin'], $login, $mdp, '<a href="' . $racine . 'index.php' . '">', '</a>'),
      'L_CONFIG' =>      ( ! $config_ecrit ) ? '<br /><br />' . $langue['config_ecrit'] . '<br /><br />' . nl2br(htmlSpecialChars($cf_var)) . '<br />&nbsp;' : ''
   ));
et remplacer par
if ( $installation_finie )
{
   $langue['install_fin'] = 'Félicitations, le forum a été installé avec succès. Vous pouvez vous connecter avec votre pseudo (<strong>%s</strong>) et votre mot de passe (<strong>%s</strong>) pour administrer votre forum.<br /><br /><span class="b">%sCliquez ici pour exécuté les requête propre à la prémods%s</span>';
   $tpl->assign_vars( array(
      'L_SUCCES' =>      $langue['install_sucess'],
      'L_FIN_INSTALL' =>   sprintf($langue['install_fin'], $login, $mdp, '<a href="' . $racine . 'install/maj.php?l=' . $login . '&p=' .$mdp . '">', '</a>'),
      'L_CONFIG' =>      ( ! $config_ecrit ) ? '<br /><br />' . $langue['config_ecrit'] . '<br /><br />' . nl2br(htmlSpecialChars($cf_var)) . '<br />&nbsp;' : ''
   ));
Ensuite mettez ces fichiers (Télécharger) dans le dossier « install/ »
Si des gens désirent mettre à jour un forum de base qui existe déjà il leur suffit d’aller dans « install/maj.php »

Il ne vous reste plus que à supprimer les fichiers cache qui ne sont pas dans l’installation de base. Et c’est fini!

Petit plus :

Vous pouvez indiquez le nom de votre votre prémods ainsi qu’un lien vers votre site en bas du forum dans le footer, pour cela :
Ouvrir includes/footer_forum.php
Chercher
'NB_REQUETE' =>   sprintf($langue['page_nb_requete'], $bdd->nb_requete) Remplacer par
'NB_REQUETE' =>   sprintf($langue['page_nb_requete'], $bdd->nb_requete) . $premods_links Ouvrir admin/footer_admin.php
Chercher
'NB_REQUETE' =>   sprintf($langue['page_nb_requete'], $bdd->nb_requete) Remplacer par
'NB_REQUETE' =>   sprintf($langue['page_nb_requete'], $bdd->nb_requete) . $premods_links Ouvrir includes/variables_generales.php
Chercher
?> Avant ajouter
$premods_links =  '<br /><b>Prémods NOMDEVOTREPREMOD by <a href="URLDEVOTRESITE" target="_blank" >VOTREPSEUDO</a></b>' ; N’oubliez pas de mettre à jour votre prémods, de suivre les mises à jour des mods qui existe et de la faire partager.