PHP Classes

File: tests/compare_with_working_message.php

Recommend this page to a friend!
  Packages of Matthew Asham   Binkterm PHP   tests/compare_with_working_message.php   Download  
File: tests/compare_with_working_message.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: 2,136 bytes
 

Contents

Class file image Download
<?php

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

use
BinktermPHP\Database;

echo
"=== COMPARING WITH WORKING MESSAGE ===\n";

// Get a working received message
$db = Database::getInstance()->getPdo();
$stmt = $db->prepare("
    SELECT message_text, from_name, subject
    FROM echomail
    WHERE from_name = 'Awehttam'
    ORDER BY id DESC LIMIT 1
"
);
$stmt->execute();
$workingMessage = $stmt->fetch();

if (!
$workingMessage) {
    echo
"No working message found\n";
    exit(
1);
}

echo
"Working message from Awehttam:\n";
echo
"Subject: " . $workingMessage['subject'] . "\n";
echo
"Raw message text (first 500 chars):\n";
echo
substr($workingMessage['message_text'], 0, 500) . "\n\n";

echo
"Hex dump of first 200 bytes:\n";
echo
bin2hex(substr($workingMessage['message_text'], 0, 200)) . "\n\n";

// Parse the working message structure
$lines = explode("\n", str_replace("\r\n", "\n", $workingMessage['message_text']));
echo
"Working message structure:\n";
foreach (
$lines as $i => $line) {
    if (
$i > 10) break; // Only show first 10 lines
   
   
if (strlen($line) == 0) {
        echo
sprintf("%2d: (empty)\n", $i + 1);
    } elseif (
strlen($line) > 0 && ord($line[0]) === 0x01) {
       
$kludge = substr($line, 1);
        echo
sprintf("%2d: ^A%s\n", $i + 1, $kludge);
    } else {
        echo
sprintf("%2d: TEXT: %s\n", $i + 1, substr($line, 0, 60));
    }
}

echo
"\n=== KEY QUESTIONS ===\n";
echo
"1. Does the working message have kludge lines? " . (strpos($workingMessage['message_text'], "\x01") !== false ? "YES" : "NO") . "\n";
echo
"2. Does it have an AREA kludge? " . (strpos($workingMessage['message_text'], "\x01AREA:") !== false ? "YES" : "NO") . "\n";
echo
"3. First character is SOH (0x01)? " . (strlen($workingMessage['message_text']) > 0 && ord($workingMessage['message_text'][0]) === 0x01 ? "YES" : "NO") . "\n";
echo
"4. Contains tearline (---)? " . (strpos($workingMessage['message_text'], "---") !== false ? "YES" : "NO") . "\n";
echo
"5. Contains origin line? " . (strpos($workingMessage['message_text'], "* Origin:") !== false ? "YES" : "NO") . "\n";

echo
"\n=== ANALYSIS COMPLETE ===\n";