[phpBB] Interdire l'édition du titre

Bonjour,

je souhaiterait interdire l'édition du titre des sujets (url rewriting oblige)

néanmoin je souhaite permettre aux modos et aux admins la possibilité de le faire


avez vous une idée ?

merci
 
tu mets le champ d'édition du titre en affichage admin only

dans /includes/page_header.php :
Code:
if ($userdata['user_level'] == '1') { $template->assign_block_vars('user_admin', array()); } else { 	$template->assign_block_vars('user_not_admin', array()); }

puis, dans posting_body.tpl :
Code:
<!-- BEGIN user_admin -->
<tr> 
	<td class="row1" width="22%"><span class="gen"><b>{L_SUBJECT}</b></span></td>
	<td class="row2" width="78%"><input type="text" name="subject" size="45" maxlength="60" style="width:98%" tabindex="2" class="post" value="{SUBJECT}" /></td>
</tr>
<!-- END user_admin -->

ainsi, le champ du topic ne sera affiché qu'aux admins (pour le faire aux modos j'ai pas le level user la, mais tu peut le trouver facilement ;) )

squawk le probleme, c'est que si un membre renomme son topic, ca change l'adresse du sujet aussi...
 
squawk a dit:
je sais pas mais je vois pas le probleme avec l'url rewriting ?

-> regarde les urls de mes topics

un topic de 300 pages qui change de nom et c'est la grosse cata

---

merci à toi KaZhaR ;-)

je vai adapter ça aux modos :D
 
petit problème

ça marche tellement bien qu'un membre ne peu pas poster de nouveau sujet :lol:
 
Ohax a dit:
un topic de 300 pages qui change de nom et c'est la grosse cata

Normalement pas tant que ça ..
-http://www.adojeunz.com/ftopic_2079-0-suggestions-damelioration.html

Et

-http://www.adojeunz.com/ftopic_2079-0-tagadaga-pouet-pouet-wahoo.html

Rapportent à la même page vu que c'est ton htacces qui fait tout le boulot .. Si le titre change, les pages sur google ne seront pas des 404 ;)
 
[hs pas tant que ça] Ca fait des mois que je cherche à mettre le titre dans l'url ... Comment as-tu fait ?
[/hs qui pourrait bien m'être utile si tu réponds :) ]
 
Pouzy le probleme, c'est que ca fera pas un 404, mais un duplicate...

Ohax j'ai réalisé apres etre allé me coucher (et j'ai eu la flemme de rallumer l'écran)
rajoute une vérification sur le fait que c'est une edition, et pas un post (y'a une variable passée en GET)
 
lorsque tu edite un sujet, la variable $_GET['mode'] est égale à editpost

il suffit que tu ajoute cette vérification avec la vérification admin ;)
 
elle est définie dans l'url... et définit que tu édite un topic, pas que tu en créé un
en gros, tu fait cela :
Code:
if ($userdata['user_level'] != '1' && $_GET['mode'] == 'editpost') { $template->assign_block_vars('can_not_edit', array()); } else {    $template->assign_block_vars('can_edit', array()); }
ca devrait fonctionner
(ca réponds à ta question en mp ?)
 
arggg toujours le même problème

je pige plus rien :cry:


edit : je croi que je vai revenir à l'ancien url rewriting...
 
le principe :
si la personne n'est pas admin et que le topic est en édition, il ne peut changer le titre
donc, on ne définit pas can_edit, et on définit can_not_edit

sinon, la personne est admin, ou le topic est en écriture, on définit le can_edit...

c'est clair cette fois ci ?
 
A mon avis ce qui bloque, c'est que le le sujet n'est pas envoyé lors de l'édition par un membre, et donc il renvoie betement au formulaire.

Alors que si tu mets l'input du sujet pour les non admin en type="hidden" ou en disabled, je pense que ça devrai passer.

Si tu veux cacher l'input, ça devrai donner :

includes/page_header.php :
Code:
if ($userdata['user_level'] == '1') 
{ 
  $template->assign_block_vars('user_admin', array());
} else {
  $template->assign_block_vars('user_not_admin', array());
}

posting_body.php :
Code:
<!-- BEGIN user_admin -->
<tr>
   <td class="row1" width="22%"><span class="gen"><b>{L_SUBJECT}</b></span></td>
   <td class="row2" width="78%"><input type="text" name="subject" size="45" maxlength="60" style="width:98%" tabindex="2" class="post" value="{SUBJECT}" /></td>
</tr>
<!-- END user_admin -->

<!-- BEGIN user_not_admin -->
   <input type="hidden" name="subject"  value="{SUBJECT}" />
<!-- END user_not_admin -->
 
C'est pas génant le duplicate de cette façon... google reindexera les pages et voila, il affichera une seule des urls et pas de 404 donc tout va bien... en plus ça concerne un nombre minuscule de topic. :)
 
Un simple disabled sur le input du sujet et c'est fini 8O

Où à la limite tu le met en hidden si tu veux pas le voir
 
squawk a dit:
C'est pas génant le duplicate de cette façon... google reindexera les pages et voila, il affichera une seule des urls et pas de 404 donc tout va bien... en plus ça concerne un nombre minuscule de topic. :)

tu pense donc qu'il n'y à aucun risque?

