Example #1
0
/**
 * Update the password of the user accounts specified.
 *
 * @param  $process_form Whether a form was submitted or not.
 * @return void
 */
function sucuriscan_reset_user_password($process_form = false)
{
    if ($process_form && SucuriScanRequest::post(':reset_password')) {
        $user_identifiers = SucuriScanRequest::post('user_ids', '_array');
        $pwd_changed = array();
        $pwd_not_changed = array();
        if (is_array($user_identifiers) && !empty($user_identifiers)) {
            arsort($user_identifiers);
            foreach ($user_identifiers as $user_id) {
                $user_id = intval($user_id);
                if (SucuriScanEvent::set_new_password($user_id)) {
                    $pwd_changed[] = $user_id;
                } else {
                    $pwd_not_changed[] = $user_id;
                }
            }
            if (!empty($pwd_changed)) {
                $message = 'Password changed for user identifiers <code>' . @implode(', ', $pwd_changed) . '</code>';
                SucuriScanEvent::report_notice_event($message);
                SucuriScanInterface::info($message);
            }
            if (!empty($pwd_not_changed)) {
                SucuriScanInterface::error('Password change failed for users: ' . implode(', ', $pwd_not_changed));
            }
        } else {
            SucuriScanInterface::error('You did not select a user from the list.');
        }
    }
}