/** * 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; } } تطوير جزء محلي في واترلو -

تطوير جزء محلي في واترلو

تُسيطر أربع مؤسسات مصرفية تجارية مملوكة للدولة على أحدث أسواق الخدمات المصرفية، وهي: البنك القومي المصري، وبنك مصر، وبنك القاهرة، وبنك الإسكندرية، والتي تُشكّل مجتمعةً 55% من إجمالي الأصول المالية. وتلعب الحكومة المصرية الجديدة دورًا رئيسيًا في قطاع الاتصالات من خلال امتلاكها الحصة الأكبر في شركة اتصالات مصر. وسجّلت محلات الهايبر ماركت ومتاجر البيع بالجملة أعلى معدلات نمو خلال الأشهر القليلة الماضية، بنسبة 153% و162% على التوالي، ما يُمثّل 26% من نمو القطاع. ولا يزال قطاع تجارة التجزئة والبقالة الجديد خاضعًا إلى حد كبير لسيطرة المتاجر التقليدية التي تُدار عائليًا، على الرغم من توسّع سلاسل متاجر البقالة والمتاجر الصغيرة من حيث الحجم والانتشار بين عامي 2015 و2020.

xm no deposit bonus $30

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

كانت عمليات إعادة تنشيط حقل ظهر أحدث الخطط لزيادة الإنتاج بمقدار 220 مليون قدم مكعب يوميًا. في العام التالي، أطلقت شركة بريتيش بتروليوم (BP) تمويلًا ضخمًا بقيمة 12 مليار دولار أمريكي في قطاع الغاز المصري، معظمه في منطقة دلتا النيل الغربية، والتي تُزوّد ​​حاليًا ما يقرب من مليار قدم مكعب يوميًا. وقّعت مصر اتفاقية لمدة 15 عامًا مع إسرائيل تسمح لها باستيراد 7 مليارات متر مكعب من الوقود سنويًا عبر خط أنابيب ليفياثان. في عام 2014، أعطت مصر الأولوية للاستهلاك المحلي للوقود على حساب الصادرات، مما قلّل من الإمدادات العالمية. ومع ذلك، فإن انخفاض إنتاج النفط الخام، الذي بلغ ذروته عند 941 ألف برميل يوميًا (149,600 متر مكعب يوميًا) في عام 1993 قبل أن ينخفض ​​إلى 630 ألف برميل يوميًا (1100 ألف متر مكعب يوميًا) في عام 2008، دفع مصر إلى إعادة التركيز على الغاز. لقد خصصت الهيئات التنظيمية المصرية الجديدة وقتاً كافياً لإعطاء الأولوية لتنمية قطاع البتروكيماويات الجديد وزيادة صادرات البروبان.

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