Example #1
0
 public function process($parameters)
 {
     //editor je pristupny iba pre admina
     $this->checkUser(true);
     $this->head['title'] = 'Editor článkov';
     //vytvorenie instancie spravcu clankov
     $articleManager = new ArticleManager();
     $userManager = new UserManager();
     $validation = new Validation();
     $article = array('article_id' => '', 'thumbnail_img' => '', 'title' => '', 'content' => '', 'url' => '', 'description' => '', 'key_words' => '', 'author' => '');
     //ak je odoslany formular
     if ($_POST) {
         //ziskanie clanku z $_POST
         $keys = array('title', 'thumbnail_img', 'content', 'url', 'description', 'key_words', 'author', 'public');
         $article = array_intersect_key($_POST, array_flip($keys));
         //ak bol oznaceny checkbox public, tak nastav clanok ako publikovany
         if (isset($_POST['public'])) {
             $article['public'] = '1';
         } else {
             $article['public'] = '0';
         }
         //ak nebol nastaveny nahladovy obrazok, nastav defaultny
         if (empty($_POST['thumbnail_img'])) {
             $article['thumbnail_img'] = 'img/articles/no_thumb.jpg';
         }
         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');
             $this->redirect('clanky/' . $article['url']);
         } catch (UserError $error) {
             $this->createMessage($error->getMessage(), 'warning');
             $this->redirect('editor');
         }
     } elseif (!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['authors'] = $userManager->returnUsers();
     $this->data['article'] = $article;
     //sablona
     $this->view = 'editor';
 }
Example #2
0
 public function add()
 {
     if ($this->picture == 1) {
         //si on a une image
         $this->id = ArticleManager::add_article($this->title, $this->content, $this->id_receiver, $this->id_author, 1);
     } else {
         //si on a pas d'image
         ArticleManager::add_article($this->title, $this->content, $this->id_receiver, $this->id_author, 0);
     }
 }
Example #3
0
 public function __construct($id_pseudo, $id_article, $message, $id, $read)
 {
     $this->id_pseudo = $id_pseudo;
     $this->message = $message;
     $this->id_article = $id_article;
     $this->id = $id;
     $this->read = $read;
     $my_article = ArticleManager::get_article($id_article);
     $this->article = new Article($my_article['title'], $my_article['content'], $my_article['id_receiver'], $my_article['id_author'], $my_article['picture'], $my_article['id'], $my_article['date'], $my_article['likes']);
 }
Example #4
0
 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
     }
 }
Example #5
0
 public function __construct($receiver)
 {
     $my_articles = ArticleManager::get_articles($receiver);
     $t_size = count($my_articles);
     for ($i = 0; $i < $t_size; $i++) {
         $current_article = $my_articles[$i];
         $id = $current_article['id'];
         $title = $current_article['title'];
         $content = $current_article['content'];
         $receiver = $current_article['id_receiver'];
         $id_author = $current_article['id_author'];
         $my_picture = $current_article['picture'];
         $date = $current_article['date'];
         $likes = $current_article['likes'];
         $this->articles[$i] = new Article($title, $content, $receiver, $id_author, $my_picture, $id, $date, $likes);
     }
     $this->size = $t_size;
 }
Example #6
0
<?php

$mg = new ArticleManager($db);
$liste_pays = $mg->getListePays();
$nbr = count($liste_pays);
?>

<form id="form_creation" action="<?php 
print $_SERVER['PHP_SELF'];
?>
" method="get">


    <table>
        <tr>
            <td>Login : </td>
            <td><input type="text" name="login" id="login" /></td>
        </tr>
        <tr>
            <td>Mot de passe : </td>
            <td><input type="text" name="mot_de_passe" id="mot_de_passe" /></td>
        </tr>
        <tr>
            <td>Nom : </td>
            <td><input type="text" name="nom" id="nom" /></td>
        </tr>
        <tr>
            <td>Prenom : </td>
            <td><input type="text" name="prenom" id="prenom" /></td>
        </tr>
<?php

/**
 * Created by PhpStorm.
 * User: Florent
 * Date: 22/04/2015
 * Time: 11:57
 */
require_once '../Database/pdo.php';
require_once '../Entity/Article.php';
require_once '../EntityManager/ArticleManager.php';
$active = 1;
$inactive = 0;
if ($_POST['active'] == 1) {
    $article = new Article();
    $article->setActive($inactive)->setId($_POST['id']);
    $managerarticle = new ArticleManager($bdd);
    $managerarticle->activation_desactivation($article);
    header('Location:../Main/article.php');
} elseif ($_POST['active'] == 0) {
    $article = new Article();
    $article->setActive($active)->setId($_POST['id']);
    $managerarticle = new ArticleManager($bdd);
    $managerarticle->activation_desactivation($article);
    header('Location:../Main/article.php');
} else {
    header('Location:../Main/article.php');
}
Example #8
0
<h2>Votre panier</h2>
<?php 
$mg = new ArticleManager($db);
$contenu_panier = $mg->getContenuPanier($_SESSION['id_client']);
$nbr = count($contenu_panier);
?>

