iltuomenu/iei-menupdf.php

185 lines
5.3 KiB
PHP
Raw Permalink Normal View History

2024-01-25 16:16:59 +01:00
<?php
include("funzioni.php");
/**
* Plugin Name: Iei MenuPdf
* Description: Crea uno shortcode con il pdf del tuo Menu
* Version: 0.0.1
* Text Domain: options-plugin
*/
if (!defined("ABSPATH")) {
exit; // esci se questo file viene letto direttamente
}
if (!class_exists("ieimenupdf")) {
class ieimenupdf
{
public function __construct()
{
add_action('admin_menu', array($this, 'crea_voci'));
//questo si triggera quando il plugin viene attivato ed aggiunge una nuova tabella nel database
register_activation_hook(__FILE__, array($this, 'plugin_activation'));
//questo aggiunge la possibilità di avere uno shortcode
add_action('init', array($this, 'register_shortcodes'));
add_action('init', array($this, 'register_shortcodes_a'));
}
public function crea_voci()
{
// Add main menu entry
add_menu_page(
'IEI Menu',
'Il tuo menu',
'manage_options',
'iei-menu-dashboard',
array($this, 'iei_menu_dashboard_page'),
'dashicons-food', // Icon for the menu entry (replace with your preferred icon)
20 // Position on the menu
);
add_submenu_page(
'iei-menu-dashboard',
'Internet & Idee',
'Internet & Idee',
'manage_options',
'iei-menu-external',
array($this, 'iei_menu_external_page')
);
}
// Callback functions per menu e submenu del plugin
public function iei_menu_dashboard_page()
{
// Main dashboard page content
echo '<h2>Il Tuo Menu</h2><br>';
echo '<br>Per visualizzare il tuo menu in una pagina, usa questo shortcode: <br> <input style="margin-top:10px;" type="text" value="[ieimenupdf_content]"/>';
include("listafile.php");
}
public function iei_menu_external_page()
{
echo '<h2>Internet & Idee</h2>';
echo '<p>Questo plugin è stato sviluppato da <a target="_blank" href="https://internet-idee.net">Internet & Idee</a></p>';
echo '<img style="width:250px;" src="https://www.internet-idee.net/assets/img/colore.svg"/>';
// Contenuto
}
// LAVORAZIONE PER CREAZIONE TABELLA NEL DATABASE ALL'ATTIVAZIONE DEL PLUGIN
public function plugin_activation()
{
$this->create_database_table();
}
public function create_database_table()
{
global $wpdb;
$table_name = $wpdb->prefix . 'listapdf';
if ($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) {
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $table_name (
id mediumint(9) NOT NULL AUTO_INCREMENT,
nome_file varchar(255) NOT NULL,
url_completo varchar(255) NOT NULL,
2024-01-29 10:46:04 +01:00
hafine boolean NULL DEFAULT NULL,
2024-01-25 16:16:59 +01:00
data_partenza date NOT NULL,
data_fine date NOT NULL,
PRIMARY KEY (id)
) $charset_collate;";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}
}
// FINE LAVORAZIONE PER CREAZIONE TABELLA NEL DATABASE
//GESTIONE SHORTCODE
public function ieimenupdf_shortcode() {
// Qui mettere lo shortcode
global $wpdb;
$etichetta = 0;
$arrayrisultati = visualizzapdfcorrente($wpdb,$etichetta);
if (isset($arrayrisultati)){
return $arrayrisultati['html'];} else {
return 'Nessun menu abilitato';
}
}
public function register_shortcodes() {
add_shortcode('ieimenupdf_content', array($this, 'ieimenupdf_shortcode'));
}
//GESTIONE SHORTCODE
//GESTIONE SHORTCODE TAG A
public function ieimenupdf_shortcode_a($atts) {
//Accesso ad array attributi per prendermi il nome etichetta
$atts = shortcode_atts(
array(
'etichetta' => 'Menu',
// Add more attributes if needed
),
$atts,
'ieimenupdf_content_a' // Shortcode di riferimento
);
// Qui mettere lo shortcode
global $wpdb;
$etichetta = $atts['etichetta'];
$arrayrisultati = visualizzapdfcorrente($wpdb,$etichetta);
if (isset($arrayrisultati)){
return $arrayrisultati['html'];} else {
return 'Nessun menu abilitato';
}
}
public function register_shortcodes_a() {
add_shortcode('ieimenupdf_content_a', array($this, 'ieimenupdf_shortcode_a'));
}
//GESTIONE SHORTCODE TAG A
}//FINE CLASSE
new ieimenupdf();
// AGGIUNGO CSS A HEADER DI WORDPRESS
function custom_header_content() {
// Add your custom content here
echo generacssmodal();
echo generajsmodal();
}
add_action('wp_head', 'custom_header_content');
}