Source of file Maillog.php

Size: 8,110 Bytes - Last Modified: 2023-11-16T22:56:03+01:00

/home/websites/teicee/packagist/site/phpdoc/conf/../vendor/teicee/mail-bundle/src/Entity/Maillog.php

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
<?php
namespace TIC\MailBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use TIC\MailBundle\Repository\MaillogRepository as EntityRepo;

/**
 * Entité représentant un évènement du journal des envois.
 * @ORM\Table(name="tic_mail_maillog")
 * @ORM\Entity(repositoryClass=EntityRepo::class)
 */
class Maillog
{

// --------------------------------------------------------------------- Properties

	/**
	 * @ORM\Column(type="integer")
	 * @ORM\GeneratedValue(strategy="AUTO")
	 * @ORM\Id
	 */
	private $id;

	/**
	 * @ORM\Column(type="string", length=100, nullable=true)
	 */
	private $template;

	/**
	 * @ORM\Column(type="string", length=10, nullable=true)
	 */
	private $locale;

	/**
	 * @ORM\Column(type="string", length=250, nullable=true)
	 */
	private $returnPath;

	/**
	 * @ORM\Column(type="string", length=250, nullable=true)
	 */
	private $mailFrom;

	/**
	 * @ORM\Column(type="string", length=250, nullable=true)
	 */
	private $mailRcpt;

	/**
	 * @ORM\Column(type="string", length=250, nullable=true)
	 */
	private $mailBcc;

	/**
	 * @ORM\Column(type="string", length=250, nullable=true)
	 */
	private $subject;

	/**
	 * @ORM\Column(type="text", nullable=true)
	 */
	private $body;

	/**
	 * @ORM\Column(type="string", length=25, nullable=true)
	 */
	private $contentType;

	/**
	 * #ORM\Column(type="text", nullable=true)
	 */
#	private $data;

	/**
	 * @ORM\Column(type="string", length=250, nullable=true)
	 */
	private $messageId;

	/**
	 * @ORM\Column(type="smallint", nullable=true)
	 */
	private $sendCode;

	/**
	 * @ORM\Column(type="string", length=250, nullable=true)
	 */
	private $errorMsg;

	/**
	 * @ORM\Column(type="string", length=250)
	 */
	private $origin;

	/**
	 * @ORM\Column(type="datetime")
	 */
	private $createdAt;


// --------------------------------------------------------------------- Custom methods

	public function __construct(array $data = null)
	{
		$this->origin = isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : \implode(" ", $_SERVER["argv"]);
		$this->createdAt = new \DateTime("now");
		if ($data !== null) $this->loadData($data);
	}

	public function __toString()
	{
		return \sprint("[%s] %s", $this->createdAt->format('Y-m-d H:i:s'), $this->subject);
	}

	public function loadData(array $data = []): void
	{
		foreach ($data as $field => $value) {
			$mutator = "set" . \ucfirst($field);
			if (! \method_exists($this, $mutator)) continue;
			
#			if (\is_array($value)) $value = \implode(', ', $value);
			\call_user_func(array($this, $mutator), $value);
		}
	}


// --------------------------------------------------------------------- Tweaked methods

    /**
     * Set mailFrom
     * @param string|array $mailFrom
     * @return Maillog
     */
    public function setMailFrom($mailFrom): self
    {
		if (\is_array($mailFrom)) $mailFrom = \implode(', ', $mailFrom);
        $this->mailFrom = $mailFrom;
        return $this;
    }

    /**
     * Set mailRcpt
     * @param string|array $mailRcpt
     * @return Maillog
     */
    public function setMailRcpt($mailRcpt): self
    {
		if (\is_array($mailRcpt)) $mailRcpt = \implode(', ', $mailRcpt);
        $this->mailRcpt = $mailRcpt;
        return $this;
    }

