Seite 1 von 1

modlist frage

Verfasst: 05.08.2004 03:17
von danysahne333
kann man die modlist.php so ändern das die modliste nur registrierte user anschauen können?

hier mal der inhalt:

modlist.php

Code: Alles auswählen

<?php
/***************************************************************************
 *                              acronyme.php
 *                            ----------------
 *   begin                : Sunday, Nov 9, 2003
 *   copyright            : (C) 2003 AWSW
 *   url                  : http://www.awsw.de
 *
 *   $Id: acronyme.php,v 2.00 2003/11/09 12:00:00 AWSW Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/


// phpBB STANDARD START
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
define('SHOW_ONLINE', true);
$page_title = $lang['modslistWords_title'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
'body' => 'modslist_body.tpl')
);
// phpBB STANDARD END


$sql = "SELECT * FROM " . MODSLIST_TABLE . " ORDER BY word_id";
	if( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, "Could not query acronyme table", $lang['Error'], __LINE__, __FILE__, $sql);
	}

	$word_rows = $db->sql_fetchrowset($result);
	$word_count = count($word_rows);

	$template->assign_vars(array(
		"L_WORDS_TITLE" => $lang['modslistWords_title'],
		"L_WORD" => $lang['modslistWord'],
		"L_REPLACEMENT" => $lang['modslistReplacement'],
		"L_REPLACEMENT1" => $lang['modslistReplacement1'])
	);

	for($i = 0; $i < $word_count; $i++)
	{
		$word = $word_rows[$i]['word'];
		$replacement = $word_rows[$i]['replacement'];
		$replacement1 = $word_rows[$i]['replacement1'];
		$word_id = $word_rows[$i]['word_id'];

		$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
		$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

		$template->assign_block_vars("words", array(
			"ROW_COLOR" => "#" . $row_color,
			"ROW_CLASS" => $row_class,
			"WORD" => $word,
			"REPLACEMENT" => $replacement,
			"REPLACEMENT1" => $replacement1)
		);
	}

$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
was muss geändert werden?

dany

Verfasst: 05.08.2004 03:35
von AmigaLink
suche:

Code: Alles auswählen

$userdata = session_pagestart($user_ip, PAGE_INDEX); 
init_userprefs($userdata); 
dabach einfügen:

Code: Alles auswählen

if ( !$userdata['session_logged_in'] )
{
	redirect(append_sid("login.".$phpEx."?redirect=modlist.".$phpEx, true));
	exit;
}
Wenn jetzt ein Gast versucht die Liste zu öffnen, dann landet er im login und nach dem einloggen kommt er dann automatisch in die liste.

Verfasst: 05.08.2004 06:56
von danysahne333
thx :wink:

Verfasst: 06.08.2004 00:26
von danysahne333
das funktioniert irgednwie nicht. beim aufruf der modslist.php kommt die loginabfrage doch wenn ich dann auf absenden gehe komme ich zu folgendem fehler: 404 http://www.domain.de/login.php.

kann sich das jemand erklären?

was muss ich ändern?

edt: habs herausgefunden.

e geht so:

suche:

Code: Alles auswählen

$userdata = session_pagestart($user_ip, PAGE_INDEX);
füge darunter ein:

Code: Alles auswählen

if (!$userdata['session_logged_in'] ) 
{ 
redirect(append_sid("login.$phpEx?redirect=modslist.$phpEx", true)); 
}

Re: modlist frage

Verfasst: 06.08.2004 00:40
von AmigaLink
danysahne333 hat geschrieben:kann man die modlist.php
Sorry ich kenne den Mod nicht und hab mich an deine Angabe gehalten. :D

Aber du hast ja schon rausbekommen wo der fehler ist. :)

// EDIT

Der code muss aber unter init_userprefs($userdata); sonst klappt es nicht und führt wieder zu einem Fehler weil die Variable $userdata nicht gefüllt wird.