/** * 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; } } Guía Completa de Asesoría Legal en Extradición – tejas-apartment.teson.xyz

Guía Completa de Asesoría Legal en Extradición

Asesoría Legal en Extradición: Todo lo que Necesitas Saber

La asesoría legal en extradición es un tema crucial en el ámbito legal internacional, que se refiere al proceso mediante el cual un individuo es entregado por un Estado a otro, a solicitud de este último, para ser juzgado o cumplir una condena. A lo largo de este artículo, exploraremos los aspectos críticos de la extradición, cómo funciona este proceso y la importancia de contar con una sólida representación legal.

¿Qué es la Extradición?

La extradición es un mecanismo jurídico que permite a un país solicitar la entrega de una persona que ha sido acusada o condenada por un delito en su jurisdicción. Este proceso está regido por acuerdos internacionales, tratados bilaterales o leyes nacionales que especifican las condiciones bajo las cuales puede llevarse a cabo la extradición. Es fundamental comprender que no todos los delitos son extraditables y que cada caso es único, dependiendo de la legislación del país que emite la solicitud y del país donde se encuentra el acusado.

Fundamentos de la Extradición

La extradición se basa en dos principios fundamentales: el principio de doble incriminación y el principio de no entrega de ciudadanos. El principio de doble incriminación establece que el delito por el cual se solicita la extradición debe ser considerado un delito en ambos países. Por otro lado, muchos países declinan extraditar a sus propios ciudadanos, lo que complica el proceso legal.

Tipos de Extradición

Existen dos tipos principales de extradición: la extradición activa y la pasiva. La extradición activa se produce cuando un país solicita la entrega de una persona que se encuentra en el extranjero. En contraste, la extradición pasiva se refiere a la situación en la que un país recibe a una persona para ser juzgada o cumplir una condena tras haber sido detenida en otro Estado.

Proceso de Extradición

El proceso de extradición puede variar dependiendo de la legislación y los tratados en los que se base. Sin embargo, generalmente incluye los siguientes pasos:

  1. Solicitud de Extradición: El país que solicita la extradición presenta una solicitud formal, a menudo mediante canales diplomáticos.
  2. Evaluación de la Solicitud: La autoridad competente del país donde se encuentra el acusado evalúa la solicitud para determinar si cumple con los requisitos legales.
  3. Audiencia Judicial: En muchos casos, se llevará a cabo una audiencia donde el acusado puede presentar su defensa.
  4. Decisión: Las autoridades judiciales del país receptor deciden si proceden con la extradición o la rechazan.
  5. Entrega: Si se aprueba la solicitud, se coordina la entrega del acusado al país solicitante.

Derechos del Acusado

Es fundamental que el acusado esté consciente de sus derechos durante el proceso de extradición. Estos derechos suelen incluir el derecho a ser informado de los cargos, el derecho a contar con asesoría legal y el derecho a apelar la decisión de extradición. Contar con un abogado especializado en extradición es crucial para asegurar que se respeten estos derechos y que el proceso se lleve a cabo de manera justa.

Importancia de la Asesoría Legal en Extradición

La asesoría legal en extradición es esencial no solo para asegurar que se sigan todos los procedimientos adecuados, sino también para optimizar las posibilidades de una defensa exitosa. Un abogado con experiencia en casos de extradición puede evaluar la situación del cliente, ofrecer orientación sobre los derechos y opciones disponibles y representar al acusado en las audiencias pertinentes.

Retos y Consideraciones en la Extradición

El proceso de extradición puede enfrentar varios desafíos, como la ineficiencia administrativa, posibles violaciones de derechos humanos en el país solicitante y diferencias en las leyes penales de los países involucrados. Además, hay ocasiones en que los acusados temen recibir un juicio justo en el país que solicita la extradición. Un abogado especializado puede ayudar a abordar estas preocupaciones y buscar alternativas, como la defensa en el país donde reside el acusado.

Conclusión

La asesoría legal en extradición es un aspecto crítico del derecho internacional que afecta a muchas personas en todo el mundo. Los acusados que enfrentan solicitudes de extradición deben ser proactivos en buscar asesoramiento legal para garantizar que se respeten sus derechos y que sus intereses sean defendidos adecuadamente. La complejidad de estos casos requiere un enfoque cuidadoso y bien informado, lo que hace que la elección de un abogado con experiencia en extradición sea esencial.

Para más información sobre los servicios de asesoría legal en extradición, no dudes en consultarnos o visitar nuestro sitio web.