mirror of
https://github.com/shadoll/sLetter.git
synced 2025-12-21 00:25:01 +00:00
Compare commits
5 Commits
v18.2.13
...
v18.2.13-6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
002fbbb4fc | ||
|
|
6cb972fe73 | ||
|
|
9d302c9540 | ||
|
|
91d1e47a05 | ||
|
|
6656909deb |
83
README.md
83
README.md
@@ -1 +1,84 @@
|
||||
# sLetter
|
||||
|
||||
e-mail send library
|
||||
|
||||
## install
|
||||
|
||||
`composer require shadoll/sletter`
|
||||
|
||||
## usage
|
||||
|
||||
```
|
||||
require __DIR__.'/../vendor/autoload.php';
|
||||
|
||||
$letter = (new shadoll\sLetter);
|
||||
```
|
||||
|
||||
set mail variables:
|
||||
|
||||
```
|
||||
$letter->set([
|
||||
'sender' => 'mailgun', // sender - support mail or mailgun-service
|
||||
'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'],
|
||||
'mailgun_apikey' => 'key',
|
||||
'mailgun_domain' => 'mg.site.com',
|
||||
]);
|
||||
```
|
||||
|
||||
adding fields titles:
|
||||
|
||||
```
|
||||
$letter->setLang([
|
||||
'order' => 'Замовлення',
|
||||
'message' => 'Повідомлення',
|
||||
'comment' => 'Повідомлення',
|
||||
'date' => 'Дата',
|
||||
'time' => 'Час',
|
||||
'type' => 'Тип',
|
||||
'doors' => 'Кількість дверцят',
|
||||
'width' => 'Ширина',
|
||||
'depth' => 'Глибина',
|
||||
]);
|
||||
```
|
||||
|
||||
set fields from form:
|
||||
|
||||
```
|
||||
$letter->setData([
|
||||
'name' => !empty($_REQUEST['name'])?($_REQUEST['name']):'',
|
||||
'phone' => !empty($_REQUEST['phone'])?($_REQUEST['phone']):'',
|
||||
'email' => !empty($_REQUEST['email'])?($_REQUEST['email']):'',
|
||||
'message' => !empty($_REQUEST['message'])?($_REQUEST['message']):'',
|
||||
]);
|
||||
```
|
||||
|
||||
fields list to validate before send (not working now):
|
||||
|
||||
```
|
||||
$letter
|
||||
->validate([
|
||||
'name',
|
||||
'phone',
|
||||
'email',
|
||||
])
|
||||
```
|
||||
|
||||
sending email
|
||||
|
||||
```
|
||||
$letter
|
||||
->detect()
|
||||
->send()
|
||||
->state();
|
||||
```
|
||||
|
||||
detect - get sender info from his IP
|
||||
|
||||
send - if no error send email
|
||||
|
||||
state - action result (not fully working now)
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
{
|
||||
"name": "shadoll/sletter",
|
||||
"description": "shadoll sLetter - e-mail send library",
|
||||
"version": "18.2.13",
|
||||
"prefer-stable": true,
|
||||
"require": {
|
||||
"php": "^7.0",
|
||||
"mailgun/mailgun-php": "^2.4"
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "sHa",
|
||||
"email": "sha@shadoll.com"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"shadoll\\": "/lib"
|
||||
}
|
||||
},
|
||||
"minimum-stability": "dev"
|
||||
"name": "shadoll/sletter",
|
||||
"description": "shadoll sLetter - e-mail send library",
|
||||
"prefer-stable": true,
|
||||
"require": {
|
||||
"php": "^7.0",
|
||||
"mailgun/mailgun-php": "^2.4",
|
||||
"wixel/gump": "dev-master"
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "sHa",
|
||||
"email": "sha@shadoll.com"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"shadoll\\": "/lib"
|
||||
}
|
||||
},
|
||||
"minimum-stability": "dev"
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
/**
|
||||
*
|
||||
* @author sHa <sha@shadoll.com>
|
||||
* @package shadoll/sLetter
|
||||
* @version 18.2.12
|
||||
* @package sLetter
|
||||
* @version 18.2.13-6
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -16,6 +16,7 @@ class sLetter{
|
||||
public $error = false;
|
||||
public $status = "";
|
||||
|
||||
private $senderDetect = true;
|
||||
private $sender = "mail";
|
||||
private $header = "";
|
||||
private $message = "";
|
||||
@@ -34,6 +35,8 @@ class sLetter{
|
||||
|
||||
function __construct(){
|
||||
$this->setLang(require_once(__DIR__."/lng/".$this->language.".php"));
|
||||
if($this->senderDetect)
|
||||
$this->detect();
|
||||
}
|
||||
|
||||
function setData($data,$return=false){
|
||||
@@ -45,7 +48,7 @@ class sLetter{
|
||||
|
||||
foreach($data as $key=>$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;
|
||||
}
|
||||
@@ -107,6 +110,9 @@ class sLetter{
|
||||
}
|
||||
|
||||
function detect($return=false){
|
||||
if(empty($this->senderIP))
|
||||
$this->senderIP = $_SERVER['REMOTE_ADDR'];
|
||||
|
||||
if(!empty($this->senderIP)){
|
||||
$query = @unserialize(file_get_contents('http://ip-api.com/php/'.$this->senderIP));
|
||||
if($query && $query['status'] == 'success'){
|
||||
|
||||
8
sLetter.code-workspace
Normal file
8
sLetter.code-workspace
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "."
|
||||
}
|
||||
],
|
||||
"settings": {}
|
||||
}
|
||||
Reference in New Issue
Block a user