HTML table bei Version 2.0.21

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
mark2
Mitglied
Beiträge: 454
Registriert: 22.02.2006 23:05
Wohnort: Kempten

Beitrag von mark2 »

Nein es funktioniert leider nicht.
Zumindes mit Version 2.0.21 nicht

Erlaubt man HTML im ACP erscheint beim posting erstellen unten ein Feld in dem HTML immer für jeden deaktiviert ist und man für jede post einzeln nochmal den Haken entfernen muß um HTML zu aktivieren. Diese Zeile taucht aber leider mit deinem code nicht auf und HTML ist somit immernoch für den Admin deaktiviert.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Sorry. Ich hatte die falsche Funktion angegeben. Es muss nicht an die Stelle die ich angegeben habe sondern in die Funktion
"function session_pagestart($user_ip, $thispage_id)" und zwar 2 mal, direkt vor die Zeilen mit "return":

Code: Alles auswählen

if($userdata['user_level'] == ADMIN)
{
$board_config['allow_html'] = 1;
} 
				return $userdata;
			}
		}
	}

	//
	// If we reach here then no (valid) session exists. So we'll create a new one,
	// using the cookie user_id if available to pull basic user prefs.
	//
	$user_id = ( isset($sessiondata['userid']) ) ? intval($sessiondata['userid']) : ANONYMOUS;

	if ( !($userdata = session_begin($user_id, $user_ip, $thispage_id, TRUE)) )
	{
		message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql);
	}
if($userdata['user_level'] == ADMIN)
{
$board_config['allow_html'] = 1;
} 
	return $userdata;
Ursprünglich dürfte da das hier gestanden haben:

Code: Alles auswählen

				return $userdata;
			}
		}
	}

	//
	// If we reach here then no (valid) session exists. So we'll create a new one,
	// using the cookie user_id if available to pull basic user prefs.
	//
	$user_id = ( isset($sessiondata['userid']) ) ? intval($sessiondata['userid']) : ANONYMOUS;

	if ( !($userdata = session_begin($user_id, $user_ip, $thispage_id, TRUE)) )
	{
		message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql);
	}

	return $userdata;
Das habe ich dieses mal getestet und bei mir funktioniert es. Trotzdem vorher sichern und testen ob es ohne Admin Rechte trotzdem funktioniert. Im ACP muss HTML aus sein, sonst macht die Aktion keinen Sinn, es müssen aber trotzdem die erlaubten Tags eingetragen werden.

EDIT: Für alle die nur diesen Post lesen: Das ganze findet statt in der sessions.php
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
mark2
Mitglied
Beiträge: 454
Registriert: 22.02.2006 23:05
Wohnort: Kempten

Beitrag von mark2 »

Hm.
Also entweder spinnt mein Board oder es geht nich richtig.

Jetz bekomme ich bein Posting schreiben zwar die Anzeige mit der Auswahl und auch links bei den smilys wird angezeigt html is an aber es funktioniert nicht.

ich habe diesen code gepostet.

Code: Alles auswählen

<a>Zum Anker</a>

ein bisschen HTML

<a>hier ist der Anker</a>
Den code <a> habe ich im ACP freigeschalten. Klicke ich jetzt auf Vorschau wird mir das angezeigt
Zum Anker

ein bisschen HTML

hier ist der Anker
So soll es ja sein und habe mich schon gefreut. Aber klicke ich dann auf Absenden steht es dann komischerweise so im Beitrag
<a>Zum Anker</a>

ein bisschen HTML

<a>hier ist der Anker</a>
Es funktioniert also nur in der Vorschau. Wiso ??
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Die Sache mit den Ankern sollt so aussehen:

Code: Alles auswählen

<a href="#anker">Zum Anker</a>

ein bisschen HTML

<a name="anker">hier ist der Anker</a>
Zum Thema, kannst Du auch mal hier nachschauen
Und es muss HTML im Forum erlaubt sein, das HTML darf in diesem Posting nicht abgeschaltet sein und in Deinem Profil sollte es auch (evtl.) angeschaltet sein.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
mark2
Mitglied
Beiträge: 454
Registriert: 22.02.2006 23:05
Wohnort: Kempten

Beitrag von mark2 »

Hi Miriam

Um die Anker Funktion geht es mir garnicht. Brauchte nur ein html post zum testen. Das habe ich gerade gefunden und einfach rein kopiert.

Aber guter Tip mit dem Profileinstellungen.

