Example #1
0
 public function SetMenu()
 {
     //ambil dahulu nama file menunya
     $this->GetFileMenu();
     //get session dahulu
     //$this->cSCMenu 	 = unserialize(GetSession("cSession_SCMenu")) ;
     if (is_file($this->cNamaFileDef) && $this->cSCMenu == "") {
         $vaFile = file($this->cNamaFileDef);
         //load file menu menjadikan array
         if ($this->lWithCase) {
             $this->cSCMenu = '<ul class="sidebar-menu">';
         }
         //awal dari navigation menu
         $nBertingkat = 0;
         foreach ($vaFile as $nKey => $cValue) {
             $cIdentifier = strpos($cValue, "#");
             if ($cIdentifier === false && trim($cValue) !== "" && strpos($cValue, "<?php die('Sapeltu Inc.'); ?>") !== 0 && (strpos($vaFile[$nKey], "Dashboard") === false || strpos($vaFile[$nKey], "index.") === false) && (strpos($vaFile[$nKey], "Lv") === false || strpos($vaFile[$nKey], "index.") === false)) {
                 //jika diawal value terisi # maka tidak dieksekusi
                 //ambil posisi [ karna untuk menentukan sub sub menu
                 $vaMenu = scArray::Menu2Array($cValue);
                 $lValid = strpos($this->cLevel_md5, $vaMenu['cMd5']) > -1 ? true : ($this->cLevel == "0000" ? true : false);
                 $nPos = strpos($cValue, "[");
                 $lTop = $nPos == 0 ? true : false;
                 //userlevel access
                 //untuk menentukan sub menu / menutup sub menu maka harus dicek menu setelah menu ini
                 $lParent = false;
                 $lParentEnd = false;
                 $lBertingkatEnd = false;
                 $nNextKey = $this->CekSelanjutnya($nKey);
                 if (isset($vaFile[$nNextKey])) {
                     $nPosNext = strpos($vaFile[$nNextKey], "[");
                     $lParent = $nPosNext > $nPos ? true : false;
                     $lParentEnd = $nPosNext >= $nPos ? false : true;
                     $lBertingkatEnd = $nPosNext == 0 ? true : false;
                 } else {
                     //$lParentEnd    = true ;
                     $lBertingkatEnd = true;
                 }
                 if ($lValid) {
                     $cDash = GetSession("cSession_Dashboard");
                     if (trim($cDash) == "") {
                         SaveSession("cSession_Dashboard", $vaMenu['cJs']);
                     }
                     $liClass = $lParent ? "class='treeview'" : "";
                     $this->cSCMenu .= '<li ' . $liClass . '>';
                     if ($lParent) {
                         //jika jadi parent maka
                         $this->cSCMenu .= $this->SetDetailMenu($vaMenu, $lTop, $lParent) . '<ul class="treeview-menu">';
                         $nBertingkat++;
                     } else {
                         $this->cSCMenu .= $this->SetDetailMenu($vaMenu) . "</li>";
                     }
                     if ($lParentEnd) {
                         //ditutup parent end
                         //$nBertingkat-- ;
                         //$this->cSCMenu .= "</ul></li>" ;
                         while ($nBertingkat > $nPosNext) {
                             $nBertingkat--;
                             $this->cSCMenu .= "</ul></li>";
                         }
                     }
                 }
                 if ($nBertingkat > 0 && $lBertingkatEnd) {
                     while ($nBertingkat > 0) {
                         $nBertingkat--;
                         $this->cSCMenu .= "</ul></li>";
                     }
                 }
             }
         }
         if ($this->lWithCase) {
             $this->cSCMenu .= '</ul>';
         }
         //penutup dari navigation menu
         SaveSession("cSession_SCMenu", serialize($this->cSCMenu));
     }
     echo $this->cSCMenu;
 }
