ACC SHELL

Path : /srv/www/vhosts/centrumlb/inc/
File Upload :
Current File : /srv/www/vhosts/centrumlb/inc/vlozit_prispevek.php

<?php
$valid = true;

function sendMessageToAdmin($arr) {
    $mail = new NMail;
    $mail->setFrom('Diskuse ' . EMAIL_FROM);
    $mail->addTo(EMAIL_TO);
    if (MARTIN) {
        $mail->addBcc(MARTIN);
    }
    if (TOMAS) {
        $mail->addBcc(TOMAS);
    }
    $mail->setSubject('Nový příspěvek do diskuse -  ' . $arr['nadpis']);
    $mail_text = 'Zpráva od uživatele: ' . $arr['jmeno'] . '<br /><br />';
    $mail_text .= 'Text: ' . $arr['text'] . '<br /><br />';
    $mail->setHTMLBody($mail_text);
    $mail->send();
}

if ($_POST['robot'] * 1 != 6) {
    $_SESSION['message_ko'][] = 'Zodpověděli jste špatně kontrolní otázku.';
    $valid = false;
} else {
    $mail = '';
    if (!empty($_POST['email'])) {
        if ($_POST['email'] != '@') {
            $mail = Validate::validateMail($_POST['email']);
            if (!$mail) {
                $valid = false;
            }
        }
    }

    $jmeno = Validate::validateString($_POST['jmeno'], 'Jméno');
    if (!$jmeno) {
        $valid = false;
    }
    $nadpis = Validate::validateString($_POST['nadpis'], 'Nadpis');
    if (!$nadpis) {
        $valid = false;
    }
    $text = Validate::validateString($_POST['text'], 'Text');
    if (!$text) {
        $valid = false;
    }
    $ip = Validate::validateIp($_SERVER['REMOTE_ADDR']);
    if (!$ip) {
        $valid = false;
    } else {
        $ban = $F->checkIp($_SERVER['REMOTE_ADDR']);
        NDebugger::barDump($ban, 'ban');
        if (isset($ban->ban) && $ban->ban == 1) {
            $_SESSION['message_ko'][] =
                    'Vaše IP adresa je na seznamu blokovaných. Pokud si myslíte že neoprávněně, zašlete informaci správci
                    <a href="mailto:' . EMAIL_FROM . '" title="Odeslat email"> webu</a>';
            $valid = false;
        }
    }
}


if ($valid) {
    $arr = array(
        'id' => isset($_POST['id']) ? $_POST['id'] : false,
        'jmeno' => $jmeno,
        'email' => $mail,
        'nadpis' => $nadpis,
        'text' => $text,
        'ip' => $_SERVER['REMOTE_ADDR'],
        'parent_id' => isset($_POST['parent_id']) ? $_POST['parent_id'] : false,
        'ban' => isset($_POST['ban']) ? 1 : 0,
        'datum' => isset($_POST['datum']) ? $_POST['datum'] : new DateTime,
    );
    //print_r($arr);exit;
    if ($arr['parent_id'] != false) {
        //Pri ok validaci redirect zpet
        $F->insertReakci($arr);
        /*
         * 1. Pri reakci na prispevek, v pripade ze byl v prispevku zadany mail, posilame info
         * 2. Jedna se o novy prispevek, posilame info adminovi
         */
        $email = dibi::query('SELECT email FROM knihanavstev WHERE id=%i', $arr['parent_id'], ' LIMIT 1')->fetch();
        if (!empty($email)) {
            $mail = new NMail;
            $mail->setFrom('Diskuse ' . EMAIL_FROM);
            $mail->addTo(EMAIL_TO);
            if (MARTIN) {
                $mail->addTo(MARTIN);
            }
            if (TOMAS) {
                $mail->addTo(TOMAS);
            }
            $mail->setSubject('Reakce na Váš příspěvek do diskuse -  ' . $arr['nadpis']);
            $mail_text = 'Zpráva od uživatele: ' . $arr['jmeno'] . '<br /><br />';
            $mail_text .= 'Text: ' . $arr['text'] . '<br /><br />';
            $mail->setHTMLBody($mail_text);
            $mail->send();

            //Prispevek posleme administratorovi v pripade, ze prispevek neni od admina (ip v configu)
            if ($arr['ip'] != ADMIN_IP) {
                sendMessageToAdmin($arr);
            }
        }
        //NDebugger::barDump($email, 'email taty');
        Tools::redirect('/' . $page_id);
    } else {
        if ($F->insertPrispevek($arr)) {

            //Prispevek posleme administratorovi v pripade, ze prispevek neni od admina (ip v configu)
            if ($arr['ip'] != ADMIN_IP) {
                sendMessageToAdmin($arr);
            }
            Tools::redirect('/' . $page_id);
        }
    }
}
?>


ACC SHELL 2018