diff options
Diffstat (limited to 'class')
-rw-r--r-- | class/class.aff.php | 195 | ||||
-rw-r--r-- | class/class.app.php | 51 | ||||
-rw-r--r-- | class/class.art.php | 340 |
3 files changed, 365 insertions, 221 deletions
diff --git a/class/class.aff.php b/class/class.aff.php new file mode 100644 index 0000000..2558c24 --- /dev/null +++ b/class/class.aff.php @@ -0,0 +1,195 @@ +<?php + +class Aff +{ + + private $session; + + private static $edit = 2; + + + // ____________________________________________________ F U N ______________________________________________ + + public function __construct($session) + { + $this->setsession($session); + } + + public function lecture(Art $art) + { + if($art->secure() == 1) { + echo '<span class="alert"><h4>cet article est privé</h4></span>'; + } + if($art->secure() == 2) { + echo "<span class=\"alert\"><h4>cet article n'est pas publié</h4></span>"; + } + + if ($this->session() >= $art->secure()) { + ?> + <style type="text/css"> + article { + background: <?= $art->couleurbkg() ?>; + color: <?= $art->couleurtext() ?>; + } + + a { + color: <?= $art->couleurlien() ?>; + } + <?= $art->css() ?> + </style> + <article> + <h1><?= $art->titre() ?></h1> + <h2><?= $art->soustitre() ?></h2> + <p><?= $art->html('html') ?></p> + </article> + <?php + + } + } + + public function edit(Art $art) + { + if ($this->session() >= self::$edit) { + + ?> + <article> + <form class="edit" action="?id=<?= $art->id() ?>" method="post"> + <input type="submit" value="modifier"> + <label for="titre">Titre :</label> + <input type="text" name="titre" id="titre" value="<?= $art->titre(); ?>"> + <label for="soustitre">Sous-titre :</label> + <input type="text" name="soustitre" id="soustitre" value="<?= $art->soustitre(); ?>"> + <label for="intro">Introduction :</label> + <input type="text" name="intro" id="intro" value="<?= $art->intro(); ?>"> + <label for="tag">Tag(s) :</label> + <input type="text" name="tag" id="tag" value="<?= $art->tag(); ?>"> + <label for="css">Styles CSS :</label> + <textarea name="css" id="css"><?= $art->css(); ?></textarea> + <label for="secure">Niveau de sécuritée :</label> + <select name="secure" id="secure"> + <option value="0" <?= $art->secure() == 0 ? 'selected' : '' ?>>0</option> + <option value="1" <?= $art->secure() == 1 ? 'selected' : '' ?>>1</option> + <option value="2" <?= $art->secure() == 2 ? 'selected' : '' ?>>2</option> + </select> + <label for="couleurtext">Couleur du texte :</label> + <input type="color" name="couleurtext" value="<?= $art->couleurtext() ?>" id="couleurtext"> + <label for="couleurbkg">Couleur de l'arrière plan :</label> + <input type="color" name="couleurbkg" value="<?= $art->couleurbkg() ?>" id="couleurbkg"> + <label for="couleurlien">Couleur des liens :</label> + <input type="color" name="couleurlien" value="<?= $art->couleurlien() ?>" id="couleurlien"> + <label for="html">Contenu :</label> + <textarea name="html" id="html" ><?= $art->html('md'); ?></textarea> + <input type="hidden" name="datecreation" value="<?= $art->datecreation('string'); ?>"> + <input type="hidden" name="id" value="<?= $art->id() ?>"> + <input type="hidden" name="action" value="update"> + <input type="submit" value="modifier"> + </form> + </article> + + <?php + + } + + } + + public function head($title) { + ?> + <head> + <meta charset="utf8" /> + <link href="/css/style.css" rel="stylesheet" /> + <title><?= $title ?></title> + </head> + <?php + } + + public function home($list) + { + echo '<ul>'; + foreach ($list as $item) { + echo '<li><a href="?id=' . $item['id'] . '">' . $item['titre'] . '</a> - ' . $item['intro']; + if ($this->session() >= 2) { + echo ' - <a href="?id=' . $item['id'] . '&edit=1">modifier</a></li>'; + } else { + echo '</li>'; + } + } + echo ' </ul> '; + } + + public function aside($list) + { + if ($this->session() >= 2) { + echo '<aside><ul>'; + foreach ($list as $item) { + echo '<li><a href="?id=' . $item['id'] . '&edit=1">' . $item['titre'] . '</a> - <code>[' . $item['titre'] . '](?id=' . $item['id'].')</code>'; + + + } + echo ' </ul></aside> '; + } + } + + public function nav($app) + { + ?> + <nav> + <?= $this->session() ?> + <a href="?" >home</a> + <?php + if ($this->session() >= 1) { + if(isset($_GET['id'])){ + ?> + <form action="?id=<?= $_GET['id'] ?>" method="post"> + <input type="hidden" name="action" value="logout"> + <input type="submit" value="disconnect"> + </form> + <?php + } + if(isset($_GET['id']) AND $app->exist($_GET['id']) AND $this->session() == 2) + { + ?> + <a href="?id=<?= $_GET['id'] ?>&display=1" target="_blank">display</a> + <a href="?id=<?= $_GET['id'] ?>&edit=1" >edit</a> + <?php + } + } + else + { + if(isset($_GET['id'])){ + ?> + <form action="?id=<?= $_GET['id'] ?>" method="post"> + <input type="hidden" name="action" value="login"> + <input type="password" name="pass" id="pass" placeholder="password"> + <input type="submit" value="connect"> + </form> + <?php + } + } + ?> + </nav> + <?php + } + + //______________________________________________________ S E T _________________________________________________ + + public function setsession($session) + { + if ($session <= 2 and $session >= 0) { + $session = intval($session); + $this->session = $session; + } + } + + //______________________________________________________ G E T _________________________________________________ + + public function session() + { + return $this->session; + } + + +} + + + +?>
\ No newline at end of file diff --git a/class/class.app.php b/class/class.app.php index ad62c25..ab67fdc 100644 --- a/class/class.app.php +++ b/class/class.app.php @@ -2,20 +2,19 @@ class App { private $bdd; + private $admin; + private $secure; public function __construct($config) { + $this->admin = $config['admin']; + $this->secure = $config['secure']; + try { $this->bdd = new PDO('mysql:host=' . $config['host'] . ';dbname=' . $config['dbname'] . ';charset=utf8', $config['user'], $config['password']); } catch (Exeption $e) { die('Erreur : ' . $e->getMessage()); } - - // try { - // $this->bdd = new PDO('mysql:host=localhost;dbname=wcms;charset=utf8', 'root', ''); - // } catch (Exeption $e) { - // die('Erreur : ' . $e->getMessage()); - // } } public function add(Art $art) @@ -37,7 +36,7 @@ class App $q->bindValue(':datecreation', $now->format('Y-m-d H:i:s')); $q->bindValue(':datemodif', $now->format('Y-m-d H:i:s')); $q->bindValue(':css', $art->css()); - $q->bindValue(':html', $art->html()); + $q->bindValue(':html', $art->html('md')); $q->bindValue(':secure', $art->secure()); $q->bindValue(':couleurtext', $art->couleurtext()); $q->bindValue(':couleurbkg', $art->couleurbkg()); @@ -77,19 +76,13 @@ class App return $list; } - public function menu($session) + public function list() { $req = $this->bdd->query('SELECT * FROM art ORDER BY id'); - echo '<ul>'; - while ($donnees = $req->fetch(PDO::FETCH_ASSOC)) { - echo '<li><a href="?id=' . $donnees['id'] . '&display=1">' . $donnees['titre'] . '</a> - ' . $donnees['intro']; - if ($session >= 2) { - echo ' - <a href="?id=' . $donnees['id'] . '&edit=1">modifier</a></li>'; - } else { - echo '</li>'; - } - } - echo ' </ul> '; + $donnees = $req->fetchAll(PDO::FETCH_ASSOC); + return $donnees; + + $req->closeCursor(); } @@ -121,7 +114,7 @@ class App $q->bindValue(':datecreation', $art->datecreation('string')); $q->bindValue(':datemodif', $now->format('Y-m-d H:i:s')); $q->bindValue(':css', $art->css()); - $q->bindValue(':html', $art->html()); + $q->bindValue(':html', $art->html('md')); $q->bindValue(':secure', $art->secure()); $q->bindValue(':couleurtext', $art->couleurtext()); $q->bindValue(':couleurbkg', $art->couleurbkg()); @@ -130,5 +123,25 @@ class App $q->execute(); } + //_________________________________________________________ S E S ________________________________________________________ + + public function login($pass) + { + if(strip_tags($pass) == $this->admin) + { + var_dump($this->admin); + $_SESSION['level'] = 2; + } + elseif(strip_tags($pass) == $this->secure) + { + $_SESSION['level'] = 1; + } + } + + public function logout() + { + $_SESSION['level'] = 0; + } + } ?>
\ No newline at end of file diff --git a/class/class.art.php b/class/class.art.php index bf2aeef..54fa28d 100644 --- a/class/class.art.php +++ b/class/class.art.php @@ -1,5 +1,7 @@ <?php +use Michelf\Markdown; + class Art { private $id; @@ -20,7 +22,6 @@ class Art private static $lenhtml = 65535; private static $securemax = 2; private static $lencouleur = 7; - private static $edit = 2; // _____________________________________________________ F U N ____________________________________________________ @@ -50,7 +51,7 @@ class Art $this->setintro('resumé'); $this->settag('sans tag,'); $this->setdatecreation($now); - $this->setcss('display: inline;'); + $this->setcss(''); $this->sethtml('contenu'); $this->setsecure(2); $this->setcouleurtext('#000000'); @@ -58,253 +59,188 @@ class Art $this->setcouleurlien('#000000'); } - public function edit($session) - { - if ($session >= self::$edit) { - - ?> - <article> - <form class="edit" action="?id=<?= $this->id() ?>" method="post"> - <label for="titre">Titre :</label> - <input type="text" name="titre" id="titre" value="<?= $this->titre(); ?>"> - <label for="soustitre">Sous-titre :</label> - <input type="text" name="soustitre" id="soustitre" value="<?= $this->soustitre(); ?>"> - <label for="intro">Introduction :</label> - <input type="text" name="intro" id="intro" value="<?= $this->intro(); ?>"> - <label for="tag">Tag(s) :</label> - <input type="text" name="tag" id="tag" value="<?= $this->tag(); ?>"> - <label for="css">Styles CSS :</label> - <input type="text" name="css" id="css" value="<?= $this->css(); ?>"> - <label for="secure">Niveau de sécuritée :</label> - <select name="secure" id="secure"> - <option value="0" <?= $this->secure() == 0 ? 'selected' : '' ?>>0</option> - <option value="1" <?= $this->secure() == 1 ? 'selected' : '' ?>>1</option> - <option value="2" <?= $this->secure() == 2 ? 'selected' : '' ?>>2</option> - </select> - <label for="couleurtext">Couleur du texte :</label> - <input type="color" name="couleurtext" value="<?= $this->couleurtext() ?>" id="couleurtext"> - <label for="couleurbkg">Couleur de l'arrière plan :</label> - <input type="color" name="couleurbkg" value="<?= $this->couleurbkg() ?>" id="couleurbkg"> - <label for="couleurlien">Couleur des liens :</label> - <input type="color" name="couleurlien" value="<?= $this->couleurlien() ?>" id="couleurlien"> - <label for="html">Contenu :</label> - <textarea name="html" id="html" ><?= $this->html(); ?></textarea> - <input type="hidden" name="datecreation" value="<?= $this->datecreation('string'); ?>"> - <input type="hidden" name="id" value="<?= $this->id() ?>"> - <input type="hidden" name="action" value="update"> - <input type="submit" value="modifier"> - </form> - </article> - - <?php - -} - -} - -public function display($session) -{ - if ($session >= $this->secure()) { - - ?> - <style> - article { - background: <?= $this->couleurbkg() ?>; - color: <?= $this->couleurtext() ?>; - } - - a { - color: <?= $this->couleurlien() ?>; - } - <?= $this->css() ?> - </style> - <article> - <h1><?= $this->titre() ?></h1> - <h2><?= $this->soustitre() ?></h2> - <h3><?= $this->intro() ?></h3> - <p><?= $this->html() ?></p> - </article> - <?php - -} - -} - // _____________________________________________________ G E T ____________________________________________________ -public function id() -{ - return $this->id; -} + public function id() + { + return $this->id; + } -public function titre() -{ - return $this->titre; -} + public function titre() + { + return $this->titre; + } -public function soustitre() -{ - return $this->soustitre; -} + public function soustitre() + { + return $this->soustitre; + } -public function intro() -{ - return $this->intro; -} + public function intro() + { + return $this->intro; + } -public function tag() -{ - return $this->tag; -} + public function tag() + { + return $this->tag; + } -public function datecreation($option) { - if ($option == 'string') { - return $this->datecreation->format('Y-m-d H:i:s'); - } elseif($option == 'date') { - return $this->datecreation; + public function datecreation($option) + { + if ($option == 'string') { + return $this->datecreation->format('Y-m-d H:i:s'); + } elseif ($option == 'date') { + return $this->datecreation; + } } -} -public function datemodif($option) { - if ($option == 'string') { - return $this->datemodif->format('Y-m-d H:i:s'); - } elseif($option == 'date') { - return $this->datemodif; + public function datemodif($option) + { + if ($option == 'string') { + return $this->datemodif->format('Y-m-d H:i:s'); + } elseif ($option == 'date') { + return $this->datemodif; + } } -} -public function css() -{ - return $this->css; -} + public function css() + { + return $this->css; + } -public function html() -{ - return $this->html; -} + public function html($option) + { + if ($option == 'md') { + return $this->html; + } elseif ($option == 'html') { + return Markdown::defaultTransform($this->html); + } + // return $this->html; + } -public function secure() -{ - return $this->secure; -} + public function secure() + { + return $this->secure; + } -public function couleurtext() -{ - return $this->couleurtext; -} + public function couleurtext() + { + return $this->couleurtext; + } -public function couleurbkg() -{ - return $this->couleurbkg; -} + public function couleurbkg() + { + return $this->couleurbkg; + } -public function couleurlien() -{ - return $this->couleurlien; -} + public function couleurlien() + { + return $this->couleurlien; + } // _____________________________________________________ S E T ____________________________________________________ -public function setid($id) -{ - if (strlen($id) < self::$len and is_string($id)) { - $this->id = strip_tags(strtolower(str_replace(" ", "", $id))); + public function setid($id) + { + if (strlen($id) < self::$len and is_string($id)) { + $this->id = strip_tags(strtolower(str_replace(" ", "", $id))); + } } -} -public function settitre($titre) -{ - if (strlen($titre) < self::$len and is_string($titre)) { - $this->titre = strip_tags(trim($titre)); + public function settitre($titre) + { + if (strlen($titre) < self::$len and is_string($titre)) { + $this->titre = strip_tags(trim($titre)); + } } -} -public function setsoustitre($soustitre) -{ - if (strlen($soustitre) < self::$len and is_string($soustitre)) { - $this->soustitre = strip_tags(trim($soustitre)); + public function setsoustitre($soustitre) + { + if (strlen($soustitre) < self::$len and is_string($soustitre)) { + $this->soustitre = strip_tags(trim($soustitre)); + } } -} -public function setintro($intro) -{ - if (strlen($intro) < self::$len and is_string($intro)) { - $this->intro = strip_tags(trim($intro)); + public function setintro($intro) + { + if (strlen($intro) < self::$len and is_string($intro)) { + $this->intro = strip_tags(trim($intro)); + } } -} -public function settag($tag) -{ - if (strlen($tag) < self::$len and is_string($tag)) { - $this->tag = strip_tags(trim(strtolower($tag))); + public function settag($tag) + { + if (strlen($tag) < self::$len and is_string($tag)) { + $this->tag = strip_tags(trim(strtolower($tag))); + } } -} -public function setdatecreation($datecreation) -{ - if ($datecreation instanceof DateTimeImmutable) { - $this->datecreation = $datecreation; - } else { - $this->datecreation = DateTimeImmutable::createFromFormat('Y-m-d H:i:s', $datecreation, new DateTimeZone('Europe/Paris')); + public function setdatecreation($datecreation) + { + if ($datecreation instanceof DateTimeImmutable) { + $this->datecreation = $datecreation; + } else { + $this->datecreation = DateTimeImmutable::createFromFormat('Y-m-d H:i:s', $datecreation, new DateTimeZone('Europe/Paris')); + } } -} -public function setdatemodif($datemodif) -{ - if ($datemodif instanceof DateTimeImmutable) { - $this->datemodif = $datemodif; - } else { - $this->datemodif = DateTimeImmutable::createFromFormat('Y-m-d H:i:s', $datemodif, new DateTimeZone('Europe/Paris')); + public function setdatemodif($datemodif) + { + if ($datemodif instanceof DateTimeImmutable) { + $this->datemodif = $datemodif; + } else { + $this->datemodif = DateTimeImmutable::createFromFormat('Y-m-d H:i:s', $datemodif, new DateTimeZone('Europe/Paris')); + } } -} -public function setcss($css) -{ - if (strlen($css) < self::$len and is_string($css)) { - $this->css = strip_tags(trim(strtolower($css))); + public function setcss($css) + { + if (strlen($css) < self::$len and is_string($css)) { + $this->css = strip_tags(trim(strtolower($css))); + } } -} -public function sethtml($html) -{ - if (strlen($html) < self::$lenhtml and is_string($html)) { - $this->html = $html; + public function sethtml($html) + { + if (strlen($html) < self::$lenhtml and is_string($html)) { + $this->html = $html; + } } -} -public function setsecure($secure) -{ - if ($secure >= 0 and $secure <= self::$securemax) { - $this->secure = intval($secure); + public function setsecure($secure) + { + if ($secure >= 0 and $secure <= self::$securemax) { + $this->secure = intval($secure); + } } -} -public function setcouleurtext($couleurtext) -{ - $couleurtext = strval($couleurtext); - if (strlen($couleurtext) <= self::$lencouleur) { - $this->couleurtext = strip_tags(trim($couleurtext)); + public function setcouleurtext($couleurtext) + { + $couleurtext = strval($couleurtext); + if (strlen($couleurtext) <= self::$lencouleur) { + $this->couleurtext = strip_tags(trim($couleurtext)); + } } -} -public function setcouleurbkg($couleurbkg) -{ - $couleurbkg = strval($couleurbkg); - if (strlen($couleurbkg) <= self::$lencouleur) { - $this->couleurbkg = strip_tags(trim($couleurbkg)); + public function setcouleurbkg($couleurbkg) + { + $couleurbkg = strval($couleurbkg); + if (strlen($couleurbkg) <= self::$lencouleur) { + $this->couleurbkg = strip_tags(trim($couleurbkg)); + } } -} -public function setcouleurlien($couleurlien) -{ - $couleurlien = strval($couleurlien); - if (strlen($couleurlien) <= self::$lencouleur) { - $this->couleurlien = strip_tags(trim($couleurlien)); + public function setcouleurlien($couleurlien) + { + $couleurlien = strval($couleurlien); + if (strlen($couleurlien) <= self::$lencouleur) { + $this->couleurlien = strip_tags(trim($couleurlien)); + } } -} } |