Seite 1 von 1

An die Profis: REF-MOD ! (wichtig)

Verfasst: 30.12.2003 08:42
von DeDonatis
hi !

da ich mit php nicht so bewandert bin, bräuchte ich mal die hilfe der profis :)

ich hab den ref mod von johnabela (oder wie der fritze heißt) :)

hier die eine datei, zum anzeigen der refs:

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

if ( !empty($board_config['default_lang']) )
{
    include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_referral.'.$phpEx);
}
else
{
    include($phpbb_root_path . 'language/lang_english/lang_referral.'.$phpEx);
}

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

$template->set_filenames(array(
	'body' => 'referral_view_body.tpl')
);

if ( !empty($HTTP_GET_VARS['ruid']) )
{
    $ruid = $HTTP_GET_VARS['ruid'];
}
elseif ( !empty($HTTP_GET_VARS['ruid']) )
{
    $ruid = $HTTP_GET_VARS['ruid'];
}
else
{
    $ruid = $board_config['referral_id'];
}
//
// Generate SQL
//
$sql = "SELECT * 
	FROM " . REFERRAL_TABLE . " 
	WHERE ruid = '" . $ruid . "'";
if( !$result = $db->sql_query($sql) )
{
	message_die(GENERAL_ERROR, "Could not query referral table", $lang['Error'], __LINE__, __FILE__, $sql);
}

$referral_rows = $db->sql_fetchrowset($result);
$referral_count = count($referral_rows);

$template->assign_vars(array(
	"L_REFERRAL_N_NAME" => $lang['Referral_Admin_New_Name'],
	"L_REFERRAL_DATETIME" => $lang['Referral_Admin_DateTime']
    )
);

for($i = 0; $i < $referral_count; $i++)
{
    //
    // GET NEW USER DATA
    $nuid = $referral_rows[$i]['nuid'];
    settype($nuid, "integer");
    //
    $new_userdata = get_userdata($nuid);
	if( !$new_userdata )
    {
		$new_username = $lang['Referral_Admin_User_Delete'];
	}
	else
	{
		$temp_url = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=".$new_userdata['user_id']."");
		$new_username = '<a href="' . $temp_url . '">' . $new_userdata['username'] . '</a>';
	}

	$referral_date = create_date($board_config['default_dateformat'], $referral_rows[$i]['referral_time'], $board_config['board_timezone']);

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

	$template->assign_block_vars("referrers", array(
		"ROW_COLOR" => "#" . $row_color,
		"ROW_CLASS" => $row_class,
        "NEW_USER" => $new_username,
		"REPLACEMENT" => $referral_date
        )
	);
}

$gen_simple_header = TRUE;

include($phpbb_root_path . 'includes/page_header.' . $phpEx);
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.' . $phpEx);
und hier der TPL:

Code: Alles auswählen

<table width="80%" cellspacing="1" cellpadding="4" border="0" align="center" class="forumline">
	<tr>
		<th class="thTop">{L_REFERRAL_N_NAME}</th>
		<th class="thTop">{L_REFERRAL_DATETIME}</th>
	</tr>
	<!-- BEGIN referrers -->
	<tr>
		<td class="{referrers.ROW_CLASS}" align="center"><span class="gensmall">{referrers.NEW_USER}</span></td>
		<td class="{referrers.ROW_CLASS}" align="center"><span class="gensmall">{referrers.REPLACEMENT}</span></td>
	</tr>
	<!-- END referrers -->
</table>
wäre es machbar, eine spalte hinzuzufügen in welcher steht, wieviel posts der ref gemacht hat ???

wäre echt suuuuper nett, wenn mir das jemand machen würde !!!!!

viele gruesse

dedonatis

Verfasst: 30.12.2003 10:44
von Acid

Code: Alles auswählen

   "NEW_USER" => $new_username,
..füge darunter mal folgendes ein..

Code: Alles auswählen

   "NEW_USER_POSTS" => $new_userdata['user_posts'],
..und in der *.tpl dann {referrers.NEW_USER_POSTS}.


Es gehört übrigens hier ins MODs-Forum. ;)

Verfasst: 30.12.2003 10:49
von DeDonatis
geil, geil, geil !

funzt !

danke acid !!!!!

du bist der beste :)

(sorry wegen dem doppelpost) :)

Verfasst: 30.12.2003 13:14
von DeDonatis
wenn du mir jetzt noch sagen könntest, wie ich das datum vom letzten posting mit anzeigen kann, wäre ich überglücklich :)

Verfasst: 30.12.2003 14:20
von itst
Nach

Code: Alles auswählen

    $new_userdata = get_userdata($nuid);
folgendes einfügen

Code: Alles auswählen

    $sql = "SELECT MAX(post_time) AS lastpostdate FROM " . POSTS_TABLE . " WHERE poster_id = " . $nuid;

    if (!$result = $db->sql_query($sql))
    {
        message_die(GENERAL_ERROR, 'Could not get last post date from posts table', __FILE__, __LINE__, $sql);
    }

    $lastpost_row = $db->sql_fetch_row($result);
    $lastpostdate = $lastpost_row['lastpostdate'];
    if ($lastpostdate < 1)
    {
        $lastppostdate = "";
    } else
    {
        $lastpostdate = create_date($board_config['default_dateformat'], $postrow[$i]['post_time'], $board_config['board_timezone']);
    }
Dann unter

Code: Alles auswählen

   "NEW_USER_POSTS" => $new_userdata['user_posts'],
folgendes einfügen:

Code: Alles auswählen

"NEW_USER_LAST_POST_DATE" => $lastpostdate,
und schließlich im Template mit {referrers.NEW_USER_LAST_POST_DATE} ausgeben.

Ohne Gewähr ;)

Verfasst: 30.12.2003 14:37
von DeDonatis
hmmm...

Fatal error: Call to undefined function: sql_fetch_row() in /home/www/htdocs/bayandbuy.de/referral_view.php on line 103

Verfasst: 30.12.2003 14:42
von itst
:oops: muss sql_fetchrow heissen, ohne weiten Underscore.

Verfasst: 30.12.2003 14:46
von DeDonatis
jetzt kommt zwar kein error mehr, dafür das datum 01.01.1970 :) :) :) das kommt net ganz hin ;)

Verfasst: 30.12.2003 14:54
von itst
Sorry, kommt davon, wenn man zuviele Datein offen hat.

Code: Alles auswählen

$lastpostdate = create_date($board_config['default_dateformat'], $postrow[$i]['post_time'], $board_config['board_timezone']);
muss heissen:

Code: Alles auswählen

$lastpostdate = create_date($board_config['default_dateformat'], $lastpostdate, $board_config['board_timezone']);

Verfasst: 30.12.2003 14:59
von DeDonatis
perfekt !

jetzt passts !

DAAAAAAAAAANKKKKKKKKKEEEEEEEEE !!!!! ;) ;)

guten rutsch ihr alle ! ;)