View Single Post
Staro 28.01.2025., 09:43   #28
spiderhr
Premium
 
spiderhr's Avatar
 
Datum registracije: Jul 2021
Lokacija: Sesvete
Postovi: 1,038
Niže je kod za obavijesti na mail. Na mail dobijete obavijesti za uspješno/neuspješno kao i svaki post/page koji se postavi na stranicu.

Napisao ChatGPT (nije mi se dalo istraživati što i kako).

Code:
function obavijesti_o_prijavi($username, $user = null) {
    // Osnovne informacije
    $site_url = home_url(); // URL stranice
    $admin_email = get_option('admin_email'); // Email admina
    $ip_address = $_SERVER['REMOTE_ADDR']; // IP adresa korisnika
    $trenutno_vrijeme = date("Y-m-d H:i:s");

    // Provjera vrste prijave (uspješna ili neuspješna)
    if ($user) {
        // Uspješna prijava
        $subject = "Uspješna prijava na $site_url";
        $message = "Korisnik $username uspješno se prijavio na stranicu $site_url.\n\n";
        $message .= "IP adresa: $ip_address\n";
        $message .= "Vrijeme: $trenutno_vrijeme\n";
    } else {
        // Neuspješna prijava
        $subject = "Upozorenje: Neuspješna prijava na $site_url";
        $message = "Netko je pokušao prijaviti se na tvoju stranicu s korisničkim imenom: $username.\n\n";
        $message .= "IP adresa: $ip_address\n";
        $message .= "Vrijeme: $trenutno_vrijeme\n";
        $message .= "URL stranice: $site_url\n";
    }

    // Slanje e-maila
    wp_mail($admin_email, $subject, $message);
}

// Hook za uspješnu prijavu
add_action('wp_login', function($user_login, $user) {
    obavijesti_o_prijavi($user_login, $user);
}, 10, 2);

// Hook za neuspješnu prijavu
add_action('wp_login_failed', function($username) {
    obavijesti_o_prijavi($username);
});


function disable_registration_page() {
    if (isset($_GET['action']) && $_GET['action'] === 'register') {
        wp_redirect(home_url());
        exit;
    }
}
add_action('login_init', 'disable_registration_page');

function obavijesti_o_aktivnostima($aktivnost, $post_id = null, $comment = null) {
    $admin_email = get_option('admin_email'); // Email admina
    $site_url = home_url(); // URL stranice
    $ip_address = $_SERVER['REMOTE_ADDR']; // IP adresa korisnika
    $trenutno_vrijeme = date("Y-m-d H:i:s");

    // Prilagodba poruke ovisno o vrsti aktivnosti
    if ($aktivnost === 'post') {
        $post = get_post($post_id);
        $author = get_the_author_meta('display_name', $post->post_author);
        $subject = "Novi post na $site_url";
        $message = "Napisan je novi post pod nazivom: {$post->post_title}\n\n";
        $message .= "Autor: $author\n";
        $message .= "URL posta: " . get_permalink($post_id) . "\n";
        $message .= "IP adresa autora: $ip_address\n";
        $message .= "Vrijeme: $trenutno_vrijeme\n";
    } elseif ($aktivnost === 'page') {
        $page = get_post($post_id);
        $author = get_the_author_meta('display_name', $page->post_author);
        $subject = "Nova stranica na $site_url";
        $message = "Napravljen je novi page pod nazivom: {$page->post_title}\n\n";
        $message .= "Autor: $author\n";
        $message .= "URL stranice: " . get_permalink($post_id) . "\n";
        $message .= "IP adresa autora: $ip_address\n";
        $message .= "Vrijeme: $trenutno_vrijeme\n";
    } elseif ($aktivnost === 'comment') {
        $subject = "Novi komentar na $site_url";
        $message = "Novi komentar je napisan.\n\n";
        $message .= "Autor komentara: {$comment->comment_author}\n";
        $message .= "Komentar: {$comment->comment_content}\n";
        $message .= "URL posta: " . get_permalink($comment->comment_post_ID) . "\n";
        $message .= "IP adresa autora: {$comment->comment_author_IP}\n";
        $message .= "Vrijeme: $trenutno_vrijeme\n";
    } else {
        return;
    }

    // Slanje e-maila
    wp_mail($admin_email, $subject, $message);
}

// Hook za obavijest o novim postovima
add_action('publish_post', function($post_id) {
    obavijesti_o_aktivnostima('post', $post_id);
});

// Hook za obavijest o novim stranicama
add_action('publish_page', function($post_id) {
    obavijesti_o_aktivnostima('page', $post_id);
});

// Hook za obavijest o novim komentarima
add_action('wp_insert_comment', function($comment_id, $comment) {
    obavijesti_o_aktivnostima('comment', null, $comment);
}, 10, 2);
__________________
tomek@vz: ajd nemoj | Mali Čile SAD Češka Peru | Windows Free
spiderhr je offline   Reply With Quote