<?php 
/*
if (isset($_GET['recalculer'])) {


    for ($i = 0; $i < $nbr; $i++) {
        $nom2 = "checkbox" . $i;
        if (!isset($_GET[$nom2])) {

            $mg->supprimerDuPanier($contenu_panier[$i]->id_panier);
        }
    }
}
*/
?>



<form action="<?php 
print $_SERVER['PHP_SELF'];
?>
" method="get">

Example #9
0
 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'];
 }
Example #10
0
<?php

$mg = new ArticleManager($db);
?>

<h2>Bienvenue sur Inari</h2>

<img src="./admin/images/image_inari.jpg" alt="Pets-Sitting" />


<form action="<?php 
print $_SERVER['PHP_SELF'];
?>
" method="get">
    <table>
        <tr>
            <td>Votre login : </td>
            <td><input type="text" name="login" id="login" /></td>
        </tr>
        <tr>
            <td>Votre mot de passe : </td>
            <td><input type="text" name="mot_de_passe" id="mot_de_passe" /></td>
        </tr>
        <tr>
            <td>
                <input type="submit" name="valider" id="valider" value="valider" />
            </td>
        </tr>
    </table>
    
    
    <link href="../css/nouvelle.css" rel="stylesheet">
    <link href="../css/background.css" rel="stylesheet">
</head>
<?php 
/**
 * Created by PhpStorm.
 * User: Florent
 * Date: 17/04/2015
 * Time: 10:09
 */
