Seite 1 von 3

HTML nur für Admin erlaubt ?

Verfasst: 28.01.2007 15:22
von AzadKing
Hallo,

ich möchte gerne das HTML-Code nur für einen bestimmten user erlaubt ist... wie geht das ?? :)

Verfasst: 28.01.2007 18:34
von Miriam
Vorschlag: Stelle alle User auf HTML erlauben: nein.
Nimm die Möglichkeit im Profil, HTML anzustellen, bei allen ausser dem erwählten User heraus.

Verfasst: 28.01.2007 19:22
von AzadKing
das ja sehr umständlich da bei jedem neuen user HTML erlaubt ist

Verfasst: 28.01.2007 21:57
von Miriam
Na dann musst Du es eben umbauen und als HIDDEN übergeben. Es sollte dann garkein HTML als Radio-Button mehr anwählbar sein.

Verfasst: 28.01.2007 21:59
von gn#36
Eine andere Möglichkeit sollte auch hier im Forum bereits über die Suche auffindbar sein. Ich habe eine Möglichkeit irgendwo gepostet die durch eine leichte Modifikation dem Administrator HTML erlaubt. Einfach mal die Suche benutzen...

Verfasst: 28.01.2007 23:05
von AzadKing
hmm das erste klappt schonmal net ... wenn das zweite so klappt wie ich das denke ist das gut...

den nur der admin darf html texte schreiben aber angucken darf sie jeder das was ich brauche 8) :lol:

Verfasst: 28.01.2007 23:32
von gn#36
Also ich hoffe du hast das hier gefunden:

http://www.phpbb.de/viewtopic.php?p=795285#795285

Ab diesem Post abwärts mal durchgehen und die Änderung durchführen...
Dadurch kann der Admin HTML benutzen während HTML ansonsten eigentlich deaktiviert ist. Dieses HTML wird dann allerdings genauso behandelt als wäre es aktiviert, es ist sozusagen nur aktiviert für den Admin, aber jeder kann es betrachten...

Miriams Methode tut im Prinzip nahezu das gleiche, ist dabei aber sogar flexibler, da man HTML im Prinzip jedem User erlauben könnte.

Verfasst: 29.01.2007 16:02
von AzadKing
Den Button für HTML-Ausblenden ist vllt gar nicht so schlecht :D

Könntest du mal näher drauf eingehen bin nicht so beleckt in der Sache :)

Verfasst: 29.01.2007 20:38
von gn#36
WICHTIG: Alle zu ändernden Dateien vorher vollständig sichern und ein vollständiges Datenbankbackup anlegen. Ich habe das nicht getestet.

Öffne die Templatedatei profile_add_body.tpl.
Dort gibt es eine Stelle (abhängig vom Template wird die ein wenig abweichen...) wie diese:

Code: Alles auswählen

<tr> 
	  <td class="row1"><span class="gen">{L_ALWAYS_ALLOW_HTML}:</span></td>
	  <td class="row2"> 
		<input type="radio" name="allowhtml" value="1" {ALWAYS_ALLOW_HTML_YES} />
		<span class="gen">{L_YES}</span>&nbsp;&nbsp; 
		<input type="radio" name="allowhtml" value="0" {ALWAYS_ALLOW_HTML_NO} />
		<span class="gen">{L_NO}</span></td>
	</tr>
Die wird entfernt.

Dann nimmst du dir die Datei usercp_register.php im includeverzeichnis vor.
Da gibt es um Zeile 153 herum das hier:

Code: Alles auswählen

$allowhtml = ( isset($HTTP_POST_VARS['allowhtml']) ) ? ( ($HTTP_POST_VARS['allowhtml']) ? TRUE : 0 ) : $board_config['allow_html'];
Das ersetzt du durch das hier:

Code: Alles auswählen

$allowhtml = false;
//$allowhtml = ( isset($HTTP_POST_VARS['allowhtml']) ) ? ( ($HTTP_POST_VARS['allowhtml']) ? TRUE : 0 ) : $board_config['allow_html'];
Das verhindert das aktivieren von HTML bei neuen Registrierungen.

Dann ein paar Zeilen später gibt es noch eine Stelle die abzuändern ist:

Code: Alles auswählen

$allowhtml = ( isset($HTTP_POST_VARS['allowhtml']) ) ? ( ($HTTP_POST_VARS['allowhtml']) ? TRUE : 0 ) : $userdata['user_allowhtml'];
gegen das hier tauschen:

