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;
 }