Ignore:
Timestamp:
Aug 28, 2010, 10:20:24 PM (14 years ago)
Author:
Eric
Message:

bug 1434 fixed : Bridge between Register_FluxBB and UAM for users registration control

  • Language files updated (FR and EN are OK. DE is to do)
  • Admin page small refactory
  • Database upgrade process updated for new plugin version
  • Version 2.3.0 hard coded
File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/Register_FluxBB/trunk/main.inc.php

    r6791 r6815  
    22/*
    33Plugin Name: Register FluxBB
    4 Version: 2.2.4
     4Version: 2.3.0
    55Description: Link user registration from Piwigo to FluxBB forum (registration, password changing, deletion) - Original Nicco's NBC_LinkUser2PunBB plugin upgraded to Piwigo / Liez l'inscription des utilisateurs de Piwigo avec votre forum FluxBB - Portage du plugin NBC_LinkUser2PunBB de Nicco vers Piwigo
    66Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=252
     
    5454
    55552.2.4     - 22/08/10  - Bug 1812 fixed : Compliance with FluxBB 1.4
     56
     572.3.0     - 01/09/10  - Bug 1434 fixed : Bridge between Register_FluxBB and UserAdvManager for new users validation
    5658--------------------------------------------------------------------------------
    5759*/
     
    9193  include_once (REGFLUXBB_PATH.'include/functions.inc.php');
    9294
    93   // Warning : FluxBB uses Sha1 hash instead of md5 for Piwigo !
     95  // Warning : FluxBB uses Sha1 hash instead of md5 for Piwigo!
    9496  FluxBB_Adduser($register_user['id'], $register_user['username'], sha1($_POST['password']), $register_user['email']);
    9597}
     
    200202  }
    201203}
     204
     205
     206/* Access validation in FluxBB when validated in Piwigo through UAM plugin */
     207add_event_handler('login_success', 'UAM_Bridge');
     208
     209function UAM_Bridge()
     210{
     211  global $conf, $user;
     212 
     213  $conf_Register_FluxBB = isset($conf['Register_FluxBB']) ? explode(";" , $conf['Register_FluxBB']) : array();
     214 
     215  // Check if UAM is installed and if bridge is set - Exception for admins and webmasters
     216  if (function_exists('FindAvailableConfirmMailID') and isset($conf_Register_FluxBB[6]) and $conf_Register_FluxBB[6] == 'true' and !is_admin() and !is_webmaster())
     217  {
     218    $conf_UAM = unserialize($conf['UserAdvManager']);
     219   
     220    // Getting unvalidated users group else Piwigo's default group
     221    if (isset($conf_UAM[2]) and $conf_UAM[2] != '-1')
     222    {
     223      $Waitingroup = $conf_UAM[2];
     224    }
     225    else
     226    {
     227      $query = '
     228SELECT id
     229FROM '.GROUPS_TABLE.'
     230WHERE is_default = "true"
     231LIMIT 1
     232;';
     233      $data = pwg_db_fetch_assoc(pwg_query($query));
     234      $Waitingroup = $data['id'];
     235    }
     236   
     237    // check if logged in user is in a Piwigo's validated or unvalidated users group
     238    $query = '
     239SELECT *
     240FROM '.USER_GROUP_TABLE.'
     241WHERE user_id = '.$user['id'].'
     242AND group_id = '.$Waitingroup.'
     243;';
     244    $count = pwg_db_num_rows(pwg_query($query));
     245
     246    // Check if logged in user is in a FluxBB's unvalidated group
     247    $query = "
     248SELECT group_id
     249FROM ".FluxBB_USERS_TABLE."
     250WHERE id = ".FluxBB_Searchuser($user['id'])."
     251;";
     252
     253    $data = pwg_db_fetch_assoc(pwg_query($query));
     254
     255    // Logged in user switch to the default FluxBB's group if he'is validated
     256    if ($count == 0 and $data['group_id'] = $conf_Register_FluxBB[7])
     257    {
     258      $query = "
     259SELECT conf_value
     260FROM ".FluxBB_CONFIG_TABLE."
     261WHERE conf_name = 'o_default_user_group'
     262;";
     263
     264      $o_default_user_group = pwg_db_fetch_assoc(pwg_query($query));
     265     
     266      $query = "
     267UPDATE ".FluxBB_USERS_TABLE."
     268SET group_id = ".$o_default_user_group['conf_value']."
     269WHERE id = ".FluxBB_Searchuser($user['id'])."
     270;";
     271      pwg_query($query);
     272    }
     273  }
     274}
    202275?>
Note: See TracChangeset for help on using the changeset viewer.