Changeset 17887


Ignore:
Timestamp:
09/13/12 17:36:56 (7 years ago)
Author:
Eric
Message:

UAM_UsrReg_Verif() function refactory - Step 1. problem still remains when $confguest_access = false;

Location:
extensions/UserAdvManager/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • extensions/UserAdvManager/trunk/changelog.txt.php

    r17846 r17887  
    340340            Update it_IT, thanks to : Ericnet and virgigiole 
    341341 
    342 -- 2.40.6 : Bug 2744 fixed - User connexion rejection does not work if no group/status/privacy is set  
     342-- 2.41.0 : Bug 2744 fixed - User connexion rejection does not work if no group/status/privacy is set  
    343343*/ 
    344344?> 
  • extensions/UserAdvManager/trunk/include/functions.inc.php

    r17886 r17887  
    6868 
    6969      $userid = get_userid($user['username']); 
    70          
     70           
    7171      // Looking for existing entry in last visit table 
    7272      // ---------------------------------------------- 
     
    102102      } 
    103103    } 
    104     // Perform user logout after registration if not validated 
    105     if ((isset($conf_UAM[39]) and $conf_UAM[39] == 'true') and !UAM_UsrReg_Verif($user['id']) ) 
    106     { 
    107       invalidate_user_cache(); 
    108       logout_user(); 
    109       redirect(UAM_PATH.'rejected.php'); 
    110     } 
    111   } 
    112  
     104  } 
     105 
     106  // Perform user logout after registration if not validated 
     107  if ((isset($conf_UAM[39]) and $conf_UAM[39] == 'true') and !UAM_UsrReg_Verif($user['id'])) 
     108  { 
     109    invalidate_user_cache(); 
     110    logout_user(); 
     111    redirect(UAM_PATH.'rejected.php'); 
     112  } 
    113113} 
    114114 
     
    456456    } 
    457457  } 
    458   elseif ((isset($conf_UAM[39]) and $conf_UAM[39] == 'true') and !UAM_UsrReg_Verif($user['id'])) 
     458  elseif ((isset($conf_UAM[39]) and $conf_UAM[39] == 'true') and UAM_UsrReg_Verif($user['id']) == false and is_admin()==false and is_webmaster() == false) 
    459459  { 
    460460    // Logged-in user cleanup, session destruction and redirected to custom page 
    461461    // ------------------------------------------------------------------------- 
    462     invalidate_user_cache(); 
    463     logout_user(); 
    464     redirect(UAM_PATH.'rejected.php'); 
     462    if (UAM_UsrReg_Verif($user['id'])) 
     463    { 
     464      $var2 = "UAM_UsrReg_Verif = True"; 
     465    } 
     466    else 
     467    { 
     468      $var2 = "UAM_UsrReg_Verif = False"; 
     469    } 
     470     
     471    if (is_admin()) 
     472    { 
     473      $var3 = "is_admin = True"; 
     474    } 
     475    else 
     476    { 
     477      $var3 = "is_admin = False"; 
     478    } 
     479 
     480    if (is_webmaster()) 
     481    { 
     482      $var4 = "is_webmaster = True"; 
     483    } 
     484    else 
     485    { 
     486      $var4 = "is_webmaster = False"; 
     487    } 
     488    UAMLog($conf_UAM[39],$var2,$var3,$var4); 
     489    //invalidate_user_cache(); 
     490    //logout_user(); 
     491    //redirect(UAM_PATH.'rejected.php'); 
    465492  } 
    466493} 
     
    518545  { 
    519546    if (count($collection) > 0) 
    520     { 
     547        { 
    521548      // Process if a non-admin nor webmaster user is logged 
    522549      // --------------------------------------------------- 
    523550      if (in_array($user['id'], $collection)) 
    524       { 
     551        { 
    525552        // Check lastvisit reminder state 
    526553        // ------------------------------ 
     
    555582          redirect(UAM_PATH.'GT_del_account.php'); 
    556583        } 
    557       } 
     584        } 
    558585      else // Process if an admin or webmaster user is logged 
    559586      { 
     
    586613            list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();')); 
    587614 
    588             $query = " 
     615                        $query = " 
    589616UPDATE ".USER_LASTVISIT_TABLE." 
    590617SET lastvisit='".$dbnow."' 
     
    660687              // Reset confirmed user status to unvalidated 
    661688              // ------------------------------------------ 
    662               $query = ' 
     689                                                  $query = ' 
    663690UPDATE '.USER_CONFIRM_MAIL_TABLE.' 
    664691SET date_check = NULL 
    665692WHERE user_id = "'.$user_id.'" 
    666693;'; 
    667               pwg_query($query); 
     694                                                  pwg_query($query); 
    668695 
    669696              // Get users information for email notification 
    670697              // -------------------------------------------- 
    671               $query = ' 
     698                                                  $query = ' 
    672699SELECT id, username, mail_address 
    673700FROM '.USERS_TABLE.' 
    674701WHERE id = '.$user_id.' 
    675702;'; 
    676               $data = pwg_db_fetch_assoc(pwg_query($query)); 
     703                                                  $data = pwg_db_fetch_assoc(pwg_query($query)); 
    677704             
    678705              demotion_mail($user_id, $data['username'], $data['mail_address']); 
     
    726753  { 
    727754    if (count($collection) > 0) 
    728     { 
     755        { 
    729756      // Process if a non-admin nor webmaster user is logged 
    730757      // --------------------------------------------------- 
    731758      if (in_array($user['id'], $collection)) 
    732       { 
     759        { 
    733760        // Check ConfirmMail reminder state 
    734761        // -------------------------------- 
     
    753780        if (!$reminder and isset($conf_UAM[32]) and $conf_UAM[32] == 'true') 
    754781        { 
    755           $typemail = 1; 
     782                  $typemail = 1; 
    756783           
    757784          // Get current user informations 
     
    780807          redirect(UAM_PATH.'USR_del_account.php'); 
    781808        } 
    782       } 
     809        } 
    783810      else // Process if an admin or webmaster user is logged 
    784811      { 
     
    908935  $conf_UAM = unserialize($conf['UserAdvManager']); 
    909936   
    910   include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
    911    
    912   $infos1_perso = ""; 
     937        include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
     938   
     939        $infos1_perso = ""; 
    913940  $infos2_perso = ""; 
    914941  $subject = ""; 
     
    11491176  $conf_UAM_ConfirmMail = unserialize($conf['UserAdvManager_ConfirmMail']); 
    11501177   
    1151   include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
     1178        include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
    11521179   
    11531180// We have to get the user's language in database 
     
    12071234          $infos1 = get_user_language_desc(preg_replace($patterns, $replacements, $conf_UAM_ConfirmMail[2]))."\n\n"; 
    12081235        } 
    1209         else $infos1 = l10n(preg_replace($patterns, $replacements, $conf_UAM_ConfirmMail[2]))."\n\n"; 
     1236                                else $infos1 = l10n(preg_replace($patterns, $replacements, $conf_UAM_ConfirmMail[2]))."\n\n"; 
    12101237 
    12111238        $infos2 = array 
     
    12141241          get_l10n_args('', ''), 
    12151242        );         
    1216       } 
     1243                        } 
    12171244 
    12181245// Set reminder true  
     
    12251252      pwg_query($query); 
    12261253       
    1227     break; 
     1254                break; 
    12281255       
    12291256    case 2: //Generating email content for remind without a new key 
     
    12781305       
    12791306    break; 
    1280   } 
     1307        } 
    12811308   
    12821309  pwg_mail($email, array( 
     
    13041331  $subject = ""; 
    13051332   
    1306   include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
     1333        include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
    13071334 
    13081335// We have to get the user's language in database 
     
    13861413  $conf_UAM = unserialize($conf['UserAdvManager']); 
    13871414   
    1388   include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
    1389    
    1390   $custom_txt = ""; 
     1415        include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
     1416   
     1417        $custom_txt = ""; 
    13911418  $subject = ""; 
    13921419 
     
    14911518  $conf_UAM = unserialize($conf['UserAdvManager']); 
    14921519   
    1493   include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
    1494    
    1495   $custom_txt = ""; 
     1520        include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
     1521   
     1522        $custom_txt = ""; 
    14961523  $subject = ""; 
    14971524 
     
    17831810    pwg_query($query); 
    17841811 
    1785     $query = " 
     1812                $query = " 
    17861813UPDATE ".USER_INFOS_TABLE." 
    17871814SET registration_date = '".$dbnow."' 
    17881815WHERE user_id = '".$user_id."' 
    17891816;"; 
    1790     pwg_query($query); 
     1817                pwg_query($query); 
    17911818     
    17921819    return get_absolute_root_url().UAM_PATH.'ConfirmMail.php?key='.$Confirm_Mail_ID.'&userid='.$user_id; 
     
    19221949      if (!empty($registration_date)) 
    19231950      { 
    1924         // Verify Confirmmail with time limit ON 
     1951                                // Verify Confirmmail with time limit ON 
    19251952        // ------------------------------------- 
    1926         if (isset ($conf_UAM_ConfirmMail[1])) 
    1927         { 
    1928           // Dates formating and compare 
     1953                                if (isset ($conf_UAM_ConfirmMail[1])) 
     1954                                { 
     1955                                        // Dates formating and compare 
    19291956          // --------------------------- 
    1930           $today = date("d-m-Y"); // Get today's date 
    1931           list($day, $month, $year) = explode('-', $today); // explode date of today             
    1932           $daytimestamp = mktime(0, 0, 0, $month, $day, $year);// Generate UNIX timestamp 
    1933          
    1934           list($regdate, $regtime) = explode(' ', $registration_date); // Explode date and time from registration date 
    1935           list($regyear, $regmonth, $regday) = explode('-', $regdate); // Explode date from registration date 
    1936           $regtimestamp = mktime(0, 0, 0, $regmonth, $regday, $regyear);// Generate UNIX timestamp 
    1937        
    1938           $deltasecs = $daytimestamp - $regtimestamp;// Compare the 2 UNIX timestamps  
    1939           $deltadays = floor($deltasecs / 86400);// Convert result from seconds to days 
    1940  
    1941           // Condition with the value set for time limit 
     1957                                        $today = date("d-m-Y"); // Get today's date 
     1958                                        list($day, $month, $year) = explode('-', $today); // explode date of today                                               
     1959                                        $daytimestamp = mktime(0, 0, 0, $month, $day, $year);// Generate UNIX timestamp 
     1960                         
     1961                                list($regdate, $regtime) = explode(' ', $registration_date); // Explode date and time from registration date 
     1962                                        list($regyear, $regmonth, $regday) = explode('-', $regdate); // Explode date from registration date 
     1963                                        $regtimestamp = mktime(0, 0, 0, $regmonth, $regday, $regyear);// Generate UNIX timestamp 
     1964                         
     1965                                        $deltasecs = $daytimestamp - $regtimestamp;// Compare the 2 UNIX timestamps      
     1966                                        $deltadays = floor($deltasecs / 86400);// Convert result from seconds to days 
     1967 
     1968                                        // Condition with the value set for time limit 
    19421969          // ------------------------------------------- 
    1943           if ($deltadays <= $conf_UAM_ConfirmMail[1]) // If Nb of days is less than the limit set 
    1944           { 
    1945             list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();')); 
     1970                                        if ($deltadays <= $conf_UAM_ConfirmMail[1]) // If Nb of days is less than the limit set 
     1971                                        { 
     1972                                                list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();')); 
    19461973 
    19471974            // Update ConfirmMail table 
    19481975            // ------------------------ 
    1949             $query = ' 
     1976                                                $query = ' 
    19501977UPDATE '.USER_CONFIRM_MAIL_TABLE.' 
    19511978SET date_check="'.$dbnow.'", reminder="false" 
    19521979WHERE id = "'.$id.'" 
    19531980;'; 
    1954             pwg_query($query); 
     1981                                                pwg_query($query); 
    19551982 
    19561983            // Update LastVisit table - Force reminder field to false 
    19571984            // Usefull when a user has been automatically downgraded and revalidate its registration 
    19581985            // ------------------------------------------------------------------------------------- 
    1959             $query = ' 
     1986                                                $query = ' 
    19601987UPDATE '.USER_LASTVISIT_TABLE.' 
    19611988SET reminder="false" 
    19621989WHERE user_id = "'.$data['user_id'].'" 
    19631990;'; 
    1964             pwg_query($query); 
     1991                                                pwg_query($query); 
    19651992       
    1966             if ($conf_UAM[2] <> -1) // Delete user from unvalidated users group 
    1967             { 
    1968               $query = " 
     1993                                                if ($conf_UAM[2] <> -1) // Delete user from unvalidated users group 
     1994                                                { 
     1995                                                        $query = " 
    19691996DELETE FROM ".USER_GROUP_TABLE." 
    19701997WHERE user_id = '".$data['user_id']."' 
    19711998  AND group_id = '".$conf_UAM[2]."' 
    19721999;"; 
    1973               pwg_query($query); 
    1974             } 
    1975        
    1976             if ($conf_UAM[3] <> -1) // Add user to validated users group  
    1977             { 
    1978               $query = " 
     2000                                                        pwg_query($query); 
     2001                                                } 
     2002             
     2003                                                if ($conf_UAM[3] <> -1) // Add user to validated users group  
     2004                                                { 
     2005                                                        $query = " 
    19792006INSERT INTO ".USER_GROUP_TABLE." 
    19802007  (user_id, group_id) 
     
    19822009  ('".$data['user_id']."', '".$conf_UAM[3]."') 
    19832010;"; 
    1984               pwg_query($query); 
    1985             } 
    1986  
    1987             if (($conf_UAM[4] <> -1 or isset($data['status']))) // Change user's status 
    1988             { 
    1989               $query = " 
     2011                                                        pwg_query($query); 
     2012                                                } 
     2013 
     2014                                                if (($conf_UAM[4] <> -1 or isset($data['status']))) // Change user's status 
     2015                                                { 
     2016                                                        $query = " 
    19902017UPDATE ".USER_INFOS_TABLE." 
    19912018SET status = '".(isset($data['status']) ? $data['status'] : $conf_UAM[4])."' 
    19922019WHERE user_id = '".$data['user_id']."' 
    19932020;"; 
    1994               pwg_query($query); 
    1995             } 
    1996  
    1997             if (($conf_UAM[36] <> -1 or isset($data['level']))) // Change user's privacy level 
    1998             { 
    1999               $query = " 
     2021                                                        pwg_query($query); 
     2022                                                } 
     2023 
     2024                                                if (($conf_UAM[36] <> -1 or isset($data['level']))) // Change user's privacy level 
     2025                                                { 
     2026                                                        $query = " 
    20002027UPDATE ".USER_INFOS_TABLE." 
    20012028SET level = '".(isset($data['level']) ? $data['level'] : $conf_UAM[36])."' 
    20022029WHERE user_id = '".$data['user_id']."' 
    20032030;"; 
    2004               pwg_query($query); 
    2005             } 
    2006  
    2007             // Refresh user's category cache 
     2031                                                        pwg_query($query); 
     2032                                                } 
     2033 
     2034                                                // Refresh user's category cache 
    20082035            // ----------------------------- 
    2009             invalidate_user_cache(); 
    2010    
    2011             return true; 
    2012           } 
    2013           elseif ($deltadays > $conf_UAM_ConfirmMail[1]) // If timelimit exeeds 
    2014           { 
    2015             return false; 
    2016           } 
    2017         } 
    2018         // Verify Confirmmail with time limit OFF 
     2036                                                invalidate_user_cache(); 
     2037   
     2038                                                return true; 
     2039                                        } 
     2040                                        elseif ($deltadays > $conf_UAM_ConfirmMail[1]) // If timelimit exeeds 
     2041                                        { 
     2042                                                return false; 
     2043                                        } 
     2044                                } 
     2045                                // Verify Confirmmail with time limit OFF 
    20192046        // -------------------------------------- 
    2020         else 
    2021         { 
    2022           list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();')); 
     2047                                else 
     2048                                { 
     2049                                        list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();')); 
    20232050 
    20242051          // Update ConfirmMail table 
    20252052          // ------------------------ 
    2026           $query = ' 
     2053                                        $query = ' 
    20272054UPDATE '.USER_CONFIRM_MAIL_TABLE.' 
    20282055SET date_check="'.$dbnow.'" 
    20292056WHERE id = "'.$id.'" 
    20302057;'; 
    2031           pwg_query($query); 
     2058                                        pwg_query($query); 
    20322059 
    20332060          // Update LastVisit table - Force reminder field to false 
    20342061          // Usefull when a user has been automatically downgraded and revalidate its registration 
    20352062          // ------------------------------------------------------------------------------------- 
    2036           $query = ' 
     2063                                        $query = ' 
    20372064UPDATE '.USER_LASTVISIT_TABLE.' 
    20382065SET reminder="false" 
     
    20412068          pwg_query($query); 
    20422069       
    2043           if ($conf_UAM[2] <> -1) // Delete user from unvalidated users group 
    2044           { 
    2045             $query = " 
     2070                                        if ($conf_UAM[2] <> -1) // Delete user from unvalidated users group 
     2071                                        { 
     2072                                                $query = " 
    20462073DELETE FROM ".USER_GROUP_TABLE." 
    20472074WHERE user_id = '".$data['user_id']."' 
    20482075AND group_id = '".$conf_UAM[2]."' 
    20492076;"; 
    2050             pwg_query($query); 
    2051           } 
     2077                                                pwg_query($query); 
     2078                                        } 
    20522079     
    2053           if ($conf_UAM[3] <> -1) 
    2054           { 
    2055             $query = " 
     2080                                        if ($conf_UAM[3] <> -1) 
     2081                                        { 
     2082                                                $query = " 
    20562083DELETE FROM ".USER_GROUP_TABLE." 
    20572084WHERE user_id = '".$data['user_id']."' 
    20582085AND group_id = '".$conf_UAM[3]."' 
    20592086;"; 
    2060             pwg_query($query); 
    2061  
    2062             $query = " 
     2087                                                pwg_query($query); 
     2088 
     2089                                                $query = " 
    20632090INSERT INTO ".USER_GROUP_TABLE." 
    20642091  (user_id, group_id) 
     
    20662093  ('".$data['user_id']."', '".$conf_UAM[3]."') 
    20672094;"; 
    2068             pwg_query($query); 
    2069           } 
    2070  
    2071           if (($conf_UAM[4] <> -1 or isset($data['status']))) // Change user's status 
    2072           { 
    2073             $query = " 
     2095                                                pwg_query($query); 
     2096                                        } 
     2097 
     2098                                        if (($conf_UAM[4] <> -1 or isset($data['status']))) // Change user's status 
     2099                                        { 
     2100                                                $query = " 
    20742101UPDATE ".USER_INFOS_TABLE." 
    20752102SET status = '".(isset($data['status']) ? $data['status'] : $conf_UAM[4])."' 
    20762103WHERE user_id = '".$data['user_id']."' 
    20772104;"; 
    2078             pwg_query($query); 
    2079           } 
    2080  
    2081           if (($conf_UAM[36] <> -1 or isset($data['level']))) // Change user's privacy level 
    2082           { 
    2083             $query = " 
     2105                                                pwg_query($query); 
     2106                                        } 
     2107 
     2108                                        if (($conf_UAM[36] <> -1 or isset($data['level']))) // Change user's privacy level 
     2109                                        { 
     2110                                                $query = " 
    20842111UPDATE ".USER_INFOS_TABLE." 
    20852112SET level = '".(isset($data['level']) ? $data['level'] : $conf_UAM[36])."' 
    20862113WHERE user_id = '".$data['user_id']."' 
    20872114;"; 
    2088             pwg_query($query); 
    2089           } 
    2090  
    2091           // Refresh user's category cache 
     2115                                                pwg_query($query); 
     2116                                        } 
     2117 
     2118                                        // Refresh user's category cache 
    20922119          // ----------------------------- 
    2093           invalidate_user_cache(); 
    2094    
    2095           return true; 
    2096         } 
    2097       } 
    2098     } 
     2120                                        invalidate_user_cache(); 
     2121   
     2122                                        return true; 
     2123                                } 
     2124                        } 
     2125                } 
    20992126    else if (!empty($data) and !is_null($data['date_check'])) 
    21002127    { 
    21012128      return false; 
    21022129    } 
    2103   } 
     2130        } 
    21042131  else 
    21052132    return false; 
     
    21232150    list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();')); 
    21242151 
    2125     $query = " 
     2152                $query = " 
    21262153UPDATE ".USER_CONFIRM_MAIL_TABLE." 
    21272154SET date_check='".$dbnow."' 
     
    21322159 
    21332160  if ($conf_UAM[2] <> -1) // Delete user from waiting group 
    2134   { 
     2161        { 
    21352162    $query = " 
    21362163DELETE FROM ".USER_GROUP_TABLE." 
     
    21382165  AND group_id = '".$conf_UAM[2]."' 
    21392166;"; 
    2140     pwg_query($query); 
    2141   } 
    2142    
    2143   if ($conf_UAM[3] <> -1) // Set user's valid group 
    2144   { 
     2167                pwg_query($query); 
     2168  } 
     2169   
     2170        if ($conf_UAM[3] <> -1) // Set user's valid group 
     2171        { 
    21452172    $query = " 
    21462173DELETE FROM ".USER_GROUP_TABLE." 
     
    21492176;"; 
    21502177    pwg_query($query); 
    2151    
    2152     $query = " 
     2178         
     2179                $query = " 
    21532180INSERT INTO ".USER_GROUP_TABLE." 
    21542181  (user_id, group_id) 
     
    21562183  ('".$id."', '".$conf_UAM[3]."') 
    21572184;"; 
    2158     pwg_query($query); 
    2159   } 
    2160  
    2161   if ($conf_UAM[4] <> -1) // Set user's valid status 
    2162   { 
     2185                pwg_query($query); 
     2186  } 
     2187 
     2188        if ($conf_UAM[4] <> -1) // Set user's valid status 
     2189        { 
    21632190    $query = " 
    21642191UPDATE ".USER_INFOS_TABLE." 
     
    21662193WHERE user_id = '".$id."' 
    21672194;"; 
    2168     pwg_query($query); 
    2169   } 
    2170  
    2171   if ($conf_UAM[36] <> -1) // Set user's valid privacy level 
    2172   { 
     2195                pwg_query($query); 
     2196  } 
     2197 
     2198        if ($conf_UAM[36] <> -1) // Set user's valid privacy level 
     2199        { 
    21732200    $query = " 
    21742201UPDATE ".USER_INFOS_TABLE." 
     
    21762203WHERE user_id = '".$id."' 
    21772204;"; 
    2178     pwg_query($query); 
     2205                pwg_query($query); 
    21792206  } 
    21802207} 
     
    22292256  $conf_UAM = unserialize($conf['UserAdvManager']); 
    22302257   
    2231   if (isset($email) and isset($conf_UAM[11]) and $conf_UAM[11] <> '') 
    2232   { 
    2233     $conf_MailExclusion = preg_split("/[\s,]+/",$conf_UAM[11]); 
    2234     for ($i = 0 ; $i < count($conf_MailExclusion) ; $i++) 
    2235     { 
    2236       $pattern = '/'.$conf_MailExclusion[$i].'/i'; 
    2237       if (preg_match($pattern, $email)) 
    2238       { 
    2239             return true; 
    2240       } 
    2241     } 
    2242   } 
     2258        if (isset($email) and isset($conf_UAM[11]) and $conf_UAM[11] <> '') 
     2259        { 
     2260                $conf_MailExclusion = preg_split("/[\s,]+/",$conf_UAM[11]); 
     2261                for ($i = 0 ; $i < count($conf_MailExclusion) ; $i++) 
     2262                { 
     2263                        $pattern = '/'.$conf_MailExclusion[$i].'/i'; 
     2264                        if (preg_match($pattern, $email)) 
     2265      { 
     2266                        return true; 
     2267      } 
     2268                } 
     2269        } 
    22432270  else 
    22442271  { 
     
    22562283function get_unvalid_user_list() 
    22572284{ 
    2258   global $conf, $page; 
     2285        global $conf, $page; 
    22592286           
    2260   // Get ConfirmMail configuration 
     2287        // Get ConfirmMail configuration 
    22612288  // ----------------------------- 
    22622289  $conf_UAM_ConfirmMail = unserialize($conf['UserAdvManager_ConfirmMail']); 
     
    22672294  $users = array(); 
    22682295 
    2269   // Search users depending expiration date 
     2296        // Search users depending expiration date 
    22702297  // -------------------------------------- 
    22712298  $query = ' 
     
    22862313  OR TO_DAYS(NOW()) - TO_DAYS(ui.registration_date) < "'.$conf_UAM_ConfirmMail[1].'")'; 
    22872314 
    2288   if ($conf_UAM[2] <> '-1' and $conf_UAM[7] == '-1') 
     2315        if ($conf_UAM[2] <> '-1' and $conf_UAM[7] == '-1') 
    22892316  { 
    22902317    $query.= ' 
     
    23052332;'; 
    23062333 
    2307   $result = pwg_query($query); 
     2334        $result = pwg_query($query); 
    23082335       
    23092336  while ($row = pwg_db_fetch_assoc($result)) 
    23102337  { 
    2311     $user = $row; 
     2338        $user = $row; 
    23122339    $user['groups'] = array(); 
    23132340 
    23142341    array_push($users, $user); 
    2315   } 
    2316  
    2317   // Add groups list 
     2342        } 
     2343 
     2344        // Add groups list 
    23182345  // --------------- 
    23192346  $user_ids = array(); 
    23202347  foreach ($users as $i => $user) 
    23212348  { 
    2322     $user_ids[$i] = $user['id']; 
    2323   } 
    2324    
    2325   $user_nums = array_flip($user_ids); 
     2349        $user_ids[$i] = $user['id']; 
     2350        } 
     2351         
     2352        $user_nums = array_flip($user_ids); 
    23262353 
    23272354  if (count($user_ids) > 0) 
    23282355  { 
    2329     $query = ' 
     2356        $query = ' 
    23302357SELECT user_id, group_id 
    23312358  FROM '.USER_GROUP_TABLE.' 
     
    23332360;'; 
    23342361         
    2335     $result = pwg_query($query); 
     2362                $result = pwg_query($query); 
    23362363         
    23372364    while ($row = pwg_db_fetch_assoc($result)) 
    23382365    { 
    2339       array_push( 
    2340         $users[$user_nums[$row['user_id']]]['groups'], 
     2366        array_push( 
     2367        $users[$user_nums[$row['user_id']]]['groups'], 
    23412368        $row['group_id'] 
    2342       ); 
    2343     } 
    2344   } 
    2345  
    2346   return $users; 
     2369                        ); 
     2370                } 
     2371        } 
     2372 
     2373        return $users; 
    23472374} 
    23482375 
     
    23572384function get_unvalid_user_autotasks() 
    23582385{ 
    2359   global $conf, $page; 
     2386        global $conf, $page; 
    23602387           
    2361   // Get ConfirmMail configuration 
     2388        // Get ConfirmMail configuration 
    23622389  // ----------------------------- 
    23632390  $conf_UAM_ConfirmMail = unserialize($conf['UserAdvManager_ConfirmMail']); 
     
    23652392  $users = array(); 
    23662393 
    2367   // search users depending expiration date 
     2394        // search users depending expiration date 
    23682395  // -------------------------------------- 
    23692396  $query = ' 
     
    23772404ORDER BY ui.registration_date ASC;'; 
    23782405 
    2379   $result = pwg_query($query); 
     2406        $result = pwg_query($query); 
    23802407       
    23812408  while ($row = pwg_db_fetch_assoc($result)) 
    23822409  { 
    23832410    array_push($users, $row); 
    2384   } 
    2385  
    2386   return $users; 
     2411        } 
     2412 
     2413        return $users; 
    23872414} 
    23882415 
     
    23962423function get_ghost_user_list() 
    23972424{ 
    2398   global $conf, $page; 
     2425        global $conf, $page; 
    23992426 
    24002427  $conf_UAM = unserialize($conf['UserAdvManager']); 
     
    24022429  $users = array(); 
    24032430 
    2404   // Search users depending expiration date 
     2431        // Search users depending expiration date 
    24052432  // -------------------------------------- 
    24062433  $query = ' 
     
    24162443ORDER BY lv.lastvisit ASC;'; 
    24172444 
    2418   $result = pwg_query($query); 
     2445        $result = pwg_query($query); 
    24192446       
    24202447  while ($row = pwg_db_fetch_assoc($result)) 
    24212448  { 
    2422     $user = $row; 
     2449        $user = $row; 
    24232450    $user['groups'] = array(); 
    24242451 
    24252452    array_push($users, $user); 
    2426   } 
    2427  
    2428   // Add groups list 
     2453        } 
     2454 
     2455        // Add groups list 
    24292456  // --------------- 
    24302457  $user_ids = array(); 
    24312458  foreach ($users as $i => $user) 
    24322459  { 
    2433     $user_ids[$i] = $user['id']; 
    2434   } 
    2435  
    2436   return $users; 
     2460        $user_ids[$i] = $user['id']; 
     2461        } 
     2462 
     2463        return $users; 
    24372464} 
    24382465 
     
    24462473function get_ghosts_autotasks() 
    24472474{ 
    2448   global $conf, $page; 
     2475        global $conf, $page; 
    24492476 
    24502477  $conf_UAM = unserialize($conf['UserAdvManager']); 
     
    24522479  $users = array(); 
    24532480   
    2454   // Search users depending expiration date and reminder sent 
     2481        // Search users depending expiration date and reminder sent 
    24552482  // -------------------------------------------------------- 
    24562483  $query = ' 
     
    24632490ORDER BY lv.lastvisit ASC;'; 
    24642491 
    2465   $result = pwg_query($query); 
     2492        $result = pwg_query($query); 
    24662493       
    24672494  while ($row = pwg_db_fetch_assoc($result)) 
    24682495  { 
    24692496    array_push($users, $row); 
    2470   } 
    2471    
    2472   return $users; 
     2497        } 
     2498   
     2499        return $users; 
    24732500} 
    24742501 
     
    24822509function get_user_list() 
    24832510{ 
    2484   global $conf, $page; 
     2511        global $conf, $page; 
    24852512   
    24862513  $users = array(); 
    24872514 
    2488   // Search users depending expiration date with exclusion of Adult_Content generic users 
     2515        // Search users depending expiration date with exclusion of Adult_Content generic users 
    24892516  // ------------------------------------------------------------------------------------ 
    24902517  $query = ' 
     
    25022529;'; 
    25032530 
    2504   $result = pwg_query($query); 
     2531        $result = pwg_query($query); 
    25052532       
    25062533  while ($row = pwg_db_fetch_assoc($result)) 
    25072534  { 
    2508     $user = $row; 
     2535        $user = $row; 
    25092536    $user['groups'] = array(); 
    25102537 
    25112538    array_push($users, $user); 
    2512   } 
    2513  
    2514   // Add groups list 
     2539        } 
     2540 
     2541        // Add groups list 
    25152542  // --------------- 
    25162543  $user_ids = array(); 
    25172544  foreach ($users as $i => $user) 
    25182545  { 
    2519     $user_ids[$i] = $user['id']; 
    2520   } 
    2521  
    2522   return $users; 
     2546        $user_ids[$i] = $user['id']; 
     2547        } 
     2548 
     2549        return $users; 
    25232550} 
    25242551 
     
    25342561function expiration($id) 
    25352562{ 
    2536   global $conf, $page; 
     2563        global $conf, $page; 
    25372564           
    2538   // Get ConfirmMail configuration 
     2565        // Get ConfirmMail configuration 
    25392566  // ----------------------------- 
    25402567  $conf_UAM_ConfirmMail = unserialize($conf['UserAdvManager_ConfirmMail']); 
    25412568           
    2542   // Get UAM configuration 
     2569        // Get UAM configuration 
    25432570  // --------------------- 
    25442571  $conf_UAM = unserialize($conf['UserAdvManager']); 
    2545    
    2546   $query = " 
     2572         
     2573        $query = " 
    25472574SELECT registration_date 
    25482575  FROM ".USER_INFOS_TABLE." 
    25492576WHERE user_id = '".$id."' 
    25502577;"; 
    2551   list($registration_date) = pwg_db_fetch_row(pwg_query($query)); 
     2578        list($registration_date) = pwg_db_fetch_row(pwg_query($query)); 
    25522579 
    25532580//              Time limit process              
    25542581// ********************************************   
    2555   if (!empty($registration_date)) 
    2556   { 
    2557     // Dates formating and compare 
     2582        if (!empty($registration_date)) 
     2583  { 
     2584                // Dates formating and compare 
    25582585    // --------------------------- 
    2559     $today = date("d-m-Y"); // Get today's date 
    2560     list($day, $month, $year) = explode('-', $today); // explode date of today             
    2561     $daytimestamp = mktime(0, 0, 0, $month, $day, $year);// Generate UNIX timestamp 
    2562        
    2563     list($regdate, $regtime) = explode(' ', $registration_date); // Explode date and time from registration date 
    2564     list($regyear, $regmonth, $regday) = explode('-', $regdate); // Explode date from registration date 
    2565     $regtimestamp = mktime(0, 0, 0, $regmonth, $regday, $regyear);// Generate UNIX timestamp 
    2566        
    2567     $deltasecs = $daytimestamp - $regtimestamp;// Compare the 2 UNIX timestamps  
    2568     $deltadays = floor($deltasecs / 86400);// Convert result from seconds to days 
    2569  
    2570     // Condition with the value set for time limit 
     2586                $today = date("d-m-Y"); // Get today's date 
     2587                list($day, $month, $year) = explode('-', $today); // explode date of today                                               
     2588                $daytimestamp = mktime(0, 0, 0, $month, $day, $year);// Generate UNIX timestamp 
     2589                 
     2590          list($regdate, $regtime) = explode(' ', $registration_date); // Explode date and time from registration date 
     2591                list($regyear, $regmonth, $regday) = explode('-', $regdate); // Explode date from registration date 
     2592                $regtimestamp = mktime(0, 0, 0, $regmonth, $regday, $regyear);// Generate UNIX timestamp 
     2593                         
     2594                $deltasecs = $daytimestamp - $regtimestamp;// Compare the 2 UNIX timestamps      
     2595                $deltadays = floor($deltasecs / 86400);// Convert result from seconds to days 
     2596 
     2597                // Condition with the value set for time limit 
    25712598    // ------------------------------------------- 
    2572     if ($deltadays <= $conf_UAM_ConfirmMail[1]) // If Nb of days is less than the limit set 
    2573     { 
    2574       return false; 
    2575     } 
    2576     else 
    2577     { 
    2578       return true; 
    2579     } 
    2580   } 
     2599                if ($deltadays <= $conf_UAM_ConfirmMail[1]) // If Nb of days is less than the limit set 
     2600                { 
     2601                        return false; 
     2602                } 
     2603                else 
     2604                { 
     2605                        return true; 
     2606                } 
     2607        } 
    25812608} 
    25822609 
     
    26182645      // On ajoute 1 point pour une minuscule - Adding 1 point to score for a lowercase 
    26192646      // ------------------------------------------------------------------------------ 
    2620       $points = $points + 1; 
    2621  
    2622       // On rajoute le bonus pour une minuscule - Adding bonus points for lowercase 
     2647                  $points = $points + 1; 
     2648 
     2649                  // On rajoute le bonus pour une minuscule - Adding bonus points for lowercase 
    26232650      // -------------------------------------------------------------------------- 
    2624       $point_lowercase = 1; 
     2651                  $point_lowercase = 1; 
    26252652    } 
    26262653    else if ($letters>='A' && $letters <='Z') 
     
    26292656      // ------------------------------------------------------------------------------ 
    26302657      $points = $points + 2; 
    2631      
     2658                 
    26322659      // On rajoute le bonus pour une majuscule - Adding bonus points for uppercase 
    26332660      // -------------------------------------------------------------------------- 
     
    26392666      // ------------------------------------------------------------------------- 
    26402667      $points = $points + 3; 
    2641      
     2668                 
    26422669      // On rajoute le bonus pour un chiffre - Adding bonus points for numbers 
    26432670      // --------------------------------------------------------------------- 
     
    26492676      // -------------------------------------------------------------------------------------------- 
    26502677      $points = $points + 5; 
    2651      
     2678                 
    26522679      // On rajoute le bonus pour un caractère autre - Adding bonus points for special characters 
    26532680      // ---------------------------------------------------------------------------------------- 
     
    27482775  global $conf; 
    27492776 
    2750   // Get UAM configuration 
    2751   // --------------------- 
    2752   $conf_UAM = unserialize($conf['UserAdvManager']); 
    2753  
    2754   // Check for user groups 
    27552777  $query = ' 
    2756 SELECT group_id 
    2757   FROM '.USER_GROUP_TABLE.' 
    2758 WHERE user_id = '.$user_id.' 
    2759   AND group_id = '.$conf_UAM[2].' 
     2778SELECT UAM_validated 
     2779FROM '.USERS_TABLE.' 
     2780WHERE id='.$user_id.' 
    27602781;'; 
    27612782 
    2762   $count1 = pwg_db_num_rows(pwg_query($query)); 
    2763  
    2764   // Check for user status 
    2765   $query = ' 
    2766 SELECT status 
    2767   FROM '.USER_INFOS_TABLE.' 
    2768 WHERE user_id = '.$user_id.' 
    2769   AND status in (\''.$conf_UAM[7].'\') 
    2770 ;'; 
    2771  
    2772   $count2 = pwg_db_num_rows(pwg_query($query)); 
    2773  
    2774   // Check for user privacy level 
    2775   $query = ' 
    2776 SELECT level 
    2777   FROM '.USER_INFOS_TABLE.' 
    2778 WHERE user_id = '.$user_id.' 
    2779   AND level = '.$conf_UAM[35].' 
    2780 ;'; 
    2781  
    2782   $count3 = pwg_db_num_rows(pwg_query($query)); 
    2783  
    2784   $count = $count1 + $count2 + $count3; // Summary of counts 
    2785  
    2786   if ($count == 0) 
    2787   { 
    2788     return true; // User has validated his registration 
    2789   } 
    2790   else 
    2791   { 
    2792     return false; // User has not validated his registration 
    2793   } 
     2783  $result = pwg_db_fetch_assoc(pwg_query($query)); 
     2784 
     2785  if($result['UAM_validated'] == 'true') 
     2786  { 
     2787    return true; 
     2788  } 
     2789  else return false; 
    27942790} 
    27952791 
     
    28552851      else $pwdreset = l10n('UAM_PwdReset_NA'); 
    28562852       
    2857       $visible_user_list[$user_nums[$row['id']]]['plugin_columns'][] = $pwdreset; // Shows users password state in user_list 
     2853                  $visible_user_list[$user_nums[$row['id']]]['plugin_columns'][] = $pwdreset; // Shows users password state in user_list 
    28582854    } 
    28592855  } 
  • extensions/UserAdvManager/trunk/include/upgradedb.inc.php

    r14729 r17887  
    623623  conf_update_param('UserAdvManager', pwg_db_real_escape_string($update_conf)); 
    624624} 
     625 
     626 
     627/* upgrade from 2.40.x to 2.41.0 */ 
     628/* ***************************** */ 
     629function upgrade_2400_2410() 
     630{ 
     631  global $conf; 
     632  $conf_UAM = unserialize($conf['UserAdvManager']); 
     633   
     634  // Piwigo's native tables modifications for validation status - Add UAM_validated column 
     635  // ------------------------------------------------------------------------------------- 
     636  $query = ' 
     637SHOW COLUMNS FROM '.USERS_TABLE.' 
     638LIKE "UAM_validated" 
     639;'; 
     640   
     641  $result = pwg_query($query); 
     642 
     643  if(!pwg_db_fetch_row($result)) 
     644  { 
     645    $q = ' 
     646ALTER TABLE '.USERS_TABLE.' 
     647ADD UAM_validated enum("true","false")  
     648;'; 
     649    pwg_query($q); 
     650  } 
     651 
     652  // Fill UAM_validated column with correct information for registered and validated  users 
     653  // -------------------------------------------------------------------------------------- 
     654  $query = ' 
     655SELECT DISTINCT u.id AS id 
     656FROM '.USERS_TABLE.' AS u 
     657  INNER JOIN '.USER_INFOS_TABLE.' AS ui 
     658    ON u.id = ui.user_id 
     659  LEFT JOIN '.USER_GROUP_TABLE.' AS ug 
     660    ON u.id = ug.user_id 
     661WHERE u.id <> 2'; 
     662 
     663        if ($conf_UAM[3] <> '-1' and $conf_UAM[4] == '-1') 
     664  { 
     665    $query.= ' 
     666  AND ug.group_id = \''.$conf_UAM[3]."'"; 
     667  } 
     668  if ($conf_UAM[3] == '-1' and $conf_UAM[4] <> '-1') 
     669  { 
     670    $query.= ' 
     671  AND ui.status = \''.$conf_UAM[4]."'"; 
     672  } 
     673  if ($conf_UAM[3] <> '-1' and $conf_UAM[4] <> '-1') 
     674  { 
     675    $query.= ' 
     676  AND ug.group_id = \''.$conf_UAM[3]."'"; 
     677  } 
     678  $query.= ';'; 
     679 
     680        $result = pwg_query($query); 
     681 
     682  while($row = mysql_fetch_array($result)) 
     683  { 
     684    $query = ' 
     685UPDATE '.USERS_TABLE.' 
     686SET UAM_validated=true 
     687WHERE id = "'.$row['id'].'" 
     688;'; 
     689    pwg_query($query); 
     690  } 
     691} 
    625692?> 
  • extensions/UserAdvManager/trunk/maintain.inc.php

    r14729 r17887  
    214214  } 
    215215 
     216  // Piwigo's native tables modifications for validation status 
     217  // ---------------------------------------------------------- 
     218  $query = ' 
     219SHOW COLUMNS FROM '.USERS_TABLE.' 
     220LIKE "UAM_validated" 
     221;'; 
     222   
     223  $result = pwg_query($query); 
     224 
     225  if(!pwg_db_fetch_row($result)) 
     226  { 
     227    $q = ' 
     228ALTER TABLE '.USERS_TABLE.' 
     229ADD UAM_validated enum("true","false")  
     230;'; 
     231    pwg_query($q); 
     232  } 
     233 
    216234/* *************************************************************************** */ 
    217235/* **************** END - Database actions and initialization **************** */ 
     
    379397      upgrade_2300_2400(); 
    380398    } 
     399 
     400    if (version_compare($conf['UserAdvManager_Version'], '2.41.0') < 0) 
     401    { 
     402    /* upgrade from version 2.40.x to 2.41.0 */ 
     403    /* ************************************* */ 
     404      upgrade_2400_2410(); 
     405    } 
    381406  } 
    382407 
     
    448473;'; 
    449474  pwg_query($q); 
     475 
     476  $q = ' 
     477ALTER TABLE '.USERS_TABLE.' 
     478DROP UAM_validated  
     479;'; 
     480  pwg_query($q); 
    450481} 
    451482?> 
Note: See TracChangeset for help on using the changeset viewer.