/** * WP_oEmbed_Controller class, used to provide an oEmbed endpoint. * * @package WordPress * @subpackage Embeds * @since 4.4.0 */ /** * oEmbed API endpoint controller. * * Registers the REST API route and delivers the response data. * The output format (XML or JSON) is handled by the REST API. * * @since 4.4.0 */ #[AllowDynamicProperties] final class WP_oEmbed_Controller { /** * Register the oEmbed REST API route. * * @since 4.4.0 */ public function register_routes() { /** * Filters the maxwidth oEmbed parameter. * * @since 4.4.0 * * @param int $maxwidth Maximum allowed width. Default 600. */ $maxwidth = apply_filters( 'oembed_default_width', 600 ); register_rest_route( 'oembed/1.0', '/embed', array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_item' ), 'permission_callback' => '__return_true', 'args' => array( 'url' => array( 'description' => __( 'The URL of the resource for which to fetch oEmbed data.' ), 'required' => true, 'type' => 'string', 'format' => 'uri', ), 'format' => array( 'default' => 'json', 'sanitize_callback' => 'wp_oembed_ensure_format', ), 'maxwidth' => array( 'default' => $maxwidth, 'sanitize_callback' => 'absint', ), ), ), ) ); register_rest_route( 'oembed/1.0', '/proxy', array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_proxy_item' ), 'permission_callback' => array( $this, 'get_proxy_item_permissions_check' ), 'args' => array( 'url' => array( 'description' => __( 'The URL of the resource for which to fetch oEmbed data.' ), 'required' => true, 'type' => 'string', 'format' => 'uri', ), 'format' => array( 'description' => __( 'The oEmbed format to use.' ), 'type' => 'string', 'default' => 'json', 'enum' => array( 'json', 'xml', ), ), 'maxwidth' => array( 'description' => __( 'The maximum width of the embed frame in pixels.' ), 'type' => 'integer', 'default' => $maxwidth, 'sanitize_callback' => 'absint', ), 'maxheight' => array( 'description' => __( 'The maximum height of the embed frame in pixels.' ), 'type' => 'integer', 'sanitize_callback' => 'absint', ), 'discover' => array( 'description' => __( 'Whether to perform an oEmbed discovery request for unsanctioned providers.' ), 'type' => 'boolean', 'default' => true, ), ), ), ) ); } /** * Callback for the embed API endpoint. * * Returns the JSON object for the post. * * @since 4.4.0 * * @param WP_REST_Request $request Full data about the request. * @return array|WP_Error oEmbed response data or WP_Error on failure. */ public function get_item( $request ) { $post_id = url_to_postid( $request['url'] ); /** * Filters the determined post ID. * * @since 4.4.0 * * @param int $post_id The post ID. * @param string $url The requested URL. */ $post_id = apply_filters( 'oembed_request_post_id', $post_id, $request['url'] ); $data = get_oembed_response_data( $post_id, $request['maxwidth'] ); if ( ! $data ) { return new WP_Error( 'oembed_invalid_url', get_status_header_desc( 404 ), array( 'status' => 404 ) ); } return $data; } /** * Checks if current user can make a proxy oEmbed request. * * @since 4.8.0 * * @return true|WP_Error True if the request has read access, WP_Error object otherwise. */ public function get_proxy_item_permissions_check() { if ( ! current_user_can( 'edit_posts' ) ) { return new WP_Error( 'rest_forbidden', __( 'Sorry, you are not allowed to make proxied oEmbed requests.' ), array( 'status' => rest_authorization_required_code() ) ); } return true; } /** * Callback for the proxy API endpoint. * * Returns the JSON object for the proxied item. * * @since 4.8.0 * * @see WP_oEmbed::get_html() * @global WP_Embed $wp_embed WordPress Embed object. * @global WP_Scripts $wp_scripts * * @param WP_REST_Request $request Full data about the request. * @return object|WP_Error oEmbed response data or WP_Error on failure. */ public function get_proxy_item( $request ) { global $wp_embed, $wp_scripts; $args = $request->get_params(); // Serve oEmbed data from cache if set. unset( $args['_wpnonce'] ); $cache_key = 'oembed_' . md5( serialize( $args ) ); $data = get_transient( $cache_key ); if ( ! empty( $data ) ) { return $data; } $url = $request['url']; unset( $args['url'] ); // Copy maxwidth/maxheight to width/height since WP_oEmbed::fetch() uses these arg names. if ( isset( $args['maxwidth'] ) ) { $args['width'] = $args['maxwidth']; } if ( isset( $args['maxheight'] ) ) { $args['height'] = $args['maxheight']; } // Short-circuit process for URLs belonging to the current site. $data = get_oembed_response_data_for_url( $url, $args ); if ( $data ) { return $data; } $data = _wp_oembed_get_object()->get_data( $url, $args ); if ( false === $data ) { // Try using a classic embed, instead. /* @var WP_Embed $wp_embed */ $html = $wp_embed->get_embed_handler_html( $args, $url ); if ( $html ) { // Check if any scripts were enqueued by the shortcode, and include them in the response. $enqueued_scripts = array(); foreach ( $wp_scripts->queue as $script ) { $enqueued_scripts[] = $wp_scripts->registered[ $script ]->src; } return (object) array( 'provider_name' => __( 'Embed Handler' ), 'html' => $html, 'scripts' => $enqueued_scripts, ); } return new WP_Error( 'oembed_invalid_url', get_status_header_desc( 404 ), array( 'status' => 404 ) ); } /** This filter is documented in wp-includes/class-wp-oembed.php */ $data->html = apply_filters( 'oembed_result', _wp_oembed_get_object()->data2html( (object) $data, $url ), $url, $args ); /** * Filters the oEmbed TTL value (time to live). * * Similar to the {@see 'oembed_ttl'} filter, but for the REST API * oEmbed proxy endpoint. * * @since 4.8.0 * * @param int $time Time to live (in seconds). * @param string $url The attempted embed URL. * @param array $args An array of embed request arguments. */ $ttl = apply_filters( 'rest_oembed_ttl', DAY_IN_SECONDS, $url, $args ); set_transient( $cache_key, $data, $ttl ); return $data; } } Discover the exciting casino experience in the Arab entertainment world. -

