Changeset 17887
- Timestamp:
- Sep 13, 2012, 5:36:56 PM (12 years ago)
- Location:
- extensions/UserAdvManager/trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/UserAdvManager/trunk/changelog.txt.php
r17846 r17887 340 340 Update it_IT, thanks to : Ericnet and virgigiole 341 341 342 -- 2.4 0.6: Bug 2744 fixed - User connexion rejection does not work if no group/status/privacy is set342 -- 2.41.0 : Bug 2744 fixed - User connexion rejection does not work if no group/status/privacy is set 343 343 */ 344 344 ?> -
extensions/UserAdvManager/trunk/include/functions.inc.php
r17886 r17887 68 68 69 69 $userid = get_userid($user['username']); 70 70 71 71 // Looking for existing entry in last visit table 72 72 // ---------------------------------------------- … … 102 102 } 103 103 } 104 // Perform user logout after registration if not validated105 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 } 113 113 } 114 114 … … 456 456 } 457 457 } 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) 459 459 { 460 460 // Logged-in user cleanup, session destruction and redirected to custom page 461 461 // ------------------------------------------------------------------------- 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'); 465 492 } 466 493 } … … 518 545 { 519 546 if (count($collection) > 0) 520 547 { 521 548 // Process if a non-admin nor webmaster user is logged 522 549 // --------------------------------------------------- 523 550 if (in_array($user['id'], $collection)) 524 551 { 525 552 // Check lastvisit reminder state 526 553 // ------------------------------ … … 555 582 redirect(UAM_PATH.'GT_del_account.php'); 556 583 } 557 584 } 558 585 else // Process if an admin or webmaster user is logged 559 586 { … … 586 613 list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();')); 587 614 588 615 $query = " 589 616 UPDATE ".USER_LASTVISIT_TABLE." 590 617 SET lastvisit='".$dbnow."' … … 660 687 // Reset confirmed user status to unvalidated 661 688 // ------------------------------------------ 662 689 $query = ' 663 690 UPDATE '.USER_CONFIRM_MAIL_TABLE.' 664 691 SET date_check = NULL 665 692 WHERE user_id = "'.$user_id.'" 666 693 ;'; 667 694 pwg_query($query); 668 695 669 696 // Get users information for email notification 670 697 // -------------------------------------------- 671 698 $query = ' 672 699 SELECT id, username, mail_address 673 700 FROM '.USERS_TABLE.' 674 701 WHERE id = '.$user_id.' 675 702 ;'; 676 703 $data = pwg_db_fetch_assoc(pwg_query($query)); 677 704 678 705 demotion_mail($user_id, $data['username'], $data['mail_address']); … … 726 753 { 727 754 if (count($collection) > 0) 728 755 { 729 756 // Process if a non-admin nor webmaster user is logged 730 757 // --------------------------------------------------- 731 758 if (in_array($user['id'], $collection)) 732 759 { 733 760 // Check ConfirmMail reminder state 734 761 // -------------------------------- … … 753 780 if (!$reminder and isset($conf_UAM[32]) and $conf_UAM[32] == 'true') 754 781 { 755 782 $typemail = 1; 756 783 757 784 // Get current user informations … … 780 807 redirect(UAM_PATH.'USR_del_account.php'); 781 808 } 782 809 } 783 810 else // Process if an admin or webmaster user is logged 784 811 { … … 908 935 $conf_UAM = unserialize($conf['UserAdvManager']); 909 936 910 911 912 937 include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 938 939 $infos1_perso = ""; 913 940 $infos2_perso = ""; 914 941 $subject = ""; … … 1149 1176 $conf_UAM_ConfirmMail = unserialize($conf['UserAdvManager_ConfirmMail']); 1150 1177 1151 1178 include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 1152 1179 1153 1180 // We have to get the user's language in database … … 1207 1234 $infos1 = get_user_language_desc(preg_replace($patterns, $replacements, $conf_UAM_ConfirmMail[2]))."\n\n"; 1208 1235 } 1209 1236 else $infos1 = l10n(preg_replace($patterns, $replacements, $conf_UAM_ConfirmMail[2]))."\n\n"; 1210 1237 1211 1238 $infos2 = array … … 1214 1241 get_l10n_args('', ''), 1215 1242 ); 1216 1243 } 1217 1244 1218 1245 // Set reminder true … … 1225 1252 pwg_query($query); 1226 1253 1227 1254 break; 1228 1255 1229 1256 case 2: //Generating email content for remind without a new key … … 1278 1305 1279 1306 break; 1280 1307 } 1281 1308 1282 1309 pwg_mail($email, array( … … 1304 1331 $subject = ""; 1305 1332 1306 1333 include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 1307 1334 1308 1335 // We have to get the user's language in database … … 1386 1413 $conf_UAM = unserialize($conf['UserAdvManager']); 1387 1414 1388 1389 1390 1415 include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 1416 1417 $custom_txt = ""; 1391 1418 $subject = ""; 1392 1419 … … 1491 1518 $conf_UAM = unserialize($conf['UserAdvManager']); 1492 1519 1493 1494 1495 1520 include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 1521 1522 $custom_txt = ""; 1496 1523 $subject = ""; 1497 1524 … … 1783 1810 pwg_query($query); 1784 1811 1785 1812 $query = " 1786 1813 UPDATE ".USER_INFOS_TABLE." 1787 1814 SET registration_date = '".$dbnow."' 1788 1815 WHERE user_id = '".$user_id."' 1789 1816 ;"; 1790 1817 pwg_query($query); 1791 1818 1792 1819 return get_absolute_root_url().UAM_PATH.'ConfirmMail.php?key='.$Confirm_Mail_ID.'&userid='.$user_id; … … 1922 1949 if (!empty($registration_date)) 1923 1950 { 1924 1951 // Verify Confirmmail with time limit ON 1925 1952 // ------------------------------------- 1926 1927 1928 1953 if (isset ($conf_UAM_ConfirmMail[1])) 1954 { 1955 // Dates formating and compare 1929 1956 // --------------------------- 1930 1931 list($day, $month, $year) = explode('-', $today); // explode date of today1932 1933 1934 1935 1936 1937 1938 $deltasecs = $daytimestamp - $regtimestamp;// Compare the 2 UNIX timestamps 1939 1940 1941 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 1942 1969 // ------------------------------------------- 1943 1944 1945 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();')); 1946 1973 1947 1974 // Update ConfirmMail table 1948 1975 // ------------------------ 1949 1976 $query = ' 1950 1977 UPDATE '.USER_CONFIRM_MAIL_TABLE.' 1951 1978 SET date_check="'.$dbnow.'", reminder="false" 1952 1979 WHERE id = "'.$id.'" 1953 1980 ;'; 1954 1981 pwg_query($query); 1955 1982 1956 1983 // Update LastVisit table - Force reminder field to false 1957 1984 // Usefull when a user has been automatically downgraded and revalidate its registration 1958 1985 // ------------------------------------------------------------------------------------- 1959 1986 $query = ' 1960 1987 UPDATE '.USER_LASTVISIT_TABLE.' 1961 1988 SET reminder="false" 1962 1989 WHERE user_id = "'.$data['user_id'].'" 1963 1990 ;'; 1964 1991 pwg_query($query); 1965 1992 1966 1967 1968 1993 if ($conf_UAM[2] <> -1) // Delete user from unvalidated users group 1994 { 1995 $query = " 1969 1996 DELETE FROM ".USER_GROUP_TABLE." 1970 1997 WHERE user_id = '".$data['user_id']."' 1971 1998 AND group_id = '".$conf_UAM[2]."' 1972 1999 ;"; 1973 1974 1975 1976 1977 1978 2000 pwg_query($query); 2001 } 2002 2003 if ($conf_UAM[3] <> -1) // Add user to validated users group 2004 { 2005 $query = " 1979 2006 INSERT INTO ".USER_GROUP_TABLE." 1980 2007 (user_id, group_id) … … 1982 2009 ('".$data['user_id']."', '".$conf_UAM[3]."') 1983 2010 ;"; 1984 1985 1986 1987 1988 1989 2011 pwg_query($query); 2012 } 2013 2014 if (($conf_UAM[4] <> -1 or isset($data['status']))) // Change user's status 2015 { 2016 $query = " 1990 2017 UPDATE ".USER_INFOS_TABLE." 1991 2018 SET status = '".(isset($data['status']) ? $data['status'] : $conf_UAM[4])."' 1992 2019 WHERE user_id = '".$data['user_id']."' 1993 2020 ;"; 1994 1995 1996 1997 1998 1999 2021 pwg_query($query); 2022 } 2023 2024 if (($conf_UAM[36] <> -1 or isset($data['level']))) // Change user's privacy level 2025 { 2026 $query = " 2000 2027 UPDATE ".USER_INFOS_TABLE." 2001 2028 SET level = '".(isset($data['level']) ? $data['level'] : $conf_UAM[36])."' 2002 2029 WHERE user_id = '".$data['user_id']."' 2003 2030 ;"; 2004 2005 2006 2007 2031 pwg_query($query); 2032 } 2033 2034 // Refresh user's category cache 2008 2035 // ----------------------------- 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 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 2019 2046 // -------------------------------------- 2020 2021 2022 2047 else 2048 { 2049 list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();')); 2023 2050 2024 2051 // Update ConfirmMail table 2025 2052 // ------------------------ 2026 2053 $query = ' 2027 2054 UPDATE '.USER_CONFIRM_MAIL_TABLE.' 2028 2055 SET date_check="'.$dbnow.'" 2029 2056 WHERE id = "'.$id.'" 2030 2057 ;'; 2031 2058 pwg_query($query); 2032 2059 2033 2060 // Update LastVisit table - Force reminder field to false 2034 2061 // Usefull when a user has been automatically downgraded and revalidate its registration 2035 2062 // ------------------------------------------------------------------------------------- 2036 2063 $query = ' 2037 2064 UPDATE '.USER_LASTVISIT_TABLE.' 2038 2065 SET reminder="false" … … 2041 2068 pwg_query($query); 2042 2069 2043 2044 2045 2070 if ($conf_UAM[2] <> -1) // Delete user from unvalidated users group 2071 { 2072 $query = " 2046 2073 DELETE FROM ".USER_GROUP_TABLE." 2047 2074 WHERE user_id = '".$data['user_id']."' 2048 2075 AND group_id = '".$conf_UAM[2]."' 2049 2076 ;"; 2050 2051 2077 pwg_query($query); 2078 } 2052 2079 2053 2054 2055 2080 if ($conf_UAM[3] <> -1) 2081 { 2082 $query = " 2056 2083 DELETE FROM ".USER_GROUP_TABLE." 2057 2084 WHERE user_id = '".$data['user_id']."' 2058 2085 AND group_id = '".$conf_UAM[3]."' 2059 2086 ;"; 2060 2061 2062 2087 pwg_query($query); 2088 2089 $query = " 2063 2090 INSERT INTO ".USER_GROUP_TABLE." 2064 2091 (user_id, group_id) … … 2066 2093 ('".$data['user_id']."', '".$conf_UAM[3]."') 2067 2094 ;"; 2068 2069 2070 2071 2072 2073 2095 pwg_query($query); 2096 } 2097 2098 if (($conf_UAM[4] <> -1 or isset($data['status']))) // Change user's status 2099 { 2100 $query = " 2074 2101 UPDATE ".USER_INFOS_TABLE." 2075 2102 SET status = '".(isset($data['status']) ? $data['status'] : $conf_UAM[4])."' 2076 2103 WHERE user_id = '".$data['user_id']."' 2077 2104 ;"; 2078 2079 2080 2081 2082 2083 2105 pwg_query($query); 2106 } 2107 2108 if (($conf_UAM[36] <> -1 or isset($data['level']))) // Change user's privacy level 2109 { 2110 $query = " 2084 2111 UPDATE ".USER_INFOS_TABLE." 2085 2112 SET level = '".(isset($data['level']) ? $data['level'] : $conf_UAM[36])."' 2086 2113 WHERE user_id = '".$data['user_id']."' 2087 2114 ;"; 2088 2089 2090 2091 2115 pwg_query($query); 2116 } 2117 2118 // Refresh user's category cache 2092 2119 // ----------------------------- 2093 2094 2095 2096 2097 2098 2120 invalidate_user_cache(); 2121 2122 return true; 2123 } 2124 } 2125 } 2099 2126 else if (!empty($data) and !is_null($data['date_check'])) 2100 2127 { 2101 2128 return false; 2102 2129 } 2103 2130 } 2104 2131 else 2105 2132 return false; … … 2123 2150 list($dbnow) = pwg_db_fetch_row(pwg_query('SELECT NOW();')); 2124 2151 2125 2152 $query = " 2126 2153 UPDATE ".USER_CONFIRM_MAIL_TABLE." 2127 2154 SET date_check='".$dbnow."' … … 2132 2159 2133 2160 if ($conf_UAM[2] <> -1) // Delete user from waiting group 2134 2161 { 2135 2162 $query = " 2136 2163 DELETE FROM ".USER_GROUP_TABLE." … … 2138 2165 AND group_id = '".$conf_UAM[2]."' 2139 2166 ;"; 2140 2141 } 2142 2143 2144 2167 pwg_query($query); 2168 } 2169 2170 if ($conf_UAM[3] <> -1) // Set user's valid group 2171 { 2145 2172 $query = " 2146 2173 DELETE FROM ".USER_GROUP_TABLE." … … 2149 2176 ;"; 2150 2177 pwg_query($query); 2151 2152 2178 2179 $query = " 2153 2180 INSERT INTO ".USER_GROUP_TABLE." 2154 2181 (user_id, group_id) … … 2156 2183 ('".$id."', '".$conf_UAM[3]."') 2157 2184 ;"; 2158 2159 } 2160 2161 2162 2185 pwg_query($query); 2186 } 2187 2188 if ($conf_UAM[4] <> -1) // Set user's valid status 2189 { 2163 2190 $query = " 2164 2191 UPDATE ".USER_INFOS_TABLE." … … 2166 2193 WHERE user_id = '".$id."' 2167 2194 ;"; 2168 2169 } 2170 2171 2172 2195 pwg_query($query); 2196 } 2197 2198 if ($conf_UAM[36] <> -1) // Set user's valid privacy level 2199 { 2173 2200 $query = " 2174 2201 UPDATE ".USER_INFOS_TABLE." … … 2176 2203 WHERE user_id = '".$id."' 2177 2204 ;"; 2178 2205 pwg_query($query); 2179 2206 } 2180 2207 } … … 2229 2256 $conf_UAM = unserialize($conf['UserAdvManager']); 2230 2257 2231 2232 2233 2234 2235 2236 2237 2238 { 2239 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 } 2243 2270 else 2244 2271 { … … 2256 2283 function get_unvalid_user_list() 2257 2284 { 2258 2285 global $conf, $page; 2259 2286 2260 2287 // Get ConfirmMail configuration 2261 2288 // ----------------------------- 2262 2289 $conf_UAM_ConfirmMail = unserialize($conf['UserAdvManager_ConfirmMail']); … … 2267 2294 $users = array(); 2268 2295 2269 2296 // Search users depending expiration date 2270 2297 // -------------------------------------- 2271 2298 $query = ' … … 2286 2313 OR TO_DAYS(NOW()) - TO_DAYS(ui.registration_date) < "'.$conf_UAM_ConfirmMail[1].'")'; 2287 2314 2288 2315 if ($conf_UAM[2] <> '-1' and $conf_UAM[7] == '-1') 2289 2316 { 2290 2317 $query.= ' … … 2305 2332 ;'; 2306 2333 2307 2334 $result = pwg_query($query); 2308 2335 2309 2336 while ($row = pwg_db_fetch_assoc($result)) 2310 2337 { 2311 2338 $user = $row; 2312 2339 $user['groups'] = array(); 2313 2340 2314 2341 array_push($users, $user); 2315 2316 2317 2342 } 2343 2344 // Add groups list 2318 2345 // --------------- 2319 2346 $user_ids = array(); 2320 2347 foreach ($users as $i => $user) 2321 2348 { 2322 2323 2324 2325 2349 $user_ids[$i] = $user['id']; 2350 } 2351 2352 $user_nums = array_flip($user_ids); 2326 2353 2327 2354 if (count($user_ids) > 0) 2328 2355 { 2329 2356 $query = ' 2330 2357 SELECT user_id, group_id 2331 2358 FROM '.USER_GROUP_TABLE.' … … 2333 2360 ;'; 2334 2361 2335 2362 $result = pwg_query($query); 2336 2363 2337 2364 while ($row = pwg_db_fetch_assoc($result)) 2338 2365 { 2339 2340 2366 array_push( 2367 $users[$user_nums[$row['user_id']]]['groups'], 2341 2368 $row['group_id'] 2342 2343 2344 2345 2346 2369 ); 2370 } 2371 } 2372 2373 return $users; 2347 2374 } 2348 2375 … … 2357 2384 function get_unvalid_user_autotasks() 2358 2385 { 2359 2386 global $conf, $page; 2360 2387 2361 2388 // Get ConfirmMail configuration 2362 2389 // ----------------------------- 2363 2390 $conf_UAM_ConfirmMail = unserialize($conf['UserAdvManager_ConfirmMail']); … … 2365 2392 $users = array(); 2366 2393 2367 2394 // search users depending expiration date 2368 2395 // -------------------------------------- 2369 2396 $query = ' … … 2377 2404 ORDER BY ui.registration_date ASC;'; 2378 2405 2379 2406 $result = pwg_query($query); 2380 2407 2381 2408 while ($row = pwg_db_fetch_assoc($result)) 2382 2409 { 2383 2410 array_push($users, $row); 2384 2385 2386 2411 } 2412 2413 return $users; 2387 2414 } 2388 2415 … … 2396 2423 function get_ghost_user_list() 2397 2424 { 2398 2425 global $conf, $page; 2399 2426 2400 2427 $conf_UAM = unserialize($conf['UserAdvManager']); … … 2402 2429 $users = array(); 2403 2430 2404 2431 // Search users depending expiration date 2405 2432 // -------------------------------------- 2406 2433 $query = ' … … 2416 2443 ORDER BY lv.lastvisit ASC;'; 2417 2444 2418 2445 $result = pwg_query($query); 2419 2446 2420 2447 while ($row = pwg_db_fetch_assoc($result)) 2421 2448 { 2422 2449 $user = $row; 2423 2450 $user['groups'] = array(); 2424 2451 2425 2452 array_push($users, $user); 2426 2427 2428 2453 } 2454 2455 // Add groups list 2429 2456 // --------------- 2430 2457 $user_ids = array(); 2431 2458 foreach ($users as $i => $user) 2432 2459 { 2433 2434 2435 2436 2460 $user_ids[$i] = $user['id']; 2461 } 2462 2463 return $users; 2437 2464 } 2438 2465 … … 2446 2473 function get_ghosts_autotasks() 2447 2474 { 2448 2475 global $conf, $page; 2449 2476 2450 2477 $conf_UAM = unserialize($conf['UserAdvManager']); … … 2452 2479 $users = array(); 2453 2480 2454 2481 // Search users depending expiration date and reminder sent 2455 2482 // -------------------------------------------------------- 2456 2483 $query = ' … … 2463 2490 ORDER BY lv.lastvisit ASC;'; 2464 2491 2465 2492 $result = pwg_query($query); 2466 2493 2467 2494 while ($row = pwg_db_fetch_assoc($result)) 2468 2495 { 2469 2496 array_push($users, $row); 2470 2471 2472 2497 } 2498 2499 return $users; 2473 2500 } 2474 2501 … … 2482 2509 function get_user_list() 2483 2510 { 2484 2511 global $conf, $page; 2485 2512 2486 2513 $users = array(); 2487 2514 2488 2515 // Search users depending expiration date with exclusion of Adult_Content generic users 2489 2516 // ------------------------------------------------------------------------------------ 2490 2517 $query = ' … … 2502 2529 ;'; 2503 2530 2504 2531 $result = pwg_query($query); 2505 2532 2506 2533 while ($row = pwg_db_fetch_assoc($result)) 2507 2534 { 2508 2535 $user = $row; 2509 2536 $user['groups'] = array(); 2510 2537 2511 2538 array_push($users, $user); 2512 2513 2514 2539 } 2540 2541 // Add groups list 2515 2542 // --------------- 2516 2543 $user_ids = array(); 2517 2544 foreach ($users as $i => $user) 2518 2545 { 2519 2520 2521 2522 2546 $user_ids[$i] = $user['id']; 2547 } 2548 2549 return $users; 2523 2550 } 2524 2551 … … 2534 2561 function expiration($id) 2535 2562 { 2536 2563 global $conf, $page; 2537 2564 2538 2565 // Get ConfirmMail configuration 2539 2566 // ----------------------------- 2540 2567 $conf_UAM_ConfirmMail = unserialize($conf['UserAdvManager_ConfirmMail']); 2541 2568 2542 2569 // Get UAM configuration 2543 2570 // --------------------- 2544 2571 $conf_UAM = unserialize($conf['UserAdvManager']); 2545 2546 2572 2573 $query = " 2547 2574 SELECT registration_date 2548 2575 FROM ".USER_INFOS_TABLE." 2549 2576 WHERE user_id = '".$id."' 2550 2577 ;"; 2551 2578 list($registration_date) = pwg_db_fetch_row(pwg_query($query)); 2552 2579 2553 2580 // Time limit process 2554 2581 // ******************************************** 2555 2556 { 2557 2582 if (!empty($registration_date)) 2583 { 2584 // Dates formating and compare 2558 2585 // --------------------------- 2559 2560 list($day, $month, $year) = explode('-', $today); // explode date of today2561 2562 2563 2564 2565 2566 2567 $deltasecs = $daytimestamp - $regtimestamp;// Compare the 2 UNIX timestamps 2568 2569 2570 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 2571 2598 // ------------------------------------------- 2572 2573 2574 2575 2576 2577 2578 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 } 2581 2608 } 2582 2609 … … 2618 2645 // On ajoute 1 point pour une minuscule - Adding 1 point to score for a lowercase 2619 2646 // ------------------------------------------------------------------------------ 2620 2621 2622 2647 $points = $points + 1; 2648 2649 // On rajoute le bonus pour une minuscule - Adding bonus points for lowercase 2623 2650 // -------------------------------------------------------------------------- 2624 2651 $point_lowercase = 1; 2625 2652 } 2626 2653 else if ($letters>='A' && $letters <='Z') … … 2629 2656 // ------------------------------------------------------------------------------ 2630 2657 $points = $points + 2; 2631 2658 2632 2659 // On rajoute le bonus pour une majuscule - Adding bonus points for uppercase 2633 2660 // -------------------------------------------------------------------------- … … 2639 2666 // ------------------------------------------------------------------------- 2640 2667 $points = $points + 3; 2641 2668 2642 2669 // On rajoute le bonus pour un chiffre - Adding bonus points for numbers 2643 2670 // --------------------------------------------------------------------- … … 2649 2676 // -------------------------------------------------------------------------------------------- 2650 2677 $points = $points + 5; 2651 2678 2652 2679 // On rajoute le bonus pour un caractère autre - Adding bonus points for special characters 2653 2680 // ---------------------------------------------------------------------------------------- … … 2748 2775 global $conf; 2749 2776 2750 // Get UAM configuration2751 // ---------------------2752 $conf_UAM = unserialize($conf['UserAdvManager']);2753 2754 // Check for user groups2755 2777 $query = ' 2756 SELECT group_id 2757 FROM '.USER_GROUP_TABLE.' 2758 WHERE user_id = '.$user_id.' 2759 AND group_id = '.$conf_UAM[2].' 2778 SELECT UAM_validated 2779 FROM '.USERS_TABLE.' 2780 WHERE id='.$user_id.' 2760 2781 ;'; 2761 2782 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; 2794 2790 } 2795 2791 … … 2855 2851 else $pwdreset = l10n('UAM_PwdReset_NA'); 2856 2852 2857 2853 $visible_user_list[$user_nums[$row['id']]]['plugin_columns'][] = $pwdreset; // Shows users password state in user_list 2858 2854 } 2859 2855 } -
extensions/UserAdvManager/trunk/include/upgradedb.inc.php
r14729 r17887 623 623 conf_update_param('UserAdvManager', pwg_db_real_escape_string($update_conf)); 624 624 } 625 626 627 /* upgrade from 2.40.x to 2.41.0 */ 628 /* ***************************** */ 629 function 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 = ' 637 SHOW COLUMNS FROM '.USERS_TABLE.' 638 LIKE "UAM_validated" 639 ;'; 640 641 $result = pwg_query($query); 642 643 if(!pwg_db_fetch_row($result)) 644 { 645 $q = ' 646 ALTER TABLE '.USERS_TABLE.' 647 ADD 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 = ' 655 SELECT DISTINCT u.id AS id 656 FROM '.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 661 WHERE 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 = ' 685 UPDATE '.USERS_TABLE.' 686 SET UAM_validated=true 687 WHERE id = "'.$row['id'].'" 688 ;'; 689 pwg_query($query); 690 } 691 } 625 692 ?> -
extensions/UserAdvManager/trunk/maintain.inc.php
r14729 r17887 214 214 } 215 215 216 // Piwigo's native tables modifications for validation status 217 // ---------------------------------------------------------- 218 $query = ' 219 SHOW COLUMNS FROM '.USERS_TABLE.' 220 LIKE "UAM_validated" 221 ;'; 222 223 $result = pwg_query($query); 224 225 if(!pwg_db_fetch_row($result)) 226 { 227 $q = ' 228 ALTER TABLE '.USERS_TABLE.' 229 ADD UAM_validated enum("true","false") 230 ;'; 231 pwg_query($q); 232 } 233 216 234 /* *************************************************************************** */ 217 235 /* **************** END - Database actions and initialization **************** */ … … 379 397 upgrade_2300_2400(); 380 398 } 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 } 381 406 } 382 407 … … 448 473 ;'; 449 474 pwg_query($q); 475 476 $q = ' 477 ALTER TABLE '.USERS_TABLE.' 478 DROP UAM_validated 479 ;'; 480 pwg_query($q); 450 481 } 451 482 ?>
Note: See TracChangeset
for help on using the changeset viewer.