3 Commits

Author SHA1 Message Date
sHa
002fbbb4fc auto sender detect by IP 2018-02-12 12:31:43 +02:00
sHa
6cb972fe73 strip tags for fields 2018-02-12 12:14:05 +02:00
sHa
9d302c9540 gump validator add to composer require 2018-02-12 11:48:02 +02:00
3 changed files with 29 additions and 22 deletions

View File

@@ -23,6 +23,7 @@ $letter->set([
'fromMail' => "site@site.com", // sender email 'fromMail' => "site@site.com", // sender email
'fromName' => "SiteLetter", // sender name 'fromName' => "SiteLetter", // sender name
'toMail' => "info@site.com", // resipient email 'toMail' => "info@site.com", // resipient email
'senderDetect' => true, // detect sender location by IP, default 'true'
'senderIP' => $_SERVER['REMOTE_ADDR'], 'senderIP' => $_SERVER['REMOTE_ADDR'],
'mailgun_apikey' => 'key', 'mailgun_apikey' => 'key',
'mailgun_domain' => 'mg.site.com', 'mailgun_domain' => 'mg.site.com',

View File

@@ -1,22 +1,22 @@
{ {
"name": "shadoll/sletter", "name": "shadoll/sletter",
"description": "shadoll sLetter - e-mail send library", "description": "shadoll sLetter - e-mail send library",
"version": "18.2.13-2", "prefer-stable": true,
"prefer-stable": true, "require": {
"require": { "php": "^7.0",
"php": "^7.0", "mailgun/mailgun-php": "^2.4",
"mailgun/mailgun-php": "^2.4" "wixel/gump": "dev-master"
}, },
"authors": [ "authors": [
{ {
"name": "sHa", "name": "sHa",
"email": "sha@shadoll.com" "email": "sha@shadoll.com"
} }
], ],
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"shadoll\\": "/lib" "shadoll\\": "/lib"
} }
}, },
"minimum-stability": "dev" "minimum-stability": "dev"
} }

View File

@@ -3,7 +3,7 @@
* *
* @author sHa <sha@shadoll.com> * @author sHa <sha@shadoll.com>
* @package sLetter * @package sLetter
* @version 18.2.13 * @version 18.2.13-6
* *
*/ */
@@ -16,6 +16,7 @@ class sLetter{
public $error = false; public $error = false;
public $status = ""; public $status = "";
private $senderDetect = true;
private $sender = "mail"; private $sender = "mail";
private $header = ""; private $header = "";
private $message = ""; private $message = "";
@@ -34,6 +35,8 @@ class sLetter{
function __construct(){ function __construct(){
$this->setLang(require_once(__DIR__."/lng/".$this->language.".php")); $this->setLang(require_once(__DIR__."/lng/".$this->language.".php"));
if($this->senderDetect)
$this->detect();
} }
function setData($data,$return=false){ function setData($data,$return=false){
@@ -45,7 +48,7 @@ class sLetter{
foreach($data as $key=>$val) foreach($data as $key=>$val)
if(!empty($val)) if(!empty($val))
$this->fields[$key] = is_string($val)?trim(stripslashes($val)):$val; $this->fields[$key] = is_string($val)?trim(stripslashes(strip_tags($val))):$val;
return $return?$this->fields:$this; return $return?$this->fields:$this;
} }
@@ -107,6 +110,9 @@ class sLetter{
} }
function detect($return=false){ function detect($return=false){
if(empty($this->senderIP))
$this->senderIP = $_SERVER['REMOTE_ADDR'];
if(!empty($this->senderIP)){ if(!empty($this->senderIP)){
$query = @unserialize(file_get_contents('http://ip-api.com/php/'.$this->senderIP)); $query = @unserialize(file_get_contents('http://ip-api.com/php/'.$this->senderIP));
if($query && $query['status'] == 'success'){ if($query && $query['status'] == 'success'){