Ich habe gerade in meinem Profil also dem Admin Account bei "HTML immer aktivieren:" den Haken gesetzt und jetzt wird es richtig angezeigt. Allerdings nur mir. Es müsste also jeder user in seinem Profil Html aktiv haben.
Wenn man nun diesen code um den es hier geht einbaut so dass der Admin html posten kann ohne es gleich jedem zu erlauben, sehen die user alle nur den html code. Weil es keiner im Profil an hat.
Das bringt dann auch nicht wirklich einen vorteil.
Der code oben müsste noch erweitert werden, so dass jeder user html sehen aber nicht posten kann.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Code: Alles auswählen

if ( !$board_config['allow_html'] || !$userdata['user_allowhtml'])
	{
		if ( $user_sig != '' )
		{
			$user_sig = preg_replace('#(<)([\/]?.*?)(>)#is', "<\\2>", $user_sig);
		}

		if ( $postrow[$i]['enable_html'] )
		{
			$message = preg_replace('#(<)([\/]?.*?)(>)#is', "<\\2>", $message);
		}
	}
Diese Stelle in der viewtopic.php ist der Übeltäter. Unabhängig davon, ob im Post HTML erlaubt ist oder nicht funktioniert das ganze nur wenn im Board HTML erlaubt ist. Es sollte eigentlich nicht möglich sein Posts mit HTML aktiviert zu machen wenn HTML im Board verboten ist. Daher könntest du diesen Teil

Code: Alles auswählen

if ( $postrow[$i]['enable_html'] )
		{
			$message = preg_replace('#(<)([\/]?.*?)(>)#is', "<\\2>", $message);
		}
auskommentieren und deinen HTML Code dürften alle sehen können. Sicherer ist es aber an dieser Stelle z.B. die user_id mit abzufragen die der Poster hat, auf diese Weise stellst du sicher, dass auch nur deine Posts eine Ausnahmegenemigung bekommen. Z.B. das hier statt des codes:

Code: Alles auswählen

if ( $postrow[$i]['enable_html'] && $poster_id != ---ADMIN_ID_EINTRAGEN---)
		{
			$message = preg_replace('#(<)([\/]?.*?)(>)#is', "<\\2>", $message);
		}
(das ---ADMIN_ID_EINTRAGEN--- natürlich durch die ID ersetzen)
Oder aber wenn du generell allen Admins HTML Erlauben willst muss in diese Abfrage hier

Code: Alles auswählen

$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid
	FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
	WHERE p.topic_id = $topic_id
		$limit_posts_time
		AND pt.post_id = p.post_id
		AND u.user_id = p.poster_id
	ORDER BY p.post_time $post_time_order
	LIMIT $start, ".$board_config['posts_per_page'];
zusätzlich noch u.user_level rein und dann kannst du in die If Abfrage $postrow[$i]['user_level'] != ADMIN einbauen.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
mark2
Mitglied
Beiträge: 454
Registriert: 22.02.2006 23:05
Wohnort: Kempten

Beitrag von mark2 »

Super.
Das funktioniert.
Habe die unterste Variante eingebaut.
Da es ja mal sein kann dass der Admin irgendwann wechselt und dann müste man die id in der php Datei ändern. Gefällt mir auch nicht wenn die Admin id direkt in einer Datei steht.

Es ist jetzt sogar so dass ich im Admin Profil (und allen user Profilen) & im ACP Html aus habe und der code sogar Gästen richtig angezeigt wird. Somit auch allen usern. Zusätzlich ist sichergestellt dass nur ein Admin Html posten kann.

Bin begeistert.
Thx.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Kein Problem.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
wwwthomasbauerattf
Mitglied
Beiträge: 1151
Registriert: 30.01.2006 15:15
Kontaktdaten:

Beitrag von wwwthomasbauerattf »

@gn#36

check ich noch immer ned. was muss ich jetzt machen das der admin html posten darf. sonst aber keiner

aber jeder soll das html-gepostete vom admin sehen

jetzt siehts nämlich keiner mehr, als ich die eine änderung in der sessions.php durchgeführt habe

edit: hab schon die lösung gefunden (http://www.phpbb.com/community/viewtopic.php?t=119663)
wwwthomasbauerattf
Mitglied
Beiträge: 1151
Registriert: 30.01.2006 15:15
Kontaktdaten:

Beitrag von wwwthomasbauerattf »

ok. ich muss mich korrigieren. der link zum mod auf phpbb.com ist doch totaler blödsinn...

user die bisher html aktiviert haben können html vom admin nicht sehen sondern sehen nur den code
neu registrierte user genau das gleiche, da das feldchen html aktivieren nicht mehr da ist und somit automatisch deaktiviert ist. also total blödsinn der mod...

kann mir bitte jemand helfen... das kann doch nicht so schwer sein
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“