/home/arranoyd/magicraft/wp-content/plugins/file-manager/front_settings.php
<?php
defined('ABSPATH') or die("Cannot access pages directly.");
global $wpdb;
include( plugin_dir_path( __FILE__ ) . 'settings.php');
global $wp_roles;
// print_r($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
//delete entry
if( isset($_GET["del"]) ){
$del_id = $_GET["id"];
$query = "DELETE FROM `" . $table_name . "` WHERE `id` = '$del_id' ";
$wpdb->query($query);
}
if( isset($_POST["action"]) ){
$post_role = base64_decode( sanitize_text_field( $_POST["option_role"] ) );
$post_folder = base64_decode( sanitize_text_field( $_POST["option_folder"] ) );
$post_access = sanitize_text_field( $_POST["option_access"] );
$addfolder_folder = esc_sql( base64_decode( $_POST["option_folder"] ) );
if($_POST["option_folder"] == "/"){
$addfolder_folder = "/";
}
//check if already exists
$query = "SELECT * FROM `" . $table_name . "` WHERE `folder` = '$addfolder_folder' AND `type` = 'red_front_end' AND `meta` = '$post_role' ";
$results = $wpdb->get_results($query);
if( sizeof($results) > 0 ){
$wpdb->update(
$table_name,
array(
'folder' => $addfolder_folder,
'type' => 'red_front_end',
'access' => $post_access,
'meta' => $post_role
),
array( 'folder' => $addfolder_folder, 'type' => 'red_front_end', 'meta' => $post_role ),
array(
'%s',
'%s',
'%s',
'%s'
),
array( '%s' )
);
}else{//end if
$wpdb->insert(
$table_name,
array(
'folder' => $addfolder_folder,
'type' => 'red_front_end',
'access' => $post_access,
'meta' => $post_role
),
array(
'%s',
'%s',
'%s',
'%s'
)
);
}//end else
}//end if
?>
<h2>Front-End Access</h2>
<table class="widefat">
<thead>
<tr style="background-color:#F5F5F5;">
<th>Group</th>
<th>Folder</th>
<th>Shortcode</th>
<th>Actions</th>
</tr>
</thead>
<tfoot>
<tr style="background-color:#F5F5F5;">
<th>Group</th>
<th>Folders</th>
<th>Shortcode</th>
<th>Actions</th>
</tr>
</tfoot>
<tbody>
<?php
$query = "SELECT * FROM `" . $table_name . "` WHERE `type` = 'red_front_end' ";
$results2 = $wpdb->get_results($query);
?>
<?php foreach($results2 as $key=>$value) { ?>
<tr>
<?php
$fn = red_getFolderName( $value->folder, $directory_temp);
if($value->folder == "/"){
$fn = "/";
}
?>
<td><?php echo $value->meta; ?></td>
<td><?php echo $fn; ?></td>
<td><code>[filemanager foldername="<?php echo $fn; ?>" groups="<?php echo $value->meta; ?>" access="<?php echo $value->access; ?>"]</code></td>
<td> <a href="<?php echo admin_url("admin.php?page=red_fm_front") . "&del=delete&id=" . $value->id; ?>">Delete</a> </td>
</tr>
<?php } ?>
</tbody>
</table>
<hr>
<h4>Add Shortcode</h4>
<form action="<?php echo admin_url("admin.php?page=red_fm_front"); ?>" method="POST">
<input type="hidden" name="action" value="add_shortcode">
<select name="option_role">
<option value="<?php echo base64_encode("Everyone"); ?>"> Everyone </option>
<?php foreach($red_roles as $key=>$value) { ?>
<option value="<?php echo base64_encode($value); ?>"> <?php echo $value; ?> </option>
<?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 Shortcode">
</form>
<br/>
<small style="color:green">"Everyone" settings will allow non-logged-in users too.</small>
<hr>
<br/>
<H4>Default Folders Access For Logged-in Users:</H4>
<code> [filemanager] </code><br/>
<small style="color:green">Default Folders Are The Ones Automatically Assigned To Each Registered User.</small>
<br><br>
<hr>
<h4>Access All Folder Assigned To The Logged-in User:</h4>
<code>[filemanager foldername="*"]</code><br/>
<small style="color:green">This Shortcode Will Allow The Logged-in Users To See All Their Folders.</small>