MyBB.support, le portail francophone de MyBB
[Réglé] préfixe obligatoire - Version imprimable

+- MyBB.support, le portail francophone de MyBB (https://mybb.fr)
+-- Forum : MyBB.fr (https://mybb.fr/forum-1.html)
+--- Forum : Support (https://mybb.fr/forum-5.html)
+--- Sujet : [Réglé] préfixe obligatoire (/thread-6995.html)

Pages : 1 2


préfixe obligatoire - vincelufologue - 06-08-2014


salutations Smile

Peut on mettre un préfixe par défaut?


RE: préfixe obligatoire - vincelufologue - 07-08-2014

edit: petite précision, le préfixe par défaut est "pas de préfixe", je souhaiterai que ce soit "francais" à la place (un préfixe déja créé).

J'ai trouvé une solution en modifiant le fichier function.php
Code :
$prefixselect .= "<option value=\"0\"".$default_selected.">".$lang->no_prefix."</option>\n";
par
Code :
$prefixselect .= "<option value=\"0\"".$default_selected.">".$lang->francais."</option>\n";

et modifier les fichiers de langue mais c'est assez fastidieux de modifier tout les fichiers de langue puis de modifier la base de donnée donc je cherche une solution plus simple


RE: préfixe obligatoire - spyto - 07-08-2014

Modifier les fichiers système est toujours une très mauvaise idée. La modification sera perdue à la prochaine mise à jour.

Dans ce cas précis il n'est pas sii fastidieux de modifier les fichiers de langue.
Il y en a 4 à retoucher en tout et pour tout.
Ce sont :
- inc/languages/french/edit_post.lang.php (ligne 30 pour 1.6.15)
- inc/languages/french/newthread.lang.php (ligne 34 pour 1.6.15)
- inc/languages/french/search.lang.php (ligne 62 pour 1.6.15)
- inc/languages/french/admin/config_mod_tools.lang.php (ligne 63 pour 1.6.15)
Ce sera bien plus "propre".


RE: préfixe obligatoire - vincelufologue - 07-08-2014

Donc plutôt que de modifier le fichier système que propose tu comme alternative ( j'ai pas vu de mod pour ca Sad )


RE: préfixe obligatoire - spyto - 07-08-2014

J'ai dû mal m'exprimer ? Tongue
Pourquoi un mod pour si peu de chose :? Huh
Juste 4 modifs dans les fichiers de langue cités plus haut dans lesquels tu remplaces :
Code :
$l['no_prefix'] = "Pas de préfixe";
par
Code :
$l['no_prefix'] = "Ce que tu veux";



RE: préfixe obligatoire - vincelufologue - 07-08-2014

moi aussi J'ai dû mal m'exprimer Tongue, le préfixe est un texte dans le choix du préfixe et fait afficher une image dans le titre du message (le préfixe "français" correspond au drapeau français)


RE: préfixe obligatoire - vincelufologue - 08-08-2014

bon j'ai trouvé la solution la plus simple à mon gout:

fichier: newthread.php
ligne: 751

Code :
$mybb->input['threadprefix'] = 0;

par
Code :
$mybb->input['threadprefix'] = 2;
(le "2" correspond au numero du préfix)


Seul problème c'est que c'est un fichier système Sad


Si c'était juste un préfixe textuel ("résolut" par exemple) la modification des fichiers langue cité ci-dessus suffisent. si quelqu'un trouve une solution pour un préfixe sous forme d'image ou de smiley je suis encore preneur d'une autre solution qui ne touche pas aux fichiers système


RE: préfixe obligatoire - Saphir - 08-08-2014

Il y aurait bien une solution, mais elle n'est pas très propre...

Avec ce plugin de ZiNgA BuRgA : PHP in Templates / Complex Templates, vous pourrez insérer du code PHP dans les templates de MyBB.

Dans le template "newthread", ajoutez, en haut, l'un des deux codes suivants :
Code :
<?php $mybb->input['threadprefix'] == 0 ? $mybb->input['threadprefix'] = 2 : void; ?>
OU
Code :
<?php if($mybb->input['threadprefix'] == 0) {
    $mybb->input['threadprefix'] = 2;
} ?>

Les deux codes font la même chose, sauf que le premier ne prend qu'une ligne et que le second est plus facile à lire.


RE: préfixe obligatoire - vincelufologue - 08-08-2014

ce code fonctionne avec le plugin?


RE: préfixe obligatoire - Saphir - 08-08-2014

Après avoir installé et activé le plugin, ajoutez l'un des deux codes dans le template "newthread".


RE: préfixe obligatoire - vincelufologue - 08-08-2014

ok merci Smile
heu question, quel est la différence avec la solution que j'ai proposé a part un plugin en plus?


RE: préfixe obligatoire - Saphir - 08-08-2014

Elle ne modifie pas les fichiers système, la modification est donc conservée entre chaque mise à jour de MyBB.
Edit : c'est tout, et c'est tout de même un peu plus propre que modifier le fichier système. Smile
P.S. : Et avant que exdiogene ne me le signale... Angel

Le code suivant sera plus correct et peut-être plus sécurisé :
Code :
<?php !intval($mybb->input['threadprefix']) ? $mybb->input['threadprefix'] == 2 : void; ?>
OU
Code :
if(!intval($mybb->input['threadprefix'])) {
    $mybb->input['threadprefix'] = 2;
}



RE: préfixe obligatoire - vincelufologue - 08-08-2014

bon je sais ce qu'il me reste a faire alors Smile merci des renseignements


RE: préfixe obligatoire - vincelufologue - 08-08-2014

Je la met en haut mais ou: avant la balise html ou head?


RE: préfixe obligatoire - Saphir - 08-08-2014

Peu importe, tant que c'est avant cette ligne :
Code :
<td class="trow2">{$prefixselect}<input type="text" class="textbox" name="subject" size="40" maxlength="85" value="{$subject}" tabindex="1" /></td>

Le mieux reste de la mettre avant html pour la retrouver facilement au cas où... Smile


RE: préfixe obligatoire - vincelufologue - 08-08-2014

hum... ca ne fonctionne pas Sad ca me ralentit juste le chargement je crois


RE: préfixe obligatoire - Saphir - 08-08-2014

Je viens de rentrer du travail, et avec le code devant les yeux, c'est un peu plus facile...
Il manque juste le morceau qui permet de (re)construire la boîte de sélection.

Voici le code correct pour MyBB 1.6.x :
Code :
<?php if(!intval($mybb->input['threadprefix'])) {
    $mybb->input['threadprefix'] = 2;
    $prefixselect = build_prefix_select($forum['fid'], $mybb->input['threadprefix']);
} ?>

Évidemment, ce n'est pas très propre, puisque la variable $prefixselect sera construite deux fois, mais ça reste plus sûr que de modifier directement la source.

Allez, pour me faire pardonner, je sors ma boule de cristal : pour que le code reste correct sous MyBB 1.8.x, il faudra sûrement le remplacer par celui-ci :
Code :
<?php if(!$mybb->get_input('threadprefix', 1)) {
    $mybb->input['threadprefix'] = 2;
    $prefixselect = build_prefix_select($forum['fid'], $mybb->get_input('threadprefix', 1));
} ?>



RE: préfixe obligatoire - vincelufologue - 08-08-2014

Parse error: syntax error, unexpected $end in /home/prohy185/public_html/leforum/newthread.php(973) : eval()'d code(4) : eval()'d code on line 3
}


RE: préfixe obligatoire - Saphir - 08-08-2014

Pourtant je me relis...
Le ?> n'était pas au bon endroit.
Je l'ai corrigé dans mon message précédent. Désolé. ^ ̮^'


RE: préfixe obligatoire - vincelufologue - 08-08-2014

C'est cool ca marche Smile merci Smile


 Utilitaire de traduction fourni par Regentronique