forum forum Info INFO
 
  • 0 Vote(s) - 0 Average
 
admin
Administrator
29
21-09-2025, 21:09 PM
#1
strona niedostępna
admin
21-09-2025, 21:09 PM #1

strona niedostępna

admin
Administrator
29
5 hours ago
#2
Code:

// Ograniczenie wpForo według grup użytkowników z odliczaniem i automatycznym odświeżaniem
add_action('wpforo_before_add_post', function($postdata) {

    if (!is_user_logged_in()) return; // tylko zalogowani użytkownicy

    $user_id = get_current_user_id();
    $user = wp_get_current_user();

    // Tablica grup => limit w sekundach
    $group_limits = [
        'newbie' => 120,
        'member' => 60,
        'vip' => 30,
        'administrator' => 30,
        'moderator' => 60,
'subscriber' => 60
    ];

    $limit_seconds = 0;

    // sprawdzamy role użytkownika i ustawiamy limit
    foreach ($user->roles as $role) {
        if (isset($group_limits[$role])) {
            $limit_seconds = $group_limits[$role];
            break;
        }
    }

    if ($limit_seconds > 0) {
        $last_post_time = get_user_meta($user_id, '_wpforo_last_post_time', true);
        $current_time = time();

        if ($last_post_time && ($current_time - $last_post_time < $limit_seconds)) {
            $remaining = $limit_seconds - ($current_time - $last_post_time);

            wp_die('Musisz odczekać jeszcze <span id="countdown">' . $remaining . '</span> sekund przed napisaniem kolejnego posta.<br> Strona odświeży się automatycznie<br></br>
            <button id="refreshButton">Odśwież stronę</button>
            <script>
                var seconds = ' . $remaining . ';
                var countdownElem = document.getElementById("countdown");
                var refreshButton = document.getElementById("refreshButton");

                // odliczanie w dół
                var interval = setInterval(function() {
                    seconds--;
                    if(seconds <= 0){
                        clearInterval(interval);
                        countdownElem.innerHTML = 0;
                        location.reload(); // automatyczne odświeżenie po upływie czasu
                    } else {
                        countdownElem.innerHTML = seconds;
                    }
                }, 1000);

                // przycisk odświeżania
                refreshButton.addEventListener("click", function() {
                    location.reload();
                });
            </script>');
        }

        // zapisujemy czas ostatniego posta
        update_user_meta($user_id, '_wpforo_last_post_time', $current_time);
    }

});


// Ukryj pasek administracyjny dla wybranych ról
add_filter('show_admin_bar', function($show) {
    if (!is_user_logged_in()) {
        return false; // niezalogowani nie widzą
    }

    $user = wp_get_current_user();

    // Lista ról, które mają widzieć pasek
    $allowed_roles = ['administrator', 'moderator'];

    // Sprawdź, czy użytkownik ma jedną z dozwolonych ról
    foreach ($allowed_roles as $role) {
        if (in_array($role, $user->roles)) {
            return true; // pasek widoczny
        }
    }

    return false; // pozostałe role nie widzą paska
});



// ================================
// PeepSo: Draggable wrapper dla całego modala + ukrycie checkboxa
// ================================

// 1. Ukrycie checkboxa "Zapamiętaj mnie" z peepso
add_action('wp_head', function() {
    echo '<style>.ps-checkbox__label { display: none !important; }</style>';
});

wpforo - ograniczenie spamu, ukrywa pasek wp dla nie adminów.
Edited 5 hours ago by admin.
admin
5 hours ago #2

Code:

// Ograniczenie wpForo według grup użytkowników z odliczaniem i automatycznym odświeżaniem
add_action('wpforo_before_add_post', function($postdata) {

    if (!is_user_logged_in()) return; // tylko zalogowani użytkownicy

    $user_id = get_current_user_id();
    $user = wp_get_current_user();

    // Tablica grup => limit w sekundach
    $group_limits = [
        'newbie' => 120,
        'member' => 60,
        'vip' => 30,
        'administrator' => 30,
        'moderator' => 60,
'subscriber' => 60
    ];

    $limit_seconds = 0;

    // sprawdzamy role użytkownika i ustawiamy limit
    foreach ($user->roles as $role) {
        if (isset($group_limits[$role])) {
            $limit_seconds = $group_limits[$role];
            break;
        }
    }

    if ($limit_seconds > 0) {
        $last_post_time = get_user_meta($user_id, '_wpforo_last_post_time', true);
        $current_time = time();

        if ($last_post_time && ($current_time - $last_post_time < $limit_seconds)) {
            $remaining = $limit_seconds - ($current_time - $last_post_time);

            wp_die('Musisz odczekać jeszcze <span id="countdown">' . $remaining . '</span> sekund przed napisaniem kolejnego posta.<br> Strona odświeży się automatycznie<br></br>
            <button id="refreshButton">Odśwież stronę</button>
            <script>
                var seconds = ' . $remaining . ';
                var countdownElem = document.getElementById("countdown");
                var refreshButton = document.getElementById("refreshButton");

                // odliczanie w dół
                var interval = setInterval(function() {
                    seconds--;
                    if(seconds <= 0){
                        clearInterval(interval);
                        countdownElem.innerHTML = 0;
                        location.reload(); // automatyczne odświeżenie po upływie czasu
                    } else {
                        countdownElem.innerHTML = seconds;
                    }
                }, 1000);

                // przycisk odświeżania
                refreshButton.addEventListener("click", function() {
                    location.reload();
                });
            </script>');
        }

        // zapisujemy czas ostatniego posta
        update_user_meta($user_id, '_wpforo_last_post_time', $current_time);
    }

});


// Ukryj pasek administracyjny dla wybranych ról
add_filter('show_admin_bar', function($show) {
    if (!is_user_logged_in()) {
        return false; // niezalogowani nie widzą
    }

    $user = wp_get_current_user();

    // Lista ról, które mają widzieć pasek
    $allowed_roles = ['administrator', 'moderator'];

    // Sprawdź, czy użytkownik ma jedną z dozwolonych ról
    foreach ($allowed_roles as $role) {
        if (in_array($role, $user->roles)) {
            return true; // pasek widoczny
        }
    }

    return false; // pozostałe role nie widzą paska
});



// ================================
// PeepSo: Draggable wrapper dla całego modala + ukrycie checkboxa
// ================================

// 1. Ukrycie checkboxa "Zapamiętaj mnie" z peepso
add_action('wp_head', function() {
    echo '<style>.ps-checkbox__label { display: none !important; }</style>';
});

wpforo - ograniczenie spamu, ukrywa pasek wp dla nie adminów.

admin
Administrator
29
11 minutes ago
#3
(5 hours ago)admin
Code:

// Ograniczenie wpForo według grup użytkowników z odliczaniem i automatycznym odświeżaniem
add_action('wpforo_before_add_post', function($postdata) {

    if (!is_user_logged_in()) return; // tylko zalogowani użytkownicy

    $user_id = get_current_user_id();
    $user = wp_get_current_user();

    // Tablica grup => limit w sekundach
    $group_limits = [
        'newbie' => 120,
        'member' => 60,
        'vip' => 30,
        'administrator' => 30,
        'moderator' => 60,
'subscriber' => 60
    ];

    $limit_seconds = 0;

    // sprawdzamy role użytkownika i ustawiamy limit
    foreach ($user->roles as $role) {
        if (isset($group_limits[$role])) {
            $limit_seconds = $group_limits[$role];
            break;
        }
    }

    if ($limit_seconds > 0) {
        $last_post_time = get_user_meta($user_id, '_wpforo_last_post_time', true);
        $current_time = time();

        if ($last_post_time && ($current_time - $last_post_time < $limit_seconds)) {
            $remaining = $limit_seconds - ($current_time - $last_post_time);

            wp_die('Musisz odczekać jeszcze <span id="countdown">' . $remaining . '</span> sekund przed napisaniem kolejnego posta.<br> Strona odświeży się automatycznie<br></br>
            <button id="refreshButton">Odśwież stronę</button>
            <script>
                var seconds = ' . $remaining . ';
                var countdownElem = document.getElementById("countdown");
                var refreshButton = document.getElementById("refreshButton");

                // odliczanie w dół
                var interval = setInterval(function() {
                    seconds--;
                    if(seconds <= 0){
                        clearInterval(interval);
                        countdownElem.innerHTML = 0;
                        location.reload(); // automatyczne odświeżenie po upływie czasu
                    } else {
                        countdownElem.innerHTML = seconds;
                    }
                }, 1000);

                // przycisk odświeżania
                refreshButton.addEventListener("click", function() {
                    location.reload();
                });
            </script>');
        }

        // zapisujemy czas ostatniego posta
        update_user_meta($user_id, '_wpforo_last_post_time', $current_time);
    }

});


// Ukryj pasek administracyjny dla wybranych ról
add_filter('show_admin_bar', function($show) {
    if (!is_user_logged_in()) {
        return false; // niezalogowani nie widzą
    }

    $user = wp_get_current_user();

    // Lista ról, które mają widzieć pasek
    $allowed_roles = ['administrator', 'moderator'];

    // Sprawdź, czy użytkownik ma jedną z dozwolonych ról
    foreach ($allowed_roles as $role) {
        if (in_array($role, $user->roles)) {
            return true; // pasek widoczny
        }
    }

    return false; // pozostałe role nie widzą paska
});



// ================================
// PeepSo: Draggable wrapper dla całego modala + ukrycie checkboxa
// ================================

// 1. Ukrycie checkboxa "Zapamiętaj mnie" z peepso
add_action('wp_head', function() {
    echo '<style>.ps-checkbox__label { display: none !important; }</style>';
});

wpforo - ograniczenie spamu, ukrywa pasek wp dla nie adminów.

Dodane jeszcze, kliknięcie w ikonkę z better messages aby przejść do profilu, przenosi na peepso
admin
11 minutes ago #3

(5 hours ago)admin
Code:

// Ograniczenie wpForo według grup użytkowników z odliczaniem i automatycznym odświeżaniem
add_action('wpforo_before_add_post', function($postdata) {

    if (!is_user_logged_in()) return; // tylko zalogowani użytkownicy

    $user_id = get_current_user_id();
    $user = wp_get_current_user();

    // Tablica grup => limit w sekundach
    $group_limits = [
        'newbie' => 120,
        'member' => 60,
        'vip' => 30,
        'administrator' => 30,
        'moderator' => 60,
'subscriber' => 60
    ];

    $limit_seconds = 0;

    // sprawdzamy role użytkownika i ustawiamy limit
    foreach ($user->roles as $role) {
        if (isset($group_limits[$role])) {
            $limit_seconds = $group_limits[$role];
            break;
        }
    }

    if ($limit_seconds > 0) {
        $last_post_time = get_user_meta($user_id, '_wpforo_last_post_time', true);
        $current_time = time();

        if ($last_post_time && ($current_time - $last_post_time < $limit_seconds)) {
            $remaining = $limit_seconds - ($current_time - $last_post_time);

            wp_die('Musisz odczekać jeszcze <span id="countdown">' . $remaining . '</span> sekund przed napisaniem kolejnego posta.<br> Strona odświeży się automatycznie<br></br>
            <button id="refreshButton">Odśwież stronę</button>
            <script>
                var seconds = ' . $remaining . ';
                var countdownElem = document.getElementById("countdown");
                var refreshButton = document.getElementById("refreshButton");

                // odliczanie w dół
                var interval = setInterval(function() {
                    seconds--;
                    if(seconds <= 0){
                        clearInterval(interval);
                        countdownElem.innerHTML = 0;
                        location.reload(); // automatyczne odświeżenie po upływie czasu
                    } else {
                        countdownElem.innerHTML = seconds;
                    }
                }, 1000);

                // przycisk odświeżania
                refreshButton.addEventListener("click", function() {
                    location.reload();
                });
            </script>');
        }

        // zapisujemy czas ostatniego posta
        update_user_meta($user_id, '_wpforo_last_post_time', $current_time);
    }

});


// Ukryj pasek administracyjny dla wybranych ról
add_filter('show_admin_bar', function($show) {
    if (!is_user_logged_in()) {
        return false; // niezalogowani nie widzą
    }

    $user = wp_get_current_user();

    // Lista ról, które mają widzieć pasek
    $allowed_roles = ['administrator', 'moderator'];

    // Sprawdź, czy użytkownik ma jedną z dozwolonych ról
    foreach ($allowed_roles as $role) {
        if (in_array($role, $user->roles)) {
            return true; // pasek widoczny
        }
    }

    return false; // pozostałe role nie widzą paska
});



// ================================
// PeepSo: Draggable wrapper dla całego modala + ukrycie checkboxa
// ================================

// 1. Ukrycie checkboxa "Zapamiętaj mnie" z peepso
add_action('wp_head', function() {
    echo '<style>.ps-checkbox__label { display: none !important; }</style>';
});

wpforo - ograniczenie spamu, ukrywa pasek wp dla nie adminów.

Dodane jeszcze, kliknięcie w ikonkę z better messages aby przejść do profilu, przenosi na peepso

 
  • 0 Vote(s) - 0 Average
Recently Browsing
 1 Guest(s)
Recently Browsing
 1 Guest(s)