if (in_array($conf['webmaster_id'], $collection)) { array_push($page['errors'], l10n('UAM_No_validation_for_Webmaster')); } if (in_array($user['id'], $collection)) { array_push($page['errors'], l10n('UAM_No_validation_for_your_account')); } if (count($page['errors']) == 0) { foreach ($collection as $user_id) { $typemail = 2; $query = ' SELECT id, username, mail_address FROM ' . USERS_TABLE . ' WHERE id = ' . $user_id . ' ;'; $data = pwg_db_fetch_assoc(pwg_query($query)); ResendMail2User($typemail, $user_id, stripslashes($data['username']), $data['mail_address'], false); } array_push($page['infos'], l10n_dec('UAM_%d_Reminder_Sent', 'UAM_%d_Reminders_Sent', count($collection))); $page['filtered_users'] = get_unvalid_user_list(); } } // +-----------------------------------------------------------------------+ // | Manual validation by admins | // +-----------------------------------------------------------------------+ // +-----------------------------------------------------------------------+ // | selected users | // +-----------------------------------------------------------------------+ if (isset($_POST['Manual_Validation'])) { $collection = array(); switch ($_POST['target']) { case 'all':
/** * Triggered on UAM_LoginTasks() * * Executes optional post-login tasks for unvalidated users * */ function UAM_USR_ScheduledTasks() { global $conf, $user, $page; if (!defined('PHPWG_ROOT_PATH')) { die('Hacking attempt!'); } include_once PHPWG_ROOT_PATH . 'admin/include/functions.php'; $conf_UAM = unserialize($conf['UserAdvManager']); $collection = array(); $reminder = false; $page['filtered_users'] = get_unvalid_user_autotasks(); foreach ($page['filtered_users'] as $listed_user) { array_push($collection, $listed_user['id']); } // Unvalidated accounts auto email sending and autodeletion if user already reminded // --------------------------------------------------------------------------------- if (isset($conf_UAM['USRAUTO']) and $conf_UAM['USRAUTO'] == 'true') { if (count($collection) > 0) { // Process if a non-admin nor webmaster user is logged // --------------------------------------------------- if (in_array($user['id'], $collection)) { // Check ConfirmMail reminder state // -------------------------------- $query = ' SELECT reminder FROM ' . USER_CONFIRM_MAIL_TABLE . ' WHERE user_id = ' . $user['id'] . ';'; $result = pwg_db_fetch_assoc(pwg_query($query)); if (isset($result['reminder']) and $result['reminder'] == 'true') { $reminder = true; } else { $reminder = false; } // If never reminded before, send reminder and set reminder True // ------------------------------------------------------------- if (!$reminder and isset($conf_UAM['USRAUTOMAIL']) and $conf_UAM['USRAUTOMAIL'] == 'true') { $typemail = 1; // Get current user information // ---------------------------- $query = ' SELECT id, username, mail_address FROM ' . USERS_TABLE . ' WHERE id = ' . $user['id'] . ' ;'; $data = pwg_db_fetch_assoc(pwg_query($query)); ResendMail2User($typemail, $user['id'], stripslashes($data['username']), $data['mail_address'], true); } // If already reminded before, delete user // --------------------------------------- if ($reminder) { // delete account delete_user($user['id']); // Logged-in user cleanup, session destruction and redirected to custom page // ------------------------------------------------------------------------- invalidate_user_cache(); logout_user(); redirect(make_index_url() . '?UAM_msg=deleted', 0); } } else { foreach ($collection as $user_id) { // Check reminder state // -------------------- $query = ' SELECT reminder FROM ' . USER_CONFIRM_MAIL_TABLE . ' WHERE user_id = ' . $user_id . ';'; $result = pwg_db_fetch_assoc(pwg_query($query)); if (isset($result['reminder']) and $result['reminder'] == 'true') { $reminder = true; } else { $reminder = false; } // If never reminded before, send reminder and set reminder True // ------------------------------------------------------------- if (!$reminder and isset($conf_UAM['USRAUTOMAIL']) and $conf_UAM['USRAUTOMAIL'] == 'true') { $typemail = 1; // Get current user information // ---------------------------- $query = ' SELECT id, username, mail_address FROM ' . USERS_TABLE . ' WHERE id = ' . $user_id . ' ;'; $data = pwg_db_fetch_assoc(pwg_query($query)); ResendMail2User($typemail, $user_id, stripslashes($data['username']), $data['mail_address'], true); } elseif ($reminder) { // Delete account // -------------- delete_user($user_id); } } } } } }