From 5c112d05086393bd6791c76c61baa651db2c3cea Mon Sep 17 00:00:00 2001 From: alfcl <34005904+AlFcl@users.noreply.github.com> Date: Sat, 10 Oct 2026 16:45:36 -0300 Subject: [PATCH 1/2] Version 0.2.0-beta.1 (primera beta): Cloudflare trust + actualizador desde GitHub --- .github/workflows/release.yml | 2 +- magiclobby.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7a97203..7dc554a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: - name: Leer la versión del plugin id: ver run: | - V=$(grep -oiP '^\s*\*\s*Version:\s*\K[0-9][0-9.]*' magiclobby.php | head -1) + V=$(grep -oiP '^\s*\*\s*Version:\s*\K[0-9][0-9A-Za-z.\-]*' magiclobby.php | head -1) echo "version=$V" >> "$GITHUB_OUTPUT" echo "Versión detectada: $V" diff --git a/magiclobby.php b/magiclobby.php index 260f789..7762eb4 100644 --- a/magiclobby.php +++ b/magiclobby.php @@ -3,7 +3,7 @@ * Plugin Name: MagicLobby * Plugin URI: https://github.com/kombicl/MagicLobby * Description: Señalética digital para pantallas (estilo MagicInfo), como plugin de WordPress: pantallas, contenidos por categoría, listas de reproducción, programación horaria y un panel de gestión propio. Primera herramienta open source de Kombi. - * Version: 0.1.0 + * Version: 0.2.0-beta.1 * Requires at least: 6.4 * Requires PHP: 8.0 * Author: Kombi @@ -15,7 +15,7 @@ defined( 'ABSPATH' ) || exit; -define( 'MAGICLOBBY_VERSION', '0.1.0' ); +define( 'MAGICLOBBY_VERSION', '0.2.0-beta.1' ); define( 'MAGICLOBBY_FILE', __FILE__ ); define( 'MAGICLOBBY_DIR', plugin_dir_path( __FILE__ ) ); define( 'MAGICLOBBY_URL', plugin_dir_url( __FILE__ ) ); From 518c179e12319e653c10f1b9461ca6dff0803c1f Mon Sep 17 00:00:00 2001 From: alfcl <34005904+AlFcl@users.noreply.github.com> Date: Sat, 10 Oct 2026 19:26:49 -0300 Subject: [PATCH 2/2] Fix editor de listas: plantilla fuera del form (tpl null) + evitar Rocket Loader; v0.2.0-beta.2 --- magiclobby.php | 4 ++-- src/Panel/assets/panel.js | 44 ++++++++++++++++++++++---------------- src/Panel/views/layout.php | 2 +- 3 files changed, 28 insertions(+), 22 deletions(-) diff --git a/magiclobby.php b/magiclobby.php index 7762eb4..c79899f 100644 --- a/magiclobby.php +++ b/magiclobby.php @@ -3,7 +3,7 @@ * Plugin Name: MagicLobby * Plugin URI: https://github.com/kombicl/MagicLobby * Description: Señalética digital para pantallas (estilo MagicInfo), como plugin de WordPress: pantallas, contenidos por categoría, listas de reproducción, programación horaria y un panel de gestión propio. Primera herramienta open source de Kombi. - * Version: 0.2.0-beta.1 + * Version: 0.2.0-beta.2 * Requires at least: 6.4 * Requires PHP: 8.0 * Author: Kombi @@ -15,7 +15,7 @@ defined( 'ABSPATH' ) || exit; -define( 'MAGICLOBBY_VERSION', '0.2.0-beta.1' ); +define( 'MAGICLOBBY_VERSION', '0.2.0-beta.2' ); define( 'MAGICLOBBY_FILE', __FILE__ ); define( 'MAGICLOBBY_DIR', plugin_dir_path( __FILE__ ) ); define( 'MAGICLOBBY_URL', plugin_dir_url( __FILE__ ) ); diff --git a/src/Panel/assets/panel.js b/src/Panel/assets/panel.js index 79d12b8..5899437 100644 --- a/src/Panel/assets/panel.js +++ b/src/Panel/assets/panel.js @@ -42,7 +42,8 @@ var order = pl.querySelector( '[data-order]' ); var addSel = pl.querySelector( '[data-add]' ); var addBtn = pl.querySelector( '[data-add-btn]' ); - var tpl = pl.querySelector( '[data-row-tpl]' ); + // La plantilla vive fuera del
, así que se busca en todo el documento. + var tpl = document.querySelector( '[data-row-tpl]' ); var sync = function () { order.value = Array.prototype.map.call( list.children, function ( li ) { @@ -58,24 +59,29 @@ }; Array.prototype.forEach.call( list.children, attachRemove ); - addBtn.addEventListener( 'click', function () { - var opt = addSel.options[ addSel.selectedIndex ]; - var id = opt.value; - if ( ! +id ) { - return; - } - var html = tpl.innerHTML - .replace( /__id__/g, id ) - .replace( '__title__', opt.textContent ) - .replace( '__type__', opt.getAttribute( 'data-type' ) || '' ); - var wrap = document.createElement( 'tbody' ); - wrap.innerHTML = html.trim(); - var li = wrap.firstChild; - list.appendChild( li ); - attachRemove( li ); - addSel.selectedIndex = 0; - sync(); - } ); + if ( addBtn && addSel && list && tpl ) { + addBtn.addEventListener( 'click', function () { + var opt = addSel.options[ addSel.selectedIndex ]; + var id = opt.value; + if ( ! +id ) { + return; + } + var html = tpl.innerHTML + .replace( /__id__/g, id ) + .replace( '__title__', opt.textContent ) + .replace( '__type__', opt.getAttribute( 'data-type' ) || '' ); + var wrap = document.createElement( 'ul' ); + wrap.innerHTML = html.trim(); + var li = wrap.firstChild; + if ( ! li ) { + return; + } + list.appendChild( li ); + attachRemove( li ); + addSel.selectedIndex = 0; + sync(); + } ); + } // Arrastrar para ordenar (HTML5 drag & drop). var dragged = null; diff --git a/src/Panel/views/layout.php b/src/Panel/views/layout.php index d7f51a8..a334e28 100644 --- a/src/Panel/views/layout.php +++ b/src/Panel/views/layout.php @@ -56,6 +56,6 @@ · GitHub - +