Пример #1
0
                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':
Пример #2
0
/**
 * 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);
                    }
                }
            }
        }
    }
}