require_once '../Navbar/navbar.php';
require_once '../Database/pdo.php';
require_once '../Entity/Article.php';
require_once '../EntityManager/ArticleManager.php';
$id = $_GET['id'];
$monarticlemanager = new ArticleManager($bdd);
$monarticle = $monarticlemanager->retour_article($id);
if ($monarticle == false) {
    ?>
    <div class="alert alert-warning alert-dismissable">
        <strong>Avertissement ►</strong> L'article n'a pas été trouvé.
    </div>
<?php 
} else {
    foreach ($monarticle as $article) {
        ?>
        <div class="container">
            <div class="col-md-5">
                <div class="col-md-3">
                    <center>
                        <img src="../photos/produit.png" class="img-size">
<?php

/**
 * Created by PhpStorm.
 * User: Florent
 * Date: 17/04/2015
 * Time: 10:48
 */
require_once '../Navbar/navbar.php';
require_once '../Database/pdo.php';
require_once '../Entity/Article.php';
require_once '../EntityManager/ArticleManager.php';
$monarticle = new Article();
$monarticle->setId($_POST['id'])->setTypeid($_POST['type'])->setNom($_POST['nom'])->setMarque($_POST['marque'])->setPoints($_POST['points'])->setDescription($_POST['description']);
$monmanagerarticle = new ArticleManager($bdd);
$monmanagerarticle->modification($monarticle);
header('Location:../Main/article.php');
Example #13
0
<?php

$articleManager = new ArticleManager($db);
$articles = $articleManager->getList();
$i = 0;
$c = count($articles);
while ($i < $c) {
    $article = $articles[$i];
    require 'views/articles.phtml';
    $i++;
}
Example #14
0
 /**
  * Public function that creates a single instance
  */
 public static function getInstance()
 {
     if (!isset(self::$_instance)) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Example #15
0
 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';
     }
 }
<?php

$pdo = new Mypdo();
$manager = new FactureManager($pdo);
$clientManager = new ClientManager($pdo);
if (isset($_GET['idCommande'])) {
    $articleManager = new ArticleManager($pdo);
    $resu = $manager->get($_GET['idCommande']);
    ?>
    <div class="container">
        <div class="row">
            <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
              <p> Commande <?php 
    echo $resu['commande']->getIdCommande();
    ?>
                du <?php 
    echo $resu['commande']->getDateCommande() . ' par ' . $clientManager->getClient($resu['commande']->getIdClient(), false)->getNom();
    ?>
 <br/>
                Montant : <?php 
    echo $resu['total'];
    ?>
€
              </p>

              <table>
                <tr>
                  <th>Nom Article</th>
                  <th>Prix Unitaire</th>
                  <th>Quantite</th>
                  <th>Commentaire</th>
<?php

/**
 * Created by PhpStorm.
 * User: Florent
 * Date: 17/04/2015
 * Time: 10:48
 */
require_once '../Navbar/navbar.php';
require_once '../Database/pdo.php';
require_once '../Entity/Article.php';
require_once '../EntityManager/ArticleManager.php';
$active = 1;
$monarticle = new Article();
$monarticle->setTypeid($_POST['type'])->setNom($_POST['nom'])->setMarque($_POST['marque'])->setPoints($_POST['points'])->setDescription($_POST['description'])->setActive($active);
$monmanagerarticle = new ArticleManager($bdd);
$monmanagerarticle->insertion($monarticle);
header('Location:../Main/article.php');
Example #18
0
 function l10n_lang_list($atts)
 {
     global $thisarticle, $l10n_language, $is_article_list, $pretext, $prefs;
     extract(lAtts(array('title' => '', 'on404' => '', 'current_class' => 'l10n_current', 'language_class' => 'long', 'list_class' => 'l10n_lang_list', 'show_empty' => '', 'link_current' => '', 'display' => 'native', 'article_list' => $is_article_list), $atts));
     $on404 = !empty($on404);
     # User marked this list as a 404 special lookup list.
     $show_empty = !empty($show_empty);
     $link_current = !empty($link_current);
     $processing404 = $pretext['status'] === '404';
     $list = array();
     static $alangs;
     $slangs = LanguageHandler::get_site_langs();
     $section = empty($pretext['s']) ? '' : $pretext['s'];
     $id = $pretext['id'];
     $url = trim($_SERVER['REQUEST_URI'], '/');
     $parts = chopUrl($url);
     //echo br , "l10n_lang_list(" , var_dump($atts) , ") Section($section) ID($id)" ;
     //echo br , "url = " , $_SERVER['REQUEST_URI'];
     //echo br , "parts = " , var_dump( $parts );
     if ($on404) {
         #
         #	Find the section and id of the faulting article (if possible)...
         #
         if (empty($id)) {
             $id = gps('id');
         }
         # Try out a messy match first
         if (empty($id)) {
             extract($parts);
             //echo br , 'permlink_mode = ' , $prefs['permlink_mode'];
             switch ($prefs['permlink_mode']) {
                 case 'section_id_title':
                     $id = $u1;
                     break;
                 case 'year_month_day_title':
                     $when = "{$u0}-{$u1}-{$u2}";
                     $rs = safe_row("ID,Section", "l10n_master_textpattern", "posted like '" . doSlash($when) . "%' and url_title like '" . doSlash($u3) . "' and Status >= 4 limit 1");
                     $id = !empty($rs['ID']) ? $rs['ID'] : '';
                     break;
                 case 'section_title':
                     $rs = safe_row("ID,Section", 'l10n_master_textpattern', "url_title like '" . doSlash($u1) . "' AND Section='" . doSlash($u0) . "' and Status >= 4 limit 1");
                     $id = @$rs['ID'];
                     break;
                 case 'title_only':
                     $rs = safe_row("ID", 'l10n_master_textpattern', "url_title like '" . doSlash($u0) . "' and Status >= 4 limit 1");
                     $id = @$rs['ID'];
                     break;
                 case 'id_title':
                     $id = $u0;
                     break;
             }
         }
         if (!empty($id) and is_numeric($id)) {
             $article_list = false;
         } else {
             return '';
         }
         #
         #	Make sure we show all alternatives, even if they are in the current language...
         #
         $link_current = true;
     }
     $show_title = !empty($title);
     if (!$article_list) {
         if (!isset($alangs) or !is_array($alangs)) {
             $alangs = ArticleManager::get_alternate_mappings($id, 'nothing', true);
         }
         //echo br , 'alangs = ' , var_dump( $alangs );
         if ($show_title) {
             $show_title = !empty($alangs);
         }
     }
     if ($show_title) {
         $title = tag($title, 'p') . n;
     } else {
         $title = '';
     }
     foreach ($slangs as $lang) {
         $codes = LanguageHandler::compact_code($lang);
         $short = $codes['short'];
         $long = $codes['long'];
         $dir = LanguageHandler::get_lang_direction_markup($lang);
         switch ($display) {
             case 'short':
                 $lname = $short;
                 break;
             case 'long':
                 $lname = $long;
                 break;
             case 'native+':
                 $lname = LanguageHandler::get_native_name_of_lang($lang) . " [{$short}]";
                 break;
             case 'native++':
                 $lname = LanguageHandler::get_native_name_of_lang($lang) . " [{$long}]";
                 break;
             default:
                 $lname = LanguageHandler::get_native_name_of_lang($lang);
                 break;
         }
         if ($article_list) {
             #
             #	No individual ID but we should be able to serve all the languages
             # so use the current url and inject the language component into each one...
             #
             $current = $l10n_language['long'] === $lang;
             $text = tag($lname, 'span', $dir);
             #
             #	Prep the line class...
             #
             $class = 'short' === $language_class ? $short : $lang;
             if ($current) {
                 $class .= ' ' . $current_class;
             }
             $class = ' class="' . $class . '"';
             if (!$current or $link_current) {
                 $uri = rtrim($_SERVER['REQUEST_URI'], '/');
                 if ($processing404) {
                     $uri = '';
                 }
                 $line = '<a href="' . hu . $short . $uri . '">' . $text . '</a>';
             } else {
                 $line = $text;
             }
             $list[] = tag($line, 'li', $class);
         } else {
             #
             #	If a translation exists for that language then we
             # build a valid url to it and make it active in the list, otherwise include it in the
             # list but wihtout the hyper-link.
             #
             #	The active page is marked up with a css class.
             #
             if (array_key_exists($lang, $alangs)) {
                 $record = $alangs[$lang];
                 $lang_rendition_title = $record['title'];
                 $lang_rendition_id = $record['id'];
                 $current = $l10n_language['long'] === $lang;
                 $text = $lname;
                 if ($processing404) {
                     $text = strong($text) . sp . ':' . sp . $lang_rendition_title;
                 }
                 $text = tag($text, 'span', $dir);
                 #
                 #	Prep the line class...
                 #
                 $class = 'short' === $language_class ? $short : $lang;
                 if ($current) {
                     $class .= ' ' . $current_class;
                 }
                 $class = ' class="' . $class . '"';
                 if (!$current or $link_current) {
                     //$line = '<a href="'.hu.$short.$section.'/'.$alangs[$lang].'">'.$text.'</a>';
                     #
                     #	Use messy urls to avoid permlink pattern processing...
                     #
                     $line = '<a href="' . hu . $short . '/?id=' . $lang_rendition_id . '">' . $text . '</a>';
                 } else {
                     $line = $text;
                 }
                 $list[] = tag($line, 'li', $class);
             } else {
                 if ($show_empty) {
                     $list[] = tag($lname, 'li');
                 }
             }
         }
     }
     $list = tag(join("\n\t", $list), 'ul', " class=\"{$list_class}\"");
     return $title . $list;
 }
Example #19
0
 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';
         }
     }
 }
