{"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 Τα Θεμελιώδη των Ορίων Κατάθεσης σε Καζίνο - Surol
premium Jack Casino προσφορά καλωσορίσματος

Όταν ξεκίνησα να ασχολούμαι επαγγελματικά με τον χώρο του online gaming, ένα από τα πρώτα πράγματα που με ξάφνιασε ήταν το πόσοι παίκτες δεν γνωρίζουν πλήρως τη λειτουργία των ορίων κατάθεσης jack.com.gr. Δεν κάνω λόγο για κάποιο γραφειοκρατικό εμπόδιο ούτε για έναν μηχανισμό που έχει δημιουργηθεί για να σας διακόψει τη διασκέδαση. Αντιθέτως, τα όρια κατάθεσης είναι ένα εργαλείο που βάζει εσάς στο τιμόνι της οικονομικής σας ενέργειας μέσα στην πλατφόρμα. Στο Jack Casino, προσεγγίζουμε αυτό το θέμα με τη σοβαρότητα που του αξίζει, γιατί θεωρούμε ότι η διαφάνεια και ο έλεγχος είναι τα θεμέλια μιας υγιούς σχέσης με το παιχνίδι. Σε αυτό το άρθρο θα σας αναλύσω τι ακριβώς είναι τα όρια κατάθεσης, πώς αποδίδουν στην πράξη, γιατί είναι απαραίτητα και με ποιον τρόπο μπορείτε να τα χρησιμοποιήσετε ώστε η εμπειρία σας να διατηρείται πάντα ευχάριστη και ασφαλής.

Τι Είναι τα Όρια Καταθέσεων και Ποιος ο Λόγος Υφίστανται

Τα όρια κατάθεσης είναι συγκεκριμένα ποσά χρημάτων που μπορείτε να μεταφέρετε στον λογαριασμό σας σε ένα online καζίνο μέσα συγκεκριμένο χρονικό διάστημα. Στην πραγματικότητα, λειτουργούν σαν ένα ατομικό μηχανισμό που αποτρέπει οποιαδήποτε συναλλαγή ξεπερνά το όριο που έχετε θέσει ή που καθορίστηκε από την ιστοσελίδα. Αυτό το μέτρο ασφαλείας δεν είναι καμία τυχαία δημιουργία των καζίνο, αλλά απορρέει από αυστηρές ρυθμιστικές υποχρεώσεις των αδειοδοτικών φορέων, οι οποίες υποχρεώνουν την ύπαρξη εργαλείων υπεύθυνου παιχνιδιού. Στο Jack Casino, η εφαρμογή με αυτούς τους όρους δεν είναι μόνο μια νομική απαίτηση· είναι μέρος της νοοτροπίας μας να προστατεύουμε κάθε παίκτη από παρορμητικές αποφάσεις που μπορεί να μετανιώσει στο μέλλον.

Ο κύριος αιτία ύπαρξης των περιορισμών κατάθεσης είναι η πρόληψη της υπέρμετρης δαπάνης. Όταν είστε σε μια σειρά παιγνίων, είτε κερδίζετε είτε χάνετε, η διέγερση μπορεί να θολώσει την λογική σας. Ένα σταθερό ημερήσιο, εβδομαδιαίο ή μηνιαίο πλαφόν λειτουργεί σαν ανάχωμα που σας υπενθυμίζει πότε είναι στιγμή να πραγματοποιήσετε ένα διάλειμμα. Επιπλέον, τα όρια βοηθούν στη διατήρηση ενός υγιούς bankroll, αποτρέποντας την ανάμειξη χρημάτων που προορίζονται για άλλες υποχρεώσεις, όπως ενοίκια ή λογαριασμούς, με το χρηματικό ποσό που διαθέτετε για ψυχαγωγία. Είναι ένα σύστημα που ενδυναμώνει την αυτοέλεγχο, χωρίς να αφαιρεί κάτι από τη διασκέδαση.

Από την πλευρά του καζίνο, τα πλαφόν κατάθεσης αποτελούν και ένα μέσο ασφαλείας απέναντι σε απάτες και ξέπλυμα χρήματος. Όταν ένας λογαριασμός έχει σαφή περιορισμούς, οι ασυνήθιστες κινήσεις εντοπίζονται ευκολότερα και μπλοκάρονται προτού δημιουργήσουν ζημιά. Αυτό σημαίνει ότι τα χρήματά σας θωρακίζονται και από εξωγενείς απειλές, όχι αποκλειστικά από προσωπικές σας παρορμήσεις. Στην πραγματικότητα, επομένως, τα περιορισμοί κατάθεσης είναι ένα πολυδιάστατο δίχτυ προστασίας που εξυπηρετεί παράλληλα εσάς, την πλατφόρμα και το γενικότερο ρυθμιστικό πλαίσιο.

ξεκλείδωσε Jack Casino μπόνους χωρίς κατάθεση διαφήμιση

Ενίσχυση Ορίων: Τι Πρέπει να Ξέρετε

Η ανύψωση των ορίων κατάθεσης είναι μια ενέργεια που αρκετοί παίκτες ζητούν κάποια στιγμή, είτε επειδή σκοπεύουν να χρησιμοποιήσουν μια προσφορά είτε επειδή απλώς αισθάνονται πιο άνετα με υψηλότερα ποσά. Στο Jack Casino, η διαδικασία είναι απλή αλλά διέπεται από συγκεκριμένους κανόνες ασφαλείας. Όπως ανέφερα νωρίτερα, οποιαδήποτε αίτηση για αύξηση των προσωπικών σας ορίων υποβάλλεται σε μια περίοδο αναμονής, η οποία συνήθως διαρκεί από είκοσι τέσσερις έως σαράντα οκτώ ώρες. Αυτό το «cooling-off» διάστημα έχει δημιουργηθεί για να αποκλείει παρορμητικές αποφάσεις που μπορεί να φέρουν σε υπερβολικές δαπάνες.

Για να ζητήσετε αύξηση, φτάνει να πλοηγηθείτε στην ίδια ενότητα όπου ορίσατε τα αρχικά σας όρια και να τροποποιήσετε τα ποσά προς τα πάνω. Το σύστημα θα σας ενημερώσει αμέσως για τον χρόνο που χρειάζεται μέχρι να ενεργοποιηθεί η αλλαγή. Σε ορισμένες περιπτώσεις, ειδικά αν η αύξηση είναι πολύ μεγάλη σε σχέση με το ιστορικό του λογαριασμού σας, μπορεί να σας δοθεί εντολή να μιλήσετε με την υποστήριξη πελατών για μια σύντομη συζήτηση. Αυτό δεν είναι τιμωρία, αλλά μια επιπλέον δικλείδα ασφαλείας που μας επιτρέπει να επαληθεύσουμε ότι η απόφασή σας είναι συνειδητή και ότι δεν έχετε κάποια δυσκολία.

Αυτό που πολλοί δεν αντιλαμβάνονται είναι ότι μπορείτε να ανεβάσετε τα όριά σας και προσωρινά, για ένα συγκεκριμένο γεγονός, όπως ένα μεγάλο τουρνουά ή ένα Σαββατοκύριακο με αθλητικά στοιχήματα. Σε αυτή την περίπτωση, μπορείτε να καθορίσετε ένα υψηλότερο όριο που θα εφαρμοστεί μόνο για το διάστημα που επιθυμείτε και στη συνέχεια θα αποκατασταθεί αυτόματα στο προηγούμενο επίπεδο. Αυτή η ευελιξία είναι ιδιαίτερα ωφέλιμη για όσους έχουν γενικά χαμηλά όρια αλλά θέλουν περιστασιακά να αυξήσουν το επίπεδο δράσης τους, χωρίς να θέσουν σε κίνδυνο τη μακροπρόθεσμη πειθαρχία τους.

Όρια Κατάθεσης και Σωστό Παιχνίδι

Τα περιορισμοί κατάθεσης είναι ο θεμελιώδης λίθος κάθε ολοκληρωμένης στρατηγικής σωστού παιχνιδιού και στο Jack Casino τα αντιμετωπίζουμε ως βασικό κομμάτι της εμπειρίας, όχι ως μια διακριτή λειτουργία κρυμμένη σε κάποιο υπομενού. Όταν συνδυάζονται με άλλα εργαλεία, όπως τα περιορισμοί απώλειας, τα χρονικά όρια παιχνιδιού και η δυνατότητα αυτοαποκλεισμού, δημιουργούν ένα πλήρες δίχτυ προστασίας. Το σκεπτικό είναι απλό: αν ελέγχετε πόσα χρήματα μπαίνουν στον λογαριασμό σας, ελέγχετε και το μέγιστο ποσό που μπορείτε να ξοδέψετε, ανεξάρτητα από το πόσο έντονα παίζετε.

Αυτό που θέλω να τονίσω είναι ότι τα περιορισμοί κατάθεσης δεν είναι ένδειξη αδυναμίας ή παραδοχή ότι δεν μπορείτε να διαχειριστείτε τα οικονομικά σας. Αντίθετα, είναι σημάδι ωριμότητας και αυτογνωσίας. Ακόμα και οι πιο έμπειροι παίκτες, που γνωρίζω προσωπικά εδώ και χρόνια, χρησιμοποιούν αυστηρά περιορισμοί για να διατηρούν το παιχνίδι στη σωστή του διάσταση: ως μια μορφή ψυχαγωγίας με κόστος, όπως ακριβώς ένα εισιτήριο για μια συναυλία ή ένα δείπνο σε εστιατόριο. Στο Jack Casino, μπορείτε να ενεργοποιήσετε και ειδοποιήσεις που σας ενημερώνουν όταν πλησιάζετε τα όριά σας, ώστε να έχετε πάντα πλήρη επίγνωση της κατάστασής σας.

Επιπλέον, η πλατφόρμα μας συνεργάζεται με ανεξάρτητους οργανισμούς που ειδικεύονται στην υποστήριξη ατόμων με προβληματική σχέση με το παιχνίδι. Αν νιώσετε ποτέ ότι τα όρια δεν επαρκούν ή ότι χάνετε τον έλεγχο, μπορείτε να βρείτε άμεσα συνδέσμους προς αυτές τις υπηρεσίες μέσα από την ενότητα υπεύθυνου παιχνιδιού. Το μήνυμά μου είναι ξεκάθαρο: τα όρια είναι εκεί για να σας προστατεύουν και εμείς είμαστε εδώ για να σας βοηθήσουμε να τα χρησιμοποιήσετε σωστά, χωρίς ντροπή και χωρίς καθυστερήσεις.

Η Σημασία της Ταυτοποίησης Λογαριασμού στα Πλαίσια

Η διαδικασία ταυτοποίησης, γνωστή και ως KYC (Know Your Customer), είναι στενά συνδεδεμένη με τα όρια κατάθεσης και συνήθως καθορίζει το σε ποιο βαθμό ψηλά μπορείτε να φτάσετε. Όταν ανοίγετε έναν νέο λογαριασμό στο Jack Casino, τα αρχικά όρια είναι συνήθως πιο συντηρητικά, μέχρι να ολοκληρώσετε την επαλήθευση της ταυτότητάς σας. Αυτό συνεπάγεται ότι ενδέχεται να μπορείτε να καταθέσετε μόνο μερικές εκατοντάδες ευρώ τον πρώτο καιρό. Μόλις προσκομίσετε τα απαραίτητα έγγραφα – ταυτότητα, αποδεικτικό διεύθυνσης και, σε ορισμένες περιπτώσεις, αποδεικτικό της μεθόδου πληρωμής – και αυτά εγκριθούν, τα όρια διευρύνονται σημαντικά, παρέχοντάς σας πολύ μεγαλύτερη ελευθερία κινήσεων.

Αυτή η πρακτική δεν είναι γραφειοκρατική τυπολατρία, αλλά ένα μέτρο που θωρακίζει τόσο εσάς όσο και την πλατφόρμα από κλοπή ταυτότητας και απάτες. Ένας μη επαληθευμένος λογαριασμός είναι πιο ευάλωτος σε κακόβουλες ενέργειες, γι’ αυτό και τα όρια παραμένουν χαμηλά. πλήρης οδηγός Επιπλέον, η ταυτοποίηση είναι προαπαιτούμενο για οποιαδήποτε ανάληψη κερδών, οπότε σας συμφέρει να την ολοκληρώσετε το συντομότερο δυνατόν. Στην πράξη, σας συνιστώ να ανεβάσετε τα έγγραφά σας αμέσως μετά την εγγραφή, ακόμα κι αν δεν σκοπεύετε να κάνετε μεγάλες καταθέσεις άμεσα, ώστε να μην αντιμετωπίσετε καθυστερήσεις όταν θελήσετε να αυξήσετε τα όριά σας ή να κάνετε ανάληψη.

Αξίζει να σημειωθεί ότι ακόμα και μετά την πλήρη ταυτοποίηση, το Jack Casino διατηρεί το δικαίωμα να επιβάλει επιπλέον ελέγχους σε ασυνήθιστα υψηλές συναλλαγές, ως μέρος της πολιτικής υπεύθυνου παιχνιδιού και κατά του ξεπλύματος χρήματος. Αυτό δεν πρέπει να σας ανησυχεί· είναι μια τυπική διαδικασία που διασφαλίζει ότι όλα λειτουργούν με διαφάνεια. Αν ποτέ σας ζητηθούν επιπλέον δικαιολογητικά, ανταποκριθείτε άμεσα και το αρμόδιο τμήμα θα διεκπεραιώσει το αίτημά σας μέσα σε λίγες ώρες, συνήθως εντός της ίδιας εργάσιμης ημέρας.

Οι Ποικίλοι Τύποι Ορίων Κατάθεσης που Συναντάμε

Δεν είναι όλα τα τα όρια κατάθεσης ίδια και αυτό είναι ένα θέμα που χρήζει να αντιληφθείτε πριν πραγματοποιήσετε την πρώτη σας συναλλαγή. Ο πιο συνηθισμένος διαχωρισμός πραγματοποιείται με βάση το χρονικό πλαίσιο: ημερήσια, εβδομαδιαία και μηνιαία όρια. Το ημερήσιο όριο είναι το μέγιστο ποσό που μπορείτε να καταθέσετε μέσα σε ένα εικοσιτετράωρο. Είναι κατάλληλο για όσους θέλουν να έχουν στενό έλεγχο, καθώς ανανεώνεται κάθε μέρα και σας αναγκάζει να σκεφτείτε δύο φορές πριν προσθέσετε κι άλλα χρήματα την ίδια ημέρα. Το εβδομαδιαίο όριο λειτουργεί αθροιστικά από Δευτέρα έως Κυριακή και παρέχει μια πιο εύκαμπτη προσέγγιση, δίνοντάς σας να μοιράσετε το διαθέσιμο ποσό όπως επιθυμείτε μέσα στην εβδομάδα.

Το μηνιαίο όριο είναι το πιο μακροχρόνιο και κατά κανόνα το υψηλότερο από τα τρία, αλλά παράλληλα και το πιο κρίσιμο για τον προϋπολογισμό σας. Αν, για παράδειγμα, έχετε θέσει μηνιαίο όριο κατάθεσης πεντακοσίων ευρώ, έχετε τη δυνατότητα να τα βάλετε όλα την πρώτη μέρα ή να τα μοιράσετε σταδιακά. Μόλις το σύνολο αγγίξει αυτό το ποσό, καμία νέα κατάθεση δεν θα γίνεται αποδεκτή μέχρι την πρώτη ημέρα του επόμενου μήνα. Στο Jack Casino έχετε τη δυνατότητα να συνδυάζετε αυτούς τους τρεις τύπους, δημιουργώντας ένα πολυεπίπεδο σύστημα προστασίας που ανταποκρίνεται ακριβώς στις δικές σας συνήθειες και απαιτήσεις.

Πέρα από τα χρονικά όρια, υπάρχουν και τα όρια ανά μέθοδο πληρωμής ή ανά συναλλαγή. Ορισμένοι πάροχοι πληρωμών, όπως οι προπληρωμένες κάρτες, έχουν εκ των προτέρων ανώτατα ποσά που δεν μπορούν να ξεπεραστούν, ανεξάρτητα από το τι επιτρέπει το καζίνο. Αντίστοιχα, μπορεί να συναντήσετε ελάχιστα όρια κατάθεσης, τα οποία είναι συνήθως πολύ χαμηλά, γύρω στα δέκα ευρώ, ώστε να είναι προσιτά σε όλους. Αυτή η ποικιλία διασφαλίζει ότι κάθε παίκτης, από τον πιο συντηρητικό μέχρι εκείνον που επιθυμεί μεγαλύτερη ελευθερία, θα βρει μια ρύθμιση που να ταιριάζει στο προφίλ του.

Με ποιο τρόπο τα Όρια κατάθεσης Διαμορφώνουν την Απόλαυση σας στα Παιχνίδια καζίνο

Μια απορία που συναντώ συχνά είναι αν τα μικρά όρια κατάθεσης επηρεάζουν τη ψυχαγωγία ή τις δυνατότητες να νικήσετε. Η απάντηση είναι απολύτως όχι. Τα φρουτάκια, το live casino, τα κλασικά παιχνίδια και το αθλητικό στοίχημα στο Jack Casino είναι φτιαγμένα για να παρέχουν ολοκληρωμένη εμπειρία ανεξάρτητα από το ποσό της κατάθεσης. Έχετε τη δυνατότητα να απολαύσετε κορυφαίους τίτλους από παρόχους όπως η NetEnt και η Evolution με ποντάρια που αρχίζουν από ελάχιστα λεπτά του ευρώ. Με αυτόν τον τρόπο, ακόμη και αν το καθημερινό όριό σας είναι 20 ευρώ, έχετε στη διάθεσή σας μπροστά σας πολλές ώρες ψυχαγωγίας και τη ευκαιρία να διεκδικήσετε αυξανόμενα τζάκποτ που μεταμορφώνουν ζωές.

Αντίθετα, τα όρια είναι ικανά να αναβαθμίσουν την εμπειρία σας, καθώς σας ωθούν να γίνεστε πιο επιλεκτικοί και στρατηγικοί. Τη στιγμή που γνωρίζετε ότι σας είναι αδύνατο να βάλετε χωρίς όρια, ξοδεύετε παραπάνω χρόνο στην ανάδειξη των παιχνιδιών, στη μελέτη των κανόνων και στη διαχείριση του του bankroll σας. Κάτι τέτοιο αλλάζει το παιχνίδι από μια μηχανική κίνηση σε μια πιο υπεύθυνη δραστηριότητα. Επιπρόσθετα, τα προσφορές καλωσορίσματος και οι συχνές προσφορές είναι σχεδιασμένα έτσι ώστε να αποδίδουν και με μικρές καταθέσεις, επομένως δεν χάνετε ευκαιρίες γιατί βάζετε όρια.

Στο live casino, για παράδειγμα, είστε σε θέση να καθίσετε σε τραπέζια μπλακτζάκ ρουλέτας ή μπλακτζάκ με ελάχιστο ποντάρισμα ένα ευρώ, ενώ οι επιλογές στοιχήματος καλύπτουν από απλά μονά στοιχήματα μέχρι σύνθετα συστήματα, το καθένα σύμφωνα με το budget σας. Αυτή δυνατότητα είναι που καθιστά το Jack Casino μια πλατφόρμα παιχνιδιού για κάθε παίκτη, ανεξάρτητα χρηματικής δυνατότητας. Το κλειδί είναι να βλέπετε τα όρια schoolpress.sch.gr όχι ως εμπόδιο, αλλά ως τον δικό σας σας ρυθμιστή που εγγυάται ότι το παιχνίδι θα συνεχίσει να είναι αυτό που οφείλει να είναι: μια ευχάριστη εμπειρία απόδραση.

Μέθοδοι Πληρωμής και τα Αντίστοιχα Όρια

Κάθε τρόπος πληρωμής που υποστηρίζεται στο Jack Casino περιλαμβάνει τα δικά της φυσικά όρια, τα οποία είναι διαφορετικά από τα προσωπικά όρια που ορίζετε εσείς. Οι χρεωστικές και πιστωτικές κάρτες Visa και Mastercard, για παράδειγμα, κατά κανόνα επιτρέπουν συναλλαγές από δέκα έως μερικές χιλιάδες ευρώ ανά ημέρα, αλλά το τελικό ποσό καθορίζεται από και την τράπεζα έκδοσης. Οι ηλεκτρονικά πορτοφόλια όπως το Skrill και το Neteller είναι εξαιρετικά δημοφιλή για την ταχύτητά τους και συχνά έχουν υψηλότερα ανώτατα όρια, με αποτέλεσμα να είναι ιδανικά για παίκτες που ζητούν μεγαλύτερη ευελιξία. Από την άλλη, οι προπληρωμένες κάρτες τύπου Paysafecard έχουν κατά κανόνα χαμηλότερα μέγιστα, γύρω στα εκατό ευρώ ανά κουπόνι, κάτι που τις κάνει τέλειες για αυστηρό έλεγχο δαπανών.

Οι τραπεζικές μεταφορές και οι άμεσες χρεώσεις μέσω υπηρεσιών όπως το Trustly επιτρέπουν μεγαλύτερα ποσά, αλλά ενδέχεται να έχουν μεγαλύτερους χρόνους διεκπεραίωσης. Στην πράξη, αν κάνετε χρήση τραπεζική μεταφορά, το ελάχιστο όριο μπορεί να είναι υψηλότερο, γύρω στα είκοσι ή τριάντα ευρώ, ενώ το μέγιστο μπορεί να ανέλθει αρκετές χιλιάδες. Αυτό που πρέπει να έχετε κατά νου είναι ότι το τελικό διαθέσιμο όριο κατάθεσης είναι το χαμηλότερο από το προσωπικό σας όριο, το όριο της μεθόδου πληρωμής και τυχόν περιορισμούς που επιβάλλει η πλατφόρμα με βάση το επίπεδο ταυτοποίησής σας. Επομένως, ακόμα κι αν καθορίσετε μηνιαίο όριο δύο χιλιάδων ευρώ, αν η κάρτα σας προσφέρει μόνο χίλια την ημέρα, αυτό θα είναι το πραγματικό σας ταβάνι.

Μια πρακτική συμβουλή που παρέχω πάντα είναι να ελέγχετε τα όρια της μεθόδου σας πριν επιχειρήσετε μια μεγάλη κατάθεση, ειδικά αν προτίθεστε να διεκδικήσετε κάποιο μπόνους καλωσορίσματος που απαιτεί ελάχιστη κατάθεση. Στο Jack Casino, όλες οι διαθέσιμες μέθοδοι παρουσιάζουν ξεκάθαρα τα ελάχιστα και μέγιστα ποσά στο ταμείο, οπότε δεν είναι απαραίτητο να μαντεύετε. Αν παρατηρήσετε ότι το όριο της αγαπημένης σας μεθόδου είναι πολύ χαμηλό, μπορείτε πάντα να χρησιμοποιήσετε μαζί δύο διαφορετικές μεθόδους, αρκεί και οι δύο να είναι καταχωρημένες στο όνομά σας και να έχουν επιβεβαιωθεί πλήρως.

Πώς να Καθορίσετε τα Δικά σας Περιορισμοί στο Jack Casino

Η Πορεία Σταδιακά

Η εφαρμογή των ιδίων ορίων κατάθεσης στην πλατφόρμα μας είναι μια διαδικαστική που έχω δημιουργήσει προσωπικά ώστε να είναι όσο το δυνατόν πιο απλή και ξεκάθαρη. Το πρώτο βήμα είναι να μπείτε στον προφίλ σας και να κατευθυνθείτε στην περιοχή «Υπεύθυνο Παιχνίδι» ή «Όρια Λογαριασμού», που βρίσκεται είτε στο κύριο μενού είτε στις ρυθμίσεις του προφίλ σας. Σε αυτό το σημείο θα παρατηρήσετε τρία κουτιά που αναλογούν στα ημερήσια , εβδομαδιαία και μηνιαία όρια. Έχετε τη δυνατότητα να πληκτρολογήσετε το χρηματικό ποσό που θέλετε σε ευρώ και να εγκρίνετε την απόφαση σας. Το σύστημα θα σας απαιτήσει να ελέγξετε την ταυτότητά σας μέσω ενός κωδικού που αποστέλλεται στο email ή το τηλέφωνο σας, για ζητήματα ασφαλείας.

Αυτό ακριβώς που κάνει τη διαφορά στο Jack Casino είναι ότι έχετε τη δυνατότητα να καθορίσετε ποικίλα ποσά για κάθε χρονικό επίπεδο παράλληλα. Για παράδειγμα, μπορείτε να βάλετε ημερήσιο όριο 50 ευρώ, εβδομαδιαίο διακόσια ευρώ και μηνιαίο 500 ευρώ. Σε περίπτωση που κάποια στιγμή πλησιάσετε το ημερήσιο όριο, δεν θα είστε σε θέση να εισάγετε άλλα χρήματα μέχρι την επόμενη μέρα, ακόμα κι αν δεν έχετε πλησιάσει το εβδομαδιαίο. Αυτή η ιεραρχία προστατεύει από βιαστικές κινήσεις και σας παρέχει τον απόλυτο έλεγχο. Να θυμάστε ότι οι τροποποιήσεις στη μείωση των ορίων ενεργοποιούνται άμεσα, ενώ οποιαδήποτε αύξηση υπόκειται σε χρονικό διάστημα αναμονής, κατά κανόνα 24 ωρών, για να αποτραπούν βιαστικές κινήσεις.

Εάν δυσκολεύεστε να καθορίσετε ποια ποσά είναι κατάλληλα για εσάς, σας συμβουλεύω να ξεκινήσετε με ένα συνετό ποσό που αντιστοιχεί σε αυτό που θα δαπανούσατε για μια νυχτερινή έξοδο. Παρακολουθήστε τη στάση σας για μία εβδομάδα και στη συνέχεια προσαρμόστε τα όρια ανάλογα. Το σημαντικό είναι να είστε ειλικρινείς με τον εαυτό σας και να μην αντιμετωπίζετε τα όρια ως τροχοπέδη, αλλά ως έναν βοηθό που σας κρατά εντός των ορίων που εσείς οι ίδιοι επιλέξατε. Σε κάθε ενδεχόμενο, η ομάδα υποστήριξής μας είναι διαθέσιμη όλο το 24ωρο για να σας οδηγήσει βήμα προς βήμα.

Κοινές Παγίδες και Εφαρμόσιμες Συμβουλές

αποκλειστικό Jack Casino μπόνους δωρεάν περιστροφών εικόνα

Μια από τις πιο συνηθισμένες παγίδες που εντοπίζω είναι οι παίκτες να θέτουν όρια μόνο και μόνο για να τα παρακάμπτουν δημιουργώντας δεύτερους λογαριασμούς. Αυτό όχι μόνο παραβαίνει τους όρους χρήσης και οδηγεί σε μόνιμο αποκλεισμό, αλλά εξουδετερώνει και όλη την ενέργεια αυτοπροστασίας. Στο Jack Casino, τα συστήματά μας ανιχνεύουν διπλούς λογαριασμούς μέσα σε λίγες ώρες, οπότε μην μπείτε καν στον πειρασμό. Αντ’ αυτού, αν νιώθετε ότι τα όριά σας σας είναι πολύ αυστηρά, εφαρμόστε τη νόμιμη οδό της αύξησης με την περίοδο αναμονής που ανέφερα.

Μια άλλη παγίδα είναι να παραβλέπετε τα όρια των μεθόδων πληρωμής και να επιχειρείτε να καταθέσετε ποσά που απλά δεν γίνονται δεκτά, με αποτέλεσμα να χάνετε χρόνο και να απογοητεύεστε. Πάντα να εξετάζετε το ταμείο πριν ξεκινήσετε. Επίσης, μην ξεχνάτε ότι τα όρια κατάθεσης δεν καλύπτουν τυχόν χρεώσεις από τρίτους παρόχους, όπως προμήθειες μετατροπής συναλλάγματος αν χρησιμοποιείτε κάρτα σε διαφορετικό νόμισμα. Αυτές οι λεπτομέρειες μπορούν να μεταβάλουν το τελικό ποσό που φτάνει στο υπόλοιπό σας.

Η καλύτερη πρακτική συμβουλή που μπορώ να προσφέρω είναι να αντιμετωπίζετε τα όρια σαν έναν δυναμικό μηχανισμό που προσαρμόζεται μαζί σας. Αναθεωρείτε τα τακτικά, ειδικά αν μεταβληθούν τα οικονομικά σας δεδομένα ή οι συνήθειές σας σας. Συνδυάστε τα με χρονικά όρια παιχνιδιού για ένα πλήρες πλάνο. Και το ουσιωδέστερο, αν ποτέ νιώσετε ότι το παιχνίδι παύει να είναι διασκέδαση, κάντε χρήση την επιλογή αυτοαποκλεισμού. Στο Jack Casino, η πόρτα μας είναι πάντα ανοιχτή για υπεύθυνο παιχνίδι και η ομάδα μας είναι εκπαιδευμένη να σας αφουγκραστεί και να σας συμβουλεύσει με απόλυτη διακριτικότητα και σεβασμό.

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