Plugin de WordPress que te permite gestionar qué plugins están activos en cada sitio de tu red multisite

BY AdminRadio No comments

 He creado un plugin de WordPress que te permite gestionar qué plugins están activos en cada sitio de tu red multisite. Aquí están las características principales:

  1. Panel de control en el nivel de red:
    • Muestra una matriz de todos los sitios y plugins disponibles
    • Permite activar/desactivar plugins para cada sitio desde una única interfaz
    • Accesible solo para administradores de red
  2. Panel de control a nivel de sitio:
    • Cada administrador de sitio puede ver y gestionar sus plugins
    • Interfaz simplificada que muestra solo los plugins relevantes para ese sitio
  3. Características de seguridad:
    • Verificación de nonces para todas las operaciones
    • Comprobaciones de permisos apropiadas
    • Sanitización de datos

Para instalar el plugin:

  1. Crea una nueva carpeta en wp-content/plugins/ llamada multisite-plugin-manager
  2. Guarda el código en un archivo llamado multisite-plugin-manager.php dentro de esa carpeta
  3. Activa el plugin desde el panel de administración de la red

¿Te gustaría que agregue alguna funcionalidad adicional o que modifique algo del código existente?


<?php

/**

 * Plugin Name: Multisite Plugin Manager

 * Description: Permite controlar qué plugins están activos en cada sitio de una red WordPress Multisite

 * Version: 1.0

 * Author: Your Name

 * Network: true

 */


// Evitar acceso directo al archivo

if (!defined('ABSPATH')) {

    exit;

}


class MultisitePluginManager {

    public function __construct() {

        add_action('network_admin_menu', array($this, 'add_network_menu'));

        add_action('admin_menu', array($this, 'add_site_menu'));

        add_action('admin_init', array($this, 'save_settings'));

    }


    // Agregar menú en el panel de administración de la red

    public function add_network_menu() {

        add_submenu_page(

            'settings.php',

            'Multisite Plugin Manager',

            'Plugin Manager',

            'manage_network_plugins',

            'multisite-plugin-manager',

            array($this, 'network_settings_page')

        );

    }


    // Agregar menú en cada sitio individual

    public function add_site_menu() {

        if (!is_network_admin()) {

            add_options_page(

                'Site Plugin Settings',

                'Site Plugins',

                'manage_options',

                'site-plugin-settings',

                array($this, 'site_settings_page')

            );

        }

    }


    // Página de configuración de la red

    public function network_settings_page() {

        $sites = get_sites();

        $all_plugins = get_plugins();

        ?>

        <div class="wrap">

            <h1>Multisite Plugin Manager</h1>

            <form method="post" action="">

                <?php wp_nonce_field('save_network_settings', 'plugin_manager_nonce'); ?>

                <table class="widefat">

                    <thead>

                        <tr>

                            <th>Site</th>

                            <?php foreach ($all_plugins as $plugin_file => $plugin_data): ?>

                                <th><?php echo esc_html($plugin_data['Name']); ?></th>

                            <?php endforeach; ?>

                        </tr>

                    </thead>

                    <tbody>

                        <?php foreach ($sites as $site): ?>

                            <?php

                            $blog_id = $site->blog_id;

                            $site_plugins = get_blog_option($blog_id, 'active_plugins', array());

                            ?>

                            <tr>

                                <td><?php echo esc_html(get_blog_details($blog_id)->blogname); ?></td>

                                <?php foreach ($all_plugins as $plugin_file => $plugin_data): ?>

                                    <td>

                                        <input type="checkbox"

                                               name="site_plugins[<?php echo $blog_id; ?>][]"

                                               value="<?php echo esc_attr($plugin_file); ?>"

                                               <?php checked(in_array($plugin_file, $site_plugins)); ?>>

                                    </td>

                                <?php endforeach; ?>

                            </tr>

                        <?php endforeach; ?>

                    </tbody>

                </table>

                <?php submit_button('Save Changes'); ?>

            </form>

        </div>

        <?php

    }


