Nur die erste Seite lesen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Domitz
Mitglied
Beiträge: 209
Registriert: 18.11.2006 17:29

Nur die erste Seite lesen

Beitrag von Domitz »

Hallo, und zwar kam mir heute folgende Idee.
Wie schaffe ich es, dass die Gäste, die in spezielle bereiche kommen können nur die erste Seite eines Themas lesen können. Für die anderen Seiten muss sich der User einloggen.
So kann man einen kleinen Einblick in die Themen geben und es gibt einen anreiz sich anzumelden.
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

Code: Alles auswählen

if( isset($HTTP_GET_VARS['start']) && !$userdata['session_logged_in'] )
{
message_die(GENERAL_MESSAGE, "Als Gast kann man nur die erste Seite eines Themas lesen");
}
nach

Code: Alles auswählen

$userdata = session_pagestart($user_ip, $forum_id);
init_userprefs($userdata);
in die viewtopic.php einfügen (Nachricht anpassen).
Ich denke das wäre die einfachste Möglichkeit, da start nur gesetzt ist wenn man auf weiteren Seiten rumeiert.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

fanrpg hat geschrieben:da start nur gesetzt ist wenn man auf weiteren Seiten rumeiert.
Klick mal auf den großen Thementitel oberhalb der Neues Thema / Antworten Buttons :roll:
KB:knigge
Benutzeravatar
Seimon
Mitglied
Beiträge: 893
Registriert: 23.02.2005 18:10
Wohnort: Linz, Österreich

Beitrag von Seimon »

So sollts klappen, oder?

öffne vietopic.php

finde

Code: Alles auswählen

//
// End session management
//
füge danach ein:

Code: Alles auswählen

if ($post_id)
{
	if ( (floor(($forum_topic_data['prev_posts'] - 1) / intval($board_config['posts_per_page'])) * intval($board_config['posts_per_page'])) > 0 && !$userdata['session_logged_in'])
	{
		redirect(append_sid("login.$phpEx?redirect=viewtopic.$phpEx?" . POST_POST_URL . "=$post_id#$post_id", true));
	}
}

if ($start > 0 && !$userdata['session_logged_in'])
{
	redirect(append_sid("login.$phpEx?redirect=viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&start=$start", true));
}
Alternativ kann man statt den redirects auch einen message_die verwenden (siehe oben)
Benutzeravatar
punkface
Mitglied
Beiträge: 3579
Registriert: 12.08.2004 23:37

Beitrag von punkface »

Dabei wurde aber nicht beachtet dass man die Beiträge auch nach Alter (umgekehrt) sortiert anzeigen lassen kann .. :D
Benutzeravatar
Seimon
Mitglied
Beiträge: 893
Registriert: 23.02.2005 18:10
Wohnort: Linz, Österreich

Beitrag von Seimon »

Ja stimmt - hm

Versuch 2 - Gäste haben Threads nicht zu sortieren :D

öffne vietopic.php

finde:

Code: Alles auswählen

//
// Go ahead and pull all data for this topic
//
füge davor ein:

Code: Alles auswählen

if ($post_time_order == "DESC" || $post_days != 0 )
{
	redirect(append_sid("login.$phpEx?redirect=viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id", true));
}
if ($post_id)
{
	if ( (floor(($forum_topic_data['prev_posts'] - 1) / intval($board_config['posts_per_page'])) * intval($board_config['posts_per_page'])) > 0 && !$userdata['session_logged_in'])
	{
		redirect(append_sid("login.$phpEx?redirect=viewtopic.$phpEx?" . POST_POST_URL . "=$post_id#$post_id", true));
	}
}
if ($start > 0 && !$userdata['session_logged_in'])
{
	redirect(append_sid("login.$phpEx?redirect=viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&start=$start", true));
}
Fehlt noch was?
Domitz
Mitglied
Beiträge: 209
Registriert: 18.11.2006 17:29

Beitrag von Domitz »

Wow, vielen lieben Dank, ihr habt mir sehr geholfen =)
Benutzeravatar
Seimon
Mitglied
Beiträge: 893
Registriert: 23.02.2005 18:10
Wohnort: Linz, Österreich

Beitrag von Seimon »

Über die Suche kann man die restlichen Beiträge noch lesen...
Antworten

Zurück zu „Coding & Technik“