getAvatar($_SESSION['user']['id']); $editor_courses = $student_objekt->isEditor($_SESSION['user']['id']); if ( is_array($editor_courses) ) $is_editor = true; else $is_editor = false; $data['editor'] = $is_editor; } //prispevky na home if ( (!array_key_exists('action', $_REQUEST)) || (array_key_exists('action', $_POST) && ($_POST['action'] == "log_in") ) ) { $data['alternativni_styl'] = false; $data['nejctenejsi'] = $prispevek_objekt->getMostRead( null, POCET_NEJCTENEJSICH_PRISPEVKU ); $data['nejnovejsi'] = $prispevek_objekt->getNewest( null, POCET_NEJNOVEJSICH_PRISPEVKU ); $data['neprehlednete'] = $prispevek_objekt->getDontMiss( null, POCET_NEPREHLEDNETE_PRISPEVKU ); $data['aktuality_dle_data_tv'] = $prispevek_objekt->getNewestByCourse( KURZ_TV ); $data['aktuality_dle_data_radio'] = $prispevek_objekt->getNewestByCourse( KURZ_RADIO ); $data['aktuality_dle_data_tisk'] = $prispevek_objekt->getNewestByCourse( KURZ_TISK ); } //detail kurzu if ( array_key_exists('action', $_GET) && ($_GET['action'] == "course_detail") ) { $url_kurzu = cleanSql($_GET['id']); $kurz = $kurz_objekt->getKurzByUrl( $url_kurzu ); if ( $kurz ) { $data['kurz'] = $kurz; $data['url_kurzu'] = $url_kurzu; $data['logo'] = $kurz['logo']; $data['odkaz'] = $kurz['stream']; $data['id_kurzu'] = $kurz['id_kurzu']; if ($kurz['id_kurzu']<4) { $data['alternativni_styl'] = 'color'.$kurz['id_kurzu']; } //prispevky $data['nejctenejsi'] = $prispevek_objekt->getMostRead( $kurz['id_kurzu'], POCET_NEJCTENEJSICH_PRISPEVKU ); $data['nejnovejsi'] = $prispevek_objekt->getNewest( $kurz['id_kurzu'], POCET_NEJNOVEJSICH_PRISPEVKU ); $data['neprehlednete'] = $prispevek_objekt->getDontMiss( $kurz['id_kurzu'], POCET_NEPREHLEDNETE_PRISPEVKU ); //clanky a kategorie $data['clanky'] = $clanek_objekt->getClankyByCourse( $kurz['id_kurzu'], 1 ); $data['kategorie'] = $kategorie_objekt->getKategorieByCoursePublic( $kurz['id_kurzu'] ); //anketa $data['anketa'] = $anketa_objekt->getAnketaByCourse( $kurz['id_kurzu'], 1 ); //test,jestli je neco v archivu $data['zobrazit_archiv_anket'] = $anketa_objekt->isAnketaArchiveByCourse( $kurz['id_kurzu'] ); //osetreni hlasovani $data['hlasovano_anketa'] = true; if ( is_array( $_SESSION['hlasovano_anketa'] ) && !in_array($data['anketa']['id_ankety'], $_SESSION['hlasovano_anketa']) ) $data['hlasovano_anketa'] = false; $smarty->assign($data); $smarty->display("detail_kurzu.html"); exit; } else { $data['chybove_hlaseni'] = "Tento kurz neexistuje"; $smarty->assign($data); $smarty->display("hlaseni.html"); exit; } } //vypis prispevku neprehlednete if ( array_key_exists('action', $_GET) && ($_GET['action'] == "dont_miss") ) { $omezujici_kurz = null; //pokud je omezen vyber na kurz if ( array_key_exists('url_kurzu', $_GET) && ($_GET['url_kurzu']) ) { $url_kurzu_db = cleanSql($_GET['url_kurzu']); $kurz = $kurz_objekt->getKurzByUrl( $url_kurzu_db ); if ( $kurz ) { $omezujici_kurz = $kurz['id_kurzu']; } } $data['prispevky'] = $prispevek_objekt->getDontMiss( $omezujici_kurz ); $data['prehled_nazev'] = 'Nepřehlédněte'; $smarty->assign($data); $smarty->display("prehled_prispevku.html"); exit; } //vypis prispevku nejnovejsi if ( array_key_exists('action', $_GET) && ($_GET['action'] == "newest") ) { $omezujici_kurz = null; //pokud je omezen vyber na kurz if ( array_key_exists('url_kurzu', $_GET) && ($_GET['url_kurzu']) ) { $url_kurzu_db = cleanSql($_GET['url_kurzu']); $kurz = $kurz_objekt->getKurzByUrl( $url_kurzu_db ); if ( $kurz ) { $omezujici_kurz = $kurz['id_kurzu']; } } $data['prispevky'] = $prispevek_objekt->getNewest( $omezujici_kurz ); $data['prehled_nazev'] = 'Nejnovější'; $smarty->assign($data); $smarty->display("prehled_prispevku.html"); exit; } //vypis prispevku nejctenejsi if ( array_key_exists('action', $_GET) && ($_GET['action'] == "most_read") ) { $omezujici_kurz = null; //pokud je omezen vyber na kurz if ( array_key_exists('url_kurzu', $_GET) && ($_GET['url_kurzu']) ) { $url_kurzu_db = cleanSql($_GET['url_kurzu']); $kurz = $kurz_objekt->getKurzByUrl( $url_kurzu_db ); if ( $kurz ) { $omezujici_kurz = $kurz['id_kurzu']; } } $data['prispevky'] = $prispevek_objekt->getMostRead( $omezujici_kurz ); $data['prehled_nazev'] = 'Nejčtenější'; $smarty->assign($data); $smarty->display("prehled_prispevku.html"); exit; } //detail prispevku if ( array_key_exists('action', $_GET) && ($_GET['action'] == "detail") ) { $id_prispevku = (int)$_GET['id']; $prispevek = $prispevek_objekt->getPrispevekDetail( $id_prispevku ); if ( $prispevek ) { //ulozeni statistik pokud se jedna o verejny prispevek if ( $prispevek['id_stavu'] == TYP_PRISPEVKU_VEREJNY ) $prispevek_objekt->increaseStatistics( $id_prispevku ); //nejctenejsi a nejnovejsi $data['nejctenejsi'] = $prispevek_objekt->getMostRead( $prispevek['id_kurzu'], POCET_NEJCTENEJSICH_PRISPEVKU ); $data['nejnovejsi'] = $prispevek_objekt->getNewest( $prispevek['id_kurzu'], POCET_NEJNOVEJSICH_PRISPEVKU ); $data['prispevek'] = $prispevek; //hlasovani - pokud nebylo hlasovano $data['hlasovano'] = false; if ( (is_array($_SESSION['hlasovano']) && in_array($id_prispevku, $_SESSION['hlasovano'])) || $prispevek['id_stavu'] != TYP_PRISPEVKU_VEREJNY ) $data['hlasovano'] = true; $smarty->assign($data); $smarty->display("detail_prispevku.html"); exit; } else { $data['chybove_hlaseni'] = 'Tento příspěvek neexistuje'; $smarty->assign($data); $smarty->display("hlaseni.html"); exit; } } //detail studenta if ( array_key_exists('action', $_GET) && ($_GET['action'] == "student_detail") ) { $id_studenta = (int)$_GET['id']; $student = $student_objekt->getStudentDetail( $id_studenta ); if ( $student ) { $data['student'] = $student; //echo $id_studenta; //pokud jeste neni nacten, zjistim avatar if ( !isset($data['avatar']) ) $data['avatar'] = $student_objekt->getAvatar($id_studenta); $smarty->assign($data); $smarty->display("detail_studenta.html"); exit; } else { $data['chybove_hlaseni'] = 'Tento student neexistuje'; $smarty->assign($data); $smarty->display("hlaseni.html"); exit; } } //detail clanku if ( array_key_exists('action', $_GET) && ($_GET['action'] == "article_detail") ) { $url = cleanSql($_GET['url_clanku']); $id_clanku = $clanek_objekt->getClanekIdByUrl( $url ); $clanek = $clanek_objekt->getClanekDetail( $id_clanku ); if ( $clanek ) { $data['clanek'] = $clanek; //nejctenejsi, nejnovejsi $data['nejctenejsi'] = $prispevek_objekt->getMostRead( $clanek['id_kurzu'], POCET_NEJCTENEJSICH_PRISPEVKU ); $data['nejnovejsi'] = $prispevek_objekt->getNewest( $clanek['id_kurzu'], POCET_NEJNOVEJSICH_PRISPEVKU ); $smarty->assign($data); $smarty->display("detail_clanku.html"); exit; } else { $data['chybove_hlaseni'] = 'Tento článek neexistuje'; $smarty->assign($data); $smarty->display("hlaseni.html"); exit; } } //detail kategorie if ( array_key_exists('action', $_GET) && ($_GET['action'] == "category_detail") ) { $url = cleanSql($_GET['url_kategorie']); $id_kategorie = $kategorie_objekt->getKategorieIdByUrl( $url ); $kategorie = $kategorie_objekt->getKategorieDetailPublic( $id_kategorie ); if ( $kategorie ) { $data['kategorie'] = $kategorie; //nejctenejsi, nejnovejsi $data['nejctenejsi'] = $prispevek_objekt->getMostRead( $kategorie['id_kurzu'], POCET_NEJCTENEJSICH_PRISPEVKU ); $data['nejnovejsi'] = $prispevek_objekt->getNewest( $kategorie['id_kurzu'], POCET_NEJNOVEJSICH_PRISPEVKU ); $smarty->assign($data); $smarty->display("detail_kategorie.html"); exit; } else { $data['chybove_hlaseni'] = 'Tato kategorie neexistuje'; $smarty->assign($data); $smarty->display("hlaseni.html"); exit; } } //ulozeni komentare if ( array_key_exists('action', $_POST) && ($_POST['action'] == "savenew_comment") ) { $id = (int)$_POST['id']; //spam ochrana if ( !$_POST['jmeno2'] ) { $data = array( 'id_prispevku' => $id, 'jmeno' => $_POST['jmeno'], 'email' => $_POST['email'], 'komentar' => $_POST['komentar'], 'datum' => date('Y-m-d H:i:s'), ); //ulozeni komentare if ( $komentar_objekt->insertKomentar($data) ) $message = 'ulozeno'; else $message = "neulozeno"; } else { $message = 'ulozeno'; } $prispevek = $prispevek_objekt->getPrispevekById( $id ); $url = $prispevek_objekt->getPrispevekUrl($prispevek); header('Location: '.$url.'?message='.$message);exit; } //archiv anket if ( array_key_exists('action', $_GET) && ($_GET['action'] == "archive") ) { $url = cleanSql($_GET['url_kurzu']); $kurz = $kurz_objekt->getKurzByUrl( $url ); if ( $kurz ) { $data['ankety'] = $anketa_objekt->getAnketaArchiveByCourse($kurz['id_kurzu']); //nejctenejsi nejnovejsi $data['nejctenejsi'] = $prispevek_objekt->getMostRead($kurz['id_kurzu'], POCET_NEJCTENEJSICH_PRISPEVKU); $data['nejnovejsi'] = $prispevek_objekt->getMostRead($kurz['id_kurzu'], POCET_NEJNOVEJSICH_PRISPEVKU); $smarty->assign($data); $smarty->display("archiv_anket.html"); } else header( 'Location: /');exit; } //hlasovani anketa if ( array_key_exists('action', $_GET) && ($_GET['action'] == "vote_response") ) { $odpoved = (int)$_GET['response']; $url_kurzu = $_GET['url']; //pokud se jedna o aktivni anketu a uzivatel jeste nehlasoval if ( $anketa_objekt->isActiveAnketaByOdpoved($odpoved) ) { $data_ankety = $anketa_objekt->getAnketaByOdpoved( $odpoved ); if ( is_array( $data_ankety ) && !in_array( $data_ankety['id_ankety'] , $_SESSION['hlasovano_anketa']) ) { $anketa_objekt->increaseOdpoved( $odpoved ); $_SESSION['hlasovano_anketa'][] = $data_ankety['id_ankety']; } } header( 'Location: /'.PATH.'kurz/'.$url_kurzu.'/' );exit; } //hlasovani if ( array_key_exists('action', $_GET) && ($_GET['action'] == "vote") ) { $id_prispevku = (int)$_GET['id']; $hlas = (int)$_GET['vote']; //osetreni velikosti pokud nekdo podvrhne hlas if ( $hlas < 1 || $hlas > 5 ) $hlas = 1; $prispevek = $prispevek_objekt->getPrispevekById($id_prispevku); if ( $prispevek && ($prispevek['id_stavu'] == TYP_PRISPEVKU_VEREJNY) ) { //test, jestli uz je hodnoceni, update, jinak pridat $hodnoceni = $db->select('hodnoceni', null, "id_prispevku = {$id_prispevku}"); if ( $hodnoceni ) //update { $sql = " UPDATE hodnoceni SET pocet = (pocet+1), suma = (suma + {$hlas}), datum = NOW() WHERE id_prispevku = {$id_prispevku} "; $result = $db->exec($sql); if ( $result ) $_SESSION['hlasovano'][] = $id_prispevku; } else //insert { $data = array( 'id_prispevku' => $id_prispevku, 'pocet' => 1, 'suma' => $hlas, 'datum' => date('Y-m-d H:i:s'), ); $result = $db->insert('hodnoceni', $data); if ( $result ) $_SESSION['hlasovano'][] = $id_prispevku; } $url = $prispevek_objekt->getPrispevekUrl($prispevek); header('Location: '.$url);exit; } header('Location: /'.PATH);exit; } //logovani if ( array_key_exists('action', $_POST) && ($_POST['action'] == "log_in") ) { require (CONFIG_FCE."makePassword.inc.php"); //prvne test na studenta $login = cleanSql($_POST['login']); $heslo = makePassword($_POST['password']); $sql = "SELECT heslo, id_studenta, jmeno, prijmeni, prezdivka, id_studenta, aktivni FROM student WHERE id_studenta = '{$login}'"; if (!$q = $conn->execute($sql)) echo $conn->errormsg(); if (!$q->recordcount()) { //test na ucitele $sql = "SELECT heslo, id_ucitele, jmeno, prijmeni FROM ucitel WHERE login = '{$login}'"; if (!$w = $conn->execute($sql)) echo $conn->errormsg(); if ($w->recordcount()) { if ($heslo == $w->fields["heslo"]) { $_SESSION['user'] = array( 'id' => $w->fields["id_ucitele"], 'typ' => TYP_UZIVATELE_UCITEL, 'user' => $w->fields['jmeno'].' '.$w->fields['prijmeni'] ); header ("Location: /".PATH.'prispevky.php'); exit(); } } } else { //hesla se shoduji a jedna se o aktivniho studenta if ( $heslo == $q->fields["heslo"] && $q->fields['aktivni'] ) { $_SESSION['user'] = array( 'id' => $q->fields["id_studenta"], 'typ' => TYP_UZIVATELE_STUDENT, 'user' => $q->fields['jmeno'].' '.$q->fields['prijmeni'] ); header ("Location: /".PATH.'prispevky_student.php'); exit(); } } //hlaseni o chybe $data['hlaseni_o_loginu'] = 'Přihlášení se nezdařilo'; } //odhlaseni if ( array_key_exists('action', $_GET) && ($_GET['action'] == "log_out") ) { unset($_SESSION['user']); header('Location: /'.PATH); } $smarty->assign($data); $smarty->display("index.html"); ?>