    // Página de configuración individual del sitio

    public function site_settings_page() {

        $blog_id = get_current_blog_id();

        $site_plugins = get_option('active_plugins', array());

        $all_plugins = get_plugins();

        ?>

        <div class="wrap">

            <h1>Site Plugin Settings</h1>

            <form method="post" action="">

                <?php wp_nonce_field('save_site_settings', 'plugin_manager_nonce'); ?>

                <table class="widefat">

                    <thead>

                        <tr>

                            <th>Plugin</th>

                            <th>Status</th>

                        </tr>

                    </thead>

                    <tbody>

                        <?php foreach ($all_plugins as $plugin_file => $plugin_data): ?>

                            <tr>

                                <td><?php echo esc_html($plugin_data['Name']); ?></td>

                                <td>

                                    <input type="checkbox"

                                           name="site_plugins[]"

                                           value="<?php echo esc_attr($plugin_file); ?>"

                                           <?php checked(in_array($plugin_file, $site_plugins)); ?>>

                                </td>

                            </tr>

                        <?php endforeach; ?>

                    </tbody>

                </table>

                <?php submit_button('Save Changes'); ?>

            </form>

        </div>

        <?php

    }


    // Guardar configuración

    public function save_settings() {

        if (!isset($_POST['plugin_manager_nonce'])) {

            return;

        }


        // Verificar si estamos en la red o en un sitio individual

        if (is_network_admin()) {

            if (!wp_verify_nonce($_POST['plugin_manager_nonce'], 'save_network_settings')) {

                wp_die('Security check failed');

            }


            if (isset($_POST['site_plugins']) && is_array($_POST['site_plugins'])) {

                foreach ($_POST['site_plugins'] as $blog_id => $plugins) {

                    update_blog_option($blog_id, 'active_plugins', array_map('sanitize_text_field', $plugins));

                }

            }

        } else {

            if (!wp_verify_nonce($_POST['plugin_manager_nonce'], 'save_site_settings')) {

                wp_die('Security check failed');

            }


            if (isset($_POST['site_plugins'])) {

                update_option('active_plugins', array_map('sanitize_text_field', $_POST['site_plugins']));

            }

        }

    }

}


// Inicializar el plugin

new MultisitePluginManager();

Como crear un reproductor de audio para web paso a paso

BY AdminRadio No comments

Crear un reproductor de audio básico para una página web es un proceso sencillo utilizando HTML y un poco de CSS para personalizar la apariencia. Aquí te dejo los pasos básicos para crear uno:

Paso 1: Estructura HTML básica

Primero, necesitas el código HTML que incluirá el archivo de audio y los controles del reproductor.




     
class="audio-player">

    



 
/* styles.css */

/* Estilo básico para el reproductor */
.audio-player {
    width: 300px;
    background-color: #222;
    padding: 15px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}

/* Estilo para el reproductor de audio */
audio {
    width: 100%;  /* Ajusta el tamaño del reproductor */
    border-radius: 5px;
    outline: none;
}

Explicación del CSS:

  • .audio-player: Definimos el contenedor que envuelve el reproductor de audio. Tiene un fondo oscuro, bordes redondeados y un pequeño efecto de sombra.
  • audio: Estilizamos el reproductor para que ocupe el 100% del ancho del contenedor, se le da un borde redondeado y se elimina el borde de enfoque.

Paso 3: Personalizar el comportamiento con JavaScript (Opcional)

Si deseas tener un control más específico sobre el reproductor, como mostrar la duración del audio o agregar otros controles personalizados, puedes usar JavaScript. Aquí hay un ejemplo simple:


 
// script.js

document.addEventListener('DOMContentLoaded', function() {
    const audio = document.getElementById('audio');
    
    // Mostrar la duración del audio
    audio.addEventListener('loadedmetadata', function() {
        const duration = audio.duration;
        console.log(`Duración total del audio: ${duration} segundos`);
    });

    // Personalizar el evento de reproducción
    audio.addEventListener('play', function() {
        console.log("El audio ha comenzado a reproducirse.");
    });

    audio.addEventListener('pause', function() {
        console.log("El audio ha sido pausado.");
    });
});

