File Manager - Version 4.1.6

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 Icon 128x128 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 CHANGED
@@ -137,14 +137,21 @@ abstract class FM_BootStart{
137
  $this->php_ini_settings();
138
 
139
  // Loading Options
140
-
141
- $this->options = new FM_OptionsManager($this->name);
 
 
 
 
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
- wp_enqueue_style($this->__('front-style'), $this->url('css/front-style.css'), false);
189
 
190
  // Including front-script.js
191
- wp_enqueue_script($this->__('front-script'), $this->url('js/front-script.js'), array(), '1.0.0', true );
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
- wp_enqueue_style( $this->__('jquery-ui-css'), $jquery_ui_url);
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
- wp_enqueue_style( $this->__('elfinder-css'), $this->url('elFinder/css/elfinder.min.css') );
216
 
217
  // elFinder theme CSS
218
- if($this->url('jquery-ui-1.11.4/jquery-ui.min.css') == $jquery_ui_url ) wp_enqueue_style( $this->__('elfinder-theme-css'), $this->url('elFinder/css/theme.css') );
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
- wp_enqueue_script( $this->__('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') );
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( $this->path( 'views' . DS . $view_file ) );
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.3
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 . '__init__.php');
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.2
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.0 =
117
 
118
- * Initial release of the plugin.
 
 
119
 
120
- = 2.0 =
121
 
122
- * Internal structure updated.
 
123
 
124
- = 2.0.1 =
125
 
126
- * Activation error fixed with PHP 5.2
127
 
128
- = 2.2.0 =
129
 
130
- * Extra slash problem on file edit has been checked.
131
- * Security update.
132
 
133
- = 2.2.1 =
134
 
135
- * Page speed optimized
136
- * Security Updated
137
 
138
- = 2.2.2 =
139
 
140
- * Extra character output fixed.
 
 
141
 
142
- = 2.2.3 =
143
 
144
- * Chromium design issue fixed.
 
 
 
 
 
145
 
146
  = 2.2.4 =
147
 
148
  * Data is not valid problem fixed.
149
 
150
- = 3.0.0 =
151
 
152
- * Bug fixed and Interface updated.
153
 
154
- = 4.0.4 =
155
 
156
- * OS independent file path structure
157
- * Logging system added
158
 
159
- = 4.1.0 =
160
 
161
- * UI changed
162
- * Server configuration panel added
163
- * fm_options hook added
164
 
165
- = 4.1.1 (14 December, 2016) =
166
 
167
- * Minor UI changes
 
168
 
169
- = 4.1.2 (5 January, 2017) =
170
 
171
- * Extra slash issue solved
172
 
173
- = 4.1.3 (19 February, 2017) =
174
 
175
- * Lower version of PHP error fixed
 
 
 
 
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
- $FileManager->options->options['file_manager_settings'] = $_POST;
 
 
 
 
 
9
 
10
  }
11
 
12
- //~ $FileManager->pr($FileManager->options->options['file_manager_settings']);
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->options['file_manager_settings']['show_url_path'] ) && !empty( $FileManager->options->options['file_manager_settings']['show_url_path'] ) && $FileManager->options->options['file_manager_settings']['show_url_path'] == 'show' ) echo 'checked'; ?>/>
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->options['file_manager_settings']['show_url_path'] ) && !empty( $FileManager->options->options['file_manager_settings']['show_url_path'] ) && $FileManager->options->options['file_manager_settings']['show_url_path'] == 'hide' ) echo 'checked'; ?>/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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