Pagina 4 van 6

Geplaatst: 13 aug 2005, 14:57
door raymondvlieland
is hij compitable met yellow card mod of heeft hij niks met deze te maken

Geplaatst: 13 aug 2005, 15:00
door Paul
Yellow card moet toch iets wijzigen in admin_user_ban.php? Dan is hij zonder aanpassing mogelijk niet bruikbaar. Maar dat moet ik nakijken.

Geplaatst: 13 aug 2005, 15:02
door raymondvlieland
paulus schreef:Yellow card moet toch iets wijzigen in admin_user_ban.php? Dan is hij zonder aanpassing mogelijk niet bruikbaar. Maar dat moet ik nakijken.
ja heb net de install gecheckt :wink:

Geplaatst: 13 aug 2005, 15:07
door Paul
Kan je me install voor admin_user_ban.php eens geven?

Geplaatst: 13 aug 2005, 15:30
door raymondvlieland

Code: Selecteer alles

# 
#-----[ OPEN ]------------------------------------------------ 
# 
admin/admin_user_ban.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
message_die(GENERAL_ERROR, "Couldn't insert ban_userid
}

# 
#-----[ AFTER, ADD ]----------------------------------------- 
#
	$sql = "UPDATE " . USERS_TABLE . " 
	   SET user_warnings=".$board_config['max_user_bancard']." 
	   WHERE user_id=".$user_list[$i]; 
	if ( !$db->sql_query($sql) ) 
	{ 
	     message_die(GENERAL_ERROR, "Couldn't update users warnings info".$sql, "", __LINE__, __FILE__, $sql); 
	}


# 
#-----[ FIND ]------------------------------------------------ 
# 
}

if ( isset($HTTP_POST_VARS['unban_ip']) )

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
#
if (! empty($where_sql))
{
	$sql = "SELECT ban_userid FROM ".BANLIST_TABLE." 
	   WHERE ban_id IN ($where_sql)"; 
	if ( !($result = $db->sql_query($sql) )) 
	{ 
	   message_die(GENERAL_ERROR, "Couldn't get user warnings info from database".$sql, "", __LINE__, __FILE__, $sql); 
	} 
	while ($user_id_list = $db->sql_fetchrow($result)) 
	{ 
	   $where_user_sql .= ( ( $where_user_sql != '' ) ? ', ' : '' ) . $user_id_list['ban_userid']; 
	} 
	$sql = "UPDATE " . USERS_TABLE . " 
	   SET user_warnings='0' 
	   WHERE user_id IN ($where_user_sql)"; 
	if ( !$db->sql_query($sql) ) 
	{ 
	     message_die(GENERAL_ERROR, "Couldn't update user warnings info from database".$sql, "", __LINE__, __FILE__, $sql); 
	}
}
Codetags zijn handig en overzichtelijk! --bee

Geplaatst: 13 aug 2005, 15:40
door Paul
Dat moet inderdaad aangepast worden. Ik kan nu helaas niet bij me bestanden, ik moet er morgen even naar kijken :)

Geplaatst: 13 aug 2005, 15:48
door ik ben gek
nee he? morgen of overmorgen weer opnieuw downloaden
ben blij dat ik hem nog niet geinstaleerd heb :P

Geplaatst: 13 aug 2005, 15:54
door Paul
Dat komt niet in die mod zelf, dat moet je doen als je de yellow card hebt geinstalleerd :)

Geplaatst: 13 aug 2005, 16:36
door ik ben gek
oh oke

Geplaatst: 13 aug 2005, 18:55
door Paul
Nieuwe versie:
  • Versie checker toegevoegd.
  • Permanente ban toegevoegd.
  • Bot support(Zie topic in disussie) toegevoegd.
Wat komt er in de volgende versie?
  • Pagination.
  • Ban list(Voor users)
  • Bruikbaar met modcp
  • Multi ban delete
Wat is er nodig om gebruik te maken van bot support?
Hiervoor is allow_url_fopen nodig, omdat er een bestand vanaf mijn site wordt gedownload. Wanneer dit niet aanwezig is, werkt dat onderdeel niet.

Wanneer je wilt updaten:
Vervang de 2 bestanden, en zet het volgende in lang_admin.php erbij:

Code: Selecteer alles