    /**
     * Set mailBcc
     * @param string|array $mailBcc
     * @return Maillog
     */
    public function setMailBcc($mailBcc): self
    {
		if (\is_array($mailBcc)) $mailBcc = \implode(', ', $mailBcc);
        $this->mailBcc = $mailBcc;
        return $this;
    }


// --------------------------------------------------------------------- Auto-generated

    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set template
     *
     * @param string $template
     *
     * @return Maillog
     */
    public function setTemplate($template)
    {
        $this->template = $template;

        return $this;
    }

    /**
     * Get template
     *
     * @return string
     */
    public function getTemplate()
    {
        return $this->template;
    }

    /**
     * Set locale
     *
     * @param string $locale
     *
     * @return Maillog
     */
    public function setLocale($locale)
    {
        $this->locale = $locale;

        return $this;
    }

    /**
     * Get locale
     *
     * @return string
     */
    public function getLocale()
    {
        return $this->locale;
    }

    /**
     * Set returnPath
     *
     * @param string $returnPath
     *
     * @return Maillog
     */
    public function setReturnPath($returnPath)
    {
        $this->returnPath = $returnPath;

        return $this;
    }

    /**
     * Get returnPath
     *
     * @return string
     */
    public function getReturnPath()
    {
        return $this->returnPath;
    }

    /**
     * Get mailFrom
     *
     * @return string
     */
    public function getMailFrom()
    {
        return $this->mailFrom;
    }

    /**
     * Get mailRcpt
     *
     * @return string
     */
    public function getMailRcpt()
    {
        return $this->mailRcpt;
    }

    /**
     * Get mailBcc
     *
     * @return string
     */
    public function getMailBcc()
    {
        return $this->mailBcc;
    }

    /**
     * Set subject
     *
     * @param string $subject
     *
     * @return Maillog
     */
    public function setSubject($subject)
    {
        $this->subject = $subject;

        return $this;
    }

    /**
     * Get subject
     *
     * @return string
     */
    public function getSubject()
    {
        return $this->subject;
    }

    /**
     * Set body
     *
     * @param string $body
     *
     * @return Maillog
     */
    public function setBody($body)
    {
        $this->body = $body;

        return $this;
    }

    /**
     * Get body
     *
     * @return string
     */
    public function getBody()
    {
        return $this->body;
    }

    /**
     * Set contentType
     *
     * @param string $contentType
     *
     * @return Maillog
     */
    public function setContentType($contentType)
    {
        $this->contentType = $contentType;

        return $this;
    }

    /**
     * Get contentType
     *
     * @return string
     */
    public function getContentType()
    {
        return $this->contentType;
    }

    /**
     * Set messageId
     *
     * @param string $messageId
     *
     * @return Maillog
     */
    public function setMessageId($messageId)
    {
        $this->messageId = $messageId;

        return $this;
    }

    /**
     * Get messageId
     *
     * @return string
     */
    public function getMessageId()
    {
        return $this->messageId;
    }

    /**
     * Set sendCode
     *
     * @param integer $sendCode
     *
     * @return Maillog
     */
    public function setSendCode($sendCode)
    {
        $this->sendCode = $sendCode;

        return $this;
    }

    /**
     * Get sendCode
     *
     * @return integer
     */
    public function getSendCode()
    {
        return $this->sendCode;
    }

    /**
     * Set errorMsg
     *
     * @param string $errorMsg
     *
     * @return Maillog
     */
    public function setErrorMsg($errorMsg)
    {
        $this->errorMsg = $errorMsg;

        return $this;
    }

    /**
     * Get errorMsg
     *
     * @return string
     */
    public function getErrorMsg()
    {
        return $this->errorMsg;
    }

    /**
     * Set origin
     *
     * @param string $origin
     *
     * @return Maillog
     */
    public function setOrigin($origin)
    {
        $this->origin = $origin;

        return $this;
    }

    /**
     * Get origin
     *
     * @return string
     */
    public function getOrigin()
    {
        return $this->origin;
    }

    /**
     * Set createdAt
     *
     * @param \DateTime $createdAt
     *
     * @return Maillog
     */
    public function setCreatedAt($createdAt)
    {
        $this->createdAt = $createdAt;

        return $this;
    }

    /**
     * Get createdAt
     *
     * @return \DateTime
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }
}