/home/arranoyd/magicraft/wp-content/plugins/file-manager/groups_settings.php
<?php
defined('ABSPATH') or die("Cannot access pages directly.");
global $wpdb;
include( plugin_dir_path( __FILE__ ) . 'settings.php');
global $wp_roles;
$red_roles = $wp_roles->get_names();
$view = "0";
$red_users_args = array('role'=>'Administrator');
$red_admins = get_users( $red_users_args );
//actions processing
if( isset($_POST["action"]) ){
if($_POST["action"] == "add_folder"){
$option_role = base64_decode( $_POST["option_role"] );
$option_access = $_POST["option_access"];
// $option_folder = base64_decode( $_POST["option_folder"] );
//for root folder
$addfolder_folder = esc_sql( base64_decode( $_POST["option_folder"] ) );
if($_POST["option_folder"] == "/"){
$addfolder_folder = "/";
}
$query = "SELECT * FROM `" . $table_name . "` WHERE `folder` = '$addfolder_folder' AND `type` = '$option_role' ";
$results = $wpdb->get_results($query);
//already exists
if( sizeof($results) > 0 ){
$wpdb->update(
$table_name,
array(
'folder' => $addfolder_folder,
'type' => $option_role,
'access' => $option_access
),
array( 'folder' => $addfolder_folder, 'type' => $option_role ),
array(
'%s',
'%s',
'%s'
),
array( '%s' )
);
}else{
//folder not already assigned
//insert into table
$wpdb->insert(
$table_name,
array(
'folder' => $addfolder_folder,
'type' => $option_role,
'access' => $option_access,
'meta' => ''
),
array(
'%s',
'%s',
'%s',
'%s'
)
);
}//end else
// wp_redirect( admin_url("admin.php?page=red_fm_groups&action=edit&group=1") );
?>
<script type="text/javascript">
<?php $tempgrp = $_POST["option_role"]; ?>
window.location = '<?php echo admin_url("admin.php?page=red_fm_groups&action=edit&group=$tempgrp") ?>';
</script>
<?php
}
}// end of if( isset($_POST["action"]) ){
//pages
if($_GET["action"] == "edit"){
//action
if( isset($_GET["perform"]) ){
if($_GET["perform"] == "delete" ){
$del_grp = base64_decode( $_GET["group"] );
$del_fldr = base64_decode( $_GET["folder"] );
$query = "DELETE FROM `" . $table_name . "` WHERE `folder` = '$del_fldr' AND `type` = '$del_grp' " ;
$wpdb->query($query);
}
}
$view = base64_decode( $_GET["group"] );
$query = "SELECT * FROM `" . $table_name . "` WHERE `type` = '$view' ";
$group_folders_results = $wpdb->get_results($query);
}//ends if($_GET["action"])
?>
<h2>Group Folders</h2>
<table class="widefat">
<thead>
<tr style="background-color:#F5F5F5;">
<th>Group</th>
<th>Folders</th>
<!-- <th>Action</th> -->
</tr>
</thead>
<tfoot>
<tr style="background-color:#F5F5F5;">
<th>Group</th>
<th>Folders</th>
<!-- <th>Action</th> -->
</tr>
</tfoot>
<tbody>
<?php foreach($red_roles as $key=>$value) { ?>
<?php $group_hash = base64_encode($value); ?>
<tr>
<td><?php echo $value; ?></td>
<td><a href="<?php echo admin_url("admin.php?page=red_fm_groups&action=edit&group={$group_hash}"); ?>"><?php echo 'Show Folders'; ?></a></td>
<!--<td><a href="#">Edit</a></td>-->
</tr>
<?php } ?>
</tbody>
</table>
<hr>
<!-- Groups Folders Table -->
<?php if($view != "0"){ ?>
<h2> <?php echo $view; ?>'s Folders</h2>
<table class="widefat">
<thead>
<tr style="background-color:#F5F5F5;">
<th>Folder</th>
<th>Access</th>
<th>Actions</th>
</tr>
</thead>
<tfoot>
<tr style="background-color:#F5F5F5;">
<th>Folder</th>
<th>Folders</th>
<th>Actions</th>
</tr>
</tfoot>
<tbody>
<?php
$group_hash = base64_encode( $view );
?>
<?php foreach($group_folders_results as $key=>$value) { ?>
<?php $folder_hash = base64_encode($value->folder); ?>
<tr>
<?php
$fn = red_getFolderName( $value->folder, $directory_temp);
if($value->folder == "/"){
$fn = "/";
}
?>
<td><?php echo $fn; ?></td>
<td> <?php echo red_defineAccess( $value->access ); ?> </td>
<td><a href="<?php echo admin_url("admin.php?page=red_fm_groups&action=edit&perform=delete&group={$group_hash}&folder={$folder_hash}"); ?>">Delete</a></td>
</tr>
<?php } ?>
</tbody>
</table>
<?php } ?>
<hr>
<?php if($view != "0"){ ?>
<h2>Add Folder</h2>
<form action="<?php echo admin_url("admin.php?page=red_fm_groups"); ?>" method="POST">
<input type="hidden" name="action" value="add_folder">
<select name="option_role">
<?php foreach($red_roles as $key=>$value) { ?>
<?php if( $view == $value ) {?>
<option value="<?php echo base64_encode($value); ?>"> <?php echo $value; ?> </option>
<?php } ?>
<?php } ?>
</select>
<select name="option_folder">
<?php foreach($directory_names as $key=>$value){ ?>
<?php if($value != "/"){ ?>
<option value="<?php echo base64_encode($directory_list[$key]); ?>"><?php echo $value; ?></option>
<?php }else{ ?>
<option value="<?php echo "/"; ?>"><?php echo $value; ?></option>
<?php } ?>
<?php } ?>
</select>
<select name="option_access">
<option value="r">Read</option>
<option value="rw">Read/Write</option>
</select>
<input type="submit" class="button button-primary menu-save" value="Add Folder">
</form>
<?php } ?>