Ignore:
Timestamp:
Dec 2, 2010, 10:33:48 PM (13 years ago)
Author:
Eric
Message:

Bug 2047 fixed
Code refactory and cleaning
New version 2.3.5 hard coded

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/Register_FluxBB/trunk/include/functions.inc.php

    r6815 r7982  
    11<?php
    22
    3   include_once (PHPWG_ROOT_PATH.'/include/constants.php');
    4   include_once (REGFLUXBB_PATH.'include/constants.php');
     3include_once (PHPWG_ROOT_PATH.'/include/constants.php');
     4include_once (REGFLUXBB_PATH.'include/constants.php');
     5
     6
     7function Register_FluxBB_admin_menu($menu)
     8{
     9  array_push($menu, array(
     10    'NAME' => 'Register FluxBB',
     11    'URL'  => get_admin_plugin_menu_link(REGFLUXBB_PATH.'admin/admin.php')));
     12  return $menu;
     13}
     14
     15
     16function Register_FluxBB_Adduser($register_user)
     17{
     18  global $errors, $conf;
     19       
     20  // Exclusion of Adult_Content users
     21  if ($register_user['username'] != "16" and $register_user['username'] != "18")
     22  {
     23    // Warning : FluxBB uses Sha1 hash instead of md5 for Piwigo!
     24    FluxBB_Adduser($register_user['id'], $register_user['username'], sha1($_POST['password']), $register_user['email']);
     25  }
     26}
     27
     28
     29function Register_FluxBB_Deluser($user_id)
     30{
     31  FluxBB_Deluser(FluxBB_Searchuser($user_id), true);
     32}
     33
     34
     35function Register_FluxBB_InitPage()
     36{
     37  global $conf, $user;
     38
     39  if (isset($_POST['validate']) and !is_admin())
     40  {
     41    if (!empty($_POST['use_new_pwd']))
     42    {
     43      $query = '
     44SELECT '.$conf['user_fields']['username'].' AS username
     45FROM '.USERS_TABLE.'
     46WHERE '.$conf['user_fields']['id'].' = \''.$user['id'].'\'
     47;';
     48
     49      list($username) = pwg_db_fetch_row(pwg_query($query));
     50
     51      FluxBB_Updateuser($user['id'], stripslashes($username), sha1($_POST['use_new_pwd']), $_POST['mail_address']);
     52    }
     53  }
     54}
     55
     56
     57function UAM_Bridge()
     58{
     59  global $conf, $user;
     60 
     61  $conf_Register_FluxBB = isset($conf['Register_FluxBB']) ? explode(";" , $conf['Register_FluxBB']) : array();
     62 
     63  // Check if UAM is installed and if bridge is set - Exception for admins and webmasters
     64  $query ='
     65SELECT user_id, status
     66FROM '.USER_INFOS_TABLE.'
     67WHERE user_id = '.$user['id'].'
     68;';
     69  $data = pwg_db_fetch_assoc(pwg_query($query));
     70 
     71  if ($data['status'] <> "admin" and $data['status'] <> "webmaster")
     72  {
     73    if (function_exists('FindAvailableConfirmMailID') and isset($conf_Register_FluxBB[6]) and $conf_Register_FluxBB[6] == 'true')
     74    {
     75      $conf_UAM = unserialize($conf['UserAdvManager']);
     76   
     77      // Getting unvalidated users group else Piwigo's default group
     78      if (isset($conf_UAM[2]) and $conf_UAM[2] != '-1')
     79      {
     80        $Waitingroup = $conf_UAM[2];
     81      }
     82      else
     83      {
     84        $query = '
     85SELECT id
     86FROM '.GROUPS_TABLE.'
     87WHERE is_default = "true"
     88LIMIT 1
     89;';
     90        $data = pwg_db_fetch_assoc(pwg_query($query));
     91        $Waitingroup = $data['id'];
     92      }
     93   
     94      // check if logged in user is in a Piwigo's validated or unvalidated users group
     95      $query = '
     96SELECT *
     97FROM '.USER_GROUP_TABLE.'
     98WHERE user_id = '.$user['id'].'
     99AND group_id = '.$Waitingroup.'
     100;';
     101      $count = pwg_db_num_rows(pwg_query($query));
     102
     103      // Check if logged in user is in a FluxBB's unvalidated group
     104      $query = "
     105SELECT group_id
     106FROM ".FluxBB_USERS_TABLE."
     107WHERE id = ".FluxBB_Searchuser($user['id'])."
     108;";
     109
     110      $data = pwg_db_fetch_assoc(pwg_query($query));
     111
     112      // Logged in user switch to the default FluxBB's group if he'is validated
     113      if ($count == 0 and $data['group_id'] = $conf_Register_FluxBB[7])
     114      {
     115        $query = "
     116SELECT conf_value
     117FROM ".FluxBB_CONFIG_TABLE."
     118WHERE conf_name = 'o_default_user_group'
     119;";
     120
     121        $o_default_user_group = pwg_db_fetch_assoc(pwg_query($query));
     122     
     123        $query = "
     124UPDATE ".FluxBB_USERS_TABLE."
     125SET group_id = ".$o_default_user_group['conf_value']."
     126WHERE id = ".FluxBB_Searchuser($user['id'])."
     127;";
     128        pwg_query($query);
     129      }
     130    }
     131  }
     132}
     133
     134
     135function Register_FluxBB_RegistrationCheck($err, $register_user)
     136{
     137  global $errors, $conf;
     138 
     139  //Because FluxBB is case insensitive on login name, we have to check if a similar login already exists in FluxBB's user table
     140  // If "test" user already exists, "TEST" or "Test" (and so on...) can't register
     141  $query = "
     142SELECT username
     143  FROM ".FluxBB_USERS_TABLE."
     144WHERE LOWER(".stripslashes('username').") = '".strtolower($register_user['username'])."'
     145;";
     146
     147    $count = pwg_db_num_rows(pwg_query($query));
     148
     149    if ($count > 0)
     150    {
     151      return l10n('this login is already used');
     152    }
     153}
     154
    5155
    6156function FluxBB_Linkuser($pwg_id, $bb_id)
     
    52202function FluxBB_Adduser($pwg_id, $login, $password, $adresse_mail)
    53203{
    54   global $conf;
     204  global $errors, $conf;
    55205
    56206  $conf_Register_FluxBB = isset($conf['Register_FluxBB']) ? explode(";" , $conf['Register_FluxBB']) : array();
     
    118268
    119269  $o_default_style = pwg_db_fetch_assoc(pwg_query($query));
    120  
    121   $query = '
    122 INSERT INTO '.FluxBB_USERS_TABLE." (
     270
     271  $query = "
     272INSERT INTO ".FluxBB_USERS_TABLE." (
    123273  username,
    124274  ". ( isset($o_default_user_group['conf_value']) ? 'group_id' : '' ) .",
     
    187337  $data0 = pwg_db_fetch_assoc(pwg_query($query0));
    188338
    189   // Si égale à VRAI, suppression de tous les posts et topics
     339  // If True, delete related topics and posts
    190340  if ($SuppTopicsPosts and $conf_Register_FluxBB[3])
    191341  {
    192     // Suppression des posts de cet utilisateur
     342    // Delete posts and topics of this user
    193343    $subquery = "
    194344DELETE FROM ".FluxBB_POSTS_TABLE."
     
    198348    $subresult = pwg_query($subquery);
    199349
    200     // Suppression des topics de cet utilisateur
     350    // Delete topics of this user
    201351    $subquery = "
    202352DELETE FROM ".FluxBB_TOPICS_TABLE."
     
    207357  }
    208358
    209   // Suppression des abonnements de l'utilisateur
     359  // Delete user's subscriptions
    210360  $subquery = "
    211361DELETE FROM ".FluxBB_SUBSCRIPTIONS_TABLE."
     
    215365  $subresult = pwg_query($subquery);
    216366 
    217   // Suppression du compte utilisateur
     367  // Delete user's account
    218368  $subquery = "
    219369DELETE FROM ".FluxBB_USERS_TABLE."
Note: See TracChangeset for help on using the changeset viewer.