$lang['not_checked_ban'] = 'The banmanager version is not checked. You use version %s. See also <a href="%s">this</a> thread.';
$lang['ok_check_ban'] = 'Your version(%s) is uptodate. <a href="%s">See also this thread!</a>';
$lang['not_ok_check_ban'] = 'Your version(%s) isNOT uptodate. The newest version is %s. <a href="%s">See also this thread!</a>';
$lang['ban_error_check'] = 'There has been a error while I trying to check your version(ERROR: %s)';
$lang['ban_bots'] = 'Add some bots that can spam at your site.';
$lang['ban_reason_bots'] = 'Auto bot ban, by paulscripts.nl';
$lang['bans_added'] = 'There are %s bans automaticly added.';
$lang['perm_ban'] = 'Ban this user permanent!';
De nederlandse vertaling die hierboven is gegevens, heeft deze nog niet. Ik zal morgen in de loop van de dag ook die updaten.

Geplaatst: 13 aug 2005, 20:07
door ElbertF
Automatische "verbannen"-rang zou ook een mooie toevoeging zijn.

Geplaatst: 13 aug 2005, 20:09
door Paul
Spambot schreef:Automatische "verbannen"-rang zou ook een mooie toevoeging zijn.
Dat doet mosymuis mod, waarvoor op de vorige pagina al een aanpassing staat om hem te laten werken. Maar zal is kijken of het er wil :P(Als het zin heeft wel, anders niet, hij moet wel zelf willen :lol: )

Geplaatst: 14 aug 2005, 06:47
door ik ben gek
nog even w8ten dus :P

Geplaatst: 14 aug 2005, 13:29
door Paul
Nieuwe versie:
NIEUW:
  • Banlist
  • Multi delete bans
  • Pagination
  • Bugfix voor version checker
  • Lang nu eigen file.
Wat komt er in de volgende versie?
  • Ban rank(Spambot manier :P)
  • Apart overicht voor elke ban, zodat de tabel kleiner wordt.
Wat vereist deze mod?
Deze mod vereist voor het bot deel allow_url_fopen. Dit omdat er een file vanaf mijn host dient gedownload te worden. (Dit wordt mogelijk in de volgende versie aangepast).
Tevens vereist het voor de browser van de admin dat deze javascript ondersteund, omdat een groot deel met javascript gebeurt.

Zijn er al vertalingen?
Nee, die zijn er momenteel nog niet. De lang_dutch die eerder was gepost, is niet meer te gebruiken vanaf versie 0.0.6. later deze week zal er een nieuwe lang_Dutch komen.

Wanneer komt er weer een nieuwe versie?
Wanneer ik zin heb, en wanneer er genoeg nieuwe dingen zijn, of zeer ernstige bugfixes.

Waar kan ik deze mod downloaden?
Dat kan hier: http://sourceforge.net/project/showfile ... _id=160312 (Versie 0.0.7).

EDIT:
Klein ding vergeten :P

Is het verplicht om de banlist ook erop te hebben?
Nee, dit is NIET verplicht, en is een los bestand. Je kan dit bestand gewoon weglaten.

Geplaatst: 14 aug 2005, 14:30
door ik ben gek
waarom zity het losse bestand er dan bij?

Geplaatst: 17 aug 2005, 00:21
door Rich
Warning: file(): URL file-access is disabled in the server configuration in /home/wereldcenter.nl/forum/admin/admin_user_ban.php on line 167

