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' => 'tL4w0PfNy2()', 'sender' => '3000164545', ], ]; $platforms = []; $send_sms = true; $user = User::where('mobile', $to)->first() ?: Customer::where('mobile', $to)->first(); if ($user) { // 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) { } } } //SMS 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}"; } 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; } }