function Register() { $GtfwModule = new GtfwModule(); $this->modulName = $_GET['moduleName']; if ($GtfwModule->aktif == 'bo') { $path_module = Configuration::Instance()->GetValue('application', 'docroot') . 'module/' . $this->modulName . '/response/'; $AppId = Configuration::Instance()->GetValue('application', 'application_id'); } else { $path_module = str_replace("bo", "fo", Configuration::Instance()->GetValue('application', 'docroot')) . 'module/' . $this->modulName . '/response/'; $AppId = Configuration::Instance()->GetValue('application', 'application_portal_id'); } $this->RegisterStatus = false; $EditMenuId = ''; $GtfwModule->StartTrans(); $result = true; if (file_exists($path_module)) { $dir = dir($path_module); while (false !== ($entry = $dir->read())) { if ($entry != '..' && $entry != '.') { $Temp = $GtfwModule->PecahFile($entry); $ActionList = array("Do", "View", "Popup", "Input", "Combo"); if (in_array($Temp['Action'], $ActionList)) { if (isset($this->POST['btnsimpan']) && $result === true) { $moduleLengkap = $this->modulName . "-" . $Temp['SubModuleName'] . "-" . $Temp['Action'] . "-" . $Temp['Type']; if (!empty($this->POST['Aksi-' . $moduleLengkap])) { $labelAksi = $GtfwModule->GetLabelAksi($this->POST['Aksi-' . $moduleLengkap]); } if (!empty($this->POST[$moduleLengkap]) == 'on') { $params = array('Module' => $this->modulName->Raw(), 'LabelModule' => '[' . $AppId . '] ' . $Temp['Action'] . ' ' . $Temp['SubModuleName'] . ' ' . $Temp['Type'], 'SubModule' => $Temp['SubModuleName'], 'Action' => $Temp['Action'], 'Type' => $Temp['Type'], 'Access' => $this->POST['Access-' . $moduleLengkap], 'ApplicationId' => $AppId); $result = $GtfwModule->RegisterModule($params); if ($result === true) { $ModuleRegistered[] = $GtfwModule->LastRegisterModule(); if (!empty($this->POST['default'])) { if (Request::DecodeSanitization($this->POST['default']) == $moduleLengkap) { $DefaultModuleId = $GtfwModule->GetIdModuleDefault($this->modulName->Raw(), $Temp['SubModuleName'], $Temp['Action'], $Temp['Type']); } } else { $DefaultModuleId = NULL; } } else { $ModuleRegistered = array(); } } if (!empty($this->POST['Aksi-' . $moduleLengkap])) { $DefaultModuleId2 = $GtfwModule->GetIdModuleDefault($this->modulName->Raw(), $Temp['SubModuleName'], $Temp['Action'], $Temp['Type']); $GtfwModule->UpdateAksiId($this->POST['Aksi-' . $moduleLengkap], $labelAksi[0]['aksiLabel'], $DefaultModuleId2); } $GetModule = $GtfwModule->GetModuleByFile($this->modulName, $Temp['SubModuleName'], $Temp['Action'], $Temp['Type'], $AppId); if (!empty($GetModule[0]['MenuId'])) { $EditMenuId = $GetModule[0]['MenuId']; } $this->POST['EditMenuId'] = $EditMenuId; if (!empty($this->POST['default'])) { if (Request::DecodeSanitization($this->POST['default']) == $moduleLengkap) { $EditDefaultModuleId = $GetModule[0]['ModuleId']; $this->POST['EditDefaultModuleId'] = $EditDefaultModuleId; } } } } } } if (isset($this->POST['btnsimpan']) && $result === true && !empty($ModuleRegistered) && !empty($this->POST['registerMenu']) == 'on') { $this->POST['Proses'] = 'Jika Register Module dan Registerkan Menu Baru'; //Jika Register Module dan Registerkan Menu Baru $param_menu = array('MenuParentId' => $this->POST['MenuParentId'], 'MenuName' => $this->POST['MenuName'], 'MenuDefaultModuleId' => $DefaultModuleId, 'IsShow' => $this->POST['IsShow'], 'IconPath' => $this->POST['IconPath'], 'ApplicationId' => $AppId); $result = $GtfwModule->RegisterMenu($param_menu); if ($result === true) { $MenuRegistered = $GtfwModule->LastRegisterMenu(); for ($jjj = 0; $jjj < sizeof($ModuleRegistered); $jjj++) { $result = $GtfwModule->UpdateModuleMenuId($MenuRegistered, $ModuleRegistered[$jjj]); } } } else { if (isset($this->POST['btnsimpan']) && $result === true && $EditMenuId != '') { $this->POST['Proses'] = 'Jika Hanya Register Module sedangkan Menu Sudah Ada'; //Jika Hanya Register Module sedangkan Menu Sudah Ada if (isset($EditDefaultModuleId) != '') { $param_menu = array('MenuParentId' => $this->POST['MenuParentId'], 'MenuName' => $this->POST['MenuName'], 'MenuDefaultModuleId' => $EditDefaultModuleId, 'IsShow' => $this->POST['IsShow'], 'IconPath' => $this->POST['IconPath'], 'ApplicationId' => $AppId, 'MenuId' => $EditMenuId); $result = $GtfwModule->UpdateRegisterMenu($param_menu); $result = $GtfwModule->UpdateMenuModuleDefault($EditDefaultModuleId, $EditMenuId); } if (isset($ModuleRegistered)) { for ($jjj = 0; $jjj < sizeof($ModuleRegistered); $jjj++) { $result = $GtfwModule->UpdateModuleMenuId($EditMenuId, $ModuleRegistered[$jjj]); } } } else { if (isset($this->POST['btnsimpan']) && $EditMenuId != '' && $EditDefaultModuleId != '') { $this->POST['Proses'] = 'Jika Hanya merubah Default Menu'; //Jika Hanya merubah Default Menu $param_menu = array('MenuParentId' => $this->POST['MenuParentId'], 'MenuName' => $this->POST['MenuName'], 'MenuDefaultModuleId' => $EditDefaultModuleId, 'IsShow' => $this->POST['IsShow'], 'IconPath' => $this->POST['IconPath'], 'ApplicationId' => $AppId, 'MenuId' => $EditMenuId); $result = $GtfwModule->UpdateRegisterMenu($param_menu); $result = $GtfwModule->UpdateMenuModuleDefault($EditDefaultModuleId, $EditMenuId); } else { if (isset($this->POST['btnsimpan']) && $this->POST['registerMenu'] == 'on') { $this->POST['Proses'] = 'Jika Hanya Register Menu Saja'; //Jika Hanya Register Menu Saja $GetModuleLain = $GtfwModule->GetModuleByFile('home', 'home', 'view', 'html', $AppId); $param_menu = array('MenuParentId' => $this->POST['MenuParentId'], 'MenuName' => $this->POST['MenuName'], 'MenuDefaultModuleId' => $GetModuleLain[0]['ModuleId'], 'IsShow' => $this->POST['IsShow'], 'IconPath' => $this->POST['IconPath'], 'ApplicationId' => $AppId); $result = $GtfwModule->RegisterMenu($param_menu); } } } } } $GtfwModule->EndTrans($result); return $result; }