/** * 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; } } Recom Inovácie a kvalitné služby pre vašu domácnosť -

Recom Inovácie a kvalitné služby pre vašu domácnosť

V dnešnej dobe je dôležité mať funkčný a efektívny domov. Recom https://recom.sk/ prináša inovácie, ktoré revolučne menia spôsob, akým vnímame a využívame naše domovy. S rôznymi produktmi a službami, ktoré ponúkajú, sa Recom zameriava na zlepšenie kvality života a zabezpečenie komfortu pre všetkých jeho zákazníkov.

Čo je Recom?

Recom je spoločnosť špecializujúca sa na poskytovanie inovatívnych riešení pre domácnosti. Ich portfólio zahŕňa široký sortiment produktov, od solárnych panelov, cez inteligentné domáce zariadenia až po energeticky efektívne riešenia. Cieľom Recomu je nielen zlepšiť komfort a pohodlie zákazníkov, ale aj prispieť k ochrane životného prostredia.

Výhody využívania produktov Recom

Existuje množstvo dôvodov, prečo by ste mali zvážiť produkty a služby Recom. Hlavné výhody zahŕňajú:

  • Energetická efektivita: Produkty Recom sú navrhnuté tak, aby maximalizovali energetickú účinnosť vo vašich domácnostiach. To vedie k nižším nákladom na energiu a znižuje uhlíkovú stopu.
  • Inteligentné technológie: Recom ponúka široký sortiment inteligentných domácich zariadení, ktoré zjednodušujú každodenné úlohy a zvyšujú komfort bývania.
  • Ekolog-friendly prístup: Všetky produkty Recom sú navrhnuté s ohľadom na životné prostredie, čo znamená, že vyberajú ekologicky šetrné materiály a technológie.
  • Jednoduchá inštalácia a údržba: Služby Recom zahŕňajú aj profesionálnu inštaláciu a servis produktov, čo zaručuje, že vaša domácnosť bude vždy v perfektnom stave.

Inovatívne riešenia pre domácnosť

Recom ponúka rôzne produkty a riešenia, ktoré sú špecificky navrhnuté na riešenie aktuálnych problémov domácností. Nielen, že sú tieto produkty funkčné, ale sú aj estetické a moderné. Medzi populárne riešenia patrí:

1. Solárne panely

Solárne panely Recom sú jedným z najefektívnejších spôsobov, ako znížiť svoje účty za energiu a využiť obnoviteľné zdroje energie. Tieto panely sú navrhnuté tak, aby maximálne využili slnečné žiarenie, čím zabezpečujú dlhodobú úsporu nákladov.

2. Inteligentné osvetlenie

Inteligentné osvetľovacie systémy Recom umožňujú ovládať osvetlenie vo vašej domácnosti pomocou smartfónu. Môžete prispôsobovať farbu a jas svetiel podľa svojich preferencií a nastaviť časové harmonogramy, čo zaisťuje pohodlné a energeticky efektívne osvietenie.

3. Systémy na inteligentné vykurovanie

Moderné systémy vykurovania od Recom sú navrhnuté na zníženie spotreby energie a poskytnutie optimálneho tepelného komfortu. Tieto systémy sú schopné učiť sa z vašich zvyklostí a prispôsobiť sa im.

Recom a udržateľný rozvoj

Recom sa nesmierne zaujíma o ochranu životného prostredia. Ich produkty sú vyvíjané s dôrazom na udržateľnosť a minimálny dopad na prírodu. Spoločnosť investuje do inovácií, ktoré pomáhajú znižovať množstvo odpadu a zvyšovať energetickú efektivitu. Tento záväzok k udržateľnosti je dôležitou súčasťou ich filozofie a stratégie.

Podpora a služby zákazníkom

Recom si zakladá na kvalitnej podpore a službách pre svojich zákazníkov. Ich odborníci sú pripravení odpovedať na otázky a poskytnúť poradenstvo pri výbere najlepších produktov pre vašu domácnosť. Okrem toho Recom ponúka aj profesionálnu inštaláciu a údržbu svojej produktovej rady pre maximálne pohodlie zákazníkov.

Záver

Investovanie do produktov a služieb Recom je investíciou do pohodlného, energeticky efektívneho a ekologicky zodpovedného domova. S ich inovatívnymi riešeniami a záväzkom k udržateľnosti, Recom predstavuje excelentnú voľbu pre každého, kto chce zlepšiť kvalitu svojho bývania a prispieť k ochrane životného prostredia. S Recom máte istotu, že váš domov bude nielen moderný, ale aj šetrný k prírode.