{"translation-revision-date":"2025-09-18 08:02+0000","generator":"WP-CLI\/2.12.0","source":"gutenberg\/edit-pages-panel\/src\/components\/PagesList.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"ar","plural-forms":"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100 >= 3 && n%100<=10 ? 3 : n%100 >= 11 && n%100<=99 ? 4 : 5;"},"Actions":["\u0627\u0644\u0625\u062c\u0631\u0627\u0621\u0627\u062a"],"Current page":["\u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629"],"Edit":["\u062a\u062d\u0631\u064a\u0631"],"Edit Page":["\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0635\u0641\u062d\u0629"],"Loading...":["\u062c\u0627\u0631\u064a \u0627\u0644\u062a\u062d\u0645\u064a\u0644..."],"No pages found.":["\u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0623\u064a \u0635\u0641\u062d\u0627\u062a."],"Title":["\u0627\u0644\u0639\u0646\u0648\u0627\u0646"]}}} /** * Copyright (C) 2014-2025 ServMask Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * Attribution: This code is part of the All-in-One WP Migration plugin, developed by * * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ */ if ( ! defined( 'ABSPATH' ) ) { die( 'Kangaroos cannot jump here' ); } class Ai1wm_Export_Content { public static function execute( $params ) { // Set archive bytes offset if ( isset( $params['archive_bytes_offset'] ) ) { $archive_bytes_offset = (int) $params['archive_bytes_offset']; } else { $archive_bytes_offset = ai1wm_archive_bytes( $params ); } // Set file bytes offset if ( isset( $params['file_bytes_offset'] ) ) { $file_bytes_offset = (int) $params['file_bytes_offset']; } else { $file_bytes_offset = 0; } // Set content bytes offset if ( isset( $params['content_bytes_offset'] ) ) { $content_bytes_offset = (int) $params['content_bytes_offset']; } else { $content_bytes_offset = 0; } // Get processed files size if ( isset( $params['processed_files_size'] ) ) { $processed_files_size = (int) $params['processed_files_size']; } else { $processed_files_size = 0; } // Get total content files size if ( isset( $params['total_content_files_size'] ) ) { $total_content_files_size = (int) $params['total_content_files_size']; } else { $total_content_files_size = 1; } // Get total content files count if ( isset( $params['total_content_files_count'] ) ) { $total_content_files_count = (int) $params['total_content_files_count']; } else { $total_content_files_count = 1; } // What percent of files have we processed? $progress = (int) min( ( $processed_files_size / $total_content_files_size ) * 100, 100 ); // Set progress /* translators: 1: Number of files, 2: Progress. */ Ai1wm_Status::info( sprintf( __( 'Archiving %1$d content files...
%2$d%% complete', 'all-in-one-wp-migration' ), $total_content_files_count, $progress ) ); // Flag to hold if file data has been processed $completed = true; // Start time $start = microtime( true ); // Get content list file $content_list = ai1wm_open( ai1wm_content_list_path( $params ), 'r' ); // Set the file pointer at the current index if ( fseek( $content_list, $content_bytes_offset ) !== -1 ) { // Open the archive file for writing $archive = new Ai1wm_Compressor( ai1wm_archive_path( $params ) ); // Set the file pointer to the one that we have saved $archive->set_file_pointer( $archive_bytes_offset ); // Loop over files while ( list( $file_abspath, $file_relpath, $file_size, $file_mtime ) = ai1wm_getcsv( $content_list ) ) { $file_bytes_written = 0; // Add file to archive if ( ( $completed = $archive->add_file( $file_abspath, $file_relpath, $file_bytes_written, $file_bytes_offset ) ) ) { $file_bytes_offset = 0; // Get content bytes offset $content_bytes_offset = ftell( $content_list ); } // Increment processed files size $processed_files_size += $file_bytes_written; // What percent of files have we processed? $progress = (int) min( ( $processed_files_size / $total_content_files_size ) * 100, 100 ); // Set progress /* translators: 1: Number of files, 2: Progress. */ Ai1wm_Status::info( sprintf( __( 'Archiving %1$d content files...
%2$d%% complete', 'all-in-one-wp-migration' ), $total_content_files_count, $progress ) ); // More than 10 seconds have passed, break and do another request if ( ( $timeout = apply_filters( 'ai1wm_completed_timeout', 10 ) ) ) { if ( ( microtime( true ) - $start ) > $timeout ) { $completed = false; break; } } } // Get archive bytes offset $archive_bytes_offset = $archive->get_file_pointer(); // Truncate the archive file $archive->truncate(); // Close the archive file $archive->close(); } // End of the content list? if ( feof( $content_list ) ) { // Unset archive bytes offset unset( $params['archive_bytes_offset'] ); // Unset file bytes offset unset( $params['file_bytes_offset'] ); // Unset content bytes offset unset( $params['content_bytes_offset'] ); // Unset processed files size unset( $params['processed_files_size'] ); // Unset total content files size unset( $params['total_content_files_size'] ); // Unset total content files count unset( $params['total_content_files_count'] ); // Unset completed flag unset( $params['completed'] ); } else { // Set archive bytes offset $params['archive_bytes_offset'] = $archive_bytes_offset; // Set file bytes offset $params['file_bytes_offset'] = $file_bytes_offset; // Set content bytes offset $params['content_bytes_offset'] = $content_bytes_offset; // Set processed files size $params['processed_files_size'] = $processed_files_size; // Set total content files size $params['total_content_files_size'] = $total_content_files_size; // Set total content files count $params['total_content_files_count'] = $total_content_files_count; // Set completed flag $params['completed'] = $completed; } // Close the content list file ai1wm_close( $content_list ); return $params; } } /*! elementor-pro - v3.7.2 - 15-06-2022 */ .e-lottie__container{display:inline-block;max-width:var(--lottie-container-max-width);width:var(--lottie-container-width);opacity:var(--lottie-container-opacity)}.e-lottie__container:hover{opacity:var(--lottie-container-opacity-hover);-webkit-transition-duration:var(--lottie-container-transition-duration-hover);-o-transition-duration:var(--lottie-container-transition-duration-hover);transition-duration:var(--lottie-container-transition-duration-hover)}.e-lottie__container svg,.e-lottie__container svg *{-webkit-transition:none!important;-o-transition:none!important;transition:none!important}.e-lottie__caption{color:var(--caption-color);margin-top:var(--caption-margin-top);text-align:var(--caption-text-align)}/** * Gutena Forms admin submenu separators. */ #toplevel_page_gutena-forms .wp-submenu li.wp-first-item::after, #toplevel_page_gutena-forms .wp-submenu li:has(> a[href*="settings/entries"])::after { content: ""; border-bottom: 1px solid rgba(255, 255, 255, 0.2); display: block; float: left; margin: 8px 0; width: 100%; } import { TextControl, ToggleControl, SelectControl, PanelBody } from '@wordpress/components'; import { useState, useEffect } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; const NotificationSettings = ( { settings, methods } ) => { const { emailFromName, emailNotifyAdmin, adminEmails, adminEmailSubject, replyToEmail, replyToName, replyToLastName, } = settings; const { setAttributes, getEmailFields, getTextFields, } = methods; const [ emailFields, setEmailFields ] = useState( [] ); const [ textFields, setTextFields ] = useState( [] ); useEffect( () => { setEmailFields( getEmailFields() ); setTextFields( getTextFields() ); }, [ getEmailFields, getTextFields ] ); useEffect( () => { if ( ! String( replyToEmail ).trim().length && emailFields[ 1 ] ) { setAttributes( { replyToEmail: emailFields[ 1 ].value } ); } if ( ! String( replyToName ).trim().length && textFields[ 1 ] ) { setAttributes( { replyToName: textFields[ 1 ].value } ); } }, [ emailFields, textFields ] ); return ( <> setAttributes( { emailFromName } ) } /> setAttributes( { emailNotifyAdmin } ) } /> { emailNotifyAdmin ? ( <> setAttributes( { adminEmails } ) } /> setAttributes( { adminEmailSubject } ) } /> setAttributes( { replyToEmail } ) } help={ __( 'Select email field for reply to address', 'gutena-forms' ) } __nextHasNoMarginBottom /> setAttributes( { replyToName } ) } help={ __( 'Select first or full name field for reply to address', 'gutena-forms' ) } __nextHasNoMarginBottom /> setAttributes( { replyToLastName } ) } help={ __( 'Select last name field for reply to address', 'gutena-forms' ) } __nextHasNoMarginBottom /> ) : ( '' ) } ); }; export default NotificationSettings;
postboxes.add_postbox_toggles(pagenow),jQuery(".postbox .hndle").off("click.postboxes",postboxes.handle_click);{"translation-revision-date":"2025-09-18 08:03+0000","generator":"WP-CLI\/2.12.0","source":"gutenberg\/edit-pages-panel\/src\/components\/StoreSetupButton.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"es_MX","plural-forms":"nplurals=2; plural=n != 1;"},"Finish Setup":["Acabado"]}}} // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName use Automattic\Jetpack\Connection\Client; defined( 'VIDEOPRESS_MIN_WIDTH' ) || define( 'VIDEOPRESS_MIN_WIDTH', 60 ); defined( 'VIDEOPRESS_DEFAULT_WIDTH' ) || define( 'VIDEOPRESS_DEFAULT_WIDTH', 640 ); // phpcs:disable Universal.Files.SeparateFunctionsFromOO.Mixed -- TODO: Move classes to appropriately-named class files. /** * VideoPress Privacy constants. */ abstract class VIDEOPRESS_PRIVACY { const IS_PUBLIC = 0; const IS_PRIVATE = 1; const SITE_DEFAULT = 2; } /** * Validate user-supplied guid values against expected inputs * * @since 1.1 * @param string $guid video identifier. * @return bool true if passes validation test */ function videopress_is_valid_guid( $guid ) { if ( ! empty( $guid ) && is_string( $guid ) && strlen( $guid ) === 8 && ctype_alnum( $guid ) ) { return true; } return false; } /** * Validates user-supplied video preload setting. * * @param mixed $value the preload value to validate. * @return bool */ function videopress_is_valid_preload( $value ) { return in_array( strtolower( $value ), array( 'auto', 'metadata', 'none' ), true ); } /** * Get details about a specific video by GUID: * * @param string $guid Video GUID. * @return object */ function videopress_get_video_details( $guid ) { if ( ! videopress_is_valid_guid( $guid ) ) { return new WP_Error( 'bad-guid-format', __( 'Invalid Video GUID!', 'jetpack-videopress-pkg' ) ); } $version = '1.1'; $endpoint = sprintf( '/videos/%1$s', $guid ); $query_url = sprintf( 'https://public-api.wordpress.com/rest/v%1$s%2$s', $version, $endpoint ); // Look for data in our transient. If nothing, let's make a new query. $data_from_cache = get_transient( 'jetpack_videopress_' . $guid ); if ( false === $data_from_cache ) { $response = wp_remote_get( esc_url_raw( $query_url ) ); $data = json_decode( wp_remote_retrieve_body( $response ) ); // Cache the response for an hour. set_transient( 'jetpack_videopress_' . $guid, $data, HOUR_IN_SECONDS ); } else { $data = $data_from_cache; } /** * Allow functions to modify fetched video details. * * This filter allows third-party code to modify the return data * about a given video. It may involve swapping some data out or * adding new parameters. * * @since 4.0.0 * * @param object $data The data returned by the WPCOM API. See: https://developer.wordpress.com/docs/api/1.1/get/videos/%24guid/ * @param string $guid The GUID of the VideoPress video in question. */ return apply_filters( 'videopress_get_video_details', $data, $guid ); } /** * Similar to `media_sideload_image` -- but returns an ID. * * @param string $url Image URL. * @param int $attachment_id Post ID. * * @return int|mixed|object|WP_Error */ function videopress_download_poster_image( $url, $attachment_id ) { // Set variables for storage, fix file filename for query strings. preg_match( '/[^\?]+\.(jpe?g|jpe|gif|png)\b/i', $url, $matches ); if ( ! $matches ) { return new WP_Error( 'image_sideload_failed', __( 'Invalid image URL', 'jetpack-videopress-pkg' ) ); } $file_array = array(); $file_array['name'] = basename( $matches[0] ); $file_array['tmp_name'] = download_url( $url ); // If error storing temporarily, return the error. if ( is_wp_error( $file_array['tmp_name'] ) ) { return $file_array['tmp_name']; } // Do the validation and storage stuff. $thumbnail_id = media_handle_sideload( $file_array, $attachment_id, null ); // Flag it as poster image, so we can exclude it from display. update_post_meta( $thumbnail_id, 'videopress_poster_image', 1 ); return $thumbnail_id; } /** * Creates a local media library item of a remote VideoPress video. * * @param string $guid Video GUID. * @param int $parent_id Parent post ID. * * @return int|object */ function create_local_media_library_for_videopress_guid( $guid, $parent_id = 0 ) { $vp_data = videopress_get_video_details( $guid ); if ( ! $vp_data || is_wp_error( $vp_data ) ) { return $vp_data; } $args = array( 'post_date' => $vp_data->upload_date, 'post_title' => wp_kses( $vp_data->title, array() ), 'post_content' => wp_kses( $vp_data->description, array() ), 'post_mime_type' => 'video/videopress', 'guid' => sprintf( 'https://videopress.com/v/%s', $guid ), ); $attachment_id = wp_insert_attachment( $args, null, $parent_id ); if ( ! is_wp_error( $attachment_id ) ) { update_post_meta( $attachment_id, 'videopress_guid', $guid ); wp_update_attachment_metadata( $attachment_id, array( 'width' => $vp_data->width, 'height' => $vp_data->height, ) ); $thumbnail_id = videopress_download_poster_image( $vp_data->poster, $attachment_id ); update_post_meta( $attachment_id, '_thumbnail_id', $thumbnail_id ); } return $attachment_id; } /** * Helper that will look for VideoPress media items that are more than 30 minutes old, * that have not had anything attached to them by a wpcom upload and deletes the ghost * attachment. * * These happen primarily because of failed upload attempts. * * @return int The number of items that were cleaned up. */ function videopress_cleanup_media_library() { // phpcs:disable Squiz.PHP.NonExecutableCode.Unreachable -- Function is disabled currently. // Disable this job for now. return 0; $query_args = array( 'post_type' => 'attachment', 'post_status' => 'inherit', 'post_mime_type' => 'video/videopress', 'meta_query' => array( array( 'key' => 'videopress_status', 'value' => 'new', ), ), ); $query = new WP_Query( $query_args ); $cleaned = 0; $now = current_time( 'timestamp' ); // phpcs:ignore WordPress.DateTime.CurrentTimeTimestamp.Requested -- Probably should refactor, but this function is disabled. if ( $query->have_posts() ) { foreach ( $query->posts as $post ) { $post_time = strtotime( $post->post_date_gmt ); // If the post is older than 30 minutes, it is safe to delete it. if ( $now - $post_time > MINUTE_IN_SECONDS * 30 ) { // Force delete the attachment, because we don't want it appearing in the trash. wp_delete_attachment( $post->ID, true ); ++$cleaned; } } } return $cleaned; // phpcs:enable Squiz.PHP.NonExecutableCode.Unreachable } /** * Return an absolute URI for a given filename and guid on the CDN. * No check is performed to ensure the guid exists or the file is present. Simple centralized string builder. * * @param string $guid VideoPress identifier. * @param string $filename name of file associated with the guid (video file name or thumbnail file name). * * @return string Absolute URL of VideoPress file for the given guid. */ function videopress_cdn_file_url( $guid, $filename ) { return "https://videos.files.wordpress.com/{$guid}/{$filename}"; } /** * Get an array of the transcoding status for the given video post. * * @since 4.4 * @param int $post_id Post ID. * @return array|bool Returns an array of statuses if this is a VideoPress post, otherwise it returns false. */ function videopress_get_transcoding_status( $post_id ) { $meta = wp_get_attachment_metadata( $post_id ); // If this has not been processed by videopress, we can skip the rest. if ( ! $meta || ! isset( $meta['file_statuses'] ) ) { return false; } $info = (object) $meta['file_statuses']; $status = array( 'std_mp4' => isset( $info->mp4 ) ? $info->mp4 : null, 'std_ogg' => isset( $info->ogg ) ? $info->ogg : null, 'dvd_mp4' => isset( $info->dvd ) ? $info->dvd : null, 'hd_mp4' => isset( $info->hd ) ? $info->hd : null, ); return $status; } /** * Get the direct url to the video. * * @since 4.4 * @param string $guid VideoPress GUID. * @return string */ function videopress_build_url( $guid ) { // No guid, no videopress url. if ( ! $guid ) { return ''; } return 'https://videopress.com/v/' . $guid; } /** * Create an empty videopress media item that will be filled out later by an xmlrpc * callback from the VideoPress servers. * * @since 4.4 * @param string $title The post_title. * @param string $guid The VideoPress guid. * @return int|WP_Error */ function videopress_create_new_media_item( $title, $guid = null ) { $post = array( 'post_type' => 'attachment', 'post_mime_type' => 'video/videopress', 'post_title' => $title, 'post_content' => '', 'guid' => videopress_build_url( $guid ), ); $media_id = wp_insert_post( $post ); add_post_meta( $media_id, 'videopress_status', 'initiated' ); add_post_meta( $media_id, 'videopress_guid', $guid ); return $media_id; } /** * Merge VideoPress file status metadata. * * @param array $current_status The current status of the video. * @param array $new_meta The new meta data to merge with the current status. * @return array */ function videopress_merge_file_status( $current_status, $new_meta ) { $new_statuses = array(); if ( isset( $new_meta['videopress']['files_status']['hd'] ) ) { $new_statuses['hd'] = $new_meta['videopress']['files_status']['hd']; } if ( isset( $new_meta['videopress']['files_status']['dvd'] ) ) { $new_statuses['dvd'] = $new_meta['videopress']['files_status']['dvd']; } if ( isset( $new_meta['videopress']['files_status']['std']['mp4'] ) ) { $new_statuses['mp4'] = $new_meta['videopress']['files_status']['std']['mp4']; } if ( isset( $new_meta['videopress']['files_status']['std']['ogg'] ) ) { $new_statuses['ogg'] = $new_meta['videopress']['files_status']['std']['ogg']; } foreach ( $new_statuses as $format => $status ) { if ( ! isset( $current_status[ $format ] ) ) { $current_status[ $format ] = $status; continue; } if ( $current_status[ $format ] !== 'DONE' ) { $current_status[ $format ] = $status; } } return $current_status; } /** * Check to see if a video has completed processing. * * @since 4.4 * @param int $post_id Post ID. * @return bool */ function videopress_is_finished_processing( $post_id ) { $post = get_post( $post_id ); if ( is_wp_error( $post ) ) { return false; } $meta = wp_get_attachment_metadata( $post->ID ); if ( ! isset( $meta['videopress']['finished'] ) ) { return false; } return $meta['videopress']['finished']; } /** * Update the meta information status for the given video post. * * @since 4.4 * @param int $post_id Post ID. * @return bool */ function videopress_update_meta_data( $post_id ) { $meta = wp_get_attachment_metadata( $post_id ); // If this has not been processed by VideoPress, we can skip the rest. if ( ! $meta || ! isset( $meta['videopress'] ) ) { return false; } $info = (object) $meta['videopress']; $result = Client::wpcom_json_api_request_as_blog( 'videos/' . $info->guid ); if ( is_wp_error( $result ) ) { return false; } $response = json_decode( $result['body'], true ); // Update the attachment metadata. $meta['videopress'] = $response; wp_update_attachment_metadata( $post_id, $meta ); return true; } /** * Check to see if this is a VideoPress post that hasn't had a guid set yet. * * @param int $post_id Post ID. * @return bool */ function videopress_is_attachment_without_guid( $post_id ) { $post = get_post( $post_id ); if ( is_wp_error( $post ) ) { return false; } if ( $post->post_mime_type !== 'video/videopress' ) { return false; } $videopress_guid = get_post_meta( $post_id, 'videopress_guid', true ); if ( $videopress_guid ) { return false; } return true; } /** * Check to see if this is a VideoPress attachment. * * @param int $post_id Post ID. * @return bool */ function is_videopress_attachment( $post_id ) { $post = get_post( $post_id ); if ( ! $post instanceof WP_Post ) { return false; } if ( $post->post_mime_type !== 'video/videopress' ) { return false; } return true; } /** * Get the video update path * * @since 4.4 * @param string $guid VideoPress GUID. * @return string */ function videopress_make_video_get_path( $guid ) { return sprintf( '%s/rest/v%s/videos/%s', JETPACK__WPCOM_JSON_API_BASE, Client::WPCOM_JSON_API_VERSION, $guid ); } /** * Get the upload api path. * * @since 4.4 * @param int $blog_id The id of the blog we're uploading to. * @return string */ function videopress_make_media_upload_path( $blog_id ) { return sprintf( 'https://public-api.wordpress.com/rest/v1.1/sites/%s/media/new?locale=%s', $blog_id, get_locale() ); } /** * Get the resumable upload api path. * * @since 4.4 * @param int $blog_id The id of the blog we're uploading to. * @return string */ function videopress_make_resumable_upload_path( $blog_id ) { return sprintf( 'https://public-api.wordpress.com/rest/v1.1/video-uploads/%s/', $blog_id ); } /** * This is a mock of the internal VideoPress method, which is meant to duplicate the functionality * of the WPCOM API, so that the Jetpack REST API returns the same data with no modifications. * * @param int $blog_id Blog ID. * @param int $post_id Post ID. * @return stdClass */ function video_get_info_by_blogpostid( $blog_id, $post_id ) { $post = get_post( $post_id ); $video_info = new stdClass(); $video_info->post_id = 0; $video_info->description = ''; $video_info->title = ''; $video_info->caption = ''; $video_info->blog_id = $blog_id; $video_info->guid = null; $video_info->finish_date_gmt = '0000-00-00 00:00:00'; $video_info->rating = null; $video_info->privacy_setting = VIDEOPRESS_PRIVACY::SITE_DEFAULT; if ( ! $post ) { return $video_info; } $video_info->post_id = $post_id; $video_info->description = $post->post_content; $video_info->title = $post->post_title; $video_info->caption = $post->post_excerpt; if ( 'video/videopress' !== $post->post_mime_type ) { return $video_info; } // Since this is a VideoPress post, lt's fill out the rest of the object. $video_info->guid = get_post_meta( $post_id, 'videopress_guid', true ); $meta = wp_get_attachment_metadata( $post_id ); if ( $meta && isset( $meta['videopress'] ) ) { $videopress_meta = $meta['videopress']; $video_info->rating = isset( $videopress_meta['rating'] ) ? $videopress_meta['rating'] : null; $video_info->allow_download = isset( $videopress_meta['allow_download'] ) ? $videopress_meta['allow_download'] : 0; $video_info->display_embed = isset( $videopress_meta['display_embed'] ) ? $videopress_meta['display_embed'] : 0; $video_info->privacy_setting = ! isset( $videopress_meta['privacy_setting'] ) ? VIDEOPRESS_PRIVACY::SITE_DEFAULT : $videopress_meta['privacy_setting']; } /** Make sure we are keeping some meta keys updated for filtering purposes */ if ( get_post_meta( $post_id, 'videopress_rating', true ) !== $video_info->rating ) { update_post_meta( $post_id, 'videopress_rating', $video_info->rating ); } if ( get_post_meta( $post_id, 'videopress_privacy_setting', true ) !== $video_info->privacy_setting ) { update_post_meta( $post_id, 'videopress_privacy_setting', $video_info->privacy_setting ); } if ( videopress_is_finished_processing( $post_id ) ) { $video_info->finish_date_gmt = gmdate( 'Y-m-d H:i:s' ); } return $video_info; } /** * Check that a VideoPress video format has finished processing. * * This uses the info object, because that is what the WPCOM endpoint * uses, however we don't have a complete info object in the same way * WPCOM does, so we pull the meta information out of the post * options instead. * * Note: This mimics the WPCOM function of the same name and helps the media * API endpoint add all needed VideoPress data. * * @param stdClass $info Info object. * @param string $format Video format. * @return bool */ function video_format_done( $info, $format ) { // Avoids notice when a non-videopress item is found. if ( ! is_object( $info ) ) { return false; } $post_id = $info->post_id; if ( get_post_mime_type( $post_id ) !== 'video/videopress' ) { return false; } $post = get_post( $post_id ); if ( is_wp_error( $post ) ) { return false; } $meta = wp_get_attachment_metadata( $post->ID ); $video_format = str_replace( array( 'fmt_', 'fmt1_' ), '', $format ); if ( 'ogg' === $video_format ) { return isset( $meta['videopress']['files']['std']['ogg'] ); } else { return isset( $meta['videopress']['files'][ $video_format ]['mp4'] ); } } /** * Get the image URL for the given VideoPress GUID * * We look up by GUID, because that is what WPCOM does and this needs to be * parameter compatible with that. * * Note: This mimics the WPCOM function of the same name and helps the media * API endpoint add all needed VideoPress data. * * @param string $guid VideoPress GUID. * @param string $format Video format. * @return string */ function video_image_url_by_guid( $guid, $format ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable $post = videopress_get_post_by_guid( $guid ); if ( is_wp_error( $post ) ) { return null; } $meta = wp_get_attachment_metadata( $post->ID ); $poster = apply_filters( 'jetpack_photon_url', $meta['videopress']['poster'] ); return $poster; } /** * Using a GUID, find a post. * * @param string $guid The post guid. * @return WP_Post|false The post for that guid, or false if none is found. */ function videopress_get_post_by_guid( $guid ) { $cache_key = 'get_post_by_guid_' . $guid; $cache_group = 'videopress'; $cached_post = wp_cache_get( $cache_key, $cache_group ); if ( is_object( $cached_post ) && 'WP_Post' === get_class( $cached_post ) ) { return $cached_post; } $post_id = videopress_get_post_id_by_guid( $guid ); if ( is_int( $post_id ) ) { $post = get_post( $post_id ); wp_cache_set( $cache_key, $post, $cache_group, HOUR_IN_SECONDS ); return $post; } return false; } /** * Using a GUID, find the associated post ID. * * @since 8.4.0 * @param string $guid The guid to look for the post ID of. * @return int|false The post ID for that guid, or false if none is found. */ function videopress_get_post_id_by_guid( $guid ) { $cache_key = 'videopress_get_post_id_by_guid_' . $guid; $cached_id = get_transient( $cache_key ); if ( is_int( $cached_id ) ) { return $cached_id; } $args = array( 'post_type' => 'attachment', 'post_mime_type' => 'video/videopress', 'post_status' => 'inherit', 'no_found_rows' => true, 'fields' => 'ids', 'meta_query' => array( array( 'key' => 'videopress_guid', 'value' => $guid, 'compare' => '=', ), ), ); $query = new WP_Query( $args ); if ( $query->have_posts() ) { $post_id = $query->next_post(); set_transient( $cache_key, $post_id, HOUR_IN_SECONDS ); return $post_id; } return false; } /** * From the given VideoPress post_id, return back the appropriate attachment URL. * * When the MP4 hasn't been processed yet or this is not a VideoPress video, this will return null. * * @param int $post_id Post ID of the attachment. * @return string|null */ function videopress_get_attachment_url( $post_id ) { // We only handle VideoPress attachments. if ( get_post_mime_type( $post_id ) !== 'video/videopress' ) { return null; } $meta = wp_get_attachment_metadata( $post_id ); // As of Jetpack 10.3 transcoded video files are reserved for the VideoPress player. // All other video file requests will receive the originally uploaded file, stored on the wpcom cdn. if ( ! isset( $meta['videopress']['original'] ) ) { // Use the original file as the url if it isn't transcoded yet. if ( isset( $meta['original'] ) ) { $return = $meta['original']; } else { // Otherwise, there isn't much we can do. return null; } } else { $return = $meta['videopress']['original']; } // If the URL is a string, return it. Otherwise, we shouldn't to avoid errors downstream, so null. return ( is_string( $return ) ) ? $return : null; } /** * Converts VideoPress flash embeds into oEmbed-able URLs. * * Older VideoPress embed depended on Flash, which no longer work, * so let us convert them to an URL that WordPress can oEmbed. * * Note that this file is always loaded via modules/module-extras.php and is not dependent on module status. * * @param string $content the content. * @return string filtered content */ function jetpack_videopress_flash_embed_filter( $content ) { // This receives data from the `the_content` filter, which unfortunately sometimes has bad content passed along as a param. if ( ! is_string( $content ) ) { return $content; } $regex = '%]*+>(?:\s*)?%i'; $content = preg_replace_callback( $regex, function ( $matches ) { $embed_code = $matches[0]; $url_matches = array(); // get video ID from flash URL. $url_matched = preg_match( '/src="http:\/\/v.wordpress.com\/([^"]+)"/', $embed_code, $url_matches ); if ( $url_matched ) { $video_id = $url_matches[1]; return "https://videopress.com/v/$video_id"; } }, $content ); return $content; } /** * Checks if the provided rating string is a valid VideoPress video rating value. * * @param mixed $rating The video rating to validate. * @return bool */ function videopress_is_valid_video_rating( $rating ) { return in_array( $rating, array( 'G', 'PG-13', 'R-17' ), true ); } add_filter( 'the_content', 'jetpack_videopress_flash_embed_filter', 7 ); // Needs to be priority 7 to allow Core to oEmbed. if ( ! function_exists( 'wp_startswith' ) ) : /** * Check whether a string starts with a specific substring. * * @param string $haystack String we are filtering. * @param string $needle The substring we are looking for. * @return bool */ function wp_startswith( $haystack, $needle ) { if ( ! $haystack || ! $needle || ! is_scalar( $haystack ) || ! is_scalar( $needle ) ) { return false; } $haystack = (string) $haystack; $needle = (string) $needle; return str_starts_with( $haystack, $needle ); } endif; /* flatpickr v4.1.4,, @license MIT */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.flatpickr=t()}(this,function(){"use strict";function e(e,t,n){return!1!==n?new Date(e.getTime()).setHours(0,0,0,0)-new Date(t.getTime()).setHours(0,0,0,0):e.getTime()-t.getTime()}function t(e,t,n){void 0===n&&(n=!1);var a;return function(){var i=this,o=arguments;null!==a&&clearTimeout(a),a=window.setTimeout(function(){a=null,n||e.apply(i,o)},t),n&&!a&&e.apply(i,o)}}function n(e,t,n){if(!0===n)return e.classList.add(t);e.classList.remove(t)}function a(e,t,n){var a=window.document.createElement(e);return t=t||"",n=n||"",a.className=t,void 0!==n&&(a.textContent=n),a}function i(e,t){return t(e)?e:e.parentNode?i(e.parentNode,t):void 0}function o(e){var t=a("div","numInputWrapper"),n=a("input","numInput "+e),i=a("span","arrowUp"),o=a("span","arrowDown");return n.type="text",n.pattern="\\d*",t.appendChild(n),t.appendChild(i),t.appendChild(o),t}function r(r,s){for(var u=Array.prototype.slice.call(r),p=[],w=0;wi&&(c=n===X.hourElement?c-i-m(!X.amPM):a,s&&S(void 0,1,X.hourElement)),X.amPM&&d&&(1===o?c+r===23:Math.abs(c-r)>o)&&(X.amPM.textContent=X.l10n.amPM[m(X.amPM.textContent===X.l10n.amPM[0])]),n.value=f(c)}}(e),0!==X.selectedDates.length&&(!X.minDateHasTime||"input"!==e.type||e.target.value.length>=2?(w(),Q()):setTimeout(function(){w(),Q()},1e3))}function w(){if(void 0!==X.hourElement&&void 0!==X.minuteElement){var t=(parseInt(X.hourElement.value.slice(-2),10)||0)%24,n=(parseInt(X.minuteElement.value,10)||0)%60,a=void 0!==X.secondElement?(parseInt(X.secondElement.value,10)||0)%60:0;void 0!==X.amPM&&(t=function(e,t){return e%12+12*m(t===X.l10n.amPM[1])}(t,X.amPM.textContent)),X.config.minDate&&X.minDateHasTime&&X.latestSelectedDateObj&&0===e(X.latestSelectedDateObj,X.config.minDate)&&(t=Math.max(t,X.config.minDate.getHours()))===X.config.minDate.getHours()&&(n=Math.max(n,X.config.minDate.getMinutes())),X.config.maxDate&&X.maxDateHasTime&&X.latestSelectedDateObj&&0===e(X.latestSelectedDateObj,X.config.maxDate)&&(t=Math.min(t,X.config.maxDate.getHours()))===X.config.maxDate.getHours()&&(n=Math.min(n,X.config.maxDate.getMinutes())),b(t,n,a)}}function M(e){var t=e||X.latestSelectedDateObj;t&&b(t.getHours(),t.getMinutes(),t.getSeconds())}function b(e,t,n){void 0!==X.latestSelectedDateObj&&X.latestSelectedDateObj.setHours(e%24,t,n||0,0),X.hourElement&&X.minuteElement&&!X.isMobile&&(X.hourElement.value=f(X.config.time_24hr?e:(12+e)%12+12*m(e%12==0)),X.minuteElement.value=f(t),void 0!==X.amPM&&(X.amPM.textContent=X.l10n.amPM[m(e>=12)]),void 0!==X.secondElement&&(X.secondElement.value=f(n)))}function y(e,t,n){return t instanceof Array?t.forEach(function(t){return y(e,t,n)}):e instanceof Array?e.forEach(function(e){return y(e,t,n)}):(e.addEventListener(t,n),void X._handlers.push({element:e,event:t,handler:n}))}function x(e){return function(t){1===t.which&&e(t)}}function E(){z("onChange")}function N(){X._animationLoop.forEach(function(e){return e()}),X._animationLoop=[]}function k(e){var t=void 0!==e?q(e):X.latestSelectedDateObj||(X.config.minDate&&X.config.minDate>X.now?X.config.minDate:X.config.maxDate&&X.config.maxDateX.minRangeDate&&iX.selectedDates[0]&&(X.maxRangeDate=i)),"range"===X.config.mode&&(function(t){return!("range"!==X.config.mode||X.selectedDates.length<2)&&e(t,X.selectedDates[0])>=0&&e(t,X.selectedDates[1])<=0}(i)&&!V(i)&&c.classList.add("inRange"),1===X.selectedDates.length&&void 0!==X.minRangeDate&&void 0!==X.maxRangeDate&&(iX.maxRangeDate)&&c.classList.add("notAllowed")),X.weekNumbers&&"prevMonthDay"!==t&&o%7==1&&X.weekNumbers.insertAdjacentHTML("beforeend",""+X.config.getWeek(i)+""),z("onDayCreate",c),c}function I(e,t){var n=e+t||0,a=void 0!==e?X.days.childNodes[n]:X.selectedDateElem||X.todayDateElem||X.days.childNodes[0],i=function(){(a=a||X.days.childNodes[n]).focus(),"range"===X.config.mode&&R(a)};if(void 0===a&&0!==t)return t>0?(X.changeMonth(1,!0,void 0,!0),n%=42):t<0&&(X.changeMonth(-1,!0,void 0,!0),n+=42),Y(i);i()}function Y(e){!0===X.config.animate?X._animationLoop.push(e):e()}function _(e){if(void 0!==X.daysContainer){var t=(new Date(X.currentYear,X.currentMonth,1).getDay()-X.l10n.firstDayOfWeek+7)%7,n="range"===X.config.mode,i=X.utils.getDaysInMonth((X.currentMonth-1+12)%12),o=X.utils.getDaysInMonth(),r=window.document.createDocumentFragment(),l=i+1-t,c=0;for(X.weekNumbers&&X.weekNumbers.firstChild&&(X.weekNumbers.textContent=""),n&&(X.minRangeDate=new Date(X.currentYear,X.currentMonth-1,l),X.maxRangeDate=new Date(X.currentYear,X.currentMonth+1,(42-t)%o));l<=i;l++,c++)r.appendChild(T("prevMonthDay",new Date(X.currentYear,X.currentMonth-1,l),l,c));for(l=1;l<=o;l++,c++)r.appendChild(T("",new Date(X.currentYear,X.currentMonth,l),l,c));for(var d=o+1;d<=42-t;d++,c++)r.appendChild(T("nextMonthDay",new Date(X.currentYear,X.currentMonth+1,d%o),d,c));n&&1===X.selectedDates.length&&r.childNodes[0]?(X._hidePrevMonthArrow=X._hidePrevMonthArrow||!!X.minRangeDate&&X.minRangeDate>r.childNodes[0].dateObj,X._hideNextMonthArrow=X._hideNextMonthArrow||!!X.maxRangeDate&&X.maxRangeDate1;)X.daysContainer.removeChild(X.daysContainer.firstChild);else!function(e){for(;e.firstChild;)e.removeChild(e.firstChild)}(X.daysContainer);e&&e>=0?X.daysContainer.appendChild(s):X.daysContainer.insertBefore(s,X.daysContainer.firstChild),X.days=X.daysContainer.childNodes[0]}}function O(){X.weekdayContainer||(X.weekdayContainer=a("div","flatpickr-weekdays"));var e=X.l10n.firstDayOfWeek,t=X.l10n.weekdays.shorthand.slice();return e>0&&e\n "+t.join("")+"\n \n ",X.weekdayContainer}function P(e,t,n,a){void 0===t&&(t=!0),void 0===n&&(n=X.config.animate),void 0===a&&(a=!1);var i=t?e:e-X.currentMonth;if(!(i<0&&X._hidePrevMonthArrow||i>0&&X._hideNextMonthArrow)){if(X.currentMonth+=i,(X.currentMonth<0||X.currentMonth>11)&&(X.currentYear+=X.currentMonth>11?1:-1,X.currentMonth=(X.currentMonth+12)%12,z("onYearChange")),_(n?i:void 0),!n)return z("onMonthChange"),Z();var o=X.navigationCurrentMonth;if(i<0)for(;o.nextSibling&&/curr/.test(o.nextSibling.className);)X.monthNav.removeChild(o.nextSibling);else if(i>0)for(;o.previousSibling&&/curr/.test(o.previousSibling.className);)X.monthNav.removeChild(o.previousSibling);X.oldCurMonth=X.navigationCurrentMonth,X.navigationCurrentMonth=X.monthNav.insertBefore(X.oldCurMonth.cloneNode(!0),i>0?X.oldCurMonth.nextSibling:X.oldCurMonth);var r=X.daysContainer;if(r.firstChild&&r.lastChild&&(i>0?(r.firstChild.classList.add("slideLeft"),r.lastChild.classList.add("slideLeftNew"),X.oldCurMonth.classList.add("slideLeft"),X.navigationCurrentMonth.classList.add("slideLeftNew")):i<0&&(r.firstChild.classList.add("slideRightNew"),r.lastChild.classList.add("slideRight"),X.oldCurMonth.classList.add("slideRight"),X.navigationCurrentMonth.classList.add("slideRightNew"))),X.currentMonthElement=X.navigationCurrentMonth.firstChild,X.currentYearElement=X.navigationCurrentMonth.lastChild.childNodes[0],Z(),X.oldCurMonth.firstChild&&(X.oldCurMonth.firstChild.textContent=c(X.currentMonth-i,X.config.shorthandCurrentMonth,X.l10n)),Y(function(){return z("onMonthChange")}),a&&document.activeElement&&document.activeElement.$i){var l=document.activeElement.$i;Y(function(){I(l,0)})}}}function F(e){return!(!X.config.appendTo||!X.config.appendTo.contains(e))||X.calendarContainer.contains(e)}function L(e){if(X.isOpen&&!X.config.inline){var t=F(e.target),n=e.target===X.input||e.target===X.altInput||X.element.contains(e.target)||e.path&&e.path.indexOf&&(~e.path.indexOf(X.input)||~e.path.indexOf(X.altInput));("blur"===e.type?n&&e.relatedTarget&&!F(e.relatedTarget):!n&&!t)&&-1===X.config.ignoredFocusElements.indexOf(e.target)&&(X.close(),"range"===X.config.mode&&1===X.selectedDates.length&&(X.clear(!1),X.redraw()))}}function A(e){if(!(!e||X.currentYearElement.min&&eparseInt(X.currentYearElement.max))){var t=e,n=X.currentYear!==t;X.currentYear=t||X.currentYear,X.config.maxDate&&X.currentYear===X.config.maxDate.getFullYear()?X.currentMonth=Math.min(X.config.maxDate.getMonth(),X.currentMonth):X.config.minDate&&X.currentYear===X.config.minDate.getFullYear()&&(X.currentMonth=Math.max(X.config.minDate.getMonth(),X.currentMonth)),n&&(X.redraw(),z("onYearChange"))}}function j(t,n){void 0===n&&(n=!0);var a=X.parseDate(t,void 0,n);if(X.config.minDate&&a&&e(a,X.config.minDate,void 0!==n?n:!X.minDateHasTime)<0||X.config.maxDate&&a&&e(a,X.config.maxDate,void 0!==n?n:!X.maxDateHasTime)>0)return!1;if(!X.config.enable.length&&!X.config.disable.length)return!0;if(void 0===a)return!1;for(var i=X.config.enable.length>0,o=i?X.config.enable:X.config.disable,r=0,l=void 0;r=l.from.getTime()&&a.getTime()<=l.to.getTime())return i}return!i}function H(e){var t=e.target===X._input,n=F(e.target),a=X.config.allowInput,i=X.isOpen&&(!a||!t),o=X.config.inline&&t&&!a;if("Enter"===e.key&&t){if(a)return X.setDate(X._input.value,!0,e.target===X.altInput?X.config.altFormat:X.config.dateFormat),e.target.blur();X.open()}else if(n||i||o){var r=!!X.timeContainer&&X.timeContainer.contains(e.target);switch(e.key){case"Enter":r?Q():K(e);break;case"Escape":e.preventDefault(),X.close();break;case"Backspace":case"Delete":t&&!X.config.allowInput&&X.clear();break;case"ArrowLeft":case"ArrowRight":if(r)X.hourElement&&X.hourElement.focus();else if(e.preventDefault(),X.daysContainer){var l="ArrowRight"===e.key?1:-1;e.ctrlKey?P(l,!0,void 0,!0):I(e.target.$i,l)}break;case"ArrowUp":case"ArrowDown":e.preventDefault();var c="ArrowDown"===e.key?1:-1;X.daysContainer&&void 0!==e.target.$i?e.ctrlKey?(A(X.currentYear-c),I(e.target.$i,0)):r||I(e.target.$i,7*c):X.config.enableTime&&(!r&&X.hourElement&&X.hourElement.focus(),p(e),X._debouncedChange());break;case"Tab":e.target===X.hourElement?(e.preventDefault(),X.minuteElement.select()):e.target===X.minuteElement&&(X.secondElement||X.amPM)?(e.preventDefault(),void 0!==X.secondElement?X.secondElement.focus():void 0!==X.amPM&&X.amPM.focus()):e.target===X.secondElement&&X.amPM&&(e.preventDefault(),X.amPM.focus());break;case X.l10n.amPM[0].charAt(0):void 0!==X.amPM&&e.target===X.amPM&&(X.amPM.textContent=X.l10n.amPM[0],w(),Q());break;case X.l10n.amPM[1].charAt(0):void 0!==X.amPM&&e.target===X.amPM&&(X.amPM.textContent=X.l10n.amPM[1],w(),Q())}z("onKeyDown",e)}}function R(e){if(1===X.selectedDates.length&&e.classList.contains("flatpickr-day")&&void 0!==X.minRangeDate&&void 0!==X.maxRangeDate){for(var t=e.dateObj,n=X.parseDate(X.selectedDates[0],void 0,!0),a=Math.min(t.getTime(),X.selectedDates[0].getTime()),i=Math.max(t.getTime(),X.selectedDates[0].getTime()),o=!1,r=a;rX.maxRangeDate.getTime(),s=X.days.childNodes[r];if(d)return s.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach(function(e){s.classList.remove(e)}),"continue";if(o&&!d)return"continue";["startRange","inRange","endRange","notAllowed"].forEach(function(e){s.classList.remove(e)});var u=Math.max(X.minRangeDate.getTime(),a),f=Math.min(X.maxRangeDate.getTime(),i);e.classList.add(tt&&c===n.getTime()&&s.classList.add("endRange"),c>=u&&c<=f&&s.classList.add("inRange")}(l,c)}}function W(e){return function(t){var n=X.config["_"+e+"Date"]=X.parseDate(t),a=X.config["_"+("min"===e?"max":"min")+"Date"];void 0!==n&&(X["min"===e?"minDateHasTime":"maxDateHasTime"]=n.getHours()>0||n.getMinutes()>0||n.getSeconds()>0),X.selectedDates&&(X.selectedDates=X.selectedDates.filter(function(e){return j(e)}),X.selectedDates.length||"min"!==e||M(n),Q()),X.daysContainer&&(J(),void 0!==n?X.currentYearElement[e]=n.getFullYear().toString():X.currentYearElement.removeAttribute(e),X.currentYearElement.disabled=!!a&&void 0!==n&&a.getFullYear()===n.getFullYear())}}function B(e){if(void 0===e&&(e=X._positionElement),void 0!==X.calendarContainer){var t=X.calendarContainer.offsetHeight,a=X.calendarContainer.offsetWidth,i=X.config.position,o=e.getBoundingClientRect(),r=window.innerHeight-o.bottom,l="above"===i||"below"!==i&&rt,c=window.pageYOffset+o.top+(l?-t-2:e.offsetHeight+2);if(n(X.calendarContainer,"arrowTop",!l),n(X.calendarContainer,"arrowBottom",l),!X.config.inline){var d=window.pageXOffset+o.left,s=window.document.body.offsetWidth-o.right,u=d+a>window.document.body.offsetWidth;n(X.calendarContainer,"rightMost",u),X.config.static||(X.calendarContainer.style.top=c+"px",u?(X.calendarContainer.style.left="auto",X.calendarContainer.style.right=s+"px"):(X.calendarContainer.style.left=d+"px",X.calendarContainer.style.right="auto"))}}}function J(){X.config.noCalendar||X.isMobile||(O(),Z(),_())}function K(t){t.preventDefault(),t.stopPropagation();var n=i(t.target,function(e){return e.classList&&e.classList.contains("flatpickr-day")&&!e.classList.contains("disabled")&&!e.classList.contains("notAllowed")});if(void 0!==n){var a=n,o=X.latestSelectedDateObj=new Date(a.dateObj.getTime()),r=o.getMonth()!==X.currentMonth&&"range"!==X.config.mode;if(X.selectedDateElem=a,"single"===X.config.mode)X.selectedDates=[o];else if("multiple"===X.config.mode){var l=V(o);l?X.selectedDates.splice(parseInt(l),1):X.selectedDates.push(o)}else"range"===X.config.mode&&(2===X.selectedDates.length&&X.clear(),X.selectedDates.push(o),0!==e(o,X.selectedDates[0],!0)&&X.selectedDates.sort(function(e,t){return e.getTime()-t.getTime()}));if(w(),r){var c=X.currentYear!==o.getFullYear();X.currentYear=o.getFullYear(),X.currentMonth=o.getMonth(),c&&z("onYearChange"),z("onMonthChange")}if(_(),X.config.minDate&&X.minDateHasTime&&X.config.enableTime&&0===e(o,X.config.minDate)&&M(X.config.minDate),Q(),X.config.enableTime&&setTimeout(function(){return X.showTimeInput=!0},50),"range"===X.config.mode&&(1===X.selectedDates.length?(R(a),X._hidePrevMonthArrow=X._hidePrevMonthArrow||void 0!==X.minRangeDate&&X.minRangeDate>X.days.childNodes[0].dateObj,X._hideNextMonthArrow=X._hideNextMonthArrow||void 0!==X.maxRangeDate&&X.maxRangeDate0)for(var a=0;n[a]&&aX.config.maxDate.getMonth():X.currentYear>X.config.maxDate.getFullYear()))}function Q(e){if(void 0===e&&(e=!0),!X.selectedDates.length)return X.clear(e);void 0!==X.mobileInput&&X.mobileFormatStr&&(X.mobileInput.value=void 0!==X.latestSelectedDateObj?X.formatDate(X.latestSelectedDateObj,X.mobileFormatStr):"");var t="range"!==X.config.mode?X.config.conjunction:X.l10n.rangeSeparator;X.input.value=X.selectedDates.map(function(e){return X.formatDate(e,X.config.dateFormat)}).join(t),void 0!==X.altInput&&(X.altInput.value=X.selectedDates.map(function(e){return X.formatDate(e,X.config.altFormat)}).join(t)),!1!==e&&z("onValueUpdate")}var X={};return X.parseDate=q,X.formatDate=function(e,t){return void 0!==X.config&&void 0!==X.config.formatDate?X.config.formatDate(e,t):t.split("").map(function(t,n,a){return D[t]&&"\\"!==a[n-1]?D[t](e,X.l10n,X.config):"\\"!==t?t:""}).join("")},X._animationLoop=[],X._handlers=[],X._bind=y,X._setHoursFromDate=M,X.changeMonth=P,X.changeYear=A,X.clear=function(e){void 0===e&&(e=!0),X.input.value="",X.altInput&&(X.altInput.value=""),X.mobileInput&&(X.mobileInput.value=""),X.selectedDates=[],X.latestSelectedDateObj=void 0,X.showTimeInput=!1,X.redraw(),e&&z("onChange")},X.close=function(){X.isOpen=!1,X.isMobile||(X.calendarContainer.classList.remove("open"),X._input.classList.remove("active")),z("onClose")},X._createElement=a,X.destroy=function(){void 0!==X.config&&z("onDestroy");for(var e=X._handlers.length;e--;){var t=X._handlers[e];t.element.removeEventListener(t.event,t.handler)}X._handlers=[],X.mobileInput?(X.mobileInput.parentNode&&X.mobileInput.parentNode.removeChild(X.mobileInput),X.mobileInput=void 0):X.calendarContainer&&X.calendarContainer.parentNode&&X.calendarContainer.parentNode.removeChild(X.calendarContainer),X.altInput&&(X.input.type="text",X.altInput.parentNode&&X.altInput.parentNode.removeChild(X.altInput),delete X.altInput),X.input&&(X.input.type=X.input._type,X.input.classList.remove("flatpickr-input"),X.input.removeAttribute("readonly"),X.input.value=""),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(function(e){try{delete X[e]}catch(e){}})},X.isEnabled=j,X.jumpToDate=k,X.open=function(e,t){if(void 0===t&&(t=X._input),X.isMobile)return e&&(e.preventDefault(),e.target&&e.target.blur()),setTimeout(function(){void 0!==X.mobileInput&&X.mobileInput.click()},0),void z("onOpen");if(!X._input.disabled&&!X.config.inline){var n=X.isOpen;X.isOpen=!0,B(t),X.calendarContainer.classList.add("open"),X._input.classList.add("active"),!n&&z("onOpen")}},X.redraw=J,X.set=function(e,t){null!==e&&"object"==typeof e?Object.assign(X.config,e):X.config[e]=t,X.redraw(),k()},X.setDate=function(e,t,n){if(void 0===t&&(t=!1),0!==e&&!e)return X.clear(t);U(e,n),X.showTimeInput=X.selectedDates.length>0,X.latestSelectedDateObj=X.selectedDates[0],X.redraw(),k(),M(),Q(t),t&&z("onChange")},X.toggle=function(){if(X.isOpen)return X.close();X.open()},function(){X.element=X.input=r,X.isOpen=!1,function(){var e=["wrap","weekNumbers","allowInput","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],t=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange"];X.config=l({},C.defaultConfig);var n=l({},s,JSON.parse(JSON.stringify(r.dataset||{}))),a={};for(Object.defineProperty(X.config,"enable",{get:function(){return X.config._enable||[]},set:function(e){X.config._enable=$(e)}}),Object.defineProperty(X.config,"disable",{get:function(){return X.config._disable||[]},set:function(e){X.config._disable=$(e)}}),!n.dateFormat&&n.enableTime&&(a.dateFormat=n.noCalendar?"H:i"+(n.enableSeconds?":S":""):C.defaultConfig.dateFormat+" H:i"+(n.enableSeconds?":S":"")),n.altInput&&n.enableTime&&!n.altFormat&&(a.altFormat=n.noCalendar?"h:i"+(n.enableSeconds?":S K":" K"):C.defaultConfig.altFormat+" h:i"+(n.enableSeconds?":S":"")+" K"),Object.defineProperty(X.config,"minDate",{get:function(){return X.config._minDate},set:W("min")}),Object.defineProperty(X.config,"maxDate",{get:function(){return X.config._maxDate},set:W("max")}),Object.assign(X.config,a,n),i=0;iX.now.getTime()?X.config.minDate:X.config.maxDate&&X.config.maxDate.getTime()0||X.config.minDate.getMinutes()>0||X.config.minDate.getSeconds()>0),X.maxDateHasTime=!!X.config.maxDate&&(X.config.maxDate.getHours()>0||X.config.maxDate.getMinutes()>0||X.config.maxDate.getSeconds()>0),Object.defineProperty(X,"showTimeInput",{get:function(){return X._showTimeInput},set:function(e){X._showTimeInput=e,X.calendarContainer&&n(X.calendarContainer,"showTimeInput",e),B()}})}(),X.utils={getDaysInMonth:function(e,t){return void 0===e&&(e=X.currentMonth),void 0===t&&(t=X.currentYear),1===e&&(t%4==0&&t%100!=0||t%400==0)?29:X.l10n.daysInMonth[e]}},X.isMobile||function(){var e=window.document.createDocumentFragment();if(X.calendarContainer=a("div","flatpickr-calendar"),X.calendarContainer.tabIndex=-1,!X.config.noCalendar){if(e.appendChild(function(){var e=window.document.createDocumentFragment();X.monthNav=a("div","flatpickr-month"),X.prevMonthNav=a("span","flatpickr-prev-month"),X.prevMonthNav.innerHTML=X.config.prevArrow,X.currentMonthElement=a("span","cur-month"),X.currentMonthElement.title=X.l10n.scrollTitle;var t=o("cur-year");return X.currentYearElement=t.childNodes[0],X.currentYearElement.title=X.l10n.scrollTitle,X.config.minDate&&(X.currentYearElement.min=X.config.minDate.getFullYear().toString()),X.config.maxDate&&(X.currentYearElement.max=X.config.maxDate.getFullYear().toString(),X.currentYearElement.disabled=!!X.config.minDate&&X.config.minDate.getFullYear()===X.config.maxDate.getFullYear()),X.nextMonthNav=a("span","flatpickr-next-month"),X.nextMonthNav.innerHTML=X.config.nextArrow,X.navigationCurrentMonth=a("div","flatpickr-current-month"),X.navigationCurrentMonth.appendChild(X.currentMonthElement),X.navigationCurrentMonth.appendChild(t),e.appendChild(X.prevMonthNav),e.appendChild(X.navigationCurrentMonth),e.appendChild(X.nextMonthNav),X.monthNav.appendChild(e),Object.defineProperty(X,"_hidePrevMonthArrow",{get:function(){return X.__hidePrevMonthArrow},set:function(e){X.__hidePrevMonthArrow!==e&&(X.prevMonthNav.style.display=e?"none":"block"),X.__hidePrevMonthArrow=e}}),Object.defineProperty(X,"_hideNextMonthArrow",{get:function(){return X.__hideNextMonthArrow},set:function(e){X.__hideNextMonthArrow!==e&&(X.nextMonthNav.style.display=e?"none":"block"),X.__hideNextMonthArrow=e}}),Z(),X.monthNav}()),X.innerContainer=a("div","flatpickr-innerContainer"),X.config.weekNumbers){var t=function(){X.calendarContainer.classList.add("hasWeeks");var e=a("div","flatpickr-weekwrapper");e.appendChild(a("span","flatpickr-weekday",X.l10n.weekAbbreviation));var t=a("div","flatpickr-weeks");return e.appendChild(t),{weekWrapper:e,weekNumbers:t}}(),i=t.weekWrapper,r=t.weekNumbers;X.innerContainer.appendChild(i),X.weekNumbers=r,X.weekWrapper=i}X.rContainer=a("div","flatpickr-rContainer"),X.rContainer.appendChild(O()),X.daysContainer||(X.daysContainer=a("div","flatpickr-days"),X.daysContainer.tabIndex=-1),_(),X.rContainer.appendChild(X.daysContainer),X.innerContainer.appendChild(X.rContainer),e.appendChild(X.innerContainer)}X.config.enableTime&&e.appendChild(function(){X.calendarContainer.classList.add("hasTime"),X.config.noCalendar&&X.calendarContainer.classList.add("noCalendar"),X.timeContainer=a("div","flatpickr-time"),X.timeContainer.tabIndex=-1;var e=a("span","flatpickr-time-separator",":"),t=o("flatpickr-hour");X.hourElement=t.childNodes[0];var n=o("flatpickr-minute");if(X.minuteElement=n.childNodes[0],X.hourElement.tabIndex=X.minuteElement.tabIndex=-1,X.hourElement.value=f(X.latestSelectedDateObj?X.latestSelectedDateObj.getHours():X.config.time_24hr?X.config.defaultHour:function(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}(X.config.defaultHour)),X.minuteElement.value=f(X.latestSelectedDateObj?X.latestSelectedDateObj.getMinutes():X.config.defaultMinute),X.hourElement.step=X.config.hourIncrement.toString(),X.minuteElement.step=X.config.minuteIncrement.toString(),X.hourElement.min=X.config.time_24hr?"0":"1",X.hourElement.max=X.config.time_24hr?"23":"12",X.minuteElement.min="0",X.minuteElement.max="59",X.hourElement.title=X.minuteElement.title=X.l10n.scrollTitle,X.timeContainer.appendChild(t),X.timeContainer.appendChild(e),X.timeContainer.appendChild(n),X.config.time_24hr&&X.timeContainer.classList.add("time24hr"),X.config.enableSeconds){X.timeContainer.classList.add("hasSeconds");var i=o("flatpickr-second");X.secondElement=i.childNodes[0],X.secondElement.value=f(X.latestSelectedDateObj?X.latestSelectedDateObj.getSeconds():X.config.defaultSeconds),X.secondElement.step=X.minuteElement.step,X.secondElement.min=X.minuteElement.min,X.secondElement.max=X.minuteElement.max,X.timeContainer.appendChild(a("span","flatpickr-time-separator",":")),X.timeContainer.appendChild(i)}return X.config.time_24hr||(X.amPM=a("span","flatpickr-am-pm",X.l10n.amPM[m((X.latestSelectedDateObj?X.hourElement.value:X.config.defaultHour)>11)]),X.amPM.title=X.l10n.toggleTitle,X.amPM.tabIndex=-1,X.timeContainer.appendChild(X.amPM)),X.timeContainer}()),n(X.calendarContainer,"rangeMode","range"===X.config.mode),n(X.calendarContainer,"animate",X.config.animate),X.calendarContainer.appendChild(e);var l=void 0!==X.config.appendTo&&X.config.appendTo.nodeType;if((X.config.inline||X.config.static)&&(X.calendarContainer.classList.add(X.config.inline?"inline":"static"),X.config.inline&&(!l&&X.element.parentNode?X.element.parentNode.insertBefore(X.calendarContainer,X._input.nextSibling):void 0!==X.config.appendTo&&X.config.appendTo.appendChild(X.calendarContainer)),X.config.static)){var c=a("div","flatpickr-wrapper");X.element.parentNode&&X.element.parentNode.insertBefore(c,X.element),c.appendChild(X.element),X.altInput&&c.appendChild(X.altInput),c.appendChild(X.calendarContainer)}X.config.static||X.config.inline||(void 0!==X.config.appendTo?X.config.appendTo:window.document.body).appendChild(X.calendarContainer)}(),function(){if(X.config.wrap&&["open","close","toggle","clear"].forEach(function(e){Array.prototype.forEach.call(X.element.querySelectorAll("[data-"+e+"]"),function(t){return y(t,"click",X[e])})}),X.isMobile)!function(){var e=X.config.enableTime?X.config.noCalendar?"time":"datetime-local":"date";X.mobileInput=a("input",X.input.className+" flatpickr-mobile"),X.mobileInput.step=X.input.getAttribute("step")||"any",X.mobileInput.tabIndex=1,X.mobileInput.type=e,X.mobileInput.disabled=X.input.disabled,X.mobileInput.placeholder=X.input.placeholder,X.mobileFormatStr="datetime-local"===e?"Y-m-d\\TH:i:S":"date"===e?"Y-m-d":"H:i:S",X.selectedDates.length&&(X.mobileInput.defaultValue=X.mobileInput.value=X.formatDate(X.selectedDates[0],X.mobileFormatStr)),X.config.minDate&&(X.mobileInput.min=X.formatDate(X.config.minDate,"Y-m-d")),X.config.maxDate&&(X.mobileInput.max=X.formatDate(X.config.maxDate,"Y-m-d")),X.input.type="hidden",void 0!==X.altInput&&(X.altInput.type="hidden");try{X.input.parentNode&&X.input.parentNode.insertBefore(X.mobileInput,X.input.nextSibling)}catch(e){}y(X.mobileInput,"change",function(e){X.setDate(e.target.value,!1,X.mobileFormatStr),z("onChange"),z("onClose")})}();else{var e=t(function(){!X.isOpen||X.config.static||X.config.inline||B()},50);X._debouncedChange=t(E,300),"range"===X.config.mode&&X.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&y(X.daysContainer,"mouseover",function(e){return R(e.target)}),y(window.document.body,"keydown",H),X.config.static||y(X._input,"keydown",H),X.config.inline||X.config.static||y(window,"resize",e),void 0!==window.ontouchstart&&y(window.document.body,"touchstart",L),y(window.document.body,"mousedown",x(L)),y(X._input,"blur",L),!0===X.config.clickOpens&&(y(X._input,"focus",X.open),y(X._input,"mousedown",x(X.open))),void 0!==X.daysContainer&&(X.monthNav.addEventListener("wheel",function(e){return e.preventDefault()}),y(X.monthNav,"wheel",t(function(e){e.preventDefault();var t=X.currentYearElement.parentNode&&X.currentYearElement.parentNode.contains(e.target);if(e.target===X.currentMonthElement||t){var n=function(e){return(e.wheelDelta||-e.deltaY)>=0?1:-1}(e);t?(A(X.currentYear+n),e.target.value=X.currentYear.toString()):X.changeMonth(n,!0,!1)}},10)),y(X.monthNav,"mousedown",x(function(e){var t=X.prevMonthNav.contains(e.target),n=X.nextMonthNav.contains(e.target);t||n?P(t?-1:1):e.target===X.currentYearElement?(e.preventDefault(),X.currentYearElement.select()):"arrowUp"===e.target.className?X.changeYear(X.currentYear+1):"arrowDown"===e.target.className&&X.changeYear(X.currentYear-1)})),y(X.monthNav,["keyup","increment"],function(e){var t=parseInt(e.target.value)+(e.delta||0);4!==t.toString().length&&"Enter"!==e.key||(X.currentYearElement.blur(),/[^\d]/.test(t.toString())||A(t))}),y(X.daysContainer,"mousedown",x(K)),X.config.animate&&(y(X.daysContainer,["webkitAnimationEnd","animationend"],function(e){if(X.daysContainer&&X.daysContainer.childNodes.length>1)switch(e.animationName){case"fpSlideLeft":X.daysContainer.lastChild&&X.daysContainer.lastChild.classList.remove("slideLeftNew"),X.daysContainer.removeChild(X.daysContainer.firstChild),X.days=X.daysContainer.firstChild,N();break;case"fpSlideRight":X.daysContainer.firstChild&&X.daysContainer.firstChild.classList.remove("slideRightNew"),X.daysContainer.removeChild(X.daysContainer.lastChild),X.days=X.daysContainer.firstChild,N()}}),y(X.monthNav,["webkitAnimationEnd","animationend"],function(e){switch(e.animationName){case"fpSlideLeftNew":case"fpSlideRightNew":X.navigationCurrentMonth.classList.remove("slideLeftNew"),X.navigationCurrentMonth.classList.remove("slideRightNew");for(var t=X.navigationCurrentMonth;t.nextSibling&&/curr/.test(t.nextSibling.className);)X.monthNav.removeChild(t.nextSibling);for(;t.previousSibling&&/curr/.test(t.previousSibling.className);)X.monthNav.removeChild(t.previousSibling);X.oldCurMonth=void 0}}))),void 0!==X.timeContainer&&void 0!==X.minuteElement&&void 0!==X.hourElement&&(y(X.timeContainer,["wheel","input","increment"],p),y(X.timeContainer,"mousedown",x(function(e){~e.target.className.indexOf("arrow")&&S(e,e.target.classList.contains("arrowUp")?1:-1)})),y(X.timeContainer,["wheel","increment"],X._debouncedChange),y(X.timeContainer,"input",E),y([X.hourElement,X.minuteElement],["focus","click"],function(e){return e.target.select()}),void 0!==X.secondElement&&y(X.secondElement,"focus",function(){return X.secondElement&&X.secondElement.select()}),void 0!==X.amPM&&y(X.amPM,"mousedown",x(function(e){p(e),E()})))}}(),(X.selectedDates.length||X.config.noCalendar)&&(X.config.enableTime&&M(X.config.noCalendar?X.latestSelectedDateObj||X.config.minDate:void 0),Q(!1)),X.showTimeInput=X.selectedDates.length>0||X.config.noCalendar,void 0!==X.weekWrapper&&void 0!==X.daysContainer&&(X.calendarContainer.style.width=X.daysContainer.offsetWidth+X.weekWrapper.offsetWidth+"px"),X.isMobile||B(),z("onReady")}(),X}(M,s||{}),p.push(M._flatpickr)}catch(e){console.error(e)}}return 1===p.length?p[0]:p}var l=Object.assign||function(e){for(var t,n=1,a=arguments.length;n",noCalendar:!1,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:"",shorthandCurrentMonth:!1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},u={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var t=e%100;if(t>3&&t<21)return"th";switch(t%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"]},f=function(e){return("0"+e).slice(-2)},m=function(e){return!0===e?1:0},g=function(e){return e instanceof Array?e:[e]},p=function(){},h={D:p,F:function(e,t,n){e.setMonth(n.months.longhand.indexOf(t))},G:function(e,t){e.setHours(parseFloat(t))},H:function(e,t){e.setHours(parseFloat(t))},J:function(e,t){e.setDate(parseFloat(t))},K:function(e,t,n){e.setHours(e.getHours()%12+12*m(new RegExp(n.amPM[1],"i").test(t)))},M:function(e,t,n){e.setMonth(n.months.shorthand.indexOf(t))},S:function(e,t){e.setSeconds(parseFloat(t))},U:function(e,t){return new Date(1e3*parseFloat(t))},W:function(e,t){var n=parseInt(t);return new Date(e.getFullYear(),0,2+7*(n-1),0,0,0,0)},Y:function(e,t){e.setFullYear(parseFloat(t))},Z:function(e,t){return new Date(t)},d:function(e,t){e.setDate(parseFloat(t))},h:function(e,t){e.setHours(parseFloat(t))},i:function(e,t){e.setMinutes(parseFloat(t))},j:function(e,t){e.setDate(parseFloat(t))},l:p,m:function(e,t){e.setMonth(parseFloat(t)-1)},n:function(e,t){e.setMonth(parseFloat(t)-1)},s:function(e,t){e.setSeconds(parseFloat(t))},w:p,y:function(e,t){e.setFullYear(2e3+parseFloat(t))}},v={D:"(\\w+)",F:"(\\w+)",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"(\\w+)",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"(\\w+)",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},D={Z:function(e){return e.toISOString()},D:function(e,t,n){return t.weekdays.shorthand[D.w(e,t,n)]},F:function(e,t,n){return c(D.n(e,t,n)-1,!1,t)},G:function(e,t,n){return f(D.h(e,t,n))},H:function(e){return f(e.getHours())},J:function(e,t){return void 0!==t.ordinal?e.getDate()+t.ordinal(e.getDate()):e.getDate()},K:function(e,t){return t.amPM[m(e.getHours()>11)]},M:function(e,t){return c(e.getMonth(),!0,t)},S:function(e){return f(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,t,n){return n.getWeek(e)},Y:function(e){return e.getFullYear()},d:function(e){return f(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return f(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,t){return t.weekdays.longhand[e.getDay()]},m:function(e){return f(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}};"function"!=typeof Object.assign&&(Object.assign=function(e){for(var t=[],n=1;n Bwin Casino site Quick Register and Deposit in Belgium - Surol
verzamel Bwin Casino matchbonus

We have developed our registration and deposit process to be rapid and safe for players in Belgium. Whether you are new to online casinos or an experienced player, you can set up your Bwin Casino account in minutes and deposit into it using trusted local payment methods. In this guide, we guide you through every step, from submitting the sign-up form to completing identity verification and making your first deposit. Stick to our instructions to commence playing with confidence.

Carrying out Your Initial Deposit: Methods and Maximums

We offer a selection of deposit options designed to Belgian players so you can top up your account rapidly and securely. The cashier part inside your account shows all available options. Common ways comprise Bancontact, Visa and Mastercard debit and credit cards, PayPal, Skrill, Neteller, and Paysafecard. We also facilitate bank transfers for those who choose direct account-to-account payments. Each method appears with its own minimum and maximum limits clearly stated.

To complete a deposit, log in and open the cashier. Choose your selected payment method, input the amount you desire to deposit, and comply with the on-screen instructions. For Bancontact, you will be directed to your bank’s protected environment to authorise the transaction via your card reader or mobile app. Card payments demand the card number, expiry date, and CVV code. E-wallet deposits direct you to log in and confirm the payment. All transactions are protected by SSL encryption.

Deposits are handled immediately in almost all cases. The funds appear in your casino balance within seconds, letting you to commence playing straight away. We do not charge any fees for deposits, though your payment provider might impose its own charges. The minimum deposit amount is generally ten euros, but this can change by method. We advise checking the cashier for the exact limit before you continue.

Belgian regulations require us to monitor deposit activity for responsible gaming purposes. You can set daily, weekly, or monthly deposit limits in your account settings. If you seek to go over your self-imposed limit, the transaction is declined. We also provide a reality check feature that reminds you how long you have been playing. After your first deposit, you may be required to finalise verification if you have not already done so, particularly if you aim to withdraw funds soon.

FAQ

What exactly is the minimum age to register at Bwin Casino in Belgium?

You must be at least 21 years old to create an account and gamble at Bwin Casino in Belgium. We confirm your age during registration using your date of birth and national identification number. If you are under 21, the system prevents the registration attempt. This age limit is established by Belgian gambling law and applies to all online casino operators licensed in the country.

What documents are accepted for identity verification?

We approve a valid passport or a national identity card as proof of identity. The document must be current and not expired. For proof of address, we need a utility bill, bank statement, or official government letter issued within the last three months. All documents must be readable, full-colour copies showing all edges. We do not allow screenshots or photographs of photocopies.

What is the duration does the verification process take?

Our compliance team works to review submitted documents within 24 hours on business days. During peak periods, the review may take slightly longer. You get an email notification once the verification is done or if we need additional information. We recommend uploading your documents immediately after registration to avoid delays when you make your first withdrawal.

Am I able to deposit without verifying my account?

We recommend uploading your documents immediately after registration to avoid delays when you submit your first withdrawal.

ontgrendel 300% bonus bij Bwin Casino

Which deposit options can Belgian players use?

We feature Bancontact, Visa and Mastercard, PayPal, Skrill, Neteller, Paysafecard, and bank transfer. Bancontact is very popular in Belgium because it connects directly to your bank account. All methods are listed in the cashier with their specific limits. Deposits are generally instant, and we do not charge any fees. Your payment provider may apply its own charges, so check with them beforehand.

How do I reset my password if I cannot access my email?

If you have forgotten access to your registered email account, you cannot use the automated password reset link. In this situation, contact our customer support team through live chat or the support request form. We will ask you to complete alternative identity verification, which may include answering security questions and providing a copy of your ID. Once confirmed, we help you update your email and reset your password securely.

Do I have to use two-factor authentication at Bwin Casino?

Two-factor authentication is not mandatory, but we urge enabling it for improved account security. You can activate it in the security settings of your account dashboard using an authenticator app or SMS. While it adds a few seconds to the login process, it greatly reduces the risk of illegitimate access. Many of our players utilize it as an additional layer of protection for their funds and personal data.

We created the Bwin Casino registration and deposit experience to merge speed with the stringent security standards needed in Belgium. By following the steps in this guide, you can set up your account, verify your identity, and fund your balance with minimal friction. Remember to set your personal deposit limits from the start and activate two-factor authentication for ongoing protection. When you are ready, head to our login page and begin your journey with confidence, knowing that your account is secure and fully compliant with Belgian regulations.

Comprehending the Verification Process (KYC)

Belgian gambling law requires us to confirm the ID, age, and address of every player. We carry out this Know Your Customer process to prevent underage gambling, fraud, and money laundering. You can commence playing with a basic account, but you must finalize verification before your first withdrawal. We recommend uploading your documents as soon as possible to bypass delays when you want to cash out your winnings.

The primary document we require is a clear copy of your valid passport or national identity card. The image must show all four corners, with no glare or cropping that obscures details. We also demand a proof of address document issued within the last three months. Acceptable examples include a utility bill, a bank statement, or an official government letter. The document must present your full name, current address, and the date of issue.

In some cases, we may ask for additional verification of your payment method. For instance, if you deposit using a credit card, we might request a photo of the physical card with the middle digits obscured, showing only the first six and last four digits. If you use an e-wallet, a screenshot of your account profile may be sufficient. Our compliance team reviews each submission manually, and we endeavor to complete the review within 24 hours on business days.

You upload documents through the secure document centre in your account dashboard. We encrypt all files in transit and at rest. If a document is rejected, bwincasino, we transmit a detailed message explaining the reason, such as an expired ID or an unreadable image. You can re-upload corrected files immediately. Once verified, your account status changes, and withdrawal requests become possible. We hold your documents securely in line with data protection regulations.

Accessing and Handling Your Account Dashboard

Once your account is set up, logging in is easy. Visit our website and click the “Login” button. Enter the email address and password you chose during registration. If you have enabled two-factor authentication, you will be asked to enter the code from your authenticator app or SMS. After successful authentication, you arrive at your personal dashboard. This central hub gives you a complete overview of your account activity and settings.

The dashboard shows your current balance, active bonuses, and quick links to the cashier, game lobby, and verification centre. You can see your transaction history, including deposits, withdrawals, and bets placed. The responsible gaming section enables you to adjust deposit limits, set session time reminders, or activate a cooling-off period. We also provide access to self-exclusion tools if you ever need a longer break from gambling.

From the dashboard, you can update personal details such as your phone number or mailing address. If you change your email, we require re-verification to maintain account security. The security settings tab enables you to change your password, manage two-factor authentication, and review active sessions. We advise reviewing these settings regularly. If you detect any unauthorised changes, contact our support team immediately.

Should you misremember your password, the login screen contains a “Forgot Password” link. Click it, enter your registered email, and we send a password reset link. The link becomes invalid after a short period for security reasons. Follow the instructions to create a new password. If you no longer have access to your email account, you have to contact customer support and complete additional identity verification to regain access. We handle account recovery with the same rigorous security as the initial registration.

Creating Secure Login Credentials and Securing Your Account

Your login credentials are the initial barrier for your Bwin Casino account. We demand a password that mixes uppercase and lowercase letters, numbers, and special characters. Steer clear of obvious information such as your name or birthdate. We also suggest setting up a unique password that you do not use again on other websites. A strong password greatly minimizes the risk of unauthorised access.

Once you log in for the first time, we recommend you to turn on two-factor authentication from the security settings panel. This feature introduces an extra verification step each time you sign in. You can choose to receive a one-time code via an authenticator app or SMS. Even if someone obtains your password, they cannot access your account without the second factor. We view two-factor authentication as a critical tool for securing your funds and personal data.

We also provide you the option to set nationalpost.com up security questions and answers. These function as an additional recovery method if you ever lose access to your email or phone. Select questions with answers that only you know and that are not publicly available on social media. Keep your recovery email address current, because we employ it to send password reset links and important account notifications. Frequently check your account’s recent login activity in the dashboard to spot any unfamiliar sessions.

Our platform mechanically logs you out after a period of inactivity. This session timeout protects your account when you step away from your device. If you use a shared or public computer, always log out manually and close the browser. We never request for your password via email or phone, so regard any such request as fraudulent. By combining a strong password, two-factor authentication, and cautious browsing habits, you build a robust security posture.

Troubleshooting Typical Sign-in and Account Creation Difficulties

Despite a efficient process, you might experience sporadic hurdles. A frequent issue is a registration form error resulting from inconsistent personal details. Ensure the name you enter aligns with your identity document exactly, encompassing middle names and diacritical marks. Should you get an error indicating that an account already exists, you could have previously registered. Employ the password recovery option rather than creating a duplicate account, since multiple accounts violate our terms.

Another frequent problem is a locked account after multiple failed login attempts. Our system momentarily freezes access to prevent brute-force attacks. Let the lockout period to expire, which is usually fifteen to thirty minutes, and then try again. In case you cannot remember your password, utilize the reset link. Verify that your keyboard’s caps lock is off and that you are entering the correct email address. Repeated lockouts may signal that someone else is trying to access your account, so get in touch with support promptly.

Verification document rejection can be annoying. The most frequent reasons are blurry images, expired identification, or a proof of address that is older than three months. When we reject a document, we provide a specific reason in the document centre. Capture a new photo in good lighting, guaranteeing all text is readable. Should your proof of address is outdated, acquire a recent bank statement or utility bill. Re-submit the corrected files, and our team will review them again quickly.

Sometimes a deposit fails even if you have sufficient funds. This can happen in cases where your bank blocks gambling transactions or in cases where you have exceeded a payment method limit. Check with your bank to ensure online gambling payments are permitted. If you use a prepaid card like Paysafecard, verify the voucher has not been partially used elsewhere. Our support team can see the decline reason on our side and guide you. For any unresolved issue, live chat and email support are available in multiple languages, like Dutch and French.

Setting up Your Bwin Casino Account in Belgium

We maintain the account creation journey simple so you can transition from the registration page to the game lobby quickly. When you click the “Register” button on our site, a secure form loads. You must enter a proper email address, choose a robust password, and supply your full legal name just as it shows on your identity document. We also require your date of birth to verify you fulfill the minimum age requirement of 21 years for Belgian players.

After the basic details, the form prompts you for your residential address, covering street, city, and postal code. Belgian regulations require us to gather a national identification number, often referred to the Rijksregisternummer or numéro de registre national. This number allows us to check your age and identity against official records instantly. You will also select a preferred currency, which for most Belgian users is the euro.

You then set your communication preferences and can choose to receive promotional offers via email or SMS. We also ask you to acknowledge our terms and conditions and affirm that you are not self-excluded from gambling. Before submitting, you can choose to define a deposit limit immediately. We recommend this responsible gaming step, and you can modify it later in your account settings. Once you select “Create Account,” we transmit a verification email to the address you entered.

Open the email and press the confirmation link to verify your account. The link expires after a set period, so we suggest finishing this step quickly. If the message does not arrive in your inbox, examine your spam or junk folder. After email verification, your basic account is ready, and you can log in to explore the casino. However, certain features, including withdrawals, demand full identity verification, which we explain in a later section.

SUROL is a non-profit organization that has been in operation since 1971. We reach out to the most marginalized group of people in society.
Get In Touch
Support
No one has ever become poor by giving. Join us today and be a part of our mission.
SUROL is a non-profit organization that has been in operation since 1971. We reach out to the most marginalized group of people in society.
Get In Touch
Support
No one has ever become poor by giving. Join us today and be a part of our mission.
@ Copyright 2025 surol All rights reserved