Pagina 1 van 1

Berichten balk

Geplaatst: 16 mar 2004, 12:53
door Inward
Hoi,

ik ben opzoek naar een mod die ervoor zorgt dat er een berichten balk komt. Alleen leden moet hierin berichten kunnen plaatjes.. Bestaad er al zoiets?

Geplaatst: 16 mar 2004, 14:18
door Podium4

Geplaatst: 16 mar 2004, 21:21
door Inward
Opzich niet helemaal wat ik bedoelde,
maar met een beetje aanpassen is het dan toch bijna geheel gelukt..

Zit nog met 1 probleem:
De nieuwste berichten moeten bovenaan komen..
Hoe doe ik dit?

Hier shoutbox_view.php:

Code: Selecteer alles

<?php
/***************************************************************************
 *				shoutbox_view.php
 *				-------------------
 *   begin		: Friday, Jul 12, 2003
 *   copyright	: (C) 2003 Przemo
 *   website	: http://www.przemo.org
 *   email		: przemo@przemo.org
 *   version	: 1.4
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   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.
 *
 ***************************************************************************/

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

$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);


if ( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) ) 
{ 
   $mode = ( isset($HTTP_GET_VARS['mode']) ) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode']; 
} 
if ( isset($HTTP_GET_VARS['name']) || isset($HTTP_POST_VARS['name']) ) 
{ 
   $name = ( isset($HTTP_GET_VARS['name']) ) ? $HTTP_GET_VARS['name'] : $HTTP_POST_VARS['name']; 
} 
if ( isset($HTTP_GET_VARS['message']) || isset($HTTP_POST_VARS['message']) ) 
{ 
   $message = ( isset($HTTP_GET_VARS['message']) ) ? $HTTP_GET_VARS['message'] : $HTTP_POST_VARS['message']; 
} 
if ( isset($HTTP_GET_VARS['msg']) || isset($HTTP_POST_VARS['msg']) ) 
{ 
   $msg = ( isset($HTTP_GET_VARS['msg']) ) ? $HTTP_GET_VARS['msg'] : $HTTP_POST_VARS['msg']; 
} 
if ( isset($HTTP_GET_VARS['id']) || isset($HTTP_POST_VARS['id']) ) 
{ 
   $id = ( isset($HTTP_GET_VARS['id']) ) ? $HTTP_GET_VARS['id'] : $HTTP_POST_VARS['id']; 
} 
if ( isset($HTTP_GET_VARS['del_sb_id']) || isset($HTTP_POST_VARS['del_sb_id']) ) 
{ 
   $del_sb_id = ( isset($HTTP_GET_VARS['del_sb_id']) ) ? $HTTP_GET_VARS['del_sb_id'] : $HTTP_POST_VARS['del_sb_id']; 
} 
if ( isset($HTTP_GET_VARS['name_id']) || isset($HTTP_POST_VARS['name_id']) ) 
{ 
   $name_id = ( isset($HTTP_GET_VARS['name_id']) ) ? $HTTP_GET_VARS['name_id'] : $HTTP_POST_VARS['name_id']; 
} 
if ( isset($HTTP_GET_VARS['date_edit']) || isset($HTTP_POST_VARS['date_edit']) ) 
{ 
   $date_edit = ( isset($HTTP_GET_VARS['date_edit']) ) ? $HTTP_GET_VARS['date_edit'] : $HTTP_POST_VARS['date_edit']; 
} 
if ( isset($HTTP_GET_VARS['name_edit']) || isset($HTTP_POST_VARS['name_edit']) ) 
{ 
   $name_edit = ( isset($HTTP_GET_VARS['name_edit']) ) ? $HTTP_GET_VARS['name_edit'] : $HTTP_POST_VARS['name_edit']; 
} 
if ( isset($HTTP_GET_VARS['clean_msg']) || isset($HTTP_POST_VARS['clean_msg']) ) 
{ 
   $clean_msg = ( isset($HTTP_GET_VARS['clean_msg']) ) ? $HTTP_GET_VARS['clean_msg'] : $HTTP_POST_VARS['clean_msg']; 
} 
if ( isset($HTTP_GET_VARS['submit_button']) || isset($HTTP_POST_VARS['submit_button']) ) 
{ 
   $submit_button = ( isset($HTTP_GET_VARS['submit_button']) ) ? $HTTP_GET_VARS['submit_button'] : $HTTP_POST_VARS['submit_button']; 
}


