applications/dashboard/models/class.banmodel.php
public function ApplyBan($NewBan = NULL, $OldBan = NULL) {
      if (!$NewBan && !$OldBan)
         return;

      $OldUsers = array();
      $OldUserIDs = array();

      $NewUsers = array();
      $NewUserIDs = array();
      
      $AllBans = $this->AllBans();
      
      if ($NewBan) {
         // Get a list of users affected by the new ban.
         if (isset($NewBan['BanID']))
            $AllBans[$NewBan['BanID']] = $NewBan;

         $NewUsers = $this->SQL
            ->Select('u.UserID, u.Banned')
            ->From('User u')
            ->Where($this->BanWhere($NewBan))
            ->Get()->ResultArray();
         $NewUserIDs = ConsolidateArrayValuesByKey($NewUsers, 'UserID');
      } elseif (isset($OldBan['BanID'])) {
         unset($AllBans[$OldBan['BanID']]);
      }

      if ($OldBan) {
         // Get a list of users affected by the old ban.
         $OldUsers = $this->SQL
            ->Select('u.UserID, u.LastIPAddress, u.Name, u.Email, u.Banned')
            ->From('User u')
            ->Where($this->BanWhere($OldBan))
            ->Get()->ResultArray();
         $OldUserIDs = ConsolidateArrayValuesByKey($OldUsers, 'UserID');
      }

      // Check users that need to be unbanned.
      foreach ($OldUsers as $User) {
         if (in_array($User['UserID'], $NewUserIDs))
            continue;
         // TODO check the user against the other bans.
         $this->SaveUser($User, FALSE);
      }

      // Check users that need to be banned.
      foreach ($NewUsers as $User) {
         if ($User['Banned'])
            continue;
         $this->SaveUser($User, TRUE, $NewBan);
      }
   }
public function ApplyBan($NewBan = NULL, $OldBan = NULL) {
      if (!$NewBan && !$OldBan)
         return;

      $OldUsers = array();
      $OldUserIDs = array();

      $NewUsers = array();
      $NewUserIDs = array();
      
      $AllBans = $this->AllBans();
      
      if ($NewBan) {
         // Get a list of users affected by the new ban.
         if (isset($NewBan['BanID']))
            $AllBans[$NewBan['BanID']] = $NewBan;

         $NewUsers = $this->SQL
            ->Select('u.UserID, u.Banned')
            ->From('User u')
            ->Where($this->BanWhere($NewBan))
            ->Get()->ResultArray();
         $NewUserIDs = ConsolidateArrayValuesByKey($NewUsers, 'UserID');
      } elseif (isset($OldBan['BanID'])) {
         unset($AllBans[$OldBan['BanID']]);
      }

      if ($OldBan) {
         // Get a list of users affected by the old ban.
         $OldUsers = $this->SQL
            ->Select('u.UserID, u.LastIPAddress, u.Name, u.Email, u.Banned')
            ->From('User u')
            ->Where($this->BanWhere($OldBan))
            ->Get()->ResultArray();
         $OldUserIDs = ConsolidateArrayValuesByKey($OldUsers, 'UserID');
      }

      // Check users that need to be unbanned.
      foreach ($OldUsers as $User) {
         if (in_array($User['UserID'], $NewUserIDs))
            continue;
         // TODO check the user against the other bans.
         $this->SaveUser($User, FALSE);
      }

      // Check users that need to be banned.
      foreach ($NewUsers as $User) {
         if ($User['Banned'])
            continue;
         $this->SaveUser($User, TRUE, $NewBan);
      }
   }
public function ApplyBan ( $ NewBan = NULL , $ OldBan = NULL ) { if ( ! $ NewBan && ! $ OldBan ) return ; $ OldUsers = array ( ) ; $ OldUserIDs = array ( ) ; $ NewUsers = array ( ) ; $ NewUserIDs = array ( ) ; $ AllBans = $ this -> AllBans ( ) ; if ( $ NewBan ) { // Get a list of users affected by the new ban. if ( isset ( $ NewBan [ 'BanID' ] ) ) $ AllBans [ $ NewBan [ 'BanID' ] ] = $ NewBan ; $ NewUsers = $ this -> SQL -> Select ( 'u.UserID, u.Banned' ) -> From ( 'User u' ) -> Where ( $ this -> BanWhere ( $ NewBan ) ) -> Get ( ) -> ResultArray ( ) ; $ NewUserIDs = ConsolidateArrayValuesByKey ( $ NewUsers , 'UserID' ) ; } elseif ( isset ( $ OldBan [ 'BanID' ] ) ) { unset ( $ AllBans [ $ OldBan [ 'BanID' ] ] ) ; } if ( $ OldBan ) { // Get a list of users affected by the old ban. $ OldUsers = $ this -> SQL -> Select ( 'u.UserID, u.LastIPAddress, u.Name, u.Email, u.Banned' ) -> From ( 'User u' ) -> Where ( $ this -> BanWhere ( $ OldBan ) ) -> Get ( ) -> ResultArray ( ) ; $ OldUserIDs = ConsolidateArrayValuesByKey ( $ OldUsers , 'UserID' ) ; } // Check users that need to be unbanned. foreach ( $ OldUsers as $ User ) { if ( in_array ( $ User [ 'UserID' ] , $ NewUserIDs ) ) continue ; // TODO check the user against the other bans. $ this -> SaveUser ( $ User , FALSE ) ; } // Check users that need to be banned. foreach ( $ NewUsers as $ User ) { if ( $ User [ 'Banned' ] ) continue ; $ this -> SaveUser ( $ User , TRUE , $ NewBan ) ; } }
Convert bans to new type.

@since 2.0.18
@access public

@param array $NewBan Data about the new ban.
@param array $OldBan Data about the old ban.
Convert bans to new type .