2025-08-15 09:45:16 +07:00

113 lines
3.1 KiB
PHP

<?php
namespace App\Controllers;
class Flags extends BaseController {
private function getProductAlias() {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://services-summit.my.id/api/getProductAlias',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
));
$response = curl_exec($curl);
curl_close($curl);
$data = json_decode($response, true);
return $data;
}
public function index() {
$db = \Config\Database::connect();
$sql = "SELECT * FROM flagdef";
$query = $db->query($sql);
$results = $query->getResultArray();
$data['flagdef'] = $results;
return view('flags_index.php', $data);
}
public function view($FlagDefID) {
$FlagDefID = (int) $FlagDefID;
$db = \Config\Database::connect();
$sql = "SELECT * FROM flagdef WHERE FlagDefID=$FlagDefID";
$query = $db->query($sql);
$results = $query->getResultArray();
$data['flagdef'] = $results;
return view('flags_view.php', $data);
}
public function edit($FlagDefID) {
$data = array();
$data['instsAlias'] = $this->getProductAlias();
$db = \Config\Database::connect();
if ($FlagDefID != 0) {
$sql = "SELECT * FROM flagdef where FlagDefID='$FlagDefID'";
$query = $db->query($sql);
$results = $query->getResultArray();
$data['flagdef'] = $results;
}
if ($this->request->getMethod() === 'post') {
$rules = [ 'flagtext' => 'required'];
$flagdefid = $this->request->getPost('flagdefid');
$instrumentid = $this->request->getPost('instrumentid');
$flag = $this->request->getPost('flag');
$flagtext = $this->request->getPost('flagtext');
$flagdesc = $this->request->getPost('flagdesc');
$onscreen = $this->request->getPost('onscreen');
$onresult = $this->request->getPost('onresult');
if ($this->validate($rules)){
if ($flagdefid == 0 ) {
$sql = "INSERT INTO `flagdef` ( `InstrumentID`, `Flag`, `FlagText`, `FlagDesc`, `OnScreen`, `OnResult`, `CreateDate` )
VALUES ( $instrumentid, '$flag', '$flagtext', '$flagdesc', $onscreen, $onresult ,NOW())";
$query = $db->query($sql);
return redirect()->to('/flagdef');
} else {
$sql = "UPDATE `flagdef` SET InstrumentID = $instrumentid,
Flag='$flag',
flagtext='$flagtext',
flagdesc='$flagdesc',
onscreen=$onscreen,
onresult=$onresult
WHERE FlagDefID=$flagdefid";
$query = $db->query($sql);
return redirect()->to('/flagdef');
}
} else {
$data['validation'] = $this->validator;
return view('flags_editor', $data);
}
} else {
return view('flags_editor', $data);
}
return view('flags_editor', $data);
}
public function delete($FlagDefID) {
if ($this->request->getMethod() === 'post') {
$db = \Config\Database::connect();
$sql = "DELETE FROM flagdef WHERE FlagDefID=$FlagDefID";
$query = $db->query($sql);
return redirect()->to('/flagdef');
} else { // Redirect jika metode bukan POST
return redirect()->to('/flagdef');
}
}
}