$sb_user_id = $userdata['user_id'];

if ( $mode == "show" )
{
	@setcookie('shoutbox',on , (time()+3600*9000), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
	header("Location: " . append_sid("index.$phpEx?redirect=shoutbox_view.$phpEx", true));
}

if ( $mode == "submit" && $msg )
{
	if ( !$shoutbox_config['allow_guest'] && !$userdata['session_logged_in'] )
	{
		echo '<body onload="window.scrollTo(0,0);" />
			<table align="center"><tr><td align="left"><span class="gensmall">
			<b>' . $lang['login_to_shoutcast'] . '</b></span></td></tr></table>';
	}

	$check_lenght=explode(" ",$msg);
	$total=sizeof($check_lenght);
	for($i=0; $total > $i; $i++)
	if (strlen($check_lenght[$i])>$shoutbox_config['word_lenght'])
	{
		$too_long = true;
		echo '<body onload="window.scrollTo(0,0);" />
			<table align="center"><tr><form name="post" action="shoutbox_view.php" method="POST"><td align="left"><span class="gensmall">
			<b>' . $lang['too_long_word'] . '</b></span></td></tr></table>';
	}

	$current_time = time();
	$sql = "SELECT MAX(timestamp) AS last_msg_time
		FROM " . SHOUTBOX_TABLE . "
		WHERE sb_user_id = $sb_user_id";
	if ( $result = $db->sql_query($sql) )
	{
		if ( $row = $db->sql_fetchrow($result) )
		{
			if ( $row['last_msg_time'] > 0 && ( $current_time - $row['last_msg_time'] ) < $board_config['flood_interval'] )
			{
				$flood_msg = true;
				echo '<body onload="window.scrollTo(0,0);" />
					<table align="center"><tr><td align="left"><span class="gensmall">
					' . $lang['Flood_Error'] . '</span></td></tr></table>';
			}
		}
	}

	$shoutbox_config['banned_user_id'] = $GLOBALS['shoutbox_config']['banned_user_id'];
	if( strstr($shoutbox_config['banned_user_id'], ',') )
	{
		$fids = explode(',', $shoutbox_config['banned_user_id']);
	
		while( list($foo, $id) = each($fids) )
		{
			$fid[] = intval( trim($id) );
		}
	}
	else
	{
		$fid[] = intval( trim($shoutbox_config['banned_user_id']) );
	}
	reset($fid);
	if ( in_array($sb_user_id, $fid) != false )
	{
		echo '<body onload="window.scrollTo(0,0);" />
			<table align="center"><tr><td align="left"><span class="gensmall">
			' . $lang['sb_banned_send'] . '</span></td></tr></table>';
		$shoutbox_banned = true;
	}

	if ( !$too_long && !$flood_msg && !$shoutbox_banned ) if ( $shoutbox_config['allow_guest'] || $userdata['session_logged_in'] )
	{
		$sql = "INSERT INTO " . SHOUTBOX_TABLE . "
		       VALUES('', '$sb_user_id', '$msg', '".time()."', '$name')";
		if( !($result = $db->sql_query($sql)) )
		{ message_die(GENERAL_ERROR, 'Could not insert shoutbox message', '', __LINE__, __FILE__, $sql); }

		$start = time() - $shoutbox_config['delete_days'] * 86400;
		$sql = "DELETE FROM " . SHOUTBOX_TABLE . "
			WHERE timestamp < $start";
		if( !($result = $db->sql_query($sql)) )
		{ message_die(GENERAL_ERROR, 'Could not delete shoutbox messages', '', __LINE__, __FILE__, $sql); }
	}
}

if ( $shoutbox_config['allow_edit_all'] && $username != Anonymous ) $aedit = 1; else $aedit = 0;
if ( $shoutbox_config['allow_delete_all'] && $username != Anonymous ) $adel = 1; else $adel = 0;
if ( $shoutbox_config['allow_edit'] ) if ( $userdata['user_level'] == MOD || $userdata['user_level'] == ADMIN ) $aedit = 1;
if ( $shoutbox_config['allow_delete'] ) if ( $userdata['user_level'] == MOD || $userdata['user_level'] == ADMIN ) $adel = 1;
else $del_mod = "AND sb_user_id = $sb_user_id";

if ( $mode == "delete" && $adel )
{
	$sql = "DELETE FROM " . SHOUTBOX_TABLE . "
	      WHERE id = $id $del_mod";
	if( !($result = $db->sql_query($sql)) )
	{ message_die(GENERAL_ERROR, 'Could not delete shoutbox message', '', __LINE__, __FILE__, $sql); }
}

if ( $mode == "edit" && $aedit )
{
	echo '<body onload="window.scrollTo(0,0);" />
		<table><tr><form name="post" action="shoutbox_view.php" method="POST"><td align="left"><span class="gensmall">
		' . $lang['Edit_pm'] . ': <input type="text" name="message" style="height:15px" size="60" maxlength="150" " value="' . $clean_msg . '" class="editbox"><input type="hidden" name="mode" value="edited_msg"><input type="hidden" name="id" value="' . $id . '"><input type="hidden" name="name_edit" value="' . $name_edit . '">
		<input type="hidden" name="date_edit" value="' . $date_edit . '">
		<input type="hidden" name="name_id" value="' . $name_id . '">
		<input type="submit" name="submit_button" value="' . $lang['Submit'] . '" style="font-size:9px; height:16px;" class="button"></span></td>
		</form></tr></table>';
}

if ( $mode == "edited_msg" && $aedit )
{
	$sql = "REPLACE INTO " . SHOUTBOX_TABLE . "
	       VALUES('$id', '$name_id', '$message', '$date_edit', '$name_edit')";
	if( !($result = $db->sql_query($sql)) )
	{ message_die(GENERAL_ERROR, 'Could not replace shoutbox message', '', __LINE__, __FILE__, $sql); }
}

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

$shoutbox_config['banned_user_id_view'] = $GLOBALS['shoutbox_config']['banned_user_id_view'];
if( strstr($shoutbox_config['banned_user_id_view'], ',') )
{
	$fids = explode(',', $shoutbox_config['banned_user_id_view']);

	while( list($foo, $id) = each($fids) )
	{
		$fid[] = intval( trim($id) );
	}
}
else
{
	$fid[] = intval( trim($shoutbox_config['banned_user_id_view']) );
}
reset($fid);
if ( in_array($sb_user_id, $fid) != false )
{
	$shoutbox_banned_view = true;
}

if ( $shoutbox_config['shoutbox_on'] && $shoutbox != "off" && !$shoutbox_banned_view ) if ( $shoutbox_config['allow_guest'] || $shoutbox_config['allow_guest_view'] || $userdata['session_logged_in'] )
{
	function get_shout_msg()
	{
		global $db;
		$sql = "SELECT COUNT(id) AS total
			FROM " . SHOUTBOX_TABLE . "";
		if ( !($result = $db->sql_query($sql)) )
		{ message_die(GENERAL_ERROR, 'Could not query shoutbox count messages', '', __LINE__, __FILE__, $sql); }
		$row = $db->sql_fetchrow($result);
		return $row['total'];
	}

	$msg_count = get_shout_msg();
	$number = $shoutbox_config['count_msg'];
	$start = $msg_count - $number;
	if ( $msg_count < $number ) $start = 0;
	$sql = "SELECT id, sb_user_id, msg, timestamp, sb_username
		FROM " . SHOUTBOX_TABLE . "
		ORDER by timestamp LIMIT $start, $number";
	if( !($result = $db->sql_query($sql)) )
	{ message_die(GENERAL_ERROR, 'Could not query shoutbox messages', '', __LINE__, __FILE__, $sql); }

	if ( $row = $db->sql_fetchrow($result) )
	{
		$i = 0;
		do
		{
			$name_id = $row['sb_user_id'];
			$username = $row['sb_username'];
			$username = stripslashes(htmlspecialchars(trim($username)));

			if ( $shoutbox_config['links_names'] ) $name = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&u=$name_id") . '" target="_blank" class="gensmall" title="' . $lang['Read_profile'] . '">' . $username . '</a>';
			else $name = $username;

			if ( $username == Anonymous ) $name = '' . $lang['Guest'] . '';

			$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
			$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
			if ( $shoutbox_config['date_on'] ) 
			{
				$make_date = create_date($shoutbox_config['date_format'], $row['timestamp'], $board_config['board_timezone']);
				$date = '[' . $make_date . ']';
			}
			$msg = $row['msg'];
			$msg = htmlspecialchars(trim($msg));

			if ( $shoutbox_config['allow_smilies'] )
			{
				$msg = smilies_pass($msg);
				$msg = preg_replace('/images\/smiles/', 'images/smiles', $msg);
			}

			if ( $shoutbox_config['make_links'] ) $msg = make_clickable($msg);
			if ( $shoutbox_config['allow_bbcode'] )
			{
				$msg = str_replace("[/i]","</i>",$msg); $msg = str_replace("[i]","<i>",$msg);
				$msg = str_replace("[/b]","</b>",$msg); $msg = str_replace("[b]","<b>",$msg);
				$msg = str_replace("[/u]","</u>",$msg); $msg = str_replace("[u]","<u>",$msg);
			}
			else
			{
				$msg = str_replace("[/i]","",$msg); $msg = str_replace("[i]","",$msg);
				$msg = str_replace("[/b]","",$msg); $msg = str_replace("[b]","",$msg);
				$msg = str_replace("[/u]","",$msg); $msg = str_replace("[u]","",$msg);
			}

			$id = $row['id'];
			if ( $shoutbox_config['allow_edit_all'] && $username != Anonymous && $sb_user_id == $name_id ) $aedit = 1; else $aedit = 0;
			if ( $shoutbox_config['allow_delete_all'] && $username != Anonymous && $sb_user_id == $name_id ) $adel = 1; else $adel = 0;
			if ( $shoutbox_config['allow_edit'] ) if ( $userdata['user_level'] == MOD || $userdata['user_level'] == ADMIN ) $aedit = 1;
			if ( $shoutbox_config['allow_delete'] ) if ( $userdata['user_level'] == MOD || $userdata['user_level'] == ADMIN ) $adel = 1;
			if ( $adel )
			{
				$temp_url = append_sid("shoutbox_view.$phpEx?mode=delete&id=$id&del_sb_id=$sb_user_id");
				$delmsg = '<a href="' . $temp_url . '" class="mainmenu" title="' . $lang['Delete_message'] . '"><b>X</b></a>';
			}
			else
			{
				$delmsg = '';
			}
			if ( $aedit )
			{
				$date_edit = $row['timestamp'];
				$name_edit = $row['sb_username'];
				$clean_msg = $row['msg'];
				$temp_url_e = append_sid("shoutbox_view.$phpEx?mode=edit&id=$id&name_id=$name_id&date_edit=$date_edit&name_edit=$name_edit&clean_msg=$clean_msg");
				$editmsg = '<a href="' . $temp_url_e . '" class="mainmenu" title=" ' .$lang['Edit_pm'] . '"><b>E</b></a>';
			}
			else
			{
				$editmsg = '';
			}

			$template->assign_block_vars('shoutrow', array(
				'DELMSG' => $delmsg,
				'EDITMSG' => $editmsg,
				'ROW_CLASS' => $row_class,
				'NAME' => $name,
				'DATE' => $date,
				'MSG' => $msg
				)
			);

			$i++;
		}
		while ( $row = $db->sql_fetchrow($result) );
	}
}

$template->assign_vars(array( 
'S_CONTENT_ENCODING' => $lang['ENCODING']) 
);

$template->pparse('body');

?>

Geplaatst: 16 mar 2004, 21:24
door WebSiteNet
VIND:

Code: Selecteer alles

   $sql = "SELECT id, sb_user_id, msg, timestamp, sb_username 
      FROM " . SHOUTBOX_TABLE . " 
      ORDER by timestamp LIMIT $start, $number"; 
Vervang met:
$sql = "SELECT id, sb_user_id, msg, timestamp, sb_username
FROM " . SHOUTBOX_TABLE . "
ORDER by timestamp DESC LIMIT $start, $number";
Als het niet werkt moet je DESC vervangen met ASC.

Geplaatst: 16 mar 2004, 21:36
door Inward

Code: Selecteer alles

$sql = "SELECT id, sb_user_id, msg, timestamp, sb_username 
FROM " . SHOUTBOX_TABLE . " 
ORDER by timestamp DESC LIMIT $start, $number"; 
Werkt perfect :D

Dank u

Geplaatst: 12 apr 2004, 19:06
door bevoc
Ik heb een probleempje na het installeren van de Small ShoutBox

ik krijg:

Code: Selecteer alles

phpBB : Critical Error 

Could not query database for theme info

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near '' at line 3 

Geplaatst: 12 apr 2004, 19:26
door sukkelaap
je ebnt vast vergeten de Sql uit te voeren

Geplaatst: 12 apr 2004, 19:30
door bevoc
ja klopt maar hoe moet ik ''run as forum admin: db_install.php'' dit doen

Geplaatst: 12 apr 2004, 19:32
door DaMnNaTiOn
Gewoon als admin inloggen, db_update.php uploaden en die openen in je browser.

Geplaatst: 12 apr 2004, 19:33
door bevoc
euhm ja maar ik kom niet meer in mn forum als ik naar mn forum ga krijg ik nog steeds

Code: Selecteer alles

phpBB : Critical Error 

Could not query database for theme info

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near '' at line 3 
Ook als ik naar phpBB2/db_install.php ga om m te runnen

Geplaatst: 13 apr 2004, 15:15
door Inward
ga is naar PhpMyAdim (of zo iets dergelijks)
en voor dat het volgende uit:

Code: Selecteer alles

CREATE TABLE phpbb_shoutbox (
  id int(11) NOT NULL auto_increment,
  sb_user_id int(11) NOT NULL,
  msg varchar(255) NOT NULL,
  timestamp int(10) unsigned NOT NULL,
  sb_username varchar(255) NOT NULL,
  PRIMARY KEY (id)
);

CREATE TABLE phpbb_shoutbox_config ( 
    config_name varchar(255) NOT NULL, 
    config_value varchar(255) NOT NULL, 
    PRIMARY KEY (config_name)
);

INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('allow_guest_view','1');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('allow_guest','0');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('allow_delete_all','0');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('allow_delete','0');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('allow_edit_all','0');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('allow_edit','0');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('allow_bbcode','1');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('allow_smilies','1');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('links_names','1');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('make_links','1');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('count_msg','100');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('delete_days','30');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('text_lenght','500');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('word_lenght','90');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('date_format','D G:i');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('date_on','1');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('shoutbox_on','1');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('shout_width','630');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('shout_height','130');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('banned_user_id','');
INSERT INTO phpbb_shoutbox_config (config_name, config_value) VALUES ('banned_user_id_view','');

Geplaatst: 13 apr 2004, 16:34
door bevoc
ja sorry het werkt alweer ik was vergeten bij mn thema het adres van het thema te veranderen
edit: Waar kan ik die berichtenbalk op jou forum (inward) trouwens vinden?