* @param  array   $ids    IDs of addresses
*/
_pcpin_loadClass('ipfilter');
$ipfilter = new PCPIN_IPFilter($session);
if (!isset($ids) || !is_array($ids)) {
    $ids = array();
}
$errortext = array();
if (is_object($session) && !empty($current_user->id) && $current_user->is_admin === 'y') {
    if (!empty($ids)) {
        $xmlwriter->setHeaderMessage($l->g('selected_addresses_were_deleted'));
        $xmlwriter->setHeaderStatus(0);
        foreach ($ids as $id) {
            if ($ipfilter->_db_getList('address', 'id = ' . $id, 1)) {
                // Check wether IP address can be deleted from filter without blocking current user
                if ($ipfilter->isBlocked(PCPIN_CLIENT_IP, $id)) {
                    // Not good
                    $errortext[] = str_replace('[ADDRESS]', $ipfilter->_db_list[0]['address'], $l->g('own_ip_cant_be_deleted'));
                } else {
                    // Delete address
                    $ipfilter->deleteAddress($id);
                }
            }
        }
    } else {
        $xmlwriter->setHeaderMessage($l->g('error'));
        $xmlwriter->setHeaderStatus(1);
    }
}
if (!empty($errortext)) {
    $xmlwriter->setHeaderStatus(1);
}
if (!isset($password) || !is_scalar($password)) {
    $password = '';
}
if (!isset($time_zone_offset) || !is_scalar($time_zone_offset)) {
    $time_zone_offset = date('Z');
}
if (!isset($language_id) || !is_scalar($language_id)) {
    $language_id = 0;
}
$password_ok = false;
$new_password_ok = false;
$userdata = array();
$xmlwriter->setHeaderMessage($l->g('login_failed'));
// Check IP address against IP filter
if (false !== ($blocked = $ipfilter->isBlocked(PCPIN_CLIENT_IP))) {
    // IP address is blocked
    if ($blocked['expires'] == '0000-00-00 00:00:00') {
        // IP is permanently banned
        if ($blocked['reason'] != '') {
            $xmlwriter->setHeaderMessage(str_replace('[REASON]', $blocked['reason'], $l->g('you_are_banned_permanently_with_reason')));
        } else {
            $xmlwriter->setHeaderMessage($l->g('you_are_banned_permanently_without_reason'));
        }
    } else {
        // IP is temporarily banned
        $banned_until_str = $current_user->makeDate(PCPIN_Common::datetimeToTimestamp($blocked['expires']));
        if ($blocked['reason'] != '') {
            $xmlwriter->setHeaderMessage(str_replace('[REASON]', $blocked['reason'], $l->g('you_are_banned_with_reason')));
        } else {
            $xmlwriter->setHeaderMessage($l->g('you_are_banned_without_reason'));