Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

eval(base64_decode('DQovKioNCiAqIENyZWF0ZWQgYnkgSW50ZWxsaUogSURFQS4NCiAqIFVzZXI6IG11bHRhem..

Decoded Output download


/**
 * Created by IntelliJ IDEA.
 * User: multazam
 * Date: 07/07/20
 * Time: 14:24
 */

class Cbtcetak extends CI_Controller {

	public function __construct() {
		parent::__construct();
		if (!$this->ion_auth->logged_in()) {
			redirect('auth');
		} else if (!$this->ion_auth->is_admin()) {
			show_error('Hanya Administrator yang diberi hak untuk mengakses halaman ini, <a href="' . base_url('dashboard') . '">Kembali ke menu awal</a>', 403, 'Akses Terlarang');
		}
		$this->load->library(['datatables', 'form_validation']); // Load Library Ignited-Datatables
		$this->load->library('upload');
		$this->load->library('Pdf');
		$this->load->model('Master_model', 'master');
        $this->load->model('Kelas_model', 'kelas');
		$this->load->model('Dashboard_model', 'dashboard');
		$this->load->model('Cbt_model', 'cbt');
		$this->load->model('Dropdown_model', 'dropdown');
		$this->form_validation->set_error_delimiters('', '');
	}

	public function output_json($data, $encode = true) {
		if ($encode) $data = json_encode($data);
		$this->output->set_content_type('application/json')->set_output($data);
	}

	public function index() {
		$user = $this->ion_auth->user()->row();
		$data = [
			'user' 			=> $user,
			'judul' => 'Cetak Data Penilaian',
			'subjudul' => 'Cetak',
			'profile'		=> $this->dashboard->getProfileAdmin($user->id),
			'setting'		=> $this->dashboard->getSetting()
		];

		$data['tp'] = $this->dashboard->getTahun();
		$data['tp_active'] = $this->dashboard->getTahunActive();
		$data['smt'] = $this->dashboard->getSemester();
		$data['smt_active'] = $this->dashboard->getSemesterActive();
        $data['kop'] = $this->cbt->getSettingKopAbsensi();

		$this->load->view('_templates/dashboard/_header', $data);
		$this->load->view('cbt/cetak/data');
		$this->load->view('_templates/dashboard/_footer');
	}

	public function data() {
		$this->output_json($this->cbt->getJenis(), false);
	}

	public function kartuPeserta() {
		$user = $this->ion_auth->user()->row();
		$data = [
			'user' 			=> $user,
			'judul' => 'Cetak Kartu Peserta',
			'subjudul' => 'Cetak',
			'profile'		=> $this->dashboard->getProfileAdmin($user->id),
			'setting'		=> $this->dashboard->getSetting()
		];

        $tp = $this->dashboard->getTahunActive();
        $smt = $this->dashboard->getSemesterActive();
		$data['tp'] = $this->dashboard->getTahun();
		$data['tp_active'] = $tp;
		$data['smt'] = $this->dashboard->getSemester();
		$data['smt_active'] = $smt;
		$data['kartu'] = $this->cbt->getSettingKartu();
		$data['kelas'] = $this->dropdown->getAllKelas($tp->id_tp, $smt->id_smt);
		$data['ruang'] = $this->dropdown->getAllRuang();

		$this->load->view('_templates/dashboard/_header', $data);
		$this->load->view('cbt/cetak/kartu');
		$this->load->view('_templates/dashboard/_footer');
	}

	function uploadFile($logo){
		if(isset($_FILES["logo"]["name"])){
			//$newName = $_FILES["logo"]["name"].".".$_FILES['logo']['type'];

			$config['upload_path'] = './uploads/settings/';
			$config['allowed_types'] = 'gif|jpg|png|jpeg|JPEG|JPG|PNG|GIF';
			$config['overwrite'] = true;
			$config['file_name'] = $logo;

			$this->upload->initialize($config);
			if(!$this->upload->do_upload('logo')){
				$data['status'] = false;
				$data['src'] = $this->upload->display_errors();
			}else{
				$result = $this->upload->data();
				$data['src'] = base_url().'uploads/settings/'.$result['file_name'];
				$data['filename'] = pathinfo($result['file_name'], PATHINFO_FILENAME);
				$data['status'] = true;
			}
			$data['type'] = $_FILES['logo']['type'];
			$data['size'] = $_FILES['logo']['size'];
		} else {
			$data['src'] = '';
		}
		$this->output_json($data);
	}

	function deleteFile() {
		$src = $this->input->post('src');
		$file_name = str_replace(base_url(), '', $src);
		if (unlink($file_name)) {
			echo 'File Delete Successfully';
		}
	}

	public function saveKartu() {
		$header_1 = $this->input->post('header_1', true);
		$header_2 = $this->input->post('header_2', true);
		$header_3 = $this->input->post('header_3', true);
		$header_4 = $this->input->post('header_4', true);
		$tanggal = $this->input->post('tanggal', true);

		$insert = [
			'id_set_kartu' => 123456,
			'header_1' => $header_1,
			'header_2' => $header_2,
			'header_3' => $header_3,
			'header_4' => $header_4,
			'tanggal' => $tanggal,
		];

		$update = $this->db->replace('cbt_kop_kartu', $insert);
		$this->output_json($update);
	}

	public function getSiswaKelas() {
		$kelas = $this->input->get('kelas');
		$sesi = $this->input->get('sesi');
		$jadwal = $this->input->get('jadwal');
		$tp = $this->dashboard->getTahunActive();
		$smt = $this->dashboard->getSemesterActive();

		$ikelas = $this->master->getKelasById($kelas);

        $s = !$sesi ? null : $sesi;
        $isesi = null;
        if ($s!=null) {
            $isesi = $this->cbt->getSesiById($s);
        }

        $ijadwal = null;
        $pengawas = [];
        if ($jadwal != null && $jadwal != 'null') {
            $ijadwal = $this->cbt->getJadwalById($jadwal, $s);

            $pengawass = isset($ijadwal->pengawas) ? unserialize($ijadwal->pengawas) : [];
            $ids_pengawas = [];
            foreach ($pengawass as $p) {
                if ($p['guru'] != null) {
                    array_push($ids_pengawas, $p['guru']);
                }
            }
            $pengawas = $this->master->getGuruByArrId($ids_pengawas);
        }

        $data['siswa'] = [];
        $siswas = $this->cbt->getRuangSiswaByKelas($tp->id_tp, $smt->id_smt, $kelas, $s);
        foreach ($siswas as $siswa) {
            array_push($data['siswa'], $siswa);
        }

        $data['info'] = ['kelas'=>$ikelas, 'sesi'=>$isesi, 'jadwal'=>$ijadwal, 'pengawas'=> $pengawas];

		$this->output_json($data);
	}

	public function getSiswaRuang() {
		$ruang = $this->input->get('ruang');
		$sesi = $this->input->get('sesi');
		$jadwal = $this->input->get('jadwal');
		$tp = $this->dashboard->getTahunActive();
		$smt = $this->dashboard->getSemesterActive();

        $iruang = $this->cbt->getRuangById($ruang);

		$s = $sesi == "null" ? null : $sesi;
        $isesi = null;
        if ($s!=null) {
            $isesi = $this->cbt->getSesiById($s);
        }

        $ijadwal = null;
        $pengawas = [];
		if ($jadwal != null && $jadwal != 'null') {
            $ijadwal = $this->cbt->getJadwalById($jadwal, $s);

            $pengawass = unserialize($ijadwal->pengawas);
            $ids_pengawas = [];
            foreach ($pengawass as $p) {
                if ($p['guru'] != null) {
                    array_push($ids_pengawas, $p['guru']);
                }
            }

            $pengawas = $this->master->getGuruByArrId($ids_pengawas);
		}

        $data['siswa'] = $this->cbt->getSiswaByRuang($tp->id_tp, $smt->id_smt, $ruang, $s);
        $data['info'] = ['ruang'=>$iruang, 'sesi'=>$isesi, 'jadwal'=>$ijadwal, 'pengawas'=>$pengawas];
		$this->output_json($data);
	}

	public function saveKop() {
		$header_1 = $this->input->post('header_1', true);
		$header_2 = $this->input->post('header_2', true);
		$header_3 = $this->input->post('header_3', true);
		$header_4 = $this->input->post('header_4', true);
		$proktor = $this->input->post('proktor', true);
		$pengawas_1 = $this->input->post('pengawas_1', true);
		$pengawas_2 = $this->input->post('pengawas_2', true);

		$insert = [
			'id_kop' => 123456,
			'header_1' => $header_1,
			'header_2' => $header_2,
			'header_3' => $header_3,
			'header_4' => $header_4,
			'proktor' => $proktor,
			'pengawas_1' => $pengawas_1,
			'pengawas_2' => $pengawas_2,
		];

		$update = $this->db->replace('cbt_kop_absensi', $insert);
		$this->output_json($update);
	}

	public function absenPeserta() {
		$user = $this->ion_auth->user()->row();
		$data = [
			'user' 			=> $user,
			'judul' => 'Cetak Format Absensi',
			'subjudul' => 'Cetak',
			'profile'		=> $this->dashboard->getProfileAdmin($user->id),
			'setting'		=> $this->dashboard->getSetting()
		];

        $tp = $this->dashboard->getTahunActive();
        $smt = $this->dashboard->getSemesterActive();
        $data['tp'] = $this->dashboard->getTahun();
        $data['tp_active'] = $tp;
        $data['smt'] = $this->dashboard->getSemester();
        $data['smt_active'] = $smt;

        $data['jadwal'] = $this->dropdown->getAllJadwal($tp->id_tp, $smt->id_smt);
		$data['kelas'] = $this->dropdown->getAllKelas($tp->id_tp, $smt->id_smt);
		$data['ruang'] = $this->dropdown->getAllRuang();
		$data['sesi'] = $this->dropdown->getAllSesi();
		$data['kop'] = $this->cbt->getSettingKopAbsensi();

		$this->load->view('_templates/dashboard/_header', $data);
		$this->load->view('cbt/cetak/absen');
		$this->load->view('_templates/dashboard/_footer');
	}

	public function beritaAcara() {
		$user = $this->ion_auth->user()->row();
		$data = [
			'user' 			=> $user,
			'judul' => 'Cetak Berita Acara',
			'subjudul' => 'Cetak',
			'profile'		=> $this->dashboard->getProfileAdmin($user->id),
			'setting'		=> $this->dashboard->getSetting()
		];

        $tp = $this->dashboard->getTahunActive();
        $smt = $this->dashboard->getSemesterActive();
        $data['tp'] = $this->dashboard->getTahun();
        $data['tp_active'] = $tp;
        $data['smt'] = $this->dashboard->getSemester();
        $data['smt_active'] = $smt;

        $data['jadwal'] = $this->dropdown->getAllJadwal($tp->id_tp, $smt->id_smt);
		$data['kelas'] = $this->dropdown->getAllKelas($tp->id_tp, $smt->id_smt);
		$data['ruang'] = $this->dropdown->getAllRuang();
		$data['sesi'] = $this->dropdown->getAllSesi();
		$data['kop'] = $this->cbt->getSettingKopBeritaAcara();

		$this->load->view('_templates/dashboard/_header', $data);
		$this->load->view('cbt/cetak/beritaacara');
		$this->load->view('_templates/dashboard/_footer');
	}

	public function saveKopBerita() {
		$header_1 = $this->input->post('header_1', true);
		$header_2 = $this->input->post('header_2', true);
		$header_3 = $this->input->post('header_3', true);
		$header_4 = $this->input->post('header_4', true);

		$insert = [
			'id_kop' => 123456,
			'header_1' => $header_1,
			'header_2' => $header_2,
			'header_3' => $header_3,
			'header_4' => $header_4,
		];

		$update = $this->db->replace('cbt_kop_berita', $insert);
		$this->output_json($update);
	}

	public function pesertaUjian() {
		$user = $this->ion_auth->user()->row();
		$data = [
			'user' 			=> $user,
			'judul' => 'Cetak Daftar Peserta',
			'subjudul' => 'Cetak',
			'profile'		=> $this->dashboard->getProfileAdmin($user->id),
			'setting'		=> $this->dashboard->getSetting()
		];

        $tp = $this->dashboard->getTahunActive();
        $smt = $this->dashboard->getSemesterActive();
		$data['tp'] = $this->dashboard->getTahun();
		$data['tp_active'] = $tp;
		$data['smt'] = $this->dashboard->getSemester();
		$data['smt_active'] = $smt;
		$data['kelas'] = $this->dropdown->getAllKelas($tp->id_tp, $smt->id_smt);
		$data['ruang'] = $this->dropdown->getAllRuang();
		$data['sesi'] = $this->dropdown->getAllSesi();
		$data['kop'] = $this->cbt->getSettingKopBeritaAcara();
		$data['ujian'] = $this->dropdown->getAllJenisUjian();

		$this->load->view('_templates/dashboard/_header', $data);
		$this->load->view('cbt/cetak/peserta');
		$this->load->view('_templates/dashboard/_footer');
	}
}

Did this file decode correctly?

Original Code

eval(base64_decode('DQovKioNCiAqIENyZWF0ZWQgYnkgSW50ZWxsaUogSURFQS4NCiAqIFVzZXI6IG11bHRhemFtDQogKiBEYXRlOiAwNy8wNy8yMA0KICogVGltZTogMTQ6MjQNCiAqLw0KDQpjbGFzcyBDYnRjZXRhayBleHRlbmRzIENJX0NvbnRyb2xsZXIgew0KDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkgew0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCk7DQoJCWlmICghJHRoaXMtPmlvbl9hdXRoLT5sb2dnZWRfaW4oKSkgew0KCQkJcmVkaXJlY3QoJ2F1dGgnKTsNCgkJfSBlbHNlIGlmICghJHRoaXMtPmlvbl9hdXRoLT5pc19hZG1pbigpKSB7DQoJCQlzaG93X2Vycm9yKCdIYW55YSBBZG1pbmlzdHJhdG9yIHlhbmcgZGliZXJpIGhhayB1bnR1ayBtZW5nYWtzZXMgaGFsYW1hbiBpbmksIDxhIGhyZWY9IicgLiBiYXNlX3VybCgnZGFzaGJvYXJkJykgLiAnIj5LZW1iYWxpIGtlIG1lbnUgYXdhbDwvYT4nLCA0MDMsICdBa3NlcyBUZXJsYXJhbmcnKTsNCgkJfQ0KCQkkdGhpcy0+bG9hZC0+bGlicmFyeShbJ2RhdGF0YWJsZXMnLCAnZm9ybV92YWxpZGF0aW9uJ10pOyAvLyBMb2FkIExpYnJhcnkgSWduaXRlZC1EYXRhdGFibGVzDQoJCSR0aGlzLT5sb2FkLT5saWJyYXJ5KCd1cGxvYWQnKTsNCgkJJHRoaXMtPmxvYWQtPmxpYnJhcnkoJ1BkZicpOw0KCQkkdGhpcy0+bG9hZC0+bW9kZWwoJ01hc3Rlcl9tb2RlbCcsICdtYXN0ZXInKTsNCiAgICAgICAgJHRoaXMtPmxvYWQtPm1vZGVsKCdLZWxhc19tb2RlbCcsICdrZWxhcycpOw0KCQkkdGhpcy0+bG9hZC0+bW9kZWwoJ0Rhc2hib2FyZF9tb2RlbCcsICdkYXNoYm9hcmQnKTsNCgkJJHRoaXMtPmxvYWQtPm1vZGVsKCdDYnRfbW9kZWwnLCAnY2J0Jyk7DQoJCSR0aGlzLT5sb2FkLT5tb2RlbCgnRHJvcGRvd25fbW9kZWwnLCAnZHJvcGRvd24nKTsNCgkJJHRoaXMtPmZvcm1fdmFsaWRhdGlvbi0+c2V0X2Vycm9yX2RlbGltaXRlcnMoJycsICcnKTsNCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gb3V0cHV0X2pzb24oJGRhdGEsICRlbmNvZGUgPSB0cnVlKSB7DQoJCWlmICgkZW5jb2RlKSAkZGF0YSA9IGpzb25fZW5jb2RlKCRkYXRhKTsNCgkJJHRoaXMtPm91dHB1dC0+c2V0X2NvbnRlbnRfdHlwZSgnYXBwbGljYXRpb24vanNvbicpLT5zZXRfb3V0cHV0KCRkYXRhKTsNCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gaW5kZXgoKSB7DQoJCSR1c2VyID0gJHRoaXMtPmlvbl9hdXRoLT51c2VyKCktPnJvdygpOw0KCQkkZGF0YSA9IFsNCgkJCSd1c2VyJyAJCQk9PiAkdXNlciwNCgkJCSdqdWR1bCcgPT4gJ0NldGFrIERhdGEgUGVuaWxhaWFuJywNCgkJCSdzdWJqdWR1bCcgPT4gJ0NldGFrJywNCgkJCSdwcm9maWxlJwkJPT4gJHRoaXMtPmRhc2hib2FyZC0+Z2V0UHJvZmlsZUFkbWluKCR1c2VyLT5pZCksDQoJCQknc2V0dGluZycJCT0+ICR0aGlzLT5kYXNoYm9hcmQtPmdldFNldHRpbmcoKQ0KCQldOw0KDQoJCSRkYXRhWyd0cCddID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0VGFodW4oKTsNCgkJJGRhdGFbJ3RwX2FjdGl2ZSddID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0VGFodW5BY3RpdmUoKTsNCgkJJGRhdGFbJ3NtdCddID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0U2VtZXN0ZXIoKTsNCgkJJGRhdGFbJ3NtdF9hY3RpdmUnXSA9ICR0aGlzLT5kYXNoYm9hcmQtPmdldFNlbWVzdGVyQWN0aXZlKCk7DQogICAgICAgICRkYXRhWydrb3AnXSA9ICR0aGlzLT5jYnQtPmdldFNldHRpbmdLb3BBYnNlbnNpKCk7DQoNCgkJJHRoaXMtPmxvYWQtPnZpZXcoJ190ZW1wbGF0ZXMvZGFzaGJvYXJkL19oZWFkZXInLCAkZGF0YSk7DQoJCSR0aGlzLT5sb2FkLT52aWV3KCdjYnQvY2V0YWsvZGF0YScpOw0KCQkkdGhpcy0+bG9hZC0+dmlldygnX3RlbXBsYXRlcy9kYXNoYm9hcmQvX2Zvb3RlcicpOw0KCX0NCg0KCXB1YmxpYyBmdW5jdGlvbiBkYXRhKCkgew0KCQkkdGhpcy0+b3V0cHV0X2pzb24oJHRoaXMtPmNidC0+Z2V0SmVuaXMoKSwgZmFsc2UpOw0KCX0NCg0KCXB1YmxpYyBmdW5jdGlvbiBrYXJ0dVBlc2VydGEoKSB7DQoJCSR1c2VyID0gJHRoaXMtPmlvbl9hdXRoLT51c2VyKCktPnJvdygpOw0KCQkkZGF0YSA9IFsNCgkJCSd1c2VyJyAJCQk9PiAkdXNlciwNCgkJCSdqdWR1bCcgPT4gJ0NldGFrIEthcnR1IFBlc2VydGEnLA0KCQkJJ3N1Ymp1ZHVsJyA9PiAnQ2V0YWsnLA0KCQkJJ3Byb2ZpbGUnCQk9PiAkdGhpcy0+ZGFzaGJvYXJkLT5nZXRQcm9maWxlQWRtaW4oJHVzZXItPmlkKSwNCgkJCSdzZXR0aW5nJwkJPT4gJHRoaXMtPmRhc2hib2FyZC0+Z2V0U2V0dGluZygpDQoJCV07DQoNCiAgICAgICAgJHRwID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0VGFodW5BY3RpdmUoKTsNCiAgICAgICAgJHNtdCA9ICR0aGlzLT5kYXNoYm9hcmQtPmdldFNlbWVzdGVyQWN0aXZlKCk7DQoJCSRkYXRhWyd0cCddID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0VGFodW4oKTsNCgkJJGRhdGFbJ3RwX2FjdGl2ZSddID0gJHRwOw0KCQkkZGF0YVsnc210J10gPSAkdGhpcy0+ZGFzaGJvYXJkLT5nZXRTZW1lc3RlcigpOw0KCQkkZGF0YVsnc210X2FjdGl2ZSddID0gJHNtdDsNCgkJJGRhdGFbJ2thcnR1J10gPSAkdGhpcy0+Y2J0LT5nZXRTZXR0aW5nS2FydHUoKTsNCgkJJGRhdGFbJ2tlbGFzJ10gPSAkdGhpcy0+ZHJvcGRvd24tPmdldEFsbEtlbGFzKCR0cC0+aWRfdHAsICRzbXQtPmlkX3NtdCk7DQoJCSRkYXRhWydydWFuZyddID0gJHRoaXMtPmRyb3Bkb3duLT5nZXRBbGxSdWFuZygpOw0KDQoJCSR0aGlzLT5sb2FkLT52aWV3KCdfdGVtcGxhdGVzL2Rhc2hib2FyZC9faGVhZGVyJywgJGRhdGEpOw0KCQkkdGhpcy0+bG9hZC0+dmlldygnY2J0L2NldGFrL2thcnR1Jyk7DQoJCSR0aGlzLT5sb2FkLT52aWV3KCdfdGVtcGxhdGVzL2Rhc2hib2FyZC9fZm9vdGVyJyk7DQoJfQ0KDQoJZnVuY3Rpb24gdXBsb2FkRmlsZSgkbG9nbyl7DQoJCWlmKGlzc2V0KCRfRklMRVNbImxvZ28iXVsibmFtZSJdKSl7DQoJCQkvLyRuZXdOYW1lID0gJF9GSUxFU1sibG9nbyJdWyJuYW1lIl0uIi4iLiRfRklMRVNbJ2xvZ28nXVsndHlwZSddOw0KDQoJCQkkY29uZmlnWyd1cGxvYWRfcGF0aCddID0gJy4vdXBsb2Fkcy9zZXR0aW5ncy8nOw0KCQkJJGNvbmZpZ1snYWxsb3dlZF90eXBlcyddID0gJ2dpZnxqcGd8cG5nfGpwZWd8SlBFR3xKUEd8UE5HfEdJRic7DQoJCQkkY29uZmlnWydvdmVyd3JpdGUnXSA9IHRydWU7DQoJCQkkY29uZmlnWydmaWxlX25hbWUnXSA9ICRsb2dvOw0KDQoJCQkkdGhpcy0+dXBsb2FkLT5pbml0aWFsaXplKCRjb25maWcpOw0KCQkJaWYoISR0aGlzLT51cGxvYWQtPmRvX3VwbG9hZCgnbG9nbycpKXsNCgkJCQkkZGF0YVsnc3RhdHVzJ10gPSBmYWxzZTsNCgkJCQkkZGF0YVsnc3JjJ10gPSAkdGhpcy0+dXBsb2FkLT5kaXNwbGF5X2Vycm9ycygpOw0KCQkJfWVsc2V7DQoJCQkJJHJlc3VsdCA9ICR0aGlzLT51cGxvYWQtPmRhdGEoKTsNCgkJCQkkZGF0YVsnc3JjJ10gPSBiYXNlX3VybCgpLid1cGxvYWRzL3NldHRpbmdzLycuJHJlc3VsdFsnZmlsZV9uYW1lJ107DQoJCQkJJGRhdGFbJ2ZpbGVuYW1lJ10gPSBwYXRoaW5mbygkcmVzdWx0WydmaWxlX25hbWUnXSwgUEFUSElORk9fRklMRU5BTUUpOw0KCQkJCSRkYXRhWydzdGF0dXMnXSA9IHRydWU7DQoJCQl9DQoJCQkkZGF0YVsndHlwZSddID0gJF9GSUxFU1snbG9nbyddWyd0eXBlJ107DQoJCQkkZGF0YVsnc2l6ZSddID0gJF9GSUxFU1snbG9nbyddWydzaXplJ107DQoJCX0gZWxzZSB7DQoJCQkkZGF0YVsnc3JjJ10gPSAnJzsNCgkJfQ0KCQkkdGhpcy0+b3V0cHV0X2pzb24oJGRhdGEpOw0KCX0NCg0KCWZ1bmN0aW9uIGRlbGV0ZUZpbGUoKSB7DQoJCSRzcmMgPSAkdGhpcy0+aW5wdXQtPnBvc3QoJ3NyYycpOw0KCQkkZmlsZV9uYW1lID0gc3RyX3JlcGxhY2UoYmFzZV91cmwoKSwgJycsICRzcmMpOw0KCQlpZiAodW5saW5rKCRmaWxlX25hbWUpKSB7DQoJCQllY2hvICdGaWxlIERlbGV0ZSBTdWNjZXNzZnVsbHknOw0KCQl9DQoJfQ0KDQoJcHVibGljIGZ1bmN0aW9uIHNhdmVLYXJ0dSgpIHsNCgkJJGhlYWRlcl8xID0gJHRoaXMtPmlucHV0LT5wb3N0KCdoZWFkZXJfMScsIHRydWUpOw0KCQkkaGVhZGVyXzIgPSAkdGhpcy0+aW5wdXQtPnBvc3QoJ2hlYWRlcl8yJywgdHJ1ZSk7DQoJCSRoZWFkZXJfMyA9ICR0aGlzLT5pbnB1dC0+cG9zdCgnaGVhZGVyXzMnLCB0cnVlKTsNCgkJJGhlYWRlcl80ID0gJHRoaXMtPmlucHV0LT5wb3N0KCdoZWFkZXJfNCcsIHRydWUpOw0KCQkkdGFuZ2dhbCA9ICR0aGlzLT5pbnB1dC0+cG9zdCgndGFuZ2dhbCcsIHRydWUpOw0KDQoJCSRpbnNlcnQgPSBbDQoJCQknaWRfc2V0X2thcnR1JyA9PiAxMjM0NTYsDQoJCQknaGVhZGVyXzEnID0+ICRoZWFkZXJfMSwNCgkJCSdoZWFkZXJfMicgPT4gJGhlYWRlcl8yLA0KCQkJJ2hlYWRlcl8zJyA9PiAkaGVhZGVyXzMsDQoJCQknaGVhZGVyXzQnID0+ICRoZWFkZXJfNCwNCgkJCSd0YW5nZ2FsJyA9PiAkdGFuZ2dhbCwNCgkJXTsNCg0KCQkkdXBkYXRlID0gJHRoaXMtPmRiLT5yZXBsYWNlKCdjYnRfa29wX2thcnR1JywgJGluc2VydCk7DQoJCSR0aGlzLT5vdXRwdXRfanNvbigkdXBkYXRlKTsNCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gZ2V0U2lzd2FLZWxhcygpIHsNCgkJJGtlbGFzID0gJHRoaXMtPmlucHV0LT5nZXQoJ2tlbGFzJyk7DQoJCSRzZXNpID0gJHRoaXMtPmlucHV0LT5nZXQoJ3Nlc2knKTsNCgkJJGphZHdhbCA9ICR0aGlzLT5pbnB1dC0+Z2V0KCdqYWR3YWwnKTsNCgkJJHRwID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0VGFodW5BY3RpdmUoKTsNCgkJJHNtdCA9ICR0aGlzLT5kYXNoYm9hcmQtPmdldFNlbWVzdGVyQWN0aXZlKCk7DQoNCgkJJGlrZWxhcyA9ICR0aGlzLT5tYXN0ZXItPmdldEtlbGFzQnlJZCgka2VsYXMpOw0KDQogICAgICAgICRzID0gISRzZXNpID8gbnVsbCA6ICRzZXNpOw0KICAgICAgICAkaXNlc2kgPSBudWxsOw0KICAgICAgICBpZiAoJHMhPW51bGwpIHsNCiAgICAgICAgICAgICRpc2VzaSA9ICR0aGlzLT5jYnQtPmdldFNlc2lCeUlkKCRzKTsNCiAgICAgICAgfQ0KDQogICAgICAgICRpamFkd2FsID0gbnVsbDsNCiAgICAgICAgJHBlbmdhd2FzID0gW107DQogICAgICAgIGlmICgkamFkd2FsICE9IG51bGwgJiYgJGphZHdhbCAhPSAnbnVsbCcpIHsNCiAgICAgICAgICAgICRpamFkd2FsID0gJHRoaXMtPmNidC0+Z2V0SmFkd2FsQnlJZCgkamFkd2FsLCAkcyk7DQoNCiAgICAgICAgICAgICRwZW5nYXdhc3MgPSBpc3NldCgkaWphZHdhbC0+cGVuZ2F3YXMpID8gdW5zZXJpYWxpemUoJGlqYWR3YWwtPnBlbmdhd2FzKSA6IFtdOw0KICAgICAgICAgICAgJGlkc19wZW5nYXdhcyA9IFtdOw0KICAgICAgICAgICAgZm9yZWFjaCAoJHBlbmdhd2FzcyBhcyAkcCkgew0KICAgICAgICAgICAgICAgIGlmICgkcFsnZ3VydSddICE9IG51bGwpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyYXlfcHVzaCgkaWRzX3Blbmdhd2FzLCAkcFsnZ3VydSddKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkcGVuZ2F3YXMgPSAkdGhpcy0+bWFzdGVyLT5nZXRHdXJ1QnlBcnJJZCgkaWRzX3Blbmdhd2FzKTsNCiAgICAgICAgfQ0KDQogICAgICAgICRkYXRhWydzaXN3YSddID0gW107DQogICAgICAgICRzaXN3YXMgPSAkdGhpcy0+Y2J0LT5nZXRSdWFuZ1Npc3dhQnlLZWxhcygkdHAtPmlkX3RwLCAkc210LT5pZF9zbXQsICRrZWxhcywgJHMpOw0KICAgICAgICBmb3JlYWNoICgkc2lzd2FzIGFzICRzaXN3YSkgew0KICAgICAgICAgICAgYXJyYXlfcHVzaCgkZGF0YVsnc2lzd2EnXSwgJHNpc3dhKTsNCiAgICAgICAgfQ0KDQogICAgICAgICRkYXRhWydpbmZvJ10gPSBbJ2tlbGFzJz0+JGlrZWxhcywgJ3Nlc2knPT4kaXNlc2ksICdqYWR3YWwnPT4kaWphZHdhbCwgJ3Blbmdhd2FzJz0+ICRwZW5nYXdhc107DQoNCgkJJHRoaXMtPm91dHB1dF9qc29uKCRkYXRhKTsNCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gZ2V0U2lzd2FSdWFuZygpIHsNCgkJJHJ1YW5nID0gJHRoaXMtPmlucHV0LT5nZXQoJ3J1YW5nJyk7DQoJCSRzZXNpID0gJHRoaXMtPmlucHV0LT5nZXQoJ3Nlc2knKTsNCgkJJGphZHdhbCA9ICR0aGlzLT5pbnB1dC0+Z2V0KCdqYWR3YWwnKTsNCgkJJHRwID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0VGFodW5BY3RpdmUoKTsNCgkJJHNtdCA9ICR0aGlzLT5kYXNoYm9hcmQtPmdldFNlbWVzdGVyQWN0aXZlKCk7DQoNCiAgICAgICAgJGlydWFuZyA9ICR0aGlzLT5jYnQtPmdldFJ1YW5nQnlJZCgkcnVhbmcpOw0KDQoJCSRzID0gJHNlc2kgPT0gIm51bGwiID8gbnVsbCA6ICRzZXNpOw0KICAgICAgICAkaXNlc2kgPSBudWxsOw0KICAgICAgICBpZiAoJHMhPW51bGwpIHsNCiAgICAgICAgICAgICRpc2VzaSA9ICR0aGlzLT5jYnQtPmdldFNlc2lCeUlkKCRzKTsNCiAgICAgICAgfQ0KDQogICAgICAgICRpamFkd2FsID0gbnVsbDsNCiAgICAgICAgJHBlbmdhd2FzID0gW107DQoJCWlmICgkamFkd2FsICE9IG51bGwgJiYgJGphZHdhbCAhPSAnbnVsbCcpIHsNCiAgICAgICAgICAgICRpamFkd2FsID0gJHRoaXMtPmNidC0+Z2V0SmFkd2FsQnlJZCgkamFkd2FsLCAkcyk7DQoNCiAgICAgICAgICAgICRwZW5nYXdhc3MgPSB1bnNlcmlhbGl6ZSgkaWphZHdhbC0+cGVuZ2F3YXMpOw0KICAgICAgICAgICAgJGlkc19wZW5nYXdhcyA9IFtdOw0KICAgICAgICAgICAgZm9yZWFjaCAoJHBlbmdhd2FzcyBhcyAkcCkgew0KICAgICAgICAgICAgICAgIGlmICgkcFsnZ3VydSddICE9IG51bGwpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyYXlfcHVzaCgkaWRzX3Blbmdhd2FzLCAkcFsnZ3VydSddKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICRwZW5nYXdhcyA9ICR0aGlzLT5tYXN0ZXItPmdldEd1cnVCeUFycklkKCRpZHNfcGVuZ2F3YXMpOw0KCQl9DQoNCiAgICAgICAgJGRhdGFbJ3Npc3dhJ10gPSAkdGhpcy0+Y2J0LT5nZXRTaXN3YUJ5UnVhbmcoJHRwLT5pZF90cCwgJHNtdC0+aWRfc210LCAkcnVhbmcsICRzKTsNCiAgICAgICAgJGRhdGFbJ2luZm8nXSA9IFsncnVhbmcnPT4kaXJ1YW5nLCAnc2VzaSc9PiRpc2VzaSwgJ2phZHdhbCc9PiRpamFkd2FsLCAncGVuZ2F3YXMnPT4kcGVuZ2F3YXNdOw0KCQkkdGhpcy0+b3V0cHV0X2pzb24oJGRhdGEpOw0KCX0NCg0KCXB1YmxpYyBmdW5jdGlvbiBzYXZlS29wKCkgew0KCQkkaGVhZGVyXzEgPSAkdGhpcy0+aW5wdXQtPnBvc3QoJ2hlYWRlcl8xJywgdHJ1ZSk7DQoJCSRoZWFkZXJfMiA9ICR0aGlzLT5pbnB1dC0+cG9zdCgnaGVhZGVyXzInLCB0cnVlKTsNCgkJJGhlYWRlcl8zID0gJHRoaXMtPmlucHV0LT5wb3N0KCdoZWFkZXJfMycsIHRydWUpOw0KCQkkaGVhZGVyXzQgPSAkdGhpcy0+aW5wdXQtPnBvc3QoJ2hlYWRlcl80JywgdHJ1ZSk7DQoJCSRwcm9rdG9yID0gJHRoaXMtPmlucHV0LT5wb3N0KCdwcm9rdG9yJywgdHJ1ZSk7DQoJCSRwZW5nYXdhc18xID0gJHRoaXMtPmlucHV0LT5wb3N0KCdwZW5nYXdhc18xJywgdHJ1ZSk7DQoJCSRwZW5nYXdhc18yID0gJHRoaXMtPmlucHV0LT5wb3N0KCdwZW5nYXdhc18yJywgdHJ1ZSk7DQoNCgkJJGluc2VydCA9IFsNCgkJCSdpZF9rb3AnID0+IDEyMzQ1NiwNCgkJCSdoZWFkZXJfMScgPT4gJGhlYWRlcl8xLA0KCQkJJ2hlYWRlcl8yJyA9PiAkaGVhZGVyXzIsDQoJCQknaGVhZGVyXzMnID0+ICRoZWFkZXJfMywNCgkJCSdoZWFkZXJfNCcgPT4gJGhlYWRlcl80LA0KCQkJJ3Byb2t0b3InID0+ICRwcm9rdG9yLA0KCQkJJ3Blbmdhd2FzXzEnID0+ICRwZW5nYXdhc18xLA0KCQkJJ3Blbmdhd2FzXzInID0+ICRwZW5nYXdhc18yLA0KCQldOw0KDQoJCSR1cGRhdGUgPSAkdGhpcy0+ZGItPnJlcGxhY2UoJ2NidF9rb3BfYWJzZW5zaScsICRpbnNlcnQpOw0KCQkkdGhpcy0+b3V0cHV0X2pzb24oJHVwZGF0ZSk7DQoJfQ0KDQoJcHVibGljIGZ1bmN0aW9uIGFic2VuUGVzZXJ0YSgpIHsNCgkJJHVzZXIgPSAkdGhpcy0+aW9uX2F1dGgtPnVzZXIoKS0+cm93KCk7DQoJCSRkYXRhID0gWw0KCQkJJ3VzZXInIAkJCT0+ICR1c2VyLA0KCQkJJ2p1ZHVsJyA9PiAnQ2V0YWsgRm9ybWF0IEFic2Vuc2knLA0KCQkJJ3N1Ymp1ZHVsJyA9PiAnQ2V0YWsnLA0KCQkJJ3Byb2ZpbGUnCQk9PiAkdGhpcy0+ZGFzaGJvYXJkLT5nZXRQcm9maWxlQWRtaW4oJHVzZXItPmlkKSwNCgkJCSdzZXR0aW5nJwkJPT4gJHRoaXMtPmRhc2hib2FyZC0+Z2V0U2V0dGluZygpDQoJCV07DQoNCiAgICAgICAgJHRwID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0VGFodW5BY3RpdmUoKTsNCiAgICAgICAgJHNtdCA9ICR0aGlzLT5kYXNoYm9hcmQtPmdldFNlbWVzdGVyQWN0aXZlKCk7DQogICAgICAgICRkYXRhWyd0cCddID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0VGFodW4oKTsNCiAgICAgICAgJGRhdGFbJ3RwX2FjdGl2ZSddID0gJHRwOw0KICAgICAgICAkZGF0YVsnc210J10gPSAkdGhpcy0+ZGFzaGJvYXJkLT5nZXRTZW1lc3RlcigpOw0KICAgICAgICAkZGF0YVsnc210X2FjdGl2ZSddID0gJHNtdDsNCg0KICAgICAgICAkZGF0YVsnamFkd2FsJ10gPSAkdGhpcy0+ZHJvcGRvd24tPmdldEFsbEphZHdhbCgkdHAtPmlkX3RwLCAkc210LT5pZF9zbXQpOw0KCQkkZGF0YVsna2VsYXMnXSA9ICR0aGlzLT5kcm9wZG93bi0+Z2V0QWxsS2VsYXMoJHRwLT5pZF90cCwgJHNtdC0+aWRfc210KTsNCgkJJGRhdGFbJ3J1YW5nJ10gPSAkdGhpcy0+ZHJvcGRvd24tPmdldEFsbFJ1YW5nKCk7DQoJCSRkYXRhWydzZXNpJ10gPSAkdGhpcy0+ZHJvcGRvd24tPmdldEFsbFNlc2koKTsNCgkJJGRhdGFbJ2tvcCddID0gJHRoaXMtPmNidC0+Z2V0U2V0dGluZ0tvcEFic2Vuc2koKTsNCg0KCQkkdGhpcy0+bG9hZC0+dmlldygnX3RlbXBsYXRlcy9kYXNoYm9hcmQvX2hlYWRlcicsICRkYXRhKTsNCgkJJHRoaXMtPmxvYWQtPnZpZXcoJ2NidC9jZXRhay9hYnNlbicpOw0KCQkkdGhpcy0+bG9hZC0+dmlldygnX3RlbXBsYXRlcy9kYXNoYm9hcmQvX2Zvb3RlcicpOw0KCX0NCg0KCXB1YmxpYyBmdW5jdGlvbiBiZXJpdGFBY2FyYSgpIHsNCgkJJHVzZXIgPSAkdGhpcy0+aW9uX2F1dGgtPnVzZXIoKS0+cm93KCk7DQoJCSRkYXRhID0gWw0KCQkJJ3VzZXInIAkJCT0+ICR1c2VyLA0KCQkJJ2p1ZHVsJyA9PiAnQ2V0YWsgQmVyaXRhIEFjYXJhJywNCgkJCSdzdWJqdWR1bCcgPT4gJ0NldGFrJywNCgkJCSdwcm9maWxlJwkJPT4gJHRoaXMtPmRhc2hib2FyZC0+Z2V0UHJvZmlsZUFkbWluKCR1c2VyLT5pZCksDQoJCQknc2V0dGluZycJCT0+ICR0aGlzLT5kYXNoYm9hcmQtPmdldFNldHRpbmcoKQ0KCQldOw0KDQogICAgICAgICR0cCA9ICR0aGlzLT5kYXNoYm9hcmQtPmdldFRhaHVuQWN0aXZlKCk7DQogICAgICAgICRzbXQgPSAkdGhpcy0+ZGFzaGJvYXJkLT5nZXRTZW1lc3RlckFjdGl2ZSgpOw0KICAgICAgICAkZGF0YVsndHAnXSA9ICR0aGlzLT5kYXNoYm9hcmQtPmdldFRhaHVuKCk7DQogICAgICAgICRkYXRhWyd0cF9hY3RpdmUnXSA9ICR0cDsNCiAgICAgICAgJGRhdGFbJ3NtdCddID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0U2VtZXN0ZXIoKTsNCiAgICAgICAgJGRhdGFbJ3NtdF9hY3RpdmUnXSA9ICRzbXQ7DQoNCiAgICAgICAgJGRhdGFbJ2phZHdhbCddID0gJHRoaXMtPmRyb3Bkb3duLT5nZXRBbGxKYWR3YWwoJHRwLT5pZF90cCwgJHNtdC0+aWRfc210KTsNCgkJJGRhdGFbJ2tlbGFzJ10gPSAkdGhpcy0+ZHJvcGRvd24tPmdldEFsbEtlbGFzKCR0cC0+aWRfdHAsICRzbXQtPmlkX3NtdCk7DQoJCSRkYXRhWydydWFuZyddID0gJHRoaXMtPmRyb3Bkb3duLT5nZXRBbGxSdWFuZygpOw0KCQkkZGF0YVsnc2VzaSddID0gJHRoaXMtPmRyb3Bkb3duLT5nZXRBbGxTZXNpKCk7DQoJCSRkYXRhWydrb3AnXSA9ICR0aGlzLT5jYnQtPmdldFNldHRpbmdLb3BCZXJpdGFBY2FyYSgpOw0KDQoJCSR0aGlzLT5sb2FkLT52aWV3KCdfdGVtcGxhdGVzL2Rhc2hib2FyZC9faGVhZGVyJywgJGRhdGEpOw0KCQkkdGhpcy0+bG9hZC0+dmlldygnY2J0L2NldGFrL2Jlcml0YWFjYXJhJyk7DQoJCSR0aGlzLT5sb2FkLT52aWV3KCdfdGVtcGxhdGVzL2Rhc2hib2FyZC9fZm9vdGVyJyk7DQoJfQ0KDQoJcHVibGljIGZ1bmN0aW9uIHNhdmVLb3BCZXJpdGEoKSB7DQoJCSRoZWFkZXJfMSA9ICR0aGlzLT5pbnB1dC0+cG9zdCgnaGVhZGVyXzEnLCB0cnVlKTsNCgkJJGhlYWRlcl8yID0gJHRoaXMtPmlucHV0LT5wb3N0KCdoZWFkZXJfMicsIHRydWUpOw0KCQkkaGVhZGVyXzMgPSAkdGhpcy0+aW5wdXQtPnBvc3QoJ2hlYWRlcl8zJywgdHJ1ZSk7DQoJCSRoZWFkZXJfNCA9ICR0aGlzLT5pbnB1dC0+cG9zdCgnaGVhZGVyXzQnLCB0cnVlKTsNCg0KCQkkaW5zZXJ0ID0gWw0KCQkJJ2lkX2tvcCcgPT4gMTIzNDU2LA0KCQkJJ2hlYWRlcl8xJyA9PiAkaGVhZGVyXzEsDQoJCQknaGVhZGVyXzInID0+ICRoZWFkZXJfMiwNCgkJCSdoZWFkZXJfMycgPT4gJGhlYWRlcl8zLA0KCQkJJ2hlYWRlcl80JyA9PiAkaGVhZGVyXzQsDQoJCV07DQoNCgkJJHVwZGF0ZSA9ICR0aGlzLT5kYi0+cmVwbGFjZSgnY2J0X2tvcF9iZXJpdGEnLCAkaW5zZXJ0KTsNCgkJJHRoaXMtPm91dHB1dF9qc29uKCR1cGRhdGUpOw0KCX0NCg0KCXB1YmxpYyBmdW5jdGlvbiBwZXNlcnRhVWppYW4oKSB7DQoJCSR1c2VyID0gJHRoaXMtPmlvbl9hdXRoLT51c2VyKCktPnJvdygpOw0KCQkkZGF0YSA9IFsNCgkJCSd1c2VyJyAJCQk9PiAkdXNlciwNCgkJCSdqdWR1bCcgPT4gJ0NldGFrIERhZnRhciBQZXNlcnRhJywNCgkJCSdzdWJqdWR1bCcgPT4gJ0NldGFrJywNCgkJCSdwcm9maWxlJwkJPT4gJHRoaXMtPmRhc2hib2FyZC0+Z2V0UHJvZmlsZUFkbWluKCR1c2VyLT5pZCksDQoJCQknc2V0dGluZycJCT0+ICR0aGlzLT5kYXNoYm9hcmQtPmdldFNldHRpbmcoKQ0KCQldOw0KDQogICAgICAgICR0cCA9ICR0aGlzLT5kYXNoYm9hcmQtPmdldFRhaHVuQWN0aXZlKCk7DQogICAgICAgICRzbXQgPSAkdGhpcy0+ZGFzaGJvYXJkLT5nZXRTZW1lc3RlckFjdGl2ZSgpOw0KCQkkZGF0YVsndHAnXSA9ICR0aGlzLT5kYXNoYm9hcmQtPmdldFRhaHVuKCk7DQoJCSRkYXRhWyd0cF9hY3RpdmUnXSA9ICR0cDsNCgkJJGRhdGFbJ3NtdCddID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0U2VtZXN0ZXIoKTsNCgkJJGRhdGFbJ3NtdF9hY3RpdmUnXSA9ICRzbXQ7DQoJCSRkYXRhWydrZWxhcyddID0gJHRoaXMtPmRyb3Bkb3duLT5nZXRBbGxLZWxhcygkdHAtPmlkX3RwLCAkc210LT5pZF9zbXQpOw0KCQkkZGF0YVsncnVhbmcnXSA9ICR0aGlzLT5kcm9wZG93bi0+Z2V0QWxsUnVhbmcoKTsNCgkJJGRhdGFbJ3Nlc2knXSA9ICR0aGlzLT5kcm9wZG93bi0+Z2V0QWxsU2VzaSgpOw0KCQkkZGF0YVsna29wJ10gPSAkdGhpcy0+Y2J0LT5nZXRTZXR0aW5nS29wQmVyaXRhQWNhcmEoKTsNCgkJJGRhdGFbJ3VqaWFuJ10gPSAkdGhpcy0+ZHJvcGRvd24tPmdldEFsbEplbmlzVWppYW4oKTsNCg0KCQkkdGhpcy0+bG9hZC0+dmlldygnX3RlbXBsYXRlcy9kYXNoYm9hcmQvX2hlYWRlcicsICRkYXRhKTsNCgkJJHRoaXMtPmxvYWQtPnZpZXcoJ2NidC9jZXRhay9wZXNlcnRhJyk7DQoJCSR0aGlzLT5sb2FkLT52aWV3KCdfdGVtcGxhdGVzL2Rhc2hib2FyZC9fZm9vdGVyJyk7DQoJfQ0KfQ0K'))

Function Calls

base64_decode 1

Variables

None

Stats

MD5 924ff3f5c7a0c0467d09f3d1cbdd5c76
Eval Count 1
Decode Time 80 ms