[Addon]pour le mod Carton Jaune et Extended ban manager

In fact this as a Image Image Image Image Red/yellow/Green and blue mod, also known as the ban user / repport post to moderator system

Moderator: Moderators

Forum rules
The content in this forum is dated Dec. 21 2005 and can be used as Archive only. This Forum is LOCKED and READ ONLY !

[Addon]pour le mod Carton Jaune et Extended ban manager

Postby Yoshi001 on Wed 16. Nov, 2005 02:59

Bonjour

Je vous propose un addon perso que j'ai fais pour le mod Carton Jaune
J'ai repris le mod Extended ban manager pour l'integrer avec les carton jaune
Je ne suis pas l'auteur de ces mods et j'ai juste chercher a les regrouper pour faire le mod le plus complet
J'espere que l'auteur de ces mods ne m'en voudra pas de les avoir repris :)

Ca permet d'avoir les bans temporaires ( Image )
J'ai rajouter aussi la posibilite de faire des interditions individulement sur chaque forum ( Image )
Et aussi un tableau qui recapitule les cartons qui on etait distribuer
Plus diverses petites modifs :)



Donc il est necessaire avoir installer le mod Carton Jaune (la derniere version a ce jour) avant ma modif bien sur
Par contre pour Extended ban manager je l'ai modifier et il est comprit dans ma modif pas la peine de l'installer avant

Deja le fichier qui contient les fichiers a rajouter ou remplacer:
http://k20a.free.fr/file/Addon.zip

SQL:
Code: Select all
ALTER TABLE `phpbb_banlist` ADD `reason` TEXT NOT NULL ,
ADD `by_id` INT( 10 ) NOT NULL DEFAULT '-1' ,
ADD `time` INT( 10 ) NOT NULL ,
ADD `ban_cookie` INT(10),
ADD `cookie_id` VARCHAR(64),
ADD `reason_private` TEXT NOT NULL ;
ADD `forum_id` smallint(5) unsigned DEFAULT '0' NOT NULL ;
UPDATE phpbb_banlist SET by_id = '-1' WHERE by_id <= 1;


ouvrir: includes/sessions.php

trouver:
Code: Select all
   $sql = "SELECT ban_ip, ban_userid, ban_email
      FROM " . BANLIST_TABLE . "
      WHERE ban_ip IN ('" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . "', '" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . "ff', '" . $user_ip_parts[1] . $user_ip_parts[2] . "ffff', '" . $user_ip_parts[1] . "ffffff')
         OR ban_userid = $user_id";
   if ( $user_id != ANONYMOUS )
   {
      $sql .= " OR ban_email LIKE '" . str_replace("\'", "''", $userdata['user_email']) . "'
         OR ban_email LIKE '" . substr(str_replace("\'", "''", $userdata['user_email']), strpos(str_replace("\'", "''", $userdata['user_email']), "@")) . "'";
   }
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(CRITICAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql);
   }

   if ( $ban_info = $db->sql_fetchrow($result) )
   {
      if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )
      {
         message_die(CRITICAL_MESSAGE, 'You_been_banned');
      }
   }


