Ignore:
Timestamp:
Sep 19, 2011, 9:48:39 PM (13 years ago)
Author:
Eric
Message:
  • Bug 2415 fixed - New feature added : Privacy level can now be set for unvalidated / validated users.
  • Small admin panel refactory : Ghost users management and other misc options are splitted.
  • Plugin database upgrade : maintain.inc.php and upgradedb.inc.php
  • Language files refactory (EN and FR)
  • Preparing version 2.30.0 (actually 2.30.0RC1) for compliance with Piwigo 2.3.0
File:
1 edited

Legend:

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

    r11318 r12189  
    100100      $passwd = (isset($_POST['password'])) ? $_POST['password'] : '';
    101101      SendMail2User(1, $register_user['id'], $register_user['username'], $passwd, $register_user['email'], false);
    102       setgroup($register_user['id']);// Set to "waiting" group or status until admin validation
     102      SetPermission($register_user['id']);// Set to "waiting" group or status until admin validation
    103103    }
    104104    elseif ((isset($conf_UAM[0]) and $conf_UAM[0] == 'false') and (isset($conf_UAM[1]) and $conf_UAM[1] == 'local'))
    105105    {
    106106      // This is to set user to "waiting" group or status until admin validation
    107       setgroup($register_user['id']);// Set to "waiting" group or status until admin validation
     107      SetPermission($register_user['id']);// Set to "waiting" group or status until admin validation
    108108    }
    109109    elseif ((isset($conf_UAM[0]) and $conf_UAM[0] == 'true') and (isset($conf_UAM[1]) and $conf_UAM[1] == 'false'))
     
    296296        if ($_POST['mail_address'] != $current_email and (isset($conf_UAM[1]) and $conf_UAM[1] == 'local'))
    297297       
    298           setgroup($register_user['id']);// Set to "waiting" group or status until admin validation
     298          SetPermission($register_user['id']);// Set to "waiting" group or status until admin validation
    299299          $confirm_mail_need = false;
    300300      }
     
    407407  }
    408408
    409   // Ghost accounts auto group or status downgrade with or without information email sending and autodeletion if user already reminded
    410   if ((isset($conf_UAM[21]) and $conf_UAM[21] == 'true') and ((isset($conf_UAM[25]) and $conf_UAM[25] <> -1) or (isset($conf_UAM[26]) and $conf_UAM[26] <> -1)))
     409  // Ghost accounts auto group, status or privacy level downgrade with or without information email sending and autodeletion if user already reminded
     410  if ((isset($conf_UAM[21]) and $conf_UAM[21] == 'true') and ((isset($conf_UAM[25]) and $conf_UAM[25] <> -1) or (isset($conf_UAM[26]) and $conf_UAM[26] <> -1) or (isset($conf_UAM[37]) and $conf_UAM[37] <> -1)))
    411411  {
    412412    if (count($collection) > 0)
     
    510510VALUES
    511511  ('".$user_id."', '".$conf_UAM[25]."')
     512;";
     513              pwg_query($query);
     514            }
     515
     516            // Change user privacy level
     517            if ($conf_UAM[37] <> -1)
     518            {
     519              $query = "
     520UPDATE ".USER_INFOS_TABLE."
     521SET level = '".$conf_UAM[37]."'
     522WHERE user_id = '".$user_id."'
    512523;";
    513524              pwg_query($query);
     
    13631374      pwg_query($query);
    13641375    }
     1376
     1377    // Set user unvalidated privacy level
     1378    if (!is_admin() and $conf_UAM[35] <> -1)
     1379    {
     1380      $query = "
     1381UPDATE ".USER_INFOS_TABLE."
     1382SET level = '".$conf_UAM[35]."'
     1383WHERE user_id = '".$user_id."'
     1384;";
     1385      pwg_query($query);
     1386    }
    13651387   
    13661388    return get_absolute_root_url().UAM_PATH.'ConfirmMail.php?key='.$Confirm_Mail_ID.'&userid='.$user_id;
     
    13701392
    13711393/**
    1372  * Function called from main.inc.php to set group to new users if manual validation is set
     1394 * Function called from UAM_Adduser() to set group/status/level to new users if manual validation is set
    13731395 *
    13741396 * @param : User id
     
    13761398 *
    13771399 */
    1378 function setgroup($user_id)
     1400function SetPermission($user_id)
    13791401{
    13801402  global $conf;
     
    13821404  $conf_UAM = unserialize($conf['UserAdvManager']);
    13831405
     1406// Groups cleanup
    13841407  $query = "
    13851408DELETE FROM ".USER_GROUP_TABLE."
     
    13931416  pwg_query($query);
    13941417
    1395   if (!is_admin() and $conf_UAM[7] <> -1)
     1418  if (!is_admin() and $conf_UAM[7] <> -1) // Set status
    13961419  {
    13971420    $query = "
     
    14031426  }
    14041427
    1405   if (!is_admin() and $conf_UAM[2] <> -1)
     1428  if (!is_admin() and $conf_UAM[2] <> -1) // Set group
    14061429  {
    14071430    $query = "
     
    14101433VALUES
    14111434  ('".$user_id."', '".$conf_UAM[2]."')
     1435;";
     1436    pwg_query($query);
     1437  }
     1438
     1439  if (!is_admin() and $conf_UAM[2] <> -1) // Set privacy level
     1440  {
     1441    $query = "
     1442INSERT INTO ".USER_INFOS_TABLE."
     1443  (user_id, level)
     1444VALUES
     1445  ('".$user_id."', '".$conf_UAM[level]."')
    14121446;";
    14131447    pwg_query($query);
     
    16001634                                                list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();'));
    16011635
     1636            // Update ConfirmMail table
    16021637                                                $query = '
    16031638UPDATE '.USER_CONFIRM_MAIL_TABLE.'
    16041639SET date_check="'.$dbnow.'", reminder="false"
    16051640WHERE id = "'.$id.'"
     1641;';
     1642                                                pwg_query($query);
     1643
     1644            // Update LastVisit table - Force reminder field to false
     1645            // Usefull when a user has been automatically downgraded and revalidate its registration 
     1646                                                $query = '
     1647UPDATE '.USER_LASTVISIT_TABLE.'
     1648SET reminder="false"
     1649WHERE user_id = "'.$data['user_id'].'"
    16061650;';
    16071651                                                pwg_query($query);
     
    16371681                                                        pwg_query($query);
    16381682                                                }
     1683
     1684                                                if (($conf_UAM[36] <> -1 or isset($data['level']))) // Change user's privacy level
     1685                                                {
     1686                                                        $query = "
     1687UPDATE ".USER_INFOS_TABLE."
     1688SET level = '".(isset($data['level']) ? $data['level'] : $conf_UAM[36])."'
     1689WHERE user_id = '".$data['user_id']."'
     1690;";
     1691                                                        pwg_query($query);
     1692                                                }
     1693
    16391694                                                // Refresh user's category cache
    16401695                                                invalidate_user_cache();
     
    16521707                                        list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();'));
    16531708
     1709          // Update ConfirmMail table
    16541710                                        $query = '
    16551711UPDATE '.USER_CONFIRM_MAIL_TABLE.'
     
    16581714;';
    16591715                                        pwg_query($query);
     1716
     1717          // Update LastVisit table - Force reminder field to false
     1718          // Usefull when a user has been automatically downgraded and revalidate its registration 
     1719                                        $query = '
     1720UPDATE '.USER_LASTVISIT_TABLE.'
     1721SET reminder="false"
     1722WHERE user_id = "'.$data['user_id'].'"
     1723;';
     1724          pwg_query($query);
    16601725     
    1661                                         if ($conf_UAM[2] <> -1)
     1726                                        if ($conf_UAM[2] <> -1) // Delete user from unvalidated users group
    16621727                                        {
    16631728                                                $query = "
     
    16871752                                        }
    16881753
    1689                                         if (($conf_UAM[4] <> -1 or isset($data['status'])))
     1754                                        if (($conf_UAM[4] <> -1 or isset($data['status']))) // Change user's status
    16901755                                        {
    16911756                                                $query = "
     
    16961761                                                pwg_query($query);
    16971762                                        }
     1763
     1764                                        if (($conf_UAM[36] <> -1 or isset($data['level']))) // Change user's privacy level
     1765                                        {
     1766                                                $query = "
     1767UPDATE ".USER_INFOS_TABLE."
     1768SET level = '".(isset($data['level']) ? $data['level'] : $conf_UAM[36])."'
     1769WHERE user_id = '".$data['user_id']."'
     1770;";
     1771                                                pwg_query($query);
     1772                                        }
     1773
    16981774                                        // Refresh user's category cache
    16991775                                        invalidate_user_cache();
     
    17421818                }
    17431819 
    1744                 if ($conf_UAM[3] <> -1)
     1820                if ($conf_UAM[3] <> -1) // Change user's group
    17451821                {
    17461822                        $query = "
     
    17601836    }
    17611837
    1762                 if ($conf_UAM[4] <> -1)
     1838                if ($conf_UAM[4] <> -1) // Change user's status
    17631839                {
    17641840                        $query = "
     
    17691845                        pwg_query($query);
    17701846                }
     1847
     1848                if ($conf_UAM[36] <> -1) // Change user's privacy level
     1849                {
     1850                        $query = "
     1851UPDATE ".USER_INFOS_TABLE."
     1852SET level = '".$conf_UAM[36]."'
     1853WHERE user_id = '".$id."'
     1854;";
     1855                        pwg_query($query);
     1856                }
    17711857  }
    17721858  elseif (isset($conf_UAM[1]) and $conf_UAM[1] == 'local')
     
    17741860    list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();'));
    17751861
    1776     if ($conf_UAM[2] <> -1)
     1862    if ($conf_UAM[2] <> -1) // Delete user's from waiting group
    17771863    {
    17781864                  $query = "
     
    17841870    }
    17851871
    1786     if ($conf_UAM[3] <> -1)
     1872    if ($conf_UAM[3] <> -1) // Change user's group
    17871873    {
    17881874      $query = "
     
    18021888    }
    18031889
    1804     if ($conf_UAM[4] <> -1)
     1890    if ($conf_UAM[4] <> -1) // Change user's status
    18051891    {
    18061892                  $query = "
    18071893UPDATE ".USER_INFOS_TABLE."
    18081894SET status = '".$conf_UAM[4]."'
     1895WHERE user_id = '".$id."'
     1896;";
     1897      pwg_query($query);
     1898    }
     1899
     1900    if ($conf_UAM[36] <> -1) // Change user's privacy level
     1901    {
     1902                  $query = "
     1903UPDATE ".USER_INFOS_TABLE."
     1904SET level = '".$conf_UAM[36]."'
    18091905WHERE user_id = '".$id."'
    18101906;";
Note: See TracChangeset for help on using the changeset viewer.