Discover the exciting casino experience in the Arab entertainment world.

Discover the exciting casino experience in the Arab entertainment world.

مقدمة إلى عالم الكازينوهات في الشرق الأوسط

تعتبر الكازينوهات جزءًا مثيرًا من عالم الترفيه في الشرق الأوسط. على الرغم من القيود الثقافية والدينية التي تحد من انتشارها، إلا أن هناك زيادة ملحوظة في عدد السياح والوافدين الذين يبحثون عن تجربة ترفيهية مختلفة ومثيرة في هذه البقعة من العالم. بغض النظر عن القوانين المقيدة، يسعى العديد للاستمتاع بجو الإثارة والترف الذي تقدمه الكازينوهات.

يساعد النمو الاقتصادي في العديد من دول الشرق الأوسط على فتح آفاق جديدة لصناعة الترفيه، بما في ذلك الكازينوهات. واحدة من المنصات التي تتيح للجماهير الوصول إلى هذه التجارب المثيرة هي 1xbet. الموقع الرسمي لهذه المنصة يوفر مجموعة متنوعة من الخيارات والترفيه للزوار من جميع أنحاء العالم، مما يجعله وجهة مفضلة لأولئك الذين يسعون لمغامرة جديدة في بيئة آمنة ومنظمة. استخدام هذه المنصة يعني أن التجربة الترفيهية ليست بعيدة عن متناول اليد، ويمكن الاستمتاع بها في أي وقت وفي أي مكان.

التكنولوجيا والتقدم في الكازينوهات الحديثة

مع التقدم التكنولوجي السريع، أصبحت الكازينوهات أكثر تطوراً من أي وقت مضى. تعتمد العديد من الكازينوهات الحديثة في الشرق الأوسط على التكنولوجيا لتعزيز تجربة الألعاب، من خلال توفير ألعاب تفاعلية وعروض حيّة تجذب اللاعبين الباحثين عن المتعة والإثارة. هذه الكازينوهات الرقمية تتيح للاعبين الانغماس في أجواء الكازينو من راحة منازلهم.

كما أن توفير تطبيقات الهواتف الذكية ومنصات اللعب عبر الإنترنت مُكّن الناس في كافة أرجاء العالم من التمتع بالتجربة الكازينوية دون الحاجة للسفر. لهذا السبب، أصبح من السهل الوصول إلى الألعاب والتفاعل مع الآخرين في بيئة ترفيهية آمنة ومحمية.

أثر الكازينوهات على السياحة والاقتصاد المحلي

تساهم الكازينوهات بشكل كبير في زيادة حركة السياحة في بلدان الشرق الأوسط. يجذب توفر الكازينوهات الفاخرة الزوار من مختلف الدول، مما يعزز الاقتصاد المحلي ويساهم في توفير فرص عمل جديدة للسكان المحليين. السياح المهتمون بزيارة الكازينوهات يبحثون عن تجارب راقية، تشمل الإقامة في فنادق فاخرة وتناول الطعام في مطاعم ذات جودة عالية.

فضلاً عن ذلك، تعمل الكازينوهات على تعزيز البنية التحتية السياحية وتعزز من سمعة البلد كوجهة سياحية جذابة. تحظى هذه الأماكن بتقدير كبير من قبل الزوار، حيث توفر لهم فرصة للانغماس في ثقافة جديدة والاستمتاع بتجارب لا تُنسى.

1xbet: تجربة كازينو رقمية متميزة

يوفر موقع 1xbet بيئة مثالية لمحبي الكازينو الرقمي في الشرق الأوسط. يقدم هذا الموقع مجموعة واسعة من الألعاب والعروض الترفيهية التي ترضي جميع الأذواق. من أهم ما يميز الموقع هو تصميمه الأنيق وسهولة استخدامه، مما يجعله الوجهة المثلى للزوار الباحثين عن تجربة لعب ممتعة وآمنة عبر الإنترنت.

تعتبر منصة 1xbet مفضلة لدى الكثيرين وذلك لأنها تقدم فرصاً متعددة لتحقيق أرباح والطرف في الوقت ذاته. يتيح الموقع للعملاء الاستمتاع بأحدث الألعاب والتقنيات، مما يعزز شعورهم بالإثارة والتحدي الذي يصاحب الترفيه الكازينوي. يساهم هذا في جعل الموقع وجهة مفضلة للراغبين في الاستفادة من خدمات الكازينو الرقمي الراقي في العالم العربي.

Leave a Reply

Your email address will not be published. Required fields are marked *