Explicación de JavaScript:

  • loadedmetadata: Este evento se dispara cuando se cargan los metadatos del audio, como su duración.
  • Eventos play y pause: Los eventos son capturados cuando el audio comienza a reproducirse o se pausa. Puedes usarlos para realizar acciones adicionales, como mostrar un mensaje o cambiar la interfaz.

Paso 4: Probar el reproductor

  1. Sube el archivo de audio a tu servidor o utiliza un enlace URL directo a un archivo de audio.
  2. Asegúrate de que tu archivo tu-audio.mp3 esté en la misma carpeta que tu archivo HTML (o actualiza la ruta en la etiqueta <source>).
  3. Abre el archivo HTML en tu navegador para probar el reproductor.

Resultado final:

Ahora tendrás un reproductor básico de audio en tu página web con controles nativos de play, pausa, volumen, etc.


Recomendaciones adicionales:

  1. Agregar más personalización: Si deseas crear un reproductor más personalizado sin los controles nativos de HTML, puedes ocultar los controles con controls="false" y agregar tus propios botones de reproducción y pausa usando JavaScript.
  2. Compatibilidad con diferentes formatos: Puedes agregar diferentes fuentes de audio (<source>) para garantizar que el reproductor sea compatible con todos los navegadores, por ejemplo: .ogg, .wav, .mp3.

Si necesitas más funciones o personalización, como un reproductor de audio más avanzado, házmelo saber y te proporcionaré ejemplos adicionales.

Como crear un cms relay paso a paso en php

BY AdminRadio No comments

Cómo Crear un CMS Relay en PHP Paso a Paso

Un CMS Relay es una plataforma que permite la administración de contenidos de una página web o aplicación. A continuación te mostramos cómo crear un CMS básico en PHP paso a paso.

📌 Requisitos Previos

  • Servidor web con PHP y MySQL (o MariaDB) instalados (puede ser local o remoto).
  • Editor de código (como Visual Studio Code, Sublime Text, etc.).
  • Acceso a la base de datos (phpMyAdmin o cliente MySQL).

1. Crear la Base de Datos

Primero, debes crear una base de datos para tu CMS. Puedes hacerlo desde phpMyAdmin o desde la consola MySQL:

CREATE DATABASE cms_relay;

Luego, dentro de esa base de datos, crea una tabla para almacenar los contenidos:

