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('DQpkZWZpbmVkKCdCQVNFUEFUSCcpIE9SIGV4aXQoJ05vIGRpcmVjdCBzY3JpcHQgYWNjZX..
Decoded Output download
defined('BASEPATH') OR exit('No direct script access allowed');
class Dashboard_model extends CI_Model {
public function getSetting() {
return $this->db->get('setting')->row();
}
public function getRunningText() {
return $this->db->get('running_text')->result();
}
public function total($table, $where=null) {
if ($where !=null) $this->db->where($where);
$query = $this->db->get($table)->num_rows();
return $query;
}
public function hapus($table, $data, $pk) {
$this->db->where_in($pk, $data);
return $this->db->delete($table);
}
public function getProfileAdmin($id_user) {
$this->db->select('b.*');
$this->db->from('users a');
$this->db->join('users_profile b', 'a.id=b.id_user', 'left');
$this->db->where('a.id', $id_user);
$query = $this->db->get()->row();
return $query;
}
public function totalWaliKelas() {
$query = $this->get_where('jabatan_guru', 'id_jabatan', '4')->num_rows();
return $query;
}
public function totalSiswaKelas($id_kelas, $id_tp, $id_smt) {
$this->db->select('a.id_siswa');
$this->db->from('kelas_siswa a');
$this->db->where('a.id_tp', $id_tp);
$this->db->where('a.id_smt', $id_smt);
$this->db->where('a.id_kelas', $id_kelas);
$query = $this->db->get()->num_rows();
return $query;
}
public function totalPengawas() {
$this->db->select('*');
$this->db->where('id_jadwal !=', 'a:0:{}');
$query = $this->db->get('cbt_pengawas')->num_rows();
return $query;
}
public function totalJadwal() {
$this->db->select('*');
$query = $this->db->get('cbt_jadwal')->num_rows();
return $query;
}
public function getDataTahun() {
$this->datatables->select('id_tp, tahun, active');
$this->datatables->from('master_tp');
return $this->datatables->generate();
}
public function getTahun() {
$this->db->order_by('tahun', 'ASC');
$result = $this->db->get('master_tp')->result();
return $result;
}
public function getTahunById($id) {
$result = $this->db->get_where('master_tp', 'id_tp='.$id)->row();
return $result;
}
public function getTahunByTahun($tahun) {
$result = $this->db->get_where('master_tp', 'tahun='.'"' . $tahun .'"')->row();
return $result;
}
public function getTahunActive() {
$this->db->select('id_tp, tahun');
$this->db->from('master_tp');
$this->db->where('active', 1);
$result = $this->db->get()->row();
return $result;
}
public function getSemester() {
$this->db->order_by('smt', 'ASC');
$result = $this->db->get('master_smt')->result();
return $result;
}
public function getSemesterById($id) {
$result = $this->db->get_where('master_smt', 'id_smt='.$id)->row();
return $result;
}
public function getSemesterByNama($nama_smt) {
$result = $this->db->get_where('master_smt', 'nama_smt='.'"'.$nama_smt.'"')->row();
return $result;
}
public function getSemesterActive() {
$this->db->select('id_smt, nama_smt, smt');
$this->db->from('master_smt');
$this->db->where('active', 1);
$result = $this->db->get()->row();
return $result;
}
public function getDataGuruByUserId($id_user, $id_tp, $id_smt) {
$this->db->select('a.id_guru, a.nama_guru, a.id_user, a.foto, b.id_jabatan, b.id_kelas as wali_kelas, f.level_id, g.level');
$this->db->from('master_guru a');
$this->db->join('jabatan_guru b', 'a.id_guru=b.id_guru AND b.id_tp='.$id_tp.' AND b.id_smt='.$id_smt, 'left');
//$this->db->join('jabatan_guru b', 'a.id_guru=b.id_guru AND b.id_tp='.$id_tp, 'left');
$this->db->join('level_guru e', 'b.id_jabatan=e.id_level', 'left');
$this->db->join('master_kelas f', 'a.id_guru=f.guru_id AND f.id_tp='.$id_tp.' AND f.id_smt='.$id_smt, 'left');
$this->db->join('level_kelas g', 'f.level_id=g.id_level', 'left');
//$this->db->join('master_kelas f', 'a.id_guru=f.guru_id AND b.id_tp='.$id_tp, 'left');
//$this->db->join('level_kelas c', 'c.id_level=f.level_id', 'left');
$this->db->where('a.id_user', $id_user);
$query = $this->db->get()->row();
return $query;
}
public function getListGuruByUserId($id_tp, $id_smt) {
$this->db->select('a.id_guru, a.nama_guru, a.id_user, a.foto, b.id_jabatan, b.id_kelas as wali_kelas, f.level_id, g.level');
$this->db->from('master_guru a');
$this->db->join('jabatan_guru b', 'a.id_guru=b.id_guru AND b.id_tp='.$id_tp.' AND b.id_smt='.$id_smt, 'left');
$this->db->join('level_guru e', 'b.id_jabatan=e.id_level', 'left');
$this->db->join('master_kelas f', 'a.id_guru=f.guru_id AND f.id_tp='.$id_tp.' AND f.id_smt='.$id_smt, 'left');
$this->db->join('level_kelas g', 'f.level_id=g.id_level', 'left');
$query = $this->db->get()->result();
$rest = [];
foreach ($query as $guru) {
$rest[$guru->id_guru] = $guru;
}
return $rest;
}
public function getDetailGuruByUserId($id_user, $id_tp, $id_smt) {
$this->db->select('*');
$this->db->from('master_guru a');
$this->db->join('jabatan_guru b', 'a.id_guru=b.id_guru AND b.id_tp='.$id_tp.' AND b.id_smt='.$id_smt, 'left');
$this->db->join('level_guru e', 'b.id_jabatan=e.id_level', 'left');
$this->db->join('master_kelas f', 'a.id_guru=f.guru_id AND f.id_tp='.$id_tp.' AND f.id_smt='.$id_smt, 'left');
$this->db->where('a.id_user', $id_user);
$query = $this->db->get()->row();
return $query;
}
public function getKelasByMapel($id_mapel=null) {
$this->db->select('*');
$this->db->from('master_kelas');
$this->db->join('master_mapel b', 'a.mapel_id=b.id_mapel', 'left');
//$this->db->join('master_kelas c', 'a.id_guru=c.guru_id', 'left');
$this->db->join('level_guru d', 'a.level_id=d.id_level', 'left');
//$mapel = ['mapel' => 'guru.mapel_id=mapel.id_mapel'];
//$data['guru'] = $this->dashboard->get_where('guru', 'nip', $user->username, $mapel)->row();
//$kelas = ['kelas' => 'kelas_guru.kelas_id=kelas.id_kelas'];
//$data['kelas'] = $this->dashboard->get_where('kelas_guru', 'guru_id' , $data['guru']->id_guru, $kelas, ['nama_kelas'=>'ASC'])->result();
$query = $this->db->get()->row();
return $query;
}
public function get_where($table, $pk, $id, $join = null, $order = null) {
$this->db->select('*');
$this->db->from($table);
$this->db->where($pk, $id);
if($join !== null){
foreach($join as $table => $field){
$this->db->join($table, $field);
}
}
if($order !== null){
foreach($order as $field => $sort){
$this->db->order_by($field, $sort);
}
}
$query = $this->db->get();
return $query;
}
public function create($table, $data) {
$insert = $this->db->insert($table, $data);
return $insert;
}
public function update($table, $data, $pk, $id = null, $batch = false)
{
if($batch === false){
$insert = $this->db->update($table, $data, array($pk => $id));
}else{
$insert = $this->db->update_batch($table, $data, $pk);
}
return $insert;
}
public function getDataSiswa($username, $id_tp, $id_smt) {
$this->db->select('*');
$this->db->from('master_siswa a');
$this->db->join('kelas_siswa b', 'a.id_siswa=b.id_siswa AND b.id_tp='.$id_tp.' AND b.id_smt='.$id_smt, 'left');
$this->db->join('master_kelas c', 'b.id_kelas=c.id_kelas AND c.id_tp='.$id_tp.' AND c.id_smt='.$id_smt, 'left');
$this->db->join('cbt_sesi_siswa d', 'a.id_siswa=d.siswa_id AND d.tp_id='.$id_tp.' AND d.smt_id='.$id_smt, 'left');
$this->db->where('username', $username);
$query = $this->db->get()->row();
return $query;
}
public function loadPengumuman($id_for) {
$this->db->select('a.*, b.nama_guru, b.foto');
$this->db->from('pengumuman a');
$this->db->join('master_guru b', 'a.dari=b.id_guru', 'left');
$this->db->where('kepada', $id_for);
$query = $this->db->get()->result();
return $query;
}
public function loadJadwalHariIni($id_tp, $id_smt, $id_kelas = null, $id_hari=null) {
$this->db->select('*');
$this->db->from('kelas_jadwal_mapel a');
$this->db->join('master_mapel b', 'b.id_mapel=a.id_mapel', 'left');
$this->db->where('a.id_tp', $id_tp);
$this->db->where('a.id_smt', $id_smt);
if ($id_kelas != null) {
$this->db->where('a.id_kelas', $id_kelas);
}
if ($id_hari!=null) {
$this->db->where('a.id_hari', $id_hari);
}
$query = $this->db->get()->result();
return $query;
}
public function getJadwalKbm($id_tp, $id_smt, $id_kelas=null) {
$this->db->select('*');
$this->db->from('kelas_jadwal_kbm');
$this->db->where('id_tp', $id_tp);
$this->db->where('id_smt', $id_smt);
if ($id_kelas != null) {
$this->db->where('id_kelas', $id_kelas);
$query = $this->db->get()->row();
} else {
$query = $this->db->get()->result();
}
return $query;
}
}
Did this file decode correctly?
Original Code
eval(base64_decode('DQpkZWZpbmVkKCdCQVNFUEFUSCcpIE9SIGV4aXQoJ05vIGRpcmVjdCBzY3JpcHQgYWNjZXNzIGFsbG93ZWQnKTsNCg0KY2xhc3MgRGFzaGJvYXJkX21vZGVsIGV4dGVuZHMgQ0lfTW9kZWwgew0KDQoJcHVibGljIGZ1bmN0aW9uIGdldFNldHRpbmcoKSB7DQoJCXJldHVybiAkdGhpcy0+ZGItPmdldCgnc2V0dGluZycpLT5yb3coKTsNCgl9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UnVubmluZ1RleHQoKSB7DQogICAgICAgIHJldHVybiAkdGhpcy0+ZGItPmdldCgncnVubmluZ190ZXh0JyktPnJlc3VsdCgpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiB0b3RhbCgkdGFibGUsICR3aGVyZT1udWxsKSB7DQogICAgICAgIGlmICgkd2hlcmUgIT1udWxsKSAkdGhpcy0+ZGItPndoZXJlKCR3aGVyZSk7DQogICAgICAgICRxdWVyeSA9ICR0aGlzLT5kYi0+Z2V0KCR0YWJsZSktPm51bV9yb3dzKCk7DQogICAgICAgIHJldHVybiAkcXVlcnk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGhhcHVzKCR0YWJsZSwgJGRhdGEsICRwaykgew0KICAgICAgICAkdGhpcy0+ZGItPndoZXJlX2luKCRwaywgJGRhdGEpOw0KICAgICAgICByZXR1cm4gJHRoaXMtPmRiLT5kZWxldGUoJHRhYmxlKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UHJvZmlsZUFkbWluKCRpZF91c2VyKSB7DQoJCSR0aGlzLT5kYi0+c2VsZWN0KCdiLionKTsNCgkJJHRoaXMtPmRiLT5mcm9tKCd1c2VycyBhJyk7DQoJCSR0aGlzLT5kYi0+am9pbigndXNlcnNfcHJvZmlsZSBiJywgJ2EuaWQ9Yi5pZF91c2VyJywgJ2xlZnQnKTsNCgkJJHRoaXMtPmRiLT53aGVyZSgnYS5pZCcsICRpZF91c2VyKTsNCgkJJHF1ZXJ5ID0gJHRoaXMtPmRiLT5nZXQoKS0+cm93KCk7DQoJCXJldHVybiAkcXVlcnk7DQoJfQ0KDQoJcHVibGljIGZ1bmN0aW9uIHRvdGFsV2FsaUtlbGFzKCkgew0KCQkkcXVlcnkgPSAkdGhpcy0+Z2V0X3doZXJlKCdqYWJhdGFuX2d1cnUnLCAnaWRfamFiYXRhbicsICc0JyktPm51bV9yb3dzKCk7DQoJCXJldHVybiAkcXVlcnk7DQoJfQ0KDQoJcHVibGljIGZ1bmN0aW9uIHRvdGFsU2lzd2FLZWxhcygkaWRfa2VsYXMsICRpZF90cCwgJGlkX3NtdCkgew0KCQkkdGhpcy0+ZGItPnNlbGVjdCgnYS5pZF9zaXN3YScpOw0KCQkkdGhpcy0+ZGItPmZyb20oJ2tlbGFzX3Npc3dhIGEnKTsNCgkJJHRoaXMtPmRiLT53aGVyZSgnYS5pZF90cCcsICRpZF90cCk7DQoJCSR0aGlzLT5kYi0+d2hlcmUoJ2EuaWRfc210JywgJGlkX3NtdCk7DQoJCSR0aGlzLT5kYi0+d2hlcmUoJ2EuaWRfa2VsYXMnLCAkaWRfa2VsYXMpOw0KCQkkcXVlcnkgPSAkdGhpcy0+ZGItPmdldCgpLT5udW1fcm93cygpOw0KCQlyZXR1cm4gJHF1ZXJ5Ow0KCX0NCg0KCXB1YmxpYyBmdW5jdGlvbiB0b3RhbFBlbmdhd2FzKCkgew0KCQkkdGhpcy0+ZGItPnNlbGVjdCgnKicpOw0KCQkkdGhpcy0+ZGItPndoZXJlKCdpZF9qYWR3YWwgIT0nLCAnYTowOnt9Jyk7DQoJCSRxdWVyeSA9ICR0aGlzLT5kYi0+Z2V0KCdjYnRfcGVuZ2F3YXMnKS0+bnVtX3Jvd3MoKTsNCgkJcmV0dXJuICRxdWVyeTsNCgl9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gdG90YWxKYWR3YWwoKSB7DQogICAgICAgICR0aGlzLT5kYi0+c2VsZWN0KCcqJyk7DQogICAgICAgICRxdWVyeSA9ICR0aGlzLT5kYi0+Z2V0KCdjYnRfamFkd2FsJyktPm51bV9yb3dzKCk7DQogICAgICAgIHJldHVybiAkcXVlcnk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldERhdGFUYWh1bigpIHsNCiAgICAgICAgJHRoaXMtPmRhdGF0YWJsZXMtPnNlbGVjdCgnaWRfdHAsIHRhaHVuLCBhY3RpdmUnKTsNCiAgICAgICAgJHRoaXMtPmRhdGF0YWJsZXMtPmZyb20oJ21hc3Rlcl90cCcpOw0KICAgICAgICByZXR1cm4gJHRoaXMtPmRhdGF0YWJsZXMtPmdlbmVyYXRlKCk7DQogICAgfQ0KDQoJcHVibGljIGZ1bmN0aW9uIGdldFRhaHVuKCkgew0KICAgICAgICAkdGhpcy0+ZGItPm9yZGVyX2J5KCd0YWh1bicsICdBU0MnKTsNCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5kYi0+Z2V0KCdtYXN0ZXJfdHAnKS0+cmVzdWx0KCk7DQogICAgICAgIHJldHVybiAkcmVzdWx0Ow0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUYWh1bkJ5SWQoJGlkKSB7DQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+ZGItPmdldF93aGVyZSgnbWFzdGVyX3RwJywgJ2lkX3RwPScuJGlkKS0+cm93KCk7DQogICAgICAgIHJldHVybiAkcmVzdWx0Ow0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRUYWh1bkJ5VGFodW4oJHRhaHVuKSB7DQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+ZGItPmdldF93aGVyZSgnbWFzdGVyX3RwJywgJ3RhaHVuPScuJyInIC4gJHRhaHVuIC4nIicpLT5yb3coKTsNCiAgICAgICAgcmV0dXJuICRyZXN1bHQ7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldFRhaHVuQWN0aXZlKCkgew0KICAgICAgICAkdGhpcy0+ZGItPnNlbGVjdCgnaWRfdHAsIHRhaHVuJyk7DQogICAgICAgICR0aGlzLT5kYi0+ZnJvbSgnbWFzdGVyX3RwJyk7DQogICAgICAgICR0aGlzLT5kYi0+d2hlcmUoJ2FjdGl2ZScsIDEpOw0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmRiLT5nZXQoKS0+cm93KCk7DQogICAgICAgIHJldHVybiAkcmVzdWx0Ow0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTZW1lc3RlcigpIHsNCiAgICAgICAgJHRoaXMtPmRiLT5vcmRlcl9ieSgnc210JywgJ0FTQycpOw0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmRiLT5nZXQoJ21hc3Rlcl9zbXQnKS0+cmVzdWx0KCk7DQogICAgICAgIHJldHVybiAkcmVzdWx0Ow0KICAgIH0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTZW1lc3RlckJ5SWQoJGlkKSB7DQogICAgICAgICRyZXN1bHQgPSAkdGhpcy0+ZGItPmdldF93aGVyZSgnbWFzdGVyX3NtdCcsICdpZF9zbXQ9Jy4kaWQpLT5yb3coKTsNCiAgICAgICAgcmV0dXJuICRyZXN1bHQ7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGdldFNlbWVzdGVyQnlOYW1hKCRuYW1hX3NtdCkgew0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmRiLT5nZXRfd2hlcmUoJ21hc3Rlcl9zbXQnLCAnbmFtYV9zbXQ9Jy4nIicuJG5hbWFfc210LiciJyktPnJvdygpOw0KICAgICAgICByZXR1cm4gJHJlc3VsdDsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0U2VtZXN0ZXJBY3RpdmUoKSB7DQogICAgICAgICR0aGlzLT5kYi0+c2VsZWN0KCdpZF9zbXQsIG5hbWFfc210LCBzbXQnKTsNCiAgICAgICAgJHRoaXMtPmRiLT5mcm9tKCdtYXN0ZXJfc210Jyk7DQogICAgICAgICR0aGlzLT5kYi0+d2hlcmUoJ2FjdGl2ZScsIDEpOw0KICAgICAgICAkcmVzdWx0ID0gJHRoaXMtPmRiLT5nZXQoKS0+cm93KCk7DQogICAgICAgIHJldHVybiAkcmVzdWx0Ow0KICAgIH0NCg0KCXB1YmxpYyBmdW5jdGlvbiBnZXREYXRhR3VydUJ5VXNlcklkKCRpZF91c2VyLCAkaWRfdHAsICRpZF9zbXQpIHsNCgkJJHRoaXMtPmRiLT5zZWxlY3QoJ2EuaWRfZ3VydSwgYS5uYW1hX2d1cnUsIGEuaWRfdXNlciwgYS5mb3RvLCBiLmlkX2phYmF0YW4sIGIuaWRfa2VsYXMgYXMgd2FsaV9rZWxhcywgZi5sZXZlbF9pZCwgZy5sZXZlbCcpOw0KCQkkdGhpcy0+ZGItPmZyb20oJ21hc3Rlcl9ndXJ1IGEnKTsNCgkJJHRoaXMtPmRiLT5qb2luKCdqYWJhdGFuX2d1cnUgYicsICdhLmlkX2d1cnU9Yi5pZF9ndXJ1IEFORCBiLmlkX3RwPScuJGlkX3RwLicgQU5EIGIuaWRfc210PScuJGlkX3NtdCwgJ2xlZnQnKTsNCiAgICAgICAgLy8kdGhpcy0+ZGItPmpvaW4oJ2phYmF0YW5fZ3VydSBiJywgJ2EuaWRfZ3VydT1iLmlkX2d1cnUgQU5EIGIuaWRfdHA9Jy4kaWRfdHAsICdsZWZ0Jyk7DQogICAgICAgICR0aGlzLT5kYi0+am9pbignbGV2ZWxfZ3VydSBlJywgJ2IuaWRfamFiYXRhbj1lLmlkX2xldmVsJywgJ2xlZnQnKTsNCgkJJHRoaXMtPmRiLT5qb2luKCdtYXN0ZXJfa2VsYXMgZicsICdhLmlkX2d1cnU9Zi5ndXJ1X2lkIEFORCBmLmlkX3RwPScuJGlkX3RwLicgQU5EIGYuaWRfc210PScuJGlkX3NtdCwgJ2xlZnQnKTsNCiAgICAgICAgJHRoaXMtPmRiLT5qb2luKCdsZXZlbF9rZWxhcyBnJywgJ2YubGV2ZWxfaWQ9Zy5pZF9sZXZlbCcsICdsZWZ0Jyk7DQogICAgICAgIC8vJHRoaXMtPmRiLT5qb2luKCdtYXN0ZXJfa2VsYXMgZicsICdhLmlkX2d1cnU9Zi5ndXJ1X2lkIEFORCBiLmlkX3RwPScuJGlkX3RwLCAnbGVmdCcpOw0KICAgICAgICAvLyR0aGlzLT5kYi0+am9pbignbGV2ZWxfa2VsYXMgYycsICdjLmlkX2xldmVsPWYubGV2ZWxfaWQnLCAnbGVmdCcpOw0KCQkkdGhpcy0+ZGItPndoZXJlKCdhLmlkX3VzZXInLCAkaWRfdXNlcik7DQoJCSRxdWVyeSA9ICR0aGlzLT5kYi0+Z2V0KCktPnJvdygpOw0KCQlyZXR1cm4gJHF1ZXJ5Ow0KCX0NCg0KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRMaXN0R3VydUJ5VXNlcklkKCRpZF90cCwgJGlkX3NtdCkgew0KICAgICAgICAkdGhpcy0+ZGItPnNlbGVjdCgnYS5pZF9ndXJ1LCBhLm5hbWFfZ3VydSwgYS5pZF91c2VyLCBhLmZvdG8sIGIuaWRfamFiYXRhbiwgYi5pZF9rZWxhcyBhcyB3YWxpX2tlbGFzLCBmLmxldmVsX2lkLCBnLmxldmVsJyk7DQogICAgICAgICR0aGlzLT5kYi0+ZnJvbSgnbWFzdGVyX2d1cnUgYScpOw0KICAgICAgICAkdGhpcy0+ZGItPmpvaW4oJ2phYmF0YW5fZ3VydSBiJywgJ2EuaWRfZ3VydT1iLmlkX2d1cnUgQU5EIGIuaWRfdHA9Jy4kaWRfdHAuJyBBTkQgYi5pZF9zbXQ9Jy4kaWRfc210LCAnbGVmdCcpOw0KICAgICAgICAkdGhpcy0+ZGItPmpvaW4oJ2xldmVsX2d1cnUgZScsICdiLmlkX2phYmF0YW49ZS5pZF9sZXZlbCcsICdsZWZ0Jyk7DQogICAgICAgICR0aGlzLT5kYi0+am9pbignbWFzdGVyX2tlbGFzIGYnLCAnYS5pZF9ndXJ1PWYuZ3VydV9pZCBBTkQgZi5pZF90cD0nLiRpZF90cC4nIEFORCBmLmlkX3NtdD0nLiRpZF9zbXQsICdsZWZ0Jyk7DQogICAgICAgICR0aGlzLT5kYi0+am9pbignbGV2ZWxfa2VsYXMgZycsICdmLmxldmVsX2lkPWcuaWRfbGV2ZWwnLCAnbGVmdCcpOw0KICAgICAgICAkcXVlcnkgPSAkdGhpcy0+ZGItPmdldCgpLT5yZXN1bHQoKTsNCiAgICAgICAgJHJlc3QgPSBbXTsNCiAgICAgICAgZm9yZWFjaCAoJHF1ZXJ5IGFzICRndXJ1KSB7DQogICAgICAgICAgICAkcmVzdFskZ3VydS0+aWRfZ3VydV0gPSAkZ3VydTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gJHJlc3Q7DQogICAgfQ0KDQoJcHVibGljIGZ1bmN0aW9uIGdldERldGFpbEd1cnVCeVVzZXJJZCgkaWRfdXNlciwgJGlkX3RwLCAkaWRfc210KSB7DQoJCSR0aGlzLT5kYi0+c2VsZWN0KCcqJyk7DQoJCSR0aGlzLT5kYi0+ZnJvbSgnbWFzdGVyX2d1cnUgYScpOw0KCQkkdGhpcy0+ZGItPmpvaW4oJ2phYmF0YW5fZ3VydSBiJywgJ2EuaWRfZ3VydT1iLmlkX2d1cnUgQU5EIGIuaWRfdHA9Jy4kaWRfdHAuJyBBTkQgYi5pZF9zbXQ9Jy4kaWRfc210LCAnbGVmdCcpOw0KCQkkdGhpcy0+ZGItPmpvaW4oJ2xldmVsX2d1cnUgZScsICdiLmlkX2phYmF0YW49ZS5pZF9sZXZlbCcsICdsZWZ0Jyk7DQoJCSR0aGlzLT5kYi0+am9pbignbWFzdGVyX2tlbGFzIGYnLCAnYS5pZF9ndXJ1PWYuZ3VydV9pZCBBTkQgZi5pZF90cD0nLiRpZF90cC4nIEFORCBmLmlkX3NtdD0nLiRpZF9zbXQsICdsZWZ0Jyk7DQoJCSR0aGlzLT5kYi0+d2hlcmUoJ2EuaWRfdXNlcicsICRpZF91c2VyKTsNCgkJJHF1ZXJ5ID0gJHRoaXMtPmRiLT5nZXQoKS0+cm93KCk7DQoJCXJldHVybiAkcXVlcnk7DQoJfQ0KDQoJcHVibGljIGZ1bmN0aW9uIGdldEtlbGFzQnlNYXBlbCgkaWRfbWFwZWw9bnVsbCkgew0KCQkkdGhpcy0+ZGItPnNlbGVjdCgnKicpOw0KCQkkdGhpcy0+ZGItPmZyb20oJ21hc3Rlcl9rZWxhcycpOw0KCQkkdGhpcy0+ZGItPmpvaW4oJ21hc3Rlcl9tYXBlbCBiJywgJ2EubWFwZWxfaWQ9Yi5pZF9tYXBlbCcsICdsZWZ0Jyk7DQoJCS8vJHRoaXMtPmRiLT5qb2luKCdtYXN0ZXJfa2VsYXMgYycsICdhLmlkX2d1cnU9Yy5ndXJ1X2lkJywgJ2xlZnQnKTsNCgkJJHRoaXMtPmRiLT5qb2luKCdsZXZlbF9ndXJ1IGQnLCAnYS5sZXZlbF9pZD1kLmlkX2xldmVsJywgJ2xlZnQnKTsNCgkJLy8kbWFwZWwgPSBbJ21hcGVsJyA9PiAnZ3VydS5tYXBlbF9pZD1tYXBlbC5pZF9tYXBlbCddOw0KCQkvLyRkYXRhWydndXJ1J10gPSAkdGhpcy0+ZGFzaGJvYXJkLT5nZXRfd2hlcmUoJ2d1cnUnLCAnbmlwJywgJHVzZXItPnVzZXJuYW1lLCAkbWFwZWwpLT5yb3coKTsNCgkJLy8ka2VsYXMgPSBbJ2tlbGFzJyA9PiAna2VsYXNfZ3VydS5rZWxhc19pZD1rZWxhcy5pZF9rZWxhcyddOw0KCQkvLyRkYXRhWydrZWxhcyddID0gJHRoaXMtPmRhc2hib2FyZC0+Z2V0X3doZXJlKCdrZWxhc19ndXJ1JywgJ2d1cnVfaWQnICwgJGRhdGFbJ2d1cnUnXS0+aWRfZ3VydSwgJGtlbGFzLCBbJ25hbWFfa2VsYXMnPT4nQVNDJ10pLT5yZXN1bHQoKTsNCg0KCQkkcXVlcnkgPSAkdGhpcy0+ZGItPmdldCgpLT5yb3coKTsNCgkJcmV0dXJuICRxdWVyeTsNCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gZ2V0X3doZXJlKCR0YWJsZSwgJHBrLCAkaWQsICRqb2luID0gbnVsbCwgJG9yZGVyID0gbnVsbCkgew0KICAgICAgICAkdGhpcy0+ZGItPnNlbGVjdCgnKicpOw0KICAgICAgICAkdGhpcy0+ZGItPmZyb20oJHRhYmxlKTsNCiAgICAgICAgJHRoaXMtPmRiLT53aGVyZSgkcGssICRpZCk7DQoNCiAgICAgICAgaWYoJGpvaW4gIT09IG51bGwpew0KICAgICAgICAgICAgZm9yZWFjaCgkam9pbiBhcyAkdGFibGUgPT4gJGZpZWxkKXsNCiAgICAgICAgICAgICAgICAkdGhpcy0+ZGItPmpvaW4oJHRhYmxlLCAkZmllbGQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgaWYoJG9yZGVyICE9PSBudWxsKXsNCiAgICAgICAgICAgIGZvcmVhY2goJG9yZGVyIGFzICRmaWVsZCA9PiAkc29ydCl7DQogICAgICAgICAgICAgICAgJHRoaXMtPmRiLT5vcmRlcl9ieSgkZmllbGQsICRzb3J0KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgICRxdWVyeSA9ICR0aGlzLT5kYi0+Z2V0KCk7DQogICAgICAgIHJldHVybiAkcXVlcnk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGNyZWF0ZSgkdGFibGUsICRkYXRhKSB7DQogICAgICAgICRpbnNlcnQgPSAkdGhpcy0+ZGItPmluc2VydCgkdGFibGUsICRkYXRhKTsNCiAgICAgICAgcmV0dXJuICRpbnNlcnQ7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIHVwZGF0ZSgkdGFibGUsICRkYXRhLCAkcGssICRpZCA9IG51bGwsICRiYXRjaCA9IGZhbHNlKQ0KICAgIHsNCiAgICAgICAgaWYoJGJhdGNoID09PSBmYWxzZSl7DQogICAgICAgICAgICAkaW5zZXJ0ID0gJHRoaXMtPmRiLT51cGRhdGUoJHRhYmxlLCAkZGF0YSwgYXJyYXkoJHBrID0+ICRpZCkpOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICRpbnNlcnQgPSAkdGhpcy0+ZGItPnVwZGF0ZV9iYXRjaCgkdGFibGUsICRkYXRhLCAkcGspOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAkaW5zZXJ0Ow0KICAgIH0NCg0KCXB1YmxpYyBmdW5jdGlvbiBnZXREYXRhU2lzd2EoJHVzZXJuYW1lLCAkaWRfdHAsICRpZF9zbXQpIHsNCgkJJHRoaXMtPmRiLT5zZWxlY3QoJyonKTsNCgkJJHRoaXMtPmRiLT5mcm9tKCdtYXN0ZXJfc2lzd2EgYScpOw0KCQkkdGhpcy0+ZGItPmpvaW4oJ2tlbGFzX3Npc3dhIGInLCAnYS5pZF9zaXN3YT1iLmlkX3Npc3dhIEFORCBiLmlkX3RwPScuJGlkX3RwLicgQU5EIGIuaWRfc210PScuJGlkX3NtdCwgJ2xlZnQnKTsNCiAgICAgICAgJHRoaXMtPmRiLT5qb2luKCdtYXN0ZXJfa2VsYXMgYycsICdiLmlkX2tlbGFzPWMuaWRfa2VsYXMgQU5EIGMuaWRfdHA9Jy4kaWRfdHAuJyBBTkQgYy5pZF9zbXQ9Jy4kaWRfc210LCAnbGVmdCcpOw0KCQkkdGhpcy0+ZGItPmpvaW4oJ2NidF9zZXNpX3Npc3dhIGQnLCAnYS5pZF9zaXN3YT1kLnNpc3dhX2lkIEFORCBkLnRwX2lkPScuJGlkX3RwLicgQU5EIGQuc210X2lkPScuJGlkX3NtdCwgJ2xlZnQnKTsNCgkJJHRoaXMtPmRiLT53aGVyZSgndXNlcm5hbWUnLCAkdXNlcm5hbWUpOw0KCQkkcXVlcnkgPSAkdGhpcy0+ZGItPmdldCgpLT5yb3coKTsNCgkJcmV0dXJuICRxdWVyeTsNCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gbG9hZFBlbmd1bXVtYW4oJGlkX2Zvcikgew0KCQkkdGhpcy0+ZGItPnNlbGVjdCgnYS4qLCBiLm5hbWFfZ3VydSwgYi5mb3RvJyk7DQoJCSR0aGlzLT5kYi0+ZnJvbSgncGVuZ3VtdW1hbiBhJyk7DQoJCSR0aGlzLT5kYi0+am9pbignbWFzdGVyX2d1cnUgYicsICdhLmRhcmk9Yi5pZF9ndXJ1JywgJ2xlZnQnKTsNCgkJJHRoaXMtPmRiLT53aGVyZSgna2VwYWRhJywgJGlkX2Zvcik7DQoJCSRxdWVyeSA9ICR0aGlzLT5kYi0+Z2V0KCktPnJlc3VsdCgpOw0KCQlyZXR1cm4gJHF1ZXJ5Ow0KCX0NCg0KCXB1YmxpYyBmdW5jdGlvbiBsb2FkSmFkd2FsSGFyaUluaSgkaWRfdHAsICRpZF9zbXQsICRpZF9rZWxhcyA9IG51bGwsICRpZF9oYXJpPW51bGwpIHsNCgkJJHRoaXMtPmRiLT5zZWxlY3QoJyonKTsNCgkJJHRoaXMtPmRiLT5mcm9tKCdrZWxhc19qYWR3YWxfbWFwZWwgYScpOw0KCQkkdGhpcy0+ZGItPmpvaW4oJ21hc3Rlcl9tYXBlbCBiJywgJ2IuaWRfbWFwZWw9YS5pZF9tYXBlbCcsICdsZWZ0Jyk7DQoNCgkJJHRoaXMtPmRiLT53aGVyZSgnYS5pZF90cCcsICRpZF90cCk7DQoJCSR0aGlzLT5kYi0+d2hlcmUoJ2EuaWRfc210JywgJGlkX3NtdCk7DQoJCWlmICgkaWRfa2VsYXMgIT0gbnVsbCkgew0KICAgICAgICAgICAgJHRoaXMtPmRiLT53aGVyZSgnYS5pZF9rZWxhcycsICRpZF9rZWxhcyk7DQogICAgICAgIH0NCgkJaWYgKCRpZF9oYXJpIT1udWxsKSB7DQoJCQkkdGhpcy0+ZGItPndoZXJlKCdhLmlkX2hhcmknLCAkaWRfaGFyaSk7DQoJCX0NCg0KCQkkcXVlcnkgPSAkdGhpcy0+ZGItPmdldCgpLT5yZXN1bHQoKTsNCgkJcmV0dXJuICRxdWVyeTsNCgl9DQoNCglwdWJsaWMgZnVuY3Rpb24gZ2V0SmFkd2FsS2JtKCRpZF90cCwgJGlkX3NtdCwgJGlkX2tlbGFzPW51bGwpIHsNCgkJJHRoaXMtPmRiLT5zZWxlY3QoJyonKTsNCgkJJHRoaXMtPmRiLT5mcm9tKCdrZWxhc19qYWR3YWxfa2JtJyk7DQoNCgkJJHRoaXMtPmRiLT53aGVyZSgnaWRfdHAnLCAkaWRfdHApOw0KCQkkdGhpcy0+ZGItPndoZXJlKCdpZF9zbXQnLCAkaWRfc210KTsNCiAgICAgICAgaWYgKCRpZF9rZWxhcyAhPSBudWxsKSB7DQogICAgICAgICAgICAkdGhpcy0+ZGItPndoZXJlKCdpZF9rZWxhcycsICRpZF9rZWxhcyk7DQogICAgICAgICAgICAkcXVlcnkgPSAkdGhpcy0+ZGItPmdldCgpLT5yb3coKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICRxdWVyeSA9ICR0aGlzLT5kYi0+Z2V0KCktPnJlc3VsdCgpOw0KICAgICAgICB9DQoJCXJldHVybiAkcXVlcnk7DQoJfQ0KDQp9DQo='))
Function Calls
base64_decode | 1 |
Stats
MD5 | 2664832b9331dc41243a3b7c039c11ab |
Eval Count | 1 |
Decode Time | 111 ms |