uawdijnntqw1x1x1
IP : 216.73.216.39
Hostname : diefsweb003.fsit.ch
Kernel : Linux diefsweb003.fsit.ch 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
wirbesti
/
public_html
/
modules
/
..
/
test_mail_pdf_fr.php
/
/
<?php error_reporting(E_ALL); ini_set('display_errors', 0); ini_set('log_errors', 1); ini_set('error_log', __DIR__ . '/logs/php_errors.log'); $logFile = __DIR__ . '/logs/debug_fr.log'; file_put_contents($logFile, date('Y-m-d H:i:s') . " - Script started\n", FILE_APPEND); // Start session session_start(); file_put_contents($logFile, date('Y-m-d H:i:s') . " - Session started\n", FILE_APPEND); // Get URL parameters $nachname = $_GET['nachname'] ?? ''; $vorname = $_GET['vorname'] ?? ''; $email = $_GET['email'] ?? ''; $campaign = $_GET['campaign'] ?? ''; file_put_contents($logFile, date('Y-m-d H:i:s') . " - Parameters: nachname=$nachname, vorname=$vorname, email=$email, campaign=$campaign\n", FILE_APPEND); // Validate email if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) { file_put_contents($logFile, date('Y-m-d H:i:s') . " - Invalid email: $email\n", FILE_APPEND); die('Invalid email address'); } // Validate campaign if (!is_numeric($campaign)) { file_put_contents($logFile, date('Y-m-d H:i:s') . " - Invalid campaign ID: $campaign\n", FILE_APPEND); die('Invalid campaign ID'); } // Check for duplicate email $sessionKey = 'email_sent_fr_' . $campaign . '_' . $email; if (isset($_SESSION[$sessionKey])) { file_put_contents($logFile, date('Y-m-d H:i:s') . " - Email already sent, redirecting\n", FILE_APPEND); header('Location: https://wirbestimmen.ch/index.php/fr/unterschriftsbogen-dl-fr'); exit; } // Include dependencies $requiredFiles = [ 'vendor/phpmailer/phpmailer/src/PHPMailer.php', 'vendor/phpmailer/phpmailer/src/SMTP.php', 'vendor/phpmailer/phpmailer/src/Exception.php', 'php/DBConnection.php', 'php/Metadata.php', 'php/setting.config.php', 'php/InitiatorCoverSheet.php', 'libraries2/dompdf/vendor/autoload.php' ]; foreach ($requiredFiles as $file) { $filePath = __DIR__ . '/' . $file; if (file_exists($filePath)) { require_once $filePath; file_put_contents($logFile, date('Y-m-d H:i:s') . " - Included file: $file\n", FILE_APPEND); } else { file_put_contents($logFile, date('Y-m-d H:i:s') . " - File not found: $file\n", FILE_APPEND); die("Required file not found: $file"); } } // Verify PHPMailer if (!class_exists('PHPMailer\PHPMailer\PHPMailer')) { file_put_contents($logFile, date('Y-m-d H:i:s') . " - Error: PHPMailer class not found\n", FILE_APPEND); die('PHPMailer class not available'); } use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; file_put_contents($logFile, date('Y-m-d H:i:s') . " - PHPMailer loaded successfully\n", FILE_APPEND); // Database connection try { $db = new DBConnection($config); file_put_contents($logFile, date('Y-m-d H:i:s') . " - Database connection established\n", FILE_APPEND); } catch (Exception $e) { file_put_contents($logFile, date('Y-m-d H:i:s') . " - Database connection failed: " . $e->getMessage() . "\n", FILE_APPEND); die('Database connection failed'); } // Metadata query try { $meta = new Metadata($db); $metaEntry = $meta->getMetadataByCampaignid($campaign); file_put_contents($logFile, date('Y-m-d H:i:s') . " - Metadata query executed\n", FILE_APPEND); } catch (Exception $e) { file_put_contents($logFile, date('Y-m-d H:i:s') . " - Metadata query failed: " . $e->getMessage() . "\n", FILE_APPEND); die('Metadata query failed'); } if ($metaEntry) { $signatureFilePath = $metaEntry['signature-form-path-pdf-fr'] ?? ''; $subjectname = $metaEntry['slogan-fr'] ?? '"Texte de l\'initiative"'; } else { $signatureFilePath = ''; $subjectname = '"Texte de l\'initiative"'; } file_put_contents($logFile, date('Y-m-d H:i:s') . " - Metadata: signature_file=$signatureFilePath, subjectname=$subjectname\n", FILE_APPEND); // Generate cover sheet $coverSheetFilePath = ''; try { $coverSheet = new InitiatorCoverSheet(); $coverSheetData = [ 'initiatorname' => $metaEntry['initiatorname'] ?? '', 'initiatorstreet' => $metaEntry['initiatorstreet'] ?? '', 'initiatorzipcode' => $metaEntry['initiatorzipcode'] ?? '', 'initiatortown' => $metaEntry['initiatortown'] ?? '', 'language' => 'fr', 'randnum' => rand(1000, 9999), 'slogan' => $subjectname ]; file_put_contents($logFile, date('Y-m-d H:i:s') . " - Generating cover sheet with data: " . json_encode($coverSheetData) . "\n", FILE_APPEND); $coverSheetFile = $coverSheet->generateCoverSheet($coverSheetData); $coverSheetFilePath = $coverSheetFile ? '/home/wirbesti/public_html/images/CoverSheets/' . $coverSheetFile : ''; if (!$coverSheetFile || !file_exists($coverSheetFilePath)) { file_put_contents($logFile, date('Y-m-d H:i:s') . " - Cover sheet generation failed or file not found: $coverSheetFilePath\n", FILE_APPEND); die('Failed to generate cover sheet'); } file_put_contents($logFile, date('Y-m-d H:i:s') . " - Cover sheet generated: $coverSheetFilePath\n", FILE_APPEND); } catch (Exception $e) { file_put_contents($logFile, date('Y-m-d H:i:s') . " - Cover sheet generation failed: " . $e->getMessage() . "\n", FILE_APPEND); die('Failed to generate cover sheet'); } // Signature form attachment $path = getcwd(); $signatureFile = $signatureFilePath ? $path . '/' . ltrim($signatureFilePath, '/') : ''; file_put_contents($logFile, date('Y-m-d H:i:s') . " - Signature file path: $signatureFile\n", FILE_APPEND); if ($signatureFilePath && !file_exists($signatureFile)) { file_put_contents($logFile, date('Y-m-d H:i:s') . " - Signature file not found: $signatureFile\n", FILE_APPEND); if (file_exists($coverSheetFilePath)) { unlink($coverSheetFilePath); file_put_contents($logFile, date('Y-m-d H:i:s') . " - Cover sheet file deleted on error: $coverSheetFilePath\n", FILE_APPEND); } die('Attachment file not found'); } // Email setup $mail = new PHPMailer(true); try { $mail->SMTPDebug = 2; $mail->Debugoutput = function($str, $level) use ($logFile) { file_put_contents($logFile, date('Y-m-d H:i:s') . " - [PHPMailer Level $level] $str\n", FILE_APPEND); }; $mail->isSendmail(); file_put_contents($logFile, date('Y-m-d H:i:s') . " - Using Sendmail\n", FILE_APPEND); $mail->setFrom('kontakt@wirbestimmen.ch', 'Wir bestimmen'); $mail->addAddress($email); $mail->isHTML(true); $mail->CharSet = 'UTF-8'; $mail->Subject = 'Fiche de signature vide - ' . $subjectname; $mail->Body = '<p><strong>Bonjour ' . htmlspecialchars($vorname) . ' ' . htmlspecialchars($nachname) . '</strong></p> <p>Nous vous remercions, au nom du Comité d’initiative.</p> <p>Nous avons joint la fiche de signature vide et une feuille de couverture en annexe.</p> <p><strong>IMPORTANT:</strong><br />Pour que vos efforts ne soient pas vains et que les signatures soient valides, quelques règles doivent être observées.</p> <ol> <li>Toutes les personnes doivent être originaires du même village ou de la même ville que celle mentionnée ci-dessus dans «Communauté politique».</li> <li>Le champ «Nom, Prénom, date de naissance et l’adresse» doit être rempli à la main et lisiblement par chaque personne et complétés de la signature de la personne.</li> <li>Le champ "Noms et prénoms" doit être rempli à la main par la personne qui signe.</li> </ol> <p>Vous pouvez nous commander d’autres formulaires par kontakt@wirbestimmen.ch ou en téléphonant au +41 840 123 456.</p> <p>Nous vous prions de placer votre formulaire plié dans une enveloppe ou plié et scellé avec du ruban adhésif et de le déposer dans la boîte aux lettres la plus proche. Vous rendrez un immense service aux organisateurs de l’initiative populaire en ne renvoyant pas vos signatures à la toute dernière minute. Vérifier l’absence d’erreurs prend un certain temps. Merci infiniment par avance</p> <p>Si vous le souhaitez, vous pouvez soutenir notre collection avec un timbre. Nous vous en remercions également par avance.</p> <p>Nous vous souhaitons de rester en bonne santé et de conserver votre enthousiasme pour la Suisse et pour l’avenir. <br />Sincères salutations.<br /><a href="http://www.wirbestimmen.ch" target="_blank" rel="noopener noreferrer"><br />Nous déterminons<br />Wir bestimmen<br /></a>Tel.: +41 840 123 456<br />Mail: <a href="mailto:kontakt@wirbestimmen.ch">kontakt@wirbestimmen.ch</a></p> <p> </p> <p>Notre engagement en faveur d’une démocratie directe étendue et forte coûte beaucoup d’argent. <br />Nous vous remercions de votre contribution financière.<br /><br /><em><strong>Vous pouvez verser directement vos dons sur le compte suivant</strong><strong>:</strong></em></p> <p>Wir bestimmen<br />3006 Berne<br /><br />Konto: 61-933005-1<br />IBAN: CH68 0900 0000 6193 3005 1</p>'; // Attachments if ($signatureFile && file_exists($signatureFile)) { $mail->addAttachment($signatureFile, 'SignatureForm.pdf'); file_put_contents($logFile, date('Y-m-d H:i:s') . " - Signature file attached: $signatureFile\n", FILE_APPEND); } else { file_put_contents($logFile, date('Y-m-d H:i:s') . " - No signature file attached\n", FILE_APPEND); } if ($coverSheetFilePath && file_exists($coverSheetFilePath)) { $mail->addAttachment($coverSheetFilePath, 'CoverSheet.pdf'); file_put_contents($logFile, date('Y-m-d H:i:s') . " - Cover sheet attached: $coverSheetFilePath\n", FILE_APPEND); } file_put_contents($logFile, date('Y-m-d H:i:s') . " - Attempting to send email\n", FILE_APPEND); $mail->send(); file_put_contents($logFile, date('Y-m-d H:i:s') . " - Email sent successfully\n", FILE_APPEND); // Mark email as sent $_SESSION[$sessionKey] = true; // Clean up cover sheet if ($coverSheetFilePath && file_exists($coverSheetFilePath)) { unlink($coverSheetFilePath); file_put_contents($logFile, date('Y-m-d H:i:s') . " - Cover sheet file deleted: $coverSheetFilePath\n", FILE_APPEND); } header('Location: https://wirbestimmen.ch/index.php/fr/unterschriftsbogen-dl-fr'); exit; } catch (Exception $e) { file_put_contents($logFile, date('Y-m-d H:i:s') . " - Mailer Error: " . $e->getMessage() . "\n", FILE_APPEND); if ($coverSheetFilePath && file_exists($coverSheetFilePath)) { unlink($coverSheetFilePath); file_put_contents($logFile, date('Y-m-d H:i:s') . " - Cover sheet file deleted on error: $coverSheetFilePath\n", FILE_APPEND); } die("Email failed: " . htmlspecialchars($e->getMessage())); } ?>
/home/wirbesti/public_html/modules/../test_mail_pdf_fr.php