Version Description
(10 Jun, 2017) =
- Empty Downloaded file fixed.
- Non-ASCII character on file/folder name
- Tested on WordPress 4.8
Download this release
Release Info
Developer | aihimel |
Plugin | File Manager |
Version | 4.1.6 |
Comparing to | |
See all releases |
Code changes from version 4.1.3 to 4.1.6
- BootStart/BootStart.php +49 -37
- BootStart/CSV.php +0 -107
- BootStart/OptionsManager.php +0 -263
- BootStart/SiteBackup.php +0 -24
- BootStart/__init__.php +0 -20
- css/admin-style.css +1 -1
- file-manager.php +9 -5
- img/File Manager Permission System(Pro).png +0 -0
- readme.txt +43 -32
- views/admin/files.php +16 -1
- views/admin/footer.php +0 -0
- views/admin/header.php +2 -0
- views/admin/index.php +2 -9
- views/admin/language-code.php +262 -0
- views/admin/permission_system.php +2 -2
- views/admin/settings.php +32 -7
- views/admin/sidebar.php +4 -4
- views/admin/site-backup.php +2 -2
BootStart/BootStart.php
CHANGED
@@ -137,14 +137,21 @@ abstract class FM_BootStart{
|
|
137 |
$this->php_ini_settings();
|
138 |
|
139 |
// Loading Options
|
140 |
-
|
141 |
-
$this->options =
|
|
|
|
|
|
|
|
|
142 |
|
143 |
// Creating upload folder.
|
144 |
$this->upload_folder();
|
145 |
|
146 |
// Frontend asset loading
|
147 |
add_action('wp_enqueue_scripts', array(&$this, 'assets') );
|
|
|
|
|
|
|
148 |
|
149 |
// Adding a menu at admin area
|
150 |
add_action( 'admin_menu', array(&$this, 'menu') );
|
@@ -183,16 +190,15 @@ abstract class FM_BootStart{
|
|
183 |
*
|
184 |
* */
|
185 |
public function assets(){
|
186 |
-
|
|
|
|
|
187 |
// Including front-style.css
|
188 |
-
|
189 |
|
190 |
// Including front-script.js
|
191 |
-
|
192 |
-
|
193 |
-
// Including media for media upload
|
194 |
-
wp_enqueue_media();
|
195 |
-
|
196 |
}
|
197 |
|
198 |
/*
|
@@ -201,32 +207,41 @@ abstract class FM_BootStart{
|
|
201 |
*
|
202 |
* */
|
203 |
public function admin_assets(){
|
|
|
|
|
|
|
|
|
|
|
204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
$jquery_ui_url = $this->url('jquery-ui-1.11.4/jquery-ui.min.css');
|
206 |
$jquery_ui_url = apply_filters('fm_jquery_ui_theme_hook', $jquery_ui_url);
|
207 |
|
208 |
// Jquery UI CSS
|
209 |
-
|
210 |
-
|
211 |
-
// Jquery UI theme
|
212 |
-
//auto:: wp_enqueue_style( $this->__('jquery-ui-css-theme'), $this->url('jquery-ui-1.11.4/jquery-ui.theme.min.css') );
|
213 |
|
214 |
// elFinder CSS
|
215 |
-
|
216 |
|
217 |
// elFinder theme CSS
|
218 |
-
if($this->url('jquery-ui-1.11.4/jquery-ui.min.css') == $jquery_ui_url )
|
219 |
-
|
220 |
-
// Including admin-style.css
|
221 |
-
wp_enqueue_style( $this->__('admin-style'), $this->url('css/admin-style.css') );
|
222 |
-
|
223 |
-
// Including admin-script.js
|
224 |
-
wp_enqueue_script( $this->__('admin-script'), $this->url('js/admin-script.js'), array('jquery') );
|
225 |
|
226 |
// elFinder Scripts depends on jQuery UI core, selectable, draggable, droppable, resizable, dialog and slider.
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
|
231 |
/**
|
232 |
*
|
@@ -300,18 +315,6 @@ abstract class FM_BootStart{
|
|
300 |
$this->render('', 'admin' . DS . 'settings');
|
301 |
|
302 |
}
|
303 |
-
|
304 |
-
/**
|
305 |
-
*
|
306 |
-
* Absolute path finder
|
307 |
-
*
|
308 |
-
* @param string $relative_path relative path to the this plugin root folder.
|
309 |
-
* */
|
310 |
-
protected function path($relative_path){
|
311 |
-
|
312 |
-
return ABSPATH.'wp-content' . DS . 'plugins' . DS . $this->prefix. DS .$relative_path;
|
313 |
-
|
314 |
-
}
|
315 |
|
316 |
/**
|
317 |
*
|
@@ -462,7 +465,7 @@ abstract class FM_BootStart{
|
|
462 |
|
463 |
}
|
464 |
|
465 |
-
include(
|
466 |
|
467 |
}
|
468 |
|
@@ -503,5 +506,14 @@ abstract class FM_BootStart{
|
|
503 |
return $string;
|
504 |
|
505 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
506 |
}
|
507 |
|
137 |
$this->php_ini_settings();
|
138 |
|
139 |
// Loading Options
|
140 |
+
// Options
|
141 |
+
$this->options = get_option($this->prefix);
|
142 |
+
if(empty($this->options)) $this->options = array();
|
143 |
+
register_shutdown_function(array(&$this, 'save_options'));
|
144 |
+
|
145 |
+
//auto:: $this->options = new FM_OptionsManager($this->name);
|
146 |
|
147 |
// Creating upload folder.
|
148 |
$this->upload_folder();
|
149 |
|
150 |
// Frontend asset loading
|
151 |
add_action('wp_enqueue_scripts', array(&$this, 'assets') );
|
152 |
+
|
153 |
+
// Dashboard asset loading
|
154 |
+
add_action('admin_enqueue_scripts', array(&$this, 'admin_assets') );
|
155 |
|
156 |
// Adding a menu at admin area
|
157 |
add_action( 'admin_menu', array(&$this, 'menu') );
|
190 |
*
|
191 |
* */
|
192 |
public function assets(){
|
193 |
+
|
194 |
+
$this->elfinder_assets(); // Loads all the assets necessary for elFinder
|
195 |
+
|
196 |
// Including front-style.css
|
197 |
+
wp_register_style('fm-front-style', $this->url('css/front-style.css'), false);
|
198 |
|
199 |
// Including front-script.js
|
200 |
+
wp_register_script('fm-front-script', $this->url('js/front-script.js'), array(), '1.0.0', true );
|
201 |
+
|
|
|
|
|
|
|
202 |
}
|
203 |
|
204 |
/*
|
207 |
*
|
208 |
* */
|
209 |
public function admin_assets(){
|
210 |
+
|
211 |
+
$this->elfinder_assets(); // Loads all the assets necessary for elFinder
|
212 |
+
|
213 |
+
// Including admin-style.css
|
214 |
+
wp_register_style( 'fmp-admin-style', $this->url('css/admin-style.css') );
|
215 |
|
216 |
+
// Including admin-script.js
|
217 |
+
wp_register_script( 'fmp-admin-script', $this->url('js/admin-script.js'), array('jquery') );
|
218 |
+
|
219 |
+
}
|
220 |
+
|
221 |
+
/**
|
222 |
+
*
|
223 |
+
* @function elfinder_assets
|
224 |
+
* @description Registers all the elfinder assets
|
225 |
+
*
|
226 |
+
* */
|
227 |
+
public function elfinder_assets(){
|
228 |
+
|
229 |
$jquery_ui_url = $this->url('jquery-ui-1.11.4/jquery-ui.min.css');
|
230 |
$jquery_ui_url = apply_filters('fm_jquery_ui_theme_hook', $jquery_ui_url);
|
231 |
|
232 |
// Jquery UI CSS
|
233 |
+
wp_register_style( 'fmp-jquery-ui-css', $jquery_ui_url);
|
|
|
|
|
|
|
234 |
|
235 |
// elFinder CSS
|
236 |
+
wp_register_style( 'fmp-elfinder-css', $this->url('elFinder/css/elfinder.min.css'), array('fmp-jquery-ui-css') );
|
237 |
|
238 |
// elFinder theme CSS
|
239 |
+
if($this->url('jquery-ui-1.11.4/jquery-ui.min.css') == $jquery_ui_url ) wp_register_style( 'fmp-elfinder-theme-css', $this->url('elFinder/css/theme.css'), array('fmp-elfinder-css') );
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
|
241 |
// elFinder Scripts depends on jQuery UI core, selectable, draggable, droppable, resizable, dialog and slider.
|
242 |
+
wp_register_script( 'fmp-elfinder-script', $this->url('elFinder/js/elfinder.full.js'), array('jquery', 'jquery-ui-core', 'jquery-ui-selectable', 'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-resizable', 'jquery-ui-dialog', 'jquery-ui-slider', 'jquery-ui-tabs') );
|
243 |
+
|
244 |
+
}
|
245 |
|
246 |
/**
|
247 |
*
|
315 |
$this->render('', 'admin' . DS . 'settings');
|
316 |
|
317 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
318 |
|
319 |
/**
|
320 |
*
|
465 |
|
466 |
}
|
467 |
|
468 |
+
include( plugin_dir_path( __FILE__ ) . ".." . DS . "views" . DS . $view_file);
|
469 |
|
470 |
}
|
471 |
|
506 |
return $string;
|
507 |
|
508 |
}
|
509 |
+
|
510 |
+
/**
|
511 |
+
*
|
512 |
+
* @function save_options
|
513 |
+
*
|
514 |
+
* */
|
515 |
+
public function save_options(){
|
516 |
+
update_option($this->prefix, $this->options);
|
517 |
+
}
|
518 |
}
|
519 |
|
BootStart/CSV.php
DELETED
@@ -1,107 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
*
|
4 |
-
* Workis with .csv extension file
|
5 |
-
*
|
6 |
-
* @package BootStart_0_1_0
|
7 |
-
*
|
8 |
-
* @since version 0.1.0
|
9 |
-
*
|
10 |
-
*
|
11 |
-
*
|
12 |
-
* @name CSV
|
13 |
-
*
|
14 |
-
* @author Aftabul Islam <toaihimel@gmail.com>
|
15 |
-
*
|
16 |
-
* @license GNU/GPLv3 or later
|
17 |
-
*
|
18 |
-
*
|
19 |
-
*
|
20 |
-
* */
|
21 |
-
|
22 |
-
class FM_CSV{
|
23 |
-
|
24 |
-
/**
|
25 |
-
*
|
26 |
-
* @var string $path :: This variable is the file path of the .csv file.
|
27 |
-
*
|
28 |
-
* */
|
29 |
-
protected $path;
|
30 |
-
|
31 |
-
/**
|
32 |
-
*
|
33 |
-
* @var array $callback :: The callback function for every row.
|
34 |
-
*
|
35 |
-
* */
|
36 |
-
protected $callback;
|
37 |
-
|
38 |
-
/**
|
39 |
-
*
|
40 |
-
* @var string $token :: The token that devides the column of the csv.
|
41 |
-
*
|
42 |
-
* */
|
43 |
-
protected $token;
|
44 |
-
|
45 |
-
/**
|
46 |
-
*
|
47 |
-
* @var file-pointer $fp :: The pointer of the .csv file.
|
48 |
-
*
|
49 |
-
* */
|
50 |
-
protected $fp;
|
51 |
-
|
52 |
-
/**
|
53 |
-
*
|
54 |
-
* @var array $headers :: The headers of the .csv file.
|
55 |
-
*
|
56 |
-
* */
|
57 |
-
public $headers;
|
58 |
-
|
59 |
-
/**
|
60 |
-
*
|
61 |
-
* @var string $message :: Any message that the class has to show.
|
62 |
-
*
|
63 |
-
* */
|
64 |
-
protected $message;
|
65 |
-
|
66 |
-
/**
|
67 |
-
*
|
68 |
-
* Constructor function
|
69 |
-
*
|
70 |
-
* @param string $path :: Path of the .csv file. The path should be absolute path of the file.
|
71 |
-
*
|
72 |
-
* @param array $callback_function :: This is used to callback a function with the row array.
|
73 |
-
*
|
74 |
-
* @param string $token :: The token that devides the .csv columns
|
75 |
-
*
|
76 |
-
* */
|
77 |
-
public function __construct( $path = null, $token = ',' ){
|
78 |
-
|
79 |
-
// Checks if the file path is valid.
|
80 |
-
if( !$path ){
|
81 |
-
$this->message .= '<br/>Error: File Path is empty. It is essential that you input a valid file path.<br/>';
|
82 |
-
return;
|
83 |
-
}
|
84 |
-
|
85 |
-
$this->path = $path;
|
86 |
-
$this->token = $token;
|
87 |
-
|
88 |
-
// Opening the file
|
89 |
-
$this->fp = fopen( $path, "r" );
|
90 |
-
|
91 |
-
// Getting the header data
|
92 |
-
$this->headers = fgetcsv( $this->fp, 0, $this->token );
|
93 |
-
|
94 |
-
}
|
95 |
-
|
96 |
-
/**
|
97 |
-
*
|
98 |
-
* get_row function
|
99 |
-
*
|
100 |
-
* This function gets the row of the .csv file.
|
101 |
-
*
|
102 |
-
* */
|
103 |
-
public function get_row(){
|
104 |
-
return fgetcsv( $this->fp, 0, $this->token );
|
105 |
-
}
|
106 |
-
|
107 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BootStart/OptionsManager.php
DELETED
@@ -1,263 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
*
|
4 |
-
* Managers options. Works with BootStart Class
|
5 |
-
*
|
6 |
-
* @package BootStart_0_1_0
|
7 |
-
*
|
8 |
-
* @since version 0.1.0
|
9 |
-
*
|
10 |
-
*
|
11 |
-
*
|
12 |
-
* @name CSV
|
13 |
-
*
|
14 |
-
* @author Aftabul Islam <toaihimel@gmail.com>
|
15 |
-
*
|
16 |
-
* @license GNU/GPLv3 or later
|
17 |
-
*
|
18 |
-
*
|
19 |
-
*
|
20 |
-
* */
|
21 |
-
|
22 |
-
class FM_OptionsManager{
|
23 |
-
|
24 |
-
/**
|
25 |
-
*
|
26 |
-
* @var string $name Name of the plugin.
|
27 |
-
*
|
28 |
-
* */
|
29 |
-
protected $name;
|
30 |
-
|
31 |
-
/**
|
32 |
-
*
|
33 |
-
* @var string $prefix Prefix of the plugin calculated from then name.
|
34 |
-
*
|
35 |
-
* */
|
36 |
-
protected $prefix;
|
37 |
-
|
38 |
-
/**
|
39 |
-
*
|
40 |
-
* @var string $options_name Name of the option which is going to be stored in the wpdb.
|
41 |
-
* It is same as the prefix but added for clearification.
|
42 |
-
*
|
43 |
-
* */
|
44 |
-
protected $options_name;
|
45 |
-
|
46 |
-
/**
|
47 |
-
*
|
48 |
-
* @var array $options The options are stored in this variable.
|
49 |
-
*
|
50 |
-
* */
|
51 |
-
public $options;
|
52 |
-
|
53 |
-
/**
|
54 |
-
*
|
55 |
-
* The main constructor function. Initializes and loads the options from the database.
|
56 |
-
*
|
57 |
-
* @param string $name Name of the plugin. It helps to retrive option data.
|
58 |
-
*
|
59 |
-
* */
|
60 |
-
function __construct($name = null){
|
61 |
-
|
62 |
-
$this->name = $name;
|
63 |
-
$this->prefix = str_replace(' ', '-', trim($name) );
|
64 |
-
$this->options_name = $this->prefix;
|
65 |
-
|
66 |
-
// Retrive the options from the database.
|
67 |
-
$this->options = $this->retrive();
|
68 |
-
|
69 |
-
// Registering shutdown function as destructor
|
70 |
-
register_shutdown_function(array($this, 'destruct'));
|
71 |
-
|
72 |
-
}
|
73 |
-
|
74 |
-
/**
|
75 |
-
*
|
76 |
-
* This function retrives the options from the database.
|
77 |
-
* If the options data is not present then it creates and retrives the data.
|
78 |
-
*
|
79 |
-
* @return array $options
|
80 |
-
*
|
81 |
-
* */
|
82 |
-
protected function retrive(){
|
83 |
-
|
84 |
-
$this->options = get_option($this->prefix);
|
85 |
-
|
86 |
-
if( empty($this->options) ){
|
87 |
-
|
88 |
-
update_option($this->prefix,array());
|
89 |
-
$this->options = array();
|
90 |
-
|
91 |
-
} else return $this->escaping_data( $this->options );
|
92 |
-
|
93 |
-
}
|
94 |
-
|
95 |
-
/**
|
96 |
-
*
|
97 |
-
* @function escaping_data
|
98 |
-
* @param array $options
|
99 |
-
* Filters the options
|
100 |
-
*
|
101 |
-
* */
|
102 |
-
public function escaping_data($options){
|
103 |
-
return $options;
|
104 |
-
}
|
105 |
-
|
106 |
-
/**
|
107 |
-
*
|
108 |
-
* This function sets the value value of an option.
|
109 |
-
*
|
110 |
-
* @params string $name Name of the option.
|
111 |
-
* @params mixed $value Value against the name.
|
112 |
-
*
|
113 |
-
* @return bool/string $error Error or successess message.
|
114 |
-
*
|
115 |
-
* */
|
116 |
-
public function set($name, $value){
|
117 |
-
|
118 |
-
$this->options[$name] = $value;
|
119 |
-
|
120 |
-
}
|
121 |
-
|
122 |
-
/**
|
123 |
-
*
|
124 |
-
* This function returns the value of the option
|
125 |
-
*
|
126 |
-
* @param string $name Name of the option.
|
127 |
-
*
|
128 |
-
* @reurn mixed $value Value set against the name.
|
129 |
-
*
|
130 |
-
* */
|
131 |
-
public function get($name){
|
132 |
-
|
133 |
-
return $this->options[$name];
|
134 |
-
|
135 |
-
}
|
136 |
-
|
137 |
-
/**
|
138 |
-
*
|
139 |
-
* Returns a form that manipulates the options.
|
140 |
-
*
|
141 |
-
* @params array $list List of the options that is the forms to be generated.
|
142 |
-
*
|
143 |
-
* @retrun A HTML form to manipulate options.
|
144 |
-
*
|
145 |
-
* */
|
146 |
-
public function get_form(array $list){
|
147 |
-
|
148 |
-
|
149 |
-
$form = "<form method='post' action='' >";
|
150 |
-
$form .='<table><tbody>';
|
151 |
-
|
152 |
-
// Traversing the entire list
|
153 |
-
foreach($list as $li){
|
154 |
-
|
155 |
-
$name = $li['key'];
|
156 |
-
$type = isset($li['type']) && !empty($li['type']) ? $li['type'] : 'text';
|
157 |
-
$label = $li['label'];
|
158 |
-
$id = $name.'_id';
|
159 |
-
$class = "OMDC_input ".$li['class'];
|
160 |
-
$required = isset($li['required']) && $li['required'] ? 'required' : '' ;
|
161 |
-
$default = isset($li['default']) ? $li['default'] : '';
|
162 |
-
|
163 |
-
$value = $this->path_to_val($name);
|
164 |
-
|
165 |
-
$value = $value ? $value : $default;
|
166 |
-
|
167 |
-
// Genarating input fields.
|
168 |
-
$input ='<tr><td>';
|
169 |
-
$input .= "<label for='{$id}' class='OMDC_label'>{$label}</label></td>";
|
170 |
-
$input .= "<td/><input type='{$type}' name='{$name}' id='{$id}' class='{$class}' value='{$value}' {$required} /><br/>";
|
171 |
-
$input .= "</td></tr>";
|
172 |
-
$form .= $input;
|
173 |
-
}
|
174 |
-
$form .= "<tr><td><input type='submit' value='Save' id='op_submit' /></td><td id='op_message'></td></tr>";
|
175 |
-
$form .= "</tbody></table>";
|
176 |
-
$form .= "</form>";
|
177 |
-
|
178 |
-
return $form;
|
179 |
-
|
180 |
-
}
|
181 |
-
|
182 |
-
/**
|
183 |
-
*
|
184 |
-
* Saves the data from the settings form
|
185 |
-
*
|
186 |
-
* @param array $list List of the settings
|
187 |
-
*
|
188 |
-
* @return string $string Success/Error Message.
|
189 |
-
*
|
190 |
-
* @todo Sanitize post data
|
191 |
-
*
|
192 |
-
* */
|
193 |
-
public function save_form($list){
|
194 |
-
|
195 |
-
if( empty($_POST) ) return;
|
196 |
-
|
197 |
-
$posts = $_POST;
|
198 |
-
|
199 |
-
$keys = array_keys($posts);
|
200 |
-
foreach ($keys as $key){
|
201 |
-
|
202 |
-
$value = $posts[$key];
|
203 |
-
$this->path_to_val($key, $value);
|
204 |
-
|
205 |
-
}
|
206 |
-
|
207 |
-
}
|
208 |
-
|
209 |
-
/**
|
210 |
-
*
|
211 |
-
* Converts string to value
|
212 |
-
*
|
213 |
-
* @param string $name The array string path.
|
214 |
-
*
|
215 |
-
* @param string $set If the value needs to be stored. If false the value is searched and returned. Default is false.
|
216 |
-
*
|
217 |
-
* @param mixed $val The value which has to be set.
|
218 |
-
*
|
219 |
-
* @return mixed $value The value of the options. Returns false if the value doesn't exists.
|
220 |
-
*
|
221 |
-
* */
|
222 |
-
protected function path_to_val($name, $val = '' ){
|
223 |
-
|
224 |
-
// calculating path
|
225 |
-
$nested = explode(':', $name);
|
226 |
-
$path = '';
|
227 |
-
foreach($nested as $ne){
|
228 |
-
$path .= "['{$ne}']";
|
229 |
-
}
|
230 |
-
$statement = '$setted = isset($this->options'.$path.');';
|
231 |
-
eval($statement);
|
232 |
-
|
233 |
-
if( !empty($val) ){
|
234 |
-
|
235 |
-
$statement = '$this->options'.$path." = '{$val}';";
|
236 |
-
eval($statement);
|
237 |
-
return true;
|
238 |
-
|
239 |
-
} elseif($setted){
|
240 |
-
|
241 |
-
$statement = '$value = $this->options'.$path.';';
|
242 |
-
eval($statement);
|
243 |
-
return $value;
|
244 |
-
|
245 |
-
}else {
|
246 |
-
|
247 |
-
return false;
|
248 |
-
|
249 |
-
}
|
250 |
-
|
251 |
-
}
|
252 |
-
|
253 |
-
/**
|
254 |
-
*
|
255 |
-
* Destructor function which saves the options value to the database.
|
256 |
-
*
|
257 |
-
* */
|
258 |
-
public function destruct(){
|
259 |
-
|
260 |
-
update_option($this->prefix, $this->options);
|
261 |
-
|
262 |
-
}
|
263 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BootStart/SiteBackup.php
DELETED
@@ -1,24 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
*
|
4 |
-
* @file All the site backup functionality will go here.
|
5 |
-
*
|
6 |
-
* */
|
7 |
-
|
8 |
-
// Security Check
|
9 |
-
if( !defined( 'ABSPATH' ) ) die();
|
10 |
-
|
11 |
-
if( !class_exists('SiteBackup') ):
|
12 |
-
|
13 |
-
/**
|
14 |
-
*
|
15 |
-
* @class SiteBackup Main functionality of the site backup module
|
16 |
-
*
|
17 |
-
* */
|
18 |
-
class SiteBackup{
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
-
endif;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BootStart/__init__.php
DELETED
@@ -1,20 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
*
|
5 |
-
* Initialize and loads the entire framework
|
6 |
-
*
|
7 |
-
* @package plugin-name
|
8 |
-
*
|
9 |
-
* */
|
10 |
-
|
11 |
-
$modules = array(
|
12 |
-
|
13 |
-
'BootStart',
|
14 |
-
'OptionsManager',
|
15 |
-
'SiteBackup'
|
16 |
-
|
17 |
-
);
|
18 |
-
|
19 |
-
// Loading all the files
|
20 |
-
foreach ( $modules as $module ) require_once( $module . '.php' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
css/admin-style.css
CHANGED
@@ -340,7 +340,7 @@ input[type=radio]
|
|
340 |
float: right;
|
341 |
}
|
342 |
|
343 |
-
.row{
|
344 |
width: 98%;
|
345 |
background-color: white;
|
346 |
min-height: 100px;
|
340 |
float: right;
|
341 |
}
|
342 |
|
343 |
+
.gb-fm-row{
|
344 |
width: 98%;
|
345 |
background-color: white;
|
346 |
min-height: 100px;
|
file-manager.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
*
|
4 |
* Plugin Name: File Manager
|
5 |
* Author Name: Aftabul Islam
|
6 |
-
* Version: 4.1.
|
7 |
* Author Email: toaihimel@gmail.com
|
8 |
* License: GPLv2
|
9 |
* Description: Manage your file the way you like. You can upload, delete, copy, move, rename, compress, extract files. You don't need to worry about ftp. It is realy simple and easy to use.
|
@@ -21,7 +21,7 @@ if( !defined( 'DS' ) ){
|
|
21 |
require_once('elFinder' . DS . 'elFinder.php');
|
22 |
|
23 |
// Including bootstarter
|
24 |
-
require_once('BootStart' . DS . '
|
25 |
|
26 |
class FM extends FM_BootStart {
|
27 |
|
@@ -99,9 +99,6 @@ class FM extends FM_BootStart {
|
|
99 |
* */
|
100 |
public function connector(){
|
101 |
|
102 |
-
// Checks if the current user have enough authorization to operate.
|
103 |
-
if( !current_user_can('manage_options') ) die();
|
104 |
-
|
105 |
//~ Holds the list of avilable file operations.
|
106 |
$file_operation_list = array(
|
107 |
'open', // Open directory
|
@@ -155,6 +152,7 @@ class FM extends FM_BootStart {
|
|
155 |
|
156 |
$opts = array(
|
157 |
'bind' => array(
|
|
|
158 |
'*' => 'logger'
|
159 |
),
|
160 |
'debug' => true,
|
@@ -187,6 +185,12 @@ class FM extends FM_BootStart {
|
|
187 |
die();
|
188 |
}
|
189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
/**
|
191 |
*
|
192 |
* @function site_backup Backup functionality invoked
|
3 |
*
|
4 |
* Plugin Name: File Manager
|
5 |
* Author Name: Aftabul Islam
|
6 |
+
* Version: 4.1.6
|
7 |
* Author Email: toaihimel@gmail.com
|
8 |
* License: GPLv2
|
9 |
* Description: Manage your file the way you like. You can upload, delete, copy, move, rename, compress, extract files. You don't need to worry about ftp. It is realy simple and easy to use.
|
21 |
require_once('elFinder' . DS . 'elFinder.php');
|
22 |
|
23 |
// Including bootstarter
|
24 |
+
require_once('BootStart' . DS . 'BootStart.php');
|
25 |
|
26 |
class FM extends FM_BootStart {
|
27 |
|
99 |
* */
|
100 |
public function connector(){
|
101 |
|
|
|
|
|
|
|
102 |
//~ Holds the list of avilable file operations.
|
103 |
$file_operation_list = array(
|
104 |
'open', // Open directory
|
152 |
|
153 |
$opts = array(
|
154 |
'bind' => array(
|
155 |
+
'ls.pre tree.pre parents.pre tmb.pre zipdl.pre size.pre mkdir.pre mkfile.pre rm.pre rename.pre duplicate.pre paste.pre upload.pre get.pre put.pre archive.pre extract.pre search.pre info.pre dim.pre resize.pre netmount.pre url.pre callback.pre chmod.pre' => array(&$this, 'security_check'),
|
156 |
'*' => 'logger'
|
157 |
),
|
158 |
'debug' => true,
|
185 |
die();
|
186 |
}
|
187 |
|
188 |
+
public function security_check(){
|
189 |
+
// Checks if the current user have enough authorization to operate.
|
190 |
+
if( ! wp_verify_nonce( $_POST['file_manager_security_token'] ,'file-manager-security-token') || !current_user_can( 'manage_options' ) ) wp_die();
|
191 |
+
check_ajax_referer('file-manager-security-token', 'file_manager_security_token');
|
192 |
+
}
|
193 |
+
|
194 |
/**
|
195 |
*
|
196 |
* @function site_backup Backup functionality invoked
|
img/File Manager Permission System(Pro).png
CHANGED
File without changes
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: aihimel, shovonchoudhury
|
|
3 |
Donate link: http://www.giribaz.com/
|
4 |
Tags: file manager, wordpress file manager, wp file manager, FTP, elfinder, file Browser, manage files, upload, delete, rename, copy, move, online file browser, remote file manager, drag and drop, folder upload
|
5 |
Requires at least: 4.4.0
|
6 |
-
Tested up to: 4.
|
7 |
Stable tag: trunk
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -113,63 +113,74 @@ Yes, I will support the plugin.
|
|
113 |
|
114 |
== Changelog ==
|
115 |
|
116 |
-
= 1.
|
117 |
|
118 |
-
*
|
|
|
|
|
119 |
|
120 |
-
=
|
121 |
|
122 |
-
*
|
|
|
123 |
|
124 |
-
=
|
125 |
|
126 |
-
*
|
127 |
|
128 |
-
=
|
129 |
|
130 |
-
* Extra slash
|
131 |
-
* Security update.
|
132 |
|
133 |
-
=
|
134 |
|
135 |
-
*
|
136 |
-
* Security Updated
|
137 |
|
138 |
-
=
|
139 |
|
140 |
-
*
|
|
|
|
|
141 |
|
142 |
-
=
|
143 |
|
144 |
-
*
|
|
|
|
|
|
|
|
|
|
|
145 |
|
146 |
= 2.2.4 =
|
147 |
|
148 |
* Data is not valid problem fixed.
|
149 |
|
150 |
-
=
|
151 |
|
152 |
-
*
|
153 |
|
154 |
-
=
|
155 |
|
156 |
-
*
|
157 |
-
* Logging system added
|
158 |
|
159 |
-
=
|
160 |
|
161 |
-
*
|
162 |
-
*
|
163 |
-
* fm_options hook added
|
164 |
|
165 |
-
=
|
166 |
|
167 |
-
*
|
|
|
168 |
|
169 |
-
=
|
170 |
|
171 |
-
*
|
172 |
|
173 |
-
=
|
174 |
|
175 |
-
*
|
|
|
|
|
|
|
|
3 |
Donate link: http://www.giribaz.com/
|
4 |
Tags: file manager, wordpress file manager, wp file manager, FTP, elfinder, file Browser, manage files, upload, delete, rename, copy, move, online file browser, remote file manager, drag and drop, folder upload
|
5 |
Requires at least: 4.4.0
|
6 |
+
Tested up to: 4.8
|
7 |
Stable tag: trunk
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
113 |
|
114 |
== Changelog ==
|
115 |
|
116 |
+
= 4.1.6 (10 Jun, 2017) =
|
117 |
|
118 |
+
* Empty Downloaded file fixed.
|
119 |
+
* Non-ASCII character on file/folder name
|
120 |
+
* Tested on WordPress 4.8
|
121 |
|
122 |
+
= 4.1.4 (2 March, 2017) =
|
123 |
|
124 |
+
* Lanugage option added
|
125 |
+
* Designe issue fixed
|
126 |
|
127 |
+
= 4.1.3 (19 February, 2017) =
|
128 |
|
129 |
+
* Lower version of PHP error fixed
|
130 |
|
131 |
+
= 4.1.2 (5 January, 2017) =
|
132 |
|
133 |
+
* Extra slash issue solved
|
|
|
134 |
|
135 |
+
= 4.1.1 (14 December, 2016) =
|
136 |
|
137 |
+
* Minor UI changes
|
|
|
138 |
|
139 |
+
= 4.1.0 =
|
140 |
|
141 |
+
* UI changed
|
142 |
+
* Server configuration panel added
|
143 |
+
* fm_options hook added
|
144 |
|
145 |
+
= 4.0.4 =
|
146 |
|
147 |
+
* OS independent file path structure
|
148 |
+
* Logging system added
|
149 |
+
|
150 |
+
= 3.0.0 =
|
151 |
+
|
152 |
+
* Bug fixed and Interface updated.
|
153 |
|
154 |
= 2.2.4 =
|
155 |
|
156 |
* Data is not valid problem fixed.
|
157 |
|
158 |
+
= 2.2.3 =
|
159 |
|
160 |
+
* Chromium design issue fixed.
|
161 |
|
162 |
+
= 2.2.2 =
|
163 |
|
164 |
+
* Extra character output fixed.
|
|
|
165 |
|
166 |
+
= 2.2.1 =
|
167 |
|
168 |
+
* Page speed optimized
|
169 |
+
* Security Updated
|
|
|
170 |
|
171 |
+
= 2.2.0 =
|
172 |
|
173 |
+
* Extra slash problem on file edit has been checked.
|
174 |
+
* Security update.
|
175 |
|
176 |
+
= 2.0.1 =
|
177 |
|
178 |
+
* Activation error fixed with PHP 5.2
|
179 |
|
180 |
+
= 2.0 =
|
181 |
|
182 |
+
* Internal structure updated.
|
183 |
+
|
184 |
+
= 1.0 =
|
185 |
+
|
186 |
+
* Initial release of the plugin.
|
views/admin/files.php
CHANGED
@@ -6,7 +6,20 @@
|
|
6 |
* */
|
7 |
defined('ABSPATH') or die();
|
8 |
global $FileManager;
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
if( !current_user_can('manage_options') ) die();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
?>
|
11 |
|
12 |
<div id='file-manager'>
|
@@ -20,7 +33,9 @@ PLUGINS_URL = '<?php echo plugins_url();?>';
|
|
20 |
jQuery(document).ready(function(){
|
21 |
jQuery('#file-manager').elfinder({
|
22 |
url: ajaxurl,
|
23 |
-
customData:{action: 'connector'}
|
|
|
|
|
24 |
});
|
25 |
});
|
26 |
|
6 |
* */
|
7 |
defined('ABSPATH') or die();
|
8 |
global $FileManager;
|
9 |
+
$language_settings = unserialize(stripslashes($FileManager->options['file_manager_settings']['language']));
|
10 |
+
if($language_settings['code'] != 'LANG'){
|
11 |
+
$language_code = $language_settings['code'];
|
12 |
+
$lang_file_url = $language_settings['file-url'];
|
13 |
+
}
|
14 |
+
|
15 |
if( !current_user_can('manage_options') ) die();
|
16 |
+
wp_enqueue_style( 'fmp-jquery-ui-css' );
|
17 |
+
wp_enqueue_style( 'fmp-elfinder-css' );
|
18 |
+
wp_enqueue_style( 'fmp-elfinder-theme-css' );
|
19 |
+
|
20 |
+
wp_enqueue_script('fmp-elfinder-script');
|
21 |
+
// Loading lanugage file
|
22 |
+
if( isset($lang_file_url) ) wp_enqueue_script('fmp-elfinder-lang', $lang_file_url, array('fmp-elfinder-script'));
|
23 |
?>
|
24 |
|
25 |
<div id='file-manager'>
|
33 |
jQuery(document).ready(function(){
|
34 |
jQuery('#file-manager').elfinder({
|
35 |
url: ajaxurl,
|
36 |
+
customData:{action: 'connector', file_manager_security_token: '<?php echo wp_create_nonce( "file-manager-security-token" ); ?>'},
|
37 |
+
lang: '<?php if( isset($language_code) ) echo $language_code?>',
|
38 |
+
requestType: 'post',
|
39 |
});
|
40 |
});
|
41 |
|
views/admin/footer.php
CHANGED
File without changes
|
views/admin/header.php
CHANGED
@@ -8,6 +8,8 @@
|
|
8 |
// Security Check
|
9 |
if( !defined( 'ABSPATH' ) ) die();
|
10 |
global $FileManager;
|
|
|
|
|
11 |
?>
|
12 |
<div class='fm-header'>
|
13 |
|
8 |
// Security Check
|
9 |
if( !defined( 'ABSPATH' ) ) die();
|
10 |
global $FileManager;
|
11 |
+
wp_enqueue_style( 'fmp-admin-style' );
|
12 |
+
wp_enqueue_script( 'fmp-admin-script' );
|
13 |
?>
|
14 |
<div class='fm-header'>
|
15 |
|
views/admin/index.php
CHANGED
@@ -9,26 +9,19 @@
|
|
9 |
if( !defined('ABSPATH') ) die();
|
10 |
global $FileManager;
|
11 |
?>
|
12 |
-
|
13 |
-
<?php
|
14 |
-
// Loading admin assets
|
15 |
-
$FileManager->admin_assets();
|
16 |
-
|
17 |
-
?>
|
18 |
-
|
19 |
<?php require_once( 'header.php' ); ?>
|
20 |
|
21 |
<div class='fm-container'>
|
22 |
|
23 |
<div class='col-main'>
|
24 |
|
25 |
-
<div class='row'>
|
26 |
|
27 |
<?php include 'files.php'; ?>
|
28 |
|
29 |
</div>
|
30 |
|
31 |
-
<div class='row fm-data'>
|
32 |
<?php require_once('utility.php'); ?>
|
33 |
</div>
|
34 |
|
9 |
if( !defined('ABSPATH') ) die();
|
10 |
global $FileManager;
|
11 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
<?php require_once( 'header.php' ); ?>
|
13 |
|
14 |
<div class='fm-container'>
|
15 |
|
16 |
<div class='col-main'>
|
17 |
|
18 |
+
<div class='gb-fm-row'>
|
19 |
|
20 |
<?php include 'files.php'; ?>
|
21 |
|
22 |
</div>
|
23 |
|
24 |
+
<div class='gb-fm-row fm-data'>
|
25 |
<?php require_once('utility.php'); ?>
|
26 |
</div>
|
27 |
|
views/admin/language-code.php
ADDED
@@ -0,0 +1,262 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* @file language-code.php
|
5 |
+
* @description Codes for manipulation language
|
6 |
+
*
|
7 |
+
* */
|
8 |
+
|
9 |
+
// Security check
|
10 |
+
if(!defined('ABSPATH')) die();
|
11 |
+
|
12 |
+
/**
|
13 |
+
*
|
14 |
+
* @class FMLanguage
|
15 |
+
* @description Works with language
|
16 |
+
*
|
17 |
+
* */
|
18 |
+
class FMLanguage{
|
19 |
+
|
20 |
+
/**
|
21 |
+
*
|
22 |
+
* @var array $languages
|
23 |
+
* @description Keeps all the language and it's full name
|
24 |
+
*
|
25 |
+
* */
|
26 |
+
public $languages;
|
27 |
+
|
28 |
+
/**
|
29 |
+
*
|
30 |
+
* @function __construct
|
31 |
+
* @description Main constructor function
|
32 |
+
*
|
33 |
+
* */
|
34 |
+
public function __construct($lc){
|
35 |
+
$this->languages = $lc;
|
36 |
+
}
|
37 |
+
|
38 |
+
public function find_name($search_code){
|
39 |
+
|
40 |
+
foreach($this->languages as $code => $lang){
|
41 |
+
if($search_code == $code) return $lang;
|
42 |
+
}
|
43 |
+
|
44 |
+
}
|
45 |
+
|
46 |
+
public function available_languages(){
|
47 |
+
|
48 |
+
global $FileManager;
|
49 |
+
|
50 |
+
$elfinder_files = scandir( plugin_dir_path( __FILE__ ) . ".." . DS . ".." . DS . "elFinder" . DS . "js" . DS . "i18n" );
|
51 |
+
for($I = 2, $lang = array(); $I < count($elfinder_files); $I++){
|
52 |
+
|
53 |
+
$file_name = $elfinder_files[$I];
|
54 |
+
$code = explode('.', $file_name); $code = $code[1];
|
55 |
+
$name = $this->find_name($code);
|
56 |
+
|
57 |
+
$lang[] = array(
|
58 |
+
'code' => $code,
|
59 |
+
'name' => $name,
|
60 |
+
'file-url' => $FileManager->url('elFinder/js/i18n/') . $file_name
|
61 |
+
);
|
62 |
+
}
|
63 |
+
|
64 |
+
return $lang;
|
65 |
+
|
66 |
+
}
|
67 |
+
|
68 |
+
}
|
69 |
+
|
70 |
+
global $fm_languages;
|
71 |
+
$fm_languages = new FMLanguage(
|
72 |
+
array(
|
73 |
+
"LANG" => "Default",
|
74 |
+
"aa" => "Afar",
|
75 |
+
"ab" => "Abkhazian",
|
76 |
+
"ae" => "Avestan",
|
77 |
+
"af" => "Afrikaans",
|
78 |
+
"ak" => "Akan",
|
79 |
+
"am" => "Amharic",
|
80 |
+
"an" => "Aragonese",
|
81 |
+
"ar" => "Arabic",
|
82 |
+
"as" => "Assamese",
|
83 |
+
"av" => "Avaric",
|
84 |
+
"ay" => "Aymara",
|
85 |
+
"az" => "Azerbaijani",
|
86 |
+
"ba" => "Bashkir",
|
87 |
+
"be" => "Belarusian",
|
88 |
+
"bg" => "Bulgarian",
|
89 |
+
"bh" => "Bihari",
|
90 |
+
"bi" => "Bislama",
|
91 |
+
"bm" => "Bambara",
|
92 |
+
"bn" => "Bengali",
|
93 |
+
"bo" => "Tibetan",
|
94 |
+
"br" => "Breton",
|
95 |
+
"bs" => "Bosnian",
|
96 |
+
"ca" => "Catalan",
|
97 |
+
"ce" => "Chechen",
|
98 |
+
"ch" => "Chamorro",
|
99 |
+
"co" => "Corsican",
|
100 |
+
"cr" => "Cree",
|
101 |
+
"cs" => "Czech",
|
102 |
+
"cu" => "Church Slavic",
|
103 |
+
"cv" => "Chuvash",
|
104 |
+
"cy" => "Welsh",
|
105 |
+
"da" => "Danish",
|
106 |
+
"de" => "German",
|
107 |
+
"dv" => "Divehi",
|
108 |
+
"dz" => "Dzongkha",
|
109 |
+
"ee" => "Ewe",
|
110 |
+
"el" => "Greek",
|
111 |
+
"en" => "English",
|
112 |
+
"eo" => "Esperanto",
|
113 |
+
"es" => "Spanish",
|
114 |
+
"et" => "Estonian",
|
115 |
+
"eu" => "Basque",
|
116 |
+
"fa" => "Persian",
|
117 |
+
"ff" => "Fulah",
|
118 |
+
"fi" => "Finnish",
|
119 |
+
"fj" => "Fijian",
|
120 |
+
"fo" => "Faroese",
|
121 |
+
"fr" => "French",
|
122 |
+
"fy" => "Western Frisian",
|
123 |
+
"ga" => "Irish",
|
124 |
+
"gd" => "Scottish Gaelic",
|
125 |
+
"gl" => "Galician",
|
126 |
+
"gn" => "Guarani",
|
127 |
+
"gu" => "Gujarati",
|
128 |
+
"gv" => "Manx",
|
129 |
+
"ha" => "Hausa",
|
130 |
+
"he" => "Hebrew",
|
131 |
+
"hi" => "Hindi",
|
132 |
+
"ho" => "Hiri Motu",
|
133 |
+
"hr" => "Croatian",
|
134 |
+
"ht" => "Haitian",
|
135 |
+
"hu" => "Hungarian",
|
136 |
+
"hy" => "Armenian",
|
137 |
+
"hz" => "Herero",
|
138 |
+
"ia" => "Interlingua (International Auxiliary Language Association)",
|
139 |
+
"id" => "Indonesian",
|
140 |
+
"ie" => "Interlingue",
|
141 |
+
"ig" => "Igbo",
|
142 |
+
"ii" => "Sichuan Yi",
|
143 |
+
"ik" => "Inupiaq",
|
144 |
+
"io" => "Ido",
|
145 |
+
"is" => "Icelandic",
|
146 |
+
"it" => "Italian",
|
147 |
+
"iu" => "Inuktitut",
|
148 |
+
"jp" => "Japanese",
|
149 |
+
"jv" => "Javanese",
|
150 |
+
"ka" => "Georgian",
|
151 |
+
"kg" => "Kongo",
|
152 |
+
"ki" => "Kikuyu",
|
153 |
+
"kj" => "Kwanyama",
|
154 |
+
"kk" => "Kazakh",
|
155 |
+
"kl" => "Kalaallisut",
|
156 |
+
"km" => "Khmer",
|
157 |
+
"kn" => "Kannada",
|
158 |
+
"ko" => "Korean",
|
159 |
+
"kr" => "Kanuri",
|
160 |
+
"ks" => "Kashmiri",
|
161 |
+
"ku" => "Kurdish",
|
162 |
+
"kv" => "Komi",
|
163 |
+
"kw" => "Cornish",
|
164 |
+
"ky" => "Kirghiz",
|
165 |
+
"la" => "Latin",
|
166 |
+
"lb" => "Luxembourgish",
|
167 |
+
"lg" => "Ganda",
|
168 |
+
"li" => "Limburgish",
|
169 |
+
"ln" => "Lingala",
|
170 |
+
"lo" => "Lao",
|
171 |
+
"lt" => "Lithuanian",
|
172 |
+
"lu" => "Luba-Katanga",
|
173 |
+
"lv" => "Latvian",
|
174 |
+
"mg" => "Malagasy",
|
175 |
+
"mh" => "Marshallese",
|
176 |
+
"mi" => "Maori",
|
177 |
+
"mk" => "Macedonian",
|
178 |
+
"ml" => "Malayalam",
|
179 |
+
"mn" => "Mongolian",
|
180 |
+
"mr" => "Marathi",
|
181 |
+
"ms" => "Malay",
|
182 |
+
"mt" => "Maltese",
|
183 |
+
"my" => "Burmese",
|
184 |
+
"na" => "Nauru",
|
185 |
+
"nb" => "Norwegian Bokmal",
|
186 |
+
"nd" => "North Ndebele",
|
187 |
+
"ne" => "Nepali",
|
188 |
+
"ng" => "Ndonga",
|
189 |
+
"nl" => "Dutch",
|
190 |
+
"nn" => "Norwegian Nynorsk",
|
191 |
+
"no" => "Norwegian",
|
192 |
+
"nr" => "South Ndebele",
|
193 |
+
"nv" => "Navajo",
|
194 |
+
"ny" => "Chichewa",
|
195 |
+
"oc" => "Occitan",
|
196 |
+
"oj" => "Ojibwa",
|
197 |
+
"om" => "Oromo",
|
198 |
+
"or" => "Oriya",
|
199 |
+
"os" => "Ossetian",
|
200 |
+
"pa" => "Panjabi",
|
201 |
+
"pi" => "Pali",
|
202 |
+
"pl" => "Polish",
|
203 |
+
"ps" => "Pashto",
|
204 |
+
"pt" => "Portuguese",
|
205 |
+
"pt_BR" => "Portuguese(Brazil)",
|
206 |
+
"qu" => "Quechua",
|
207 |
+
"rm" => "Raeto-Romance",
|
208 |
+
"rn" => "Kirundi",
|
209 |
+
"ro" => "Romanian",
|
210 |
+
"ru" => "Russian",
|
211 |
+
"rw" => "Kinyarwanda",
|
212 |
+
"sa" => "Sanskrit",
|
213 |
+
"sc" => "Sardinian",
|
214 |
+
"sd" => "Sindhi",
|
215 |
+
"se" => "Northern Sami",
|
216 |
+
"sg" => "Sango",
|
217 |
+
"si" => "Sinhala",
|
218 |
+
"sk" => "Slovak",
|
219 |
+
"sl" => "Slovenian",
|
220 |
+
"sm" => "Samoan",
|
221 |
+
"sn" => "Shona",
|
222 |
+
"so" => "Somali",
|
223 |
+
"sq" => "Albanian",
|
224 |
+
"sr" => "Serbian",
|
225 |
+
"ss" => "Swati",
|
226 |
+
"st" => "Southern Sotho",
|
227 |
+
"su" => "Sundanese",
|
228 |
+
"sv" => "Swedish",
|
229 |
+
"sw" => "Swahili",
|
230 |
+
"ta" => "Tamil",
|
231 |
+
"te" => "Telugu",
|
232 |
+
"tg" => "Tajik",
|
233 |
+
"th" => "Thai",
|
234 |
+
"ti" => "Tigrinya",
|
235 |
+
"tk" => "Turkmen",
|
236 |
+
"tl" => "Tagalog",
|
237 |
+
"tn" => "Tswana",
|
238 |
+
"to" => "Tonga",
|
239 |
+
"tr" => "Turkish",
|
240 |
+
"ts" => "Tsonga",
|
241 |
+
"tt" => "Tatar",
|
242 |
+
"tw" => "Twi",
|
243 |
+
"ty" => "Tahitian",
|
244 |
+
"ug" => "Uighur",
|
245 |
+
"ug_CN" => "Uighur(China)",
|
246 |
+
"uk" => "Ukrainian",
|
247 |
+
"ur" => "Urdu",
|
248 |
+
"uz" => "Uzbek",
|
249 |
+
"ve" => "Venda",
|
250 |
+
"vi" => "Vietnamese",
|
251 |
+
"vo" => "Volapuk",
|
252 |
+
"wa" => "Walloon",
|
253 |
+
"wo" => "Wolof",
|
254 |
+
"xh" => "Xhosa",
|
255 |
+
"yi" => "Yiddish",
|
256 |
+
"yo" => "Yoruba",
|
257 |
+
"za" => "Zhuang",
|
258 |
+
"zh" => "Chinese",
|
259 |
+
"zh_CN" => "Chinese(China)",
|
260 |
+
"zh_TW" => "Chinese(Taiwan)",
|
261 |
+
"zu" => "Zulu"
|
262 |
+
));
|
views/admin/permission_system.php
CHANGED
@@ -25,13 +25,13 @@ $FileManager->admin_assets();
|
|
25 |
This is a demo of <a href='http://giribaz.com/wordpress-file-manager-plugin/'>File Manager Permission System(Pro)</a> Extension.
|
26 |
<button onClick="window.location = 'http://giribaz.com/wordpress-file-manager-plugin/'">Get It Now!</button>
|
27 |
</div>
|
28 |
-
<div class='row'>
|
29 |
|
30 |
<img src='<?php echo plugin_dir_url(__FILE__) . '../../img/File Manager Permission System(Pro).png'?>'>
|
31 |
|
32 |
</div>
|
33 |
|
34 |
-
<!--<div class='row fm-data'>
|
35 |
<?php require_once('utility.php'); ?>
|
36 |
</div>-->
|
37 |
|
25 |
This is a demo of <a href='http://giribaz.com/wordpress-file-manager-plugin/'>File Manager Permission System(Pro)</a> Extension.
|
26 |
<button onClick="window.location = 'http://giribaz.com/wordpress-file-manager-plugin/'">Get It Now!</button>
|
27 |
</div>
|
28 |
+
<div class='gb-fm-row'>
|
29 |
|
30 |
<img src='<?php echo plugin_dir_url(__FILE__) . '../../img/File Manager Permission System(Pro).png'?>'>
|
31 |
|
32 |
</div>
|
33 |
|
34 |
+
<!--<div class='gb-fm-row fm-data'>
|
35 |
<?php require_once('utility.php'); ?>
|
36 |
</div>-->
|
37 |
|
views/admin/settings.php
CHANGED
@@ -5,11 +5,16 @@ global $FileManager;
|
|
5 |
// Settings processing
|
6 |
if( isset( $_POST ) && !empty( $_POST ) ){
|
7 |
|
8 |
-
$
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
}
|
11 |
|
12 |
-
//~ $FileManager->pr($FileManager->options
|
13 |
|
14 |
$admin_page_url = admin_url()."admin.php?page={$FileManager->prefix}";
|
15 |
|
@@ -35,27 +40,47 @@ $admin_menu_pages = apply_filters('fm_admin_menu_sub_pages', $admin_menu_pages);
|
|
35 |
|
36 |
// Enqueing admin assets
|
37 |
$FileManager->admin_assets();
|
|
|
|
|
|
|
|
|
38 |
?>
|
39 |
<?php require_once( 'header.php' ); ?>
|
40 |
<div class='fm-container'>
|
41 |
|
42 |
<div class='col-main'>
|
43 |
|
44 |
-
<div class='row fmp-settings'>
|
45 |
|
46 |
<h2>Settings</h2>
|
47 |
|
48 |
<form action='' method='post' class='fmp-settings-form'>
|
49 |
-
|
50 |
<table>
|
51 |
<tr>
|
52 |
<td><h4>URL and Path</h4></td>
|
53 |
<td>
|
54 |
<label for='show_url_path_id'> Show </label>
|
55 |
-
<input type='radio' name='show_url_path' id='show_url_path_id' value='show' <?php if( isset( $FileManager->options
|
56 |
|
57 |
<label for='hide_url_path_id'> Hide </label>
|
58 |
-
<input type='radio' name='show_url_path' id='hide_url_path_id' value='hide' <?php if( isset( $FileManager->options
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
</td>
|
60 |
</tr>
|
61 |
<tr>
|
@@ -70,7 +95,7 @@ $FileManager->admin_assets();
|
|
70 |
|
71 |
</div>
|
72 |
|
73 |
-
<div class='row fm-data'>
|
74 |
<?php require_once('utility.php'); ?>
|
75 |
</div>
|
76 |
|
5 |
// Settings processing
|
6 |
if( isset( $_POST ) && !empty( $_POST ) ){
|
7 |
|
8 |
+
if( ! wp_verify_nonce( $_POST['file-manager-settings-security-token'] ,'file-manager-settings-security-token') || !current_user_can( 'manage_options' ) ) wp_die();
|
9 |
+
|
10 |
+
if($_POST['show_url_path'] == 'show' || $_POST['show_url_path'] == 'hide' ) $FileManager->options['file_manager_settings']['show_url_path'] = $_POST['show_url_path'];
|
11 |
+
|
12 |
+
$FileManager->options['file_manager_settings']['language'] = sanitize_text_field($_POST['language']);
|
13 |
+
|
14 |
|
15 |
}
|
16 |
|
17 |
+
//~ $FileManager->pr($FileManager->options['file_manager_settings']);
|
18 |
|
19 |
$admin_page_url = admin_url()."admin.php?page={$FileManager->prefix}";
|
20 |
|
40 |
|
41 |
// Enqueing admin assets
|
42 |
$FileManager->admin_assets();
|
43 |
+
|
44 |
+
// Language
|
45 |
+
include 'language-code.php';
|
46 |
+
global $fm_languages;
|
47 |
?>
|
48 |
<?php require_once( 'header.php' ); ?>
|
49 |
<div class='fm-container'>
|
50 |
|
51 |
<div class='col-main'>
|
52 |
|
53 |
+
<div class='gb-fm-row fmp-settings'>
|
54 |
|
55 |
<h2>Settings</h2>
|
56 |
|
57 |
<form action='' method='post' class='fmp-settings-form'>
|
58 |
+
<input type='hidden' name='file-manager-settings-security-token' value='<?php echo wp_create_nonce('file-manager-settings-security-token'); ?>'>
|
59 |
<table>
|
60 |
<tr>
|
61 |
<td><h4>URL and Path</h4></td>
|
62 |
<td>
|
63 |
<label for='show_url_path_id'> Show </label>
|
64 |
+
<input type='radio' name='show_url_path' id='show_url_path_id' value='show' <?php if( isset( $FileManager->options['file_manager_settings']['show_url_path'] ) && !empty( $FileManager->options['file_manager_settings']['show_url_path'] ) && $FileManager->options['file_manager_settings']['show_url_path'] == 'show' ) echo 'checked'; ?>/>
|
65 |
|
66 |
<label for='hide_url_path_id'> Hide </label>
|
67 |
+
<input type='radio' name='show_url_path' id='hide_url_path_id' value='hide' <?php if( isset( $FileManager->options['file_manager_settings']['show_url_path'] ) && !empty( $FileManager->options['file_manager_settings']['show_url_path'] ) && $FileManager->options['file_manager_settings']['show_url_path'] == 'hide' ) echo 'checked'; ?>/>
|
68 |
+
</td>
|
69 |
+
</tr>
|
70 |
+
<tr>
|
71 |
+
<td><h4>Select Language</h4></td>
|
72 |
+
<td>
|
73 |
+
<?php
|
74 |
+
$lang = $fm_languages->available_languages();
|
75 |
+
$language_code = unserialize(stripslashes($FileManager->options['file_manager_settings']['language']));
|
76 |
+
$language_code = $language_code['code'];
|
77 |
+
|
78 |
+
?>
|
79 |
+
<select name='language'>
|
80 |
+
<?php foreach($lang as $L): ?>
|
81 |
+
<option <?php if($language_code == $L['code']) echo "selected='selected'"; ?> value='<?php echo serialize($L)?>'><?php echo $L['name']?></option>
|
82 |
+
<?php endforeach; ?>
|
83 |
+
</select>
|
84 |
</td>
|
85 |
</tr>
|
86 |
<tr>
|
95 |
|
96 |
</div>
|
97 |
|
98 |
+
<div class='gb-fm-row fm-data'>
|
99 |
<?php require_once('utility.php'); ?>
|
100 |
</div>
|
101 |
|
views/admin/sidebar.php
CHANGED
@@ -12,17 +12,17 @@ global $FileManager;
|
|
12 |
|
13 |
<?php if(!defined('FILE_MANAGER_PREMIUM') || !defined('FILE_MANAGER_THEMEPACK')): ?>
|
14 |
<!--
|
15 |
-
<div class='row'><?php require_once( 'sales.php' ); ?></div>
|
16 |
-->
|
17 |
|
18 |
-
<div class='row'><?php require_once( 'donate.php' ); ?></div>
|
19 |
<?php endif; ?>
|
20 |
|
21 |
<?php if(!defined('FILE_MANAGER_PREMIUM')): ?>
|
22 |
-
<div class='row'><?php require_once( 'extensions.php' ); ?></div>
|
23 |
<?php endif; ?>
|
24 |
|
25 |
<?php if(!defined('FILE_MANAGER_THEMEPACK')): ?>
|
26 |
-
<div class='row'><?php require_once( 'extension-themepack.php' ); ?></div>
|
27 |
<?php endif; ?>
|
28 |
</div>
|
12 |
|
13 |
<?php if(!defined('FILE_MANAGER_PREMIUM') || !defined('FILE_MANAGER_THEMEPACK')): ?>
|
14 |
<!--
|
15 |
+
<div class='gb-fm-row'><?php require_once( 'sales.php' ); ?></div>
|
16 |
-->
|
17 |
|
18 |
+
<div class='gb-fm-row'><?php require_once( 'donate.php' ); ?></div>
|
19 |
<?php endif; ?>
|
20 |
|
21 |
<?php if(!defined('FILE_MANAGER_PREMIUM')): ?>
|
22 |
+
<div class='gb-fm-row'><?php require_once( 'extensions.php' ); ?></div>
|
23 |
<?php endif; ?>
|
24 |
|
25 |
<?php if(!defined('FILE_MANAGER_THEMEPACK')): ?>
|
26 |
+
<div class='gb-fm-row'><?php require_once( 'extension-themepack.php' ); ?></div>
|
27 |
<?php endif; ?>
|
28 |
</div>
|
views/admin/site-backup.php
CHANGED
@@ -16,7 +16,7 @@ $FileManager->admin_assets();
|
|
16 |
|
17 |
<div class='col-main'>
|
18 |
|
19 |
-
<div class='row backup-restore'>
|
20 |
<h2>Backup & Restore</h2>
|
21 |
<ul>
|
22 |
<li id='fm-backup'>Backup Now</li>
|
@@ -45,7 +45,7 @@ $FileManager->admin_assets();
|
|
45 |
</table>
|
46 |
</div>
|
47 |
|
48 |
-
<div class='row fm-data'>
|
49 |
<?php require_once('utility.php'); ?>
|
50 |
</div>
|
51 |
|
16 |
|
17 |
<div class='col-main'>
|
18 |
|
19 |
+
<div class='gb-fm-row backup-restore'>
|
20 |
<h2>Backup & Restore</h2>
|
21 |
<ul>
|
22 |
<li id='fm-backup'>Backup Now</li>
|
45 |
</table>
|
46 |
</div>
|
47 |
|
48 |
+
<div class='gb-fm-row fm-data'>
|
49 |
<?php require_once('utility.php'); ?>
|
50 |
</div>
|
51 |
|