<?php

/**
 * Add show the message detail
 */
namespace App\Traits;

use App\Classes\FTN\Message;

trait MessagePath
{
	protected function message_path(Message $mo): string
	{
		$reply = "This is your original message:\r\r";

		$reply .= "+--[ BEGIN MESSAGE ]----------------------------------+\r";
		$reply .= sprintf("TO: %s\r",$mo->user_to);
		$reply .= sprintf("SUBJECT: %s\r",$mo->subject);
		$reply .= str_replace("\r---","\r#--",$mo->message)."\r";

		$reply .= "+--[ CONTROL LINES ]----------------------------------+\r";
		$reply .= sprintf("DATE: %s\r",$mo->date->format('Y-m-d H:i:s'));
		$reply .= sprintf("MSGID: %s\r",$mo->msgid);

		foreach ($mo->kludge as $k=>$v)
			$reply .= sprintf("@%s: %s\r",strtoupper($k),$v);

		$reply .= "+--[ PATH ]-------------------------------------------+\r";

		if ($mo->isNetmail()) {
			if ($mo->via->count())
				foreach ($mo->via as $via)
					$reply .= sprintf("VIA: %s\r",$via);
			else
				$reply .= "No path information? This would be normal if this message came directly to the hub\r";

		} else {
			if ($mo->path->count())
				foreach ($mo->path as $via)
					$reply .= sprintf("VIA: %s\r",$via);
			else
				$reply .= "No path information? This would be normal if this message came directly to the hub\r";
		}

		$reply .= "+--[ END MESSAGE ]------------------------------------+\r\r";

		return $reply;
	}
}