j'ai peur de voir un topic de 300 pages ce faire éditer 8O

c'est déjà arrive en plus...
 
Ah ouai j'avais zappé ce post ! Milles excuses à Ohax, je m'applique maintenant à la tache.
 
Ah une réponse ^^

Bah normalement si tu mets un disabled dans le input tu peux plsu écrire dedans :)

Met le en hidden alors ^^
 
C'est bon Ohax j'ai trouvé :D

Voir post en dessous....

Logiquement il ne devrait y avoir AUCUN bug !

En virant l'input du sujet ça ferait peut être plus beau.
Je vais voir ce que ça donne ;)
 
mowmow a dit:
Ah une réponse ^^

excuse moi j'ai la tête ailleur en ce moment :oops: :oops: :oops:



merci beaucoup Genzo,

je met ça en place ce soir :D

ça permet égallement aux modos d'éditer ?



merci à vous tous
 
Ohax a dit:
merci beaucoup Genzo,

je met ça en place ce soir :D

ça permet égallement aux modos d'éditer ?

Hop je met mon "Mod" à jour, car en cachant directement la ligne du sujet, c'est encore plus beau :D

En plus j'ai rajouté le fait qu'il soit possible d'éditer le titre par les administrateurs, mais aussi les modérateurs, sans avoir à modifier le code !

Code:
############################################################## 
## MOD Title: Editer le titre des messages, seulement pour les admins et modos
## MOD Author: Genzo < genzo[at]webpratique.net > http://www.webpratique.net 
## 
## MOD Description: Ce MOD permet aux administrateurs et modérateurs uniquement
##                  d'éditer les titres des posts dans le forum.
## 
## MOD Version: 1.0.3 
## 
## Niveau d'installation: Facile 
## Temps d'installation: 1 Minute 
##
## Fichiers à éditer: (2) 
##      - includes/page_header.php 
##      - templates/subSilver/posting_body.tpl 
##
## Fichier(s) inclu(s): (n/a) 
##
##############################################################  


# 
#-----[ OUVRIR ]------------------------------------------ 
# 
includes/page_header

# 
#-----[ TROUVER ]------------------------------------------ 
# 

//
// The following assigns all _common_ variables that may be used at any point
// in a template.
//

# 
#-----[ AVANT, AJOUTER ]------------------------------------------ 
# 

// pour editer un message si on est admin
if ( ($userdata['user_level'] == ADMIN || $userdata['user_level'] == MOD ) && $mode == 'editpost')
{
  $template->assign_block_vars('user_admin_edit_title', array());
}
// pour editer un message si on est PAS admin
if ( ($userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD ) && $mode == 'editpost')
{
  $template->assign_block_vars('user_not_admin_edit_title', array());
} 
// pour les autres cas d'utilisation du formulaire (hors editpost)
if ($mode != 'editpost'){
  $template->assign_block_vars('not_editpost', array());
}



# 
#-----[ OUVRIR ]------------------------------------------ 
# 

templates/** Nom du thème **/posting_body.tpl

# 
#-----[ TROUVER ]------------------------------------------ 
# 

		<input type="text" name="subject" size="45" maxlength="60" style="width:450px" tabindex="2" class="post" value="{SUBJECT}" />

#
#-----[ REMPLACER PAR ]------------------------------------------ 
#

	<!-- BEGIN user_admin_edit_title -->
	<tr> 
	  <td class="row1" width="22%"><span class="gen"><b>{L_SUBJECT}</b></span></td>
	  <td class="row2" width="78%"> <span class="gen"> 
		<input type="text" name="subject" size="45" maxlength="60" style="width:450px" tabindex="2" class="post" value="{SUBJECT}" />
		</span> </td>
	</tr>
	<!-- END user_not_admin_edit_title -->

	<!-- BEGIN user_not_admin_edit_title -->
	<tr style="DISPLAY: none"> 
	  <td class="row1" width="22%"><span class="gen"><b>{L_SUBJECT}</b></span></td>
	  <td class="row2" width="78%"> <span class="gen"> 
		<input type="text" name="subject" size="45" maxlength="60" style="width:450px" tabindex="2" class="post" value="{SUBJECT}" />
		</span> </td>
	</tr>
	<!-- END user_not_admin_edit_title -->

	<!-- BEGIN not_editpost -->
	<tr> 
	  <td class="row1" width="22%"><span class="gen"><b>{L_SUBJECT}</b></span></td>
	  <td class="row2" width="78%"> <span class="gen"> 
		<input type="text" name="subject" size="45" maxlength="60" style="width:450px" tabindex="2" class="post" value="{SUBJECT}" />
		</span> </td>
	</tr>
	<!-- END not_editpost -->


# 
#-----[ SAUVEGARDER/FERMER TOUS LES FICHIERS ]------------------------------------------ 
# 
# EoM

Je met à jour l'autre aussi au dessus, comme ça pas de confusion.

En tout cas je le laisse sur mon forum :lol:
 
De rien. ;)
J'avais encore une petite erreur dans le script mais réparé dans la foulée.

Si ça peut servir à d'autres !
 
je vient d'installer

ça marche super :D

bon j'ai juste eu un bug graphique à corriger mais rien de méchant




merci beaucoup :D
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut