mirror of
https://gh.wpcy.net/https://github.com/seven-io/FreeScout.git
synced 2026-07-15 23:28:55 +08:00
70 lines
1.7 KiB
PHP
Executable file
70 lines
1.7 KiB
PHP
Executable file
<?php
|
|
|
|
namespace Modules\Seven\Http\Controllers;
|
|
|
|
use App\User;
|
|
use GuzzleHttp\Exception\GuzzleException;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Routing\Controller;
|
|
use Illuminate\View\View;
|
|
use Modules\Seven\Entities\Sms;
|
|
use Modules\Seven\Misc\Messenger;
|
|
|
|
class SevenController extends Controller {
|
|
public function __construct() {
|
|
$this->middleware('auth');
|
|
}
|
|
|
|
public function index(): View {
|
|
$msg = (object)[
|
|
'flash' => 0,
|
|
'locale' => null,
|
|
'role' => null,
|
|
'text' => '',
|
|
];
|
|
|
|
return view('seven::index', array_merge(compact('msg'), [
|
|
'messages' => Sms::all(),
|
|
]));
|
|
}
|
|
|
|
public function user(int $id): View {
|
|
return view('seven::user', [
|
|
'msg' => (object)[
|
|
'flash' => 0,
|
|
'text' => '',
|
|
],
|
|
'user' => User::findOrFail($id),
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* @throws GuzzleException
|
|
*/
|
|
public function userSubmit(int $id, Request $request): View {
|
|
/** @var User $user */
|
|
$user = User::findOrFail($id);
|
|
|
|
(new Messenger)->sms($request, $user->getAttribute('phone'));
|
|
|
|
return $this->user($id);
|
|
}
|
|
|
|
/**
|
|
* Show the form for creating a new resource.
|
|
*/
|
|
public function submit(Request $request): View {
|
|
$builder = User::query()->where('phone', '<>', '');
|
|
|
|
$filters = ['locale', 'role'];
|
|
|
|
foreach ($filters as $filter) {
|
|
$value = $request->post($filter);
|
|
if ($value) $builder = $builder->where($filter, '=', $value);
|
|
}
|
|
|
|
(new Messenger)->sms($request, ...$builder->pluck('phone')->unique()->all());
|
|
|
|
return $this->index();
|
|
}
|
|
}
|