Example #2
0
 public static function GetTreeMenu($cLevel = "", $lCheckBox = true)
 {
     $cReturn = "";
     $vaFile = file("./scmenu.menu.php");
     $nBertingkat = 0;
     foreach ($vaFile as $nKey => $cValue) {
         $cIdentifier = strpos($cValue, "#");
         if ($cIdentifier === false && trim($cValue) !== "" && strpos($cValue, "<?php die('Sapeltu Inc.'); ?>") !== 0) {
             //jika diawal value terisi # maka tidak dieksekusi
             //ambil posisi [ karna untuk menentukan sub sub menu
             $nPos = strpos($cValue, "[");
             $lTop = $nPos == 0 ? true : false;
             $vaMenu = scArray::Menu2Array($cValue);
             $cReturn .= '{';
             //untuk menentukan sub menu / menutup sub menu maka harus dicek menu setelah menu ini
             $lParent = false;
             $lParentEnd = false;
             $lBertingkatEnd = false;
             $nNextKey = self::CekSelanjutnya($nKey);
             if (isset($vaFile[$nNextKey])) {
                 $nPosNext = strpos($vaFile[$nNextKey], "[");
                 $lParent = $nPosNext > $nPos ? true : false;
                 $lParentEnd = $nPosNext >= $nPos ? false : true;
                 $lBertingkatEnd = $nPosNext == 0 ? true : false;
             } else {
                 //$lParentEnd    = true ;
                 $nPosNext = -1;
                 $lBertingkatEnd = true;
             }
             //isi
             $cNamaMenu = $vaMenu['cNama'];
             $cSelected = strpos($cLevel, $vaMenu['cMd5']) > -1 ? "select: true," : "";
             if ($lParent) {
                 //jika jadi parent maka
                 $cReturn .= 'title: "' . $vaMenu['cNama'] . '", ' . $cSelected . ' expand: true, isFolder: true, key: "' . $vaMenu['cMd5'] . '",' . "children:[";
                 $nBertingkat++;
             } else {
                 $cReturn .= 'title: "' . $vaMenu['cNama'] . '" , ' . $cSelected . ' key: "' . $vaMenu['cMd5'] . '"}';
                 if ($nPos == $nPosNext) {
                     $cReturn .= ",";
                 }
             }
             if ($lParentEnd) {
                 //ditutup parent end
                 $nBertingkat--;
                 $cReturn .= "]},";
             }
             if ($nBertingkat > 0 && $lBertingkatEnd) {
                 while ($nBertingkat > 0) {
                     $nBertingkat--;
                     $cReturn .= "]},";
                 }
             }
         }
     }
     return "[" . $cReturn . "]";
 }
Example #3
0
 public static function GetChildMenu($cJs = "")
 {
     $vaArray = array();
     $vaFile = file(self::$cFileLoc);
     $nBertingkat = 0;
     $lValid = false;
     foreach ($vaFile as $nKey => $cValue) {
         $cIdentifier = strpos($cValue, "#");
         if ($cIdentifier === false && trim($cValue) !== "" && strpos($cValue, "<?php die('Sapeltu Inc.'); ?>") !== 0) {
             //jika diawal value terisi # maka tidak dieksekusi
             //ambil posisi [ karna untuk menentukan sub sub menu
             $nPos = strpos($cValue, "[");
             $lTop = $nPos == 0 ? true : false;
             $vaMenu = scArray::Menu2Array($cValue);
             if (strpos($vaMenu["cNama"], "-MOBILE-") === false) {
                 $lParent = false;
                 $lParentEnd = false;
                 $lBertingkatEnd = false;
                 $nNextKey = scSys::CekSelanjutnya($nKey);
                 if (isset($vaFile[$nNextKey])) {
                     $nPosNext = strpos($vaFile[$nNextKey], "[");
                     $lParent = $nPosNext > $nPos ? true : false;
                     $lParentEnd = $nPosNext >= $nPos ? false : true;
                     $lBertingkatEnd = $nPosNext == 0 ? true : false;
                 } else {
                     $nPosNext = -1;
                     $lBertingkatEnd = true;
                 }
                 //isi
                 $cNamaMenu = $vaMenu['cNama'];
                 if ($lParent) {
                     $lValid = md5($cJs) == $vaMenu['cMd5'] ? true : false;
                     $nBertingkat++;
                 } else {
                     if ($lValid) {
                         $vaArray[$vaMenu['cMd5']] = $vaMenu;
                     }
                 }
                 if ($lParentEnd) {
                     //ditutup parent end
                     $nBertingkat--;
                 }
                 if ($nBertingkat > 0 && $lBertingkatEnd) {
                     while ($nBertingkat > 0) {
                         $nBertingkat--;
                     }
                 }
             }
         }
     }
     return $vaArray;
 }
