aboutsummaryrefslogtreecommitdiff
path: root/class
diff options
context:
space:
mode:
authorvincent-peugnet <v.peugnet@free.fr>2018-05-21 16:48:06 +0200
committervincent-peugnet <v.peugnet@free.fr>2018-05-21 16:48:06 +0200
commita511593da994da9ba3fc47adcdb32fe63ac73b5e (patch)
tree76fd5ceb8425b56c656c2f6c369dd19fc21579e9 /class
parent97d6db419e1782abaa554dc9b88c208835d1a8b4 (diff)
downloadwcms-a511593da994da9ba3fc47adcdb32fe63ac73b5e.tar.gz
wcms-a511593da994da9ba3fc47adcdb32fe63ac73b5e.zip
transfert
Diffstat (limited to 'class')
-rw-r--r--class/class.aff.php105
-rw-r--r--class/class.app.php71
-rw-r--r--class/class.art.php10
-rw-r--r--class/class.media.php110
4 files changed, 251 insertions, 45 deletions
diff --git a/class/class.aff.php b/class/class.aff.php
index a62274e..3ae4662 100644
--- a/class/class.aff.php
+++ b/class/class.aff.php
@@ -17,7 +17,7 @@ class Aff
public function lecture(Art $art, App $app)
{
- echo '<body class="lecture">';
+ echo '<div class="lecture">';
if ($art->secure() == 1) {
echo '<span class="alert"><h4>cet article est privé</h4></span>';
}
@@ -28,6 +28,7 @@ class Aff
if ($this->session() >= $art->secure()) {
?>
<style type="text/css">
+ <?= $art->csstemplate($app) ?>
body{
background: <?= $art->couleurbkg() ?>;
}
@@ -42,17 +43,18 @@ class Aff
section a[target="_blank"] {
color: <?= $art->couleurlienblank() ?>;
}
- <?= $art->csstemplate($app) ?>
</style>
<section>
+ <header>
<h1><?= $art->titre() ?></h1>
<h6><?= $art->soustitre() ?></h6>
+ </header>
<article><?= $art->html($app) ?></article>
</section>
<?php
}
- echo '</body>';
+ echo '</div>';
}
public function edit(Art $art, $list)
@@ -60,7 +62,7 @@ class Aff
if ($this->session() >= self::$edit) {
?>
- <body class="edit">
+ <div class="edit">
<section>
<form action="?id=<?= $art->id() ?>" method="post">
<details close>
@@ -85,11 +87,17 @@ class Aff
<label for="template">Template :</label>
<select name="template" id="template">
<?php
+ if ($art->template() == 'NULL') {
+ echo '<option value="" selected >Sans template</option>';
+ } else {
+ echo '<option value="" >sans template</option>';
+ }
foreach ($list as $item) {
- if ($item['id'] == $art->template()) {
- echo '<option value="' . $item['id'] . '" selected >' . $item['titre'] . '</option>';
+
+ if ($item->id() == $art->template()) {
+ echo '<option value="' . $item->id() . '" selected >' . $item->titre() . '</option>';
} else {
- echo '<option value="' . $item['id'] . '">' . $item['titre'] . '</option>';
+ echo '<option value="' . $item->id() . '">' . $item->titre() . '</option>';
}
}
?>
@@ -117,7 +125,7 @@ class Aff
<input type="submit" name="action" value="delete" onclick="confirmSubmit(event, 'Suppression de cet article')">
</form>
</div>
- </body>
+ </div>
<?php
@@ -125,23 +133,33 @@ class Aff
}
-public function template(Art $art, $list)
+public function copy(Art $art, $list)
{
- echo '<div class="template">';
- echo '<form action="?id=' . $art->id() . '" method="post">';
- echo '<input type="hidden" name="action" value="template">';
- echo '<input type="hidden" name="id" value="' . $art->id() . '">';
- echo '<select name="template">';
- foreach ($list as $item) {
- echo '<option value="' . $item['id'] . '">' . $item['titre'] . '</option>';
- }
- echo '</select>';
?>
- <input type="submit" value="template" onclick="confirmSubmit(event, 'Ecraser le style CSS')">
+ <div class="copy">
+ <form action="?id=<?= $art->id() ?>&edit=1" method="post">
+ <input type="hidden" name="action" value="copy">
+ <input type="hidden" name="id" value="<?= $art->id() ?>">
+ <select name="copy">
+ <?php
+ foreach ($list as $item) {
+ echo '<option value="' . $item->id() . '">' . $item->titre() . '</option>';
+ }
+ echo '</select>';
+ ?>
+ <label for="checkcss">CSS</label>
+ <input type="checkbox" id="checkcss" name="css" value="true">
+ <label for="checkcolor">Color</label>
+ <input type="checkbox" id="checkcolor" name="color" value="true">
+ <label for="checkhtml">HTML</label>
+ <input type="checkbox" id="checkhtml" name="html" value="true">
+ <label for="checktemplate">template</label>
+ <input type="checkbox" id="checktemplate" name="template" value="true">
+ <input type="submit" value="copy" onclick="confirmSubmit(event, 'Ecraser ces valeurs')">
+ </form>
+ </div>
<?php
-// echo '<input type="submit" value="template">';
- echo '</form>';
- echo '</div>';
+
}
public function head($title, $tool)
@@ -149,7 +167,8 @@ public function head($title, $tool)
?>
<head>
<meta charset="utf8" />
- <meta name="viewport" content="width=device-width" />
+ <meta name="viewport" content="width=device-width" />
+ <link href="/css/stylebase.css" rel="stylesheet" />
<link href="/css/style<?= $tool ?>.css" rel="stylesheet" />
<title><?= $title ?></title>
<script src="../rsc/js/app.js"></script>
@@ -174,7 +193,7 @@ public function head($title, $tool)
public function tag($getlist, $tag)
{
- echo '<body class="tag">';
+ echo '<div class="tag">';
echo '<ul>';
foreach ($getlist as $item) {
if (in_array($tag, $item->tag('array'))) {
@@ -187,12 +206,12 @@ public function head($title, $tool)
}
}
echo ' </ul> ';
- echo ' </body> ';
+ echo ' </div> ';
}
public function lien($getlist, $lien)
{
- echo '<body class="lien">';
+ echo '<div class="lien">';
echo '<ul>';
foreach ($getlist as $item) {
if (in_array($lien, $item->lien('array'))) {
@@ -205,7 +224,7 @@ public function head($title, $tool)
}
}
echo ' </ul> ';
- echo ' </body> ';
+ echo ' </div> ';
}
public function home($getlist)
@@ -236,7 +255,7 @@ public function head($title, $tool)
public function home2($getlist)
{
- echo '<body class="home">';
+ echo '<div class="home">';
if ($this->session() >= 2) {
echo '<ul>';
foreach ($getlist as $item) {
@@ -253,38 +272,45 @@ public function head($title, $tool)
}
echo ' </ul> ';
}
- echo ' </body> ';
+ echo ' </div> ';
}
public function home2table($getlist)
{
- echo '<body class="home">';
+ echo '<div class="home">';
echo '<section>';
echo '<h1>W</h1>';
$this->search();
if ($this->session() >= 2) {
echo '<h1>Home</h1>';
echo '<table>';
- echo '<tr><th>titre</th><th>résumé</th><th>lien</th><th>edit</th></tr>';
+ echo '<tr><th><a href="./?tri=titre">titre</a></th><th>résumé</th><th>lien from</th><th>lien to</th><th><a href="./?tri=datemodif&desc=DESC">dernière modif</a></th><th><a href="./?tri=datecreation&desc=DESC">date de création</a></th><th>edit</th></tr>';
foreach ($getlist as $item) {
- $count = 0;
+ $liento = 0;
+ $lienfrom = 0;
foreach ($getlist as $lien) {
if (in_array($item->id(), $lien->lien('array'))) {
- $count++;
+ $liento++;
}
}
+ foreach ($item->lien('array') as $count) {
+ $lienfrom++;
+ }
echo '<tr>';
echo '<td><a href="?id=' . $item->id() . '">' . $item->titre() . '</a></td>';
echo '<td>' . $item->intro() . '</td>';
- echo '<td><a href="?lien=' . $item->id() . '">' . $count . '</a></td>';
+ echo '<td>' . $lienfrom . '</td>';
+ echo '<td><a href="?lien=' . $item->id() . '">' . $liento . '</a></td>';
+ echo '<td>' . $item->datemodif('hrdi') . '</td>';
+ echo '<td>' . $item->datecreation('hrdi') . '</td>';
echo '<td><a href="?id=' . $item->id() . '&edit=1">modifier</a></td>';
echo '</tr>';
}
echo ' </table> ';
}
echo '</section>';
- echo ' </body> ';
+ echo ' </div> ';
}
public function aside($list)
@@ -314,7 +340,7 @@ public function head($title, $tool)
if (isset($_GET['id'])) {
if ($this->session() == 0) {
?>
- <form action="?id=<?= $_GET['id'] ?>" method="post">
+ <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="login">
@@ -324,7 +350,7 @@ public function head($title, $tool)
}
if ($this->session() >= 1) {
?>
- <form action="?id=<?= $_GET['id'] ?>" method="post">
+ <form action="./?id=<?= $_GET['id'] ?>" method="post">
<input type="hidden" name="action" value="logout">
<input type="submit" value="logout">
</form>
@@ -372,13 +398,16 @@ public function head($title, $tool)
if ($this->session() >= 2) {
?>
+ <details close>
+ <summary>Add Media</summary>
<h1>Ajouter un media</h1>
<form action="./" method="post" enctype="multipart/form-data">
<input type="hidden" name="action" value="addmedia">
<input type="file" accept="*" name="media" required>
<input type="text" name="id" id="" placeholder="nom du fichier" required>
<input type="submit" value="envoi">
- </form>
+ </form>
+ </details>
<?php
}
diff --git a/class/class.app.php b/class/class.app.php
index 3fac66b..8ca1b1f 100644
--- a/class/class.app.php
+++ b/class/class.app.php
@@ -68,15 +68,15 @@ class App
}
- public function getlister(array $selection, $tri)
+ public function getlister(array $selection = ['id', 'titre'], $tri = 'id', $desc = 'ASC')
{
$list = [];
$option = ['datecreation', 'titre', 'id', 'intro', 'datemodif'];
- if (is_array($selection) && is_string($tri) && strlen($tri) < 12 && in_array($tri, $option)) {
+ if (is_array($selection) && is_string($tri) && strlen($tri) < 16 && is_string($desc) && strlen($desc) < 5 && in_array($tri, $option)) {
$selection = implode(", ", $selection);
- $select = 'SELECT ' . $selection . ' FROM art ORDER BY ' . $tri;
+ $select = 'SELECT ' . $selection . ' FROM art ORDER BY ' . $tri . ' ' . $desc;
$req = $this->bdd->query($select);
while ($donnees = $req->fetch(PDO::FETCH_ASSOC)) {
$list[] = new Art($donnees);
@@ -114,8 +114,6 @@ class App
$now = new DateTimeImmutable(null, timezone_open("Europe/Paris"));
$art->updatelien();
- var_dump($now);
-
$q = $this->bdd->prepare('UPDATE art SET titre = :titre, soustitre = :soustitre, intro = :intro, tag = :tag, datecreation = :datecreation, datemodif = :datemodif, css = :css, html = :html, secure = :secure, couleurtext = :couleurtext, couleurbkg = :couleurbkg, couleurlien = :couleurlien, couleurlienblank = :couleurlienblank, lien = :lien, template = :template WHERE id = :id');
$q->bindValue(':id', $art->id());
@@ -138,6 +136,11 @@ class App
$q->execute();
}
+
+
+
+// __________________________________________ M E D ________________________________________________________
+
public function addmedia(array $file, $maxsize, $id)
{
$maxsize = 2 ** 40;
@@ -149,6 +152,7 @@ class App
if (in_array($extension_upload, $extensions_autorisees)) {
if (!file_exists('../media/' . $id . '.' . $extension_upload)) {
+ $extension_upload = strtolower($extension_upload);
$uploadok = move_uploaded_file($file['media']['tmp_name'], '../media/' . $id . '.' . $extension_upload);
if ($uploadok) {
header('Location: ./?message=uploadok');
@@ -166,6 +170,63 @@ class App
}
}
+
+ public function getmedia($entry)
+ {
+ $fileinfo = pathinfo($entry);
+
+ $filepath = $fileinfo['dirname'] . '.' . $fileinfo['extension'];
+
+ list($width, $height, $type, $attr) = getimagesize($filepath);
+
+ echo 'filepath : ' . $filepath;
+
+ $donnes = array(
+ 'id' => str_replace('.' . $fileinfo['extension'], '', $fileinfo['filename']),
+ 'path' => $fileinfo['dirname'],
+ 'extension' => $fileinfo['extension']
+ );
+
+
+
+ return new Art($donnees);
+
+ }
+
+ public function getlistermedia($dir)
+ {
+ if ($handle = opendir($dir)) {
+ $list = [];
+ while (false !== ($entry = readdir($handle))) {
+ if ($entry != "." && $entry != "..") {
+ $fileinfo = pathinfo($entry);
+
+ $filepath = $dir . $fileinfo['filename'] . '.' . $fileinfo['extension'];
+
+ list($width, $height, $type, $attr) = getimagesize($filepath);
+ $filesize = filesize($filepath);
+
+ $donnees = array(
+ 'id' => str_replace('.' . $fileinfo['extension'], '', $fileinfo['filename']),
+ 'path' => $fileinfo['dirname'],
+ 'extension' => $fileinfo['extension'],
+ 'size' => $filesize,
+ 'width' => $width,
+ 'height' => $height
+ );
+
+ $list[] = new Media($donnees);
+
+ }
+ }
+ return $list;
+ }
+
+ return $list;
+
+ }
+
+
//_________________________________________________________ S E S ________________________________________________________
public function login($pass)
diff --git a/class/class.art.php b/class/class.art.php
index 2b03a7d..2b67611 100644
--- a/class/class.art.php
+++ b/class/class.art.php
@@ -20,6 +20,7 @@ class Art
private $couleurlien;
private $couleurlienblank;
private $lien;
+ private $template;
const LEN = 255;
const LENHTML = 20000;
@@ -64,6 +65,7 @@ a:hover {}');
$this->setcouleurlien('#000000');
$this->setcouleurlienblank('#000000');
$this->setlien('');
+ $this->settemplate('');
}
public function updatelien()
@@ -110,6 +112,9 @@ a:hover {}');
return $this->datecreation->format('Y-m-d H:i:s');
} elseif ($option == 'date') {
return $this->datecreation;
+ } elseif ($option == 'hrdi') {
+ $now = new DateTimeImmutable(null, timezone_open("Europe/Paris"));
+ return hrdi($this->datecreation->diff($now));
}
}
@@ -120,6 +125,9 @@ a:hover {}');
return $this->datemodif->format('Y-m-d H:i:s');
} elseif ($option == 'date') {
return $this->datemodif;
+ } elseif ($option == 'hrdi') {
+ $now = new DateTimeImmutable(null, timezone_open("Europe/Paris"));
+ return hrdi($this->datemodif->diff($now));
}
}
@@ -167,6 +175,8 @@ a:hover {}');
$html = str_replace('href="http', ' class="external" target="_blank" href="http', $html);
$html = str_replace('src="/', 'src="../media/', $html);
+ $html = str_replace('<iframe', '<div class="iframe"><div class="container"><iframe class="video" ', $html);
+ $html = str_replace('</iframe>', '</iframe></div></div>', $html);
return $html;
diff --git a/class/class.media.php b/class/class.media.php
index e144776..e5056c9 100644
--- a/class/class.media.php
+++ b/class/class.media.php
@@ -3,14 +3,120 @@
class Media
{
private $id;
+ private $path;
private $extension;
private $type;
private $size;
- private $height;
private $width;
+ private $height;
-}
+// _____________________________________________________ F U N ____________________________________________________
+
+ public function __construct(array $donnees)
+ {
+ $this->hydrate($donnees);
+ }
+
+ public function hydrate(array $donnees)
+ {
+ foreach ($donnees as $key => $value) {
+ $method = 'set' . $key;
+
+ if (method_exists($this, $method)) {
+ $this->$method($value);
+ }
+ }
+ }
+
+
+
+// _________________________________________________ G E T ____________________________________________________
+
+ public function id()
+ {
+ return $this->id;
+ }
+
+ public function path()
+ {
+ return $this->path;
+ }
+
+ public function extension()
+ {
+ return $this->extension;
+ }
+
+ public function type()
+ {
+ return $this->type;
+ }
+
+ public function size()
+ {
+ return $this->size;
+ }
+
+ public function width()
+ {
+ return $this->width;
+ }
+
+ public function height()
+ {
+ return $this->height;
+ }
+
+// ___________________________________________________ S E T __________________________________________________
+
+ public function setid($id)
+ {
+ if (strlen($id) < 40 and is_string($id)) {
+ $this->id = strip_tags(strtolower($id));
+ }
+ }
+
+ public function setpath($path)
+ {
+ if (strlen($path) < 40 and is_string($path)) {
+ $this->path = strip_tags(strtolower($path));
+ }
+ }
+
+ public function setextension($extension)
+ {
+ if (strlen($extension) < 7 and is_string($extension)) {
+ $this->extension = strip_tags(strtolower($extension));
+ }
+ }
+
+ public function setsize($size)
+ {
+ if (40 and is_int($size)) {
+ $this->size = strip_tags(strtolower($size));
+ }
+ }
+
+ public function setwidth($width)
+ {
+ if (is_int($width)) {
+ $this->width = strip_tags(strtolower($width));
+ }
+ }
+
+ public function setheight($height)
+ {
+ if (is_int($height)) {
+ $this->height = strip_tags(strtolower($height));
+ }
+ }
+
+
+
+
+
+}
?> \ No newline at end of file