Code: Alles auswählen

$allowhtml = $userdata['user_allowhtml'];
//$allowhtml = ( isset($HTTP_POST_VARS['allowhtml']) ) ? ( ($HTTP_POST_VARS['allowhtml']) ? TRUE : 0 ) : $userdata['user_allowhtml'];
Das setzt bei einem Update die HTML Erlaubnis immer auf den bisherigen Wert.

Dann sollte noch ein Update der Datenbank durchgeführt werden, dass HTML bei allen Usern deaktiviert (zur Vorsicht):

Code: Alles auswählen

UPDATE phpbb_users SET user_allowhtml = 0 WHERE user_level != 1
das sollte bei allen Usern HTML deaktivieren, es sei denn, sie sind Admin (es wird aber auch nicht aktiviert wenn der Admin es deaktiviert hatte).
Über den Adminbereich sollten Modifikationen an der HTML Einstellung eines Users weiterhin möglich sein, dagegen über das Profil nicht.
Damit HTML überhaupt benutzt werden kann muss es natürlich aktiviert sein.

EDIT: Ich habe noch eine Kleinigkeit vergessen:

Beim Posten gibt es ja ein Auswahlfeld ob HTML eingeschaltet ist oder nicht.
Öffne die posting.php, finde

Code: Alles auswählen

$html_on = ( $submit || $refresh ) ? ( ( !empty($HTTP_POST_VARS['disable_html']) ) ? 0 : TRUE ) : ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_html'] : $userdata['user_allowhtml'] );
ersetze mit:

Code: Alles auswählen

$html_on = ( $submit || $refresh ) ? ( ( empty($HTTP_POST_VARS['disable_html']) && $userdata['user_allowhtml'] ) ? TRUE : 0 ) : ( ( $userdata['user_id'] == ANONYMOUS ) ? 0 : $userdata['user_allowhtml'] );
//$html_on = ( $submit || $refresh ) ? ( ( !empty($HTTP_POST_VARS['disable_html']) ) ? 0 : TRUE ) : ( ( $userdata['user_id'] == ANONYMOUS ) ? $board_config['allow_html'] : $userdata['user_allowhtml'] );
Außerdem findet sich diese Stelle:

Code: Alles auswählen

if ( $board_config['allow_html'] )
{
	$html_status = $lang['HTML_is_ON'];
	$template->assign_block_vars('switch_html_checkbox', array());
}
die sollte durch das hier ersetzt werden:

Code: Alles auswählen

if ( $board_config['allow_html'] && $userdata['user_allowhtml'] )
{
	$html_status = $lang['HTML_is_ON'];
	$template->assign_block_vars('switch_html_checkbox', array());
}
Diese Stelle ist ebenfalls in der privmsg.php zu ersetzen, zusätzlich noch diese Stelle:

Code: Alles auswählen

$html_on = ( $submit || $refresh ) ? ( ( !empty($HTTP_POST_VARS['disable_html']) ) ? 0 : TRUE ) : $userdata['user_allowhtml'];
durch das hier:

Code: Alles auswählen

$html_on = ( $submit || $refresh ) ? ( ( empty($HTTP_POST_VARS['disable_html']) && $userdata['user_allowhtml'] ) ? TRUE : 0 ) : $userdata['user_allowhtml'];
//$html_on = ( $submit || $refresh ) ? ( ( !empty($HTTP_POST_VARS['disable_html']) ) ? 0 : TRUE ) : $userdata['user_allowhtml'];
Dadurch sollte eine Aktivierung des Häkchens nur möglich sein, wenn der User auch das entsprechende Recht dazu besitzt.

Ich hoffe ich habe nichts vergessen, bitte alle Funktionen ausgiebig testen!

WICHTIG: Alle zu ändernden Dateien vorher vollständig sichern und ein vollständiges Datenbankbackup anlegen. Ich habe das nicht getestet.

Verfasst: 30.01.2007 18:13
von AzadKing
Erstmal Vielen Dank!!!

Es scheint soweit zu klappen habe noch nicht alles 100% ausprobiert..



- habe beim Admin jetzt HTML Immer an aktiviert und kann HTML sehen und verfassen

- mitglieder können html sehen aber nicht verfassen

- gäste haben in manchen bereichen ihre chance ihren Senf dazu zu geben.... die können dann HTML benutzen und sehen auch den HTML deaktivieren button ??

könntest du da nochmal nach gucken :)