PHP Classes

File: tests/debug_replyto_api.php

Recommend this page to a friend!
  Packages of Matthew Asham   Binkterm PHP   tests/debug_replyto_api.php   Download  
File: tests/debug_replyto_api.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Binkterm PHP
Bulletin board system based on the Web
Author: By
Last change:
Date: 5 days ago
Size: 3,550 bytes
 

Contents

Class file image Download
<?php

/**
 * Debug REPLYTO functionality in echomail API
 */

require_once __DIR__ . '/vendor/autoload.php';
require_once
__DIR__ . '/public_html/index.php';

// Connect to database to check message content directly
$db = Database::getInstance()->getPdo();

echo
"Debugging REPLYTO functionality for echomail message 288...\n\n";

// Get message 288 from database
$stmt = $db->prepare("SELECT id, message_text, kludge_lines, from_name, from_address FROM echomail WHERE id = ?");
$stmt->execute([288]);
$message = $stmt->fetch();

if (!
$message) {
    echo
"Message 288 not found in database.\n";
    exit;
}

echo
"Message 288 found:\n";
echo
"From: " . $message['from_name'] . " (" . $message['from_address'] . ")\n";
echo
"Message text length: " . strlen($message['message_text']) . " characters\n";
echo
"Kludge lines length: " . strlen($message['kludge_lines'] ?? '') . " characters\n\n";

// Check for REPLYTO in message_text
echo "=== Checking message_text for REPLYTO ===\n";
if (
strpos($message['message_text'], 'REPLYTO') !== false) {
    echo
"? Found 'REPLYTO' in message_text\n";
   
// Show lines containing REPLYTO
   
$lines = preg_split('/\r\n|\r|\n/', $message['message_text']);
    foreach (
$lines as $i => $line) {
        if (
stripos($line, 'replyto') !== false) {
            echo
"Line " . ($i + 1) . ": " . trim($line) . "\n";
        }
    }
} else {
    echo
"? No 'REPLYTO' found in message_text\n";
}

// Check for REPLYTO in kludge_lines
echo "\n=== Checking kludge_lines for REPLYTO ===\n";
if (!empty(
$message['kludge_lines']) && strpos($message['kludge_lines'], 'REPLYTO') !== false) {
    echo
"? Found 'REPLYTO' in kludge_lines\n";
   
$lines = preg_split('/\r\n|\r|\n/', $message['kludge_lines']);
    foreach (
$lines as $i => $line) {
        if (
stripos($line, 'replyto') !== false) {
            echo
"Line " . ($i + 1) . ": " . trim($line) . "\n";
        }
    }
} else {
    echo
"? No 'REPLYTO' found in kludge_lines (or kludge_lines is empty)\n";
}

// Test parseReplyToKludge function on this message
echo "\n=== Testing parseReplyToKludge function ===\n";

// Test on message_text
$replyToData = parseReplyToKludge($message['message_text']);
if (
$replyToData) {
    echo
"? parseReplyToKludge found REPLYTO in message_text:\n";
    echo
" Address: " . $replyToData['address'] . "\n";
    echo
" Name: " . $replyToData['name'] . "\n";
} else {
    echo
"? parseReplyToKludge found no REPLYTO in message_text\n";
}

// Test on kludge_lines if they exist
if (!empty($message['kludge_lines'])) {
   
$replyToDataKludge = parseReplyToKludge($message['kludge_lines']);
    if (
$replyToDataKludge) {
        echo
"? parseReplyToKludge found REPLYTO in kludge_lines:\n";
        echo
" Address: " . $replyToDataKludge['address'] . "\n";
        echo
" Name: " . $replyToDataKludge['name'] . "\n";
    } else {
        echo
"? parseReplyToKludge found no REPLYTO in kludge_lines\n";
    }
}

// Show first few lines of message content for manual inspection
echo "\n=== First 10 lines of message_text ===\n";
$lines = preg_split('/\r\n|\r|\n/', $message['message_text']);
for (
$i = 0; $i < min(10, count($lines)); $i++) {
    echo (
$i + 1) . ": " . $lines[$i] . "\n";
}

if (!empty(
$message['kludge_lines'])) {
    echo
"\n=== First 10 lines of kludge_lines ===\n";
   
$kludgeLines = preg_split('/\r\n|\r|\n/', $message['kludge_lines']);
    for (
$i = 0; $i < min(10, count($kludgeLines)); $i++) {
        echo (
$i + 1) . ": " . $kludgeLines[$i] . "\n";
    }
}

echo
"\nDebug complete.\n";

?>