Warning: file(http://www.paulscripts.nl/bots/bots.txt): failed to open stream: no suitable wrapper could be found in /home/wereldcenter.nl/forum/admin/admin_user_ban.php on line 167

Warning: Invalid argument supplied for foreach() in /home/wereldcenter.nl/forum/admin/admin_user_ban.php on line 169

Code: Selecteer alles

//
// Start program
//
if(isset($HTTP_GET_VARS['act']) || isset($HTTP_POST_VARS['delmulti']))
{
	if(isset($HTTP_GET_VARS['act'])){
		$mode = $HTTP_GET_VARS['act'];
	}else{
		$mode = 'delmulti';
	}
	switch($HTTP_GET_VARS['act']){
		case 'delmulti':
			$list = $HTTP_POST_VARS['deletelist'];
			$where_sql = '';
			for($i=0;$i<count($list);$i++){
				$where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . $list[$i]; 
			}
			$sql = "DELETE FROM " . BANLIST_TABLE . " WHERE ban_id IN ($where_sql)";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not delete old ban.', '', __LINE__, __FILE__, $sql);
			}
			$message = $lang['Ban_update_sucessful'] . '<br /><br />' . sprintf($lang['Click_return_banadmin'], '<a href="' . append_sid("admin_user_ban.$phpEx",true) . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right",true) . '">', '</a>');
		
			message_die(GENERAL_MESSAGE, $message);		
		break;
		case 'bots':
			set_time_limit(180);
			$ip_list = file('http://www.paulscripts.nl/bots/bots.txt');
			$tot = 0;
			foreach($ip_list as $ip) 
			{
				$ip = encode_ip($ip);
				$sql = "SELECT * FROM ".BANLIST_TABLE." WHERE ban_ip = '$ip'";
				$r = $db->sql_query($sql);
				if(!$r)
				{
					message_die(GENERAL_ERROR,"Could not get IP.","",__LINE__,__FILE__,$sql);
				}
				if(!$db->sql_numrows($r))
				{	
					$tot++;
					$sql = "INSERT INTO " . BANLIST_TABLE . " (ban_ip,reason,reason_private,time,by_id,ban_cookie)
					VALUES ('" . $ip . "','".$lang['ban_reason_bots']."','".$lang['ban_reason_bots']."',0,".$userdata['user_id'].",1)";
					if ( !$db->sql_query($sql) )
					{
						message_die(GENERAL_ERROR,"Could not insert IP.","",__LINE__,__FILE__,$sql);
					}
				}
			}
			message_die(GENERAL_ERROR,sprintf($lang['bans_added'],$tot));
		break;
		case 'view':
			$id = htmlspecialchars($HTTP_GET_VARS['id']);
			$sql = "SELECT b.ban_ip,b.ban_email,b.ban_userid,u.username,b.reason,b.time
			FROM " . BANLIST_TABLE . " b, ".USERS_TABLE." u
			WHERE ban_id = $id AND 
			IF (b.ban_userid <> 0, u.user_id = b.ban_userid,u.user_id = -1)";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not query view ban.', '', __LINE__, __FILE__, $sql);
			}			
			$ban = $db->sql_fetchrow($result);
			$ban['ban_ip'] = decode_ip($ban['ban_ip']);
			$bans = $lang['You_been_banned']."<br />";
			if(!empty($ban['ban_ip']) && $ban['ban_ip'] != '0.0.0.0'){
				$bans .= sprintf($lang['banned_ip'],$ban['ban_ip'])."<br />";
			}
			if(!empty($ban['ban_userid'])){
				$bans .= sprintf($lang['banned_user'],$ban['username'])."<br />";
			}
			if(!empty($ban['ban_email'])){
				$bans .= sprintf($lang['banned_email'],$ban['ban_email'])."<br />";
			}
			if(!empty($ban['reason'])){
				$bans .= sprintf($lang['ban_reason'],nl2br($ban['reason']))."<br />";
			}
			if($ban['time'] == 0){
				$bans .= $lang['perma_ban'];
			}else{
				$bans .= sprintf($lang['ban_untill'],create_date($board_config['default_dateformat'], $ban['time'], $board_config['board_timezone']));
			}
			$bans .= "<br />";
			message_die(CRITICAL_MESSAGE,$bans);
		break;
		case 'delete':
			$id = htmlspecialchars($HTTP_GET_VARS['id']);
			$sql = "DELETE FROM " . BANLIST_TABLE . " WHERE ban_id = '$id' LIMIT 1";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not delete old ban.', '', __LINE__, __FILE__, $sql);
			}
			$message = $lang['Ban_update_sucessful'] . '<br /><br />' . sprintf($lang['Click_return_banadmin'], '<a href="' . append_sid("admin_user_ban.$phpEx",true) . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right",true) . '">', '</a>');
		
			message_die(GENERAL_MESSAGE, $message);		
		break;
		case 'edit':
			$id = htmlspecialchars($HTTP_GET_VARS['id']);
			//I delete this, and Insert it new.
			$sql = "DELETE FROM " . BANLIST_TABLE . " WHERE ban_id = '$id' LIMIT 1";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not delete old ban.', '', __LINE__, __FILE__, $sql);
			}
			//No break, because we post a new ban!		
		case 'new':
			//This part is from the orignal admin_user_ban.$phpEx, and modified!
			//The delete section is deleted, because we have a own functie for it!
			$user_bansql = '';
			$email_bansql = '';
			$ip_bansql = '';
		
			$user_list = array();
			if ( !empty($HTTP_POST_VARS['username']) )
			{	
				//It is possible that there is no , I will check it.
				if(eregi(",",$HTTP_POST_VARS['username'])){
					$row = explode(",",$HTTP_POST_VARS['username']);
				}else{
					$row = array();
					$row[]  = $HTTP_POST_VARS['username'];
				}
				for($i = 0;$i<count($row);$i++){
					$this_userdata = get_userdata($row[$i], true);
					if( !$this_userdata )
					{
						message_die(GENERAL_MESSAGE, $lang['No_user_id_specified'] );
					}
			
					$user_list[] = $this_userdata['user_id'];
				}
			}
		
			$ip_list = array();
			if ( isset($HTTP_POST_VARS['ban_ip']) )
			{
				$ip_list_temp = explode(',', $HTTP_POST_VARS['ban_ip']);
		
				for($i = 0; $i < count($ip_list_temp); $i++)
				{
					if ( preg_match('/^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})[ ]*\-[ ]*([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/', trim($ip_list_temp[$i]), $ip_range_explode) )
					{
						//
						// Don't ask about all this, just don't ask ... !
						//
						$ip_1_counter = $ip_range_explode[1];
						$ip_1_end = $ip_range_explode[5];
		
						while ( $ip_1_counter <= $ip_1_end )
						{
							$ip_2_counter = ( $ip_1_counter == $ip_range_explode[1] ) ? $ip_range_explode[2] : 0;
							$ip_2_end = ( $ip_1_counter < $ip_1_end ) ? 254 : $ip_range_explode[6];
		
							if ( $ip_2_counter == 0 && $ip_2_end == 254 )
							{
								$ip_2_counter = 255;
								$ip_2_fragment = 255;
		
								$ip_list[] = encode_ip("$ip_1_counter.255.255.255");
							}
		
							while ( $ip_2_counter <= $ip_2_end )
							{
								$ip_3_counter = ( $ip_2_counter == $ip_range_explode[2] && $ip_1_counter == $ip_range_explode[1] ) ? $ip_range_explode[3] : 0;
								$ip_3_end = ( $ip_2_counter < $ip_2_end || $ip_1_counter < $ip_1_end ) ? 254 : $ip_range_explode[7];
		
								if ( $ip_3_counter == 0 && $ip_3_end == 254 )
								{
									$ip_3_counter = 255;
									$ip_3_fragment = 255;
		
									$ip_list[] = encode_ip("$ip_1_counter.$ip_2_counter.255.255");
								}
		
								while ( $ip_3_counter <= $ip_3_end )
								{
									$ip_4_counter = ( $ip_3_counter == $ip_range_explode[3] && $ip_2_counter == $ip_range_explode[2] && $ip_1_counter == $ip_range_explode[1] ) ? $ip_range_explode[4] : 0;
									$ip_4_end = ( $ip_3_counter < $ip_3_end || $ip_2_counter < $ip_2_end ) ? 254 : $ip_range_explode[8];
		
									if ( $ip_4_counter == 0 && $ip_4_end == 254 )
									{
										$ip_4_counter = 255;
										$ip_4_fragment = 255;
		
										$ip_list[] = encode_ip("$ip_1_counter.$ip_2_counter.$ip_3_counter.255");
									}
		
									while ( $ip_4_counter <= $ip_4_end )
									{
										$ip_list[] = encode_ip("$ip_1_counter.$ip_2_counter.$ip_3_counter.$ip_4_counter");
										$ip_4_counter++;
									}
									$ip_3_counter++;
								}
								$ip_2_counter++;
							}
							$ip_1_counter++;
						}
					}

Geplaatst: 17 aug 2005, 09:17
door Paul
Vorige pagina, bericht met voorwaarde wat je moet hebben, staat allow_url_fopen bij, en dat heb jij niet op jouw server, dus kan je van dat onderdeel geen gebruik maken ;)

Geplaatst: 17 aug 2005, 17:54
door Rich
paulus schreef:Vorige pagina, bericht met voorwaarde wat je moet hebben, staat allow_url_fopen bij, en dat heb jij niet op jouw server, dus kan je van dat onderdeel geen gebruik maken ;)
hoe krijg ik dat

Geplaatst: 17 aug 2005, 18:40
door Paul
Hoe krijg je wat? :roll:

Geplaatst: 17 aug 2005, 18:44
door Rich
paulus schreef:Hoe krijg je wat? :roll:
allow_url_fopen