Example #20
0
<?php

$mg = new ArticleManager($db);
$total_vente = $mg->getTotalVente();
$top_client = $mg->getTopClient();
$nbr = count($top_client);
?>

<form id="form_vente" action="<?php 
print $_SERVER['PHP_SELF'];
?>
" method="get">

    <h1>Voici diverses informations sur vos ventes</h1>
    
    
    <h2>Montant total de vos ventes</h2>
    
     <?php 
print $total_vente[0]->sum;
?>
    

    <h2>Vos meilleurs clients</h2>
    <?php 
if ($nbr > 5) {
    $nbr = 5;
}
for ($i = 0; $i < $nbr; $i++) {
    print $top_client[$i]->login . "-------->" . $top_client[$i]->total_achat;
}
Example #21
0
 * Time: 10:47
 */
require_once '../bdd/pdo.php';
require_once '../class/Article.php';
require_once '../manager/ArticleManager.php';
session_start();
?>
<body>
<?php 
require_once '../navbar/navbar.php';
?>
<div class="col-md-offset-1 col-md-10">
    <?php 
$typeid = $_POST['id'];
$monarticle = new Article();
$monarticlemanager = new ArticleManager($bdd);
$articles = $monarticlemanager->retour_article($typeid);
if ($articles == false) {
    ?>
        <div class="container">
            <div class="row">
                <div class="alert alert-warning alert-dismissable">
                    <strong>Avertissement ►</strong> Il n'y a pas d'articles pour le moment
                </div>
            </div>
        </div>
        <?php 
} else {
    foreach ($articles as $article) {
        ?>
                    <div class="error-notice">
Example #22
0
 /**
  * Set page description for current execution.
  *
  * @param array $tag_params
  * @param array $children
  */
 private function setDescription($tag_params, $children)
 {
     global $language;
     // set from language constant
     if (isset($tag_params['constant'])) {
         $language_handler = MainLanguageHandler::getInstance();
         $constant = fix_chars($tag_params['constant']);
         $this->page_description = $language_handler->getText($constant);
         // set from article
     } else {
         if (isset($tag_params['article']) && class_exists('articles')) {
             $manager = ArticleManager::getInstance();
             $text_id = fix_chars($tag_params['article']);
             // get article from database
             $item = $manager->getSingleItem(array('content'), array('text_id' => $text_id));
             if (is_object($item)) {
                 $content = strip_tags(Markdown($item->content[$language]));
                 $data = explode("\n", utf8_wordwrap($content, 150, "\n", true));
                 if (count($data) > 0) {
                     $this->page_description = $data[0];
                 }
             }
         }
     }
 }
Example #23
0
 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';
     }
 }