ramplacer par:
Code: Select all
//Mod expanded ban maneger, replace sql.
$sql = "SELECT *
      FROM " . BANLIST_TABLE . "
      WHERE ban_ip IN ('" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . "', '" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . "ff', '" . $user_ip_parts[1] . $user_ip_parts[2] . "ffff', '" . $user_ip_parts[1] . "ffffff')
         OR ban_userid = $user_id";
   if ( $user_id != ANONYMOUS )
   {
      $sql .= " OR ban_email LIKE '" . str_replace("\'", "''", $userdata['user_email']) . "'
         OR ban_email LIKE '" . substr(str_replace("\'", "''", $userdata['user_email']), strpos(str_replace("\'", "''", $userdata['user_email']), "@")) . "'";
   }
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(CRITICAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql);
   }

   if($db->sql_numrows($result) != 0)
   {
      global $lang,$phpbb_root_path,$phpEx;
      if ( empty($lang) )
      {
         if ( !empty($board_config['default_lang']) )
         {
            include_once($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.'.$phpEx);
         }
         else
         {
            include_once($phpbb_root_path . 'language/lang_english/lang_main.'.$phpEx);
         }
      }
      $bans = $lang['You_been_banned']."<br />";
      while($ban = $db->sql_fetchrow($result))
      {
         if($ban['time'] < time() AND $ban['time'] != 0)
         {
   $sql = "SELECT ban_userid FROM ".BANLIST_TABLE."
      WHERE ban_id = '".$ban['ban_id']."' LIMIT 1";
   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'];
   }
if($ban['forum_id'] == 0){
   $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);
   }}
            $sql = "DELETE FROM " . BANLIST_TABLE . " WHERE ban_id = '".$ban['ban_id']."' LIMIT 1";
            if ( !($result2 = $db->sql_query($sql)) )
            {
               message_die(CRITICAL_ERROR, 'Could not delete ban information', '', __LINE__, __FILE__, $sql);
            }         
               message_die(CRITICAL_MESSAGE,"La periode de votre ban est finit, vous pouvez vous reconnectez.");
            continue;
         }

         $ban['ban_ip'] = decode_ip($ban['ban_ip']);
         if($ban['ban_cookie'] == 1 && !isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . "_b_a"])){
            //We give the cookie one hour more.
            $exp = $ban['time'] + 3600;
            if($ban['cookie_id'] != '')
            {
               //Make a nice nice md5 string :P
               $ip = md5($ban['ban_ip']);
               $ip2 = md5(encode_ip($ban['ban_ip']));
               $exp2 = md5($exp * (time() + rand(0,time())));
               $tot = $ip . $ip2 . $exp2;
               $tot = md5($tot);
               $sql = "UPDATE ".BANLIST_TALBE." SET cookie_id = '$tot' WHERE ban_id = ".$ban['ban_id']."";
               if(!$db->sql_query($sql))
               {
                  message_die(GENERAL_ERROR,"Could not update cookie_id.","",__LINE__,__FILE__,$sql);
               }
            }
            else
            {
               $tot = $ban['cookie_id'];
            }
            setcookie($board_config['cookie_name'] . "_b_a", $tot, $exp, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);         
         }
         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 />";
if($ban['forum_id'] == 0){
$connec = '1';
}
      }
if($connec == '1')
{
      message_die(CRITICAL_MESSAGE,$bans);   
}
   }
   elseif(isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . "_b_a"]))
   {
      $co = $HTTP_COOKIE_VARS[$board_config['cookie_name'] . "_b_a"];
      if(strlen($co) == 32){
         $co = htmlspecialchars($co);
         $sql = "SELECT * FROM ".BANLIST_TABLE." WHERE cookie_id = '$co'";
         $result = $db->sql_query($sql);
         if(!$result)
         {
            message_die(GENERAL_ERROR,"Could not select cookie ban","",__LINE__,__FILE__,$sql);
         }
         $row = $db->sql_fetchrow($result);
         if($db->sql_numrows($result) == 0)
         {
            $exp = time() + 24 * 60 * 60 * 365;
            setcookie($board_config['cookie_name'] . "_b_a", '', $exp, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
         }
         elseif($row['ban_cookie'] == 0)
         {
            $exp = time() + 24 * 60 * 60 * 365;
            setcookie($board_config['cookie_name'] . "_b_a", '', $exp, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);            
         }
         else
         {
            if($ban['time'] < time())
            {
               $sql = "DELETE FROM " . BANLIST_TABLE . " WHERE ban_id = '".$ban['ban_id']."' LIMIT 1";
               if ( !($result2 = $db->sql_query($sql)) )
               {
                  message_die(CRITICAL_ERROR, 'Could not delete ban information', '', __LINE__, __FILE__, $sql);
               }      
               $exp = time() + 24 * 60 * 60 * 365;
               setcookie($board_config['cookie_name'] . "_b_a", '', $exp, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);               
            }
            $ban['ban_ip'] = decode_ip($ban['ban_ip']);
   
            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);   
         }
      }
   }


