Frontend/Http/Controllers/FrontendController.php
2023-09-13 23:31:23 +07:00

206 lines
6.8 KiB
PHP

<?php
namespace Modules\Frontend\Http\Controllers;
use Carbon\Carbon;
use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Storage;
use Revolution\Google\Sheets\Facades\Sheets;
class FrontendController extends Controller
{
/**
* Display a listing of the resource.
* @return Renderable
*/
public function index()
{
$json = File::get('storage/kurs.json');
$kurs = json_decode($json);
if($kurs->date != date('Y-m-d')){
$this->getKurs();
}
$json = File::get('storage/kurs.json');
$kurs = json_decode($json);
$usd = $kurs->rates->IDR/$kurs->rates->USD;
$date = Carbon::createFromTimestamp($kurs->timestamp)->locale('id')->setTimezone('Asia/Jakarta')->translatedFormat('d F Y H:i:s');
$sheets = Sheets::spreadsheet('1c2Uv3QVTyLzsJPE4uqqlMGNKO8z0Kqj6aEGh0uixAqA')->sheet('Platform')->range('A:F')->get();
$header = $sheets->pull(0);
$posts = Sheets::collection($header, $sheets);
$posts = $posts->take(5000);
$data = new Collection($posts->toArray());
$platform = $data->random(5);
return view('frontend::index', compact('kurs', 'usd','date','platform'));
}
public function ont()
{
$json = File::get('storage/kurs.json');
$kurs = json_decode($json);
if($kurs->date != date('Y-m-d')){
$this->getKurs();
}
$json = File::get('storage/kurs.json');
$kurs = json_decode($json);
$usd = $kurs->rates->IDR/$kurs->rates->USD;
$date = Carbon::createFromTimestamp($kurs->timestamp)->locale('id')->setTimezone('Asia/Jakarta')->translatedFormat('d F Y H:i:s');
$sheets = Sheets::spreadsheet('1c2Uv3QVTyLzsJPE4uqqlMGNKO8z0Kqj6aEGh0uixAqA')->sheet('Platform')->range('A:F')->get();
$header = $sheets->pull(0);
$posts = Sheets::collection($header, $sheets);
$posts = $posts->take(5000);
$data = new Collection($posts->toArray());
$platform = $data->random(5);
return view('frontend::ont', compact('kurs', 'usd','date','platform'));
}
public function press()
{
return view('frontend::press-release');
}
public function cakupan()
{
$json = File::get('storage/kurs.json');
$kurs = json_decode($json);
if($kurs->date != date('Y-m-d')){
$this->getKurs();
}
$json = File::get('storage/kurs.json');
$kurs = json_decode($json);
$usd = $kurs->rates->IDR/$kurs->rates->USD;
$date = Carbon::createFromTimestamp($kurs->timestamp)->locale('id')->setTimezone('Asia/Jakarta')->translatedFormat('d F Y H:i:s');
$sheets = Sheets::spreadsheet('1c2Uv3QVTyLzsJPE4uqqlMGNKO8z0Kqj6aEGh0uixAqA')->sheet('Platform')->range('A:F')->get();
$header = $sheets->pull(0);
$posts = Sheets::collection($header, $sheets);
$data = new Collection($posts->toArray());
return view('frontend::cakupan', compact('kurs', 'usd','date','data'));
}
public function peneliti()
{
$sheets = Sheets::spreadsheet('1kM32QnxjRDpH1WkFSfOwMuTKzoCQpXFDYhekARcypjY')->sheet('Research Proposal')->range('A:K')->get();
$header = $sheets->pull(0);
$posts = Sheets::collection($header, $sheets);
$posts = $posts->take(5000);
$data = $posts->toArray();
$researcher = [];
$no = 1;
if ($data) {
foreach ($data as $key => $value) {
if ($data[$key]['Researchers Name'] != null) {
$output['no'] = $no++;
$output['id'] = $data[$key]['ID'];
$output['reseracher_name'] = $data[$key]['Researchers Name'];
$output['region'] = $data[$key]['Region'];
$output['institution'] = $data[$key]['Institution'];
$output['research_title'] = $data[$key]['Research Title'];
$output['email'] = $data[$key]['Email'];
$output['registration_date'] = $data[$key]['Registration Date'];
$researcher[] = $output;
}
}
} else {
$researcher = [];
}
return view('frontend::peneliti', compact('researcher'));
}
public function facility()
{
$sheets = Sheets::spreadsheet('1kM32QnxjRDpH1WkFSfOwMuTKzoCQpXFDYhekARcypjY')->sheet('Sequencing Facility')->get();
$header = $sheets->pull(0);
$posts = Sheets::collection($header, $sheets);
$posts = $posts->take(5000);
$data = $posts->toArray();
$facility = [];
$no = 1;
if ($data) {
foreach ($data as $key => $value) {
if ($data[$key]['Facility Name'] != null) {
$output['no'] = $no++;
$output['facility_name'] = $data[$key]['Facility Name'];
$output['institution'] = $data[$key]['Institution'];
$output['address'] = $data[$key]['Address'];
$output['region'] = $data[$key]['Region'];
$facility[] = $output;
}
}
} else {
$facility = [];
}
return view('frontend::facility', compact('facility'));
}
public function hibah()
{
return view('frontend::hibah');
}
public function kuisioner()
{
return view('frontend::kuisioner');
}
public function consent()
{
return view('frontend::consent');
}
public function silx_ci()
{
return view('frontend::ci');
}
public function silx_ic()
{
return view('frontend::ic');
}
public function getKurs(){
$response = Http::get('http://api.exchangeratesapi.io/v1/latest?access_key=9f7cd7db5b72280a93c8e15243fadab7&symbols=USD,IDR');
$data = $response->json();
Storage::disk('public')->put('kurs.json', json_encode($data));
}
public function domain(Request $request)
{
if (isset($request->search)) {
$domain = $request->search;
$response = Http::asForm()->POST('https://srb1975.srs-x.com/api/domain/check', [
'username' => "qnwa882l",
'password' => "cdae44fd320c033dcd69718b217cdcc6fd51b8476d739e3d8b1c3a1fa5366395",
'domain' => $domain,
]);
$data = simplexml_load_string($response->body());
$data = $data->result;
return view('frontend::domain', compact('data'));
} else {
return view('frontend::domain');
}
}
}