<!-- Begin switch_user_logged_in --> etc funktioniert

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
skyworxx
Mitglied
Beiträge: 10
Registriert: 06.01.2008 10:15

<!-- Begin switch_user_logged_in --> etc funktioniert

Beitrag von skyworxx »

hallo forum ;)


ich würde gerne einige bereiche meiner website gegen gäste schützen. so sollen zwar gäste die posts im forum lesen können, aber nicht die userdetails sehen können.

also was ich alles verstecken wollte ist:

- die komplette memberlist
- das komplette benutzerprofil
- die anzeige in themen von wem was geschrieben wurde (also komplette linke zelle, damit nur noch der post an sich da ist)


also habe ich z.b. am anfang der memberlist.tpl ein <!-- BEGIN switch_user_logged_in --> gesetzt, und am ende eben ein <!-- END switch_user_logged_in -->

Code: Alles auswählen

<!-- BEGIN switch_user_logged_in -->
[alles was in der memberlist.tpl drinnen ist]
<!-- END switch_user_logged_in -->
doch leider führt das nicht zum gewünschten ergebnis. zwar können gäste es nicht mehr sehn, aber eingeloggte user sehn es ebenso wenig.

das gleiche passierte auch als ich es versucht hab in die "viewtopic.tpl" einzubauen, damit gäste eben nicht sehn können von wem was geschrieben wurde.


meine vermutung ist, das "<!-- BEGIN switch_user_logged_in -->" usw nicht zusammen mit anderen "<!-- -->" befehlen funktionieren. also wenn zwei eineinander verschachtelt sind, dann gehts nicht mehr.



wie löse ich das problem? ich will eben nur das gäste nicht die profile und details der mitglieder sehen können


//edit
ah, ok, das mit der memberlist und dne profilen hab ich gefunden:
http://www.phpbb.de/viewtopic.php?t=47560


aber es bleibt immernoch die anzeige in den threads
Zuletzt geändert von skyworxx am 06.01.2008 10:41, insgesamt 1-mal geändert.
Benutzeravatar
ScriptingBase
Mitglied
Beiträge: 161
Registriert: 03.03.2007 09:20
Wohnort: Heidelberg
Kontaktdaten:

Beitrag von ScriptingBase »

Ersetze
<!-- Begin switch_user_logged_in -->

mal durch
<!-- BEGIN switch_user_logged_in -->
skyworxx
Mitglied
Beiträge: 10
Registriert: 06.01.2008 10:15

Beitrag von skyworxx »

des war schon "BEGIN", hab mich bloß hier verschrieben gehabt
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Liegt daran das durch das <!-- Begin switch_user_logged_in --> und End, alles was da drin leigt "verschachtelt" ist.

Eine einfachere Möglichkeit wäre:

Code: Alles auswählen

if ( !$userdata['session_logged_in'] )
{
    redirect(append_sid("login.$phpEx?redirect=DIE_AKTUELLE_DATEI.$phpEx", true));
}
Der Code würde zur login.php weiterleiten und anschließend wieder zurück zu der vorherigen Stelle.

Für die Themenansicht wer was geschrieben hat, ist der Code jedoch nicht geeignet.

Was genau soll den entfernt werden? in der viewtopic die Benuterinfos(das was du hier jetzt auch siehst) oder das in der viewforum (Lezter Beitrag von XY)?
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
skyworxx
Mitglied
Beiträge: 10
Registriert: 06.01.2008 10:15

Beitrag von skyworxx »

das was man jetzt hier auch sehn kann, also

"
Mitglied


Anmeldedatum: 18.06.2006
Beiträge: 1746
"

und die leiste unter jedem post, also mit "pn", "icq", "email" buttons


der username sollte noch stehen bleiben, evtl vielleicht sogar mit nem text "(registrierter Benutzer)" unten drunter, damit man die gäste von den angemeldeten leten unterscheiden kann
Benutzeravatar
gsxfan
Mitglied
Beiträge: 562
Registriert: 29.11.2007 11:43
Wohnort: Mittelhessen

Beitrag von gsxfan »

Das findest Du alles in der viewtopic_body.tpl.

Die Angaben links (Poster Name, Rang, Avatar....) nach diesem Eintrag:

Code: Alles auswählen

	<!-- BEGIN postrow -->
	<tr> 
Die Zeile lautet im Subsilver Template

Code: Alles auswählen

		<td width="150" align="left" valign="top" class="{postrow.ROW_CLASS}"><span class="name"><a name="{postrow.U_POST_ID}"></a><b>{postrow.POSTER_NAME}</b></span><br /><span class="postdetails">{postrow.POSTER_RANK}<br />{postrow.RANK_IMAGE}{postrow.POSTER_AVATAR}<br /><br />{postrow.POSTER_JOINED}<br />{postrow.POSTER_POSTS}<br />{postrow.POSTER_FROM}</span><br /></td>