ouvrir: language/lang_french/lang_main.php

trouver:

Code: Select all
?>



avant ajouter:
Code: Select all
$lang['banned_ip'] = 'Cet IP %s a été banni.';
$lang['banned_user'] = 'Ce membre %s a été banni.';
$lang['banned_email'] = 'Cet email %s a été banni.';
$lang['ban_reason'] = 'La raison signaler par les administrateurs:<br />%s';
$lang['ban_untill'] = 'Cet interdiction prendra fin le %s.';
$lang['perma_ban'] = 'Cette interdiction est permanente.';


ouvrir: includes/page_tail.php

trouver:
Code: Select all
$admin_link = ( $userdata['user_level'] == ADMIN ) ? '<a href="admin/index.' . $phpEx . '?sid=' . $userdata['session_id'] . '">' . $lang['Admin_panel'] . '</a><br /><br />' : '';


apres ajouter:
Code: Select all
$banlist = ( $userdata['user_level'] == ADMIN OR $userdata['user_level'] == MOD ) ? '<a href="banlist.' . $phpEx .'">' . 'Liste des avertisements' . '</a><br /><br />' : '';


trouver:
Code: Select all
'ADMIN_LINK' => $admin_link)


avant ajouter:
Code: Select all
'BANLIST' => $banlist,


ouvrir: templates/subSilver/overall_footer.tpl

trouver:
Code: Select all
<div align="center"><span class="copyright"><br />{ADMIN_LINK}<br />


remplacer par:
Code: Select all
<div align="center"><span class="copyright"><br />{BANLIST}<br />{ADMIN_LINK}<br />


ouvrir: templates/subSilver/subSilver.cfg

trouver:
Code: Select all
$images['icon_r_card'] = "$current_template_images/icon_rcard.gif";


apres ajouter:
Code: Select all
$images['icon_rycard'] = "$current_template_images/icon_rycard.gif";


ouvrir: posting.php

trouver:
Code: Select all
      message_die(GENERAL_MESSAGE, $lang['Topic_locked']);
   }


apres ajouter:
Code: Select all
else if( $userdata['user_id'] != ANONYMOUS )
{
   $sql = "SELECT COUNT(*) AS banned
      FROM " . BANLIST_TABLE . "
      WHERE ban_userid = {$userdata['user_id']}
   AND forum_id = $forum_id AND ( time = 0 OR time > " . time() . " )";
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql);
   }
   
   if ( $ban_info = $db->sql_fetchrow($result) )
   {
      if ( $ban_info['banned'] )
      {
         message_die(GENERAL_MESSAGE, 'Vous avez été temporairement banni de ce forum');
      }
   }
}


ouvrir: viewtopic.php

trouver:
Code: Select all
$card_img = ($user_warnings) ? (( $user_warnings < $board_config['max_user_bancard']) ? sprintf($lang['Warnings'], $user_warnings) : $lang['Banned'] ) : '';


remplacer:
Code: Select all
if ( $userdata['user_id'] == $poster_id || $is_auth['auth_ban'] )
{
if ( $user_warnings != '99')
{
$card_img = ($user_warnings) ? '<img src="'.(( $user_warnings < $board_config['max_user_bancard']) ?
      $images['icon_y_card'] . '" alt="'. sprintf($lang['Warnings'], $user_warnings) .'">' :
      $images['icon_r_card'] . '" alt="'. $lang['Banned'] .'">') : '';
}
else
{
$card_img = ($user_warnings == '99')  ? '<img src="'.$images['icon_rycard'] . '" alt="'. $lang['Banned'] .'">' : '';
}
}
else
{
$card_img = '';
}

