=== Strimy Video ===
Contributors: strimy
Tags: video, embed, oembed, streaming, shortcode
Requires at least: 5.0
Tested up to: 6.9
Requires PHP: 8.0
Stable tag: 1.2.8
License: GPL-2.0+
License URI: http://www.gnu.org/licenses/gpl-2.0.txt

Integra videos de STRIMY en WordPress mediante oEmbed y shortcodes personalizados.

== Description ==

Strimy es un plugin que permite integrar fácilmente videos de la plataforma STRIMY en tu sitio WordPress. Con soporte completo para oEmbed, shortcodes y bloques de Gutenberg.

= Características principales =

* **oEmbed automático**: Simplemente pega la URL del video y se insertará automáticamente
* **Shortcode personalizable**: Control total sobre la apariencia y comportamiento
* **Bloque de Gutenberg**: Integración nativa con el editor de bloques
* **Widget de Elementor**: Integración completa con Elementor Page Builder
* **Importador de videos**: Importa y sincroniza videos desde tu cuenta de STRIMY
* **Compatibilidad universal con temas**: Sistema avanzado de plantillas que funciona con cualquier tema de WordPress
* **Diseño moderno de videos**: Layout profesional con metadatos, categorías y diseño responsive
* **Personalización de plantillas**: Integración fácil con temas mediante sistema de fallback
* **Reproducción automática**: Control opcional de autoplay
* **Responsive**: Los videos se adaptan automáticamente a cualquier dispositivo

= Formas de usar =

**0. Importador de videos**
Ve a **Strimy Video > Importar** para buscar, importar y sincronizar videos desde tu cuenta de STRIMY.

**1. oEmbed automático**
Simplemente pega la URL de tu video en una línea separada:
`https://strimy.pro/v/889542830943`

**2. Shortcode**
Usa el shortcode [strimy] con opciones personalizables:
`[strimy id="889542830943"]`

**3. Bloque de Gutenberg**
Busca "Strimy Video" en el editor de bloques y configura visualmente

**4. Widget de Elementor**
Si tienes Elementor instalado, encontrarás el widget "Strimy Video" en la categoría General con controles avanzados para personalización completa.

= Opciones del shortcode =

* `id` - ID del video (requerido)
* `autoplay` - Reproducción automática (true, false)

= Aspect Ratio Automático =

El plugin calcula automáticamente la altura del reproductor manteniendo la proporción 16:9 cuando:
* No especificas el parámetro `height`
* El ancho es un valor fijo (ej: 800px)
* El modo responsive está activado

Ejemplos:
* `[strimy id="889542830943" width="800px"]` - Altura calculada automáticamente (450px)
* `[strimy id="889542830943"]` - Totalmente responsive con proporción 16:9

= Configuración =

Ve a **Ajustes > Strimy** para configurar:

* Clave API (requerida para importar y acceder a videos privados)
* Configuración de reproducción automática

= Importador de videos =

El plugin incluye un potente importador que te permite:

* Buscar videos en tu cuenta de STRIMY
* Importar videos como entradas personalizadas en WordPress
* Sincronizar videos importados con la fuente original
* Gestionar metadatos como título, descripción, duración y vistas
* Organizar videos con categorías y etiquetas

= Compatibilidad con temas =

El plugin incluye un sistema avanzado de plantillas que garantiza compatibilidad perfecta con cualquier tema de WordPress:

* **Sistema de fallback universal**: Funciona automáticamente con cualquier tema sin configuración
* **Personalización por tema**: Copia las plantillas a tu carpeta de tema para control completo
* **Layout moderno de videos**: Diseño profesional con enfoque player-first
* **Diseño responsive**: Optimizado para escritorio, tablet y móviles
* **Ruta de plantilla**: `wp-content/themes/tu-tema/strimy/single-strimy_video.php`

El plugin usará automáticamente la plantilla personalizada de tu tema si está disponible, o utilizará la plantilla responsive integrada como fallback.

== Installation ==

1. Sube el plugin a la carpeta `/wp-content/plugins/strimy-video/`
2. Activa el plugin a través del menú 'Plugins' en WordPress
3. Ve a **Ajustes > Strimy** para configurar las opciones
4. ¡Comienza a insertar videos de STRIMY!

= Instalación automática =