CREATE TABLE articles (
    id INT(11) AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT NOT NULL,
    date_created TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

2. Crear el Archivo de Conexión a la Base de Datos

En el directorio raíz de tu proyecto, crea un archivo llamado db.php para manejar la conexión a la base de datos:

<?php
$host = "localhost";
$db_name = "cms_relay";
$username = "root"; // Cambia esto si es necesario
$password = ""; // Cambia esto si es necesario

try {
    $conn = new PDO("mysql:host=$host;dbname=$db_name", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
?>

3. Crear la Página Principal para Mostrar Artículos

Crea un archivo llamado index.php donde mostrarás los artículos almacenados en la base de datos:

<?php
include("db.php");

$query = "SELECT * FROM articles ORDER BY date_created DESC";
$stmt = $conn->prepare($query);
$stmt->execute();

$articles = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>

<!DOCTYPE html>
<html>
<head>
    <title>CMS Relay</title>
</head>
<body>
    <h1>Bienvenido a CMS Relay</h1>
    <ul>
        <?php foreach ($articles as $article): ?>
            <li><a href="view.php?id=<?php echo $article['id']; ?>"><?php echo $article['title']; ?></a></li>
        <?php endforeach; ?>
    </ul>
</body>
</html>

4. Crear la Página para Ver un Artículo

Ahora, crea el archivo view.php para mostrar los detalles de un artículo cuando el usuario haga clic en el título:

<?php
include("db.php");

if (isset($_GET['id'])) {
    $article_id = $_GET['id'];
    $query = "SELECT * FROM articles WHERE id = :id";
    $stmt = $conn->prepare($query);
    $stmt->bindParam(':id', $article_id, PDO::PARAM_INT);
    $stmt->execute();

    $article = $stmt->fetch(PDO::FETCH_ASSOC);
} else {
    echo "Artículo no encontrado.";
    exit;
}
?>

<!DOCTYPE html>
<html>
<head>
    <title><?php echo $article['title']; ?></title>
</head>
<body>
    <h1><?php echo $article['title']; ?></h1>
    <p><?php echo $article['content']; ?></p>
    <p>Publicado el: <?php echo $article['date_created']; ?></p>
    <a href="index.php">Volver a la lista de artículos</a>
</body>
</html>

5. Agregar Artículos al CMS

Para agregar artículos al CMS, crea un formulario de administración. Crea un archivo llamado admin.php con el siguiente código:

<?php
include("db.php");

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $title = $_POST['title'];
    $content = $_POST['content'];

    $query = "INSERT INTO articles (title, content) VALUES (:title, :content)";
    $stmt = $conn->prepare($query);
    $stmt->bindParam(':title', $title);
    $stmt->bindParam(':content', $content);
    $stmt->execute();

    echo "Artículo agregado con éxito.";
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>Agregar Artículo - CMS Relay</title>
</head>
<body>
    <h1>Agregar Nuevo Artículo</h1>
    <form method="POST">
        <label for="title">Título:</label>
        <input type="text" name="title" required><br>
        <label for="content">Contenido:</label>
        <textarea name="content" required></textarea><br>
        <button type="submit">Agregar Artículo</button>
    </form>
</body>
</html>

🔹 Consejos Adicionales

  • Este es un CMS básico, si deseas agregar características adicionales, como edición o eliminación de artículos, puedes agregar más formularios y funcionalidades.
  • Considera agregar un sistema de autenticación de usuario para asegurar que solo los administradores puedan agregar o editar artículos.
  • Si planeas hacer un sitio en producción, asegúrate de tomar medidas de seguridad adecuadas, como la validación de entradas y la protección contra inyecciones SQL.

🎉 ¡CMS Relay Creado con Éxito!

Siguiendo estos pasos, has creado un CMS básico en PHP. Ahora puedes administrar y mostrar contenido en tu página web. 🚀

Como instalar Azuracast via putty para server con ubuntu 20.0

BY AdminRadio IN , , , No comments

Aquí tienes una guía detallada para instalar AzuraCast en un servidor Ubuntu 20.04 usando PuTTY para acceder al servidor via SSH, en formato HTML para que puedas copiar y pegar en tu blog.

Cómo Instalar AzuraCast en un Servidor Ubuntu 20.04 usando PuTTY

AzuraCast es una plataforma de software de código abierto para gestionar estaciones de radio en línea. A continuación, te mostramos cómo instalar AzuraCast en un servidor Ubuntu 20.04 usando PuTTY.

📌 Requisitos Previos

  • Un servidor con Ubuntu 20.04.
  • Acceso SSH al servidor usando PuTTY.
  • Permisos de administrador (root) en el servidor.
  • Un nombre de dominio apuntando a tu servidor (opcional, pero recomendado).

1. Conectar al Servidor con PuTTY

Abre PuTTY y conéctate a tu servidor mediante SSH:

  • Abre PuTTY e ingresa la dirección IP de tu servidor en el campo "Host Name (or IP address)".
  • Haz clic en "Open" para conectarte.
  • Ingresa tu nombre de usuario (generalmente "root") y la contraseña del servidor cuando se te solicite.

2. Actualizar el Sistema

Antes de instalar AzuraCast, es recomendable actualizar los paquetes del sistema:

sudo apt update && sudo apt upgrade -y

3. Instalar Dependencias Necesarias

Instalaremos las dependencias necesarias para AzuraCast:

sudo apt install -y sudo curl unzip

4. Descargar e Instalar AzuraCast

Ahora, descargamos e instalamos AzuraCast:

curl -fsSL https://github.com/AzuraCast/AzuraCast/releases/download/1.25.0/azuracast_installer.sh -o azuracast_installer.sh

Este comando descargará el script de instalación de AzuraCast. Una vez descargado, puedes ejecutar el script de instalación:

sudo bash azuracast_installer.sh

5. Seguir el Proceso de Instalación

El script de instalación descargará y configurará todos los componentes necesarios. Este proceso puede tardar entre 10 y 30 minutos. Asegúrate de no interrumpirlo.

6. Configurar el Dominio (Opcional)

Si tienes un dominio y quieres usarlo con AzuraCast, puedes configurarlo para que apunte a tu servidor. Debes configurar un registro A que apunte a la dirección IP de tu servidor.

Si no usas un dominio, AzuraCast funcionará usando la IP pública de tu servidor.

7. Acceder a AzuraCast

Una vez completada la instalación, puedes acceder a AzuraCast desde cualquier navegador web:

  • Abre tu navegador web y escribe la dirección IP de tu servidor (o tu dominio si lo configuraste) en la barra de direcciones.
  • La URL será: http:///azuracast
  • La primera vez que accedas, serás guiado a través de la configuración inicial (usuario y contraseña).

8. Iniciar y Detener AzuraCast

Si necesitas reiniciar o detener AzuraCast en tu servidor, usa los siguientes comandos:

sudo docker-compose down

Para iniciar AzuraCast nuevamente:

sudo docker-compose up -d

🔹 Consejos Adicionales

  • Revisa los logs de AzuraCast en caso de errores con el siguiente comando: sudo docker logs azuracast_web.
  • Para acceder a la interfaz de administración, usa el nombre de usuario y contraseña configurados durante la instalación.
  • Si el firewall está habilitado, asegúrate de abrir los puertos necesarios para que AzuraCast sea accesible a través de la web.

🎉 ¡AzuraCast Instalado con Éxito!

Siguiendo estos pasos, habrás instalado y configurado AzuraCast en tu servidor Ubuntu 20.04. Ahora puedes gestionar tu estación de radio en línea de manera eficiente. 🚀

Pasos para actualizar Hestia Cp

BY AdminRadio IN , , , No comments

Cómo Actualizar HestiaCP Paso a Paso

HestiaCP es un panel de control de hosting gratuito y de código abierto basado en VestaCP. Mantenerlo actualizado es crucial para mejorar la seguridad, el rendimiento y acceder a nuevas funciones. Sigue estos pasos para actualizar HestiaCP en tu servidor.

📌 Requisitos Previos

  • Acceso a un servidor con HestiaCP instalado.
  • Permisos de administrador (root).
  • Conexión SSH al servidor.
  • Una copia de seguridad de tus datos y configuraciones.

1. Conectar al Servidor

Abre una terminal en tu computadora y conéctate a tu servidor mediante SSH:

ssh root@tu-servidor-ip

2. Comprobar la Versión de HestiaCP

Antes de actualizar, verifica la versión actual instalada con el siguiente comando:

v-list-sys-hestia-version

3. Actualizar los Paquetes del Servidor

Es recomendable actualizar primero los paquetes del sistema:

apt update && apt upgrade -y

4. Actualizar HestiaCP

Ejecuta el siguiente comando para actualizar HestiaCP a la última versión:

apt install --only-upgrade hestia -y

5. Reiniciar los Servicios

Para aplicar los cambios correctamente, reinicia los servicios de HestiaCP:

systemctl restart hestia

6. Verificar la Nueva Versión

Después de la actualización, verifica que la nueva versión esté instalada:

v-list-sys-hestia-version

7. Reiniciar el Servidor (Opcional)

Si notas algún problema o cambios importantes, puedes reiniciar el servidor:

reboot

🔹 Consejos Adicionales

  • Revisa el sitio oficial de HestiaCP para ver notas de versiones y posibles cambios.
  • Si algo falla, revisa los logs en /var/log/hestia/.
  • Siempre haz una copia de seguridad antes de actualizar.

🎉 ¡HestiaCP Actualizado con Éxito!

Siguiendo estos pasos, tu HestiaCP estará al día y funcionando con las últimas mejoras. 🚀

Pasos para crear una cuenta en shein

BY AdminRadio IN , No comments

Cómo Crear una Cuenta en Shein Paso a Paso

Shein es una de las tiendas en línea más populares para comprar ropa, accesorios y artículos para el hogar. Sigue estos pasos para registrarte y comenzar a comprar.

1. Ir al Sitio Web o Descargar la App

Para crear una cuenta en Shein, puedes hacerlo desde su página web o su aplicación móvil.

2. Hacer Clic en "Registrarse"

Desde la página de inicio o la aplicación:

  • Busca la opción "Registrarse" o "Sign Up" en la parte superior.
  • Haz clic para comenzar el proceso de creación de cuenta.

3. Elegir un Método de Registro

Shein te ofrece varias formas de registrarte:

  • 📧 Correo Electrónico: Ingresa tu email y crea una contraseña.
  • 📱 Número de Teléfono: Recibirás un código de verificación por SMS.
  • 🔵 Google: Usa tu cuenta de Google para registrarte rápidamente.
  • 📘 Facebook: Conéctate con tu cuenta de Facebook.
  • 🍏 Apple ID: Disponible para usuarios de Apple.

4. Verificar tu Cuenta

Si te registraste con email o número de teléfono, Shein enviará un código de verificación:

  • Revisa tu correo electrónico o bandeja de SMS.
  • Ingresa el código de 6 dígitos en la página de registro.

5. Completar tu Perfil

Después de verificar tu cuenta, puedes completar tu perfil:

  • 📦 Agregar una dirección de envío para facilitar futuras compras.
  • 💳 Configurar un método de pago (tarjeta, PayPal, etc.).
  • 🔔 Activar notificaciones para recibir ofertas y descuentos.

🎉 ¡Cuenta Creada con Éxito!

Ahora ya puedes explorar Shein, agregar productos al carrito y aprovechar sus descuentos exclusivos. ¡Felices compras! 🛍️✨

Pasos para crear una cuenta en temu

BY AdminRadio IN , No comments

Cómo Crear una Cuenta en Temu Paso a Paso

Temu es una plataforma de compras en línea con precios bajos y una gran variedad de productos. Para empezar a comprar, sigue estos pasos para crear una cuenta.

1. Ir al Sitio Web o Descargar la App

Para registrarte en Temu, puedes hacerlo desde su página web o desde la aplicación móvil.

2. Hacer Clic en "Registrarse"

Una vez en la página o en la app:

  • Busca la opción "Registrarse" o "Sign Up" en la parte superior.
  • Haz clic para iniciar el proceso de creación de cuenta.

3. Elegir un Método de Registro

Temu ofrece varias opciones para crear una cuenta:

  • 📧 Correo Electrónico: Ingresa tu email y crea una contraseña.
  • 📱 Número de Teléfono: Recibirás un código de verificación por SMS.
  • 🔵 Google: Usa tu cuenta de Google para registrarte rápidamente.
  • 📘 Facebook: Conéctate con tu cuenta de Facebook.
  • 🍏 Apple ID: Disponible para usuarios de Apple.

4. Verificar tu Cuenta

Si te registraste con email o número de teléfono, Temu enviará un código de verificación:

  • Revisa tu bandeja de entrada o mensajes SMS.
  • Ingresa el código de 6 dígitos en la página de registro.

5. Completar tu Perfil

Una vez dentro, puedes completar tu perfil:

  • Agrega una dirección de envío para futuras compras.
  • Configura un método de pago.
  • Activa las notificaciones para recibir ofertas y descuentos.

🎉 ¡Cuenta Creada con Éxito!

Ahora ya puedes explorar Temu, agregar productos al carrito y aprovechar sus descuentos. ¡Felices compras! 🛒✨