Skip to content
Snippets Groups Projects
Select Git revision
  • faa9ebc0ca6166558a013b2b8fd4df40ca0fa29a
  • main default protected
  • devel
  • 1.1.0
  • 1.0.4
  • 1.0.3
  • 1.0.2
  • 1.0.1
  • 1.0.0
9 results

WpdbMigrator.php

Blame
  • EmailGettersAbstract.php NaN GiB
    <?php
    
    namespace WPDesk\Library\WPEmail\Abstracts;
    
    use WPDesk\View\Renderer\Renderer;
    
    abstract class EmailGettersAbstract implements EmailGettersInterface, ConditionInterface {
    
        /**
         * @var Renderer
         */
        private $renderer;
    
        /**
         * @var string
         */
        private $subject;
        /**
         * @var string
         */
        private $heading;
    
        public function __construct( Renderer $renderer, array $recipients ) {
            $this->renderer   = $renderer;
            $this->recipients = $recipients;
        }
    
        /**
         * Define unique email ID.
         *
         * @return string
         */
        abstract public function get_id(): string;
    
        /**
         * Get defined placeholders.
         *
         * @return string[]
         */
        public function get_placeholders(): array {
            return [];
        }
    
        /**
         * Get email subject.
         *
         * @return string
         */
        public function get_subject(): string {
            if ( ! $this->subject ) {
                throw new \Exception( 'Empty email subject' );
            }
    
            return '';
        }
    
    
        public function set_subject( string $subject ): self {
            $this->subject = $subject;
    
            return $this;
        }
    
        /**
         * Get email heading.
         *
         * @return string
         */
        public function get_heading(): string {
            return '';
        }
    
    
        public function set_heading( string $heading ): self {
            $this->heading = $heading;
    
            return $this;
        }
    
        /**
         * Get valid recipients.
         *
         * @return string[]
         */
        public function get_recipients(): array {
            return $this->recipients;
        }
    
        /**
         * Get email headers.
         *
         * @return string[]
         */
        public function get_headers(): array {
            return [];
        }
    
        /**
         * Get email attachments.
         *
         * @return array
         */
        public function get_attachments(): array {
            return [];
        }
    
        /**
         * Get email type.
         *
         * @return string
         */
        public function get_type(): string {
            return 'text/html';
        }
    
        /**
         * Get email content.
         *
         * @return string
         */
        public function get_content(): string {
            if ( ! $this->content ) {
                throw new \Exception( 'Empty email subject' );
            }
    
            return '';
        }
    
        /**
         * @return mixed
         */
        public function get_object() {
            return '';
        }
    
        /**
         * Get email content.
         *
         * @return string
         */
        public function render(): string {
            return $this->renderer->render( dirname( __DIR__ ) . '/html/default.php', [ 'content' => $this->get_content(), 'heading' => $this->get_heading(), 'object' => $this->get_object() ] );
        }
    
        public function is_valid(): bool {
            return true;
        }
    
    }