Code: Alles auswählen
// BEGIN guestbook MOD
// Get guestbook data...
$bbcode_status = ($config['allow_bbcode']) ? true : false;
$limit = $member['user_guestbook_limit'];
$userid_1 = $user->data['user_id'];
$user->add_lang('posting');
$sql_guest = "SELECT g.*, u.user_colour
FROM " . PROFILE_GUESTBOOK_TABLE . " g, " . USERS_TABLE . " u
WHERE g.user_id = $user_id
AND g.poster_id = u.user_id
ORDER BY g.gb_id DESC LIMIT $start, $limit";
$result_guest = $db->sql_query($sql_guest);
$db->sql_freeresult($result);
$statrow = array();
$sql = "SELECT COUNT(g.gb_id) AS eintraege
FROM " . PROFILE_GUESTBOOK_TABLE . " AS g
WHERE g.user_id = $user_id";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$totale_eintraege = $row['eintraege'];
$profile_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id");
while($row = $db->sql_fetchrow($result_guest))
{
$guestbook[] = $row;
}
if (!empty($guestbook)) { $full = '1'; } else { $full = '0'; }
$template->assign_vars(array(
'S_PAGINATION' => generate_pagination($profile_link, $totale_eintraege, $limit, $start) .'<hr/>' ,
'S_BBCODE_ALLOWED' => $bbcode_status,
'S_GUESTBOOK_ACTIVE' => $member['user_guestbook_active'],
'S_GB_ACTION' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile'),
'S_GUESTBOOK_FULL' => $full,
));
if (!empty($guestbook))
{
for($i=0; $i < count($guestbook); $i++)
{
$guestbook_profile_id = $guestbook[$i]['poster_id'];
$gb_id = $guestbook[$i]['gb_id'];
if ( $userid_1 == $user_id || $auth->acl_get('a_') )
{
$delete = $user->lang['GUESTBOOK_DELETE'];
$delete_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id&id=$gb_id");
$delete_ausgabe = "<a href=$delete_link>$delete</a> ";
$can_delete = $guestbook_profile_id;
}
else if ( $guestbook_profile_id = $userid_1 && $member['user_guestbook_delete'] = '1')
{
$delete = $user->lang['GUESTBOOK_DELETE'];
$delete_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id&id=$gb_id");
$delete_ausgabe = "<a href=$delete_link>$delete</a> ";
$can_delete = $userid_1;
}
$template->assign_block_vars("guestbook",array(
'GUESTBOOK_ID' => $guestbook[$i]['gb_id'],
'GUESTBOOK_USER_ID' => $guestbook[$i]['user_id'],
'GUESTBOOK_POSTER_ID' => $guestbook[$i]['poster_id'],
'GUESTBOOK_GB_TIME' => $user->format_date($guestbook[$i]['gb_time']),
'GUESTBOOK_TITLE' => $guestbook[$i]['title'],
'GUESTBOOK_ENTRY' => generate_text_for_display( nl2br($guestbook[$i]['message']), $guestbook[$i]['bbcode_uid'], $guestbook[$i]['bbcode_bitfield'], 7),
'GUESTBOOK_POSTER_NAME' => get_username_string('full', $guestbook[$i]['poster_id'], ($guestbook[$i]['user_guest_name']) ? $guestbook[$i]['user_guest_name'] : $user->lang['GUEST'], $guestbook[$i]['user_colour']),
'GUESTBOOK_PROFILE_URL' => append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=viewprofile&u=$guestbook_profile_id"),
'GUESTBOOK_DELETE_URL' => isset($delete_ausgabe) ? $delete_ausgabe : '',
'GUESTBOOK_USER_ID' => $can_delete,
));
}
}
//delete guestbook data...
$delete_guest = request_var("id", 0);
if ($delete_guest)
{
$sql = "DELETE FROM " . PROFILE_GUESTBOOK_TABLE . " WHERE gb_id = $delete_guest";
$db->sql_query($sql);
$back_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id");
meta_refresh(3, append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id"));
trigger_error($user->lang['GUESTBOOK_DELETE_SEND'] . '<br /><br /><a href="' . $back_link . '">' . $user->lang['GUESTBOOK_BACK'] . '</a>');
}
//add guestbook data...
$submit_guest = request_var('submit_guestbook', false);
if ($submit_guest)
{
if ($member['user_guestbook_send'] = '0')
{
$back_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id");
meta_refresh(3, append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id"));
trigger_error($user->lang['GUESTBOOK_NOT_SEND'] . '<br /><br /><a href="' . $back_link . '">' . $user->lang['GUESTBOOK_BACK'] . '</a>');
}
else
{
include_once($phpbb_root_path . 'includes/message_parser.' . $phpEx);
$message_parser = new parse_message();
$message_parser->message = request_var('message', '', true);
if($message_parser->message)
{
$message_parser->parse(true, true, true, true, false, true, true, true);
}
$message = request_var('message', '', true);
$title = utf8_normalize_nfc(request_var('title', '', true));
$back_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id");
if(empty($message) || empty($title))
{
meta_refresh(3, append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id"));
trigger_error($user->lang['GUESTBOOK_ERROR'] . '<br /><br /><a href="' . $back_link . '">' . $user->lang['GUESTBOOK_BACK'] . '</a>');
}
$sql = 'INSERT INTO ' . PROFILE_GUESTBOOK_TABLE . '' . $db->sql_build_array('INSERT', array(
'user_id' => (int) $user_id,
'poster_id' => (int) $user->data['user_id'],
'gb_time' => (int) time(),
'title' => (string) $title,
'message' => (string) $message_parser->message,
'user_guest_name' => (string) $user->data['username'],
'bbcode_uid' => (string) $message_parser->bbcode_uid,
'bbcode_bitfield' => (string) $message_parser->bbcode_bitfield)
);
$db->sql_query($sql);
if($member['user_allow_pm'] = '1')
{
include_once($phpbb_root_path . 'includes/functions_privmsgs.' . $phpEx);
$subject = sprintf($user->lang['GUESTBOOK_PM_ENTRY_TITLE'], $user->data['username']);
$message = sprintf($user->lang['GUESTBOOK_PM_ENTRY'], $user->data['username'], $title, $back_link);
$uid = $bitfield = $options = '';
$allow_bbcode = $allow_smilies = true;
$allow_urls = false;
generate_text_for_storage($message, $uid, $bitfield, $options, $allow_bbcode, $allow_urls, $allow_smilies);
$message = generate_text_for_display($message, $uid, $bitfield, $options);
$pm_data = array(
'address_list' => array('u' => array($user_id => 'to')),
'from_user_id' => $user->data['user_id'],
'from_user_ip' => $user->data['user_ip'],
'from_username' => $user->data['username'],
'enable_sig' => false,
'enable_bbcode' => true,
'enable_smilies' => true,
'enable_urls' => false,
'icon_id' => 0,
'bbcode_bitfield' => $bitfield,
'bbcode_uid' => $uid,
'message' => $message,
);
submit_pm('post', $subject, $pm_data, false);
}
$back_link = append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id");
meta_refresh(3, append_sid("{$phpbb_root_path}memberlist.$phpEx?mode=viewprofile&u=$user_id"));
trigger_error($user->lang['GUESTBOOK_ADD'] . '<br /><br /><a href="' . $back_link . '">' . $user->lang['GUESTBOOK_BACK'] . '</a>');
}
}