[aanvraag] reset waarschuwingen na auto ban..

Hulp nodig bij een modificaties of op zoek naar een MOD?
Forumregels

LEES: Richtlijnen voor Support. Vul de support template in!
phpBB3.0.x
Verschaf iemand geen servertoegang tenzij het niet anders kan. Maak altijd eerst een volledige backup en verander de inloggevens na afloop. Eigen risico.
Plaats reactie
Gebruikersavatar
heliumblazer
Berichten: 48
Lid geworden op: 14 feb 2009, 14:38

[aanvraag] reset waarschuwingen na auto ban..

Bericht door heliumblazer » 21 nov 2009, 16:05

  • Modificatie & Versie: http://www.phpbb.com/community/viewtopi ... 9&t=597284
    Directe link naar de modificatie: http://www.phpbb.com/community/viewtopi ... 9&t=597284
    Adres van je forum: http://schoolkrant.pretpark-online.nl
    phpBB versie: 3.0.5
    Heb je onlangs een andere modificatie of stijl geïnstalleerd?
    nee, alleen wat bbcodes

    Wat is het probleem?
    beste,
    ik heb nu een mod geinstalleerd 'ban users by x warnings'.
    nu word na 5 waarschuwingen de gebruiker verbannen en in de verbannen groep gezet, maar de waarschuwingen blijven.
    is het mogelijk om als de ban voorbij is, dat op die dag en tijdstip de waarschuwingen op 3 word gezet?
    of bestaat daar al een mod voor?
    mag ook op 0, maar liever 3.

    ik hoop dat die bestaat, of dat iemand hem zo willen maken.

    heliumblazer

Gebruikersavatar
Jeroen
Berichten: 3639
Lid geworden op: 10 mei 2008, 21:22

Re: [aanvraag] reset waarschuwingen na auto ban..

Bericht door Jeroen » 22 nov 2009, 11:44

Voor zover ik weet bestaat hier geen MOD voor.
Ook op phpBB.com is niets gerelateerds te vinden.
Jeroen

Gebruikersavatar
heliumblazer
Berichten: 48
Lid geworden op: 14 feb 2009, 14:38

Re: [aanvraag] reset waarschuwingen na auto ban..

Bericht door heliumblazer » 23 nov 2009, 15:45

zou ook niemand hem willen maken?
ik ben er niet heel goed in, maar het lijkt me niet echt moeilijk.
enkel iets bij die autogroup mod te plaatsen, dat als ie weer in de geregistreerde gebruikers komt, er 2 waarschuwingen af gaan.
hoop dat iemand het kan met deze mods:
http://www.phpbb.com/community/viewtopi ... &t=1669345
http://www.phpbb.com/community/viewtopi ... 0&t=749805

bedankt als iemand er na wil kijken!

heliumblazer

Gebruikersavatar
Jeroen
Berichten: 3639
Lid geworden op: 10 mei 2008, 21:22

Re: [aanvraag] reset waarschuwingen na auto ban..

Bericht door Jeroen » 23 nov 2009, 15:47

Je zou een aanvraag kunnen plaatsen in het Gevraagd forum hier op phpBB.nl. Misschien is iemand bereid het voor je te doen :)
Jeroen

Gebruikersavatar
heliumblazer
Berichten: 48
Lid geworden op: 14 feb 2009, 14:38

Re: [aanvraag] reset waarschuwingen na auto ban..

Bericht door heliumblazer » 23 nov 2009, 17:41

ben zelf al aan 't expermimenteren, maar heb nu dit:

Code: Selecteer alles

mysql_query("UPDATE phpbb_users SET user_warnings=user_warnings-2 WHERE username = '{$user_row['username']}'");
maar, ik krijg dan errors, dat er geen mySQL verbinding is.
aan jullie de vraag, hoe update ik met php in phpbb de phpbb_users tabel, en zet ik user_warnings - 2?

heliumblazer

Gebruikersavatar
heliumblazer
Berichten: 48
Lid geworden op: 14 feb 2009, 14:38

Re: [aanvraag] reset waarschuwingen na auto ban..

Bericht door heliumblazer » 24 nov 2009, 12:17

weet niemand hoe je een mysql query doet in phpbb?

heliumblazer

Gebruikersavatar
Kevin
Berichten: 1684
Lid geworden op: 06 nov 2007, 17:22
Locatie: Brabants schoon
Contacteer:

Re: [aanvraag] reset waarschuwingen na auto ban..

Bericht door Kevin » 24 nov 2009, 13:15

Inloggen in phpmyadmin of wat er dan ook gebruikt voor de database. Dan kan je vinden in het hostingpaneel van je website. Daar zie je de database van je forum staan als het goed is, die open je en klik je op het tabblad sql. Daar plak je die qeury en druk op start.
Afbeelding
ForumHulp.nl kan u helpen met: Technisch onderhoud, Extensies installaties/aanpassingen en Webdesign.

Teammember op Afbeelding phpBBservice.nl Afbeelding , Winnaar in de phpBB awards 2009, 2010 en 2012 met AquaforA

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Re: [aanvraag] reset waarschuwingen na auto ban..

Bericht door Paul » 24 nov 2009, 13:38

@kevin1979, snap je überhaupt wel wat hij vraagt?

Dit kan met

Code: Selecteer alles

$db->sql_query($sql);
waarbij $sql de te draaien query is.

Gebruikersavatar
heliumblazer
Berichten: 48
Lid geworden op: 14 feb 2009, 14:38

Re: [aanvraag] reset waarschuwingen na auto ban..

Bericht door heliumblazer » 24 nov 2009, 15:19

