main
This commit is contained in:
Executable
+161
@@ -0,0 +1,161 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\User;
|
||||
use App\Models\Customer;
|
||||
use App\Models\Setting;
|
||||
use App\Models\Message;
|
||||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||
use Illuminate\Foundation\Bus\DispatchesJobs;
|
||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||
use Illuminate\Routing\Controller as BaseController;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
|
||||
|
||||
class Controller extends BaseController
|
||||
{
|
||||
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
||||
public function resultCreate($id){
|
||||
return response()->json(['id'=>$id] , 201);
|
||||
}
|
||||
/**
|
||||
* add paginate to list
|
||||
* @param array $list
|
||||
* @param object $table
|
||||
* @return array mixed
|
||||
*/
|
||||
protected function addPaginate($table,$list){
|
||||
$list = $this->addLimitPage($list);
|
||||
$list['count'] = $table->count();
|
||||
$list['rows'] = $table->offset( $list['page']*$list['limit'])
|
||||
->limit($list['limit'])
|
||||
->get();
|
||||
$list['page'] = (int)$list['page'];
|
||||
$list['limit'] = (int)$list['limit'];
|
||||
return $list;
|
||||
}
|
||||
/**
|
||||
* add page and limit to list
|
||||
* @param $list
|
||||
* @return mixed
|
||||
*/
|
||||
protected function addLimitPage($list){
|
||||
if (!isset($list['page'])){
|
||||
$list['page'] = 0;
|
||||
}
|
||||
if (!isset($list['limit'])){
|
||||
$list['limit'] = 5;
|
||||
}
|
||||
if ($list['limit']>50){
|
||||
$list['limit'] = 50;
|
||||
}
|
||||
return $list;
|
||||
}
|
||||
|
||||
public static function Send($to , $msg, $is_customer = true)
|
||||
{
|
||||
$r = self::SendMessage($to , $msg, $is_customer);
|
||||
// if ($r == 200){
|
||||
// Sms::set($to,$msg , $is_customer);
|
||||
// }
|
||||
}
|
||||
|
||||
public static function SendMessage($to, $msg ,$is_send = false,$force_method ='null')
|
||||
{
|
||||
$config = config('message', false);
|
||||
$credentials = [
|
||||
"telegram" => [
|
||||
"token" => self::Config('telegram_bot_token')
|
||||
],
|
||||
|
||||
"sms" => [
|
||||
'user_name' => 'ysms1362',
|
||||
'password' => '1234@Abcgh',
|
||||
'sender' => '3000164545',
|
||||
],
|
||||
];
|
||||
$platforms = [];
|
||||
$send_sms = true;
|
||||
$user = User::where('mobile', $to)->first() ?: Customer::where('mobile', $to)->first();
|
||||
if ($user) {
|
||||
if ($send_sms or $force_method=="sms") {
|
||||
$endpoint = "http://www.0098sms.com/sendsmslink.aspx";
|
||||
$response = Http::get($endpoint, [
|
||||
'FROM' => $credentials['sms']['sender'],
|
||||
'TO' => $to,
|
||||
'TEXT' => trim($msg),
|
||||
'USERNAME' => $credentials['sms']['user_name'],
|
||||
'PASSWORD' => $credentials['sms']['password'],
|
||||
'DOMAIN' => '0098',
|
||||
]);
|
||||
$platforms[] = "0098:{$to}";
|
||||
|
||||
}
|
||||
// Telegram
|
||||
// if (isset($credentials['telegram']) && $user->telegram) {
|
||||
// try {
|
||||
// Http::get("https://api.wwwapp.ir/telegran_send.php", [
|
||||
// 'botToken' => $credentials['telegram']['token'],
|
||||
// 'chatId' => $user->telegram,
|
||||
// 'message' => "جناب {$user->name} {$msg}",
|
||||
// ]);
|
||||
// $platforms[] = "telegram:{$user->telegram}";
|
||||
// $send_sms = false;
|
||||
// } catch (\Exception $e) {
|
||||
// }
|
||||
// }
|
||||
|
||||
// Bale
|
||||
if (isset($credentials['bale']) && $user->bale) {
|
||||
try {
|
||||
Http::get("https://api.wwwapp.ir/bale_send.php", [
|
||||
'botToken' => $credentials['bale']['token'],
|
||||
'chatId' => $user->bale,
|
||||
'message' => "جناب {$user->name} {$msg}",
|
||||
]);
|
||||
$platforms[] = "bale:{$user->bale}";
|
||||
$send_sms = false;
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Message::create([
|
||||
'sms' => $msg,
|
||||
'receiver' => $to,
|
||||
'platforms' => implode(', ', $platforms), // ذخیره لیست سامانهها
|
||||
]);
|
||||
}
|
||||
public static function SendTelegram($to , $msg)
|
||||
{
|
||||
// "chatId" => 504951108,
|
||||
// "chatId" => 5870340227, fathi
|
||||
$response = Http::withHeaders([
|
||||
'x-secret-key' => 'PvQM36mgk2FUELHjcm4YG49Nu56uQxot',
|
||||
])->post('https://tele.ygram.ir/send-message', ["message" => $msg, "chatId" => $to, "botToken" => 'Paramisgold_bot']);
|
||||
return $response->json();
|
||||
}
|
||||
public static function Config($name)
|
||||
{
|
||||
return Setting::where('key',$name)->first()->value ?? false;
|
||||
|
||||
//
|
||||
// return $settings = collect(Setting::all())
|
||||
// ->mapWithKeys(function ($s) {
|
||||
// return [$s['key'] => $s['value']];
|
||||
// })->firstWhere('key', $name)['value'] ?? false;
|
||||
// return $settingValue = $settings->firstWhere('key', $name)['value'] ?? false;
|
||||
//
|
||||
// if (!$settingValue) {
|
||||
// $subs = collect(Http::withToken('')->get('https://pm.gholaktala.ir/config/'.strtr($_SERVER['SERVER_NAME'], '.', '_'))->json()['subs'])
|
||||
// ->firstWhere('name', $name)['value'] ?? false;
|
||||
//
|
||||
// return $subs;
|
||||
// }
|
||||
//
|
||||
// return $settingValue;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user