function set_grouprights($group, $status, $recursion = 1) { if ($this->is_dir() && $recursion == 1) { $this->loadfile(); foreach ($this->filecontents as $file2set) { $file2setobj = new bhfile($file2set['filepath']); $file2setobj->set_grouprights($group, $status); } } if ($status >= 0) { $grouprows = select_bhdb("aclgroups", array("group" => $group, "filepath" => $this->filepath), ""); if (!empty($grouprows)) { update_bhdb("aclgroups", array("status" => $status), array("group" => $group, "filepath" => $this->filepath)); } else { insert_bhdb("aclgroups", array("group" => $group, "filepath" => $this->filepath, "status" => $status)); } } else { delete_bhdb("aclgroups", array("group" => $group, "filepath" => $this->filepath)); } }
# Add user if (!empty($_POST['adduser'])) { # Add user to file permissions with inital level 0. $fileobj->set_userrights($_POST['adduser'], 0); bh_log($bhlang['notice:permissions_user_added'], "BH_NOTICE"); } # Delete user if (!empty($_POST['deluser'])) { # Delete user from file db $fileobj->set_userrights($_POST['deluser'], -1); bh_log($bhlang['notice:permissions_user_deleted'], "BH_NOTICE"); } # Add group if (!empty($_POST['addgroup'])) { # Add group to file permissions with inital level 0. $fileobj->set_grouprights($_POST['addgroup'], 0); bh_log($bhlang['notice:permissions_group_added'], "BH_NOTICE"); } # Delete group if (!empty($_POST['delgroup'])) { # Delete user from file db $fileobj->set_grouprights($_POST['delgroup'], -1); bh_log($bhlang['notice:permissions_group_deleted'], "BH_NOTICE"); } # User perms change if (!empty($_GET['user']) || $_GET['user'] === "0") { if ($_GET['username'] == $bhsession['username']) { bh_log($bhlang['error:permissions_self'], "BH_ERROR"); } else { $fileobj->set_userrights($_GET['username'], $_GET['user']); bh_log($bhlang['notice:permissions_changed'], "BH_NOTICE");