client api
This commit is contained in:
		
							
								
								
									
										136
									
								
								ninjamail.class.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								ninjamail.class.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,136 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
class ninjaMail
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
        private $host;
 | 
			
		||||
        private $key;
 | 
			
		||||
        public  $data;
 | 
			
		||||
 | 
			
		||||
        public function __construct($host, $key = false)
 | 
			
		||||
        {
 | 
			
		||||
                $this->host = $host;
 | 
			
		||||
                if ($key) $this->key = $key;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public function check()
 | 
			
		||||
        {
 | 
			
		||||
                if (!$this->host || !$this->key)
 | 
			
		||||
                  return false;
 | 
			
		||||
                return true;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public function process($f, $data, $post_method = true)
 | 
			
		||||
        {
 | 
			
		||||
                $ch = curl_init($this->host.'/a/'.$f.'/?key='.$this->key);
 | 
			
		||||
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 | 
			
		||||
                curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
 | 
			
		||||
                $data = curl_exec($ch);
 | 
			
		||||
                curl_close($ch);
 | 
			
		||||
 | 
			
		||||
                $data = @(object)json_decode($response);
 | 
			
		||||
                $this->data = $data;
 | 
			
		||||
                return $data;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public function login()
 | 
			
		||||
        {
 | 
			
		||||
            return $this->process('login', ['rkey' => md5(time().rand(0,65500).rand(0,10))]);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Send Email
 | 
			
		||||
class ninjaMailSend extends ninjaMail
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    private $to;
 | 
			
		||||
    private $subject;
 | 
			
		||||
    private $message;
 | 
			
		||||
    private $message_text;
 | 
			
		||||
 | 
			
		||||
    public function to($to)
 | 
			
		||||
    {
 | 
			
		||||
        $this->to = $to;
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function subject($s)
 | 
			
		||||
    {
 | 
			
		||||
        $this->subject = $s;
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function message($m, $t = false)
 | 
			
		||||
    {
 | 
			
		||||
        $this->message = $m;
 | 
			
		||||
        if (!$t) $this->message_text = trim(strip_tags($m));
 | 
			
		||||
        else     $this->message_text = $t;
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function send()
 | 
			
		||||
    {
 | 
			
		||||
        $post = [
 | 
			
		||||
            'to' => $this->to,
 | 
			
		||||
            'subject' => $this->subject,
 | 
			
		||||
            'message' => $this->message,
 | 
			
		||||
            'message_text' => $this->message_text
 | 
			
		||||
        ];
 | 
			
		||||
        return $this->process('send', $post, true)->status == 'message_queued' ? true : false;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Subscribe
 | 
			
		||||
class ninjaMailSubscription extends ninjaMail
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    private $list;
 | 
			
		||||
    private $activated = false;
 | 
			
		||||
 | 
			
		||||
    public function list($id)
 | 
			
		||||
    {
 | 
			
		||||
        if (is_numeric($id))
 | 
			
		||||
        {
 | 
			
		||||
            $this->list = $id;
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function activated($s)
 | 
			
		||||
    {
 | 
			
		||||
        if ($s) $this->activated = 1;
 | 
			
		||||
        else    $this->activated = 0;
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function subscribe($email, $name = '')
 | 
			
		||||
    {
 | 
			
		||||
        if (!$this->list || !is_numeric($this->activated))
 | 
			
		||||
            return false;
 | 
			
		||||
 | 
			
		||||
        $post = [
 | 
			
		||||
            'list'      => $this->list,
 | 
			
		||||
            'name'      => $name,
 | 
			
		||||
            'email'     => $email,
 | 
			
		||||
            'activated' => $this->activated
 | 
			
		||||
        ];
 | 
			
		||||
        return $this->process('subscribe', $post, true)->status == 'success' ? true : false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function unsubscribe($email)
 | 
			
		||||
    {
 | 
			
		||||
        if (!$this->list)
 | 
			
		||||
            return false;
 | 
			
		||||
 | 
			
		||||
        $post = [
 | 
			
		||||
            'list'      => $this->list,
 | 
			
		||||
            'email'     => $email
 | 
			
		||||
        ];
 | 
			
		||||
        return $this->process('unsubscribe', $post, true)->status == 'success' ? true : false;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user