}
if (!isset($password) || !is_scalar($password)) {
    $password = '';
}
if (!isset($image) || !pcpin_ctype_digit($image)) {
    $image = 0;
}
if (!empty($current_user->id) && $current_user->is_admin === 'y' && $session->_s_user_id == $current_user->id) {
    $xmlwriter->setHeaderStatus(1);
    $xmlwriter->setHeaderMessage($l->g('error'));
    if (!empty($room_id) && $room->_db_getList('id = ' . $room_id)) {
        // Room exists
        $xmlwriter->setHeaderStatus(0);
        $xmlwriter->setHeaderMessage('OK');
        $room_data = $room->_db_list[0];
        $room->_db_freelist();
        switch ($action) {
            case 'change_listpos':
                if (empty($dir)) {
                    // Move up
                    if ($room->_db_getList('id,listpos', 'category_id = ' . $room_data['category_id'], 'listpos < ' . $room_data['listpos'], 'listpos DESC', 1)) {
                        $higher_room_id = $room->_db_list[0]['id'];
                        $higher_room_listpos = $room->_db_list[0]['listpos'];
                        // Update room
                        $room->updateRoom($room_id, false, true, null, null, null, null, null, null, null, null, null, $higher_room_listpos);
                        // Update higher room
                        $room->updateRoom($higher_room_id, false, true, null, null, null, null, null, null, null, null, null, $room_data['listpos']);
                    }
                } else {
                    // Move down
                    if ($room->_db_getList('id,listpos', 'category_id = ' . $room_data['category_id'], 'listpos > ' . $room_data['listpos'], 'listpos ASC', 1)) {