edit:
het werkt allemaal niet..
het moet werken met dit script:

Code: Selecteer alles

<?php
/**
*
* @package phpBB3
* @version $Id: prime_ban_to_group.php,v 1.0.1 2009/07/29 22:06:00 primehalo Exp $
* @copyright (c) 2008-2009 Ken F. Innes IV
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* Make sure this file has not already been included.
*/
if (!defined('PRIME_BAN_TO_GROUP'))
{
	define('PRIME_BAN_TO_GROUP', true);
	define('BANNED_GROUP_NAME', 'Verbannen');		// Group name for permanently banned users
	define('SUSPENDED_GROUP_NAME', 'Verbannen');	// Group name for temporarily banned users

	class prime_ban_to_group
	{
		/**
		* Constructor
		*/
		function prime_ban_to_group($ids = null, $ban_len = 0, $mode = '')
		{
			$this->ban_to_group($ids, $ban_len, $mode);
		}

		/**
		*/
		function ban_to_group($ids = null, $ban_len = 0, $mode = '')
		{
			if ($mode == 'user' || $mode == 'email' || $mode == '')
			{
				if (is_int($ban_len))
				{
					$this->group_users_add(($ban_len ? SUSPENDED_GROUP_NAME : BANNED_GROUP_NAME), $ids);
				}
				else if ($ban_len == 'unban')
				{
					global $db;
					if (empty($ids) || $mode === '') // remove stale bans
					{
						$sql = 'SELECT u.user_id, u.username, b.ban_end'
							 . '	FROM ' . USERS_TABLE . ' u, ' . BANLIST_TABLE . ' b'
							 . '	WHERE ban_end < ' . time()
							 . '		AND ban_end <> 0'
							 . '		AND u.user_type <> ' . USER_IGNORE
							 . '		AND ((u.user_email <> \'\' AND u.user_email = b.ban_email) OR u.user_id = b.ban_userid)';
					}
					else
					{
						$sql = 'SELECT u.user_id, u.username, b.ban_end'
							 . '	FROM ' . USERS_TABLE . ' u, ' . BANLIST_TABLE . ' b'
							 . '	WHERE ' . $db->sql_in_set('b.ban_id', $ids)
							 . '		AND ' . ($mode == 'email' ? 'u.user_email = b.ban_email' : 'u.user_id = b.ban_userid');
					}
					$result = $db->sql_query($sql);
					$ids = array();
					while ($row = $db->sql_fetchrow($result))
					{
						$type = $row['ban_end'] ? SUSPENDED_GROUP_NAME : BANNED_GROUP_NAME;
						$ids[$type][] = $row['user_id'];
						$names[$type][] = $row['username'];
					}
					$db->sql_freeresult($result);
					foreach ($ids as $group_name => $user_ids)
					{
						$this->group_users_del($group_name, $user_ids, $names[$group_name]);
					}
				}
			}
		}

		/**
		*/
		function get_group_data($group_name)
		{
			global $db;

			$sql = 'SELECT * '
			     . ' FROM ' . GROUPS_TABLE . ' '
			     . " WHERE group_name='" . $group_name . "'"
			;
			$result = $db->sql_query($sql);
			$group_data = $db->sql_fetchrow($result);
			$db->sql_freeresult($result);

			return ($group_data);
		}

		/**
		*/
		function group_users_add($group_name, $user_ids, $usernames = false)
		{
			$group_data	= $this->get_group_data($group_name);
			$group_id	= isset($group_data['group_id']) ? $group_data['group_id'] : null;
			if (!empty($group_id) && function_exists('group_user_add'))
			{
				group_user_add($group_id, $user_ids, $usernames, $group_name, true, 0, 0, $group_data);
			}
			return(false);
		}

		/**
		*/
		function group_users_del($group_name, $user_ids, $usernames = false)
		{
			global $db;
			$group_data	= $this->get_group_data($group_name);
			$group_id	= isset($group_data['group_id']) ? $group_data['group_id'] : null;
			if (!empty($group_id) && function_exists('group_user_del'))
			{
				// Get users belonging to the group from which we want them removed (only needed so prevent log entries for removing users that don't even belong to the group)
				$sql = 'SELECT user_id'
				     . ' FROM ' . USER_GROUP_TABLE
				     . ' WHERE group_id = ' . $group_id
				     . ' 	AND ' . $db->sql_in_set('user_id', (array)$user_ids)
				;
				$result = $db->sql_query($sql);
				$user_ids = array(); // clear out the user_ids array
				while ($row = $db->sql_fetchrow($result))
				{
					$user_ids[] = $row['user_id'];
				}
				$db->sql_freeresult($result);
				if (!empty($user_ids))
				{
					remove_default_rank($group_id, $user_ids);
					group_user_del($group_id, $user_ids, $usernames, $group_name, 0, 0, $group_data);
					$sql = "UPDATE phpbb_users SET user_warnings=user_warnings-2 WHERE username = '{$user->data['username']}'";
					$db->sql_query($sql);
				}
			}
			return(false);
		}
	}
}
?>
onderaan staat dit:

Code: Selecteer alles

               $sql = "UPDATE phpbb_users SET user_warnings=user_warnings-2 WHERE username = '{$user->data['username']}'";
               $db->sql_query($sql);
en dat is het nu, maar het moet dus werken, dat de user die verbannen is er 2 waarschuwingen af krijgt.
moet ik dan $usernames gebruiken?
ik weet het niet meer...
de verbannen user moet er twee waarschuwingen af krijgen, als hij naar die andere groep word verplaatst.
alleen welke variabele moet ik dan gebruiken?

heliumblazer

Plaats reactie