Example #4
0
 public static function SaveLvAccess($cFileLoc, $cTable, $cTableId, $cTableValue, $cId = "")
 {
     global $scDb;
     $cUserName = GetSession("cSession_UserName");
     $vaAccess = self::GetLvAccess($cFileLoc);
     $cTableValue = json_encode($cTableValue);
     $cMd5Val = md5($cTableValue);
     $vaArray = array("TableName" => $cTable, "TableId" => $cTableId, "TableValue" => $cTableValue, "Md5Val" => md5($cTableValue));
     $cReturn = false;
     if ($cId == "") {
         scArray::ArrayMe($vaArray, "DateInsert", scDate::Date2String(scDate::GetTglTransaksi()));
         scArray::ArrayMe($vaArray, "UserName_Maker", $cUserName);
         scArray::ArrayMe($vaArray, "DatetimeInsert_Maker", date("Y-m-d h:i:s"));
         if ($vaAccess['lSigner'] || $vaAccess['lChecker']) {
             //signer all
             scArray::ArrayMe($vaArray, "Status", "1");
             scArray::ArrayMe($vaArray, "UserName_Checker", $cUserName);
             scArray::ArrayMe($vaArray, "DatetimeInsert_Checker", date("Y-m-d h:i:s"));
         }
     } else {
         $dbRowLast = scSys::GetKeterangan("*", "Id = '{$cId}'", "sc_access_input");
         $vaRowLog = @json_decode($dbRowLast['UserName_Log'], true);
         if (!is_array($vaRowLog)) {
             $vaRowLog = unserialize($dbRowLast['UserName_Log']);
         }
         if (!is_array($vaRowLog)) {
             $vaRowLog = array();
         }
         if ($vaAccess['lMaker'] && !$vaAccess['lChecker'] && !$vaAccess['lSigner']) {
             //edit maker
             if ($dbRowLast['UserName_Maker'] !== $cUserName) {
                 scArray::ArrayMe($vaArray, "UserName_Maker", $cUserName);
                 if ($dbRowLast['UserName_Maker'] !== "") {
                     $vaRowLog[]['UserName_Maker@' . time()] = $dbRowLast['UserName_Maker'];
                 }
             }
             scArray::ArrayMe($vaArray, "Status", "0");
             scArray::ArrayMe($vaArray, "DatetimeUpdate_Maker", date("Y-m-d h:i:s"));
         }
         if ($vaAccess['lChecker'] && !$vaAccess['lSigner']) {
             //edit maker
             if ($dbRowLast['UserName_Checker'] !== $cUserName) {
                 scArray::ArrayMe($vaArray, "UserName_Checker", $cUserName);
                 if ($dbRowLast['UserName_Checker'] !== "") {
                     $vaRowLog[]['UserName_Checker@' . time()] = $dbRowLast['UserName_Checker'];
                 }
             }
             scArray::ArrayMe($vaArray, "DatetimeUpdate_Checker", date("Y-m-d h:i:s"));
             scArray::ArrayMe($vaArray, "Status", "1");
         }
         if (!empty($vaRowLog)) {
             scArray::ArrayMe($vaArray, "UserName_Log", json_encode($vaRowLog));
         }
     }
     scArray::ArrayMe($vaArray, "StatusOnView", "0");
     if ($vaAccess['lSigner']) {
         //signer all
         $cReturn = true;
         scArray::ArrayMe($vaArray, "UserName_Signer", $cUserName);
         scArray::ArrayMe($vaArray, "DatetimeInsert_Signer", date("Y-m-d h:i:s"));
         scArray::ArrayMe($vaArray, "Status", "2");
         scArray::ArrayMe($vaArray, "StatusOnView", "2");
     }
     $scDb->Update("sc_access_input", $vaArray, "Id = '{$cId}'", false, array("Cabang" => GetSession("cSession_Cabang")));
     if ($cReturn) {
         $cReturn = scSys::GetKeteranganOne("Id", "TableName = '{$cTable}' and TableId = '{$cTableId}' and Md5Val = '{$cMd5Val}'", "sc_access_input");
     } else {
         $cReturn = "";
     }
     return $cReturn;
 }