verifyResponse( $_SERVER["REMOTE_ADDR"], $_REQUEST["g-recaptcha-response"] ); } if (!($response != null && $response->success)) { exit; }; }; require_once('../lib/main-class.php'); // strankovani if(isset($_REQUEST['page'])) { $page = intval($_REQUEST['page']); } else { $page = 1; }; // ulozeni prispevku if(isset($_REQUEST['odeslat_prispevek']) /*&& $_SESSION['web']['uzivatel_id']*/) // pouze registrovani { //ochrana proti spamu: if ($_REQUEST['title']!="" || $_REQUEST['message']!="Your text" || $_REQUEST['url']!="http" || $_REQUEST['add']!="Here add your content") { header('Location: /'); exit; } if($_REQUEST['diskuze_id']) { $sql = 'SELECT '.DB_PREFIX.'clanek.nazev, '.DB_PREFIX.'clanek.url FROM '.DB_PREFIX.'diskuze JOIN '.DB_PREFIX.'clanek ON '.DB_PREFIX.'diskuze.clanek_id = '.DB_PREFIX.'clanek.id_clanek WHERE '.DB_PREFIX.'diskuze.id_diskuze = '.intval($_REQUEST['diskuze_id']).' AND '.DB_PREFIX.'clanek.id_clanek = '.intval($_REQUEST['clanek_id']).' AND '.DB_PREFIX.'clanek.active_state IN (1,2) AND '.DB_PREFIX.'clanek.zobrazovat_od <= '.$_SESSION['web']['NOW'].' AND '.DB_PREFIX.'clanek.zobrazovat_do >= '.$_SESSION['web']['NOW'].' LIMIT 1'; $prispevek = 'reakce'; $params = '?page='.$page.'&clanek_id='.$_REQUEST['clanek_id'].'&diskuze_id='.$_REQUEST['diskuze_id'].'&reagovat_prispevek#diskuze-reakce'; } else { $sql = 'SELECT '.DB_PREFIX.'clanek.nazev, '.DB_PREFIX.'clanek.url FROM '.DB_PREFIX.'clanek WHERE '.DB_PREFIX.'clanek.id_clanek = '.intval($_REQUEST['clanek_id']).' AND '.DB_PREFIX.'clanek.active_state IN (1,2) AND '.DB_PREFIX.'clanek.zobrazovat_od <= '.$_SESSION['web']['NOW'].' AND '.DB_PREFIX.'clanek.zobrazovat_do >= '.$_SESSION['web']['NOW'].' LIMIT 1'; $prispevek = 'prispevek'; $params = '?page='.$page.'#diskuze-prispevek'; $page = 1; }; if(!$zaznam = $db->get_row($sql)) { redirect(); } else { $url = $zaznam->url; // url pro chyby $urlError = str_replace(".html", ".html".$params, $url); // unikatni id $unikatni_id = uniqid(""); $img = true; /*** nahrat foto ***/ /*for($i = 0; $i < 5; $i++) { if($img && isset($_FILES[$prispevek.'-soubor-'.$i]) && is_uploaded_file($_FILES[$prispevek.'-soubor-'.$i]['tmp_name'])) { if($_FILES[$prispevek.'-soubor-'.$i]['size'] > 500000) { $form->set_error('Byla překročena maximální velikost souboru (500 kB).'); $img = false; } elseif(!getimagesize($_FILES[$prispevek.'-soubor-'.$i]['tmp_name'])) { $form->set_error('Nahrávaný soubor není obrázek.'); $img = false; } else { // vytvoreni adresare $upload_directory = WEB_DIRECTORY.'obrazek/'; @mkdir($upload_directory.$unikatni_id, 0777); // upload souboru $filename = get_file_name($_FILES[$prispevek.'-soubor-'.$i]['name']); $file = get_file($filename); $upload_hash_file = ''.$unikatni_id.'/'.$file['name'].'-'.uniqid("").'.'.$file['extension']; $upload_file = $upload_directory.$upload_hash_file; // zmenseni foto list($width, $height) = image_shrink_size($_FILES[$prispevek.'-soubor-'.$i]['tmp_name'], 800, 600); if ($width && $height) { image_resize($_FILES[$prispevek.'-soubor-'.$i]['tmp_name'], $upload_file, $width, $height); }; $priorita = 5 - $i; $sql = 'INSERT INTO '.DB_PREFIX.'obrazek ( polozka_id, link, soubor, priorita, active_state ) VALUES ( \''.$db->escape($unikatni_id).'\', \''.$db->escape($upload_hash_file).'\', \''.$db->escape($filename).'\', '.$priorita.', 1 )'; $db->query($sql); $form->set_ok('Obrázek byl vložen.'); }; }; };*/ // kontrola dat if(!$img) { redirect($urlError); } elseif(empty($_REQUEST[$prispevek.'-obsah']) /*|| empty($_REQUEST[$prispevek.'-nazev'])*/) { $form->set_error('Nevyplněna povinná položka.'); redirect($urlError); } elseif(!empty($_REQUEST[$prispevek.'-email']) && !is_email($_REQUEST[$prispevek.'-email'])) { $form->set_error('Chybně vyplněná položka.'); redirect($urlError); } elseif(!$_SESSION['web']['uzivatel_id']) // neprihlaseny uzivatel { // kod z obrazku /*if(!$form->check_code($prispevek.'-code')) { $form->set_error('Vyplněn chybný kód z obrázku.'); redirect($urlError); };*/ // jmeno if(empty($_REQUEST[$prispevek.'-jmeno'])) { $form->set_error('Nevyplněna povinná položka.'); redirect($urlError); } else { $jmeno = $_REQUEST[$prispevek.'-jmeno']; }; } elseif(!empty($_REQUEST[$prispevek.'-jmeno'])) { // jmeno $jmeno = $_REQUEST[$prispevek.'-jmeno']; } else { // jmeno $jmeno = $_SESSION['web']['login']; }; // cas vlozeni $cas_vlozeni = 'NOW()'; if(isset($_SESSION['admin']['uzivatel_id']) && $temp = get_timestamp($_REQUEST[$prispevek.'-cas_vlozeni'])) { $cas_vlozeni = '\''.$db->escape($temp).'\''; }; // nazev $nazev = strip_tags($_REQUEST[$prispevek.'-nazev']); // obsah $obsah = strip_tags($_REQUEST[$prispevek.'-obsah']); $replyMail = array('nazev' => $nazev, 'obsah'=> $obsah); $obsah = prevest_prispevek($obsah); // ulozeni do db $sql = 'INSERT INTO '.DB_PREFIX.'diskuze ( unikatni_id, diskuze_id, clanek_id, uzivatel_id, nazev, jmeno, email, obsah, hlasy, ip, cas_vlozeni, priorita, active_state ) VALUES ( \''.$db->escape($unikatni_id).'\', '.intval($_REQUEST['diskuze_id']).', '.intval($_REQUEST['clanek_id']).', '.intval($_SESSION['web']['uzivatel_id']).', \''.$db->escape($nazev).'\', \''.$db->escape(strip_tags($jmeno)).'\', \''.$db->escape(strip_tags($_REQUEST[$prispevek.'-email'])).'\', \''.$db->escape($obsah).'\', 0, \''.$db->escape($_SERVER['REMOTE_ADDR']).'\', '.$cas_vlozeni.', 0, 1 )'; $db->query($sql); $diskuze_id = $db->insert_id; // vytvoreni fora $sql = 'SELECT COUNT('.DB_PREFIX.'forum.id_forum) AS pocet FROM '.DB_PREFIX.'forum WHERE '.DB_PREFIX.'forum.clanek_id = '.intval($_REQUEST['clanek_id']).' AND '.DB_PREFIX.'forum.active_state = 6'; if(!$db->get_var($sql)) { $sql = 'SELECT '.DB_PREFIX.'forum.id_forum, '.DB_PREFIX.'forum.box_id FROM '.DB_PREFIX.'forum WHERE '.DB_PREFIX.'forum.active_state = 5 LIMIT 1'; if($row = $db->get_row($sql)) { $sql = 'INSERT INTO '.DB_PREFIX.'forum ( unikatni_id, box_id, clanek_id, forum_id, uzivatel_id, nazev, jmeno, email, cas_vlozeni, priorita, active_state ) VALUES ( \''.$db->escape(uniqid("")).'\', '.intval($row->box_id).', '.intval($_REQUEST['clanek_id']).', '.intval($row->id_forum).', '.intval($_SESSION['web']['uzivatel_id']).', \''.$db->escape($zaznam->nazev).'\', \''.$db->escape(strip_tags($jmeno)).'\', \''.$db->escape(strip_tags($_REQUEST[$prispevek.'-email'])).'\', NOW(), 0, 6 )'; $db->query($sql); $forumId = $db->insert_id; // search $search->index($forumId, 'forum'); // ulozeni drobku,... require_once(WEB_DIRECTORY.'admin/lib/navigation-class.php'); $navigation->save('forum', $forumId); } } $headers = "From: Dumabyt.cz \n"; $headers .= "X-Sender: \n"; $headers .= "X-Mailer: PHP\n"; $headers .= "Return-Path: \n"; $headers .= "Content-Type: text/plain; charset=utf-8\n"; mail(EMAIL_NOTIFIKACE, "Nový komentář na dumabyt.cz", "Dobrý den,\n\nv diskuzi pod článkem přibyl nový příspěvek.\n\nURL: ".WEB_URL.substr($url, 1)."#discussion", $headers); // search $search->index($diskuze_id, 'diskuze'); // zabraneni hlasovani pro vlastni prispevek setcookie(COOKIE_PREFIX.'hlasovano_'.$diskuze_id, $diskuze_id, strtotime("+1 month"), '/'); // odeslani mailu $sql = 'SELECT '.DB_PREFIX.'diskuze.email FROM '.DB_PREFIX.'diskuze WHERE '.DB_PREFIX.'diskuze.id_diskuze = '.intval($_REQUEST['diskuze_id']).' LIMIT 1'; if($email = $db->get_var($sql)) { require_once(WEB_DIRECTORY.'includes/mail-include.php'); if(is_email($email)) { $link = WEB_URL.substr($url, 1).'?page='.$page.'&clanek_id='.intval($_REQUEST['clanek_id']).'&diskuze_id='.$diskuze_id.'&reagovat_prispevek#diskuze-reakce'; $link = str_replace(".html", ".html", $link); if($mail = mail_diskuze($email, $replyMail['nazev'], $replyMail['obsah'], $link)) { @mail($mail['recipient'], $mail['subject'], $mail['body'], $mail['headers']); }; } } // url pro ulozenou polozku $params = '?page='.$page.'&ulozit_prispevek='.$db->insert_id.'#prispevek-'.$db->insert_id.''; $urlOk = str_replace(".html", ".html".$params, $url); $form->set_ok('Příspěvek byl uložen.'); // smazani cache cacheClanek(intval($_REQUEST['clanek_id'])); // smazani cache - poradna + diskuze for($i = 0; $i < 11; $i++) { $key = 'box-12:'.$i; $cache->delete($key); }; // smazani cache - nejdiskutovanejsi for($i = 0; $i < 11; $i++) { $key = 'box-5:'.$i; $cache->delete($key); }; // smazat cache - rubrika cacheRubrika(); // smazat cache - homepage $cache->delete('homepage'); redirect($urlOk); }; }; // hlasovani if(isset($_REQUEST['clanek_id'], $_REQUEST['diskuze_id'], $_REQUEST['hlasovat_prispevek'])) { $diskuze_id = intval($_REQUEST['diskuze_id']); $sql = 'SELECT '.DB_PREFIX.'clanek.url FROM '.DB_PREFIX.'diskuze JOIN '.DB_PREFIX.'clanek ON '.DB_PREFIX.'diskuze.clanek_id = '.DB_PREFIX.'clanek.id_clanek WHERE '.DB_PREFIX.'diskuze.id_diskuze = '.$diskuze_id.' AND '.DB_PREFIX.'clanek.id_clanek = '.intval($_REQUEST['clanek_id']).' AND '.DB_PREFIX.'diskuze.active_state = 1 LIMIT 1'; if($url = $db->get_var($sql)) { if (!isset($_COOKIE[COOKIE_PREFIX.'hlasovano_'.$diskuze_id])) { setcookie(COOKIE_PREFIX.'hlasovano_'.$diskuze_id, $diskuze_id, strtotime("+1 month"), '/'); $sql = 'UPDATE '.DB_PREFIX.'diskuze SET hlasy = hlasy + 1 WHERE id_diskuze = '.$diskuze_id; $db->query($sql); }; $params = '?page='.$page.'#prispevek-'.$diskuze_id.''; $url = str_replace(".html", ".html".$params, $url); redirect($url); }; redirect(); }; // vymazani prispevku if(isset($_REQUEST['diskuze_id'], $_REQUEST['smazat_prispevek'])) { // pouze admin if(!isset($_SESSION['admin']['uzivatel_id'])) { redirect(); }; $sql = 'SELECT '.DB_PREFIX.'clanek.id_clanek, '.DB_PREFIX.'clanek.url, '.DB_PREFIX.'diskuze.uzivatel_id FROM '.DB_PREFIX.'diskuze JOIN '.DB_PREFIX.'clanek ON '.DB_PREFIX.'diskuze.clanek_id = '.DB_PREFIX.'clanek.id_clanek WHERE '.DB_PREFIX.'diskuze.id_diskuze = '.intval($_REQUEST['diskuze_id']).' AND '.DB_PREFIX.'clanek.active_state IN (1,2) AND '.DB_PREFIX.'clanek.zobrazovat_od <= '.$_SESSION['web']['NOW'].' AND '.DB_PREFIX.'clanek.zobrazovat_do >= '.$_SESSION['web']['NOW'].' LIMIT 1'; if($zaznam = $db->get_row($sql)) { $url = str_replace(".html", ".html?page=".$page, $zaznam->url); if(isset($_SESSION['admin']['uzivatel_id'])) { $sql = 'UPDATE '.DB_PREFIX.'diskuze SET obsah = \'Tento názor byl kvůli nevhodnému obsahu odstraněn.\', active_state = 0 WHERE id_diskuze = '.intval($_REQUEST['diskuze_id']).''; $db->query($sql); } elseif($_SESSION['web']['uzivatel_id'] && ($_SESSION['web']['uzivatel_id'] == $zaznam->uzivatel_id)) { $sql = 'UPDATE '.DB_PREFIX.'diskuze SET obsah = \'Tento názor byl autorem odstraněn.\', active_state = 0 WHERE id_diskuze = '.intval($_REQUEST['diskuze_id']).''; $db->query($sql); }; // smazat forum $sql = 'SELECT COUNT('.DB_PREFIX.'diskuze.id_diskuze) AS pocet FROM '.DB_PREFIX.'diskuze WHERE '.DB_PREFIX.'diskuze.clanek_id = '.intval($zaznam->id_clanek).' AND '.DB_PREFIX.'diskuze.active_state = 1'; if(!$db->get_var($sql)) { $sql = 'DELETE FROM '.DB_PREFIX.'forum WHERE clanek_id = '.intval($zaznam->id_clanek).' AND active_state = 6'; $db->query($sql); } // smazani cache cacheClanek(intval($zaznam->id_clanek)); // smazani cache - poradna + diskuze for($i = 0; $i < 11; $i++) { $key = 'box-12:'.$i; $cache->delete($key); }; // smazani cache - nejdiskutovanejsi for($i = 0; $i < 11; $i++) { $key = 'box-5:'.$i; $cache->delete($key); }; // smazat cache - rubrika cacheRubrika(); // smazat cache - homepage $cache->delete('homepage'); redirect($url); }; redirect(); }; // odstraneni prispevku if(isset($_REQUEST['diskuze_id'], $_REQUEST['odstranit_prispevek'])) { if(isset($_SESSION['admin']['uzivatel_id'])) { $sql = 'SELECT '.DB_PREFIX.'clanek.id_clanek, '.DB_PREFIX.'clanek.url FROM '.DB_PREFIX.'diskuze JOIN '.DB_PREFIX.'clanek ON '.DB_PREFIX.'diskuze.clanek_id = '.DB_PREFIX.'clanek.id_clanek WHERE '.DB_PREFIX.'diskuze.id_diskuze = '.intval($_REQUEST['diskuze_id']).' AND '.DB_PREFIX.'clanek.active_state IN (1,2) AND '.DB_PREFIX.'clanek.zobrazovat_od <= '.$_SESSION['web']['NOW'].' AND '.DB_PREFIX.'clanek.zobrazovat_do >= '.$_SESSION['web']['NOW'].' LIMIT 1'; if($zaznam = $db->get_row($sql)) { $query = 'DELETE FROM '.DB_PREFIX.'diskuze WHERE id_diskuze = '.intval($_REQUEST['diskuze_id']).';'; function mazani_diskuze($id_diskuze) { global $db, $query; $sql = 'SELECT '.DB_PREFIX.'diskuze.id_diskuze FROM '.DB_PREFIX.'diskuze WHERE diskuze_id = '.intval($id_diskuze).''; if($res = $db->get_results($sql)) { $sql = ''; foreach($res as $diskuze) { $query .= 'DELETE FROM '.DB_PREFIX.'diskuze WHERE id_diskuze = '.$diskuze->id_diskuze.';'; mazani_diskuze($diskuze->id_diskuze); }; }; }; mazani_diskuze($_REQUEST['diskuze_id']); $db->query($query); // smazat forum $sql = 'SELECT COUNT('.DB_PREFIX.'diskuze.id_diskuze) AS pocet FROM '.DB_PREFIX.'diskuze WHERE '.DB_PREFIX.'diskuze.clanek_id = '.intval($zaznam->id_clanek).' AND '.DB_PREFIX.'diskuze.active_state = 1'; if(!$db->get_var($sql)) { $sql = 'DELETE FROM '.DB_PREFIX.'forum WHERE clanek_id = '.intval($zaznam->id_clanek).' AND active_state = 6'; $db->query($sql); } // smazani cache cacheClanek(intval($zaznam->id_clanek)); // smazani cache - poradna + diskuze for($i = 0; $i < 11; $i++) { $key = 'box-12:'.$i; $cache->delete($key); }; // smazani cache - nejdiskutovanejsi for($i = 0; $i < 11; $i++) { $key = 'box-5:'.$i; $cache->delete($key); }; // smazat cache - rubrika cacheRubrika(); // smazat cache - homepage $cache->delete('homepage'); $url = str_replace(".html", ".html?page=".$page, $zaznam->url); redirect($url); }; }; redirect(); }; ?>