Du musst bei Änderungen schauen, dass es Dir die Tabellendarstellung nicht zerhaut, also Ausprobieren.
Die Änderungen dürfen nur innerhalb der Tabellendefinition erfolgen, also nach <td with und vor </td>.
Das könnte dann so aussehen:

Code: Alles auswählen

<td width="150" align="left" valign="top" class="{postrow.ROW_CLASS}"><span class="name"><a name="{postrow.U_POST_ID}"></a><b>
<!-- BEGIN switch_user_logged_in -->
{postrow.POSTER_NAME}
<!-- END switch_user_logged_in -->
</b></span><br /><span class="postdetails">
<!-- BEGIN switch_user_logged_in -->
{postrow.POSTER_RANK}
<!-- END switch_user_logged_in -->
......
Das würde die Darstellung des Posternamens und des Rangs für nicht eingeloggte User unsichtbar machen.
Sinngemäß bei der Darstellung der Buttons für Mail, WWW etc. weiter unten und ebenfalls in der viewtopic_body.tpl verfahren.
Die Zeile, in der diese Buttons aufgerufen werden, lautet:

Code: Alles auswählen

			<td valign="middle" nowrap="nowrap">{postrow.PROFILE_IMG} {postrow.PM_IMG} {postrow.EMAIL_IMG} {postrow.WWW_IMG} {postrow.AIM_IMG} {postrow.YIM_IMG} {postrow.MSN_IMG}<script language="JavaScript" type="text/javascript"><!-- 
{postrow.PROFILE_IMG} ist der Aufruf für den Profilbutton und so weiter. Die musst Du dann auch in Switches setzen.

So würde ich das machen. Aber vielleicht hat ja jemand noch einen schlaueren Tipp.
Enduros putzen ist wie Bücher verbrennen.
Das GSX1100G-Forum
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Probieren wir es mal:
viewtopic.php:
Suche (Um Zeil 919):

Code: Alles auswählen

	if ( $poster_id != ANONYMOUS )
	{
		$temp_url = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$poster_id");
Genauer:

Code: Alles auswählen

	if ( $poster_id != ANONYMOUS )
Ersetze mit:

Code: Alles auswählen

	if ( $poster_id != ANONYMOUS && $userdata['session_logged_in'])
Mit diesem Code sollte die untere Leiste schon mal leer sein.
Um die Spalte Links zu entfernen suche ich noch.
Achtung: Back-Up machen ich habe diesen Code nicht getestet.

EDIT:

Mit den Änderungen von gsxfan wird es vermutlich nicht gehen da wieder eine Verschachtelung stattfindet.
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
skyworxx
Mitglied
Beiträge: 10
Registriert: 06.01.2008 10:15

Beitrag von skyworxx »

hab ich jetzt gemacht, aber nun könen es auch eingeloggte nutzer nicht mehr sehen

also der selbe effekt wie ich im erten post schon beschrieben hab. es wird einfach nicht angezeigt

//edit

mit den veränderungen in der .php ist jetzt die untere leiste weg, danke
fehlt noch das miniprofil
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Ich Bastle noch :D
Hier der Code:

FINDE:

Code: Alles auswählen

	//
	// Note! The order used for parsing the message _is_ important, moving things around could break any
	// output
	//
Füge DAVOR ein:

Code: Alles auswählen

    if (!$userdata['session_logged_in'])
    {
        /*
        *
        * Gäste dürfen Beitragsdetails nicht sehen $userdata['session_logged_in']
        * Schaue unter http://www.phpbb.de/viewtopic.php?t=162195 nach um weitere Informationen zu erhalten
        *
        * Einfach die Variablen leeren
        *
        */
        $poster = $post_date = $poster_posts = $poster_from = $poster_joined = $poster_avatar = $poster_rank = $rank_imag = $user_sig = '';
        
        //
        // Gäste sollen aber wissen warum sie nichts sehen können, wir missbrauchen einfach den Usernamen....
        //
        
        $poster = "Nur ein registrierter Benutzer kann genauere Infos zu den Benutzern erhalten";
    }
Bitte passe das bei Bedarf an:

Code: Alles auswählen

Nur ein registrierter Benutzer kann genauere Infos zu den Benutzern erhalten
Wenn du es so machst wird der Username durch den selbst gewählten Text ersetzt, Signatur, Avatar und Beitrag-Details werden verborgen.

Ungetestet.
Zuletzt geändert von Boecki91 am 06.01.2008 14:02, insgesamt 3-mal geändert.
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
skyworxx
Mitglied
Beiträge: 10
Registriert: 06.01.2008 10:15

Beitrag von skyworxx »

danke schonmal im vorraus :)

auch danke an gsxfan für dne versuch ;)
Antworten

Zurück zu „phpBB 2.0: Mod Support“