(Les advertisements ne sont vu que par les modos et le membres concerner. Je prefere cette presentation aussi je n'ai pas modifier les 2 autres qui sont proposer dans le mod.)

trouver:
Code: Select all
if ($user_warnings<$board_config['max_user_bancard'] && $is_auth['auth_ban'] )


remplacer par:
Code: Select all
if ($user_warnings<$board_config['max_user_bancard'] && $is_auth['auth_ban'] && $userdata['user_id'] != $poster_id)

(cette modif empeche de s'autobannir)

trouver:
Code: Select all
$r_card_img = ' <input type="image" name="ban" value="ban"  onClick="return confirm(\''.sprintf($lang['Red_card_warning'],$current_user).'\')" src="'. $images['icon_r_card'] . '" alt="' . $lang['Give_R_card'] . '" >';


remplacer par:
Code: Select all
$r_card_img = '';

(suprime le bouton de ban direct que je n'aime pas trop)

Voila en esperant ne pas avoir fait d'oubli :)
Image
Yoshi001
Poster
Poster
 
Posts: 4
Joined: Fri 21. Jan, 2005 23:53

Postby Beeveer on Wed 16. Nov, 2005 23:25

Eh, could be nice, but French :roll:
Nee, ik geef geen antwoorden in het Nederlands, die horen thuis op www.phpbb.nl ;)
User avatar
Beeveer
brilliant supporter
 
Posts: 264
Joined: Tue 30. Nov, 2004 19:13
Location: Boskoop, South-Holland, the Netherlands

Postby Yoshi001 on Thu 17. Nov, 2005 01:53

Beeveer wrote:Eh, could be nice, but French :roll:

Sorry but my english is very bad ;)

This addon add:
-Time Ban
-Section Ban
-Ban manager upgrade
-Ban List and Yellow card List
And more

For translate in english, there is that some texts has to translate
Image
Yoshi001
Poster
Poster
 
Posts: 4
Joined: Fri 21. Jan, 2005 23:53

Postby Holsten on Fri 02. Dec, 2005 18:23

Sorry, I can`t open the addon.zip Folder!

There are a lot of errors!

Can someone unpack addon.zip?
Holsten
Poster
Poster
 
Posts: 9
Joined: Wed 13. Oct, 2004 18:08

Postby Beeveer on Fri 02. Dec, 2005 22:29

Yes, I can...
Nee, ik geef geen antwoorden in het Nederlands, die horen thuis op www.phpbb.nl ;)
User avatar
Beeveer
brilliant supporter
 
Posts: 264
Joined: Tue 30. Nov, 2004 19:13
Location: Boskoop, South-Holland, the Netherlands

Postby paulus on Fri 02. Dec, 2005 22:33

Yoshi001 wrote:
Beeveer wrote:Eh, could be nice, but French :roll:

Sorry but my english is very bad ;)

This addon add:
-Time Ban
-Section Ban
-Ban manager upgrade
-Ban List and Yellow card List
And more

For translate in english, there is that some texts has to translate
Nice that you post my mod here :), but what add it to my mod?
paulus
Poster
Poster
 
Posts: 2
Joined: Tue 19. Apr, 2005 21:03

Postby Holsten on Mon 12. Dec, 2005 15:00

I installed the addon!

Look nice, but I have an Error!

Code: Select all
Couldn't insert ban_userid info into database

DEBUG MODE

SQL Error : 1054 Unknown column 'forum_id' in 'field list'

INSERT INTO phpbb_banlist (ban_userid,reason,reason_private,time,by_id,ban_cookie, forum_id) VALUES (4,'Verstoß gegen die Foren-Regeln!','','1134395617','2',1, -1)

Line : 498
File : admin_user_ban.php


What`s the reason???

Sorry for my bad english! :oops:
Holsten
Poster
Poster
 
Posts: 9
Joined: Wed 13. Oct, 2004 18:08


Return to Yellow card [2.0.6/EM]

Who is online

Users browsing this forum: No registered users and 1 guest

cron