WordPress File Upload - Version 4.14.3

Version Description

  • slight change in wfu_get_filtered_recs to handle cases where b.date_from is null
  • code improvements to increase loading speed of plugin's file browser
  • added wfu_mime_content_type() function that uses several methods to get MIME type of a file
Download this release

Release Info

Developer nickboss
Plugin Icon 128x128 WordPress File Upload
Version 4.14.3
Comparing to
See all releases

Code changes from version 4.14.2 to 4.14.3

lib/wfu_admin_browser.php CHANGED
@@ -382,7 +382,7 @@ function wfu_browse_files($basedir_code, $page = -1, $only_table_rows = false) {
382
  }
383
  $ii = 1;
384
  foreach ( $dirlist as $dir ) {
385
- $dir_code = wfu_safe_store_filepath(wfu_path_abs2rel($dir['fullpath']).'[['.$sort.']]');
386
  $echo_str .= "\n\t\t\t\t".'<tr onmouseover="var actions=document.getElementsByName(\'wfu_dir_actions\'); for (var i=0; i<actions.length; i++) {actions[i].style.visibility=\'hidden\';} document.getElementById(\'wfu_dir_actions_'.$ii.'\').style.visibility=\'visible\'" onmouseout="var actions=document.getElementsByName(\'wfu_dir_actions\'); for (var i=0; i<actions.length; i++) {actions[i].style.visibility=\'hidden\';}">';
387
  $echo_str .= "\n\t\t\t\t\t".'<th class="check-column"><input type="checkbox" disabled="disabled" /></th>';
388
  $echo_str .= "\n\t\t\t\t\t".'<td class="column-primary" data-colname="Name">';
@@ -409,13 +409,15 @@ function wfu_browse_files($basedir_code, $page = -1, $only_table_rows = false) {
409
  $echo_str .= "\n\t\t\t\t".'</tr>';
410
  $ii ++;
411
  }
 
 
412
  //show contained files
413
  foreach ( $filelist as $file ) {
414
  $is_included = ( $file['filedata'] != null );
415
  $can_be_included = ( $plugin_options['includeotherfiles'] == "1" ) && !wfu_file_extension_blacklisted($file['name']);
416
  $highlighted = ( isset($file['highlighted']) && $file['highlighted'] == 1 );
417
  $file_code = '';
418
- if ( $is_included || $can_be_included ) $file_code = wfu_safe_store_filepath(wfu_path_abs2rel($file['fullpath']).'[['.$sort.']]');
419
  $echo_str .= "\n\t\t\t\t".'<tr '.( $highlighted ? 'class="wfu-highlighted" ' : '' ).'onmouseover="var actions=document.getElementsByName(\'wfu_file_actions\'); for (var i=0; i<actions.length; i++) {actions[i].style.visibility=\'hidden\';} document.getElementById(\'wfu_file_actions_'.$ii.'\').style.visibility=\'visible\'" onmouseout="var actions=document.getElementsByName(\'wfu_file_actions\'); for (var i=0; i<actions.length; i++) {actions[i].style.visibility=\'hidden\';}">';
420
  $echo_str .= "\n\t\t\t\t\t".'<th class="check-column">';
421
  if ( $is_included || $can_be_included ) $echo_str .= "\n\t\t\t\t\t\t".'<input class="wfu_selectors'.( $is_included ? ' wfu_included' : '' ).' wfu_selcode_'.$file_code.'" type="checkbox" onchange="wfu_adminbrowser_selector_changed(this);" />';
@@ -484,6 +486,8 @@ function wfu_browse_files($basedir_code, $page = -1, $only_table_rows = false) {
484
  $echo_str .= "\n\t\t\t\t".'</tr>';
485
  $ii ++;
486
  }
 
 
487
 
488
  if ( !$only_table_rows ) {
489
  $echo_str .= "\n\t\t\t".'</tbody>';
382
  }
383
  $ii = 1;
384
  foreach ( $dirlist as $dir ) {
385
+ $dir_code = wfu_prepare_to_batch_safe_store_filepath(wfu_path_abs2rel($dir['fullpath']).'[['.$sort.']]');
386
  $echo_str .= "\n\t\t\t\t".'<tr onmouseover="var actions=document.getElementsByName(\'wfu_dir_actions\'); for (var i=0; i<actions.length; i++) {actions[i].style.visibility=\'hidden\';} document.getElementById(\'wfu_dir_actions_'.$ii.'\').style.visibility=\'visible\'" onmouseout="var actions=document.getElementsByName(\'wfu_dir_actions\'); for (var i=0; i<actions.length; i++) {actions[i].style.visibility=\'hidden\';}">';
387
  $echo_str .= "\n\t\t\t\t\t".'<th class="check-column"><input type="checkbox" disabled="disabled" /></th>';
388
  $echo_str .= "\n\t\t\t\t\t".'<td class="column-primary" data-colname="Name">';
409
  $echo_str .= "\n\t\t\t\t".'</tr>';
410
  $ii ++;
411
  }
412
+ //store dir paths to safe
413
+ wfu_batch_safe_store_filepaths();
414
  //show contained files
415
  foreach ( $filelist as $file ) {
416
  $is_included = ( $file['filedata'] != null );
417
  $can_be_included = ( $plugin_options['includeotherfiles'] == "1" ) && !wfu_file_extension_blacklisted($file['name']);
418
  $highlighted = ( isset($file['highlighted']) && $file['highlighted'] == 1 );
419
  $file_code = '';
420
+ if ( $is_included || $can_be_included ) $file_code = wfu_prepare_to_batch_safe_store_filepath(wfu_path_abs2rel($file['fullpath']).'[['.$sort.']]');
421
  $echo_str .= "\n\t\t\t\t".'<tr '.( $highlighted ? 'class="wfu-highlighted" ' : '' ).'onmouseover="var actions=document.getElementsByName(\'wfu_file_actions\'); for (var i=0; i<actions.length; i++) {actions[i].style.visibility=\'hidden\';} document.getElementById(\'wfu_file_actions_'.$ii.'\').style.visibility=\'visible\'" onmouseout="var actions=document.getElementsByName(\'wfu_file_actions\'); for (var i=0; i<actions.length; i++) {actions[i].style.visibility=\'hidden\';}">';
422
  $echo_str .= "\n\t\t\t\t\t".'<th class="check-column">';
423
  if ( $is_included || $can_be_included ) $echo_str .= "\n\t\t\t\t\t\t".'<input class="wfu_selectors'.( $is_included ? ' wfu_included' : '' ).' wfu_selcode_'.$file_code.'" type="checkbox" onchange="wfu_adminbrowser_selector_changed(this);" />';
486
  $echo_str .= "\n\t\t\t\t".'</tr>';
487
  $ii ++;
488
  }
489
+ //store file paths to safe
490
+ wfu_batch_safe_store_filepaths();
491
 
492
  if ( !$only_table_rows ) {
493
  $echo_str .= "\n\t\t\t".'</tbody>';
lib/wfu_admin_uploadedfiles.php CHANGED
@@ -239,7 +239,7 @@ function wfu_uploadedfiles_manager($page = 1, $only_table_rows = false) {
239
  $adminbrowser_href = false;
240
  if ( $file_in_root && $file_exists && !$obsolete && $actions['adminbrowser']['allowed'] ) {
241
  $only_path = wfu_basedir($file_relpath);
242
- $dir_code = wfu_safe_store_filepath($only_path.'{{'.wfu_basename($file_relpath).'}}');
243
  $adminbrowser_href = $siteurl.'/wp-admin/options-general.php?page=wordpress_file_upload&action=file_browser&dir='.$dir_code;
244
  $actions['adminbrowser']['visible'] = true;
245
  $actions['adminbrowser']['href'] = $adminbrowser_href;
@@ -256,7 +256,7 @@ function wfu_uploadedfiles_manager($page = 1, $only_table_rows = false) {
256
  }
257
  $download_href = false;
258
  if ( !$file_in_ftp && $file_exists && !$obsolete && $actions['download']['allowed'] ) {
259
- $file_code = wfu_safe_store_filepath(wfu_path_abs2rel($file_abspath));
260
  $download_href = 'javascript:wfu_download_file(\''.$file_code.'\', '.$i.');';
261
  $actions['download']['visible'] = true;
262
  $actions['download']['href'] = $download_href;
@@ -283,7 +283,7 @@ function wfu_uploadedfiles_manager($page = 1, $only_table_rows = false) {
283
  elseif ( $file_in_root && $file_exists && !$obsolete && WFU_VAR("WFU_UPLOADEDFILES_DEFACTION") == "adminbrowser" ) {
284
  if ( $adminbrowser_href === false ) {
285
  $only_path = wfu_basedir($file_relpath);
286
- $dir_code = wfu_safe_store_filepath($only_path.'{{'.wfu_basename($file_relpath).'}}');
287
  $adminbrowser_href = $siteurl.'/wp-admin/options-general.php?page=wordpress_file_upload&action=file_browser&dir='.$dir_code;
288
  }
289
  $default_link = '<a href="'.$adminbrowser_href.'" title="Open file in File Browser">'.$file_relpath.'</a>';
@@ -294,7 +294,7 @@ function wfu_uploadedfiles_manager($page = 1, $only_table_rows = false) {
294
  $default_link = '<a href="'.$link_href.'" title="Open file link">'.$file_relpath.'</a>';
295
  elseif ( !$file_in_ftp && $file_exists && !$obsolete && WFU_VAR("WFU_UPLOADEDFILES_DEFACTION") == "download" ) {
296
  if ( $download_href === false ) {
297
- $file_code = wfu_safe_store_filepath(wfu_path_abs2rel($file_abspath));
298
  $download_href = 'javascript:wfu_download_file(\''.$file_code.'\', '.$i.');';
299
  }
300
  $default_link = '<a href="'.$download_href.'" title="Download file">'.$file_relpath.'</a>';
@@ -329,6 +329,8 @@ function wfu_uploadedfiles_manager($page = 1, $only_table_rows = false) {
329
  elseif ( $col == 'actions' ) $echo_str .= "\n\t\t\t\t\t".'<td data-colname="Actions"'.( $is_visible ? '' : ' class="hidden"' ).'>'.$displayed_data["actions"].'</td>';
330
  $echo_str .= "\n\t\t\t\t".'</tr>';
331
  }
 
 
332
  if ( !$only_table_rows ) {
333
  $echo_str .= "\n\t\t\t".'</tbody>';
334
  $echo_str .= "\n\t\t".'</table>';
239
  $adminbrowser_href = false;
240
  if ( $file_in_root && $file_exists && !$obsolete && $actions['adminbrowser']['allowed'] ) {
241
  $only_path = wfu_basedir($file_relpath);
242
+ $dir_code = wfu_prepare_to_batch_safe_store_filepath($only_path.'{{'.wfu_basename($file_relpath).'}}');
243
  $adminbrowser_href = $siteurl.'/wp-admin/options-general.php?page=wordpress_file_upload&action=file_browser&dir='.$dir_code;
244
  $actions['adminbrowser']['visible'] = true;
245
  $actions['adminbrowser']['href'] = $adminbrowser_href;
256
  }
257
  $download_href = false;
258
  if ( !$file_in_ftp && $file_exists && !$obsolete && $actions['download']['allowed'] ) {
259
+ $file_code = wfu_prepare_to_batch_safe_store_filepath(wfu_path_abs2rel($file_abspath));
260
  $download_href = 'javascript:wfu_download_file(\''.$file_code.'\', '.$i.');';
261
  $actions['download']['visible'] = true;
262
  $actions['download']['href'] = $download_href;
283
  elseif ( $file_in_root && $file_exists && !$obsolete && WFU_VAR("WFU_UPLOADEDFILES_DEFACTION") == "adminbrowser" ) {
284
  if ( $adminbrowser_href === false ) {
285
  $only_path = wfu_basedir($file_relpath);
286
+ $dir_code = wfu_prepare_to_batch_safe_store_filepath($only_path.'{{'.wfu_basename($file_relpath).'}}');
287
  $adminbrowser_href = $siteurl.'/wp-admin/options-general.php?page=wordpress_file_upload&action=file_browser&dir='.$dir_code;
288
  }
289
  $default_link = '<a href="'.$adminbrowser_href.'" title="Open file in File Browser">'.$file_relpath.'</a>';
294
  $default_link = '<a href="'.$link_href.'" title="Open file link">'.$file_relpath.'</a>';
295
  elseif ( !$file_in_ftp && $file_exists && !$obsolete && WFU_VAR("WFU_UPLOADEDFILES_DEFACTION") == "download" ) {
296
  if ( $download_href === false ) {
297
+ $file_code = wfu_prepare_to_batch_safe_store_filepath(wfu_path_abs2rel($file_abspath));
298
  $download_href = 'javascript:wfu_download_file(\''.$file_code.'\', '.$i.');';
299
  }
300
  $default_link = '<a href="'.$download_href.'" title="Download file">'.$file_relpath.'</a>';
329
  elseif ( $col == 'actions' ) $echo_str .= "\n\t\t\t\t\t".'<td data-colname="Actions"'.( $is_visible ? '' : ' class="hidden"' ).'>'.$displayed_data["actions"].'</td>';
330
  $echo_str .= "\n\t\t\t\t".'</tr>';
331
  }
332
+ //store file paths to safe
333
+ wfu_batch_safe_store_filepaths();
334
  if ( !$only_table_rows ) {
335
  $echo_str .= "\n\t\t\t".'</tbody>';
336
  $echo_str .= "\n\t\t".'</table>';
lib/wfu_functions.php CHANGED
@@ -2307,6 +2307,43 @@ function wfu_safe_store_filepath($path) {
2307
  return $code;
2308
  }
2309
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2310
  /**
2311
  * Retrieve Filepath from Safe.
2312
  *
@@ -2468,6 +2505,90 @@ function wfu_file_exists($path) {
2468
  return false;
2469
  }
2470
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2471
  //********************* User Functions *****************************************
2472
 
2473
  /**
@@ -3772,7 +3893,12 @@ function wfu_get_filtered_recs($filter) {
3772
  $items = explode("$", $filerec->userdata_raw);
3773
  foreach ( $items as $item ) {
3774
  if ( trim($item) != "" ) {
3775
- list($id, $label, $key, $value, $date_from) = explode("#", $item);
 
 
 
 
 
3776
  $userdata = new stdClass();
3777
  $userdata->iduserdata = $id;
3778
  $userdata->uploadid = $filerec->uploadid;
@@ -3986,9 +4112,9 @@ function wfu_run_process_in_queue($queue_id, $proc, $params) {
3986
  $last_thread = $cur_thread;
3987
  $tcheck = time() + $limit;
3988
  }
3989
- //if time limit has passed this means that the current queue thread is
3990
- //not progressing, so we need to exit the queue otherwise there will be
3991
- //an infinite loop
3992
  elseif ( time() > $tcheck ) {
3993
  wfu_remove_queue_thread($queue_id, $thread_code);
3994
  wfu_remove_queue_thread($queue_id, $cur_thread);
2307
  return $code;
2308
  }
2309
 
2310
+ /**
2311
+ * Prepare to Batch Store Filepath to Safe.
2312
+ *
2313
+ * This function assigns a unique code to a file path and stores it to a global
2314
+ * variable so that then it is stored in User Space.
2315
+ *
2316
+ * @since 4.14.3
2317
+ *
2318
+ * @param string $path The file path.
2319
+ *
2320
+ * @return The unique code coresponding to the file path.
2321
+ */
2322
+ function wfu_prepare_to_batch_safe_store_filepath($path) {
2323
+ if ( !isset($GLOBALS["WFU_BATCH_PATHS"]) ) $GLOBALS["WFU_BATCH_PATHS"] = array();
2324
+ $code = wfu_create_random_string(16);
2325
+ $GLOBALS["WFU_BATCH_PATHS"][$code] = $path;
2326
+ return $code;
2327
+ }
2328
+
2329
+ /**
2330
+ * Batch Store Filepaths to Safe.
2331
+ *
2332
+ * This function stores many file paths into the current user's User Space. The
2333
+ * batch function is much quicker that wfu_safe_store_filepath() when a large
2334
+ * number of file paths needs to be stored, because it makes only one call to
2335
+ * the User Space.
2336
+ *
2337
+ * @since 4.14.3
2338
+ */
2339
+ function wfu_batch_safe_store_filepaths() {
2340
+ if ( !isset($GLOBALS["WFU_BATCH_PATHS"]) ) return;
2341
+ $safe_storage = ( WFU_USVAR_exists('wfu_filepath_safe_storage') ? WFU_USVAR('wfu_filepath_safe_storage') : array() );
2342
+ foreach ( $GLOBALS["WFU_BATCH_PATHS"] as $code => $path ) $safe_storage[$code] = $path;
2343
+ WFU_USVAR_store('wfu_filepath_safe_storage', $safe_storage);
2344
+ unset($GLOBALS["WFU_BATCH_PATHS"]);
2345
+ }
2346
+
2347
  /**
2348
  * Retrieve Filepath from Safe.
2349
  *
2505
  return false;
2506
  }
2507
 
2508
+ /**
2509
+ * Get MIME Type of File.
2510
+ *
2511
+ * This function gets MIME type of a file, using mime_content_type() function if
2512
+ * exists, otherwise it uses finfo_open(). If none of them exist it returns a
2513
+ * MIME type based on file extension.
2514
+ *
2515
+ * @since 4.14.3
2516
+ *
2517
+ * @param int $path The path to the file.
2518
+ *
2519
+ * @return string The MIME type.
2520
+ */
2521
+ function wfu_mime_content_type($path) {
2522
+ if ( function_exists('mime_content_type') ) {
2523
+ $mimetype = mime_content_type($path);
2524
+ return $mimetype;
2525
+ }
2526
+ elseif ( function_exists('finfo_open') ) {
2527
+ $finfo = finfo_open(FILEINFO_MIME_TYPE);
2528
+ $mimetype = finfo_file($finfo, $path);
2529
+ finfo_close($finfo);
2530
+ return $mimetype;
2531
+ }
2532
+ else {
2533
+ $mime_types = array(
2534
+ 'txt' => 'text/plain',
2535
+ 'htm' => 'text/html',
2536
+ 'html' => 'text/html',
2537
+ 'php' => 'text/html',
2538
+ 'css' => 'text/css',
2539
+ 'js' => 'application/javascript',
2540
+ 'json' => 'application/json',
2541
+ 'xml' => 'application/xml',
2542
+ 'swf' => 'application/x-shockwave-flash',
2543
+ 'flv' => 'video/x-flv',
2544
+ // images
2545
+ 'png' => 'image/png',
2546
+ 'jpe' => 'image/jpeg',
2547
+ 'jpeg' => 'image/jpeg',
2548
+ 'jpg' => 'image/jpeg',
2549
+ 'gif' => 'image/gif',
2550
+ 'bmp' => 'image/bmp',
2551
+ 'ico' => 'image/vnd.microsoft.icon',
2552
+ 'tiff' => 'image/tiff',
2553
+ 'tif' => 'image/tiff',
2554
+ 'svg' => 'image/svg+xml',
2555
+ 'svgz' => 'image/svg+xml',
2556
+ // archives
2557
+ 'zip' => 'application/zip',
2558
+ 'rar' => 'application/x-rar-compressed',
2559
+ 'exe' => 'application/x-msdownload',
2560
+ 'msi' => 'application/x-msdownload',
2561
+ 'cab' => 'application/vnd.ms-cab-compressed',
2562
+ // audio/video
2563
+ 'mp3' => 'audio/mpeg',
2564
+ 'qt' => 'video/quicktime',
2565
+ 'mov' => 'video/quicktime',
2566
+ // adobe
2567
+ 'pdf' => 'application/pdf',
2568
+ 'psd' => 'image/vnd.adobe.photoshop',
2569
+ 'ai' => 'application/postscript',
2570
+ 'eps' => 'application/postscript',
2571
+ 'ps' => 'application/postscript',
2572
+ // ms office
2573
+ 'doc' => 'application/msword',
2574
+ 'rtf' => 'application/rtf',
2575
+ 'xls' => 'application/vnd.ms-excel',
2576
+ 'ppt' => 'application/vnd.ms-powerpoint',
2577
+ 'docx' => 'application/msword',
2578
+ 'xlsx' => 'application/vnd.ms-excel',
2579
+ 'pptx' => 'application/vnd.ms-powerpoint',
2580
+ // open office
2581
+ 'odt' => 'application/vnd.oasis.opendocument.text',
2582
+ 'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
2583
+ );
2584
+ $filename = wfu_basename($path);
2585
+ $ext = wfu_fileext($filename);
2586
+ if ( array_key_exists($ext, $mime_types) )
2587
+ return $mime_types[$ext];
2588
+ else return 'application/octet-stream';
2589
+ }
2590
+ }
2591
+
2592
  //********************* User Functions *****************************************
2593
 
2594
  /**
3893
  $items = explode("$", $filerec->userdata_raw);
3894
  foreach ( $items as $item ) {
3895
  if ( trim($item) != "" ) {
3896
+ $parts = explode("#", $item);
3897
+ if ( count($parts) == 4 ) {
3898
+ list($id, $label, $key, $value) = $parts;
3899
+ $date_from = '0000-00-00 00:00:00';
3900
+ }
3901
+ else list($id, $label, $key, $value, $date_from) = $parts;
3902
  $userdata = new stdClass();
3903
  $userdata->iduserdata = $id;
3904
  $userdata->uploadid = $filerec->uploadid;
4112
  $last_thread = $cur_thread;
4113
  $tcheck = time() + $limit;
4114
  }
4115
+ //if time limit has passed this means that the current queue thread
4116
+ //is not progressing, so we need to exit the queue otherwise there
4117
+ //will be an infinite loop
4118
  elseif ( time() > $tcheck ) {
4119
  wfu_remove_queue_thread($queue_id, $thread_code);
4120
  wfu_remove_queue_thread($queue_id, $cur_thread);
readme.txt CHANGED
@@ -149,6 +149,11 @@ There is an option in plugin's settings in Dashboard to relax the CSS rules, so
149
 
150
  == Changelog ==
151
 
 
 
 
 
 
152
  = 4.14.2 =
153
  * code improved so that upload message colors correctly adjust to shortcode color settings
154
  * slight modifications to upload message colors while upload is in progress
@@ -884,6 +889,9 @@ Initial version.
884
 
885
  == Upgrade Notice ==
886
 
 
 
 
887
  = 4.14.2 =
888
  Regular update to fix some bugs and introduce some code improvements.
889
 
149
 
150
  == Changelog ==
151
 
152
+ = 4.14.3 =
153
+ * slight change in wfu_get_filtered_recs to handle cases where b.date_from is null
154
+ * code improvements to increase loading speed of plugin's file browser
155
+ * added wfu_mime_content_type() function that uses several methods to get MIME type of a file
156
+
157
  = 4.14.2 =
158
  * code improved so that upload message colors correctly adjust to shortcode color settings
159
  * slight modifications to upload message colors while upload is in progress
889
 
890
  == Upgrade Notice ==
891
 
892
+ = 4.14.3 =
893
+ Regular update to fix some bugs and introduce some code improvements.
894
+
895
  = 4.14.2 =
896
  Regular update to fix some bugs and introduce some code improvements.
897
 
release_notes.txt CHANGED
@@ -1,3 +1,3 @@
1
- <!-- --><span><strong>Version 4.14.2</strong> is a regular update that includes several bug fixes.<br /><br />
2
  For more details about this version's changes please visit the Release Notes of the plugin's </span><a href="http://www.iptanus.com/wordpress-plugins/wordpress-file-upload/">support page</a><span>.</span><!-- -->
3
  <!-- -->
1
+ <!-- --><span><strong>Version 4.14.3</strong> is a regular update that includes some bug fixes and code improvements. The most important one is a significant <strong>speed-up</strong> in loading of <strong>File Browser</strong> feature in <strong>Dashboard</strong> area of the plugin, in cases where there is a very large number of files.<br /><br />
2
  For more details about this version's changes please visit the Release Notes of the plugin's </span><a href="http://www.iptanus.com/wordpress-plugins/wordpress-file-upload/">support page</a><span>.</span><!-- -->
3
  <!-- -->
wordpress_file_upload.php CHANGED
@@ -3,7 +3,7 @@
3
  /*
4
  Plugin URI: https://www.iptanus.com/support/wordpress-file-upload
5
  Description: Simple interface to upload files from a page.
6
- Version: 4.14.2
7
  Author: Nickolas Bossinas
8
  Author URI: https://www.iptanus.com/nickolas
9
  Text Domain: wp-file-upload
3
  /*
4
  Plugin URI: https://www.iptanus.com/support/wordpress-file-upload
5
  Description: Simple interface to upload files from a page.
6
+ Version: 4.14.3
7
  Author: Nickolas Bossinas
8
  Author URI: https://www.iptanus.com/nickolas
9
  Text Domain: wp-file-upload