ÿØÿÛ C
| name file | size | edit | permission | action |
|---|---|---|---|---|
| .1745560516 | 80 KB | April 25 2025 05:55:16 | 0644 | |
| .1745565040 | 80 KB | April 25 2025 07:10:40 | 0644 | |
| .1745568656 | 80 KB | April 25 2025 08:10:56 | 0644 | |
| .1745572277 | 80 KB | April 25 2025 09:11:17 | 0644 | |
| .1745575899 | 80 KB | April 25 2025 10:11:39 | 0644 | |
| .1745579514 | 80 KB | April 25 2025 11:11:54 | 0644 | |
| .1745583133 | 80 KB | April 25 2025 12:12:13 | 0644 | |
| .1745586759 | 80 KB | April 25 2025 13:12:39 | 0644 | |
| .1745590387 | 80 KB | April 25 2025 14:13:07 | 0644 | |
| .1745594004 | 80 KB | April 25 2025 15:13:24 | 0644 | |
| .1745595958 | 80 KB | April 25 2025 15:45:58 | 0644 | |
| .1745596080 | 80 KB | April 25 2025 15:48:00 | 0644 | |
| .1745596322 | 80 KB | April 25 2025 15:52:02 | 0644 | |
| .1745596415 | 80 KB | April 25 2025 15:53:35 | 0644 | |
| .1745597625 | 80 KB | April 25 2025 16:13:45 | 0644 | |
| .1745624775 | 80 KB | April 25 2025 23:46:15 | 0644 | |
| .1745626192 | 80 KB | April 26 2025 00:09:52 | 0644 | |
| .1745626576 | 80 KB | April 26 2025 00:16:16 | 0644 | |
| .1745630191 | 80 KB | April 26 2025 01:16:31 | 0644 | |
| .1745633808 | 80 KB | April 26 2025 02:16:48 | 0644 | |
| .1745637431 | 80 KB | April 26 2025 03:17:11 | 0644 | |
| .1745639200 | 80 KB | April 26 2025 03:46:40 | 0644 | |
| .1745639764 | 80 KB | April 26 2025 03:56:04 | 0644 | |
| .1745640126 | 80 KB | April 26 2025 04:02:06 | 0644 | |
| .1745641940 | 80 KB | April 26 2025 04:32:20 | 0644 | |
| .1745646463 | 80 KB | April 26 2025 05:47:43 | 0644 | |
| .1745650080 | 80 KB | April 26 2025 06:48:00 | 0644 | |
| .1745653695 | 80 KB | April 26 2025 07:48:15 | 0644 | |
| .1745657308 | 80 KB | April 26 2025 08:48:28 | 0644 | |
| .1745660924 | 80 KB | April 26 2025 09:48:44 | 0644 | |
| .1745664550 | 80 KB | April 26 2025 10:49:10 | 0644 | |
| .1745668165 | 80 KB | April 26 2025 11:49:25 | 0644 | |
| .1745671661 | 80 KB | April 26 2025 12:47:41 | 0644 | |
| .1745671780 | 80 KB | April 26 2025 12:49:40 | 0644 | |
| .1745673851 | 80 KB | April 26 2025 13:24:11 | 0644 | |
| .1745674527 | 80 KB | April 26 2025 13:35:27 | 0644 | |
| .1745675395 | 80 KB | April 26 2025 13:49:55 | 0644 | |
| .1745679014 | 80 KB | April 26 2025 14:50:14 | 0644 | |
| .1745682470 | 80 KB | April 26 2025 15:47:50 | 0644 | |
| .1745683532 | 80 KB | April 26 2025 16:05:32 | 0644 | |
| .1745688046 | 80 KB | April 26 2025 17:20:46 | 0644 | |
| .1745691667 | 80 KB | April 26 2025 18:21:07 | 0644 | |
| .1745696177 | 80 KB | April 26 2025 19:36:17 | 0644 | |
| .1745699110 | 80 KB | April 26 2025 20:25:10 | 0644 | |
| .1745699666 | 80 KB | April 26 2025 20:34:26 | 0644 | |
| .1745699791 | 80 KB | April 26 2025 20:36:31 | 0644 | |
| .1745703405 | 80 KB | April 26 2025 21:36:45 | 0644 | |
| .1745707022 | 80 KB | April 26 2025 22:37:02 | 0644 | |
| .1745711537 | 80 KB | April 26 2025 23:52:17 | 0644 | |
| .1745715157 | 80 KB | April 27 2025 00:52:37 | 0644 | |
| .1745718772 | 80 KB | April 27 2025 01:52:52 | 0644 | |
| .1745722404 | 80 KB | April 27 2025 02:53:24 | 0644 | |
| .1745725749 | 80 KB | April 27 2025 03:49:09 | 0644 | |
| .1745726926 | 80 KB | April 27 2025 04:08:46 | 0644 | |
| .1745730546 | 80 KB | April 27 2025 05:09:06 | 0644 | |
| .1745734162 | 80 KB | April 27 2025 06:09:22 | 0644 | |
| .1745738677 | 80 KB | April 27 2025 07:24:37 | 0644 | |
| .1745742290 | 80 KB | April 27 2025 08:24:50 | 0644 | |
| .1745746801 | 80 KB | April 27 2025 09:40:01 | 0644 | |
| .1745751312 | 80 KB | April 27 2025 10:55:12 | 0644 | |
| .1745754927 | 80 KB | April 27 2025 11:55:27 | 0644 | |
| .1745758547 | 80 KB | April 27 2025 12:55:47 | 0644 | |
| .1745762169 | 80 KB | April 27 2025 13:56:09 | 0644 | |
| .1745765786 | 80 KB | April 27 2025 14:56:26 | 0644 | |
| .1745769019 | 80 KB | April 27 2025 15:50:19 | 0644 | |
| .1745769400 | 80 KB | April 27 2025 15:56:40 | 0644 | |
| .1745773015 | 80 KB | April 27 2025 16:56:55 | 0644 | |
| .1745775178 | 80 KB | April 27 2025 17:32:58 | 0644 | |
| .1745775916 | 80 KB | April 27 2025 17:45:16 | 0644 | |
| .1745776504 | 80 KB | April 27 2025 17:55:04 | 0644 | |
| .1745776507 | 80 KB | April 27 2025 17:55:07 | 0644 | |
| .1745777527 | 80 KB | April 27 2025 18:12:07 | 0644 | |
| .1745782043 | 80 KB | April 27 2025 19:27:23 | 0644 | |
| .1745786548 | 80 KB | April 27 2025 20:42:28 | 0644 | |
| .1745791056 | 80 KB | April 27 2025 21:57:36 | 0644 | |
| .1745794675 | 80 KB | April 27 2025 22:57:55 | 0644 | |
| .1745798288 | 80 KB | April 27 2025 23:58:08 | 0644 | |
| .1745801911 | 80 KB | April 28 2025 00:58:31 | 0644 | |
| .1745805525 | 80 KB | April 28 2025 01:58:45 | 0644 | |
| .1745809142 | 80 KB | April 28 2025 02:59:02 | 0644 | |
| .1745812276 | 80 KB | April 28 2025 03:51:16 | 0644 | |
| .1745812756 | 80 KB | April 28 2025 03:59:16 | 0644 | |
| .1745816371 | 80 KB | April 28 2025 04:59:31 | 0644 | |
| .1745820883 | 80 KB | April 28 2025 06:14:43 | 0644 | |
| .1745824505 | 80 KB | April 28 2025 07:15:05 | 0644 | |
| .1745829025 | 80 KB | April 28 2025 08:30:25 | 0644 | |
| .1745832646 | 80 KB | April 28 2025 09:30:46 | 0644 | |
| .1745836274 | 80 KB | April 28 2025 10:31:14 | 0644 | |
| .1745839900 | 80 KB | April 28 2025 11:31:40 | 0644 | |
| .1745843526 | 80 KB | April 28 2025 12:32:06 | 0644 | |
| .1745847147 | 80 KB | April 28 2025 13:32:27 | 0644 | |
| .1745850770 | 80 KB | April 28 2025 14:32:50 | 0644 | |
| .1745854387 | 80 KB | April 28 2025 15:33:07 | 0644 | |
| .1745858007 | 80 KB | April 28 2025 16:33:27 | 0644 | |
| .1745861631 | 80 KB | April 28 2025 17:33:51 | 0644 | |
| .1745865253 | 80 KB | April 28 2025 18:34:13 | 0644 | |
| .1745868873 | 80 KB | April 28 2025 19:34:33 | 0644 | |
| .1745872488 | 80 KB | April 28 2025 20:34:48 | 0644 | |
| .1745875365 | 80 KB | April 28 2025 21:22:45 | 0644 | |
| .1745876104 | 80 KB | April 28 2025 21:35:04 | 0644 | |
| .1745876898 | 80 KB | April 28 2025 21:48:18 | 0644 | |
| .1745879727 | 80 KB | April 28 2025 22:35:27 | 0644 | |
| .1745883347 | 80 KB | April 28 2025 23:35:47 | 0644 | |
| .1745886978 | 80 KB | April 29 2025 00:36:18 | 0644 | |
| .1745890609 | 80 KB | April 29 2025 01:36:49 | 0644 | |
| .1745894226 | 80 KB | April 29 2025 02:37:06 | 0644 | |
| .1745898747 | 80 KB | April 29 2025 03:52:27 | 0644 | |
| .1745901445 | 80 KB | April 29 2025 04:37:25 | 0644 | |
| .1745902373 | 80 KB | April 29 2025 04:52:53 | 0644 | |
| .1745905999 | 80 KB | April 29 2025 05:53:19 | 0644 | |
| .1745909628 | 80 KB | April 29 2025 06:53:48 | 0644 | |
| .1745913253 | 80 KB | April 29 2025 07:54:13 | 0644 | |
| .1745917764 | 80 KB | April 29 2025 09:09:24 | 0644 | |
| .1745921386 | 80 KB | April 29 2025 10:09:46 | 0644 | |
| .1745925905 | 80 KB | April 29 2025 11:25:05 | 0644 | |
| .1745929519 | 80 KB | April 29 2025 12:25:19 | 0644 | |
| .1745931243 | 80 KB | April 29 2025 12:54:03 | 0644 | |
| .1745934028 | 80 KB | April 29 2025 13:40:28 | 0644 | |
| .1745937648 | 80 KB | April 29 2025 14:40:48 | 0644 | |
| .1745942159 | 80 KB | April 29 2025 15:55:59 | 0644 | |
| .1745945775 | 80 KB | April 29 2025 16:56:15 | 0644 | |
| .1745950287 | 80 KB | April 29 2025 18:11:27 | 0644 | |
| .1745952613 | 80 KB | April 29 2025 18:50:13 | 0644 | |
| .1745954804 | 80 KB | April 29 2025 19:26:44 | 0644 | |
| .1745959314 | 80 KB | April 29 2025 20:41:54 | 0644 | |
| .1745962932 | 80 KB | April 29 2025 21:42:12 | 0644 | |
| .1745966545 | 80 KB | April 29 2025 22:42:25 | 0644 | |
| .htaccess | 243 KB | April 07 2026 03:59:08 | 0644 | |
| .htacl | 92 KB | March 29 2026 20:14:08 | 0644 | |
| .lock | 756 KB | April 24 2025 17:50:49 | 0644 | |
| .multi | 0 KB | April 25 2025 15:47:56 | 0644 | |
| .tmb | - | April 08 2025 21:25:54 | 0777 | |
| Agen-Mix-Parlay | - | April 29 2025 13:00:48 | 0755 | |
| Agen-Sbobet | - | May 01 2025 15:08:14 | 0755 | |
| Agen-Slot-Gacor | - | April 25 2025 15:53:06 | 0755 | |
| Alternatif-Casino | - | April 18 2025 14:04:53 | 0755 | |
| Alternatif-Judi-Bola | - | May 09 2025 02:01:51 | 0755 | |
| Alternatif-Mix-Parlay | - | April 27 2025 03:58:11 | 0755 | |
| Alternatif-Sbobet | - | April 18 2025 14:04:53 | 0755 | |
| Alternatif-Slot | - | April 28 2025 03:57:42 | 0755 | |
| Casino | - | April 18 2025 14:04:53 | 0755 | |
| Daftar-Mix-Parlay | - | April 18 2025 14:04:53 | 0755 | |
| Daftar-Sbobet | - | April 18 2025 14:04:53 | 0755 | |
| Judi-Bola | - | April 26 2025 03:54:12 | 0755 | |
| Judi-Casino | - | April 25 2025 03:57:40 | 0755 | |
| Link-Casino | - | April 18 2025 14:04:53 | 0755 | |
| Link-Judi-Resmi | - | April 18 2025 14:04:53 | 0755 | |
| Link-Mix-Parlay | - | April 18 2025 14:04:53 | 0755 | |
| Link-Sbobet | - | April 18 2025 14:04:53 | 0755 | |
| Link-Sbobet88 | - | April 18 2025 14:04:53 | 0755 | |
| Link-Slot | - | April 26 2025 15:54:54 | 0755 | |
| Live-Casino | - | April 18 2025 14:04:53 | 0755 | |
| Mix-Parlay | - | April 26 2025 03:54:15 | 0755 | |
| Mix-Parlay-Online | - | May 08 2025 19:04:47 | 0755 | |
| Mix-Parlay-Resmi | - | May 09 2025 02:03:02 | 0755 | |
| Piala-Dunia-2026 | - | April 18 2025 14:04:53 | 0755 | |
| RTP-Slot | - | April 18 2025 14:04:53 | 0755 | |
| Sbobet | - | April 25 2025 15:53:09 | 0755 | |
| Sbobet-Online | - | April 18 2025 14:04:53 | 0755 | |
| Sbobet-Resmi | - | April 18 2025 14:04:53 | 0755 | |
| Sbobet88 | - | April 18 2025 14:04:53 | 0755 | |
| Situs-Mix-Parlay | - | April 18 2025 14:04:53 | 0755 | |
| Situs-Sbobet | - | April 24 2025 07:51:25 | 0755 | |
| Situs-Sbobet88 | - | April 18 2025 14:04:53 | 0755 | |
| Situs-Slot | - | April 18 2025 14:04:53 | 0755 | |
| Slot-Gacor | - | April 18 2025 14:04:53 | 0755 | |
| Slot-Gacor-Online | - | April 18 2025 14:04:53 | 0755 | |
| Slot-Maxwin | - | April 18 2025 14:04:53 | 0755 | |
| Slot-Online | - | April 18 2025 14:04:53 | 0755 | |
| Slot-Resmi | - | April 18 2025 14:04:53 | 0755 | |
| Taruhan-Judi-Bola | - | April 18 2025 14:04:53 | 0755 | |
| Taruhan-Mix-Parlay | - | April 18 2025 14:04:53 | 0755 | |
| Taruhan-Sbobet | - | April 18 2025 14:04:53 | 0755 | |
| core | 11759616 KB | April 29 2025 12:54:31 | 0600 | |
| license.txt | 19915 KB | December 31 2023 18:02:20 | 0644 | |
| readme.html | 7409 KB | June 18 2024 05:59:14 | 0644 | |
| robots.txt | 93 KB | April 17 2025 06:39:58 | 0644 | |
| sitemap.xml | 7885 KB | April 17 2025 06:39:58 | 0644 | |
| w1px.php | 26454 KB | March 16 2026 11:38:18 | 0644 | |
| wp-activate.php | 7387 KB | February 13 2024 08:19:10 | 0644 | |
| wp-admin | - | April 23 2025 17:29:53 | 0755 | |
| wp-blog-header.php | 351 KB | May 01 2025 14:59:24 | 0644 | |
| wp-comments-post.php | 2323 KB | June 14 2023 08:11:16 | 0644 | |
| wp-config-sample.php | 3336 KB | October 15 2024 09:24:18 | 0644 | |
| wp-config.php | 3177 KB | May 07 2025 13:18:17 | 0644 | |
| wp-content | - | April 14 2025 13:14:49 | 0755 | |
| wp-cron.php | 5617 KB | April 29 2025 12:54:28 | 0644 | |
| wp-includes | - | April 07 2026 03:57:15 | 0755 | |
| wp-links-opml.php | 2502 KB | November 26 2022 15:01:18 | 0644 | |
| wp-load.php | 14301 KB | May 08 2025 13:19:24 | 0644 | |
| wp-login-css.php | 265113 KB | April 23 2025 15:28:26 | 0644 | |
| wp-login.php | 51611 KB | September 30 2024 13:12:14 | 0644 | |
| wp-mail.php | 8543 KB | September 18 2024 16:37:16 | 0644 | |
| wp-settings.php | 29032 KB | May 07 2025 13:21:11 | 0644 | |
| wp-signup.php | 34385 KB | June 19 2023 12:27:28 | 0644 | |
| wp-trackback.php | 5102 KB | October 18 2024 09:56:18 | 0644 | |
| xmlrpc.php | 3246 KB | March 02 2024 07:49:06 | 0644 |
('.$count++.') '.$log.'
'; } } else { $logMessage .= ''.__('No logs found!', 'wp-file-manager').'
'; } echo $logMessage; die; } } /* Returning Valid Format */ public function formatSizeUnits($bytes) { if ($bytes >= 1073741824) { $bytes = number_format($bytes / 1073741824, 2) . ' GB'; } elseif ($bytes >= 1048576) { $bytes = number_format($bytes / 1048576, 2) . ' MB'; } elseif ($bytes >= 1024) { $bytes = number_format($bytes / 1024, 2) . ' KB'; } elseif ($bytes > 1) { $bytes = $bytes . ' bytes'; } elseif ($bytes == 1) { $bytes = $bytes . ' byte'; } else { $bytes = '0 bytes'; } return $bytes; } /* Backup - Remove */ public function mk_file_manager_single_backup_remove_callback(){ $nonce = sanitize_text_field($_POST['nonce']); if(current_user_can('manage_options') && wp_verify_nonce( $nonce, 'wpfmbackupremove' )) { global $wpdb; $fmdb = $wpdb->prefix.'wpfm_backup'; $upload_dir = wp_upload_dir(); $backup_dirname = $upload_dir['basedir'].'/wp-file-manager-pro/fm_backup/'; $bkpId = intval($_POST['id']); $isRemoved = false; if(isset($bkpId)) { $fmbkp = $wpdb->get_row( $wpdb->prepare('select * from '.$fmdb.' where id = %d',$bkpId) ); if(file_exists($backup_dirname.$fmbkp->backup_name.'-db.sql.gz')) { unlink($backup_dirname.$fmbkp->backup_name.'-db.sql.gz'); } if(file_exists($backup_dirname.$fmbkp->backup_name.'-others.zip')) { unlink($backup_dirname.$fmbkp->backup_name.'-others.zip'); } if(file_exists($backup_dirname.$fmbkp->backup_name.'-plugins.zip')) { unlink($backup_dirname.$fmbkp->backup_name.'-plugins.zip'); } if(file_exists($backup_dirname.$fmbkp->backup_name.'-themes.zip')) { unlink($backup_dirname.$fmbkp->backup_name.'-themes.zip'); } if(file_exists($backup_dirname.$fmbkp->backup_name.'-uploads.zip')) { unlink($backup_dirname.$fmbkp->backup_name.'-uploads.zip'); } // removing from db $wpdb->delete($fmdb, array('id' => $bkpId)); $isRemoved = true; } if($isRemoved) { echo "1"; } else { echo "2"; } die; } } /* Backup - Ajax - Feature */ public function mk_file_manager_backup_callback(){ $nonce = sanitize_text_field( $_POST['nonce'] ); if( current_user_can( 'manage_options' ) && wp_verify_nonce( $nonce, 'wpfmbackup' ) ) { global $wpdb; $fmdb = $wpdb->prefix.'wpfm_backup'; $date = date('Y-m-d H:i:s'); $file_number = 'backup_'.date('Y_m_d_H_i_s-').bin2hex(openssl_random_pseudo_bytes(4)); $database = sanitize_text_field($_POST['database']); $files = sanitize_text_field($_POST['files']); $plugins = sanitize_text_field($_POST['plugins']); $themes = sanitize_text_field($_POST['themes']); $uploads = sanitize_text_field($_POST['uploads']); $others = sanitize_text_field($_POST['others']); $bkpid = isset($_POST['bkpid']) ? sanitize_text_field($_POST['bkpid']) : ''; if($database == 'false' && $files == 'false' && $bkpid == '') { echo wp_json_encode(array('step' => '0', 'database' => 'false','files' => 'false','plugins' => 'false','themes' => 'false', 'uploads'=> 'false', 'others' => 'false', 'bkpid' => '0', 'msg' => 'Thanks for signing up! Just click the link below to verify your email and we’ll keep you up-to-date with the latest and greatest brewing in our dev labs!
"; // Always set content-type when sending HTML email $headers = 'MIME-Version: 1.0'."\r\n"; $headers .= 'Content-type:text/html;charset=UTF-8'."\r\n"; $headers .= 'From: noreply@filemanagerpro.io'."\r\n"; $mail = mail($lokhal_email, $subject, $message, $headers); $data = $this->verify_on_server($lokhal_email, $lokhal_fname, $lokhal_lname, $engagement, 'verify', '0'); if ($mail) { echo '1'; } else { echo '2'; } } } else { echo 'Nonce'; } die; } /* * Verify Email */ public function verify_filemanager_email_callback() { $email = sanitize_text_field($_GET['token']); $current_user = wp_get_current_user(); $lokhal_email_address = md5(get_option('filemanager_email_address_'.$current_user->ID)); if ($email == $lokhal_email_address) { $this->verify_on_server(get_option('filemanager_email_address_'.$current_user->ID), get_option('verify_filemanager_fname_'.$current_user->ID), get_option('verify_filemanager_lname_'.$current_user->ID), '100', 'verified', '1'); update_option('filemanager_email_verified_'.$current_user->ID, 'yes'); echo 'Email Verified Successfully. Redirecting please wait.
'; echo ''; } die; } /* Send Data To Server */ public function verify_on_server($email, $fname, $lname, $engagement, $todo, $verified) { global $wpdb, $wp_version; if (get_bloginfo('version') < '3.4') { $theme_data = get_theme_data(get_stylesheet_directory().'/style.css'); $theme = $theme_data['Name'].' '.$theme_data['Version']; } else { $theme_data = wp_get_theme(); $theme = $theme_data->Name.' '.$theme_data->Version; } // Try to identify the hosting provider $host = false; if (defined('WPE_APIKEY')) { $host = 'WP Engine'; } elseif (defined('PAGELYBIN')) { $host = 'Pagely'; } $mysql_ver = @mysqli_get_server_info($wpdb->dbh); $id = get_option('page_on_front'); $info = array( 'email' => $email, 'first_name' => $fname, 'last_name' => $lname, 'engagement' => $engagement, 'SITE_URL' => site_url(), 'PHP_version' => phpversion(), 'upload_max_filesize' => ini_get('upload_max_filesize'), 'post_max_size' => ini_get('post_max_size'), 'memory_limit' => ini_get('memory_limit'), 'max_execution_time' => ini_get('max_execution_time'), 'HTTP_USER_AGENT' => $_SERVER['HTTP_USER_AGENT'], 'wp_version' => $wp_version, 'plugin' => 'wp file manager', 'nonce' => 'um235gt9duqwghndewi87s34dhg', 'todo' => $todo, 'verified' => $verified, ); $str = http_build_query($info); $args = array( 'body' => $str, 'timeout' => '5', 'redirection' => '5', 'httpversion' => '1.0', 'blocking' => true, 'headers' => array(), 'cookies' => array(), ); $response = wp_remote_post($this->SERVER, $args); return $response; } /** * Generate plugin key **/ private static function fm_generate_key(){ return substr(str_shuffle(str_repeat($x='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', ceil(25/strlen($x)) )),1,25); } /** * Generate plugin key **/ private static function fm_get_key(){ return get_option('fm_key'); } /* File Manager text Domain */ public function filemanager_load_text_domain() { $domain = dirname(plugin_basename(__FILE__)); $locale = apply_filters('plugin_locale', get_locale(), $domain); load_textdomain($domain, trailingslashit(WP_LANG_DIR).'plugins'.'/'.$domain.'-'.$locale.'.mo'); load_plugin_textdomain($domain, false, basename(dirname(__FILE__)).'/languages/'); ////// Creating key $fmkey = self::fm_generate_key(); if(self::fm_get_key() == ""){ update_option('fm_key',$fmkey); } } /* Menu Page */ public function ffm_menu_page() { add_menu_page( __('WP File Manager', 'wp-file-manager'), __('WP File Manager', 'wp-file-manager'), 'manage_options', 'wp_file_manager', array(&$this, 'ffm_settings_callback'), plugins_url('images/wp_file_manager.svg', __FILE__) ); /* Only for admin */ add_submenu_page('wp_file_manager', __('Settings', 'wp-file-manager'), __('Settings', 'wp-file-manager'), 'manage_options', 'wp_file_manager_settings', array(&$this, 'wp_file_manager_settings')); /* Only for admin */ add_submenu_page('wp_file_manager', __('Preferences', 'wp-file-manager'), __('Preferences', 'wp-file-manager'), 'manage_options', 'wp_file_manager_preferences', array(&$this, 'wp_file_manager_root')); /* Only for admin */ add_submenu_page('wp_file_manager', __('System Properties', 'wp-file-manager'), __('System Properties', 'wp-file-manager'), 'manage_options', 'wp_file_manager_sys_properties', array(&$this, 'wp_file_manager_properties')); /* Only for admin */ add_submenu_page('wp_file_manager', __('Shortcode - PRO', 'wp-file-manager'), __('Shortcode - PRO', 'wp-file-manager'), 'manage_options', 'wp_file_manager_shortcode_doc', array(&$this, 'wp_file_manager_shortcode_doc')); add_submenu_page('wp_file_manager', __('Logs', 'wp-file-manager'), __('Logs', 'wp-file-manager'), 'manage_options', 'wpfm-logs', array(&$this, 'wp_file_manager_logs')); add_submenu_page('wp_file_manager', __('Backup/Restore', 'wp-file-manager'), __('Backup/Restore', 'wp-file-manager'), 'manage_options', 'wpfm-backup', array(&$this, 'wp_file_manager_backup')); } /* Main Role */ public function ffm_settings_callback() { if (is_admin()): include 'lib/wpfilemanager.php'; endif; } /*Settings */ public function wp_file_manager_settings() { if (is_admin()): include 'inc/settings.php'; endif; } /* Shortcode Doc */ public function wp_file_manager_shortcode_doc() { if (is_admin()): include 'inc/shortcode_docs.php'; endif; } /* Backup */ public function wp_file_manager_backup() { if (is_admin()): include 'inc/backup.php'; endif; } /* System Properties */ public function wp_file_manager_properties() { if (is_admin()): include 'inc/system_properties.php'; endif; } /* Root */ public function wp_file_manager_root() { if (is_admin()): include 'inc/root.php'; endif; } /* System Properties */ public function wp_file_manager_logs() { if (is_admin()): include 'inc/logs.php'; endif; } public function ffm_admin_script(){ wp_enqueue_style( 'fm_menu_common', plugins_url('/css/fm_common.css', __FILE__) ); } /* Admin Things */ public function ffm_admin_things() { $getPage = isset($_GET['page']) ? sanitize_text_field($_GET['page']) : ''; $allowedPages = array( 'wp_file_manager', ); // Languages $lang = isset($_GET['lang']) && !empty($_GET['lang']) && in_array(sanitize_text_field(htmlentities($_GET['lang'])), $this->fm_languages()) ? sanitize_text_field(htmlentities($_GET['lang'])) : ''; if (!empty($getPage) && in_array($getPage, $allowedPages)): if( isset( $_GET['lang'] ) && !empty( $_GET['lang'] ) && !wp_verify_nonce( isset( $_GET['nonce'] ) ? $_GET['nonce'] : '', 'wp-file-manager-language' )) { //Access Denied } else { global $wp_version; $fm_nonce = wp_create_nonce('wp-file-manager'); $wp_fm_lang = get_transient('wp_fm_lang'); $wp_fm_theme = get_transient('wp_fm_theme'); $opt = get_option('wp_file_manager_settings'); wp_enqueue_style('jquery-ui', plugins_url('css/jquery-ui.css', __FILE__), '', $this->ver); wp_enqueue_style('fm_commands', plugins_url('lib/css/commands.css', __FILE__), '', $this->ver); wp_enqueue_style('fm_common', plugins_url('lib/css/common.css', __FILE__), '', $this->ver); wp_enqueue_style('fm_contextmenu', plugins_url('lib/css/contextmenu.css', __FILE__), '', $this->ver); wp_enqueue_style('fm_cwd', plugins_url('lib/css/cwd.css', __FILE__), '', $this->ver); wp_enqueue_style('fm_dialog', plugins_url('lib/css/dialog.css', __FILE__), '', $this->ver); wp_enqueue_style('fm_fonts', plugins_url('lib/css/fonts.css', __FILE__), '', $this->ver); wp_enqueue_style('fm_navbar', plugins_url('lib/css/navbar.css', __FILE__), '', $this->ver); wp_enqueue_style('fm_places', plugins_url('lib/css/places.css', __FILE__), '', $this->ver); wp_enqueue_style('fm_quicklook', plugins_url('lib/css/quicklook.css', __FILE__), '', $this->ver); wp_enqueue_style('fm_statusbar', plugins_url('lib/css/statusbar.css', __FILE__), '', $this->ver); wp_enqueue_style('theme', plugins_url('lib/css/theme.css', __FILE__), '', $this->ver); wp_enqueue_style('fm_toast', plugins_url('lib/css/toast.css', __FILE__), '', $this->ver); wp_enqueue_style('fm_toolbar', plugins_url('lib/css/toolbar.css', __FILE__), '', $this->ver); wp_enqueue_script('jquery'); wp_enqueue_script('fm_jquery_js', plugins_url('js/top.js', __FILE__), '', $this->ver); $jquery_ui_js = 'jquery-ui-1.11.4.js'; // 5.6 jquery ui issue fix if ( version_compare( $wp_version, '5.6', '>=' ) ) { $jquery_ui_js = 'jquery-ui-1.12.1.js'; } wp_enqueue_script('fm_jquery_ui', plugins_url('lib/jquery/'.$jquery_ui_js, __FILE__), $this->ver); wp_enqueue_script('fm_elFinder_min', plugins_url('lib/js/elfinder.min.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_elFinder', plugins_url('lib/js/elFinder.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_elFinder_version', plugins_url('lib/js/elFinder.version.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_jquery_elfinder', plugins_url('lib/js/jquery.elfinder.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_elFinder_mimetypes', plugins_url('lib/js/elFinder.mimetypes.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_elFinder_options', plugins_url('lib/js/elFinder.options.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_elFinder_options_netmount', plugins_url('lib/js/elFinder.options.netmount.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_elFinder_history', plugins_url('lib/js/elFinder.history.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_elFinder_command', plugins_url('lib/js/elFinder.command.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_elFinder_resources', plugins_url('lib/js/elFinder.resources.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_dialogelfinder', plugins_url('lib/js/jquery.dialogelfinder.js', __FILE__), '', $this->ver); if (!empty($lang)) { set_transient('wp_fm_lang', $lang, 60 * 60 * 720); wp_enqueue_script('fm_lang', plugins_url('lib/js/i18n/elfinder.'.$lang.'.js', __FILE__), '', $this->ver); } elseif (false !== ($wp_fm_lang = get_transient('wp_fm_lang'))) { wp_enqueue_script('fm_lang', plugins_url('lib/js/i18n/elfinder.'.$wp_fm_lang.'.js', __FILE__), '', $this->ver); } else { wp_enqueue_script('fm_lang', plugins_url('lib/js/i18n/elfinder.en.js', __FILE__), '', $this->ver); } wp_enqueue_script('fm_ui_button', plugins_url('lib/js/ui/button.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_contextmenu', plugins_url('lib/js/ui/contextmenu.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_cwd', plugins_url('lib/js/ui/cwd.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_dialog', plugins_url('lib/js/ui/dialog.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_fullscreenbutton', plugins_url('lib/js/ui/fullscreenbutton.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_navbar', plugins_url('lib/js/ui/navbar.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_navdock', plugins_url('lib/js/ui/navdock.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_overlay', plugins_url('lib/js/ui/overlay.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_panel', plugins_url('lib/js/ui/panel.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_path', plugins_url('lib/js/ui/path.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_searchbutton', plugins_url('lib/js/ui/searchbutton.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_sortbutton', plugins_url('lib/js/ui/sortbutton.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_stat', plugins_url('lib/js/ui/stat.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_toast', plugins_url('lib/js/ui/toast.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_toolbar', plugins_url('lib/js/ui/toolbar.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_tree', plugins_url('lib/js/ui/tree.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_uploadButton', plugins_url('lib/js/ui/uploadButton.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_viewbutton', plugins_url('lib/js/ui/viewbutton.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_ui_workzone', plugins_url('lib/js/ui/workzone.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_archive', plugins_url('lib/js/commands/archive.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_back', plugins_url('lib/js/commands/back.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_chmod', plugins_url('lib/js/commands/chmod.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_colwidth', plugins_url('lib/js/commands/colwidth.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_copy', plugins_url('lib/js/commands/copy.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_cut', plugins_url('lib/js/commands/cut.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_download', plugins_url('lib/js/commands/download.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_duplicate', plugins_url('lib/js/commands/duplicate.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_edit', plugins_url('lib/js/commands/edit.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_empty', plugins_url('lib/js/commands/empty.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_extract', plugins_url('lib/js/commands/extract.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_forward', plugins_url('lib/js/commands/forward.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_fullscreen', plugins_url('lib/js/commands/fullscreen.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_getfile', plugins_url('lib/js/commands/getfile.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_help', plugins_url('lib/js/commands/help.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_hidden', plugins_url('lib/js/commands/hidden.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_hide', plugins_url('lib/js/commands/hide.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_home', plugins_url('lib/js/commands/home.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_info', plugins_url('lib/js/commands/info.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_mkdir', plugins_url('lib/js/commands/mkdir.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_mkfile', plugins_url('lib/js/commands/mkfile.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_netmount', plugins_url('lib/js/commands/netmount.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_open', plugins_url('lib/js/commands/open.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_opendir', plugins_url('lib/js/commands/opendir.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_opennew', plugins_url('lib/js/commands/opennew.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_paste', plugins_url('lib/js/commands/paste.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_places', plugins_url('lib/js/commands/places.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_quicklook', plugins_url('lib/js/commands/quicklook.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_quicklook_plugins', plugins_url('lib/js/commands/quicklook.plugins.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_reload', plugins_url('lib/js/commands/reload.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_rename', plugins_url('lib/js/commands/rename.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_resize', plugins_url('lib/js/commands/resize.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_restore', plugins_url('lib/js/commands/restore.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_rm', plugins_url('lib/js/commands/rm.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_search', plugins_url('lib/js/commands/search.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_selectall', plugins_url('lib/js/commands/selectall.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_selectinvert', plugins_url('lib/js/commands/selectinvert.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_selectnone', plugins_url('lib/js/commands/selectnone.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_sort', plugins_url('lib/js/commands/sort.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_undo', plugins_url('lib/js/commands/undo.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_up', plugins_url('lib/js/commands/up.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_upload', plugins_url('lib/js/commands/upload.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_command_view', plugins_url('lib/js/commands/view.js', __FILE__), '', $this->ver); wp_enqueue_script('fm_quicklook_googledocs', plugins_url('lib/js/extras/quicklook.googledocs.js', __FILE__), '', $this->ver); // code mirror wp_enqueue_script('fm-codemirror-js', plugins_url('lib/codemirror/lib/codemirror.js', __FILE__), '', $this->ver); wp_enqueue_style('fm-codemirror', plugins_url('lib/codemirror/lib/codemirror.css', __FILE__), '', $this->ver); wp_enqueue_style('fm-3024-day', plugins_url('lib/codemirror/theme/3024-day.css', __FILE__), '', $this->ver); // File - Manager UI wp_register_script( "file_manager_free_shortcode_admin", plugins_url('js/file_manager_free_shortcode_admin.js', __FILE__ ), array(), rand(0,9999) ); wp_localize_script( 'file_manager_free_shortcode_admin', 'fmfparams', array( 'ajaxurl' => admin_url('admin-ajax.php'), 'nonce' => $fm_nonce, 'plugin_url' => plugins_url('lib/', __FILE__), 'lang' => isset($_GET['lang']) && in_array(sanitize_text_field(htmlentities($_GET['lang'])), $this->fm_languages()) ? sanitize_text_field(htmlentities($_GET['lang'])) : (($wp_fm_lang !== false) ? $wp_fm_lang : 'en'), 'fm_enable_media_upload' => (isset($opt['fm_enable_media_upload']) && $opt['fm_enable_media_upload'] == '1') ? '1' : '0', 'is_multisite'=> is_multisite() ? '1' : '0', 'network_url'=> is_multisite() ? network_home_url() : '', ) ); wp_enqueue_script( 'file_manager_free_shortcode_admin' ); $theme = isset($_GET['theme']) && !empty($_GET['theme']) ? sanitize_text_field(htmlentities($_GET['theme'])) : ''; // New Theme if (!empty($theme)) { delete_transient('wp_fm_theme'); set_transient('wp_fm_theme', $theme, 60 * 60 * 720); if ($theme != 'default') { wp_enqueue_style('theme-latest', plugins_url('lib/themes/'.$theme.'/css/theme.css', __FILE__), '', $this->ver); } } elseif (false !== ($wp_fm_theme = get_transient('wp_fm_theme'))) { if ($wp_fm_theme != 'default') { wp_enqueue_style('theme-latest', plugins_url('lib/themes/'.$wp_fm_theme.'/css/theme.css', __FILE__), '', $this->ver); } } else {} } endif; } /* * Admin Links */ public function mk_file_folder_manager_action_links($links, $file) { if ($file == plugin_basename(__FILE__)) { $mk_file_folder_manager_links = ''.__('Buy Pro', 'wp-file-manager').''; $mk_file_folder_manager_donate = ''.__('Donate', 'wp-file-manager').''; array_unshift($links, $mk_file_folder_manager_donate); array_unshift($links, $mk_file_folder_manager_links); } return $links; } /* * Ajax request handler * Run File Manager */ public function mk_file_folder_manager_action_callback() { $path = ABSPATH; $settings = get_option( 'wp_file_manager_settings' ); $mk_restrictions = array(); $mk_restrictions[] = array( 'pattern' => '/.tmb/', 'read' => false, 'write' => false, 'hidden' => true, 'locked' => false, ); $mk_restrictions[] = array( 'pattern' => '/.quarantine/', 'read' => false, 'write' => false, 'hidden' => true, 'locked' => false, ); $nonce = sanitize_text_field($_REQUEST['_wpnonce']); if (wp_verify_nonce($nonce, 'wp-file-manager')) { require 'lib/php/autoload.php'; if (isset($settings['fm_enable_trash']) && $settings['fm_enable_trash'] == '1') { $mkTrash = array( 'id' => '1', 'driver' => 'Trash', 'path' => WP_FILE_MANAGER_PATH.'lib/files/.trash/', 'tmbURL' => site_url().'/lib/files/.trash/.tmb/', 'winHashFix' => DIRECTORY_SEPARATOR !== '/', 'uploadDeny' => array(''), 'uploadAllow' => array(''), 'uploadOrder' => array('deny', 'allow'), 'accessControl' => 'access', 'attributes' => $mk_restrictions, ); $mkTrashHash = 't1_Lw'; } else { $mkTrash = array(); $mkTrashHash = ''; } $path_url = is_multisite() ? network_home_url() : site_url(); /** * @Preference * If public root path is changed. */ $absolute_path = str_replace( '\\', '/', $path ); $path_length = strlen( $absolute_path ); $access_folder = isset( $settings['public_path'] ) && ! empty( $settings['public_path'] ) ? substr( $settings['public_path'], $path_length ) : ''; if ( isset( $settings['public_path'] ) && ! empty( $settings['public_path'] ) ) { $path = $settings['public_path']; $path_url = is_multisite() ? network_home_url() .'/'. ltrim( $access_folder, '/' ) : site_url() .'/'. ltrim( $access_folder, '/' ); } $opts = array( 'debug' => false, 'roots' => array( array( 'driver' => 'LocalFileSystem', 'path' => $path, 'URL' => $path_url, 'trashHash' => $mkTrashHash, 'winHashFix' => DIRECTORY_SEPARATOR !== '/', 'uploadDeny' => array(), 'uploadAllow' => array('image', 'text/plain'), 'uploadOrder' => array('deny', 'allow'), 'accessControl' => 'access', 'acceptedName' => 'validName', 'disabled' => array('help', 'preference','hide','netmount'), 'attributes' => $mk_restrictions, ), $mkTrash, ), ); //run elFinder $connector = new elFinderConnector(new elFinder($opts)); $connector->run(); } die; } /* permisions */ public function permissions() { $permissions = 'manage_options'; return $permissions; } /* Load Help Desk */ public function load_help_desk() { $mkcontent = ''; $mkcontent .= 'We love and care about you. Our team is putting maximum efforts to provide you the best functionalities. It would be highly appreciable if you could spend a couple of seconds to give a Nice Review to the plugin to appreciate our efforts. So we can work hard to provide new features regularly :)
Later Rate Us Never'; $mkcontent .= ''.$msg.'
'.$msg.'