1. Ve a **Plugins > Añadir nuevo**
2. Busca "Strimy"
3. Instala y activa el plugin
4. Configura las opciones en **Ajustes > Strimy**

== Frequently Asked Questions ==

= ¿Los videos son responsive? =

Sí, todos los videos se adaptan automáticamente al tamaño de la pantalla y al contenedor donde se insertan.

= ¿Funciona con el editor clásico? =

Sí, el plugin es compatible tanto con el editor de bloques (Gutenberg) como con el editor clásico de WordPress.

= ¿Puedo usar múltiples videos en la misma página? =

Por supuesto, puedes insertar tantos videos como necesites en una sola página o entrada.

= ¿El plugin afecta la velocidad de mi sitio? =

No, el plugin es muy ligero y los videos se cargan de forma asíncrona sin afectar el rendimiento de tu sitio.

= ¿Cómo personalizo la visualización de videos para mi tema? =

El plugin incluye un sistema universal de plantillas. Para personalizar:

1. Crea la carpeta: `wp-content/themes/tu-tema/strimy/`
2. Copia: `single-strimy_video.php` desde la carpeta templates del plugin
3. Modifica el archivo copiado para que coincida con el diseño de tu tema
4. El plugin usará automáticamente tu plantilla personalizada

= ¿Funciona con cualquier tema de WordPress? =

¡Sí! El plugin incluye un sistema avanzado de Template Loader que garantiza compatibilidad con cualquier tema de WordPress, incluyendo los populares como Astra, OceanWP, GeneratePress y temas personalizados.

== Changelog ==

= 1.2.8 =
* CORREGIDO: Cumplimiento de estándares de código WordPress (escaping, sanitización, i18n)
* CORREGIDO: Reemplazado parse_url() con wp_parse_url()
* CORREGIDO: Añadido wp_unslash() antes de sanitizar variables $_POST
* CORREGIDO: Funciones de impresión inseguras reemplazadas con esc_html_e() y esc_html__()
* CORREGIDO: Añadidos comentarios translators faltantes para cadenas con marcadores
* CORREGIDO: Consultas directas a base de datos marcadas con comentarios phpcs:ignore
* CORREGIDO: Cláusula SQL IN ahora usa $wpdb->prepare() con marcadores de posición
* CORREGIDO: Añadida verificación ABSPATH en archivos de plantilla
* CORREGIDO: Variables globales prefijadas en archivos de plantilla
* CORREGIDO: Reemplazado unlink() con wp_delete_file() y rmdir() con WP_Filesystem
* CORREGIDO: Añadido escaping wp_kses_post() para salida HTML en avisos de admin

= 1.2.4 =
* CORRECCIÓN: Corregido error crítico de JavaScript en el handler del widget de Elementor (this.onElementChange is not a function)
* CORRECCIÓN: Corregida compatibilidad con Elementor 3.35.6+ usando la API moderna de registro de handlers
* CORRECCIÓN: Corregida la expresión regular de extracción de ID de video para manejar URLs con sufijo /embed
* CORRECCIÓN: Evitado que 'embed' se capture como ID de video válido causando errores 404
* MEJORA: Añadida cadena de fallback para registro de handlers de Elementor (attachHandler > addHandler > directo)

= 1.2.3 =
* CORRECCIÓN: Corregida estructura HTML rota en la página del importador que causaba que el footer de WordPress se renderizara dentro del grid de videos
* CORRECCIÓN: Los botones de paginación (Anterior/Siguiente) ahora funcionan correctamente en el importador de videos
* CORRECCIÓN: El estado de paginación se actualiza tras cada carga mostrando "Página X de Y"
* CORRECCIÓN: "Seleccionar todos" ahora omite correctamente los videos ya importados (deshabilitados)
* MEJORA: Eliminados todos los console.log de depuración del JavaScript del importador

