if (!defined('WP_FILE_MANAGER_DIRNAME')) { define('WP_FILE_MANAGER_DIRNAME', plugin_basename(dirname(__FILE__))); } if ( ! defined( 'WP_FM_SITE_URL' ) ) { define( 'WP_FM_SITE_URL', 'https://filemanagerpro.io' ); } define('WP_FILE_MANAGER_PATH', plugin_dir_path(__FILE__)); if (!class_exists('mk_file_folder_manager')): class mk_file_folder_manager { protected $SERVER = 'https://filemanagerpro.io/api/plugindata/api.php'; var $ver = '8.0.2'; /* Auto Load Hooks */ public function __construct() { add_action('activated_plugin', array(&$this, 'deactivate_file_manager_pro')); add_action('admin_menu', array(&$this, 'ffm_menu_page')); add_action('network_admin_menu', array(&$this, 'ffm_menu_page')); add_action('admin_enqueue_scripts', array(&$this, 'ffm_admin_things')); add_action('admin_enqueue_scripts', array(&$this, 'ffm_admin_script')); add_action('wp_ajax_mk_file_folder_manager', array(&$this, 'mk_file_folder_manager_action_callback')); add_action('wp_ajax_mk_fm_close_fm_help', array($this, 'mk_fm_close_fm_help')); add_filter('plugin_action_links', array(&$this, 'mk_file_folder_manager_action_links'), 10, 2); do_action('load_filemanager_extensions'); add_action('plugins_loaded', array(&$this, 'filemanager_load_text_domain')); /* File Manager Verify Email */ add_action('wp_ajax_mk_filemanager_verify_email', array(&$this, 'mk_filemanager_verify_email_callback')); add_action('wp_ajax_verify_filemanager_email', array(&$this, 'verify_filemanager_email_callback')); /* Media Upload */ add_action('wp_ajax_mk_file_folder_manager_media_upload', array(&$this, 'mk_file_folder_manager_media_upload')); /* New Feature */ add_action('init', array(&$this, 'create_auto_directory')); /* Backup - Feature */ add_action('wp_ajax_mk_file_manager_backup', array(&$this, 'mk_file_manager_backup_callback')); add_action('wp_ajax_mk_file_manager_backup_remove', array(&$this, 'mk_file_manager_backup_remove_callback')); add_action('wp_ajax_mk_file_manager_single_backup_remove', array(&$this, 'mk_file_manager_single_backup_remove_callback')); add_action('wp_ajax_mk_file_manager_single_backup_logs', array(&$this, 'mk_file_manager_single_backup_logs_callback')); add_action('wp_ajax_mk_file_manager_single_backup_restore', array(&$this, 'mk_file_manager_single_backup_restore_callback')); add_action( 'rest_api_init', function () { if(current_user_can('manage_options') || (is_multisite() && current_user_can( 'manage_network' ))){ register_rest_route( 'v1', '/fm/backup/(?P[a-zA-Z0-9-=]+)/(?P[a-zA-Z0-9-=]+)/(?P[a-zA-Z0-9-=]+)', array( 'methods' => 'GET', 'callback' => array( $this, 'fm_download_backup' ), 'permission_callback' => '__return_true', )); register_rest_route( 'v1', '/fm/backupall/(?P[a-zA-Z0-9-=]+)/(?P[a-zA-Z0-9-=]+)/(?P[a-zA-Z0-9-=]+)/(?P[a-zA-Z]+)', array( 'methods' => 'GET', 'callback' => array( $this, 'fm_download_backup_all' ), 'permission_callback' => '__return_true', )); } }); } /** * Checks if another version of Filemanager/Filemanager PRO is active and deactivates it. * Hooked on `activated_plugin` so other plugin is deactivated when current plugin is activated. * * @return void */ public function deactivate_file_manager_pro($plugin) { if ( ! in_array( $plugin, array( 'wp-file-manager/file_folder_manager.php', 'wp-file-manager-pro/file_folder_manager_pro.php' ), true ) ) { return; } $plugin_to_deactivate = 'wp-file-manager/file_folder_manager.php'; // If we just activated the free version, deactivate the pro version. if ( $plugin === $plugin_to_deactivate ) { $plugin_to_deactivate = 'wp-file-manager-pro/file_folder_manager_pro.php'; } if ( is_multisite() && is_network_admin() ) { $active_plugins = (array) get_site_option( 'active_sitewide_plugins', array() ); $active_plugins = array_keys( $active_plugins ); } else { $active_plugins = (array) get_option( 'active_plugins', array() ); } foreach ( $active_plugins as $plugin_basename ) { if ( $plugin_to_deactivate === $plugin_basename ) { deactivate_plugins( $plugin_basename ); return; } } } /* Auto Directory */ public function create_auto_directory() { $upload_dir = wp_upload_dir(); $backup_dirname = $upload_dir['basedir'].'/wp-file-manager-pro/fm_backup'; if (!file_exists($backup_dirname)) { wp_mkdir_p($backup_dirname); } // security fix $myfile = $backup_dirname."/.htaccess"; if(!file_exists($myfile)){ $myfileHandle = @fopen($myfile, 'w+'); if(!is_bool($myfileHandle)){ $txt = ''; $txt .= "\nOrder allow,deny\n"; $txt .= "Deny from all\n"; $txt .= ""; @fwrite($myfileHandle, $txt); @fclose($myfileHandle); } } // creating blank index.php inside fm_backup $ourFileName = $backup_dirname."/index.html"; if(!file_exists($ourFileName)){ $ourFileHandle = @fopen($ourFileName, 'w'); if(!is_bool($ourFileHandle)){ @fclose($ourFileHandle); @chmod($ourFileName, 0755); } } } /* Backup - Restore */ public function mk_file_manager_single_backup_restore_callback() { WP_Filesystem(); global $wp_filesystem; $nonce = sanitize_text_field($_POST['nonce']); if(current_user_can('manage_options') && wp_verify_nonce( $nonce, 'wpfmbackuprestore' )) { 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']); $result = array(); $filesDestination = WP_CONTENT_DIR.'/'; if ( strcmp($backup_dirname, "/") === 0 ) { $backup_path = $backup_dirname; }else{ $backup_path = $backup_dirname."/"; } $database = sanitize_text_field($_POST['database']); $plugins = sanitize_text_field($_POST['plugins']); $themes = sanitize_text_field($_POST['themes']); $uploads = sanitize_text_field($_POST['uploads']); $others = sanitize_text_field($_POST['others']); if($bkpid) { include('classes/files-restore.php'); $restoreFiles = new wp_file_manager_files_restore(); $fmbkp = $wpdb->get_row( $wpdb->prepare('select * from '.$fmdb.' where id = %d', $bkpid) ); if($themes == 'true') { // case 1 - Themes if(file_exists($backup_dirname.$fmbkp->backup_name.'-themes.zip')) { $wp_filesystem->delete($filesDestination.'themes',true); $restoreThemes = $restoreFiles->extract($backup_dirname.$fmbkp->backup_name.'-themes.zip',$filesDestination.'themes'); if($restoreThemes) { echo wp_json_encode(array('step' => 1, 'database' => $database,'plugins' => $plugins,'themes' => 'false', 'uploads'=> $uploads, 'others' => $others,'bkpid' => $bkpid,'msg' => '
  • '.__('Themes backup restored successfully.', 'wp-file-manager').'
  • ')); die; } else { echo wp_json_encode(array('step' => 1, 'database' => $database,'plugins' => $plugins,'themes' => 'false', 'uploads'=> $uploads, 'others' => $others,'bkpid' => $bkpid,'msg' => '
  • '.__('Unable to restore themes.', 'wp-file-manager').'
  • ')); die; } }else { echo wp_json_encode(array('step' => 1, 'database' => $database,'plugins' => $plugins,'themes' => 'false', 'uploads'=> $uploads, 'others' => $others,'bkpid' => $bkpid,'msg' => '')); die; } } else if($uploads == 'true'){ // case 2 - Uploads if ( is_multisite() ) { $path_direc = $upload_dir['basedir']; } else { $path_direc = $filesDestination.'uploads'; } if(file_exists($backup_dirname.$fmbkp->backup_name.'-uploads.zip')) { $alllist = $wp_filesystem->dirlist($path_direc); if(is_array($alllist) && !empty($alllist)) { foreach($alllist as $key=>$value) { if($key!= 'wp-file-manager-pro') { $wp_filesystem->delete($path_direc.'/'.$key,true); } } } $restoreUploads = $restoreFiles->extract($backup_dirname.$fmbkp->backup_name.'-uploads.zip',$path_direc); if($restoreUploads) { echo wp_json_encode(array('step' => 1, 'database' => $database,'plugins' => $plugins,'themes' => $themes, 'uploads'=> 'false', 'others' => $others,'bkpid' => $bkpid,'msg' => '
  • '.__('Uploads backup restored successfully.', 'wp-file-manager').'
  • ')); die; } else { echo wp_json_encode(array('step' => 1, 'database' => $database,'plugins' => $plugins,'themes' => $themes, 'uploads'=> 'false', 'others' => $others,'bkpid' => $bkpid,'msg' => '
  • '.__('Unable to restore uploads.', 'wp-file-manager').'
  • ')); die; } } else { echo wp_json_encode(array('step' => 1, 'database' => $database,'plugins' => $plugins,'themes' => $themes, 'uploads'=> 'false', 'others' => $others,'bkpid' => $bkpid,'msg' => '')); die; } } else if($others == 'true'){ // case 3 - Others if(file_exists($backup_dirname.$fmbkp->backup_name.'-others.zip')) { $alllist = $wp_filesystem->dirlist($filesDestination); if(is_array($alllist) && !empty($alllist)) { foreach($alllist as $key=>$value) { if($key != 'themes' && $key != 'uploads' && $key != 'plugins') { $wp_filesystem->delete($filesDestination.$key,true); } } } $restoreOthers = $restoreFiles->extract($backup_dirname.$fmbkp->backup_name.'-others.zip',$filesDestination); if($restoreOthers) { echo wp_json_encode(array('step' => 1, 'database' => $database,'plugins' => $plugins,'themes' => $themes, 'uploads'=> $uploads, 'others' => 'false','bkpid' => $bkpid,'msg' => '
  • '.__('Others backup restored successfully.', 'wp-file-manager').'
  • ')); die; } else { echo wp_json_encode(array('step' => 1, 'database' => $database,'plugins' => $plugins,'themes' => $themes, 'uploads'=> $uploads, 'others' => 'false','bkpid' => $bkpid,'msg' => '
  • '.__('Unable to restore others.', 'wp-file-manager').'
  • ')); die; } }else { echo wp_json_encode(array('step' => 1, 'database' => $database,'plugins' => $plugins,'themes' => $themes, 'uploads'=> $uploads, 'others' => 'false','bkpid' => $bkpid,'msg' => '')); die; } } else if($plugins == 'true'){ // case 4- Plugins if(file_exists($backup_path.$fmbkp->backup_name.'-plugins.zip')) { $alllist = $wp_filesystem->dirlist($filesDestination.'plugins'); if(is_array($alllist) && !empty($alllist)) { foreach($alllist as $key=>$value) { if($key!= 'wp-file-manager') { $wp_filesystem->delete($filesDestination.'plugins/'.$key,true); } } } $restorePlugins = $restoreFiles->extract($backup_path.$fmbkp->backup_name.'-plugins.zip',$filesDestination.'plugins'); if($restorePlugins) { echo wp_json_encode(array('step' => 1, 'database' => $database,'plugins' => 'false','themes' => $themes, 'uploads'=> $uploads, 'others' => $others,'bkpid' => $bkpid,'msg' => '
  • '.__('Plugins backup restored successfully.', 'wp-file-manager').'
  • ')); die; } else { echo wp_json_encode(array('step' => 1, 'database' => $database,'plugins' => 'false','themes' => $themes, 'uploads'=> $uploads, 'others' => $others,'bkpid' => $bkpid,'msg' => '
  • '.__('Unable to restore plugins.', 'wp-file-manager').'
  • ')); die; } }else { echo wp_json_encode(array('step' => 1, 'database' => $database,'plugins' => 'false','themes' => $themes, 'uploads'=> $uploads, 'others' => $others,'bkpid' => 0,'msg' => '')); die; } } else if($database == 'true'){ // case 5- Database if(file_exists($backup_dirname.$fmbkp->backup_name.'-db.sql.gz')) { include('classes/db-restore.php'); $restoreDatabase = new Restore_Database($fmbkp->backup_name.'-db.sql.gz'); if($restoreDatabase->restoreDb()) { echo wp_json_encode(array('step' => 0, 'database' => 'false','plugins' => $plugins,'themes' => $themes, 'uploads'=> $uploads, 'others' => $others,'bkpid' => '','msg' => '
  • '.__('Database backup restored successfully.', 'wp-file-manager').'
  • ', 'msgg' => '
  • '.__('All Done', 'wp-file-manager').'
  • ')); die; } else { echo wp_json_encode(array('step' => 0, 'database' => 'false','plugins' => $plugins,'themes' => $themes, 'uploads'=> $uploads, 'others' => $others,'bkpid' => $bkpid,'msg' => '
  • '.__('Unable to restore DB backup.', 'wp-file-manager').'
  • ')); die; } }else { echo wp_json_encode(array('step' => 1, 'database' => 'false','plugins' => $plugins,'themes' => $themes, 'uploads'=> $uploads, 'others' => $others,'bkpid' => $bkpid,'msg' => '')); die; } }else { echo wp_json_encode(array('step' => 0, 'database' => 'false','plugins' => 'false','themes' => 'false','uploads'=> 'false','others' => 'false', 'bkpid' => '', 'msg' => '
  • '.__('All Done', 'wp-file-manager').'
  • ')); die; } } else { echo wp_json_encode(array('step' => 0, 'database' => 'false','plugins' => 'false','themes' => 'false', 'uploads'=> 'false', 'others' => 'false','bkpid' => '','msg' => '
  • '.__('Unable to restore plugins.', 'wp-file-manager').'
  • ')); die; } die; } } /* Backup - Remove */ public function mk_file_manager_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/'; $bkpRids = $_POST['delarr']; $isRemoved = false; if(isset($bkpRids)) { foreach($bkpRids as $bkRid) { $bkRid = intval($bkRid); $fmbkp = $wpdb->get_row( $wpdb->prepare('select * from '.$fmdb.' where id = %d',$bkRid) ); 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' => $bkRid)); $isRemoved = true; } } if($isRemoved) { echo __('Backups removed successfully!','wp-file-manager'); } else { echo __('Unable to removed backup!','wp-file-manager'); } die; } } /* Backup Logs */ public function mk_file_manager_single_backup_logs_callback() { $nonce = sanitize_text_field($_POST['nonce']); if(current_user_can('manage_options') && wp_verify_nonce( $nonce, 'wpfmbackuplogs' )) { 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']); $logs = array(); $logMessage = ''; 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')) { $size = filesize($backup_dirname.$fmbkp->backup_name.'-db.sql.gz'); $logs[] = __('Database backup done on date ', 'wp-file-manager').$fmbkp->backup_date.' ('.$fmbkp->backup_name.'-db.sql.gz) ('.$this->formatSizeUnits($size).')'; } if(file_exists($backup_dirname.$fmbkp->backup_name.'-plugins.zip')) { $size = filesize($backup_dirname.$fmbkp->backup_name.'-plugins.zip'); $logs[] = __('Plugins backup done on date ', 'wp-file-manager').$fmbkp->backup_date.' ('.$fmbkp->backup_name.'-plugins.zip) ('.$this->formatSizeUnits($size).')'; } if(file_exists($backup_dirname.$fmbkp->backup_name.'-themes.zip')) { $size = filesize($backup_dirname.$fmbkp->backup_name.'-themes.zip'); $logs[] = __('Themes backup done on date ', 'wp-file-manager').$fmbkp->backup_date.' ('.$fmbkp->backup_name.'-themes.zip) ('.$this->formatSizeUnits($size).')'; } if(file_exists($backup_dirname.$fmbkp->backup_name.'-uploads.zip')) { $size = filesize($backup_dirname.$fmbkp->backup_name.'-uploads.zip'); $logs[] = __('Uploads backup done on date ', 'wp-file-manager').$fmbkp->backup_date.' ('.$fmbkp->backup_name.'-uploads.zip) ('.$this->formatSizeUnits($size).')'; } if(file_exists($backup_dirname.$fmbkp->backup_name.'-others.zip')) { $size = filesize($backup_dirname.$fmbkp->backup_name.'-others.zip'); $logs[] = __('Others backup done on date ', 'wp-file-manager').$fmbkp->backup_date.' ('.$fmbkp->backup_name.'-others.zip) ('.$this->formatSizeUnits($size).')'; } } $count = 1; $logMessage = '

    '.__('Logs', 'wp-file-manager').'

    '; if(isset($logs)) { foreach($logs as $log) { $logMessage .= '

    ('.$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' => '
  • '.__('Nothing selected for backup','wp-file-manager').'
  • ')); die; } if($bkpid == '') { $wpdb->insert( $fmdb, array( 'backup_name' => $file_number, 'backup_date' => $date ), array( '%s', '%s' ) ); $id = $wpdb->insert_id; } else { $id = $bkpid; } if ( ! wp_verify_nonce( $nonce, 'wpfmbackup' ) ) { echo wp_json_encode(array('step' => 0, 'msg' => '
  • '.__('Security Issue.', 'wp-file-manager').'
  • ')); } else { $fileName = $wpdb->get_row( $wpdb->prepare("select * from ".$fmdb." where id=%d",$id) ); //database if($database == 'true') { include('classes/db-backup.php'); $backupDatabase = new Backup_Database($fileName->backup_name); $result = $backupDatabase->backupTables(TABLES); if($result == '1'){ echo wp_json_encode(array('step' => 1, 'database' => 'false','files' => $files,'plugins' => $plugins,'themes' => $themes, 'uploads'=> $uploads, 'others' => $others,'bkpid' => $id,'msg' => '
  • '.__('Database backup done.', 'wp-file-manager').'
  • ')); die; } else { echo wp_json_encode(array('step' => 1, 'database' => 'false','files' => $files,'plugins' => $plugins,'themes' => $themes, 'uploads'=> $uploads, 'others' => $others,'bkpid' => $id, 'msg' => '
  • '.__('Unable to create database backup.', 'wp-file-manager').'
  • ')); die; } } else if($files == 'true') { include('classes/files-backup.php'); $upload_dir = wp_upload_dir(); $backup_dirname = $upload_dir['basedir'].'/wp-file-manager-pro/fm_backup'; $filesBackup = new wp_file_manager_files_backup(); // plugins if($plugins == 'true') { $plugin_dir = WP_PLUGIN_DIR; $backup_plugins = $filesBackup->zipData( $plugin_dir,$backup_dirname.'/'.$fileName->backup_name.'-plugins.zip'); if($backup_plugins) { echo wp_json_encode(array('step' => 1, 'database' => 'false','files' => 'true','plugins' => 'false','themes' => $themes, 'uploads'=> $uploads, 'others' => $others,'bkpid' => $id, 'msg' => '
  • '.__('Plugins backup done.', 'wp-file-manager').'
  • ')); die; } else { echo wp_json_encode(array('step' => 1, 'database' => 'false','files' => 'true','plugins' => 'false','themes' => $themes, 'uploads'=> $uploads, 'others' => $others, 'bkpid' => $id, 'msg' => '
  • '.__('Plugins backup failed.', 'wp-file-manager').'
  • ')); die; } } // themes else if($themes == 'true') { $themes_dir = get_theme_root(); $backup_themes = $filesBackup->zipData( $themes_dir,$backup_dirname.'/'.$fileName->backup_name.'-themes.zip'); if($backup_themes) { echo wp_json_encode(array('step' => 1, 'database' => 'false','files' => 'true','plugins' => 'false','themes' => 'false', 'uploads'=> $uploads, 'others' => $others, 'bkpid' => $id, 'msg' => '
  • '.__('Themes backup done.', 'wp-file-manager').'
  • ')); die; } else { echo wp_json_encode(array('step' => 1, 'database' => 'false','files' => 'true','plugins' => 'false','themes' => $themes, 'uploads'=> $uploads, 'others' => $others, 'bkpid' => $id, 'msg' => '
  • '.__('Themes backup failed.', 'wp-file-manager').'
  • ')); die; } } // uploads else if($uploads == 'true') { $wpfm_upload_dir = wp_upload_dir(); $uploads_dir = $wpfm_upload_dir['basedir']; $backup_uploads = $filesBackup->zipData( $uploads_dir,$backup_dirname.'/'.$fileName->backup_name.'-uploads.zip'); if($backup_uploads) { echo wp_json_encode(array('step' => 1, 'database' => 'false','files' => 'true','plugins' => 'false','themes' => 'false', 'uploads'=> 'false', 'others' => $others, 'bkpid' => $id, 'msg' => '
  • '.__('Uploads backup done.', 'wp-file-manager').'
  • ')); die; } else { echo wp_json_encode(array('step' => 1, 'database' => 'false','files' => 'true','plugins' => 'false','themes' => 'false', 'uploads'=> 'false', 'others' => $others, 'bkpid' => $id, 'msg' => '
  • '.__('Uploads backup failed.', 'wp-file-manager').'
  • ')); die; } } // other else if($others == 'true') { $others_dir = WP_CONTENT_DIR; $backup_others = $filesBackup->zipOther( $others_dir,$backup_dirname.'/'.$fileName->backup_name.'-others.zip'); if($backup_others) { echo wp_json_encode(array('step' => 1, 'database' => 'false','files' => 'true','plugins' => 'false','themes' => 'false', 'uploads'=> 'false', 'others' => 'false', 'bkpid' => $id, 'msg' => '
  • '.__('Others backup done.', 'wp-file-manager').'
  • ')); die; } else { echo wp_json_encode(array('step' => 1, 'database' => 'false','files' => 'true','plugins' => 'false','themes' => 'false', 'uploads'=> 'false', 'others' => 'false', 'bkpid' => $id, 'msg' => '
  • '.__('Others backup failed.', 'wp-file-manager').'
  • ')); } } else { echo wp_json_encode(array('step' => 0, 'database' => 'false', 'files' => 'false','plugins' => 'false','themes' => 'false','uploads'=> 'false','others' => 'false', 'bkpid' => $id, 'msg' => '
  • '.__('All Done', 'wp-file-manager').'
  • ')); die; } } else { echo wp_json_encode(array('step' => 0, 'database' => 'false', 'files' => 'false','plugins' => 'false','themes' => 'false','uploads'=> 'false','others' => 'false','bkpid' => $id, 'msg' => '
  • '.__('All Done', 'wp-file-manager').'
  • ')); } } } else { die(__('Invalid security token!', 'wp-file-manager')); } die; } /* Verify Email*/ public function mk_filemanager_verify_email_callback() { $current_user = wp_get_current_user(); $nonce = sanitize_text_field($_REQUEST['vle_nonce']); if (wp_verify_nonce($nonce, 'verify-filemanager-email')) { $action = sanitize_text_field($_POST['todo']); $lokhal_email = sanitize_email($_POST['lokhal_email']); $lokhal_fname = sanitize_text_field(htmlentities($_POST['lokhal_fname'])); $lokhal_lname = sanitize_text_field(htmlentities($_POST['lokhal_lname'])); // case - 1 - close if ($action == 'cancel') { set_transient('filemanager_cancel_lk_popup_'.$current_user->ID, 'filemanager_cancel_lk_popup_'.$current_user->ID, 60 * 60 * 24 * 30); update_option('filemanager_email_verified_'.$current_user->ID, 'yes'); } elseif ($action == 'verify') { $engagement = '75'; update_option('filemanager_email_address_'.$current_user->ID, $lokhal_email); update_option('verify_filemanager_fname_'.$current_user->ID, $lokhal_fname); update_option('verify_filemanager_lname_'.$current_user->ID, $lokhal_lname); update_option('filemanager_email_verified_'.$current_user->ID, 'yes'); /* Send Email Code */ $subject = 'Email Verification'; $message = " Email Verification

    Thanks for signing up! Just click the link below to verify your email and weC2@2!22ll keep you up-to-date with the latest and greatest brewing in our dev labs!

    Click Here to Verify

    "; // 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.13.2.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 .= '
    '; $mkcontent .= '
    '; $mkcontent .= ''; $mkcontent .= '
    '; $mkcontent .= '
    '; $mkcontent .= 'XWP File Manager

    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 .= '
    '; if (false === ($mk_fm_close_fm_help_c_fm = get_option('mk_fm_close_fm_help_c_fm'))) { echo apply_filters('the_content', $mkcontent); } } /* Close Help */ public function mk_fm_close_fm_help() { $what_to_do = sanitize_text_field($_POST['what_to_do']); $expire_time = 15; if ($what_to_do == 'rate_now' || $what_to_do == 'rate_never') { $expire_time = 365; } elseif ($what_to_do == 'rate_later') { $expire_time = 15; } if (false === ($mk_fm_close_fm_help_c_fm = get_option('mk_fm_close_fm_help_c_fm'))) { $set = update_option('mk_fm_close_fm_help_c_fm', 'done'); if ($set) { echo 'ok'; } else { echo 'oh'; } } else { echo 'ac'; } die; } /* Loading Custom Assets */ public function load_custom_assets() { wp_enqueue_script('fm-custom-script', plugins_url('js/fm_script.js', __FILE__), array('jquery'), $this->ver); wp_localize_script( 'fm-custom-script', 'fmscript', array( 'nonce' => wp_create_nonce('wp-file-manager-language') )); wp_enqueue_style('fm-custom-script-style', plugins_url('css/fm_script.css', __FILE__), '', $this->ver); } /* custom_css */ public function custom_css() { wp_enqueue_style('fm-custom-style', plugins_url('css/fm_custom.css', __FILE__), '', $this->ver); } /* Languages */ public function fm_languages() { $langs = array('English' => 'en', 'Arabic' => 'ar', 'Bulgarian' => 'bg', 'Catalan' => 'ca', 'Czech' => 'cs', 'Danish' => 'da', 'German' => 'de', 'Greek' => 'el', 'EspaA3ol' => 'es', 'Persian-Farsi' => 'fa', 'Faroese translation' => 'fo', 'French' => 'fr', 'Hebrew (B7EEB7 18B7@1B7!22B7@4)' => 'he', 'hr' => 'hr', 'magyar' => 'hu', 'Indonesian' => 'id', 'Italiano' => 'it', 'Japanese' => 'ja', 'Korean' => 'ko', 'Dutch' => 'nl', 'Norwegian' => 'no', 'Polski' => 'pl', 'PortuguA3@4s' => 'pt_BR', 'RomA3EEnA4E3' => 'ro', 'Russian (B0B1E3B1@3B1@3B0E4B0E1B0!16)' => 'ru', 'Slovak' => 'sk', 'Slovenian' => 'sl', 'Serbian' => 'sr', 'Swedish' => 'sv', 'TA3E8rkA3e' => 'tr', 'Uyghur' => 'ug_CN', 'Ukrainian' => 'uk', 'Vietnamese' => 'vi', 'Simplified Chinese (C7@2C4@5 1CC4E1C6 13 21)' => 'zh_CN', 'Traditional Chinese' => 'zh_TW', ); return $langs; } /* get All Themes */ public function get_themes() { $dir = dirname(__FILE__).'/lib/themes'; $theme_files = array_diff(scandir($dir), array('..', '.')); return $theme_files; } /* Success Message */ public function success($msg) { _e('

    '.$msg.'

    ', 'te-editor'); } /* Error Message */ public function error($msg) { _e('

    '.$msg.'

    ', 'te-editor'); } /* * Admin - Assets */ public function fm_custom_assets() { wp_enqueue_style('fm_custom_style', plugins_url('/css/fm_custom_style.css', __FILE__)); } /* * Media Upload */ public function mk_file_folder_manager_media_upload() { $nonce = sanitize_text_field($_REQUEST['_wpnonce']); if (current_user_can('manage_options') && wp_verify_nonce($nonce, 'wp-file-manager')) { $uploadedfiles = isset($_POST['uploadefiles']) ? $_POST['uploadefiles'] : ''; if(!empty($uploadedfiles)) { foreach($uploadedfiles as $uploadedfile) { $uploadedfile = esc_url_raw($uploadedfile); /* Start - Uploading Image to Media Lib */ if(is_multisite() && isset($_REQUEST['networkhref']) && !empty($_REQUEST['networkhref'])) { $network_home = network_home_url(); $uploadedfile = $network_home.basename($uploadedfile); } $this->upload_to_media_library($uploadedfile); /* End - Uploading Image to Media Lib */ } } } die; } /* Upload Images to Media Library */ public function upload_to_media_library($image_url) { $allowed_exts = array('jpg','jpe', 'jpeg','gif', 'png','svg', 'pdf','zip', 'ico','pdf', 'doc','docx', 'ppt','pptx', 'pps','ppsx', 'odt','xls', 'xlsx','psd', 'mp3','m4a', 'ogg','wav', 'mp4','m4v', 'mov','wmv', 'avi','mpg', 'ogv','3gp', '3g2' ); $image_url = str_replace('..', '', $image_url); $url = $image_url; preg_match('/[^\?]+\.(jpg|jpe|jpeg|gif|png|pdf|zip|ico|pdf|doc|docx|ppt|pptx|pps|ppsx|odt|xls|xlsx|psd|mp3|m4a|ogg|wav|mp4|m4v|mov|wmv|avi|mpg|ogv|3gp|3g2)/i', $url, $matches); if(isset($matches[1]) && in_array($matches[1], $allowed_exts)) { // Need to require these files if ( !function_exists('media_handle_upload') ) { require_once(ABSPATH . "wp-admin" . '/includes/image.php'); require_once(ABSPATH . "wp-admin" . '/includes/file.php'); require_once(ABSPATH . "wp-admin" . '/includes/media.php'); } $tmp = download_url( $url ); $post_id = 0; $desc = ""; $file_array = array(); $file_array['name'] = basename($matches[0]); $file_info = pathinfo($file_array['name']); $desc = $file_info['filename']; // If error storing temporarily, unlink if ( is_wp_error( $tmp ) ) { @unlink($file_array['tmp_name']); $file_array['tmp_name'] = ''; } else { $file_array['tmp_name'] = $tmp; } $id = media_handle_sideload( $file_array, $post_id, $desc ); if ( is_wp_error($id) ) { @unlink($file_array['tmp_name']); return $id; } } } /** * Function to download backup */ public function fm_download_backup($request){ $params = $request->get_params(); $backup_id = isset($params["backup_id"]) ? trim($params["backup_id"]) : ''; $type = isset($params["type"]) ? trim($params["type"]) : ''; if(!empty($backup_id) && !empty($type)){ $id = (int) base64_decode(trim($params["backup_id"])); $type = base64_decode(trim($params["type"])); $fmkey = self::fm_get_key(); if(base64_encode(site_url().$fmkey) === $params['key']){ global $wpdb; $upload_dir = wp_upload_dir(); $backup = $wpdb->get_var( $wpdb->prepare("select backup_name from ".$wpdb->prefix."wpfm_backup where id=%d",$id) ); $backup_dirname = $upload_dir['basedir'].'/wp-file-manager-pro/fm_backup/'; $backup_baseurl = $upload_dir['baseurl'].'/wp-file-manager-pro/fm_backup/'; if($type == "db"){ $bkpName = $backup.'-db.sql.gz'; }else{ $directory_separators = ['../', './','..\\', '.\\', '..']; $type = str_replace($directory_separators, '', $type); $bkpName = $backup.'-'.$type.'.zip'; } $file = $backup_dirname.$bkpName; if(file_exists($file)){ //Set Headers: $memory_limit = intval( ini_get( 'memory_limit' ) ); if ( ! extension_loaded( 'suhosin' ) && $memory_limit < 512 ) { @ini_set( 'memory_limit', '1024M' ); } @ini_set( 'max_execution_time', 6000 ); @ini_set( 'max_input_vars', 10000 ); $etag = md5_file($file); header('Pragma: public'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($file)) . ' GMT'); header("Etag: ".$etag); header('Content-Type: application/force-download'); header('Content-Disposition: inline; filename="'.$bkpName.'"'); header('Content-Transfer-Encoding: binary'); header('Content-Length: ' . filesize($file)); header('Connection: close'); if(ob_get_level()){ ob_end_clean(); } readfile($file); exit(); } else{ $messg = __( 'File doesn\'t exist to download.', 'wp-file-manager-pro'); return new WP_Error( 'fm_file_exist', $messg, array( 'status' => 404 ) ); } } else { $messg = __( 'Invalid Security Code.', 'wp-file-manager-pro'); return new WP_Error( 'fm_security_issue', $messg, array( 'status' => 404 ) ); } } if(!isset($params["backup_id"])){ $messg1 = __( 'Missing backup id.', 'wp-file-manager-pro'); return new WP_Error( 'fm_missing_params', $messg1, array( 'status' => 401 ) ); } elseif(!isset($params["type"])){ $messg2 = __( 'Missing parameter type.', 'wp-file-manager-pro'); return new WP_Error( 'fm_missing_params', $messg2, array( 'status' => 401 ) ); } else { $messg4 = __( 'Missing required parameters.', 'wp-file-manager-pro'); return new WP_Error( 'fm_missing_params', $messg4, array( 'status' => 401 ) ); } } /** * Function to download all backup zip in one */ public function fm_download_backup_all($request){ $params = $request->get_params(); $backup_id = isset($params["backup_id"]) ? trim($params["backup_id"]) : ''; $type = isset($params["type"]) ? trim($params["type"]) : ''; $all = isset($params["all"]) ? trim($params["all"]) : ''; if(!empty($backup_id) && !empty($type) && !empty($all)){ $id = (int) base64_decode(trim($params["backup_id"])); $type = base64_decode(trim($params["type"])); $fmkey = self::fm_get_key(); if(base64_encode(site_url().$fmkey) === $params['key']){ global $wpdb; $upload_dir = wp_upload_dir(); $backup = $wpdb->get_var( $wpdb->prepare("select backup_name from ".$wpdb->prefix."wpfm_backup where id=%d",$id) ); $backup_dirname = $upload_dir['basedir'].'/wp-file-manager-pro/fm_backup/'; $dir_list = scandir($backup_dirname, 1); $zip = new ZipArchive(); $zip_name = $backup."-all.zip"; if ($zip->open($zip_name, ZIPARCHIVE::CREATE || ZipArchive::OVERWRITE) === true) { foreach($dir_list as $key => $file_name){ $ext = pathinfo($file_name, PATHINFO_EXTENSION); if($file_name != '.' && $file_name != '..' && (is_dir($backup_dirname.'/'.$file_name) || $ext == 'zip' || $ext == 'gz') ){ if(strpos($file_name,$backup) !== false ){ $source_file = $backup_dirname.$dir_list[$key]; $source_file = str_replace('\\', '/', realpath($source_file)); $zip->addFromString(basename($source_file), file_get_contents($source_file)); } } } } $zip->close(); if(file_exists($zip_name)){ //Set Headers: $memory_limit = intval( ini_get( 'memory_limit' ) ); if ( ! extension_loaded( 'suhosin' ) && $memory_limit < 512 ) { @ini_set( 'memory_limit', '1024M' ); } @ini_set( 'max_execution_time', 6000 ); @ini_set( 'max_input_vars', 10000 ); $etag = md5_file($zip_name); header('Pragma: public'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($zip_name)) . ' GMT'); header("Etag: ".$etag); header('Content-Type: application/force-download'); header('Content-Disposition: inline; filename="'.$zip_name.'"'); header('Content-Transfer-Encoding: binary'); header('Content-Length: ' . filesize($zip_name)); header('Connection: close'); if(ob_get_level()){ ob_end_clean(); } readfile($zip_name); unlink($zip_name); exit(); } else{ $messg = __( 'File doesn\'t exist to download.', 'wp-file-manager-pro'); return new WP_Error( 'fm_file_exist', $messg, array( 'status' => 404 ) ); } } else { $messg = __( 'Invalid Security Code.', 'wp-file-manager-pro'); return new WP_Error( 'fm_security_issue', $messg, array( 'status' => 404 ) ); } } if(!isset($params["backup_id"])){ $messg1 = __( 'Missing backup id.', 'wp-file-manager-pro'); return new WP_Error( 'fm_missing_params', $messg1, array( 'status' => 401 ) ); } elseif(!isset($params["type"])){ $messg2 = __( 'Missing parameter type.', 'wp-file-manager-pro'); return new WP_Error( 'fm_missing_params', $messg2, array( 'status' => 401 ) ); } else { $messg4 = __( 'Missing required parameters.', 'wp-file-manager-pro'); return new WP_Error( 'fm_missing_params', $messg4, array( 'status' => 401 ) ); } } /* * Redirection */ public static function mk_fm_redirect($url){ $url= esc_url_raw($url); wp_register_script( 'mk-fm-redirect', '', array("jquery")); wp_enqueue_script( 'mk-fm-redirect' ); wp_add_inline_script('mk-fm-redirect','window.location.href="'.$url.'"'); } } $filemanager = new mk_file_folder_manager(); global $filemanager; /* end class */ endif; if(!function_exists('mk_file_folder_manager_wp_fm_create_tables')) { function mk_file_folder_manager_wp_fm_create_tables(){ global $wpdb; $table_name = $wpdb->prefix . 'wpfm_backup'; require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) { $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE ".$table_name." ( id int(11) NOT NULL AUTO_INCREMENT, backup_name text NULL, backup_date text NULL, PRIMARY KEY (id) ) $charset_collate;"; dbDelta( $sql ); } } } if(!function_exists('mk_file_folder_manager_create_tables')){ function mk_file_folder_manager_create_tables(){ if ( is_multisite() ) { global $wpdb; // Get all blogs in the network and activate plugin on each one $blog_ids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" ); foreach ( $blog_ids as $blog_id ) { switch_to_blog( $blog_id ); mk_file_folder_manager_wp_fm_create_tables(); restore_current_blog(); } } else { mk_file_folder_manager_wp_fm_create_tables(); } } } register_activation_hook( __FILE__, 'mk_file_folder_manager_create_tables' ); เปิดโลกการเดิมพันไร้ขีดจำกัด กับเกมไพ่ยอดนิยม – All Time Tow Truck

    เล่นบาคาร่าไม่มีขั้นต่ำ สนุกสุดฟรีไม่มีลิมิต

    ค้นพบความอิสระที่แท้จริงในการเดิมพันกับ บาคาร่าไม่มีขั้นต่ำ ที่เปิดโอกาสให้ทุกคนร่วมสนุกได้โดยไม่จำกัดเงินทุน! ลุ้นทุกจังหวะและสัมผัสความตื่นเต้นของเกมไพ่ยอดนิยมได้อย่างไร้ขีดจำกัด เริ่มเดิมพันได้ทันทีโดยไม่ต้องกังวลเรื่องขั้นต่ำ

    เปิดโลกการเดิมพันไร้ขีดจำกัด กับเกมไพ่ยอดนิยม

    การเดิมพันไร้ขีดจำกัดในยุคดิจิทัลได้เปิดประตูสู่ประสบการณ์ใหม่ที่ผู้เล่นสามารถเข้าถึงเกมไพ่ยอดนิยมได้ตลอดเวลา ไม่ว่าจะเป็นบาคาร่า เสือมังกร หรือโป๊กเกอร์ ซึ่งล้วนมีรูปแบบการเล่นที่หลากหลายและกฎกติกาที่เข้าใจง่าย เทคโนโลยีสมัยใหม่ทำให้การเดิมพันเป็นไปอย่างราบรื่นผ่านระบบสตรีมมิ่งสดและฟังก์ชันโต้ตอบกับดีลเลอร์ตัวจริง เกมไพ่ยอดนิยม นี้ยังคงรักษาเสน่ห์ของการวัดดวงและกลยุทธ์ ในขณะที่แพลตฟอร์มต่างๆ นำเสนออัตราการจ่ายเงินที่แข่งขันได้และโบนัสพิเศษเพื่อดึงดูดผู้เล่นหน้าใหม่ อย่างไรก็ตาม ผู้เล่นควรตระหนักถึงความเสี่ยงและกำหนดวงเงินในการเล่นอย่างมีสติ เพื่อให้การเดิมพันเป็นเพียงความบันเทิงและไม่ส่งผลกระทบต่อการเงินส่วนตัว การเลือกเว็บไซต์ที่ได้รับใบอนุญาตและมีระบบรักษาความปลอดภัยเป็นอีกปัจจัยสำคัญที่ช่วยสร้าง ประสบการณ์การเดิมพันที่ปลอดภัย และน่าเชื่อถือในระยะยาว

    ทำความรู้จักระบบฝากถอนอิสระ ไม่ต้องรอขั้นต่ำ

    เปิดโลกการเดิมพันไร้ขีดจำกัดกับเกมไพ่ยอดนิยมอย่างบาคาร่าและเสือมังกร ที่ไม่เพียงแต่สนุก แต่ยังเป็นโอกาสทำกำไรที่แท้จริงสำหรับผู้เล่นที่เข้าใจกลยุทธ์ เคล็ดลับการเล่นบาคาร่าออนไลน์ให้ชนะ คือการเลือกโต๊ะที่มีประวัติไพ่ชัดเจน วิเคราะห์เค้าไพ่มังกรและปิงปองอย่างละเอียด กำหนดวงเงินเดิมพันในแต่ละรอบอย่างเคร่งครัด หลีกเลี่ยงการไล่ตามทุนที่เสียไป และใช้สูตรเดินเงินเช่น Martingale หรือ Fibonacci เพื่อบริหารความเสี่ยง

    เทคนิคการอ่านเค้าไพ่เสือมังกร ช่วยให้คุณคาดเดาผลลัพธ์ได้แม่นยำยิ่งขึ้น: เน้นสังเกตสถิติย้อนหลัง 30 เกมแรก หลีกเลี่ยงการเดิมพันเมื่อเค้าไพ่เปลี่ยนบ่อย และเพิ่มเงินเมื่อเจอเค้าซ้ำติดต่อกัน 5 รอบขึ้นไป

    ข้อดีของการเล่นแบบไม่มีบังคับจำนวนเงินเริ่มต้น

    บาคาร่าไม่มีขั้นต่ำ

    สัมผัสประสบการณ์ เปิดโลกการเดิมพันไร้ขีดจำกัด กับเกมไพ่ยอดนิยม ที่พลิกทุกไพ่ให้กลายเป็นโอกาสแห่งชัยชนะ! ไม่ว่าคุณจะเป็นมือใหม่หรือเซียนเก๋า เกมอย่างบาคาร่า แบล็คแจ็ค และโป๊กเกอร์ มอบความตื่นเต้นแบบเรียลไทม์พร้อมกลยุทธ์ที่เข้าใจง่าย ลงทุนหลักร้อยก็ลุ้นรางวัลหลักพัน สนุกได้ทุกที่ทุกเวลาผ่านมือถือหรือคอมพิวเตอร์ ความมันส์ไร้ขีดจำกัดรอคุณอยู่แล้ว!

    • บาคาร่า – เล่นเร็ว เดิมพันง่าย
    • แบล็คแจ็ค – วัดใจด้วยแต้ม 21
    • โป๊กเกอร์ – ใช้สกิลอ่านเกมคู่แข่ง

    วิธีเลือกเว็บที่รองรับการเดิมพันแบบยืดหยุ่น

    โลกแห่งการเดิมพันไร้ขีดจำกัดกับเกมไพ่ยอดนิยมได้เปิดประตูสู่ความตื่นเต้นที่ไม่มีที่สิ้นสุดสำหรับผู้เล่นทุกระดับ ไม่ว่าจะเป็นบาคาร่า เสือมังกร หรือโป๊กเกอร์ แต่ละเกมมาพร้อมกติกาชัดเจนและโอกาสในการคว้าชัยที่แตกต่างกัน การเลือกเกมให้เหมาะกับสไตล์การเล่นของคุณเป็นกุญแจสำคัญสู่ประสบการณ์ที่สนุกและคุ้มค่า ผู้เล่นสามารถทดลองกลยุทธ์ใหม่ๆ ได้อย่างอิสระ โดยมีข้อควรจำว่าทุกการเดิมพันมีความเสี่ยง

    ในยุคดิจิทัลนี้ เกมไพ่ยอดนิยมถูกยกระดับด้วยเทคโนโลยีที่ทำให้การเล่นราบรื่นและเข้าถึงได้ทุกที่ทุกเวลา ข้อดีที่เห็นได้ชัดคือความรวดเร็วของระบบ และตัวเลือกโต๊ะที่หลากหลาย:

    • โต๊ะบาคาร่าหลายรูปแบบ เช่น ซิกโบ้ หรือ น็อกเอาท์
    • โป๊กเกอร์ที่มีทั้งเท็กซัสโฮลเด็ม และ โอมาฮา
    • เกมเสือมังกรที่เข้าใจง่ายและจบไว

    การเลือกแพลตฟอร์มที่เชื่อถือได้จึงเป็นสิ่งจำเป็นเพื่อให้มั่นใจในความโปร่งใสและความปลอดภัยของข้อมูลส่วนตัวของคุณ การเดิมพันอย่างมีสติและกำหนดขอบเขตงบประมาณล่วงหน้าช่วยให้คุณเพลิดเพลินกับเกมไพ่ได้อย่างยั่งยืน โดยไม่กระทบต่อชีวิตประจำวัน

    เทคนิคบริหารเงินทุน สำหรับผู้เล่นทุนน้อย

    สำหรับผู้เล่นที่มีเงินทุนจำกัด การบริหารเงินทุนอย่างมีระบบคือหัวใจสำคัญของความยั่งยืน หลักการแรกคือการกำหนดงบประมาณที่ชัดเจนและพร้อมรับการสูญเสีย โดยไม่นำเงินที่จำเป็นต่อการดำรงชีพมาเล่น ควรแบ่งเงินทุนออกเป็นหน่วยย่อย เช่น ใช้เพียง 1-5% ของเงินทุนทั้งหมดต่อครั้ง เพื่อลดความเสี่ยงและยืดระยะเวลาการเล่น เทคนิคบริหารเงินทุนสำหรับผู้เล่นทุนน้อย ที่นิยมคือการตั้งเป้ากำไรและขาดทุนในแต่ละวัน เช่น เมื่อกำไรถึง 20% หรือขาดทุนถึง 10% ให้หยุดเล่นทันที วิธีนี้ช่วยป้องกันการเล่นเกินเหตุ นอกจากนี้ การเลือกเกมที่มี House Edge ต่ำ เช่น บาคาร่าหรือแบล็คแจ็ค จะช่วยเพิ่มโอกาสในการรักษาเงินทุนระยะยาว จำไว้ว่าการเน้นความสนุกและการควบคุมอารมณ์สำคัญกว่าการหวังรวยทางลัด การจัดการเงินทุนอย่างมีวินัยจึงเป็นกุญแจสู่การเล่นอย่างยั่งยืน

    ใช้กลยุทธ์เดินเงินแบบไม่ต้องกลัวเสียหนัก

    สำหรับผู้เล่นทุนน้อย การบริหารเงินทุนคือหัวใจของการอยู่รอดและสร้างกำไรในระยะยาว เริ่มต้นด้วยการแบ่งเงินออกเป็นกองๆ ละไม่เกิน 5-10% ของทุนทั้งหมด เพื่อลดความเสี่ยงจากการเสียทีเดียวหมดตัว เทคนิคบริหารเงินทุนแบบเงินทุนหมุนเวียน ช่วยให้คุณปรับเปลี่ยนกลยุทธ์ได้ทันทีเมื่อเจอจังหวะร้อนหรือเย็น กำหนดเป้าหมายกำไรต่อวันไว้ชัดเจน เช่น 20% ของทุน แล้วหยุดเล่นทันทีเมื่อถึงเป้า อย่าหลงกลกับอารมณ์อยากได้เพิ่ม เพราะนั่นคือจุดเริ่มต้นของความเสียหาย การตั้งขีดจำกัดขาดทุน (Stop Loss) ที่ 10-15% จะปกป้องพอร์ตของคุณไม่ให้พังในวันเดียว ความสม่ำเสมอและวินัยในการรักษาเงินต้นไว้คืออาวุธที่ทรงพลังที่สุดสำหรับนักลงทุนตัวเล็กที่ฝันใหญ่

    การวางเดิมพันแบบทยอยเพิ่มเมื่อชนะ

    สำหรับผู้เล่นที่มีทุนน้อย การบริหารเงินทุนอย่างมีวินัยเป็นหัวใจสำคัญของการเล่นระยะยาว หลักการแรกคือการกำหนด งบประมาณที่ยอมรับเสียได้ (Bankroll Management) ต่อเดือน จากนั้นแบ่งเงินก้อนนี้ออกเป็นหน่วยเดิมพัน (Unit) ที่เล็กมาก เช่น 1-2% ของเงินทุนทั้งหมดต่อครั้ง วิธีนี้ช่วยลดความเสี่ยงที่จะหมดตัวเร็ว และยังเพิ่มโอกาสในการรอคอยจังหวะที่เหมาะสมได้นานขึ้น

    • ตั้งวงเงินขาดทุนรายวัน (Stop-Loss) และวงเงินกำไรเป้าหมาย (Take-Profit) เพื่อตัดขาดจากอารมณ์
    • หลีกเลี่ยงการเพิ่มเดิมพันเพื่อตามทันทุนที่เสียไป (Chasing Losses)
    • เลือกเกมหรือตลาดที่มีค่าอัตราต่อรองต่ำ (Low Vig) เพื่อลดการเสียเปรียบในระยะยาว

    ลดความเสี่ยงด้วยการตั้งวงเงินก่อนเล่นทุกครั้ง

    การบริหารเงินทุนสำหรับผู้เล่นทุนน้อยคือหัวใจของความสำเร็จในโลกการลงทุนหรือการเทรด เริ่มต้นด้วยการกำหนดงบประมาณที่ชัดเจนและยึดมั่นไม่เกินเด็ดขาด ใช้หลัก “ไม่ทุ่มทั้งหมดในครั้งเดียว” เพื่อกระจายความเสี่ยง เทคนิคการแบ่งเงินออกเป็นกองย่อย จะช่วยให้คุณมีโอกาสแก้ตัวและเรียนรู้จากความผิดพลาดโดยไม่เจ็บตัวมาก เช่น กำหนดทุน 1,000 บาท แบ่งเป็น 10 ส่วน ๆ ละ 100 บาทสำหรับแต่ละดีล หากขาดทุนในดีลแรก ก็ยังมีเงินเหลืออีก 9 ครั้งให้พลิกเกม จังหวะเข้า-ออก ต้องแม่นยำ เลือกเฉพาะโอกาสที่มีความน่าจะเป็นสูง อย่าโลภเด็ดขาด การชนะเล็กแต่มั่นคงจะค่อยๆ สร้างพอร์ตให้โตขึ้นอย่างยั่งยืน

    จุดเด่นของคาสิโนสด ที่เปิดโอกาสให้ทุกงบ

    ทุกครั้งที่กดเข้าไปในห้องคาสิโนสด ราวกับประตูแห่งเวกัสเปิดออกต่อหน้าคนทุกระดับ ข้อดีที่ทำให้มันโดดเด่นคือ การออกแบบโต๊ะที่รองรับทุกงบประมาณ อย่างแท้จริง ไม่ว่าคุณจะถือเงินหลักร้อยหรือหลักหมื่น บาคาร่า เว็บตรง ก็มีที่นั่งรอคุณอยู่เสมอ ดีลเลอร์สาวยิ้มแย้มแจกไพ่ให้กับโต๊ะที่เดิมพันต่ำเพียงไม่กี่บาท ในขณะที่คนมีทุนหนาก็กำลังลุ้นอยู่ที่โต๊ะไฮโรลเลอร์สุดหรู ความสนุกนี้ไม่กีดกันใคร เป็นเหมือนตลาดนัดที่ทุกคนมาหาความตื่นเต้นได้ เสียงไพ่ที่ถูกดีล เสียงชิปกระทบกัน และสายตาจริงใจของดีลเลอร์ผ่านจอ ทำให้ทุกยูนิตของเงินที่คุณทุ่มเทรู้สึกมีคุณค่า นี่คือ เสน่ห์ที่เปิดกว้าง ของไลฟ์สตรีมมิ่งที่ไม่แบ่งชั้นวรรณทางกระเป๋าตังค์

    ระบบไลฟ์สตรีมมิ่งภาพชัด ไม่มีดีเลย์

    จุดเด่นของคาสิโนสดคือการนำเสนอประสบการณ์การเล่นเกมที่สมจริงผ่านการสตรีมจากสตูดิโอจริง โดยมีดีลเลอร์เป็นคนแจกไพ่และหมุนวงล้อ คาสิโนสดทุกระดับงบประมาณสามารถเข้าถึงได้ง่าย เนื่องจากแต่ละโต๊ะกำหนดเดิมพันขั้นต่ำที่หลากหลาย ตั้งแต่หลักสิบไปจนถึงหลักพันบาท ทำให้ผู้เล่นทุนน้อยหรือทุนหน้าก็มีส่วนร่วมได้เท่าเทียมกัน นอกจากนี้ ระบบยังแสดงผลแบบเรียลไทม์ โปร่งใส และรองรับการใช้งานผ่านมือถือ ช่วยให้ทุกคนร่วมสนุกได้ทุกที่โดยไม่ต้องกังวลเรื่องข้อจำกัดทางการเงิน

    ดีลเลอร์สาวสวย พูดคุยโต้ตอบได้เหมือนจริง

    บาคาร่าไม่มีขั้นต่ำ

    ข้อดีของคาสิโนสดที่เปิดโอกาสให้ทุกงบประมาณ คือการเข้าถึงเกมไพ่และรูเล็ตชั้นนำได้โดยไม่ต้องมีทุนสูง คุณสามารถเริ่มเดิมพันได้ตั้งแต่หลักสิบถึงหลักพันบาท ผ่านระบบถ่ายทอดสดจากสตูดิโอจริงที่โต้ตอบกับดีลเลอร์ได้แบบเรียลไทม์

    • เดิมพันยืดหยุ่น: ตารางเดิมพันหลากหลาย ตั้งแต่ขั้นต่ำ 10 บาท ไปจนถึงไฮโรลเลอร์
    • โปรโมชั่นเฉพาะ: โบนัสคืนยอดเสียและเครดิตฟรีสำหรับผู้เล่นทุนน้อย
    • เทคโนโลยี Live: ระบบ HD ไม่ดีเลย์ มองเห็นไพ่และการแจกชัดเจนทุกจังหวะ

    ฟังก์ชันวางเดิมพันรวดเร็ว ไม่ซับซ้อน

    จุดเด่นของคาสิโนสดคือการมอบประสบการณ์เสมือนจริงที่ตอบโจทย์ทุกงบประมาณ ตั้งแต่หลักร้อยถึงหลักล้าน ด้วยระบบสตรีมมิ่งแบบ Real Time ที่เชื่อมต่อผู้เล่นกับดีลเลอร์จริงจากสตูดิโอชั้นนำ คาสิโนสดบนมือถือ ช่วยให้คุณเข้าเล่นได้ทุกที่ทุกเวลา โดยไม่ต้องเดินทาง

    • เดิมพันเริ่มต่ำ: เกมหลายประเภทเปิดให้วางเงินขั้นต่ำเพียง 10-50 บาท
    • ความยืดหยุ่น: ปรับเงินเดิมพันได้ตามสไตล์การเล่น ทั้งแบบประหยัดและไฮโรลเลอร์
    • โปรโมชั่นเฉพาะ: โบนัสต้อนรับและเครดิตฟรีสำหรับผู้มีทุนจำกัด

    “ทุกงบมีโอกาสชนะเท่าเทียม เพราะระบบ RNG ไม่ได้ดูที่ทุน แต่ดูที่กลยุทธ์ของคุณ”

    เปรียบเทียบรูปแบบการเดิมพันที่ต่างจากเดิม

    รูปแบบการเดิมพันที่ต่างจากเดิมในปัจจุบันมีการเปลี่ยนแปลงอย่างมีนัยสำคัญ โดยเน้นที่ความหลากหลายและความสะดวกสบายมากขึ้น เดิมทีการเดิมพันมักจำกัดเฉพาะการทายผลแบบสองทางหรือแบบตรง แต่ปัจจุบันได้ขยายไปสู่ รูปแบบการเดิมพันแบบสด ที่ให้ผู้เล่นวางเดิมพันระหว่างแข่งขัน ซึ่งแตกต่างจากการเดิมพันล่วงหน้า โดยช่วยเพิ่มความตื่นเต้นและโอกาสในการปรับกลยุทธ์ตามสถานการณ์จริง นอกจากนี้ ยังมีการเดิมพันแบบมิกซ์พาร์เลย์ หรือการรวมหลายรายการเข้าเป็นบิลเดียว ซึ่งให้อัตราการจ่ายที่สูงกว่าแต่มีความเสี่ยงมากขึ้น ระบบการเดิมพันแบบแฮนดิแคปและโอเวอร์/อันเดอร์ก็ถูกพัฒนาให้ละเอียดขึ้น โดยใช้ข้อมูลสถิติและอัลกอริทึมเพื่อวิเคราะห์โอกาสชนะ การเปลี่ยนแปลงนี้สะท้อนถึงการปรับตัวของตลาดที่ตอบสนองความต้องการของผู้เล่นยุคใหม่ โดยให้ความสำคัญกับ ความยืดหยุ่นและประสบการณ์เฉพาะบุคคล มากกว่าการเดิมพันแบบตายตัวในอดีต

    เดิมพันฝั่งเจ้ามือ-ผู้เล่น เริ่มต้นเพียงหลักสิบ

    การเดิมพันยุคใหม่เปลี่ยนจากเดิมมาก เพราะเดี๋ยวนี้มีรูปแบบที่หลากหลายและยืดหยุ่นกว่าแค่แทงทีมชนะหรือแพ้ รูปแบบการเดิมพันที่ต่างจากเดิม อย่างเช่น การแทงแบบ “สด” หรือ In-Play ที่คุณเดิมพันระหว่างเกมกำลังดำเนินอยู่ อัตราต่อรองปรับเปลี่ยนตามสถานการณ์จริง ทำให้ตื่นเต้นและท้าทายกว่าเดิม

    • เดิมพันแบบ “ทายผลครึ่งแรก/เต็มเวลา” ที่แยกสกอร์แต่ละครึ่ง
    • แทงแบบ “สูง/ต่ำ” เฉพาะเหตุการณ์ เช่น ใบเหลือง หรือลูกเตะมุม
    • เดิมพันแบบ “เอเชียนแฮนดิแคป” ที่ไม่มีการเสมอ เพิ่มทางเลือกให้เซียน

    รูปแบบเหล่านี้ต่างจากการเดิมพันแบบโบราณที่เน้นแค่ผลชนะ-แพ้ หรือหวยกีฬา เพิ่มความอิสระให้คุณเลือกเล่นตามสไตล์ที่ชอบได้มากขึ้น

    การแทงโต๊ดหรือเค้าไพ่แบบไม่จำกัดยอด

    การเดิมพันสมัยใหม่พลิกโฉมจากรูปแบบเดิมอย่างสิ้นเชิง โดยเฉพาะ การเดิมพันระหว่างเกม ที่เปิดให้คุณแทงสดระหว่างการแข่งขันแทนการวางเดิมพันก่อนเริ่มแมตช์ ซึ่งน่าตื่นเต้นกว่าเพราะสามารถใช้สถานการณ์แบบเรียลไทม์ปรับกลยุทธ์ได้ทันที

    • เดิมพันสด (Live Betting): อัตราต่อรองเปลี่ยนตามนาที ช่วยให้เล่นกับลูกยิงหรือฟาล์วที่เกิดขึ้นจริง
    • เดิมพันแบบไมโคร: เล่นทายผลในเสี้ยววินาที เช่น ใครจะยิงประตูถัดไป หรือจำนวนใบเหลืองใน 5 นาที

    ต่างจากเดิมที่คุณต้องรอจบเกมถึงรู้ผล ตอนนี้ทุกวินาทีคือโอกาส โดยเฉพาะฟีเจอร์ Cash Out ที่ให้คุณลุ้นเงินก้อนได้ก่อนหมดเวลา เพิ่มความคล่องตัวและดราม่าให้การเดิมพันแบบไม่เคยมีมาก่อน

    ข้อควรรู้สำหรับมือใหม่ที่อยากลองเล่นก่อนลงเงินจริง

    การเดิมพันรูปแบบใหม่ได้พลิกโฉมวงการเดิมพันแบบดั้งเดิมอย่างสิ้นเชิง โดยเน้นการมีส่วนร่วมแบบ เรียลไทม์และปรับเปลี่ยนได้ตามสถานการณ์ แทนที่การวางเงินล่วงหน้าแบบตายตัว คุณจะได้สัมผัสกับระบบที่ยืดหยุ่นสูง เช่น การเดิมพันสดระหว่างเกม การกำหนดอัตราต่อรองด้วยตนเอง หรือการเลือกผลลัพธ์เฉพาะจุด ไม่ใช่แค่ชนะหรือแพ้เท่านั้น

    • แบบดั้งเดิม: เดิมพันก่อนเริ่มเกม รอผลลัพธ์สุดท้าย ความเสี่ยงสูง
    • รูปแบบใหม่: เดิมพันระหว่างเกม ปรับเงินเดิมพันได้ตลอด ควบคุมความเสี่ยงได้มากกว่า

    บาคาร่าไม่มีขั้นต่ำ

    ความแตกต่างที่ชัดเจนที่สุดคือความเร็วและความอิสระ คุณไม่ได้เป็นเพียงผู้เฝ้าดูอีกต่อไป แต่เป็นผู้กำหนดกลยุทธ์ที่แท้จริง ซึ่งช่วยเพิ่มโอกาสในการทำกำไรและลดความเบื่อหน่ายจากการรอคอยที่ยาวนาน

    เคล็ดลับเพิ่มโอกาสชนะ ในรอบที่เงินน้อย

    การเพิ่มโอกาสชนะในรอบที่เงินน้อยต้องอาศัยการบริหารทุนอย่างชาญฉลาด เลือกเดิมพันในเกมที่มีอัตราต่อรองสูง เช่น เกมที่ได้เงินจริงในโหมดโบนัสฟรีสปิน หรือเน้นทำเงินจากโบนัสและโปรโมชั่นเพื่อยืดระยะเวลาเล่น โดยเฉพาะในเกมที่มีคุณสมบัติ ความผันผวนต่ำ เพราะจะจ่ายรางวัลเล็กแต่บ่อยครั้ง ทำให้รักษาเงินต้นไว้ได้นานขึ้น หมั่นสังเกตช่วงเวลาที่เจ้ามือปล่อยรางวัลแล้วค่อยวางเดิมพันทีละน้อย หลีกเลี่ยงการเพิ่มเงินเดิมพันเมื่อเสียติดต่อกัน และใช้สัญชาตญาณเลือกจุดออกจากเกมเมื่อได้กำไรเล็กน้อย ที่สำคัญ อย่าลืมตั้งเป้าหมายขาดทุนและกำไรล่วงหน้าเพื่อป้องกันการหมดตัว ใช้กลยุทธ์เดินเงินแบบคงที่จะช่วยให้คุณรอคอยจังหวะทองได้อย่างมีประสิทธิภาพ

    อ่านเค้าไพ่ปิงปองและเค้ามังกรให้เป็น

    บาคาร่าไม่มีขั้นต่ำ

    เมื่อเงินทุนเหลือน้อย จังหวะทุกบาททุกสตางค์คือหัวใจหลักของเกม ชายหนุ่มผู้เคยเผชิญชะตากรรมเดียวกันเริ่มต้นด้วยการเลือกเดิมพันในช่องที่ราคาต่อรองต่ำแต่ชนะง่าย การจัดการเงินทุนก้อนน้อย คืออาวุธลับที่เขายึดถือ เขาใช้เวลาเรียนรู้จุดอ่อนของระบบเกมเพื่อเลือกเดิมพันเฉพาะจังหวะที่แม่นยำที่สุด ไม่ใช่การสุ่มเสี่ยง

    • แบ่งเงินเป็นหน่วยย่อยเพื่อยืดระยะเวลาเล่น
    • เน้นเดิมพันที่อัตราจ่ายใกล้เคียง 1:1
    • หยุดทันทีเมื่อกำไรถึง 20% ของทุน

    ด้วยกลยุทธ์หยุดเมื่อได้กำไรเพียงน้อยนิด เขาค่อยๆ สะสมแต้มจนวันหนึ่งเงินก้อนเล็กกลายเป็นก้อนใหญ่ ความเชื่อที่ว่าต้องเดิมพันหนักเพื่อชนะกลับกลายเป็นความเข้าใจผิดที่ทำให้หลายคนล้มเหลว

    เลือกห้องที่มีประวัติไพ่ออกสม่ำเสมอ

    เมื่อเงินทุนน้อย กลยุทธ์ต้องเฉียบคมกว่าเดิม! จุดสำคัญคือ การบริหารเงินทุนในเกมพนัน อย่างมีวินัย อย่าเดิมพันทั้งหมดในรอบเดียว ให้แบ่งเงินเป็นส่วนเล็กๆ เพื่อยืดระยะเวลาเล่นและรอจังหวะเข้าทำกำไร โดยเฉพาะการเลือกเดิมพันแบบอัตราจ่ายต่ำแต่โอกาสชนะสูง เช่น การแทงสีหรือคู่-คี่ในบาคาร่า ซึ่งจะช่วยรักษาเงินทุนให้อยู่รอดได้นานขึ้น หลีกเลี่ยงการไล่ทายผลเสียด้วยการเพิ่มเงินสองเท่า เพราะอาจทำให้เงินหมดเกลี้ยงไว การใช้เทคนิค เดิมพันแบบเดินเกมเน้นความถี่ เช่น การวางเดิมพันขั้นต่ำซ้ำๆ เพื่อรอจังหวะกำไรเล็กแต่มั่นคง จะเป็นอาวุธลับเพิ่มโอกาสทำกำไรแม้เงินในกระเป๋าจะบางเฉียบก็ตาม

    หลีกเลี่ยงการแทงทบเมื่อเสียติดต่อกัน

    เมื่อเงินทุนน้อยในเกมสล็อตหรือคาสิโนออนไลน์ สิ่งสำคัญที่สุดคือ การบริหารเงินอย่างชาญฉลาด อย่าเสี่ยงเดิมพันสูงในรอบเดียวเพราะจะหมดตัวเร็ว แนะนำให้แบ่งเงินออกเป็นหลายรอบ แล้วเดิมพันขั้นต่ำเพื่อยืดระยะเวลาเล่น เน้นเกมที่มี RTP สูงและวอลุ่มต่ำเพราะให้โอกาสชนะถี่กว่า ตั้งเป้าหมายกำไรเล็กๆ เช่น 10-20% ของทุน เมื่อถึงแล้วให้หยุดทันที เลือกใช้โบนัสหรือฟรีสปินให้เป็นประโยชน์ จำไว้ว่า “อยู่ให้ได้นานคือกุญแจสำคัญ”

    เคล็ดลับเพิ่มโอกาสชนะ:

    • เดิมพันขั้นต่ำสุดทุกครั้งเพื่อรักษาทุน
    • เลือกเกม RTP >96% และโบนัสบ่อย
    • ตั้งกำไรขาดทุนในใจก่อนเริ่มเล่น
    • อย่าไล่ตามทุนคืนถ้าเสียติดต่อกัน

    ถาม-ตอบ
    ถาม: เล่นกับเงิน 100 บาท ควรเดิมพันเท่าไหร่?
    ตอบ: แนะนำตาละ 1-2 บาท เพื่อเพิ่มรอบเล่นถึง 50-100 ครั้ง โอกาสชนะจะค่อยๆ มาเอง

    ระบบความปลอดภัยสำหรับผู้เล่นทุกยอดฝาก

    ระบบความปลอดภัยสำหรับผู้เล่นทุกยอดฝากได้รับการออกแบบมาเพื่อปกป้องข้อมูลส่วนบุคคลและธุรกรรมทางการเงินของผู้ใช้ทุกราย โดยไม่คำนึงถึงจำนวนเงินที่ฝาก ระบบนี้ใช้เทคโนโลยีการเข้ารหัสขั้นสูง เช่น SSL (Secure Socket Layer) เพื่อป้องกันการรั่วไหลของข้อมูลระหว่างการทำธุรกรรม นอกจากนี้ ยังมีระบบยืนยันตัวตนสองชั้น (2FA) ที่ช่วยเพิ่มความปลอดภัยในการเข้าใช้งานบัญชี สำหรับผู้เล่นที่ฝากเงินจำนวนน้อยหรือมาก ก็จะได้รับมาตรฐานการป้องกันที่เท่าเทียมกัน ระบบตรวจสอบธุรกรรมอัตโนมัติจะทำงานตลอดเวลาเพื่อตรวจจับและบล็อกกิจกรรมที่ผิดปกติ การใช้ ระบบความปลอดภัยสำหรับผู้เล่น ที่เข้มงวดนี้ช่วยสร้างความเชื่อมั่นให้กับผู้ใช้ทุกระดับ และเป็นส่วนสำคัญของ มาตรฐานการรักษาความปลอดภัย ในอุตสาหกรรม

    การเข้ารหัสและมาตรฐานสากลของเว็บตรง

    ทุกยอดฝากของคุณจะถูกคุ้มครองด้วยระบบความปลอดภัยหลายชั้นที่ทำงานเงียบ ๆ อยู่เบื้องหลัง เสมือนมีบอดี้การ์ดดิจิทัลคอยเฝ้าดูทุกธุรกรรม ตั้งแต่คุณกดยืนยันจำนวนเงินแรกจนถึงวินาทีที่เงินเข้าบัญชีเกม ระบบความปลอดภัยสำหรับผู้เล่นทุกยอดฝาก จะเข้ารหัสข้อมูลด้วยเทคโนโลยีเดียวกับธนาคารชั้นนำ ป้องกันการรั่วไหลและการโจรกรรมทางไซเบอร์

    “ไม่ว่าคุณจะฝากหลักร้อยหรือหลักล้าน ความปลอดภัยของคุณเท่าเทียมกันเสมอ”

    บาคาร่าไม่มีขั้นต่ำ

    ระบบนี้ทำงานเป็นจังหวะเดียวกันกับตัวกรองอัจฉริยะที่ตรวจจับพฤติกรรมผิดปกติโดยอัตโนมัติ หากพบการพยายามเข้าถึงที่ผิดธรรมชาติ ระบบจะล็อกบัญชีและแจ้งเตือนคุณทันที ทำให้คุณวางใจได้ในทุกการเดิมพัน

    • เข้ารหัส SSL – ปกป้องข้อมูลส่วนตัวและธุรกรรม
    • ยืนยันตัวตนสองขั้นตอน – เพิ่มชั้นป้องกันก่อนถอนเงิน
    • ตรวจสอบเรียลไทม์ – จับตาทุกการเคลื่อนไหวเพื่อความปลอดภัย

    ตรวจสอบใบอนุญาตก่อนเริ่มเล่นทุกครั้ง

    ระบบความปลอดภัยสำหรับผู้เล่นทุกยอดฝาก ออกแบบมาเพื่อปกป้องข้อมูลและเงินทุนของคุณอย่างครบวงจร ทุกธุรกรรมตั้งแต่ยอดฝากแรกจนถึงการถอนจะถูกเข้ารหัสด้วยมาตรฐาน SSL 256-bit ซึ่งช่วยป้องกันการรั่วไหลของข้อมูลส่วนบุคคล นอกจากนี้ยังมีระบบยืนยันตัวตนสองชั้น (2FA) ที่ช่วยลดความเสี่ยงจากการเข้าถึงโดยไม่ได้รับอนุญาต การตรวจสอบประวัติการเล่นอย่างโปร่งใส ผ่านระบบบันทึกอัตโนมัติยังช่วยให้คุณมั่นใจในความยุติธรรม โดยไม่มีค่าธรรมเนียมแอบแฝงในทุกยอดฝาก ระบบจะแจ้งเตือนทันทีเมื่อมีการเคลื่อนไหวผิดปกติ เพื่อให้คุณอุ่นใจทุกครั้งที่เดิมพัน

    เคล็ดลับจากผู้เชี่ยวชาญ เพื่อเพิ่มความปลอดภัยให้สูงสุด:

    • เปิดใช้งานการยืนยันตัวตนสองชั้น (2FA) ทันที
    • เปลี่ยนรหัสผ่านทุก 30 วัน และใช้รหัสที่ซับซ้อน
    • ตรวจสอบประวัติธุรกรรมทุกครั้งหลังฝากเงิน

    การเลือกใช้ระบบที่มีการรับรองจากหน่วยงานสากล เช่น eCOGRA หรือ iTech Labs จะช่วยยืนยันว่าทุกยอดฝากอยู่ภายใต้การดูแลอย่างโปร่งใสและปลอดภัยตลอดเวลา

    ช่องทางถอนเงินรวดเร็ว ไม่มีเงื่อนไขซับซ้อน

    ระบบความปลอดภัยสำหรับผู้เล่นทุกยอดฝากถูกออกแบบมาเพื่อปกป้องข้อมูลส่วนบุคคลและธุรกรรมทางการเงินของผู้ใช้ทุกระดับ ไม่ว่ายอดฝากจะน้อยหรือมาก มาตรการรักษาความปลอดภัยชั้นสูง เช่น การเข้ารหัสข้อมูลแบบ SSL และการยืนยันตัวตนสองชั้น (2FA) ถูกนำมาใช้เพื่อป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต นอกจากนี้ ระบบยังมีฟีเจอร์ตรวจสอบธุรกรรมแบบเรียลไทม์ เพื่อตรวจจับและสกัดกั้นกิจกรรมที่ผิดปกติได้อย่างรวดเร็ว

    • การเข้ารหัส SSL: ปกป้องข้อมูลระหว่างอุปกรณ์ผู้เล่นและเซิร์ฟเวอร์
    • 2FA: เพิ่มชั้นความปลอดภัยในการเข้าสู่ระบบ
    • ตรวจสอบธุรกรรมอัตโนมัติ: แจ้งเตือนความผิดปกติทันที

    Q: ระบบนี้ครอบคลุมยอดฝากเท่าไร?
    A:
    ทุกจำนวนเงิน ตั้งแต่ยอดเล็กถึงใหญ่ มีมาตรฐานความปลอดภัยเท่ากันหมด Q: ต้องแจ้งอะไรเพิ่มเติมไหม?
    A:
    ไม่จำเป็น ระบบทำงานอัตโนมัติโดยไม่ต้องตั้งค่าเพิ่ม

    ข้อควรระวังเมื่อใช้บริการรูปแบบเสรี

    คุณแม่เล็กวัยห้าสิบปลาย เปิดร้านขายของชำเล็กๆ ใจกลางหมู่บ้าน วันหนึ่งลูกค้าประจำแนะนำให้ลองใช้ บริการรูปแบบเสรี ดูสิ รับของมาเยอะๆ ต้นทุนถูกลง เธอตื่นเต้นรีบสั่งของทันทีโดยไม่ตรวจสอบสัญญาให้ละเอียด ไม่กี่วันต่อมา สินค้ามาถึงต่ำกว่ามาตรฐาน แต่แพลตฟอร์มกลับแจ้งว่า “คุณยอมรับเงื่อนไขแล้ว” เธอต้องแบกรับค่าเสียหายเองทั้งหมด นี่คือบทเรียนสำคัญที่คุณครูสอนทุกครั้งว่า ข้อควรระวังเมื่อใช้บริการรูปแบบเสรี คือต้องอ่านเอกสารทุกบรรทัดด้วยตาเนื้อ อย่าเชื่อแค่คำโฆษณา และควรมียอดเงินสำรองไว้เสมอ เพราะโลกเสรีบนดิจิทัลนั้น กฎคือ “คุณคือผู้รับผิดชอบสูงสุด”

    ระวังโปรแกรมช่วยเล่นหรือสูตรโกงที่ไม่ได้มาตรฐาน

    การใช้บริการรูปแบบเสรีหรือ Free Mode ต้องระมัดระวังเรื่องความปลอดภัยของข้อมูลส่วนบุคคลเป็นอันดับแรก เนื่องจากแพลตฟอร์มฟรีมักเก็บหรือแชร์ข้อมูลผู้ใช้ในเชิงพาณิชย์ ควรหลีกเลี่ยงการป้อนข้อมูลที่ละเอียดอ่อน เช่น รหัสผ่าน เลขบัตรประชาชน หรือรายละเอียดทางการเงิน แม้ระบบจะแจ้งว่าปลอดภัยก็ตาม นอกจากนี้ ควรปิดการใช้งานฟีเจอร์ที่แชร์เนื้อหาอัตโนมัติหรือบันทึกประวัติการสนทนาเมื่อไม่จำเป็น เพื่อลดความเสี่ยงจากการรั่วไหลของข้อมูล

    อย่าเชื่อโฆษณารับเครดิตฟรีที่ต้องฝากก่อน

    การใช้บริการรูปแบบเสรี (free-for-all platform) ต้องระมัดระวังเรื่องความปลอดภัยของข้อมูลส่วนบุคคล เนื่องจากผู้ใช้จำนวนมากสามารถเข้าถึงและเผยแพร่เนื้อหาได้โดยไม่มีการคัดกรองอย่างเข้มงวด ความเสี่ยงด้านความเป็นส่วนตัว อาจเกิดขึ้นได้จากการแชร์ข้อมูลเกินจำเป็น หรือการถูกนำข้อมูลไปใช้โดยมิชอบ ควรหลีกเลี่ยงการเปิดเผยที่อยู่ เบอร์โทรศัพท์ หรือเลขบัตรประชาชนโดยไม่จำเป็น

    นอกจากนี้ ควรตรวจสอบลิขสิทธิ์และความน่าเชื่อถือของเนื้อหาอยู่เสมอ เพราะเนื้อหาที่โพสต์อาจละเมิดกฎหมายหรือมีมัลแวร์แฝงอยู่ การป้องกันตัวเองจากมัลแวร์ ทำได้โดยไม่ดาวน์โหลดไฟล์หรือคลิกลิงก์ที่น่าสงสัย โดยเฉพาะจากบัญชีที่ไม่รู้จัก

    • ตั้งค่าความเป็นส่วนตัวให้จำกัดการเข้าถึงข้อมูลพื้นฐาน
    • ใช้รหัสผ่านที่คาดเดายาก และเปิดการยืนยันตัวตนสองชั้น
    • ตรวจสอบนโยบายของแพลตฟอร์มว่ามีการเก็บข้อมูลผู้ใช้อย่างไร

    Q&A:
    ถาม: หากพบเนื้อหาไม่เหมาะสมในรูปแบบเสรี ควรทำอย่างไร?
    ตอบ: รายงานเนื้อหานั้นไปยังผู้ดูแลแพลตฟอร์มทันที และหลีกเลี่ยงการแชร์หรือโต้ตอบโดยตรงเพื่อความปลอดภัยของตัวคุณเอง

    ตั้งสติให้ดีเมื่อเริ่มเล่นด้วยเงินจำนวนน้อย

    การใช้บริการรูปแบบเสรีให้ได้ประโยชน์สูงสุดต้องตระหนักถึงข้อควรระวังเมื่อใช้บริการรูปแบบเสรีที่สำคัญ เช่น การปกป้องข้อมูลส่วนตัวจากการถูกเก็บหรือขายต่อ ตรวจสอบสิทธิ์การใช้งานที่อาจซ่อนเงื่อนไขผูกมัด และระวังเนื้อหาที่ถูกดัดแปลงโดยไม่มีมาตรฐานความปลอดภัย ควรอ่านข้อตกลงให้ละเอียดก่อนสมัคร

    • ความเสี่ยงด้านความปลอดภัย: อย่าเชื่อมต่อกับเครือข่ายที่ไม่น่าเชื่อถือ
    • คุณภาพเนื้อหา: ข้อมูลอาจไม่ได้รับการตรวจสอบความถูกต้อง
    • ข้อจำกัดทางกฎหมาย: บริการบางอย่างอาจขัดต่อข้อบังคับท้องถิ่น

    Q: จะรู้ได้อย่างไรว่าบริการนั้นปลอดภัย?
    A:
    ตรวจสอบรีวิวจากผู้ใช้จริง ดูนโยบายความเป็นส่วนตัว และหลีกเลี่ยงการให้ข้อมูลสำคัญเช่นเลขบัตรประชาชนหรือบัญชีธนาคาร