Example #24
0
<?php

// Appel les modèles
require 'modeles/maPDOClass.php';
require 'modeles/ArticleClass.php';
require 'modeles/ArticleManagerClass.php';
// si on veut afficher une page
if (isset($_GET['page'])) {
    $manage = new ArticleManager();
    $un = $manage->getUn($_GET['page']);
    // Appel de la vue
    require_once 'vues/pageArticleVue.php';
    // si on est sur l'accueil
} else {
    $manage = new ArticleManager();
    $tous = $manage->getList();
    // Appel de la vue
    require_once 'vues/accueilArticleVue.php';
}
 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');
     }
 }
Example #26
0
<h2>D&eacute;couvrez nos articles en vente</h2>
<?php 
$mg = new ArticleManager($db);
$liste_types = $mg->getListeTypes();
$liste_articles = $mg->getListeArticles();
//nombre d'élt du tableau de resultset
$nbr = count($liste_types);
$nbr2 = count($liste_articles);
?>


<form action="<?php 
print $_SERVER['PHP_SELF'];
?>
" method="get">
 

</form>



<form action="<?php 
print $_SERVER['PHP_SELF'];
?>
" method="get">
    <table>
        <tr>
            <td>
                <select name="choix" id="choix"> 
                    <option value="">Faites votre choix</option>
<?php 
Example #27
0
    if ($action == 'addCategory') {
        if (isset($_POST['title'], $_POST['content'])) {
            $manager = new CategoryManager($db);
            $idAuthor = $_SESSION['id'];
            try {
                $retour = $manager->create($_POST['title'], $_POST['content'], $idAuthor);
                header('Location: index.php?page=XcategorysX');
                exit;
            } catch (Exception $e) {
                $errors = $e->getMessage();
            }
        }
    } else {
        if ($action == 'updateCategory') {
            if (isset($_POST['title'], $_POST['content'])) {
                $manager = new ArticleManager($db);
                $category = $manager->findById($_GET['id']);
                if ($category->getIdAuthor() == $currentUser->getId()) {
                    $id = intval($_GET['id']);
                    $category->setTitle($_POST['title']);
                    $category->setContent($_POST['content']);
                    $retour->{$manager}->update($category);
                } else {
                    $user = $retour;
                    header('Location : index.php?page=home');
                    exit;
                }
            }
        }
    }
}
 * Time: 10:47
 */
require_once '../bdd/pdo.php';
require_once '../class/Article.php';
require_once '../manager/ArticleManager.php';
session_start();
?>
<body>
<?php 
require_once '../navbar/navbar.php';
?>
<div class="col-md-offset-1 col-md-10">
    <?php 
$id = $_GET['id'];
$monarticle = new Article();
$monarticlemanager = new ArticleManager($bdd);
$articles = $monarticlemanager->retour_article_one($id);
if ($articles == false) {
    ?>
        <div class="alert alert-warning alert-dismissable">
            <strong>Avertissement ►</strong> L'article n'a pas été trouvé.
        </div>
    <?php 
} else {
    foreach ($articles as $article) {
        ?>
    <div class="container">
        <div class="col-md-5">
            <div class="col-md-3">
                <center>
                    <img src="../photos/produit.png" class="img-size">
            ?>
"><strong><span
                                class="glyphicon glyphicon-hand-right"></span><?php 
            echo " " . $articlevrai->getNom();
            ?>
                        </strong></a> de <?php 
            echo $articlevrai->getMarque();
            ?>
                </div>
            </div>
        <?php 
        }
    }
} elseif ($id == 0) {
    $monarticle = new Article();
    $monarticlemanager = new ArticleManager($bdd);
    $articleinactif = $monarticlemanager->retour_inactive();
    if ($articleinactif == false) {
        ?>
        <div class="container">
            <div class="row">
                <div class="alert alert-warning alert-dismissable">
                    <strong>Avertissement ►</strong> Il n'y a pas d'articles inactifs pour le moment
                </div>
            </div>
        </div>
    <?php 
    } else {
        foreach ($articleinactif as $articlefaux) {
            ?>
            <div class="error-notice">
Example #30
0
 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';
     }
 }