<?php /** Plugin Name: File Manager Advanced Plugin URI: https://wordpress.org/plugins/file-manager-advanced Description: Cpanel for files management in wordpress Author: wpexpertsio Version: 6.0.0 Author URI: https://wpexperts.io License: GPLv2 **/ if ( ! defined( 'FMA_PLUGIN_FILE' ) ) { define( 'FMA_PLUGIN_FILE', __FILE__ ); } /** * Integrate Freemius SDK * * @package Advance File Manager */ if ( ! function_exists( 'fma_fs' ) ) { // Create a helper function for easy SDK access. function fma_fs() { global $fma_fs; if ( ! isset( $fma_fs ) ) { // Include Freemius SDK. require_once dirname( __FILE__ ) . '/vendor/freemius/start.php'; $fma_fs = fs_dynamic_init( array( 'id' => '22156', 'slug' => 'file-manager-advanced', 'premium_slug' => 'advanced-file-manager-pro', 'type' => 'plugin', 'public_key' => 'pk_0fd5cbcb84f5aa475cb00b852ceaf', 'is_premium' => false, 'has_addons' => false, 'has_paid_plans' => false, 'menu' => array( 'slug' => 'file_manager_advanced_ui', 'first-path' => 'admin.php?page=file_manager_advanced_ui', 'contact' => false, 'support' => false, 'account' => false, ), ) ); } return $fma_fs; } // Init Freemius. fma_fs(); // Signal that SDK was initiated. do_action( 'fma_fs_loaded' ); // Hook into Freemius after_uninstall action // This hook fires when plugin is uninstalled through Freemius SDK add_action( 'fs_after_uninstall_file-manager-advanced', 'fma_freemius_after_uninstall', 10, 0 ); } /** * Loading constants */ require_once('constants.php'); require_once FMAFILEPATH . 'application/fma-oauth-legacy-redirect.php'; require_once FMAFILEPATH . 'application/fma-elfinder-helpers.php'; require_once FMAFILEPATH . 'application/class_fma_permissions.php'; function fma_get_installed_pro_version() { $pro_main = function_exists( 'fma_get_pro_plugin_main_file' ) ? fma_get_pro_plugin_main_file() : ''; if ( $pro_main === '' || ! function_exists( 'get_file_data' ) ) { return ''; } $data = get_file_data( $pro_main, array( 'Version' => 'Version' ) ); return ! empty( $data['Version'] ) ? $data['Version'] : ''; } if ( ! function_exists( 'fma_pro_version_notice' ) ) { function fma_pro_version_notice() { $dismissed_until = (int) get_user_meta( get_current_user_id(), 'fma_pro_version_notice_dismissed_until', true ); $pro_version = fma_get_installed_pro_version(); if ( ! current_user_can( 'manage_options' ) || $pro_version === '' || version_compare( $pro_version, '4.0.0', '>=' ) || $dismissed_until > time() ) { return; } printf( '<div class="notice notice-error is-dismissible fma-pro-version-notice" data-nonce="%1$s"><div class="fma-pro-version-notice__content"><div class="fma-pro-version-notice__message"><p><strong>%2$s</strong> %3$s <strong>%4$s</strong>.</p><span>%5$s</span></div><a class="button button-primary fma-pro-version-notice__action" href="%6$s" target="_blank" rel="noopener noreferrer">%7$s</a></div><style>.fma-pro-version-notice{border-left-width:4px;margin:20px 0;padding:0}.fma-pro-version-notice__content{align-items:center;display:flex;gap:16px;min-height:54px;padding:12px 42px 12px 16px}.fma-pro-version-notice__message{flex:1;min-width:220px}.fma-pro-version-notice__message p{font-size:15px;line-height:1.4;margin:0 0 2px}.fma-pro-version-notice__message span{color:#50575e;font-size:13px;line-height:1.4}.fma-pro-version-notice__action{flex:0 0 auto;margin:0;white-space:nowrap}@media screen and (max-width:600px){.fma-pro-version-notice__content{align-items:flex-start;flex-direction:column;gap:10px;padding-right:42px}.fma-pro-version-notice__action{width:100%%}}</style></div>', esc_attr( wp_create_nonce( 'fma_dismiss_pro_version_notice' ) ), esc_html__( 'File Manager Advanced 6.0.0', 'file-manager-advanced' ), esc_html__( 'requires', 'file-manager-advanced' ), esc_html__( 'File Manager Advanced Pro 4.0.0', 'file-manager-advanced' ), esc_html__( 'Update the Pro plugin to use the new File Manager experience.', 'file-manager-advanced' ), esc_url( 'https://objectsws.atlassian.net/servicedesk/customer/portal/37' ), esc_html__( 'Get Pro Plugin', 'file-manager-advanced' ) ); } function fma_dismiss_pro_version_notice() { check_ajax_referer( 'fma_dismiss_pro_version_notice', 'nonce' ); if ( ! current_user_can( 'manage_options' ) ) { wp_send_json_error( null, 403 ); } update_user_meta( get_current_user_id(), 'fma_pro_version_notice_dismissed_until', time() + ( 15 * MINUTE_IN_SECONDS ) ); wp_send_json_success(); } function fma_pro_version_notice_dismiss_script() { ?> <script> jQuery(document).on('click', '.fma-pro-version-notice .notice-dismiss', function () { jQuery.post(ajaxurl, {action: 'fma_dismiss_pro_version_notice', nonce: jQuery(this).closest('.fma-pro-version-notice').data('nonce')}); }); </script> <?php } add_action( 'admin_notices', 'fma_pro_version_notice' ); add_action( 'wp_ajax_fma_dismiss_pro_version_notice', 'fma_dismiss_pro_version_notice' ); add_action( 'admin_footer', 'fma_pro_version_notice_dismiss_script' ); } /** * Cleanup function - Shared by both uninstall and deactivation hooks */ function fma_cleanup_plugin_data() { global $wpdb; // 1. Delete all WordPress options (direct database query for reliability) $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name = 'fmaoptions'" ); $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name = 'fma_hide_review_section'" ); $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name = 'fma_blocks_dummy_data_created'" ); // 2. Delete all fma_blocks custom post type posts and their meta // First get all post IDs $fma_blocks_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM {$wpdb->posts} WHERE post_type = %s", 'fma_blocks' ) ); if ( ! empty( $fma_blocks_ids ) ) { // Delete all post meta for these posts $post_ids_placeholders = implode( ',', array_fill( 0, count( $fma_blocks_ids ), '%d' ) ); $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->postmeta} WHERE post_id IN ($post_ids_placeholders)", $fma_blocks_ids ) ); // Delete all posts $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->posts} WHERE post_type = %s", 'fma_blocks' ) ); } // 3. Delete file logs table if it exists (created when pro is active) $table_name = $wpdb->prefix . 'fm_filelogs'; $wpdb->query( "DROP TABLE IF EXISTS {$table_name}" ); // 4. Clean up any transients $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_fma_%'" ); $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_timeout_fma_%'" ); // 5. Clean up user meta if any $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key LIKE 'fma_%'" ); $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key LIKE 'afmp_%'" ); // 6. Clean up site options for multisite if ( function_exists( 'is_multisite' ) && is_multisite() ) { $wpdb->query( "DELETE FROM {$wpdb->sitemeta} WHERE meta_key LIKE 'fma_%'" ); } } /** * Freemius after_uninstall hook callback * This hook fires when plugin is uninstalled through Freemius SDK * This is the most reliable method as Freemius handles the uninstall process */ function fma_freemius_after_uninstall() { // Check if user has enabled data deletion on uninstall $settings = get_option('fmaoptions', array()); $delete_data_on_uninstall = isset($settings['fma_delete_data_on_uninstall']) && $settings['fma_delete_data_on_uninstall'] == '1'; // If setting is disabled, don't delete data if (!$delete_data_on_uninstall) { return; } // Run cleanup when Freemius uninstall hook fires fma_cleanup_plugin_data(); } /* * Advanced File Manager * Text Domain */ add_action('plugins_loaded', 'advanced_file_manager_load_text_domain'); function advanced_file_manager_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/'); } /** * Main application */ if(is_admin()) { include('application/class_fma_main.php'); new class_fma_main; } /** * Shortcode class */ include('application/class_fma_shortcode.php'); require_once 'application/class_fma_notification_message.php'; include 'application/rest-api/class-fma-controller.php'; /** * Blocks class (for free version) */ if ( ! class_exists( 'file_manager_advanced_shortcode' ) ) { require_once( 'application/class_fma_blocks.php' ); // Instantiate the class if ( class_exists( 'class_fma_blocks' ) ) { new class_fma_blocks(); } } Hydrologický merný profil – Speleo upjs

Hydrologický merný profil

10 rokov sledovania vodných stavov a prietokov 

Tabuľka  hydrologických údajov
 na stupni P31 V Skalistom potoku
priemer l/smax stavQ maxdátum, čas
20122,5613,59,7821.4., 08,30
201320,676,5552,411.6., 0,30
201411,8940,6148,721.1., 03,00
20157,8648,5236,331.1, 9,30
201612,5477,6566,910.2., 19,00
201710,1351,5273 l/s07.11., 6,30
201811,5134,796 l/s13.3., 8,00
20192,5215,814,481.6., 13,30
202015,2364,5461 l/S14.10., 8,30
202113,5550,9266 l/s18.5., 10,00
20223,5623,639,5 l/s 2.4., 07,00
priemer 10,93

Nový merný profil -Kladenská chodba

Skalistý potok má v svojom známom priebehu v horných častiach jediný trvalý prítok, a to potôčik pretekajúci Kladenskou chodbou. Zo speleologického hľadiska je postup touto chodbou už poslednou nádejou pre “suchých” jaskyniarov. Nevieme odkiaľ prichádza, objavuje sa v závaloch na “Konci ´2000” Rozhodli sme sa tiež sledovať jeho prietok a za tým účelom sme  do dna vsadili Thomsonov prepad. Zatiaľ nemáme vyriešené kontinuálne sledovanie, veríme, že sa nám podarí vhodný prístroj získať.
Prípravná akcia prebehla 21.4., zúčastnili sa jej Kandričák, Kurty, Danko, Štefan Fürberger,
Jaroslav Zacher (Ke), Fero Zacher (Poprad). Na akcii sme vyfrézovali do vybratej časti dna zárez pre profil, ktorý sme následne vyrobili a definitívne vlepili so S. Dankom 19. 5. 2013. Od tých čias spoľahlivo  funguje, prietoky sa  pohybujú od 0,1 do viac ako 5 l/s

Hydrologický rok 2013

V závere roka sme z datalogeru stiahli údaje a tak máme k dispozícii konečne merania 1 kompletného
hydrologického roka (1. november 2012 až 31. október 2013).
V súčasnosti už meriame na lokalite aj zrážky, korelácie sú veľmi zaujímavé.

Pozoruhodné veci z 11.6.

Ako sme zistili pri stiahnutí údajov z datalogera dňa 31.7, počas roka 2013 sa vyskytli mimoriadne hydrologické situácie s prietokom viac ako 500 l/s. (Prístroj zaznamenáva údaje s krokom 30 min). Najzaujímavejší vývoj bol v noci z 10 na 11.6. Počas 4 hodín od 20,30 do 00,30 stúpol vodný stav z cca 20 cm na 76,5, znamená to vyjadrené prietokom cca 50 násobne, pričom došlo k preliatiu vody aj cez  obdĺžnikovú časť priepadu. Vyhodnotenie tohto extrému bude vyžadovať podrobnejšie zmapovanie profilu nad jeho obdĺžnikovou časťou. 

Funguje to ! (Skalistý potok 10.4.2012)

Sťahovanie dát do notbookuGraf vodného stavu uplynulého obdobia
Sledovanie zmien prietoku podzemného toku priamo v jaskyni má zabezpečiť kombinovaný Thompsonov a obdĺžníkový priepad, s ktorého budovaním sme začali už v marci r. 2011 v mieste riečišťa bez sedimentov asi 25 m povyše priepasti P31 s traverzom. Zavŕšenie značného úsilia pri budovaní solídneho diela bolo korunované inštaláciou hĺbkovej sondy a logera s pochopením vedenia Správy slovenských jaskýň (Ing. Hlaváč a doc. Bella) a tiež s metodickým usmernením dr. Haviarovej dňa 2.2.2012. Kontinuálne merania prebiehajú od februára 2012 a prinášajú pozoruhodné údaje o dynamike toku a jeho reakcii na meteorolologickú situáciu.
inštalácia hĺbkovej sondyumiestnenie logera na stene
vŕtanie uchytenia sondy na konzoledetail inštalovanej sondy

Skalistý potok 12. a 18. 11.2011 – ukončenie stavebnej časti profilu

F.Chovanec, šalovanieDokončovací tím - Kulčárová, Petrvalská, Chovanec

Skalistý potok 6.3.2011

Pár obrázkov z inštalácie vodomerného zariadenia – Thomsonovho prepadu.
na mieste sme museli flexkou profil upraviť, voda zatiaľ tečie v žľabe z plastu.

   
J. Kovalik dokončuje profilPráce pri budovaní profilu