= 1.2.2 =
* SEGURIDAD: Añadida verificación de permisos (current_user_can) en todos los handlers AJAX
* SEGURIDAD: Sanitizados todos los valores de nonce en $_POST con sanitize_text_field() y wp_unslash()
* SEGURIDAD: Añadido sanitize_callback a todas las llamadas register_setting()
* SEGURIDAD: Eliminado endpoint AJAX de depuración (ajax_debug_import) del código de producción
* SEGURIDAD: Sanitizados los superglobales $_POST en la limpieza de caché de la página de opciones
* CORRECCIÓN: Eliminadas referencias al dominio de desarrollo (strimy.test) del código de producción
* CORRECCIÓN: Eliminados registros duplicados de embed handler
* CORRECCIÓN: Eliminada referencia a archivo inexistente strimy-elementor-register.php
* CORRECCIÓN: Corregido uso de _e() dentro de cadenas JavaScript (ahora usa esc_js con __())
* CORRECCIÓN: Corregido cache busting usando time() reemplazado por filemtime() para caché correcto del navegador
* CORRECCIÓN: Corregidos índices de coincidencia del regex del embed handler tras simplificación del patrón
* MEJORA: JavaScript inline del metabox movido a archivo separado encolado (strimy-metabox-sync.js)
* MEJORA: Añadida protección ABSPATH a class-strimy-shortcodes.php
* MEJORA: Eliminado uso de extract() en template loader para cumplir estándares de codificación WordPress
* MEJORA: Eliminado print_r() de llamadas error_log para prevenir filtración de datos sensibles
* NUEVO: Añadido archivo LICENSE (GPL v2) para cumplimiento del repositorio WordPress.org
* NUEVO: Añadido archivo .gitignore

= 1.2.1 =
* CORRECCIÓN: Transformación del bloque Gutenberg usaba nombre incorrecto (`strimy/video-block` en vez de `strimy/video`)
* CORRECCIÓN: oEmbed ahora respeta el aspect ratio del servidor en vez de forzar 16:9 para todos los videos
* CORRECCIÓN: Eliminadas reglas CSS que forzaban `aspect-ratio: 16/9` en embeds de Gutenberg, rompiendo 21:9, 9:16, etc.
* CORRECCIÓN: El shortcode ahora obtiene el aspect ratio desde el endpoint oEmbed de STRIMY cuando el video no está importado como CPT
* CORRECCIÓN: La limpieza de caché oEmbed ahora busca correctamente en `meta_value` en vez de `meta_key`
* NUEVO: La caché oEmbed se limpia automáticamente al actualizar la versión del plugin
* NUEVO: Aspect ratio del endpoint oEmbed cacheado via transients (24h) para rendimiento
* MEJORADO: Soporte de video vertical (9:16) con max-width y centrado en Elementor, shortcode y templates

= 1.2.0 =
* COMPATIBILIDAD: Actualizado para WordPress 6.9 y Elementor 3.28+
* COMPATIBILIDAD: Versión mínima de PHP elevada a 8.0
* COMPATIBILIDAD: Versión mínima de Elementor elevada a 3.5.0
* CORRECCIÓN: Eliminadas llamadas deprecadas a `current_time('timestamp')` (deprecado desde WP 5.3)
* CORRECCIÓN: Eliminado registro duplicado del shortcode que podía causar conflictos
* CORRECCIÓN: Eliminado `sslverify => false` en llamadas a la API para mayor seguridad
* RENDIMIENTO: Limpieza de llamadas excesivas a `error_log()` en producción (ahora solo activas con WP_DEBUG)
* CORRECCIÓN: La versión del CSS frontend ahora usa la versión dinámica del plugin en lugar de un valor fijo
* SEGURIDAD: Todo el logging de depuración ahora protegido correctamente con la constante WP_DEBUG

= 1.1.6 =
* NUEVO: Soporte completo para aspect ratios dinámicos desde la API de STRIMY
* NUEVO: El plugin ahora detecta y aplica automáticamente el aspect ratio de cada video (16:9, 21:9, 9:16, 1:1, etc.)
* NUEVO: Guardado de aspect_ratio al importar videos desde la API
* MEJORADO: Widget de Elementor adapta automáticamente el aspect ratio del video
* MEJORADO: Shortcode [strimy] usa aspect ratio dinámico del video importado
* MEJORADO: Template single-strimy_video.php con soporte para aspect ratios variables
* MEJORADO: Reproductor Plyr embebido se reescala según aspect ratio del video
* MEJORADO: Compatibilidad con formatos verticales (9:16), cuadrados (1:1) y ultra-wide (21:9)

= 1.1.5 =
* CORREGIDO: Widget de Elementor se desbordaba en móviles cuando estaba en contenedores con otros elementos
* CORREGIDO: Aplicada solución oficial de Elementor con overflow: hidden en todos los niveles del widget
* MEJORADO: Responsive design mejorado para móviles pequeños (480px y menor)
* MEJORADO: Compatibilidad con contenedores Flexbox y Grid de Elementor
* MEJORADO: Fallback para navegadores sin soporte CSS :has()

