Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php if(!defined('BASEPATH')) exit('No direct script access allowed');
- class Aplikasi extends CI_Controller {
- public function __construct() {
- parent::__construct();
- if(!$this->session->has_userdata("username")) {
- $this->session->set_flashdata("info", "Silahkan login untuk melanjutkan pekerjaan anda.");
- redirect("sys_auth");
- }
- $this->load->library(["form_validation", "encrypt"]);
- }
- public function index() {
- $app = $this->app_model->get_by();
- // var_dump($this->encrypt->gembok("wordpress5", "wp5"));die();
- foreach($app as &$a) {
- switch($a["status"]) {
- case 0:
- $a["status"] = '<div class="#ff1744 red accent-3">Nonaktif</div>';
- break;
- case 1:
- $a["status"] = '<div class="teal lighten-2">Aktif</div>';
- break;
- default:
- $a["status"] = '<div class="#bdbdbd grey lighten-1">N/A</div>';
- break;
- }
- }
- $this->twig->display("_backend/app.c", [
- "title" => "List App",
- "app" => $app,
- "success" => $this->session->flashdata("success"),
- "danger" => $this->session->flashdata("danger"),
- "info" => $this->session->flashdata("info"),
- "warning" => $this->session->flashdata("warning")
- ]);
- }
- public function tambah() {
- $this->twig->display("_backend/app_tambah.c", [
- "title" => "Tambah App Baru",
- "success" => $this->session->flashdata("success"),
- "danger" => $this->session->flashdata("danger"),
- "info" => $this->session->flashdata("info"),
- "warning" => $this->session->flashdata("warning")
- ]);
- }
- public function tambah_submit() {
- $this->form_validation->set_rules("nama", "Nama Aplikasi", "trim|required|xss_clean");
- $this->form_validation->set_rules("directory", "Directory Aplikasi", "trim|required|xss_clean");
- $this->form_validation->set_rules("key", "Key Aplikasi", "trim|required|xss_clean");
- $this->form_validation->set_rules("username", "Username App", "trim|required|xss_clean");
- $this->form_validation->set_rules("password", "Password App", "trim|xss_clean");
- $this->form_validation->set_rules("status", "Status Aplikasi", "trim|required|numeric|xss_clean");
- if($this->form_validation->run() == false) {
- $this->session->set_flashdata("warning", validation_errors());
- redirect("aplikasi/tambah");
- } else {
- $nama = (string) $this->input->post("nama", true);
- $key = (string) $this->input->post("key", true);
- $directory = (string) $this->input->post("directory", true);
- $username = (string) $this->input->post("username", true);
- $password = (string) $this->input->post("password", true);
- $status = (int) $this->input->post("status", true);
- $tambah = $this->app_model->make([
- "nama" => $nama,
- "directory" => $directory,
- "key" => $key,
- "username" => $username,
- "password" => $password,
- "status" => $status,
- "created" => date("Y-m-d H:i:s")
- ]) > 0 ? 1:0;
- if($tambah == 1) {
- $this->session->set_flashdata("success", "App " . $nama . " telah ditambahkan.");
- redirect("aplikasi");
- } else {
- $this->session->set_flashdata("danger", "Terjadi kesalahan saat menambahkan App " . $nama . ", silahkan coba lagi !");
- redirect("aplikasi/tambah");
- }
- }
- }
- public function edit($id=0) {
- $id = (int) $id;
- $app = $this->app_model->see(["id" => $id]);
- if(!empty($app)) {
- $this->twig->display("_backend/app_edit.c", [
- "title" => "Edit App",
- "app" => $app,
- "success" => $this->session->flashdata("success"),
- "danger" => $this->session->flashdata("danger"),
- "info" => $this->session->flashdata("info"),
- "warning" => $this->session->flashdata("warning")
- ]);
- } else {
- $this->session->set_flashdata("warning", "Silahkan pilih App yang akan di edit.");
- redirect("aplikasi");
- }
- }
- public function config($id=0) {
- $id = (int) $id;
- $app = $this->app_model->see(["id" => $id]);
- if(!empty($app)) {
- $this->twig->display("_backend/app_config.c", [
- "title" => "Config App",
- "app" => $app,
- "success" => $this->session->flashdata("success"),
- "danger" => $this->session->flashdata("danger"),
- "info" => $this->session->flashdata("info"),
- "warning" => $this->session->flashdata("warning")
- ]);
- } else {
- $this->session->set_flashdata("warning", "Silahkan pilih App yang akan di edit.");
- redirect("aplikasi");
- }
- }
- public function config_submit() {
- $id = (int) $this->input->post("id", true);
- $app = $this->app_model->see(["id" => $id]);
- $wpconfig='<?php'."\n";
- $wpconfig.='require_once("curl.php")'.";\n";
- $wpconfig.='require_once("jwt_helper.php")'.";\n";
- $wpconfig.='$mem = new Memcached()'.";\n";
- $wpconfig.='$mem->addServer("127.0.0.1", 11211)'.";\n";
- $wpconfig.='$result = $mem->get("token")'.";\n";
- $wpconfig.='$username=""'.";\n";
- $wpconfig.='$password=""'.";\n";
- $wpconfig.='$dbname=""'.";\n";
- $wpconfig.='$key="'.$app['key'].'"'."\n";
- $wpconfig.='if ($result) {'."\n";
- $wpconfig.='try {'."\n";
- $wpconfig.='$data=JWT::decode($result, $key,dirname(__FILE__))'.";\n";
- $wpconfig.='$dbname= $data->dbname'.";\n";
- $wpconfig.='$password= $data->password'.";\n";
- $wpconfig.='} catch (Exception $e) {'."\n";
- $wpconfig.='print_r($e)'.";\n";
- $wpconfig.='exit()'.";\n";
- $wpconfig.='}'."\n";
- $wpconfig.='} else {'."\n";
- $wpconfig.='$appId='.$id.";\n";
- $wpconfig.='$cx = new Curl'.";\n";
- $wpconfig.='$cek = $cx->simple_get("http://172.17.0.4/db2/rest/token/".$appId."/".$key)'.";\n";
- $wpconfig.='$res = json_decode($cek, true)'.";\n";
- $wpconfig.='if($res['error']){'."\n";
- $wpconfig.='exit()'.";\n";
- $wpconfig.=' }else{'."\n";
- //$wpconfig.='$token= $res['token']'.";\n";
- $wpconfig.='$mem->set("token",$token) or die("Couldnt save token to memcached...")'.";\n";
- $wpconfig.='try {'."\n";
- $wpconfig.='$data=JWT::decode($token, $key,dirname(__FILE__))'.";\n";
- $wpconfig.='$dbname= $data->dbname'.";\n";
- $wpconfig.='$username= $data->username'.";\n";
- $wpconfig.='$password= $data->password'.";\n";
- $wpconfig.=' } catch (Exception $e) {'."\n";
- $wpconfig.='print_r($e)'."\n";
- $wpconfig.='exit()'.";\n";
- $wpconfig.='}'."\n";
- $wpconfig.='}'."\n";
- $wpconfig.='}'."\n";
- //$wpconfig.='define('DB_USER', $username)'.";\n";
- //$wpconfig.='define('DB_PASSWORD', $password)'.";\n";
- //$wpconfig.='define('DB_HOST', '172.17.0.2:3306')'.";\n";
- /*
- */
- $config= $_POST['config'];
- $wpconfig.= str_replace("<?php"," ",$config);
- if(!empty($app)) {
- $this->twig->display("_backend/app_config.c", [
- "title" => "New Config App",
- "app" => $app,
- "success" => $this->session->flashdata("success"),
- "danger" => $this->session->flashdata("danger"),
- "info" => $this->session->flashdata("info"),
- "warning" => $this->session->flashdata("warning"),
- "wpconfig" => $wpconfig
- ]);
- } else {
- $this->session->set_flashdata("warning", "Silahkan pilih App yang akan di edit.");
- redirect("aplikasi");
- }
- }
- public function edit_submit() {
- $this->form_validation->set_rules("id", "ID Data", "trim|required|numeric|xss_clean");
- $this->form_validation->set_rules("nama", "Nama Aplikasi", "trim|required|xss_clean");
- $this->form_validation->set_rules("key", "Key Aplikasi", "trim|required|xss_clean");
- $this->form_validation->set_rules("username", "Username App", "trim|required|xss_clean");
- $this->form_validation->set_rules("password", "Password App", "trim|xss_clean");
- $this->form_validation->set_rules("status", "Status Aplikasi", "trim|required|numeric|xss_clean");
- $id = (int) $this->input->post("id", true);
- if($this->form_validation->run() == false) {
- $this->session->set_flashdata("warning", validation_errors());
- redirect("aplikasi/edit/" . $id);
- } else {
- $nama = (string) $this->input->post("nama", true);
- $directory = (string) $this->input->post("directory", true);
- $key = (string) $this->input->post("key", true);
- $username = (string) $this->input->post("username", true);
- $password = (string) $this->input->post("password", true);
- $status = (int) $this->input->post("status", true);
- $app = $this->app_model->see(["id" => $id]);
- if(!empty($app)) {
- $app["nama"] = $nama;
- $app["directory"] = $directory;
- $app["key"] = $key;
- $app["username"] = $username;
- $app["password"] = $password;
- $app["status"] = $status;
- $app["modified"] = date("Y-m-d H:i:s");
- $update = $this->app_model->apply($app) > 0 ? 1:0;
- if($update == 1) {
- $this->session->set_flashdata("success", "App " . $nama . " telah diubah.");
- redirect("aplikasi");
- } else {
- $this->session->set_flashdata("danger", "Terjadi kesalahan saat mengubah App " . $nama . ", silahkan coba lagi !");
- rediret("aplikasi/edit/" . $id);
- }
- } else {
- $this->session->set_flashdata("danger", "Data tidak valid !");
- redirect("aplikasi");
- }
- }
- }
- public function hapus($id=0) {
- $id = (int) $id;
- $app = $this->app_model->see(["id" => $id]);
- if(!empty($app)) {
- $t = $app["nama"];
- $hapus = $this->app_model->remove($app) > 0 ? 1:0;
- if($hapus == 1) {
- $this->session->set_flashdata("success", "App " . $t . " telah dihapus.");
- redirect("aplikasi");
- } else {
- $this->session->set_flashdata("danger", "Terjadi kesalahan saat menghapus App " . $t . ", silahkan coba lagi !");
- redirect("aplikasi");
- }
- } else {
- $this->session->set_flashdata("warning", "Silahkan pilih App yang akan di hapus.");
- redirect("aplikasi");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement