public function process($parameters) { //do control panela maju pristup len prihlaseny uzivatelia $this->checkUser(); //hlavicka stranky $this->head['title'] = 'Ovládací panel'; $userManager = new UserManager(); $validation = new Validation(); //zadane URL pre odhlasenie if (!empty($parameters[0]) && $parameters[0] == 'odhlasit') { $userManager->logOut(); $this->redirect('prihlasenie'); } //data pre sablonu $user = $userManager->returnUser(); $this->data['admin'] = $user['admin']; $this->data['userRank'] = $validation->returnUserRank($user['admin']); $this->data['user'] = $user['name']; $this->data['avatar'] = $user['avatar']; $this->data['registrationDate'] = $user['registration_date']; $this->data['lastVisit'] = $user['last_visit']; $this->data['comments'] = $user['comments']; $this->data['articles'] = $user['articles']; $this->data['sex'] = $user['sex']; $this->data['email'] = $user['email']; //nastavenie sablony $this->view = 'controlPanel'; }
public function route($params) { $userManager = new UserManager(); $user = $userManager->returnUser(); if (!$user) { $this->redirect("login"); } switch ($user['role']) { case 2: $this->view = 'admin_dashboard'; break; case 1: $reviewManager = new ReviewManager(); $this->data['no_reviewed'] = $reviewManager->return_no_reviewed($user['id_user']); $this->data['reviewed'] = $reviewManager->return_reviewed($user['id_user']); $this->view = 'reviewer_dashboard'; break; case 0: default: $this->view = 'author_dashboard'; break; } $header_menu = 'login_bar'; $this->data['title_html'] = 'Hlavní panel'; $this->head['title_html'] = $this->data['title_html']; $this->header_menu = $header_menu; }
public function checkUser($admin = false) { $userManager = new UserManager(); $user = $userManager->returnUser(); if (!$user || $admin && $user['admin'] != '1') { $this->createMessage('Nemáte dostatočné oprávnenie.', 'info'); $this->redirect('prihlasenie'); } }
public function route($params) { $userManager = new UserManager(); $user = $userManager->returnUser(); $header_menu = "unlogin_bar"; if ($user) { $header_menu = 'login_bar'; } // Hlavička stránky http_response_code(404); $this->head['title_html'] = 'Stránka nenalezena'; $this->header_menu = $header_menu; $this->view = 'error'; }
public function route($params) { $userManager = new UserManager(); $user = $userManager->returnUser(); $header_menu = 'login_bar'; if (!$user) { $this->addMessage("Pro tuto akci je nutné se přihlásit"); $this->redirect("login"); } $this->header_menu = $header_menu; $this->head['title_html'] = 'Správa uživatelů'; $this->checkUser(2); //oveření, zda jde o administrátora switch ($params[0]) { case 'my': $this->redirect("user"); case 'add': $article = DBmodel::fromPOST(Article::class); // ověřím vyplnění zaslaných dat if ($article) { $articleManager->add_new_article($article); $this->addMessage("Článek byl úspěšně přidán"); } else { $this->addMessage("Článek nebyl přidán kvůlu nevyplněným údajům"); } $this->view = 'new_article'; break; default: $this->data['users'] = $userManager->return_all_users(); foreach ($this->data['users'] as $user) { if ($user['role'] == 0) { $user['color'] = "green"; } else { if ($user['role'] == 1) { $user['color'] = "purple"; } else { $user['color'] = "red"; } } } $this->view = 'users'; break; } }
public function process($parameters) { $userManager = new UserManager(); if ($userManager->returnUser()) { $this->redirect('panel'); } //hlavicka stranky $this->data['title'] = 'Prihlásenie'; if ($_POST) { try { $userManager->logIn($_POST['name'], $_POST['password']); $this->createMessage('Boli ste úspešne prihlásený.', 'success'); $this->redirect('panel'); } catch (UserError $error) { $this->createMessage($error->getMessage(), 'warning'); } } //nastavenie sablony $this->view = 'logIn'; }
public function process($parameters) { $userManager = new UserManager(); $articleManager = new ArticleManager(); $parsedURL = $this->parseURL($parameters[0]); //predanie URL do funkcie //zobrazenie uvodnej stranky if (empty($parsedURL[0])) { $frontPageContentManager = new frontPageContentManager(); $this->data['user'] = $userManager->returnUserName(); $this->data['title'] = 'Coding - Programovanie, Novinky, Software, Hardware'; $this->data['key_words'] = 'Programovanie, Novinky, Software, Hardware, Blog, Spravodajstvo'; $this->data['description'] = 'blog, články o programovaní, novinky zo sveta IT, rôzne zaujímavosti'; $this->data['messages'] = $this->returnMessages(); $this->data['topArticles'] = $articleManager->returnTopArticles(); $this->data['topArticlesTiles'] = $frontPageContentManager->returnLastArticles(); $this->view = 'frontPage'; } else { $controllerClass = $this->camelCase(array_shift($parsedURL)) . 'Controller'; //spracovanie URL na parametre, volanie pozadovaneho kontroleru if (file_exists('controllers/' . $controllerClass . '.php')) { //ak existuje kontroler z URL $this->controller = new $controllerClass(); } else { $this->redirect('chyba'); } //ak neexistuje, presmeruj na chybove hlasenie $this->controller->process($parsedURL); //spracovanie ostatnych parametrov vo vnorenom kontroleri //predanie premennych do hlavnej sablony $this->data['user'] = $userManager->returnUserName(); $this->data['loggedUser'] = $userManager->returnUser(); $this->data['title'] = $this->controller->head['title']; $this->data['key_words'] = $this->controller->head['key_words']; $this->data['description'] = $this->controller->head['description']; $this->data['messages'] = $this->returnMessages(); $this->data['topArticles'] = $articleManager->returnTopArticles(); $this->view = 'layout'; //nastavenie hlavnej sablony } }
public function route($params) { $userManager = new UserManager(); if ($userManager->returnUser()) { $this->redirect('dashboard'); } $header_menu = "login_bar_none"; $this->header_menu = $header_menu; // Hlavička stránky $this->head['title_html'] = 'Přihlášení do konferečního systému'; if ($_POST) { try { $userManager->login($_POST['jmeno'], $_POST['heslo']); $this->redirect('dashboard'); } catch (Exception $chyba) { $this->addMessage("Špatně zadané údaje"); } } // Nastavení šablony $this->view = 'login'; }
public function route($params) { $userManager = new UserManager(); $user = $userManager->returnUser(); if ($user) { $this->redirect("dashboard"); } $header_menu = 'login_bar_none'; $this->head['title_html'] = 'Registrace'; if ($_POST) { $new_user = DBmodel::fromPOST(NewUser::class); // ověřím vyplnění zaslaných dat if ($new_user) { if (!filter_var($new_user->email, FILTER_VALIDATE_EMAIL)) { $this->addMessage("Zadaný email má neplatný formát"); } else { if ($new_user->password != $new_user->password2) { $this->addMessage("Zadaná hesla se neshodují"); } else { $userManager = new UserManager(); $exist = $userManager->return_users_by_login($new_user->username); if ($exist) { $this->addMessage("Účet se zadaným loginem již existuje"); } else { $userManager->register($new_user); $this->addMessage("Registrace proběhla úspěšně, nyní se můžete přihlásit"); $this->redirect("login"); } } } } else { $this->addMessage("Registrace selhala kvůli nevyplněným údajům"); } } else { $_POST = NULL; } $this->header_menu = $header_menu; $this->view = 'registration'; }
public function route($params) { $webManager = new WebManager(); $userManager = new UserManager(); $user = $userManager->returnUser(); $header_menu = "login_bar_none"; if ($user) { $header_menu = 'login_bar'; } // echo $user['user']; $this->side_menu = $webManager->return_all_pages(); // Je zadáno URL článku ke smazání if (!empty($params[1]) && $params[1] == 'odstranit') { $this->checkUser(true); $webManager->odstranClanek($params[0]); $this->addMessage('Článek byl úspěšně odstraněn'); $this->redirect('clanek'); } else { if (!empty($params[0])) { // Získání článku podle URL $webPage = $webManager->return_page($params[0]); if (!$webPage) { $this->redirect('chyba'); } // Hlavička stránky $this->head = array('title_html' => $webPage['title'], 'key_words' => $webPage['key_words'], 'description' => $webPage['description']); // Naplnění proměnných pro šablonu $this->data['title'] = $webPage['title']; $this->data['obsah'] = $webPage['content']; $this->header_menu = $header_menu; $this->view = 'webpage'; } else { $this->redirect('web/home'); } } }
public function checkUser($authority) { $userManager = new UserManager(); $user = $userManager->returnUser(); if ($user['role'] != $authority) { $this->addMessage('Nedostatečná oprávnění.'); $this->redirect('login'); } }
public function process($parameters) { $articleManager = new ArticleManager(); $userManager = new UserManager(); $commentManager = new CommentManager(); $validation = new Validation(); $user = $userManager->returnUser(); $this->data['admin'] = $user['admin']; //ak je zadane URL pre clanok, uloz clanok do premennej $article if (!empty($parameters[0]) && $parameters[0] != 'page' && $parameters[0] != 'unpublished') { $article = $articleManager->returnArticle($parameters[0]); } //nie je zadane url clanku, tak vypise zoznam clankov if (empty($parameters[0])) { $articles = $articleManager->returnPublicArticles(0); $this->data['articles'] = $validation->statusOfArticles($articles); //zisti pocet clankov, a pripravi pocet stran $countArticles = sizeof($articles); $modulo = $countArticles % 5; if ($modulo == 0) { $this->data['pages'] = $countArticles / 5; } else { $this->data['pages'] = intval($countArticles / 5 + 1); } $this->data['currentPage'] = 1; //aktualna strana $this->view = 'articles'; } //ak je zadane URL pre zobrazenie nepublikovanych clankov if (!empty($parameters[0]) && $parameters[0] == 'unpublished') { $articles = $articleManager->returnUnpublishedArticles(); $this->data['articles'] = $validation->statusOfArticles($articles); $this->view = 'articles'; } //ak je zadane URL pre zobrazenie konkretnej strany if (!empty($parameters[0]) && $parameters[0] == 'page') { //ak je zadane cislo strany if (!empty($parameters[1]) && is_numeric($parameters[1])) { if ($parameters[1] == 1) { $offset = 0; } else { $offset = $parameters[1] * 5 - 5; } //zisti pocet clankov, a pripravi pocet stran $articles = $articleManager->returnPublicArticles(0); //vsetky clanky $countArticles = sizeof($articles); $modulo = $countArticles % 5; if ($modulo == 0) { $this->data['pages'] = $countArticles / 5; } else { $this->data['pages'] = intval($countArticles / 5 + 1); } $this->data['currentPage'] = $parameters[1]; //aktualna strana //vratenie clankov s pozadovanym offsetom $articles = $articleManager->returnPublicArticles($offset); $this->data['articles'] = $validation->statusOfArticles($articles); $this->view = 'articles'; } else { $this->redirect('clanky'); } } //ak je zadane URL pre zmazanie clanku if (!empty($parameters[1]) && $parameters[1] == 'odstranit' && $parameters[0] != 'page') { //overi ci clanok z URL existuje if (!$article) { $this->redirect('chyba'); } //overi ci je prihlaseny admin $this->checkUser(true); $articleManager->deleteArticle($parameters[0]); $this->createMessage('Článok bol odstránený', 'success'); $this->redirect('clanky'); } //ak je zadane URL pre zmazanie komentara if (!empty($parameters[0]) && !empty($parameters[1]) && $parameters[1] == 'odstranit-komentar' && !empty($parameters[2])) { //overi ci clanok z URL existuje if (!$article) { $this->redirect('chyba'); } $this->checkUser(true); //overi ci je prihlaseny admin $commentManager->deleteComment($parameters[2]); $this->createMessage('Komentár bol odstránený', 'success'); } //ak je zadane URL clanku if (!empty($parameters[0]) && $parameters[0] != 'page' && $parameters[0] != 'unpublished') { //ak nebol clanok na zadanej URL najdeny //alebo ak uzivatel nie je admin a clanok nie je publikovany //presmeruj na chybove hlasenie if (!$article || $user['admin'] != '1' && $article['public'] == '0') { $this->redirect('chyba'); } //ak bol odoslany komentar if ($_POST) { //ak bol spravne vyplneny antispam if ($_POST['year'] == date('Y')) { //vyber udajov z $_POST a ich ulozenie do premennej $comment $keys = array('article_id', 'comment', 'author'); $comment = array_intersect_key($_POST, array_flip($keys)); //ulozenie komentara do DB $commentManager->saveComment($comment, $user['name']); $this->createMessage('Váš komentár bol úspešne pridaný', 'success'); $this->redirect('clanky/' . $article['url']); } else { $this->createMessage('Chybne vyplnený antispam', 'warning'); $this->redirect('clanky/' . $article['url']); } } //hlavicka stranky $this->head = array('title' => $article['title'], 'key_words' => $article['key_words'], 'description' => $article['description']); //naplnenie premennych pre sablonu $this->data['article'] = $article; $this->data['user'] = $user['name']; //status clanku (publikovany/nepublikovany) $status = $validation->statusOfArticles(array($article)); $this->data['article']['status'] = $status[0]['status']; //komentare k clanku $this->data['comments'] = $commentManager->returnCommentsById($article['article_id']); //priradenie avataru uzivatela do komentarov $i = 0; foreach ($this->data['comments'] as $commentData) { $userData = $userManager->returnUserInfo($commentData['author']); $this->data['comments'][$i]['avatar'] = $userData['avatar']; $this->data['comments'][$i]['userRank'] = $validation->returnUserRank($userData['admin']); $i += 1; } //zaznamena navstevu clanku $articleManager->newVisit($article['article_id'], $article['visits']); //nastavenie sablony $this->view = 'article'; } }
public function process($parameters) { $articleManager = new ArticleManager(); $userManager = new UserManager(); $validation = new Validation(); $this->checkUser(); $loggedUser = $userManager->returnUser(); //editor je pristupny iba pre admina a redaktorov if ($loggedUser['admin'] == 1 || $loggedUser['admin'] == 2) { $article = array('article_id' => '', 'title' => '', 'thumbnail_img' => '', 'content' => '', 'url' => '', 'category' => '', 'description' => '', 'key_words' => '', 'author' => ''); //ak je odoslany formular if ($_POST) { //ziskanie clanku z $_POST $keys = array('article_id', 'title', 'thumbnail_img', 'content', 'url', 'category', 'description', 'key_words', 'author', 'public'); $article = array_intersect_key($_POST, array_flip($keys)); //upload a spracovanie suboru $imageUpload = new upload($_FILES['image_field'], 'sk_SK'); //nastavenie ID noveho clanku if (empty($article['article_id'])) { $article['article_id'] = $articleManager->returnLastArticleId() + 1; } $targetDirectory = 'img/articles/' . $article['article_id'] . '/'; $filePath = $targetDirectory . 'thumbnail.png'; try { //vytvori novy adresar podla ID noveho clanku if (!file_exists($targetDirectory)) { mkdir($targetDirectory, '0777', true); } //ak bol obrazok nahraty if ($imageUpload->uploaded) { $imageUpload->allowed = array('image/*'); //povolene formaty $imageUpload->mime_check = true; //kontrola formatu zapnuta $imageUpload->file_new_name_body = 'thumbnail'; //novy nazov suboru $imageUpload->image_resize = true; //zmensenie $imageUpload->image_convert = 'png'; //konvertovanie na png $imageUpload->image_x = 120; //vysledna sirka 120px $imageUpload->image_ratio_y = true; //vyska: auto //zmazanie existujuceho nahladoveho obrazka if (file_exists($filePath)) { unlink($filePath); } $imageUpload->process($targetDirectory); //uloz vysledny obrazok //ak bol obrazok ulozeny if ($imageUpload->processed) { //uloz cestu k obrazku do '$article' $article['thumbnail_img'] = $filePath; $imageUpload->clean(); } else { throw new UserError($imageUpload->error); } } } catch (UserError $error) { $this->createMessage($error->getMessage(), 'warning'); } //ulozenie clanku do databazy try { //vytvorenie URL adresy z pola title $article['url'] = $validation->checkUrl($article['title']); //ulozenie clanku do databazy $articleManager->saveArticle($_POST['article_id'], $article); $this->createMessage('Článok bol úspešne uložený', 'success'); //presmeruj na clanok $this->redirect('clanky/' . $article['url']); } catch (UserError $error) { $this->createMessage($error->getMessage(), 'warning'); $this->redirect('editor'); } } //ak je zadana URL adresa clanku na jeho editaciu if (!empty($parameters[0])) { $loadedArticle = $articleManager->returnArticle($parameters[0]); if ($loadedArticle) { $article = $loadedArticle; } else { $this->createMessage('Článok sa nenašiel', 'warning'); $this->redirect('chyba'); } $this->data['article'] = $article; //hlavicka stranky $this->head = array('title' => 'Editor - ' . $article['title'], 'key_words' => 'coding.wz.sk - editor', 'description' => 'Editor článkov'); $this->view = 'editor'; } else { $article['author'] = $userManager->returnUser()['name']; $this->data['article'] = $article; //hlavicka stranky $this->head = array('title' => 'Editor - Nový článok', 'key_words' => 'coding.wz.sk - editor', 'description' => 'Editor článkov'); $this->view = 'editor'; } } }
public function route($params) { $articleManager = new ArticleManager(); $userManager = new UserManager(); $user = $userManager->returnUser(); $this->data['title_html'] = ""; $header_menu = 'login_bar'; if (!$user) { $this->addMessage("Pro tuto akci je nutné se přihlásit"); $this->redirect("login"); } $this->header_menu = $header_menu; if (empty($params[0])) { $this->redirect("dashboard"); } switch ($params[0]) { case 'new': $this->checkUser(0); $_POST = NULL; $this->data['title_html'] = 'Nový článek'; $this->view = 'new_article'; break; case 'my': $this->data['title_html'] = 'Mé články'; $this->checkUser(0); if (isset($params[1])) { $article = $articleManager->return_article($params[1]); //var_dump($article); $this->data['id_article'] = $article['id_article']; $this->data['title'] = $article['title']; $this->data['authors'] = $article['authors']; $this->data['notes'] = $article['notes']; $this->data['link_pdf'] = $article['link_pdf']; $this->view = 'my_article'; } else { //$this->data['articles'] = $articleManager->return_all_articles(); $this->data['articles'] = $articleManager->return_my_articles($user['id_user']); $this->view = 'my_articles'; } break; case 'add': $this->checkUser(0); $this->data['title'] = $_POST['title']; $article = DBmodel::fromPOST(Article::class); // ověřím vyplnění zaslaných dat if ($article) { $articleManager = new ArticleManager(); $res = $articleManager->get_last_id()->fetch(); $id = "_1"; if ($res) { $id = "_" . ($res['id_article'] + 1); } $file_ok = 0; $target_dir = "pdf/"; $target_name = explode(".", $_FILES["link_pdf"]["name"])[0] . $id; $target_extension = explode(".", $_FILES["link_pdf"]["name"])[1]; $target_file = $target_dir . $target_name . "." . $target_extension; if ($target_extension != "pdf") { $this->addMessage("Nahraný dokument není ve formátu pdf"); } else { // je to pdf if (move_uploaded_file($_FILES["link_pdf"]["tmp_name"], $target_file)) { $this->addMessage("Dokument byl úspěšně nahrán na server"); $file_ok = 1; } else { $file_ok = 0; $this->addMessage("Chyba při nahrávání dokumentu na server"); } } if ($file_ok) { $article->link_pdf = $target_file; $articleManager->add_new_article($article, $user['id_user']); $this->addMessage("Článek byl úspěšně přidán"); } else { $this->addMessage("PDF dokument se nepodařilo nahrát na server <b>" . $_FILES["link_pdf"]["name"] . "</b>"); } $this->redirect("article/my"); } else { $this->addMessage("Článek nebyl přidán kvůli nevyplněným údajům"); } $this->data['title'] = $_POST['title']; $this->view = 'new_article'; break; case 'remove': $this->checkUser(0); $articleManager->delete_article_database($params[1], $user['id_user']); $this->redirect("article/my"); break; case 'manager': $this->data['title_html'] = 'Správa článků'; $this->checkUser(2); $articles = $articleManager->return_all_articles_w_reviews(); // final articles $fa = array(); foreach ($articles as $key => $a) { if (!isset($fa[$a['id_article']])) { $fa[$a['id_article']] = $a->toArray(); $fa[$a['id_article']]['reviews'] = []; } if ($a['id_review'] != null) { $fa[$a['id_article']]['reviews'][] = $a; } if (count($fa[$a['id_article']]['reviews']) == 3) { if ($fa[$a['id_article']]['reviews'][0]['accepted']) { $fa[$a['id_article']]['can_accept'] = "<span class='accepted'>Schváleno!</span>"; } else { $fa[$a['id_article']]['can_accept'] = '<input type="submit" class="btn btn-primary btn-block" value="Schválit">'; } //die(); } else { $fa[$a['id_article']]['can_accept'] = "<span class='accepted-no'>Nedostatek recenzí</span>"; } } $this->data['users'] = $userManager->return_all_users_by_role(1); $this->data['articles'] = $fa; $this->view = 'articles_editor'; break; case 'review': $this->data['title_html'] = 'Recenze článku'; if (!isset($params[1])) { $this->redirect("dashboard"); } $article = $articleManager->return_article($params[1]); $this->data['title'] = $article['title']; $this->data['authors'] = $article['authors']; $this->data['notes'] = $article['notes']; $this->data['link_pdf'] = $article['link_pdf']; $this->data['article_id_article'] = $params[1]; $this->view = 'review_article'; break; case 'add-review': $this->checkUser(1); $review = DBmodel::fromPOST(Review::class); // ověřím vyplnění zaslaných dat if ($review) { $reviewManager = new ReviewManager(); $reviewManager->add_review($review, $user['id_user']); $this->addMessage("Recenze byla úspěšně odeslána"); $this->redirect("dashboard"); } else { $this->addMessage("Recenze nebyla přidána kvůli neyplněným údajům"); } break; case 'remove-review': $this->checkUser(2); $reviewManager = new ReviewManager(); $reviewManager->delete_review($params[1]); $this->redirect("article/manager"); break; case 'add-reviewer': $this->checkUser(2); $reviewManager = new ReviewManager(); if ($reviewManager->add_reviewer($_POST['id_article'], $_POST['reviewer'])) { $this->addMessage("Recenzent byl úspěšně přidělen"); } else { $this->addMessage("Vybraný recenzent má již tento článek přidělen"); } $this->redirect("article/manager"); break; case 'accept': $this->checkUser(2); $accept = DBmodel::fromPOST(Accept::class); // ověřím vyplnění zaslaných dat if ($accept) { $reviewManager = new ReviewManager(); $reviewManager->accept_reviews($accept); $this->addMessage("Recenze byly úspěšně schváleny"); } else { $this->addMessage("Recenze nemohly být schváleny, protože jich není dostatečný počet: <b>3</b>"); } $this->redirect("article/manager"); break; case 'update': // editace článku $this->data['title_html'] = 'Úprava článku'; $this->checkUser(0); $article = DBmodel::fromPOST(Article::class); // ověřím vyplnění zaslaných dat if ($article) { $articleManager->update_article($article, $_POST['id_article']); $this->addMessage("Článek byl úspěšně upraven"); } else { $this->addMessage("Článek nebyl upraven kvůli nevyplněným údajům"); } $this->redirect("article/my/" . $_POST['id_article']); break; case 'upload': // nahrání nového PDF $this->checkUser(0); $articleManager = new ArticleManager(); $res = $articleManager->get_last_id()->fetch(); $id = "_1"; if ($res) { $id = "_" . $res['id_article']; } $target_dir = "pdf/"; $target_name = explode(".", $_FILES["fileToUpload"]["name"])[0] . $id; $target_extension = explode(".", $_FILES["fileToUpload"]["name"])[1]; $target_file = $target_dir . $target_name . "." . $target_extension; if (isset($_POST["submit"])) { if ($target_extension != "pdf") { $this->addMessage("Nahraný dokument není ve formátu pdf"); } else { // je to pdf if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { $articleManager->update_article_file($target_name . "." . $target_extension, $_POST['id_article']); $this->addMessage("Dokument byl úspěšně nahrán na server"); } else { $this->addMessage("Chyba při nahrávání dokumentu na server"); } } } $this->redirect("article/my/" . $_POST['id_article']); break; default: $this->redirect("dashboard"); break; } $this->head['title_html'] = $this->data['title_html']; }
public function process($parameters) { $articleManager = new ArticleManager(); $userManager = new UserManager(); $commentManager = new CommentManager(); $validation = new Validation(); $user = $userManager->returnUser(); $this->data['admin'] = $user['admin']; //ak je zadane URL pre clanok, uloz clanok do premennej $article if (!empty($parameters[0]) && $parameters[0] != 'page' && $parameters[0] != 'unpublished') { $article = $articleManager->returnArticle($parameters[0]); } //nie je zadane url clanku, tak vypise zoznam clankov if (empty($parameters[0])) { $articles = $articleManager->returnPublicArticles(0); $this->data['articles'] = $validation->statusOfArticles($articles); if (sizeof($articles) == 0) { $this->createMessage('Žiadne články na zobrazenie', 'info'); } //zisti pocet clankov, a pripravi pocet stran $countArticles = sizeof($articles); $modulo = $countArticles % 5; if ($modulo == 0) { $this->data['pages'] = $countArticles / 5; } else { $this->data['pages'] = intval($countArticles / 5 + 1); } $this->data['currentPage'] = 1; //aktualna strana //hlavicka stranky $this->head = array('title' => 'Zverejnené články', 'key_words' => 'coding.wz.sk - články', 'description' => 'Zverejnené články'); $this->view = 'articles'; } //ak je zadane URL pre zobrazenie nepublikovanych clankov if (!empty($parameters[0]) && $parameters[0] == 'unpublished') { $articles = $articleManager->returnUnpublishedArticles(); $this->data['articles'] = $validation->statusOfArticles($articles); if (sizeof($articles) == 0) { $this->createMessage('Žiadne články na zobrazenie', 'info'); } //hlavicka stranky $this->head = array('title' => 'Nezverejnené články', 'key_words' => 'coding.wz.sk', 'description' => 'Nezverejnené články'); $this->view = 'articles'; } //ak je zadane URL pre zobrazenie konkretnej strany if (!empty($parameters[0]) && $parameters[0] == 'page') { //ak je zadane cislo strany if (!empty($parameters[1]) && is_numeric($parameters[1])) { if ($parameters[1] == 1) { $offset = 0; } else { $offset = $parameters[1] * 5 - 5; } //zisti pocet clankov, a pripravi pocet stran $articles = $articleManager->returnPublicArticles(0); //vsetky clanky $countArticles = sizeof($articles); $modulo = $countArticles % 5; if ($modulo == 0) { $this->data['pages'] = $countArticles / 5; } else { $this->data['pages'] = intval($countArticles / 5 + 1); } $this->data['currentPage'] = $parameters[1]; //aktualna strana //vratenie clankov s pozadovanym offsetom $articles = $articleManager->returnPublicArticles($offset); $this->data['articles'] = $validation->statusOfArticles($articles); if (sizeof($articles) == 0) { $this->createMessage('Žiadne články na zobrazenie', 'info'); } //hlavicka stranky $this->head = array('title' => 'Zverejnené články - Strana ' . $parameters[1], 'key_words' => 'coding.wz.sk - články', 'description' => 'Zverejnené články'); $this->view = 'articles'; } else { $this->redirect('clanky'); } } //ak je zadane URL pre zmazanie clanku if (!empty($parameters[1]) && $parameters[1] == 'odstranit' && $parameters[0] != 'page') { //overi ci clanok z URL existuje if (!$article) { $this->redirect('chyba'); } //ak je clanok nepublikovany a je prihlaseny autor tohoto clanku if ($article['public'] == 0 && $article['author'] == $user['name']) { $articleManager->deleteArticle($parameters[0]); } else { //overi ci je prihlaseny admin $this->checkUser(true); $articleManager->deleteArticle($parameters[0]); } $this->createMessage('Článok bol odstránený', 'success'); $this->redirect('clanky'); } //ak je zadane URL pre publikovanie clanku if (!empty($parameters[1]) && $parameters[1] == 'publikovat' && $parameters[0] != 'page') { //overi ci clanok z URL existuje if (!$article) { $this->redirect('chyba'); } //overi ci je prihlaseny admin $this->checkUser(true); $articleManager->publishArticle($article['url']); $this->createMessage('Článok bol publikovaný', 'success'); $this->redirect('clanky'); } //ak je zadane URL pre zmazanie komentara if (!empty($parameters[0]) && !empty($parameters[1]) && $parameters[1] == 'odstranit-komentar' && !empty($parameters[2])) { //overi ci clanok z URL existuje if (!$article) { $this->redirect('chyba'); } $this->checkUser(true); //overi ci je prihlaseny admin $commentManager->deleteComment($parameters[2]); $this->createMessage('Komentár bol odstránený', 'success'); } //ak je zadane URL clanku if (!empty($parameters[0]) && $parameters[0] != 'page' && $parameters[0] != 'unpublished') { //ak nebol clanok na zadanej URL najdeny if (!$article) { $this->redirect('chyba'); } //ak uzivatel nie je admin ALEBO redaktor A clanok nie je publikovany if ($article['public'] == 0 && $user['admin'] == 0) { $this->redirect('chyba'); } //ak je uzivatel redaktor A nie je autorom daneho clanku if ($user['admin'] == 2 && $user['name'] != $article['author'] && $article['public'] == 0) { $this->redirect('chyba'); } //ak bol odoslany komentar if ($_POST) { //odstranenie skodliveho kodu z antispam pola $captchaAnswer = strip_tags($_POST['captchaAnswer']); //ak bol spravne vyplneny antispam if ($validation->checkCaptcha($_POST['captchaNumber1'], $_POST['captchaNumber2'], $captchaAnswer)) { $comment['article_id'] = $_POST['article_id']; $comment['author'] = $_POST['author']; $comment['comment'] = htmlspecialchars($_POST['comment']); //pridanie emoticonov $comment['comment'] = $commentManager->addEmoticons($comment['comment']); //ulozenie komentara do DB $commentManager->saveComment($comment, $user['name']); $this->createMessage('Váš komentár bol úspešne pridaný', 'success'); $this->redirect('clanky/' . $article['url']); } else { $this->createMessage('Chybne vyplnený antispam', 'warning'); $this->redirect('clanky/' . $article['url']); } } //naplnenie premennych pre sablonu $this->data['article'] = $article; $this->data['category'] = $validation->returnCategoryName($article['category']); $this->data['user'] = $user['name']; //status clanku (publikovany/nepublikovany) $status = $validation->statusOfArticles(array($article)); $this->data['article']['status'] = $status[0]['status']; //komentare k clanku $this->data['comments'] = $commentManager->returnCommentsById($article['article_id']); //antispam otazka $this->data['captcha'] = $validation->returnCaptcha(); //priradenie avataru uzivatela do komentarov $i = 0; foreach ($this->data['comments'] as $commentData) { $userData = $userManager->returnUserInfo($commentData['author']); $this->data['comments'][$i]['avatar'] = $userData['avatar']; $this->data['comments'][$i]['userRank'] = $validation->returnUserRank($userData['admin']); $i += 1; } //zaznamena navstevu clanku $articleManager->newVisit($article['article_id'], $article['visits']); //hlavicka stranky $this->head = array('title' => $article['title'], 'key_words' => $article['key_words'], 'description' => $article['description']); $this->view = 'article'; } }
public function process($parameters) { $userManager = new UserManager(); $validation = new Validation(); $user = $userManager->returnUser(); //ak bol odoslany formular pre ulozenie udajov uzivatela //udaje z formularu sa ukladaju do premennej $data, z ktorej sa nakoniec vyberu a zapisu do DB vsetky udaje //v celom bloku try sa odchytavaju vsetky vynimky if (isset($_POST['submit'])) { try { $this->checkUser(); //polia pre zmenu hesla //ak bolo vyplnene aspon jedno z poli if (!empty($_POST['old']) || !empty($_POST['password'] != '') || !empty($_POST['password2'] != '')) { $userManager->checkPassword($user['name'], $_POST['old']); //over stare heslo if (!empty($_POST['password']) && !empty($_POST['password2'])) { if ($_POST['password'] == $_POST['password2']) { $validation->checkPasswordLength($_POST['password']); //overi minimalnu dlzku hesla $data['password'] = $userManager->returnHash($_POST['password']); //pripravi pole a zasifruje heslo $this->createMessage('Heslo bolo úspešne zmenené.', 'success'); } else { throw new UserError('Heslá sa nezhodujú.'); } } else { throw new UserError('Nevyplnené pole.'); } } //radio button pohlavie if ($_POST['sex'] == 'male') { $data['sex'] = 'muž'; } else { $data['sex'] = 'žena'; } $userManager->updateUserData($user['name'], $data); //zapis udajov uzivatela do DB $this->createMessage('Nastavenia boli úspešne uložené.', 'success'); } catch (UserError $error) { $this->createMessage($error->getMessage(), 'warning'); } } //ak bol odoslany formular pre upload profiloveho obrazka if (isset($_POST['uploadImage'])) { $imageUpload = new upload($_FILES['image_field']); $targetDirectory = 'img/users/' . $user['name'] . '/'; $filePath = $targetDirectory . 'user_avatar.gif'; try { //ak neexistuje uzivatelov adresar, vytvor ho if (!file_exists($targetDirectory)) { mkdir($targetDirectory, '0777', true); } //ak bol obrazok nahraty if ($imageUpload->uploaded) { $imageUpload->allowed = array('image/*'); //povolene formaty $imageUpload->mime_check = true; //kontrola formatu zapnuta $imageUpload->file_new_name_body = 'user_avatar'; //novy nazov suboru $imageUpload->image_resize = true; //zmensenie $imageUpload->image_convert = 'gif'; //konvertovanie na gif $imageUpload->image_x = 100; //vysledna sirka 100px $imageUpload->image_ratio_y = true; //vyska: auto //zmazanie existujuceho avataru if (file_exists($filePath)) { unlink($filePath); } $imageUpload->process($targetDirectory); //uloz vysledny obrazok //ak bol obrazok ulozeny if ($imageUpload->processed) { //uloz avatar do databazy $userManager->updateUserData($user['name'], array('avatar' => $filePath)); $imageUpload->clean(); } else { throw new UserError($imageUpload->error); } $this->createMessage('Váš obrázok bol úspešne uložený.', 'success'); } else { throw new UserError('Obrázok sa nenahral'); } } catch (UserError $error) { $this->createMessage($error->getMessage(), 'warning'); } } //ak je zadana URL pre odstranenie uzivatela if (!empty($parameters[1]) && $parameters[1] == 'odstranit') { $this->checkUser(true); $userManager->deleteUser($parameters[0]); $this->createMessage('Užívateľ<strong> ' . $parameters[0] . ' </strong>bol odstránený', 'success'); $this->redirect('uzivatelia'); } //ak je zadana URL pre zmenu opravnenia uzivatela if (!empty($parameters[1]) && $parameters[1] == 'zmenit-opravnenie') { $this->checkUser(true); $requiredUser = $userManager->returnUserInfo($parameters[0]); //ak ma uzivatel hodnost 'Clen', zmen ho na 'Redaktor' if ($requiredUser['admin'] == 0) { $value = array('admin' => 2); $userManager->updateUserData($parameters[0], $value); $this->createMessage('Užívateľovi ' . $parameters[0] . ' bola priradená hodnosť Redaktor', 'success'); $this->redirect('uzivatelia'); } //ak ma uzivatel hodnost 'Redaktor', zmen ho na 'Clen' if ($requiredUser['admin'] == 2) { $value = array('admin' => 0); $userManager->updateUserData($parameters[0], $value); $this->createMessage('Užívateľovi ' . $parameters[0] . ' bola priradená hodnosť Člen', 'success'); $this->redirect('uzivatelia'); } } //ak je zadane URL profilu uzivatela if (!empty($parameters[0])) { $user = $userManager->returnUserInfo($parameters[0]); //ak pouzivatel nebol najdeny, presmeruj na chybove hlasenie if (!$user) { $this->redirect('chyba'); } //premenne pre sablonu $this->head['title'] = 'Užívateľský profil - ' . $user['name']; $this->data['userRank'] = $validation->returnUserRank($user['admin']); $this->data['user'] = $user['name']; $this->data['avatar'] = $user['avatar']; $this->data['registrationDate'] = $user['registration_date']; $this->data['lastVisit'] = $user['last_visit']; $this->data['comments'] = $user['comments']; $this->data['articles'] = $user['articles']; $this->data['sex'] = $user['sex']; $this->data['email'] = $user['email']; $this->data['loggedUser'] = $userManager->returnUser(); //sablona $this->view = 'profile'; } else { $this->checkUser(true); //premenne pre sablonu $this->head['title'] = 'Správa užívateľov'; $this->data['admin'] = $user && $user['admin']; $this->data['users'] = $userManager->returnUsers(); $this->data['loggedUser'] = $userManager->returnUser(); $index = 0; foreach ($this->data['users'] as $userData) { $this->data['users'][$index]['rank'] = $validation->returnUserRank($userData['admin']); $index += 1; } //sablona $this->view = 'users'; } }
public function process($parameters) { //iba prihlaseny uzivatelia $this->checkUser(); $userManager = new UserManager(); $messageManager = new MessageManager(); $loggedUser = $userManager->returnUser(); //ak je zadane URL pre vytvorenie novej spravy if (!empty($parameters[0]) && $parameters[0] == 'vytvorit') { $users = $userManager->returnUsers(); //vytvorenie zdroja pre automaticke doplnovanie uzivatelov v poli 'prijemca' $autocompleteSource = ''; foreach ($users as $user) { $autocompleteSource = $autocompleteSource . "'" . $user['name'] . "'" . ', '; } $autocompleteSource = rtrim($autocompleteSource, ", "); $this->data['autocompleteSource'] = $autocompleteSource; //ak bol zadany prijemca v URL if (!empty($parameters[1])) { $this->data['recipient_url'] = strip_tags($parameters[1]); } else { $this->data['recipient_url'] = ''; } $this->head['title'] = 'Nová správa'; $this->view = 'messageForm'; } //ak je zadane URL na odstranenie spravy if (!empty($parameters[1]) && $parameters[1] == 'odstranit') { $message = $messageManager->returnMessage($parameters[0]); if ($message) { $messageManager->deleteMessage($parameters[0], $loggedUser); $this->createMessage('Správa bola odstránená', 'success'); $this->redirect('panel'); } else { $this->redirect('chyba'); } } //ak je zadane URL na zobrazenie spravy if (!empty($parameters[1]) && $parameters[1] == 'zobrazit') { $message = $messageManager->returnMessage($parameters[0]); //ak sprava existuje a otvara ju prijimatel, alebo odosielatel if ($message && ($message['sender'] == $loggedUser['name'] || $message['recipient'] == $loggedUser['name'])) { //pri prvom otvoreni, oznac spravu ako precitanu if ($message['unread'] == 1 && $message['recipient'] == $loggedUser['name']) { $messageManager->readMessage($message['message_id']); } $this->head['title'] = 'Správa - ' . $message['subject']; $this->data['message'] = $message; $this->view = 'message'; } else { $this->redirect('chyba'); } } //ak bol odoslany formular pre odoslanie spravy if ($_POST) { $sender = $userManager->returnUser(); $recipient = strip_tags($_POST['recipient']); $subject = htmlspecialchars($_POST['subject']); $message = htmlspecialchars($_POST['message']); try { $recipient = $userManager->returnUserInfo($recipient); if (!$recipient) { throw new UserError('Užívateľ neexistuje'); } if ($sender['name'] == $recipient['name']) { throw new UserError('Nemôžete poslať správu sám sebe'); } //odoslanie spravy do databazy $messageManager->sendMessage($sender['name'], $recipient['name'], $subject, $message); $this->createMessage('Vaša správa bola úspešne odoslaná', 'success'); $this->redirect('panel'); } catch (UserError $error) { $this->createMessage($error->getMessage(), 'warning'); } } //zadane URL bez parametrov if (empty($parameters)) { $this->redirect('chyba'); } }
public function process($parameters) { //do control panela maju pristup len prihlaseny uzivatelia $this->checkUser(); $noticeManager = new NoticeManager(); $userManager = new UserManager(); $loggedUser = $userManager->returnUser(); //zadane URL pre odhlasenie if (!empty($parameters[0]) && $parameters[0] == 'odhlasit') { $userManager->logOut(); $this->redirect('prihlasenie'); } //zadane URL pre zobrazenie rozpisanych clankov redaktora alebo admina if (!empty($parameters[0]) && $parameters[0] == 'moje-clanky') { //ak je prihlaseny redaktor alebo admin if ($loggedUser['admin'] == 1 || $loggedUser['admin'] == 2) { $articleManager = new ArticleManager(); $unpublishedArticles = $articleManager->returnUnpublishedArticles(); //vybratie iba tych nepublikovanych clankov, ktorych autor je momentalne prihlaseny uzivatel $userArticles = array(); foreach ($unpublishedArticles as $article) { if ($article['author'] == $loggedUser['name']) { $userArticles[] = $article; } } //ak nie su ziadne clanky na zobrazenie if (sizeof($userArticles) == 0) { $this->createMessage('Žiadne články na zobrazenie', 'info'); } $this->data['userArticles'] = $userArticles; $this->head['title'] = 'Moje články'; $this->view = 'myArticles'; } } //ak bol odoslany formular s novym oznamom if (isset($_POST['newNoticeSubmit'])) { //overenie ci je prihlaseny admin $this->checkUser(true); if (isset($_POST['noticeField'])) { $noticeManager->addNotice($_POST['noticeField']); $this->createMessage('Oznam bol úspešne uložený', 'success'); $this->redirect('panel'); } } //zadane URL pre odstranenie oznamu if (!empty($parameters[1]) && $parameters[1] == 'odstranit') { //overenie ci je prihlaseny admin $this->checkUser(true); //odstran oznam s danym ID $noticeManager->removeNotice($parameters[0]); $this->redirect('panel'); } //ak je zadane URL pre odstranenie uzivatelskeho uctu if (!empty($parameters[1]) && $parameters[1] == 'odstranit-ucet') { if ($parameters[0] == $loggedUser['name']) { $userManager->deleteUser($parameters[0]); } else { $this->redirect('chyba'); } $this->createMessage('Váš účet bol odstránený zo systému. Ďakujeme', 'warning'); $userManager->logOut(); $this->redirect(''); } //zadane URL pre zobrazenie control panelu if (empty($parameters[0])) { $user = $userManager->returnUser(); //oznamy $this->data['notices'] = $noticeManager->returnNotices(); //data pre sablonu $this->data['admin'] = $user['admin']; $this->data['user'] = $user['name']; $messageManager = new MessageManager(); $this->data['receivedMessages'] = $messageManager->returnReceivedMessages($user['name']); $this->data['sentMessages'] = $messageManager->returnSentMessages($user['name']); //nastavenie sablony a title $this->view = 'controlPanel'; $this->head['title'] = 'Ovládací panel'; } }
public function process($parameters) { $articleManager = new ArticleManager(); $userManager = new UserManager(); $validation = new Validation(); $user = $userManager->returnUser(); $this->data['admin'] = $user['admin']; //ak je zadana existujuca kategoria if (!empty($parameters[0]) && ($parameters[0] == 'novinky' || $parameters[0] == 'programovanie' || $parameters[0] == 'hardware' || $parameters[0] == 'software' || $parameters[0] == 'ostatne')) { //nazov kategorie $category = $validation->returnCategoryName($parameters[0]); //ak je zadane URL pre zobrazenie konkretnej strany if (!empty($parameters[1]) && $parameters[1] == 'page') { //ak je zadane cislo strany if (!empty($parameters[2]) && is_numeric($parameters[2])) { if ($parameters[2] == 1) { $offset = 0; } else { $offset = $parameters[2] * 5 - 5; } //zisti pocet clankov, a pripravi pocet stran $articles = $articleManager->returnArticlesByCategory($parameters[0], 0); //vsetky clanky z danej kategorie $countArticles = sizeof($articles); if (sizeof($articles) == 0) { $this->createMessage('Žiadne články na zobrazenie', 'info'); } $modulo = $countArticles % 5; if ($modulo == 0) { $this->data['pages'] = $countArticles / 5; } else { $this->data['pages'] = intval($countArticles / 5 + 1); } $this->data['currentPage'] = $parameters[2]; //aktualna strana $this->data['category'] = $validation->returnCategoryName($parameters[0]); //aktualna kategoria //vratenie clankov s pozadovanym offsetom $articles = $articleManager->returnArticlesByCategory($parameters[0], $offset); $this->data['articles'] = $validation->statusOfArticles($articles); //hlavicka stranky $this->head = array('title' => $category, 'key_words' => 'Kategória - ' . $category, 'description' => 'Články z kategórie ' . $category); $this->view = 'category'; } else { $this->redirect('kategoria/' . $parameters[0]); } } else { $articles = $articleManager->returnArticlesByCategory($parameters[0], 0); $this->data['articles'] = $validation->statusOfArticles($articles); //zisti pocet clankov, a pripravi pocet stran $countArticles = sizeof($articles); if (sizeof($articles) == 0) { $this->createMessage('Žiadne články na zobrazenie', 'info'); } $modulo = $countArticles % 5; if ($modulo == 0) { $this->data['pages'] = $countArticles / 5; } else { $this->data['pages'] = intval($countArticles / 5 + 1); } $this->data['currentPage'] = 1; //aktualna strana $this->data['category'] = $category; //aktualna kategoria //hlavicka stranky $this->head = array('title' => $category, 'key_words' => 'Kategória - ' . $category, 'description' => 'Články z kategórie ' . $category); $this->view = 'category'; } } else { $this->redirect('chyba'); } }
public function process($parameters) { $userManager = new UserManager(); $validation = new Validation(); $user = $userManager->returnUser(); //ak bol odoslany formular pre ulozenie udajov uzivatela //udaje z formularu sa ukladaju do premennej $data, z ktorej sa nakoniec vyberu a zapisu do DB vsetky udaje //v celom bloku try sa odchytavaju vsetky vynimky if (isset($_POST['submit'])) { try { $this->checkUser(); //polia pre zmenu hesla //ak bolo vyplnene aspon jedno z poli if (!empty($_POST['old']) || !empty($_POST['password'] != '') || !empty($_POST['password2'] != '')) { $userManager->checkPassword($user['name'], $_POST['old']); //over stare heslo if (!empty($_POST['password']) && !empty($_POST['password2'])) { if ($_POST['password'] == $_POST['password2']) { $validation->checkPasswordLength($_POST['password']); //overi minimalnu dlzku hesla $data['password'] = $userManager->returnHash($_POST['password']); //pripravi pole a zasifruje heslo $this->createMessage('Heslo bolo úspešne zmenené.', 'success'); } else { throw new UserError('Heslá sa nezhodujú.'); } } else { throw new UserError('Nevyplnené pole.'); } } //radio button pohlavie if ($_POST['sex'] == 'male') { $data['sex'] = 'muž'; } else { $data['sex'] = 'žena'; } //pole pre email $data['email'] = $_POST['email']; $userManager->updateUserData($user['name'], $data); //zapis udajov uzivatela do DB $this->createMessage('Nastavenia boli úspešne uložené.', 'success'); } catch (UserError $error) { $this->createMessage($error->getMessage(), 'warning'); } } //ak bol odoslany formular pre upload profiloveho obrazka if (isset($_POST['uploadImage'])) { try { //adresar pre ulozenie obrazkov $targetDirectory = 'img/users/' . $user['name'] . '/'; $targetFile = $targetDirectory . basename($_FILES['fileToUpload']['name']); $imageFileType = pathinfo($targetFile, PATHINFO_EXTENSION); $targetFile = $targetDirectory . $user['user_id'] . '.' . $imageFileType; //ak neexistuje uzivatelov adresar, vytvor ho if (!file_exists($targetDirectory)) { mkdir($targetDirectory, '0777', true); } //ak bol nahraty obrazok if (!empty($_FILES['fileToUpload']['tmp_name'])) { //skontroluje ci subor je naozaj obrazok $check = getimagesize($_FILES['fileToUpload']['tmp_name']); if ($check == false) { throw new UserError('Súbor nie je obrázok'); } } else { throw new UserError('Nenahrali ste žiadny obrázok'); } if ($_FILES['fileToUpload']['size'] > 512000) { throw new UserError('Maximálna veľkosť obrázka je 0,5 MB.'); } if ($imageFileType != 'jpg' && $imageFileType != 'png' && $imageFileType != 'jpeg' && $imageFileType != 'gif') { throw new UserError('Nepovolený formát obrázku1'); } if (move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $targetFile)) { $this->createMessage('Váš obrázok bol úspešne uložený.', 'success'); } else { throw new UserError('Pri nahrávaní obrázka sa vyskytla chyba.'); } //zapisanie avataru do databazy $userManager->updateUserData($user['name'], array('avatar' => $user['name'] . '/' . $user['user_id'] . '.' . $imageFileType)); } catch (UserError $error) { $this->createMessage($error->getMessage(), 'warning'); } } //ak je zadana URL pre odstranenie uzivatela if (!empty($parameters[1]) && $parameters[1] == 'odstranit') { $this->checkUser(true); $userManager->deleteUser($parameters[0]); $this->createMessage('Užívateľ<strong> ' . $parameters[0] . ' </strong>bol odstránený', 'success'); $this->redirect('uzivatelia'); } //ak je zadane URL profilu uzivatela if (!empty($parameters[0])) { $user = $userManager->returnUserInfo($parameters[0]); //ak pouzivatel nebol najdeny, presmeruj na chybove hlasenie if (!$user) { $this->redirect('chyba'); } //premenne pre sablonu $this->head['title'] = 'Užívateľský profil - ' . $user['name']; $this->data['userRank'] = $validation->returnUserRank($user['admin']); $this->data['user'] = $user['name']; $this->data['avatar'] = $user['avatar']; $this->data['registrationDate'] = $user['registration_date']; $this->data['lastVisit'] = $user['last_visit']; $this->data['comments'] = $user['comments']; $this->data['articles'] = $user['articles']; $this->data['sex'] = $user['sex']; $this->data['email'] = $user['email']; $this->data['loggedUser'] = $userManager->returnUser(); //sablona $this->view = 'profile'; } else { $this->checkUser(true); //premenne pre sablonu $this->head['title'] = 'Správa užívateľov'; $this->data['admin'] = $user && $user['admin']; $this->data['users'] = $userManager->returnUsers(); $index = 0; foreach ($this->data['users'] as $userData) { $this->data['users'][$index]['rank'] = $validation->returnUserRank($userData['admin']); $index += 1; } //sablona $this->view = 'users'; } }