= 1.1.4 =
* CORREGIDO: Imposibilidad de cambiar plantillas de Elementor en videos de STRIMY
* NUEVO: Soporte completo para plantillas Canvas y Full Width de Elementor
* NUEVO: Añadido soporte 'page-attributes' al Custom Post Type de videos
* MEJORADO: Integración completa con sistema de documentos de Elementor
* MEJORADO: Videos de STRIMY ahora se comportan como páginas en Elementor

= 1.1.3 =
* CORREGIDO: Widget de Elementor no aparecía en el panel de elementos
* CORREGIDO: Categoría de widget cambiada de 'media' (inexistente) a 'basic'
* MEJORADO: Sistema de depuración detallado para integración con Elementor
* MEJORADO: Notificaciones de admin para confirmar registro exitoso del widget
* ACTUALIZADO: Documentación según estándares actuales de Elementor 2024

= 1.1.2 =
* CORREGIDO: Problemas de layout del importador de videos con ancho del postbox
* CORREGIDO: Conflictos CSS en la interfaz del importador
* MEJORADO: Cache busting para archivos CSS usando tiempo de modificación del archivo
* MEJORADO: Inyección de CSS inline para estilos críticos del importador
* MEJORADO: Diseño responsive para controles del importador

= 1.1.1 =
* NUEVO: Sistema Template Loader universal para compatibilidad con temas
* NUEVO: Diseño moderno de visualización de videos con reproductor primero
* NUEVO: Visualización profesional de metadatos con iconos y estadísticas
* NUEVO: Sistema avanzado de personalización de temas con fallback
* NUEVO: Diseño responsive optimizado para todos los dispositivos
* MEJORADO: Estructura de plantillas con HTML5 semántico y accesibilidad
* MEJORADO: Estilos CSS con patrones de diseño modernos
* MEJORADO: Documentación e ejemplos de integración con temas

= 1.1.0 =
* Añadido importador de videos desde STRIMY
* Nuevo tipo de contenido personalizado para videos
* Funcionalidad de sincronización de videos
* Metaboxes para gestión de videos
* Taxonomías para categorías y etiquetas de videos
* Integración con Elementor para videos importados
* Mejoras de rendimiento y estabilidad

= 1.0.0 =
* Lanzamiento inicial
* Soporte completo para oEmbed
* Shortcode [strimy] con opciones personalizables
* Bloque de Gutenberg nativo
* Panel de configuración en el admin
* Soporte para temas claro y oscuro
* Integración opcional con API de STRIMY
* Diseño completamente responsive

== Upgrade Notice ==

= 1.1.1 =
Actualización importante con compatibilidad universal de temas y visualización moderna de videos. Actualización recomendada para mejor integración con temas y experiencia de usuario.

= 1.1.0 =
Nueva versión con importador de videos y tipo de contenido personalizado. Actualiza para acceder a estas nuevas funcionalidades.

= 1.0.0 =
Primera versión del plugin Strimy. Instala para comenzar a integrar videos de STRIMY en tu sitio WordPress.

== Developer Notes ==

= Hooks disponibles =

El plugin proporciona varios hooks para desarrolladores:

**Filtros:**
* `strimy_oembed_default_width` - Modificar el ancho por defecto
* `strimy_oembed_default_height` - Modificar el alto por defecto
* `strimy_oembed_iframe_attributes` - Personalizar atributos del iframe
* `strimy_oembed_container_class` - Añadir clases CSS al contenedor

**Acciones:**
* `strimy_oembed_before_render` - Antes de renderizar el video
* `strimy_oembed_after_render` - Después de renderizar el video

== Support ==

Para soporte técnico, visita:
* [Centro de Soporte STRIMY](https://strimy.pro/support)
* [Documentación del Plugin](https://strimy.pro/oembed-wordpress)

== Privacy Policy ==

Este plugin no recopila ni almacena datos personales de los usuarios. Los videos se cargan directamente desde los servidores de STRIMY y están sujetos a la política de privacidad de STRIMY.

== Credits ==

Desarrollado por el equipo de STRIMY.
Iconos por [Dashicons](https://developer.wordpress.org/resource/dashicons/).
