One Hat Cyber Team
Your IP :
3.15.0.242
Server IP :
192.185.194.254
Server :
Linux raider.websitewelcome.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
Server Software :
Apache
PHP Version :
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home2
/
glenar
/
www
/
web
/
Panel
/
class
/
AdminGroups
/
View File Name :
AdminGroups.class.php
<?php /** * Created by Mohammad reza Moshaver. * Date: 7/31/2018 AD * Time: 21:13 */ $ROOT = dirname(dirname(dirname(dirname(__FILE__)))); require_once($ROOT.'/Panel/class/General/General.class.php'); class UserGroups { public function __construct() { } /* * Status: 1 -> فعال * Status: 0 -> غیرفعال * Privilege[PrivilegeName] */ public function AddAdminGroup($Name, array $Privilege) { //ثبت گروه کاربری جدید $General = new General(); $time = time(); $con = $General->Connect(); mysqli_autocommit($con, FALSE); mysqli_query($con, "INSERT INTO `adm.groups_hdr` VALUES(NULL, '$Name', '1', '$time')"); if (mysqli_affected_rows($con) > 0) { $HdrID = mysqli_insert_id($con); $Values = ''; for ($i = '0'; $i < count($Privilege); $i++) { if ($Values != '') { $Values = $Values . ','; } $Values = $Values . "(NULL,'$HdrID','$Privilege[$i]')"; } mysqli_query($con, "INSERT INTO `adm.groups_dtl` VALUES $Values"); if (mysqli_affected_rows($con) > 0) { mysqli_commit($con); $Result['success'] = true; $Result['message'] = 'گروه کاربری ' . $Name . ' با موفقیت انجام شد.'; } else { $Result['success'] = false; $Result['message'] = 'عملیات ناموفق<br> خطا:' . mysqli_error($con); mysqli_rollback($con); } } else { $Result['success'] = false; $Result['message'] = 'عملیات ناموفق<br> خطا:' . mysqli_error($con); } $ResultArray = json_encode($Result); return $ResultArray; } /* * Privilege[CurrentID][PrivilegeName] */ public function EditAdminGroup($ID, $Name, $Status, array $Privilege) { //ویرایش گروه کاربری $General = new General(); $con = $General->Connect(); mysqli_autocommit($con, FALSE); $query = mysqli_query($con, "UPDATE `adm.groups_hdr` SET `Name`='$Name', `Status`='$Status' WHERE (`ID`='$ID')"); //UPDATE Hdr if ($query) { ####### Analyse privilege array ####### $CURRENT_IDS = mysqli_query($con, "SELECT `ID` FROM `adm.groups_dtl` WHERE (`HdrID`='$ID')"); while ($row = mysqli_fetch_assoc($CURRENT_IDS)) { $array_CURRENT_IDS[] = $row['ID']; } $ID_LIST_FOR_DELETE = ''; $QUERY_FOR_INSERT = ''; foreach ($Privilege as $Key => $KeyValue) { //Key => ID, KeyValue => Privilege $CheckExist = mysqli_query($con,"SELECT `ID` FROM `adm.groups_dtl` WHERE `ID`='$Key' LIMIT 1"); if (mysqli_num_rows($CheckExist) == '0') { //Check Dtl exist and create insert query if not exist if ($QUERY_FOR_INSERT != '') { $QUERY_FOR_INSERT = $QUERY_FOR_INSERT . ','; } $QUERY_FOR_INSERT = $QUERY_FOR_INSERT . "(NULL,'$ID','$KeyValue')"; } else { //Update row $query = mysqli_query($con, "UPDATE `adm.groups_dtl` SET `Privilege`='$KeyValue' WHERE (`ID`='$Key')"); if (!$query) { $Result['success'] = false; $Result['message'] = 'عملیات ناموفق (مرحله 2)<br> خطا:' . mysqli_error($con); mysqli_rollback($con); $ResultArray = json_encode($Result); return $ResultArray; } $array_CURRENT_IDS = array_diff($array_CURRENT_IDS, ["$Key"]); //Remove ID from remove list } } foreach ($array_CURRENT_IDS as $Key => $KeyValue) { //Key => Array index, KeyValue => ID if ($ID_LIST_FOR_DELETE != '') { $ID_LIST_FOR_DELETE = $ID_LIST_FOR_DELETE . ','; } $ID_LIST_FOR_DELETE = $ID_LIST_FOR_DELETE . "'$KeyValue'"; } ####### END ####### if ($ID_LIST_FOR_DELETE != '') { $query = mysqli_query($con, "DELETE FROM `adm.groups_dtl` WHERE (`ID` IN($ID_LIST_FOR_DELETE) AND `HdrID`='$ID')"); if (!$query) { $Result['success'] = false; $Result['message'] = 'عملیات ناموفق (مرحله 3)<br> خطا:' . mysqli_error($con); mysqli_rollback($con); $ResultArray = json_encode($Result); return $ResultArray; } } if ($QUERY_FOR_INSERT != '') { $query = mysqli_query($con, "INSERT INTO `adm.groups_dtl` VALUES $QUERY_FOR_INSERT"); if (!$query) { $Result['success'] = false; $Result['message'] = 'عملیات ناموفق (مرحله 4)<br> خطا:' . mysqli_error($con); mysqli_rollback($con); $ResultArray = json_encode($Result); return $ResultArray; } } mysqli_commit($con); $Result['success'] = true; $Result['message'] = 'گروه کاربری ' . $Name . ' با موفقیت ویرایش شد.'; $ResultArray = json_encode($Result); return $ResultArray; } else { $Result['success'] = false; $Result['message'] = 'عملیات ناموفق (مرحله 4)<br> خطا:' . mysqli_error($con); mysqli_rollback($con); $ResultArray = json_encode($Result); return $ResultArray; } } public function DeleteAdminGroup($ID) { $General = new General(); $con = $General->Connect(); $query = mysqli_query($con, "DELETE FROM `adm.groups_hdr` WHERE (`ID`='$ID')"); if ($query) { $Result['success'] = true; $Result['message'] = 'گروه کاربری مورد نظر حذف شد'; $ResultArray = json_encode($Result); return $ResultArray; } else { $Result['success'] = false; $Result['message'] = 'عملیات ناموفق (مرحله 1)<br> خطا:' . mysqli_error($con); $ResultArray = json_encode($Result); return $ResultArray; } } public function SelectAdminGroups($Hdr,$Privilege,$ID,$Status,$PartID,$ORDER_BY,$ORDER_TYPE,$LIMIT){ //لیست گروه های کاربری $General = new General(); $con = $General->Connect(); if($LIMIT != ''){ $LIMIT = "LIMIT $LIMIT"; } if($ORDER_BY != ''){ $ORDER_BY = "ORDER BY $ORDER_BY"; } $Condition = ''; if($Hdr == '1'){ if($ID != '') { $Condition = " (`ID`='$ID')"; } if($Status != '') { if($Condition != '') { $Condition = $Condition . ' AND '; } $Condition = $Condition . "(`Status`='$Status')"; } if($Condition != '') { $Query = mysqli_query($con, "SELECT * FROM `adm.groups_hdr` WHERE $Condition $ORDER_BY $ORDER_TYPE $LIMIT"); } else{ $Query = mysqli_query($con, "SELECT * FROM `adm.groups_hdr` $ORDER_BY $ORDER_TYPE $LIMIT"); } } elseif($Privilege == '1'){ if($ID != '') { $Condition = " (`ID`='$ID')"; } if($PartID != '') { if($Condition != '') { $Condition = $Condition . ' AND '; } $Condition = $Condition . "(`PartID`='$PartID')"; } if($Condition != '') { $Query = mysqli_query($con, "SELECT * FROM `adm.privilege` WHERE $Condition $ORDER_BY $ORDER_TYPE $LIMIT"); } else{ $Query = mysqli_query($con, "SELECT * FROM `adm.privilege` $ORDER_BY $ORDER_TYPE $LIMIT"); } } return $Query; } public function CheckGroupAndPrivilegeRelation($GroupID,$Privilege){ //بررسی وجود داشتن دسترسی در یک گروه $General = new General(); $con = $General->Connect(); $check = mysqli_query($con,"SELECT `ID` FROM `adm.groups_dtl` WHERE (`HdrID` = '$GroupID' AND `Privilege` = '$Privilege') LIMIT 1"); if(mysqli_num_rows($check)>0){ $row_check = mysqli_fetch_assoc($check); return $row_check['ID']; } else{ return '0'; } } } ?>