mirror of
https://github.com/shadoll/sLetter.git
synced 2025-12-20 03:27:00 +00:00
Compare commits
10 Commits
v18.2.13-6
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b5109fbf54 | ||
|
|
ca599f35bc | ||
|
|
d42ecbf891 | ||
|
|
de70577a72 | ||
|
|
247841160c | ||
|
|
5eec9aa10e | ||
|
|
dc92bc18d4 | ||
|
|
563524fca4 | ||
|
|
6f8fb693a1 | ||
|
|
7eee0fb80e |
@@ -6,6 +6,8 @@ e-mail send library
|
||||
|
||||
`composer require shadoll/sletter`
|
||||
|
||||
https://packagist.org/packages/shadoll/sletter
|
||||
|
||||
## usage
|
||||
|
||||
```
|
||||
@@ -18,13 +20,14 @@ set mail variables:
|
||||
|
||||
```
|
||||
$letter->set([
|
||||
'sender' => 'mailgun', // sender - support mail or mailgun-service
|
||||
'language' => 'ua', // set language (en|ua|ru), default 'en'
|
||||
'logoUri' => "https://site.com/logo.png", // link to logo that showing in letter
|
||||
'fromMail' => "site@site.com", // sender email
|
||||
'fromName' => "SiteLetter", // sender name
|
||||
'toMail' => "info@site.com", // resipient email
|
||||
'senderDetect' => true, // detect sender location by IP, default 'true'
|
||||
'senderIP' => $_SERVER['REMOTE_ADDR'],
|
||||
'sender' => 'mailgun', // sender - support mail or mailgun-service
|
||||
'mailgun_apikey' => 'key',
|
||||
'mailgun_domain' => 'mg.site.com',
|
||||
]);
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
*
|
||||
* @author sHa <sha@shadoll.com>
|
||||
* @package sLetter
|
||||
* @version 18.2.12
|
||||
* @version 18.2.13
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
*
|
||||
* @author sHa <sha@shadoll.com>
|
||||
* @package sLetter
|
||||
* @version 18.2.13-6
|
||||
* @version 18.2.13-13
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -22,7 +22,7 @@ class sLetter{
|
||||
private $message = "";
|
||||
private $subject = "";
|
||||
|
||||
private $language = "ua";
|
||||
private $language = "en";
|
||||
private $lang = [];
|
||||
|
||||
private $fromMail = "";
|
||||
@@ -34,12 +34,18 @@ class sLetter{
|
||||
private $logoUri = "";
|
||||
|
||||
function __construct(){
|
||||
$this->setLang(require_once(__DIR__."/lng/".$this->language.".php"));
|
||||
$this->loadLanguage();
|
||||
if($this->senderDetect)
|
||||
$this->detect();
|
||||
}
|
||||
|
||||
function setData($data,$return=false){
|
||||
function loadLanguage($return=false){
|
||||
$this->setLang(require_once(__DIR__."/lng/".$this->language.".php"));
|
||||
|
||||
return $return?$this->lang:$this;
|
||||
}
|
||||
|
||||
function setData($data,$raw=false,$return=false){
|
||||
if(empty($data) || !is_array($data))
|
||||
return $return?$this->fields:$this;
|
||||
|
||||
@@ -48,7 +54,10 @@ class sLetter{
|
||||
|
||||
foreach($data as $key=>$val)
|
||||
if(!empty($val))
|
||||
$this->fields[$key] = is_string($val)?trim(stripslashes(strip_tags($val))):$val;
|
||||
if(!$raw)
|
||||
$this->fields[$key] = is_string($val)?trim(stripslashes(strip_tags($val))):$val;
|
||||
else
|
||||
$this->fields[$key] = is_string($val)?trim($val):$val;
|
||||
|
||||
return $return?$this->fields:$this;
|
||||
}
|
||||
@@ -70,8 +79,11 @@ class sLetter{
|
||||
function set($data){
|
||||
if(!empty($data) && is_array($data))
|
||||
foreach($data as $key=>$val)
|
||||
if(!empty($key) && !empty($val))
|
||||
if(!empty($key) && !empty($val)){
|
||||
$this->{$key} = is_string($val)?trim(stripslashes($val)):$val;
|
||||
if($key=='language')
|
||||
$this->loadLanguage();
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -91,6 +103,9 @@ class sLetter{
|
||||
}
|
||||
|
||||
function message($return=false){
|
||||
if(empty($this->lang))
|
||||
$this->loadLanguage();
|
||||
|
||||
$this->message .= "<html><body style='font-family:Arial,sans-serif;'>";
|
||||
|
||||
if(!empty($this->logoUri))
|
||||
@@ -116,8 +131,6 @@ class sLetter{
|
||||
if(!empty($this->senderIP)){
|
||||
$query = @unserialize(file_get_contents('http://ip-api.com/php/'.$this->senderIP));
|
||||
if($query && $query['status'] == 'success'){
|
||||
|
||||
|
||||
$this->setData([
|
||||
'senderIP' => $this->senderIP,
|
||||
'flag' => "<img style='height:14px; width:auto' src='http://www.geognos.com/api/en/countries/flag/".$query['countryCode'].".png'>",
|
||||
@@ -125,19 +138,18 @@ class sLetter{
|
||||
'region' => $query['regionName'],
|
||||
'city' => $query['city'],
|
||||
'provider' => $query['isp'],
|
||||
]);
|
||||
],true);
|
||||
}
|
||||
}
|
||||
return $return?$this->fields:$this;
|
||||
}
|
||||
|
||||
function validate($data,$return=false){
|
||||
if(!empty($data) && is_array($data))
|
||||
foreach($data as $val)
|
||||
if(empty($val)){
|
||||
$this->error = true;
|
||||
$this->status = "Empty value";
|
||||
}
|
||||
$is_valid = \GUMP::is_valid($this->fields, $data);
|
||||
if($is_valid !== true){
|
||||
$this->error = true;
|
||||
$this->status = $is_valid;
|
||||
}
|
||||
|
||||
return $return?$this->error:$this;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user