<?php
require_once GTFWConfiguration::GetValue( 'application', 'docroot') . 'module/agama/business/AppAgama.class.php';

class ViewAgama extends HtmlResponse {
	function TemplateModule() {
		$this->SetTemplateBasedir(GTFWConfiguration::GetValue( 'application', 'docroot').'module/agama/template');
		$this->SetTemplateFile('view_agama.html');
	}
	
	function ProcessRequest() {
      $msg = Messenger::Instance()->Receive(__FILE__);
      $agamaObj = new AppAgama();
		      
      if($_POST || isset($_GET['cari'])) {
      	if(isset($_POST['agama'])) {
      		$agama = $_POST['agama'];
      	} elseif(isset($_GET['agama'])) {
      		$agama = Dispatcher::Instance()->Decrypt($_GET['agama']);
      	} else {
      		$agama = '';
      	}
      }
		#print_r($msg[1][1]);
	//view
		$totalData = $agamaObj->GetCountDataAgama($agama);
		$itemViewed = 20;
		$currPage = 1;
		$startRec = 0 ;
		if(isset($_GET['page'])) {
			$currPage = (string)$_GET['page']->StripHtmlTags()->SqlString()->Raw();
			$startRec =($currPage-1) * $itemViewed;
		}
		$dataAgama = $agamaObj->getDataAgama($startRec, $itemViewed, $agama);
		
		$url = Dispatcher::Instance()->GetUrl(Dispatcher::Instance()->mModule, Dispatcher::Instance()->mSubModule, Dispatcher::Instance()->mAction, Dispatcher::Instance()->mType . '&agama=' . Dispatcher::Instance()->Encrypt($agama) . '&cari=' . Dispatcher::Instance()->Encrypt(1));
		Messenger::Instance()->SendToComponent('paging', 'Paging', 'view', 'html', 'paging_top', array($itemViewed,$totalData, $url, $currPage), Messenger::CurrentRequest);

		$return['Pesan'] = $msg[0][1];
		$return['css'] = $msg[0][2];
		
		$return['siaPesan'] = $msg[1][1];
		$return['siaCss'] = $msg[1][2];
		
		$return['dataAgama'] = $dataAgama;
		$return['start'] = $startRec+1;
		$return['search']['agama'] = $agama;

		return $return;
	}
	
	function ParseTemplate($data = NULL) {
		$search = $data['search'];
		$this->mrTemplate->AddVar('content', 'AGAMA', $search['agama']);
		$this->mrTemplate->AddVar('content', 'URL_SEARCH', Dispatcher::Instance()->GetUrl('agama', 'agama', 'view', 'html'));
		$this->mrTemplate->AddVar('content', 'URL_ADD', Dispatcher::Instance()->GetUrl('agama', 'inputAgama', 'view', 'html'));
      
      if($data['Pesan']) {
			$this->mrTemplate->SetAttribute('warning_box', 'visibility', 'visible');
			$this->mrTemplate->AddVar('warning_box', 'ISI_PESAN', $data['Pesan']);
			$this->mrTemplate->AddVar('warning_box', 'CLASS_PESAN', $data['css']);
		}
		
		if($data['siaPesan']) {
			$this->mrTemplate->SetAttribute('warning_connection', 'visibility', 'visible');
			$this->mrTemplate->AddVar('warning_connection', 'ISI_PESAN', $data['siaPesan']);
			$this->mrTemplate->AddVar('warning_connection', 'CLASS_PESAN', $data['siaCss']);
		}
		
		if (empty($data['dataAgama'])) {
			$this->mrTemplate->AddVar('data_agama', 'AGAMA_EMPTY', 'YES');
		} else {
			$decPage = Dispatcher::Instance()->Decrypt($_REQUEST['page']);
			$encPage = Dispatcher::Instance()->Encrypt($decPage);
			$this->mrTemplate->AddVar('data_agama', 'AGAMA_EMPTY', 'NO');
			$dataAgama = $data['dataAgama'];
		
//mulai bikin tombol delete
			$label = "Data Agama";
			$urlDelete = Dispatcher::Instance()->GetUrl('agama', 'deleteAgama', 'do', 'html');
			$urlReturn = Dispatcher::Instance()->GetUrl('agama', 'agama', 'view', 'html');
			Messenger::Instance()->Send('confirm', 'confirmDelete', 'do', 'html', array($label, $urlDelete, $urlReturn),Messenger::NextRequest);
			$this->mrTemplate->AddVar('content', 'URL_DELETE', Dispatcher::Instance()->GetUrl('confirm', 'confirmDelete', 'do', 'html'));
			for ($i=0; $i<sizeof($dataAgama); $i++) {
				$no = $i+$data['start'];
				$dataAgama[$i]['number'] = $no;
				if ($no % 2 != 0) $dataAgama[$i]['class_name'] = 'table-common-even';
				else $dataAgama[$i]['class_name'] = '';
				
				if($i == 0) $this->mrTemplate->AddVar('content', 'FIRST_NUMBER', $no);				
				if($i == sizeof($dataAgama)-1) $this->mrTemplate->AddVar('content', 'LAST_NUMBER', $no);
				$idEnc = Dispatcher::Instance()->Encrypt($dataAgama[$i]['agama_id']);
                             
            $urlAccept = 'agama|deleteAgama|do|html-cari-'.$cari;            $urlReturn = 'agama|agama|view|html-cari-'.$cari;            $dataName = $dataAgama[$i]['agama_nama'];
            $dataAgama[$i]['url_edit'] = Dispatcher::Instance()->GetUrl('agama', 'inputAgama', 'view', 'html') . '&dataId=' . $idEnc . '&page=' . $encPage . '&cari='.$cari;
            $dataAgama[$i]['url_delete'] = Dispatcher::Instance()->GetUrl('confirm', 'confirmDelete', 'do', 'html').'&urlDelete='. $urlAccept.'&urlReturn='.$urlReturn.'&id='.$idEnc.'&label='.$label.'&dataName='.$dataName;
				$this->mrTemplate->AddVars('data_agama_item', $dataAgama[$i], 'AGAMA_');
				$this->mrTemplate->parseTemplate('data_agama_item', 'a');	 
			}
		}
	}
}
?>