parent
9d0d1144e2
commit
eae43dfe06
|
@ -0,0 +1,512 @@
|
|||
<?php
|
||||
|
||||
|
||||
|
||||
function visualizzapdfcorrente($wpdb,$etichetta) {
|
||||
|
||||
|
||||
$query = "SELECT * FROM {$wpdb->prefix}listapdf";
|
||||
$datacorrenteunix = strtotime(date('Y-m-d'));
|
||||
|
||||
$query = "SELECT * FROM {$wpdb->prefix}listapdf";
|
||||
|
||||
$results = $wpdb->get_results($query);
|
||||
|
||||
|
||||
$controllo = false;
|
||||
|
||||
foreach ($results as $result) {
|
||||
|
||||
$dataconfrontoiniziounix = strtotime($result->data_partenza);
|
||||
$dataconfrontofineunix = strtotime($result->data_fine);
|
||||
|
||||
|
||||
if ($datacorrenteunix <= $dataconfrontofineunix){
|
||||
if ($datacorrenteunix >= $dataconfrontoiniziounix){
|
||||
$controllo = true;
|
||||
$nomefileprescelto = $result->nome_file;
|
||||
$urlfileprescelto = $result->url_completo;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
if ($controllo){
|
||||
$urlcomp = get_home_url().'/wp-content/plugins/ieimenupdf/menu/';
|
||||
|
||||
|
||||
$finalurl = $urlcomp.$urlfileprescelto;
|
||||
|
||||
if (!is_string($etichetta)){
|
||||
$contenutohtml = generahtmlmodal($finalurl);
|
||||
} else {
|
||||
$contenutohtml = generahtmlmodalridotto($finalurl,$etichetta);
|
||||
}
|
||||
return array("nome"=>$nomefileprescelto, "url"=>$finalurl,'html'=>$contenutohtml,'controllo'=>$controllo);
|
||||
} else {
|
||||
return array ('controllo'=>$controllo);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function generacssmodal (){
|
||||
|
||||
return '<style>
|
||||
|
||||
.pdf-container {
|
||||
overflow-y: auto;
|
||||
overflow-x:hidden;
|
||||
max-height: 100%; /* Adjust as needed */
|
||||
width: 100%;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
|
||||
canvas {
|
||||
margin-top:50px;
|
||||
}
|
||||
|
||||
.button-container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 601px) {
|
||||
|
||||
.button-container {
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0, 0, 0, 0.7);
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
z-index:50 !important;
|
||||
}
|
||||
|
||||
/* Contenuto modal */
|
||||
.modal-content {
|
||||
background-color: #fff;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Tasto chiudi */
|
||||
.close {
|
||||
background-color:black;
|
||||
padding:10px;
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
font-size: 20px;
|
||||
cursor: pointer;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.bottonebello {
|
||||
background-color: #04AA6D; /* Green */
|
||||
border: none;
|
||||
color: white;
|
||||
padding: 15px 32px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
margin: 4px 2px;
|
||||
cursor: pointer;
|
||||
-webkit-transition-duration: 0.4s; /* Safari */
|
||||
transition-duration: 0.4s;
|
||||
box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
|
||||
}
|
||||
|
||||
#prev {
|
||||
padding: 10px;
|
||||
background-color: #04AA6D; /* Green */
|
||||
border: none;
|
||||
color: white;
|
||||
padding: 15px 32px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
margin: 4px 2px;
|
||||
cursor: pointer;
|
||||
-webkit-transition-duration: 0.4s; /* Safari */
|
||||
transition-duration: 0.4s;
|
||||
box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
|
||||
}
|
||||
|
||||
#next {
|
||||
padding: 10px;
|
||||
background-color: #04AA6D; /* Green */
|
||||
border: none;
|
||||
color: white;
|
||||
padding: 15px 32px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
font-size: 16px;
|
||||
margin: 4px 2px;
|
||||
cursor: pointer;
|
||||
-webkit-transition-duration: 0.4s; /* Safari */
|
||||
transition-duration: 0.4s;
|
||||
box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
|
||||
}
|
||||
|
||||
.bottonebello:hover {
|
||||
box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24),0 17px 50px 0 rgba(0,0,0,0.19);
|
||||
}
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
';
|
||||
|
||||
}
|
||||
|
||||
function generajsmodal() {
|
||||
|
||||
|
||||
return '
|
||||
<script>
|
||||
// Open the modal
|
||||
function openModal() {
|
||||
document.getElementById("pdfModal").style.display = "flex";
|
||||
}
|
||||
|
||||
// Close the modal
|
||||
function closeModal() {
|
||||
document.getElementById("pdfModal").style.display = "none";
|
||||
}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
|
||||
var elements = document.querySelectorAll(".is-layout-constrained");
|
||||
|
||||
elements.forEach(function(element) {
|
||||
element.classList.remove("is-layout-constrained");
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
||||
function stopScrollPropagation(event) {
|
||||
// Questo evita che lo scroll sul modale vada sulla pagina
|
||||
event.stopPropagation();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
';
|
||||
|
||||
}
|
||||
|
||||
function generahtmlmodal($filepdf){
|
||||
|
||||
$urlcomp = get_home_url().'/wp-content/plugins/ieimenupdf/';
|
||||
|
||||
return '
|
||||
<div style="text-align:center;z-index:5000;">
|
||||
<button class="bottonebello" onclick="openModal()">Apri il Menu</button>
|
||||
</div>
|
||||
<!-- Modale PDF -->
|
||||
<div style="background-color:white;" id="pdfModal" class="modal" onscroll="stopScrollPropagation(event)">
|
||||
<div class="modal-content">
|
||||
<!-- Close button -->
|
||||
<span class="close" onclick="closeModal()">×</span>
|
||||
|
||||
<!-- METTERE QUI IL VISUALIZZATORE -->
|
||||
|
||||
<script src="'.$urlcomp.'pdf.js" type="module"></script>
|
||||
|
||||
<script type="module">
|
||||
// If absolute URL from the remote server is provided, configure the CORS
|
||||
// header on that server.
|
||||
var url = "'.$filepdf.'";
|
||||
|
||||
// Loaded via <script> tag, create shortcut to access PDF.js exports.
|
||||
var { pdfjsLib } = globalThis;
|
||||
|
||||
// The workerSrc property shall be specified.
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = "'.$urlcomp.'pdf.worker.js";
|
||||
|
||||
var pdfDoc = null,
|
||||
pageNum = 1,
|
||||
pageRendering = false,
|
||||
pageNumPending = null,
|
||||
scale = 3.0,
|
||||
canvas = document.getElementById("the-canvas"),
|
||||
ctx = canvas.getContext("2d");
|
||||
|
||||
/**
|
||||
* Get page info from document, resize canvas accordingly, and render page.
|
||||
* @param num Page number.
|
||||
*/
|
||||
function renderPage(num) {
|
||||
pageRendering = true;
|
||||
// Using promise to fetch the page
|
||||
pdfDoc.getPage(num).then(function(page) {
|
||||
var viewport = page.getViewport({scale: scale});
|
||||
canvas.height = viewport.height;
|
||||
canvas.width = viewport.width;
|
||||
|
||||
// Render PDF page into canvas context
|
||||
var renderContext = {
|
||||
canvasContext: ctx,
|
||||
viewport: viewport
|
||||
};
|
||||
var renderTask = page.render(renderContext);
|
||||
|
||||
// Wait for rendering to finish
|
||||
renderTask.promise.then(function() {
|
||||
pageRendering = false;
|
||||
if (pageNumPending !== null) {
|
||||
// New page rendering is pending
|
||||
renderPage(pageNumPending);
|
||||
pageNumPending = null;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Update page counters
|
||||
document.getElementById("page_num").textContent = num;
|
||||
}
|
||||
|
||||
/**
|
||||
* If another page rendering in progress, waits until the rendering is
|
||||
* finised. Otherwise, executes rendering immediately.
|
||||
*/
|
||||
function queueRenderPage(num) {
|
||||
if (pageRendering) {
|
||||
pageNumPending = num;
|
||||
} else {
|
||||
renderPage(num);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays previous page.
|
||||
*/
|
||||
function onPrevPage() {
|
||||
if (pageNum <= 1) {
|
||||
return;
|
||||
}
|
||||
pageNum--;
|
||||
queueRenderPage(pageNum);
|
||||
}
|
||||
document.getElementById("prev").addEventListener("click", onPrevPage);
|
||||
|
||||
/**
|
||||
* Displays next page.
|
||||
*/
|
||||
function onNextPage() {
|
||||
if (pageNum >= pdfDoc.numPages) {
|
||||
return;
|
||||
}
|
||||
pageNum++;
|
||||
queueRenderPage(pageNum);
|
||||
}
|
||||
document.getElementById("next").addEventListener("click", onNextPage);
|
||||
|
||||
/**
|
||||
* Asynchronously downloads PDF.
|
||||
*/
|
||||
pdfjsLib.getDocument(url).promise.then(function(pdfDoc_) {
|
||||
pdfDoc = pdfDoc_;
|
||||
document.getElementById("page_count").textContent = pdfDoc.numPages;
|
||||
|
||||
// Initial/first page rendering
|
||||
renderPage(pageNum);
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="pdf-container" style="overflow:scroll;">
|
||||
<canvas style="width:100%;" id="the-canvas"></canvas>
|
||||
|
||||
<div class="button-container">
|
||||
<button id="prev">Indietro</button>
|
||||
<button id="next">Avanti</button>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<div style="text-align:center;">
|
||||
<span>Pagina: <span id="page_num"></span> / <span id="page_count"></span></span>
|
||||
</div>
|
||||
|
||||
</div> <!-- FINE VISUALIZZATORE -->
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
';
|
||||
|
||||
}
|
||||
|
||||
function generahtmlmodalridotto($filepdf,$etichetta){
|
||||
|
||||
$urlcomp = get_home_url().'/wp-content/plugins/ieimenupdf/';
|
||||
|
||||
return '
|
||||
<div style="z-index:5000;">
|
||||
<div style="text-align:center;margin-bottom:12px;"><a style="font-size:20px;text-transform: uppercase;cursor: pointer;" onclick="openModal()">'.$etichetta.'</a></div>
|
||||
<!-- Modale PDF -->
|
||||
<div style="background-color:white;" id="pdfModal" class="modal" onscroll="stopScrollPropagation(event)">
|
||||
<div class="modal-content">
|
||||
<!-- Close button -->
|
||||
<span class="close" onclick="closeModal()">×</span>
|
||||
|
||||
<!-- METTERE QUI IL VISUALIZZATORE -->
|
||||
|
||||
<script src="'.$urlcomp.'pdf.js" type="module"></script>
|
||||
|
||||
<script type="module">
|
||||
// If absolute URL from the remote server is provided, configure the CORS
|
||||
// header on that server.
|
||||
var url = "'.$filepdf.'";
|
||||
|
||||
// Loaded via <script> tag, create shortcut to access PDF.js exports.
|
||||
var { pdfjsLib } = globalThis;
|
||||
|
||||
// The workerSrc property shall be specified.
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = "'.$urlcomp.'pdf.worker.js";
|
||||
|
||||
var pdfDoc = null,
|
||||
pageNum = 1,
|
||||
pageRendering = false,
|
||||
pageNumPending = null,
|
||||
scale = 3.0,
|
||||
canvas = document.getElementById("the-canvas"),
|
||||
ctx = canvas.getContext("2d");
|
||||
|
||||
/**
|
||||
* Get page info from document, resize canvas accordingly, and render page.
|
||||
* @param num Page number.
|
||||
*/
|
||||
function renderPage(num) {
|
||||
pageRendering = true;
|
||||
// Using promise to fetch the page
|
||||
pdfDoc.getPage(num).then(function(page) {
|
||||
var viewport = page.getViewport({scale: scale});
|
||||
canvas.height = viewport.height;
|
||||
canvas.width = viewport.width;
|
||||
|
||||
// Render PDF page into canvas context
|
||||
var renderContext = {
|
||||
canvasContext: ctx,
|
||||
viewport: viewport
|
||||
};
|
||||
var renderTask = page.render(renderContext);
|
||||
|
||||
// Wait for rendering to finish
|
||||
renderTask.promise.then(function() {
|
||||
pageRendering = false;
|
||||
if (pageNumPending !== null) {
|
||||
// New page rendering is pending
|
||||
renderPage(pageNumPending);
|
||||
pageNumPending = null;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Update page counters
|
||||
document.getElementById("page_num").textContent = num;
|
||||
}
|
||||
|
||||
/**
|
||||
* If another page rendering in progress, waits until the rendering is
|
||||
* finised. Otherwise, executes rendering immediately.
|
||||
*/
|
||||
function queueRenderPage(num) {
|
||||
if (pageRendering) {
|
||||
pageNumPending = num;
|
||||
} else {
|
||||
renderPage(num);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays previous page.
|
||||
*/
|
||||
function onPrevPage() {
|
||||
if (pageNum <= 1) {
|
||||
return;
|
||||
}
|
||||
pageNum--;
|
||||
queueRenderPage(pageNum);
|
||||
}
|
||||
document.getElementById("prev").addEventListener("click", onPrevPage);
|
||||
|
||||
/**
|
||||
* Displays next page.
|
||||
*/
|
||||
function onNextPage() {
|
||||
if (pageNum >= pdfDoc.numPages) {
|
||||
return;
|
||||
}
|
||||
pageNum++;
|
||||
queueRenderPage(pageNum);
|
||||
}
|
||||
document.getElementById("next").addEventListener("click", onNextPage);
|
||||
|
||||
/**
|
||||
* Asynchronously downloads PDF.
|
||||
*/
|
||||
pdfjsLib.getDocument(url).promise.then(function(pdfDoc_) {
|
||||
pdfDoc = pdfDoc_;
|
||||
document.getElementById("page_count").textContent = pdfDoc.numPages;
|
||||
|
||||
// Initial/first page rendering
|
||||
renderPage(pageNum);
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="pdf-container" style="overflow:scroll;">
|
||||
<canvas style="width:100%;" id="the-canvas"></canvas>
|
||||
|
||||
<div class="button-container">
|
||||
<button id="prev">Indietro</button>
|
||||
<button id="next">Avanti</button>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<div style="text-align:center;">
|
||||
<span>Pagina: <span id="page_num"></span> / <span id="page_count"></span></span>
|
||||
</div>
|
||||
|
||||
</div> <!-- FINE VISUALIZZATORE -->
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
';
|
||||
|
||||
}
|
|
@ -0,0 +1,185 @@
|
|||
<?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,
|
||||
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
|
||||
$urlcomp = get_home_url().'/wp-content/plugins/ieimenupdf/';
|
||||
echo '<script src="'.$urlcomp.'pdf.js"></script>';
|
||||
|
||||
|
||||
echo generacssmodal();
|
||||
echo generajsmodal();
|
||||
}
|
||||
|
||||
add_action('wp_head', 'custom_header_content');
|
||||
|
||||
}
|
|
@ -0,0 +1,233 @@
|
|||
<style>
|
||||
|
||||
table {
|
||||
margin-top:50px;
|
||||
border-collapse: collapse !important;
|
||||
border-spacing: 0 !important;
|
||||
width: 100% !important;
|
||||
border: 1px solid #ddd !important;
|
||||
background-color:white;
|
||||
}
|
||||
|
||||
th, td {
|
||||
text-align: left !important;
|
||||
padding: 8px !important;
|
||||
}
|
||||
|
||||
tr:nth-child(even){background-color: #f2f2f2 !important}
|
||||
|
||||
</style>
|
||||
|
||||
<?php
|
||||
|
||||
//caricamento globale per db wordpress per tutte le operazioni
|
||||
global $wpdb;
|
||||
|
||||
//impostazione variabile per tutte le operazioni di lettura/scrittura su directory
|
||||
$target_dir = $_SERVER['DOCUMENT_ROOT']."/wp-content/plugins/ieimenupdf/menu/";
|
||||
?>
|
||||
|
||||
|
||||
<?php
|
||||
|
||||
// QUI MI CONTROLLO L'ELIMINAZIONE
|
||||
|
||||
if (isset($_GET['elimina'])){
|
||||
$datoelimina = $_GET['elimina'];
|
||||
|
||||
//CARICO E CONTROLLO DAL DATABASE
|
||||
|
||||
// QUERY SUL DATABASE
|
||||
$query = "SELECT * FROM {$wpdb->prefix}listapdf WHERE id='$datoelimina'";
|
||||
|
||||
// ESECUZIONE QUERY
|
||||
$results = $wpdb->get_results($query);
|
||||
|
||||
foreach ($results as $result) {
|
||||
|
||||
$urlfile = $result->url_completo;
|
||||
|
||||
}
|
||||
|
||||
|
||||
//ELIMINO IL FILE DALLA DIRECTORY
|
||||
unlink($target_dir.$urlfile);
|
||||
|
||||
// QUERY SUL DATABASE PER ELIMINAZIONE RIFERIMENTO FILE
|
||||
$query = "DELETE FROM {$wpdb->prefix}listapdf WHERE id='$datoelimina'";
|
||||
|
||||
// ESECUZIONE QUERY
|
||||
$results = $wpdb->get_results($query);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// QUI MI CONTROLLO L'ELIMINAZIONE
|
||||
|
||||
?>
|
||||
|
||||
|
||||
<?php
|
||||
// QUI AVVIENE IL CARICAMENTO DI UN FILE
|
||||
$esitofile = "";
|
||||
|
||||
if(isset($_POST["invia"])) {
|
||||
$campoinizio = $_POST['datainizio'];
|
||||
$campofine = $_POST['datafine'];
|
||||
|
||||
if (!empty($campoinizio)&& !empty($campofine)) {
|
||||
|
||||
|
||||
|
||||
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
|
||||
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
|
||||
$uploadOk = 1;
|
||||
|
||||
|
||||
// Controlla se il file esiste
|
||||
if (file_exists($target_file)) {
|
||||
$esitofile = 'Esiste già un file con questo nome. Scegliere un altro nome oppure eliminare quello esistente dalla lista.';
|
||||
$uploadOk = 0;
|
||||
}
|
||||
|
||||
if ($uploadOk){
|
||||
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
|
||||
$nomefile = htmlspecialchars( basename( $_FILES["fileToUpload"]["name"]));
|
||||
$esitofile = "Il file ". $nomefile . " è stato caricato.";
|
||||
|
||||
// QUERY SUL DATABASE PER INSERIMENTO FILE
|
||||
$query = "INSERT INTO {$wpdb->prefix}listapdf (nome_file, url_completo, data_partenza, data_fine) VALUES ('$nomefile','$nomefile','$campoinizio','$campofine')";
|
||||
|
||||
// ESECUZIONE QUERY
|
||||
$results = $wpdb->get_results($query);
|
||||
|
||||
}else {
|
||||
$esitofile = 'file non caricato';
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$esitofile = 'Assicurati di aver compilato tutti i campi';
|
||||
}
|
||||
}
|
||||
|
||||
// QUI AVVIENE IL CARICAMENTO DI UN FILE
|
||||
?>
|
||||
|
||||
|
||||
<?php
|
||||
$urlcomp = get_home_url();
|
||||
echo '<link rel="stylesheet" href="'.$urlcomp.'/wp-content/plugins/ieimenupdf/elementi/style.css">';
|
||||
|
||||
?>
|
||||
|
||||
|
||||
<?php
|
||||
|
||||
// QUERY SUL DATABASE
|
||||
$query = "SELECT * FROM {$wpdb->prefix}listapdf";
|
||||
|
||||
// ESECUZIONE QUERY
|
||||
$results = $wpdb->get_results($query);
|
||||
|
||||
?>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>Carica un nuovo menu</h2>
|
||||
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?page=iei-menu-dashboard" method="post" enctype="multipart/form-data">
|
||||
<label for="pdfFile">Scegli file PDF:</label>
|
||||
<input type="file" id="fileToUpload" name="fileToUpload" accept="application/pdf">
|
||||
|
||||
<label for="datainizio">Imposta data inizio</label>
|
||||
<input type="date" id="datainizio" name="datainizio">
|
||||
|
||||
<label for="datafine">Imposta data fine</label>
|
||||
<input type="date" id="datafine" name="datafine">
|
||||
|
||||
<input type="submit" name="invia" value="Carica">
|
||||
</form>
|
||||
|
||||
<p style="color:red;font-weight:bold;"><?php echo $esitofile; ?></p>
|
||||
|
||||
<hr>
|
||||
|
||||
<div style="overflow-x:auto;">
|
||||
|
||||
<table>
|
||||
|
||||
<tr>
|
||||
<th>Nome del File</th>
|
||||
<th>Data Partenza</th>
|
||||
<th>Data Fine</th>
|
||||
<th>/</th>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
|
||||
foreach ($results as $result) {
|
||||
|
||||
echo '<tr><td>'.$result->nome_file.'</td>';
|
||||
|
||||
echo '<td>'.$result->data_partenza.'</td>';
|
||||
|
||||
echo '<td>'.$result->data_fine.'</td>';
|
||||
|
||||
echo '<td><button onclick="elimina('.$result->id.')">elimina</button></td></tr>';
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div id="infobox" style="margin-top:30px;">
|
||||
<?php
|
||||
$etichetta = 0;
|
||||
$arrayrisultati = visualizzapdfcorrente($wpdb,$etichetta);
|
||||
|
||||
if ($arrayrisultati['controllo']){
|
||||
|
||||
echo '<b>In questo momento il menu attivo è: '.$arrayrisultati['nome'].'</b><br>';
|
||||
echo '<b>Per vederlo nel browser clicca qui: <a target="_blank" href="'.$arrayrisultati['url'].'">VEDI MENU PDF</a>';
|
||||
} else {
|
||||
echo '<b>Non esiste un menu attivo in questo momento, controlla le date dei file caricati oppure carica un nuovo file.</b>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
function elimina(elemento){
|
||||
updateURLParameter('elimina', elemento);
|
||||
}
|
||||
|
||||
|
||||
function updateURLParameter(key, value) {
|
||||
// Get the current URL
|
||||
var url = window.location.href;
|
||||
|
||||
// Check if the parameter already exists in the URL
|
||||
var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
|
||||
var separator = url.indexOf('?') !== -1 ? "&" : "?";
|
||||
|
||||
if (url.match(re)) {
|
||||
// If the parameter exists, remove it
|
||||
url = url.replace(re, '$1' + key + "="+ value +'$2');
|
||||
} else {
|
||||
// If the parameter doesn't exist, add it
|
||||
url = url + separator + key + '=' + value;
|
||||
}
|
||||
|
||||
// Refresh the page with the updated URL
|
||||
window.location.href = url;
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue