From d7f3313ff4514e38c9f53439cd1a1287e56e45f7 Mon Sep 17 00:00:00 2001 From: vincent-peugnet Date: Sun, 11 Nov 2018 17:19:26 +0100 Subject: reboot folder --- w/class/aff.php | 1018 ----------------------------------------- w/class/app.php | 657 -------------------------- w/class/application.php | 21 - w/class/art2.php | 618 ------------------------- w/class/config.1.php | 188 -------- w/class/config.php | 213 --------- w/class/configtest.php | 22 - w/class/controller.php | 96 ---- w/class/controlleradmin.php | 28 -- w/class/controllerart.php | 148 ------ w/class/controllerconnect.php | 18 - w/class/controllerdb.php | 45 -- w/class/controllerhome.php | 66 --- w/class/controllermedia.php | 37 -- w/class/media.php | 173 ------- w/class/model.php | 16 - w/class/modelanalyse.php | 73 --- w/class/modelart.php | 178 ------- w/class/modelconfig.php | 39 -- w/class/modeldb.php | 54 --- w/class/modelhome.php | 70 --- w/class/modelmassedit.php | 0 w/class/modelmedia.php | 95 ---- w/class/modelrender.php | 277 ----------- w/class/modeluser.php | 61 --- w/class/opt.php | 272 ----------- w/class/quickcss.php | 291 ------------ w/class/record.php | 116 ----- w/class/route.php | 84 ---- w/class/router.php | 74 --- w/class/sleekdbw.php | 180 -------- w/class/user.php | 58 --- w/class/w.article.php | 32 -- w/class/w.home.php | 85 ---- w/class/w.menu.php | 56 --- 35 files changed, 5459 deletions(-) delete mode 100644 w/class/aff.php delete mode 100644 w/class/app.php delete mode 100644 w/class/application.php delete mode 100644 w/class/art2.php delete mode 100644 w/class/config.1.php delete mode 100644 w/class/config.php delete mode 100644 w/class/configtest.php delete mode 100644 w/class/controller.php delete mode 100644 w/class/controlleradmin.php delete mode 100644 w/class/controllerart.php delete mode 100644 w/class/controllerconnect.php delete mode 100644 w/class/controllerdb.php delete mode 100644 w/class/controllerhome.php delete mode 100644 w/class/controllermedia.php delete mode 100644 w/class/media.php delete mode 100644 w/class/model.php delete mode 100644 w/class/modelanalyse.php delete mode 100644 w/class/modelart.php delete mode 100644 w/class/modelconfig.php delete mode 100644 w/class/modeldb.php delete mode 100644 w/class/modelhome.php delete mode 100644 w/class/modelmassedit.php delete mode 100644 w/class/modelmedia.php delete mode 100644 w/class/modelrender.php delete mode 100644 w/class/modeluser.php delete mode 100644 w/class/opt.php delete mode 100644 w/class/quickcss.php delete mode 100644 w/class/record.php delete mode 100644 w/class/route.php delete mode 100644 w/class/router.php delete mode 100644 w/class/sleekdbw.php delete mode 100644 w/class/user.php delete mode 100644 w/class/w.article.php delete mode 100644 w/class/w.home.php delete mode 100644 w/class/w.menu.php (limited to 'w/class') diff --git a/w/class/aff.php b/w/class/aff.php deleted file mode 100644 index 6f9f07e..0000000 --- a/w/class/aff.php +++ /dev/null @@ -1,1018 +0,0 @@ - -

Config file does not exist yet, or maybe you deleted it ? Anyway, it is time to set it :

-
- - Database settings
-
-
-
-
- Domain name settings
-
- W_cms settings
-
- - - - - (You can change everything later, set at least your admin password, and don't forget it !)
- -
- session() >= $app::EDITOR) { - - ?> - -
- - textarea{font-size: ' . $fontsize . '}'; - $tablist = ['section' => $art->md(), 'css' => $art->css(), 'aside' => $art->aside(), 'footer' => $art->footer()]; - - $this->tabs($tablist, 'section'); - - ?> - -
- - - - - 👁 - - id() ?> - - - -
- - - - - - -
- - - '; - foreach ($tablist as $key => $value) { - echo '
'; - if ($key == $opentab) { - echo ''; - } else { - echo ''; - } - echo ''; - echo '
'; - echo ''; - echo '
'; - echo '
'; - } - - echo ''; -} - -public function editorhelp() -{ - ?> -

Help !

-

To save your article, press the HOME, UPDATE, or DISPLAY buttons. You can use the keyboard shortcuts as well.

-
ALT + W : home
-
ALT + X : update
-
ALT + C : display
-

Markdown

-

The html section use Markdown encoding. Actualy, W is using Michel Fortin's Markdown Extra.

-

Links

-
[text](=article_id)
-

where article_id is the article's id you want to point to.

-

Images

-
[altimage](/img_id.extension)
-

Where img_id is the id of your image and its extension.

-

Shortcuts

-
%TITLE%
-

Show the title of your article.

-
%DESCRIPTION%
-

Show the description of your article.

-
%SUMMARY%
-

Generate a summary, the list of all your head titles using #, ##, ###...

-
%%tag_name%%
-

Generate a menu, a list of links to all articles under this tag.

-

vv

-

vv

-

vv

-

- - - - - - - - - <?= $title ?> - - - - - - - - - - ' : '' ?> - <?= $edit == 1 ? '✏' : '' ?> <?= $art->title() ?> - - - - - - - - - - - ❓ <?= $id ?> - - - - - '; - echo ' '; - echo ' '; -} - -public function linkfrom($getlist, $linkfrom, App $app) -{ - echo '
'; - echo ' '; - echo '
'; -} - -public function dump($getlist) -{ - echo ' '; -} - -public function header() -{ - echo '
'; - $this->search(); - echo '
'; -} - - -public function home2table(App $app, $getlist, $masslist) -{ - echo '
'; - echo '

Articles

'; - echo '
'; - - ?> -
-

Mass Edit

- - - - - - - - - - - - -
- - session() >= $app::EDITOR) { - echo ''; - echo ''; - foreach ($getlist as $item) { - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - echo '
xtitletagsummary↘ to↗ fromlast modificationdate of creationprivacydisplay
' . $item->title() . '' . $item->tag('sort') . '' . $item->description() . '' . $item->linkto('sort') . '' . $item->linkfrom('sort') . '' . $item->datemodif('hrdi') . '' . $item->datecreation('hrdi') . '' . $item->secure('string') . '👁
'; - echo '
'; - echo '
'; - } -} - -public function option(App $app, Opt $opt) -{ - if ($app->session() >= $app::EDITOR) { - echo '
'; - echo '

Options

'; - echo '
'; - echo ''; - echo '⬅'; - - - $this->optionsort($opt); - $this->optionprivacy($opt); - $this->optiontag($opt); - - if ($opt->invert() == 1) { - echo ''; - } else { - echo ''; - } - echo '
'; - - } - -} - -public function optiontag(Opt $opt) -{ - - echo '
Tag
'; - -} - -public function optionprivacy(Opt $opt) -{ - echo '
Privacity
'; -} - -public function optionsort(Opt $opt) -{ - echo '
Sort'; - echo ''; - echo '
'; - echo 'order() == '1' ? "checked" : "") . ' />'; - echo '
'; - echo 'order() == '-1' ? "checked" : "") . ' />'; - - echo '
'; - -} - -public function mapheader() -{ - $selectcurve = isset($_GET['curve']) ? $_GET['curve'] : 'basis'; - $selectorient = isset($_GET['orient']) ? $_GET['orient'] : 'TD'; - $curves = ['linear', 'basis', 'natural', 'step', 'stepAfter', 'stepBefore', 'monotoneX', 'monotoneY']; - $orients = ['TD', 'LR', 'BT', 'RL']; - ?> -

Map

- -
- - - - - -
- - - - - - - -
- - graph - -
- - - session() >= $app::EDITOR) { - echo ' '; - } -} - -public function nav($app) -{ - echo ' - session() >= $app::EDITOR) { - - ?> -
- Add Media -
- - - - -
-
- -
- Media List - -
- - - - id() . '.' . $item->extension(); - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - if ($item->type() == 'image') { - echo ''; - echo ''; - } elseif ($item->type() == 'sound') { - echo ''; - echo ''; - } else { - echo ''; - echo ''; - } - echo ''; - echo ''; - - } - - - ?> - - -
xNameextensionwidthheightsizecodethumbnail
' . $item->extension() . '' . $item->width() . '' . $item->height() . '' . readablesize($item->size()) . '👁' . $item->id() . '
- - - - -
- - -
- - - '; - echo 'Media List'; - - echo '
'; - - echo '
'; - - echo '
    '; - - foreach ($app->getlisterrecord($dir) as $item) { - echo '
  • '; - - ?> - - - - - id()) . '.' . $item->extension(); - - echo '
    '; - var_dump($item->size()); - var_dump(intval($item->size())); - echo 'filesize = ' . readablesize(intval($item->size())); - echo '
    '; - echo 'extension = ' . $item->extension(); - echo '
    '; - - ?> - - - - - - '; - } - - echo '
'; - - ?> - - - -
- - - - '; - echo ''; - - - } - - - //______________________________________________________ A D M _________________________________________________ - - - - public function admincss(Config $config, $app) - { - ?> -
-

CSS

- -

CSS file :

- -

- - '; - echo 'Edit current CSS'; - echo '
'; - echo ''; - echo ''; - echo ''; - echo '
'; - echo ''; - } - - ?> - -
- - -
- - -

Database

- -
- Database credentials - -

Fill this sections with the database settings you want to connect to

- -
- - - - - - - - - - -
- -
- - -
- - -
- -

Passwords

- -
- Admin - -

Edit your own admin password. You can find it in the config.w.json file, in the root of your website folder.

- -
- - - - -
- -
-
- Others - -

Use this section to set all the others users passwords. They cant access this page, so they cant change it by themselves.

- -
- - - - - - - - -
- -
-
- - - - - - -
- -

Table

- - - -

Database status :

- - -

Current Table : arttable(); ?>

-
- Select Table -

The table is where all your articles are stored, select the one you want to use.

- -
- - - -
- -
- -
- Add table - -

Create new table in your database. You need at least one to use W_cms

- -
- - - -
- -
- -
- Duplicate Table -

If you want to save versions of your work.

- -
- - - - - - -
- -
- -
- - -
-

Display

-
- Update favicon -
- - -
-
-
- Change desktop background color -
- - - - -
-
-
- \ No newline at end of file diff --git a/w/class/app.php b/w/class/app.php deleted file mode 100644 index b791846..0000000 --- a/w/class/app.php +++ /dev/null @@ -1,657 +0,0 @@ -setsession($this::FREE); - } - - public function setbdd(Config $config) - { - $caught = true; - - try { - $this->bdd = new PDO('mysql:host=' . $config->host() . ';dbname=' . $config->dbname() . ';charset=utf8', $config->user(), $config->password(), array(PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT)); - //$this->bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); - } catch (PDOException $e) { - $caught = false; - echo '

Error 500, database offline

'; - if ($this->session() >= self::EDITOR) { - echo '

Error : ' . $e->getMessage() . '

'; - if ($this->session() == self::ADMIN) { - echo '

Go to the Admin Panel to edit your database credentials

'; - } else { - echo '

Logout and and come back with an admin password to edit the database connexions settings.

'; - } - } else { - echo '

Homepage for admin login (connect on the top right side)

'; - } - exit; - } - - return $caught; - - } - - public function settable(Config $config) - { - if (!empty($config->arttable())) { - $this->arttable = $config->arttable(); - } else { - echo '

Table Error

'; - - if ($this->session() >= self::EDITOR) { - if ($this->session() == self::ADMIN) { - echo '

Go to the Admin Panel to select or add an Article table

'; - } else { - echo '

Logout and and come back with an admin password to edit table settings.

'; - } - } else { - echo '

Homepage for admin login (connect on the top right side)

'; - } - $caught = false; - exit; - } - } - - public function bddinit(Config $config) - { - $test = $this->setbdd($config); - if ($test) { - $this->settable($config); - } - } - - -// _________________________________________ C O N F I G ____________________________________ - - public function readconfig() - { - if (file_exists(self::CONFIG_FILE)) { - $current = file_get_contents(self::CONFIG_FILE); - $donnees = json_decode($current, true); - return new Config($donnees); - } else { - return 0; - } - - } - - public function createconfig(array $donnees) - { - return new Config($donnees); - } - - - public function savejson(string $json) - { - file_put_contents(self::CONFIG_FILE, $json); - } - - - - - - -// ___________________________________________ A R T ____________________________________ - - - public function add(Art2 $art) - { - - if ($this->exist($art->id())) { - echo 'idalreadyexist'; - } else { - - var_dump($art); - - $now = new DateTimeImmutable(null, timezone_open("Europe/Paris")); - - $request = 'INSERT INTO ' . $this->arttable . '(id, title, description, tag, date, datecreation, datemodif, daterender, css, quickcss, javascript, html, header, section, nav, aside, footer, render, secure, invitepassword, interface, linkfrom, template, affcount, editcount) - VALUES(:id, :title, :description, :tag, :date, :datecreation, :datemodif, :daterender, :css, :quickcss, :javascript, :html, :header, :section, :nav, :aside, :footer, :render, :secure, :invitepassword, :interface, :linkfrom, :template, :affcount, :editcount)'; - - $q = $this->bdd->prepare($request); - - $q->bindValue(':id', $art->id()); - $q->bindValue(':title', $art->title()); - $q->bindValue(':description', $art->description()); - $q->bindValue(':tag', $art->tag('string')); - $q->bindValue(':date', $now->format('Y-m-d H:i:s')); - $q->bindValue(':datecreation', $now->format('Y-m-d H:i:s')); - $q->bindValue(':datemodif', $now->format('Y-m-d H:i:s')); - $q->bindValue(':daterender', $now->format('Y-m-d H:i:s')); - $q->bindValue(':css', $art->css()); - $q->bindValue(':quickcss', $art->quickcss('json')); - $q->bindValue(':javascript', $art->javascript()); - $q->bindValue(':html', $art->html()); - $q->bindValue(':header', $art->header()); - $q->bindValue(':section', $art->md()); - $q->bindValue(':nav', $art->nav()); - $q->bindValue(':aside', $art->aside()); - $q->bindValue(':footer', $art->footer()); - $q->bindValue(':render', $art->render()); - $q->bindValue(':secure', $art->secure()); - $q->bindValue(':invitepassword', $art->invitepassword()); - $q->bindValue(':interface', $art->interface()); - $q->bindValue(':linkfrom', $art->linkfrom('json')); - $q->bindValue(':template', $art->template('json')); - $q->bindValue(':affcount', $art->affcount()); - $q->bindValue(':editcount', $art->editcount()); - - $q->execute(); - } - } - - public function delete(Art2 $art) - { - $req = $this->bdd->prepare('DELETE FROM ' . $this->arttable . ' WHERE id = :id '); - $req->execute(array('id' => $art->id())); - $req->closeCursor(); - } - - public function get($id) - { - $req = $this->bdd->prepare('SELECT * FROM ' . $this->arttable . ' WHERE id = :id '); - $req->execute(array('id' => $id)); - $donnees = $req->fetch(PDO::FETCH_ASSOC); - - return new Art2($donnees); - - $req->closeCursor(); - - } - - - - - - public function update(Art2 $art) - { - $now = new DateTimeImmutable(null, timezone_open("Europe/Paris")); - - //$request = 'UPDATE ' . $this->arttable . '(id, title, description, tag, date, datecreation, datemodif, daterender, css, quickcss, javascript, html, header, section, nav, aside, footer, render, secure, invitepassword, interface, linkfrom, template, affcount, editcount) VALUES(:id, :title, :description, :tag, :date, :datecreation, :datemodif, :daterender, :css, :quickcss, :javascript, :html, :header, :section, :nav, :aside, :footer, :render, :secure, :invitepassword, :interface, :linkfrom, :template, :affcount, :editcount) WHERE id = :id'; - - $request = 'UPDATE ' . $this->arttable . ' SET id = :id, title = :title, description = :description, tag = :tag, date = :date, datecreation = :datecreation, datemodif = :datemodif, daterender = :daterender, css = :css, quickcss = :quickcss, javascript = :javascript, html = :html, header = :header, section = :section, nav = :nav, aside = :aside, footer = :footer, render = :footer, secure = :secure, invitepassword = :invitepassword, interface = :interface, linkfrom = :linkfrom, template = :template, affcount = :affcount, editcount = :editcount WHERE id = :id'; - - $q = $this->bdd->prepare($request); - - $q->bindValue(':id', $art->id()); - $q->bindValue(':title', $art->title()); - $q->bindValue(':description', $art->description()); - $q->bindValue(':tag', $art->tag('string')); - $q->bindValue(':date', $now->format('Y-m-d H:i:s')); - $q->bindValue(':datecreation', $now->format('Y-m-d H:i:s')); - $q->bindValue(':datemodif', $now->format('Y-m-d H:i:s')); - $q->bindValue(':daterender', $now->format('Y-m-d H:i:s')); - $q->bindValue(':css', $art->css()); - $q->bindValue(':quickcss', $art->quickcss('json')); - $q->bindValue(':javascript', $art->javascript()); - $q->bindValue(':html', $art->html()); - $q->bindValue(':header', $art->header()); - $q->bindValue(':section', $art->md()); - $q->bindValue(':nav', $art->nav()); - $q->bindValue(':aside', $art->aside()); - $q->bindValue(':footer', $art->footer()); - $q->bindValue(':render', $art->render()); - $q->bindValue(':secure', $art->secure()); - $q->bindValue(':invitepassword', $art->invitepassword()); - $q->bindValue(':interface', $art->interface()); - $q->bindValue(':linkfrom', $art->linkfrom('json')); - $q->bindValue(':template', $art->template('json')); - $q->bindValue(':affcount', $art->affcount()); - $q->bindValue(':editcount', $art->editcount()); - - $q->execute(); - } - - public function exist($id) - { - $req = $this->bdd->prepare(' SELECT COUNT(*) FROM ' . $this->arttable . ' WHERE id = :id '); - $req->execute(array('id' => $id)); - $donnees = $req->fetch(PDO::FETCH_ASSOC); - - return (bool)$donnees['COUNT(*)']; - } - - - - - - //____________________________________________ L S T ______________________________ - - - - public function getlister(array $selection = ['id'], array $opt = []) - { - // give an array using SELECTION columns and sort and desc OPTIONS - - $default = ['tri' => 'id', 'desc' => 'DESC']; - $opt = array_update($default, $opt); - - $list = []; - $option = ['datecreation', 'title', 'id', 'description', 'datemodif', 'tag', 'secure']; - if (is_array($selection) && is_string($opt['tri']) && strlen($opt['tri']) < 16 && is_string($opt['desc']) && strlen($opt['desc']) < 5 && in_array($opt['tri'], $option)) { - - $selection = implode(", ", $selection); - - $select = 'SELECT ' . $selection . ' FROM ' . $this->arttable . ' ORDER BY ' . $opt['tri'] . ' ' . $opt['desc']; - $req = $this->bdd->query($select); - while ($donnees = $req->fetch(PDO::FETCH_ASSOC)) { - $list[] = new Art2($donnees); - } - return $list; - } - } - - - - - - - public function getlisteropt(Opt $opt) - { - - $artlist = []; - - $select = 'SELECT ' . $opt->col('string') . ' FROM ' . $this->arttable; - $req = $this->bdd->query($select); - while ($donnees = $req->fetch(PDO::FETCH_ASSOC)) { - $artlist[] = new Art2($donnees); - } - return $artlist; - - } - - public function listcalclinkfrom(&$artlist) - { - foreach ($artlist as $art) { - $art->calclinkto($artlist); - } - } - - public function artcompare($art1, $art2, $method = 'id', $order = 1) - { - $result = ($art1->$method('sort') <=> $art2->$method('sort')); - return $result * $order; - - } - - public function buildsorter($sortby, $order) - { - return function ($art1, $art2) use ($sortby, $order) { - $result = $this->artcompare($art1, $art2, $sortby, $order); - return $result; - }; - } - - - - public function artlistsort(&$artlist, $sortby, $order = 1) - { - return usort($artlist, $this->buildsorter($sortby, $order)); - } - - - - - - - public function filtertagfilter(array $artlist, array $tagchecked, $tagcompare = 'OR') - { - - $filteredlist = []; - foreach ($artlist as $art) { - if (empty($tagchecked)) { - $filteredlist[] = $art->id(); - } else { - $inter = (array_intersect($art->tag('array'), $tagchecked)); - if ($tagcompare == 'OR') { - if (!empty($inter)) { - $filteredlist[] = $art->id(); - } - } elseif ($tagcompare == 'AND') { - if (!array_diff($tagchecked, $art->tag('array'))) { - $filteredlist[] = $art->id(); - } - } - } - } - return $filteredlist; - } - - public function filtersecure(array $artlist, $secure) - { - $filteredlist = []; - foreach ($artlist as $art) { - if ($art->secure() == intval($secure)) { - $filteredlist[] = $art->id(); - } elseif (intval($secure) >= 4) { - $filteredlist[] = $art->id(); - } - } - return $filteredlist; - } - - - public function lister() - { - $req = $this->bdd->query(' SELECT * FROM ' . $this->arttable . ' ORDER BY id '); - $donnees = $req->fetchAll(PDO::FETCH_ASSOC); - $req->closeCursor(); - return $donnees; - - } - - public function tag(array $artlist, $tagchecked) - { - $artcheckedlist = []; - foreach ($artlist as $art) { - if (in_array($tagchecked, $art->tag('array'))) { - $artcheckedlist[] = $art; - } - } - return $artcheckedlist; - } - - public function taglist(array $artlist, array $tagcheckedlist) - { - $taglist = []; - foreach ($tagcheckedlist as $tag) { - $taglist[$tag] = $this->tag($artlist, $tag); - } - return $taglist; - } - - public function count() - { - return $this->bdd->query(' SELECT COUNT(*) FROM ' . $this->arttable . ' ')->fetchColumn(); - } - - - - // __________________________________________ T A B L E ________________________________________________________ - - - public function tableexist($dbname, $tablename) - { - - $req = $this->bdd->prepare('SELECT COUNT(*) - FROM information_schema.tables - WHERE table_schema = :dbname AND - table_name like :tablename'); - $req->execute(array( - 'dbname' => $dbname, - 'tablename' => $tablename - )); - $donnees = $req->fetch(PDO::FETCH_ASSOC); - $req->closeCursor(); - $exist = intval($donnees['COUNT(*)']); - return $exist; - - - - - } - - public function tablelist($dbname) - { - $request = 'SHOW TABLES IN ' . $dbname; - $req = $this->bdd->query($request); - $donnees = $req->fetchAll(PDO::FETCH_ASSOC); - $req->closeCursor(); - - $arttables = []; - foreach ($donnees as $table) { - $arttables[] = $table['Tables_in_' . $dbname]; - } - return $arttables; - - - } - - - - - - public function tableduplicate($dbname, $arttable, $tablename) - { - $arttable = strip_tags($arttable); - $tablename = str_clean($tablename); - if ($this->tableexist($dbname, $arttable) && !$this->tableexist($dbname, $tablename)) { - $duplicate = " CREATE TABLE `$tablename` LIKE `$arttable`;"; - $alter = "ALTER TABLE `$tablename` ADD PRIMARY KEY (`id`);"; - $insert = "INSERT `$tablename` SELECT * FROM `$arttable`;"; - - - $req = $this->bdd->query($duplicate . $alter . $insert); - - return 'tableduplicated'; - } else { - return 'tablealreadyexist'; - } - } - - - - -// __________________________________________ M E D ________________________________________________________ - - public function addmedia(array $file, $maxsize = 2 ** 24, $id) - { - $message = 'runing'; - $id = strtolower(strip_tags($id)); - $id = str_replace(' ', '_', $id); - if (isset($file) and $file['media']['error'] == 0 and $file['media']['size'] < $maxsize) { - $infosfichier = pathinfo($file['media']['name']); - $extension_upload = $infosfichier['extension']; - $extensions_autorisees = $this::MEDIA_EXTENSIONS; - if (in_array($extension_upload, $extensions_autorisees)) { - if (!file_exists($this::MEDIA_DIR . $id . '.' . $extension_upload)) { - - $extension_upload = strtolower($extension_upload); - $uploadok = move_uploaded_file($file['media']['tmp_name'], $this::MEDIA_DIR . $id . '.' . $extension_upload); - if ($uploadok) { - $message = 'uploadok'; - } else { - $message = 'uploaderror'; - } - } else { - $message = 'filealreadyexist'; - - } - } - } else { - $message = 'filetoobig'; - - } - - return $message; - } - - - public function getmedia($entry, $dir) - { - $fileinfo = pathinfo($entry); - - $filepath = $fileinfo['dirname'] . '.' . $fileinfo['extension']; - - $donnees = array( - 'id' => str_replace('.' . $fileinfo['extension'], '', $fileinfo['filename']), - 'path' => $dir, - 'extension' => $fileinfo['extension'] - ); - - - - return new Media($donnees); - - } - - public function getlistermedia($dir, $type = "all") - { - if ($handle = opendir($dir)) { - $list = []; - while (false !== ($entry = readdir($handle))) { - if ($entry != "." && $entry != "..") { - - $media = $this->getmedia($entry, $dir); - - - $media->analyse(); - - if (in_array($type, self::MEDIA_TYPES)) { - if ($media->type() == $type) { - $list[] = $media; - } - } else { - $list[] = $media; - } - - - } - } - return $list; - } - - return $list; - - } - - - - - //_________________________________________________________ R E C ________________________________________________________ - - - public function getlisterrecord($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 - ); - - $list[] = new Record($donnees); - - } - } - } - - return $list; - - - - } - - - - - // ________________________________________________________ M A P ________________________________________________________ - - - public function map(array $getlister, $lb = PHP_EOL) - { - - $map = ""; - $link = ""; - $style = ""; - foreach ($getlister as $item) { - if($item->secure() == 2) { - $style = $style . $lb . $item->id() . '{' . $item->title() . '}'; - } elseif ($item->secure() == 1) { - $style = $style . $lb . $item->id() . '(' . $item->title() . ')'; - - } else { - $style = $style . $lb . $item->id() . '((' . $item->title() . '))'; - } - foreach ($item->linkfrom('array') as $linkfrom) { - $map = $map . $lb . $item->id() . ' --> ' . $linkfrom; - $link = $link . $lb . 'click ' . $linkfrom . ' "./?id=' . $linkfrom . '"'; - - } - $link = $link . $lb . 'click ' . $item->id() . ' "./?id=' . $item->id() . '"'; - } - return $map . $link . $style; - - } - - - - - - //_________________________________________________________ S E S ________________________________________________________ - - public function login($pass, $config) - { - if (strip_tags($pass) == $config->admin()) { - return $level = self::ADMIN; - } elseif (strip_tags($pass) == $config->read()) { - return $level = self::READ; - } elseif (strip_tags($pass) == $config->editor()) { - return $level = self::EDITOR; - } elseif (strip_tags($pass) == $config->invite()) { - return $level = self::INVITE; - } - } - - public function logout() - { - return $level = 0; - } - - // ________________________________________________________ S E T ___________________________________________________ - - - public function setsession($session) - { - $this->session = $session; - } - - - - - //_________________________________________________________ G E T ________________________________________________________ - - public function session() - { - return $this->session; - } - - -} -?> \ No newline at end of file diff --git a/w/class/application.php b/w/class/application.php deleted file mode 100644 index 4492aad..0000000 --- a/w/class/application.php +++ /dev/null @@ -1,21 +0,0 @@ - \ No newline at end of file diff --git a/w/class/art2.php b/w/class/art2.php deleted file mode 100644 index 867b17a..0000000 --- a/w/class/art2.php +++ /dev/null @@ -1,618 +0,0 @@ -hydrate($donnees); - } - - public function hydrate($donnees) - { - foreach ($donnees as $key => $value) { - $method = 'set' . $key; - - if (method_exists($this, $method)) { - $this->$method($value); - } - } - } - - public function reset() - { - $now = new DateTimeImmutable(null, timezone_open("Europe/Paris")); - - $this->settitle($this->id()); - $this->setdescription(''); - $this->settag([]); - $this->setdate($now); - $this->setdatecreation($now); - $this->setdatecreation($now); - $this->setdatemodif($now); - $this->setdaterender($now); - $this->setcss(''); - $this->setquickcss([]); - $this->setjavascript(''); - $this->sethtml(''); - $this->setheader(''); - $this->setsection(''); - $this->setnav(''); - $this->setaside(''); - $this->setfooter(''); - $this->setrender(''); - $this->setsecure(3); - $this->setinvitepassword('invitepassword'); - $this->setinterface('section'); - $this->setlinkfrom([]); - $this->setlinkto([]); - $this->settemplate([]); - $this->setaffcount(0); - $this->seteditcount(0); - } - - - - public static function classvarlist() - { - $classvarlist = []; - foreach (get_class_vars(__class__) as $var => $default) { - $classvarlist[] = $var; - } - return ['artvarlist' => $classvarlist]; - } - - public function dry() - { - $array = []; - foreach (get_class_vars(__class__) as $var => $value) { - if(in_array($var, self::VAR_DATE)) { - $array[$var] = $this->$var('string'); - } else { - $array[$var] = $this->$var(); - } - } - return $array; - } - - - // _____________________________________________________ G E T ____________________________________________________ - - public function id($type = 'string') - { - return $this->id; - } - - public function title($type = 'string') - { - return $this->title; - } - - public function description($type = 'string') - { - return $this->description; - } - - public function tag($option = 'array') - { - if ($option == 'string') { - return implode(", ", $this->tag); - } elseif ($option == 'array') { - return $this->tag; - } elseif ($option == 'sort') { - return count($this->tag); - } - } - - public function date($option = 'date') - { - if ($option == 'string') { - return $this->date->format(DateTime::ISO8601); - } elseif ($option == 'date' || $option == 'sort') { - return $this->date; - } elseif ($option == 'hrdi') { - $now = new DateTimeImmutable(null, timezone_open("Europe/Paris")); - return hrdi($this->date->diff($now)); - } - - - } - - public function datecreation($option = 'date') - { - if ($option == 'string') { - return $this->datecreation->format(DateTime::ISO8601); - } elseif ($option == 'date' || $option == 'sort') { - return $this->datecreation; - } elseif ($option == 'hrdi') { - $now = new DateTimeImmutable(null, timezone_open("Europe/Paris")); - return hrdi($this->datecreation->diff($now)); - } - } - - - public function datemodif($option = 'date') - { - if ($option == 'string') { - return $this->datemodif->format(DateTime::ISO8601); - } elseif ($option == 'date' || $option == 'sort') { - return $this->datemodif; - } elseif ($option == 'hrdi') { - $now = new DateTimeImmutable(null, timezone_open("Europe/Paris")); - return hrdi($this->datemodif->diff($now)); - } - } - - public function daterender($option = 'date') - { - if ($option == 'string') { - return $this->daterender->format(DateTime::ISO8601); - } elseif ($option == 'date' || $option == 'sort') { - return $this->daterender; - } elseif ($option == 'hrdi') { - $now = new DateTimeImmutable(null, timezone_open("Europe/Paris")); - return hrdi($this->daterender->diff($now)); - } - } - - public function css($type = 'string') - { - return $this->css; - } - - public function quickcss($type = 'array') - { - if ($type == 'json') { - return json_encode($this->quickcss); - } elseif ($type == 'array') { - return $this->quickcss; - } - } - - - public function csstemplate(App $app) - { - $data = []; - $temp = ''; - if (!empty($this->template())) { - if ($app->exist($this->template()) and !in_array($this->template(), $data)) { - $template = $app->get($this->template()); - $temp = $temp . $template->css($app); - $data[] = $template->id(); - - } - - } - $cssprint = str_replace('url(/', 'url(' . $app::MEDIA_DIR, $temp . $this->css); - return $cssprint; - } - - - public function javascript($type = 'string') - { - return $this->javascript; - } - - public function html($type = 'string') - { - return $this->html; - } - - public function header($type = 'string') - { - return $this->header; - } - - public function md($expand = false) - { - if ($expand == true) { - $md = str_replace('](=', '](?id=', $this->section); - } else { - $md = $this->section; - } - return $md; - } - - public function section($type = 'string') - { - return $this->section; - } - - public function nav($type = "string") - { - return $this->nav; - } - - public function aside($type = "string") - { - return $this->aside; - } - - public function footer($type = "string") - { - return $this->footer; - } - - public function render($type = 'string') - { - if($type == 'string') { - return $this->render; - } - } - - public function secure($type = 'int') - { - if ($type == 'string') { - if ($this->secure == 0) $secure = 'public'; - if ($this->secure == 1) $secure = 'private'; - if ($this->secure == 2) $secure = 'not published'; - return $secure; - } else { - return $this->secure; - } - } - - public function invitepassword($type = 'string') - { - return $this->invitepassword; - } - - public function interface($type = 'string') - { - return $this->interface; - } - - public function linkfrom($option = 'array') - { - if ($option == 'json') { - $linkfrom = json_encode($this->linkfrom); - } elseif ($option == 'array') { - $linkfrom = $this->linkfrom; - } elseif ($option == 'sort') { - return count($this->linkfrom); - } - return $linkfrom; - - } - - public function linkto($option = 'array') - { - if ($option == 'json') { - $linkto = json_encode($this->linkto); - } elseif ($option == 'array') { - $linkto = $this->linkto; - } elseif ($option == 'sort') { - return count($this->linkto); - } - return $linkto; - - } - - public function template($type = 'array') - { - if ($type == 'json') { - return json_encode($this->template); - } elseif ($type = 'array') { - return $this->template; - } - } - - public function affcount($type = 'int') - { - return $this->affcount; - } - - public function editcount($type = 'int') - { - return $this->editcount; - } - - - - - - // _____________________________________________________ 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 settitle($title) - { - if (strlen($title) < self::LEN and is_string($title)) { - $this->title = strip_tags(trim($title)); - } - } - - public function setdescription($description) - { - if (strlen($description) < self::LEN and is_string($description)) { - $this->description = strip_tags(trim($description)); - } - } - - public function settag($tag) - { - if (is_string($tag)) { - - if (strlen($tag) < self::LEN and is_string($tag)) { - $tag = strip_tags(trim(strtolower($tag))); - $tag = str_replace('*', '', $tag); - $tag = str_replace(' ', '', $tag); - - $taglist = explode(",", $tag); - $taglist = array_filter($taglist); - $this->tag = $taglist; - } - } elseif (is_array($tag)) { - $this->tag = $tag; - } - } - - public function setdate($date) - { - if ($date instanceof DateTimeImmutable) { - $this->date = $date; - } else { - $this->date = DateTimeImmutable::createFromFormat(DateTime::ISO8601, $date, new DateTimeZone('Europe/Paris')); - } - } - - public function setdatecreation($datecreation) - { - if ($datecreation instanceof DateTimeImmutable) { - $this->datecreation = $datecreation; - } else { - $this->datecreation = DateTimeImmutable::createFromFormat(DateTime::ISO8601, $datecreation, new DateTimeZone('Europe/Paris')); - } - } - - public function setdatemodif($datemodif) - { - if ($datemodif instanceof DateTimeImmutable) { - $this->datemodif = $datemodif; - } else { - $this->datemodif = DateTimeImmutable::createFromFormat(DateTime::ISO8601, $datemodif, new DateTimeZone('Europe/Paris')); - } - } - - public function setdaterender($daterender) - { - if ($daterender instanceof DateTimeImmutable) { - $this->daterender = $daterender; - } else { - $this->daterender = DateTimeImmutable::createFromFormat(DateTime::ISO8601, $daterender, new DateTimeZone('Europe/Paris')); - } - } - - - public function setcss($css) - { - if (strlen($css) < self::LENTEXT and is_string($css)) { - $this->css = strip_tags(trim(strtolower($css))); - } - } - - - public function setquickcss($quickcss) - { - if (is_string($quickcss)) { - $quickcss = json_decode($quickcss, true); - } - if (is_array($quickcss)) { - $this->quickcss = $quickcss; - } - } - - public function setjavascript($javascript) - { - if (strlen($javascript < self::LENTEXT && is_string($javascript))) { - $this->javascript = $javascript; - } - } - - - public function sethtml($html) - { - if (strlen($html < self::LENTEXT && is_string($html))) { - $this->html = $html; - } - } - - public function setheader($header) - { - if (strlen($header < self::LENTEXT && is_string($header))) { - $this->header = $header; - } - } - - public function setsection($section) - { - if (strlen($section) < self::LENTEXT and is_string($section)) { - $this->section = $section; - } - } - - public function setnav($nav) - { - if (strlen($nav) < self::LENTEXT and is_string($nav)) { - $this->nav = $nav; - } - } - - public function setaside($aside) - { - if (strlen($aside) < self::LENTEXT and is_string($aside)) { - $this->aside = $aside; - } - } - - public function setfooter($footer) - { - if (strlen($footer) < self::LENTEXT and is_string($footer)) { - $this->footer = $footer; - } - } - - public function setrender(string $render) - { - $this->render = $render; - } - - public function setsecure($secure) - { - if ($secure >= 0 and $secure <= self::SECUREMAX) { - $this->secure = intval($secure); - } - } - - public function setinvitepassword($invitepassword) - { - if (is_string($invitepassword) && strlen($invitepassword) < self::LEN) { - $this->invitepassword = $invitepassword; - } - } - - public function setinterface($interface) - { - if (in_array($interface, self::TABS)) { - $this->interface = $interface; - } - } - - public function setlinkfrom($linkfrom) - { - if(is_array($linkfrom)) { - $this->linkfrom = $linkfrom; - } elseif(is_string($linkfrom)) { - $linkfromjson = json_decode($linkfrom); - if(is_array($linkfromjson)) { - $this->linkfrom = $linkfromjson; - } - } elseif ($linkfrom === null) { - $this->linkfrom = []; - } - } - - public function setlinkto($linkto) - { - if(is_array($linkto)) { - $this->linkto = $linkto; - } elseif(is_string($linkto)) { - $linktojson = json_decode($linkto); - if(is_array($linktojson)) { - $this->linkto = $linktojson; - } - } elseif ($linkto === null) { - $this->linkto = []; - } - } - - public function settemplate($template) - { - if (is_string($template)) { - $templatearray = json_decode($template, true); - } - if (is_array($template)) { - $templatearray = $template; - } - if(is_object($template)) { - $templatearray = (array) $template; - } - $this->template = array_map(function ($value) { - if(empty($value)) { - return null; - } else { - return $value; - } - }, $templatearray); - } - - public function setaffcount($affcount) - { - if (is_int($affcount)) { - $this->affcount = $affcount; - } elseif (is_numeric($affcount)) { - $this->affcount = intval($affcount); - } - } - - public function seteditcount($editcount) - { - if (is_int($editcount)) { - $this->editcount = $editcount; - } elseif (is_numeric($editcount)) { - $this->editcount = intval($editcount); - } - } - - - // __________________________________ C O U N T E R S ______________________________ - - - public function addeditcount() - { - $this->editcount ++; - } - - public function addaffcount() - { - $this->affcount ++; - } - - public function updateedited() - { - $now = new DateTimeImmutable(null, timezone_open("Europe/Paris")); - $this->setdatemodif($now); - $this->addeditcount(); - } - - -} - - -?> \ No newline at end of file diff --git a/w/class/config.1.php b/w/class/config.1.php deleted file mode 100644 index 14ff6e3..0000000 --- a/w/class/config.1.php +++ /dev/null @@ -1,188 +0,0 @@ -hydrate($donnees); - } - - public function hydrate(array $donnees) - { - foreach ($donnees as $key => $value) { - $method = 'set' . $key; - - if (method_exists($this, $method)) { - $this->$method($value); - } - } - } - - public function tojson() - { - $arr = get_object_vars($this); - $json = json_encode($arr, JSON_FORCE_OBJECT | JSON_PRETTY_PRINT); - return $json; - } - -// ________________________________________ G E T _______________________________________ - - public function host() - { - return $this->host; - } - - public function dbname() - { - return $this->dbname; - } - - public function user() - { - return $this->user; - } - - public function password() - { - return $this->password; - } - - public function arttable() - { - return $this->arttable; - } - - public function domain() - { - return $this->domain; - } - - public function admin() - { - return $this->admin; - } - - public function editor() - { - return $this->editor; - } - - public function invite() - { - return $this->invite; - } - - public function read() - { - return $this->read; - } - - public function color4() - { - return $this->color4; - } - - public function fontsize() - { - return $this->fontsize; - } - - - -// __________________________________________ S E T ______________________________________ - - public function sethost($host) - { - $this->host = strip_tags($host); - } - - public function setdbname($dbname) - { - $this->dbname = strip_tags($dbname); - } - - public function setuser($user) - { - $this->user = strip_tags($user); - } - - public function setpassword($password) - { - $this->password = strip_tags($password); - } - - public function setarttable($arttable) - { - $this->arttable = strip_tags($arttable); - } - - public function setdomain($domain) - { - $this->domain = strip_tags($domain); - } - - public function setadmin($admin) - { - $this->admin = strip_tags($admin); - } - - public function seteditor($editor) - { - $this->editor = strip_tags($editor); - } - - public function setinvite($invite) - { - $this->invite = strip_tags($invite); - } - - public function setread($read) - { - $this->read = strip_tags($read); - } - - public function setcolor4($color4) - { - if(strlen($color4) <= 8) { - $this->color4 = $color4; - } - } - - public function setfontsize($fontsize) - { - $fontsize = intval($fontsize); - if($fontsize > 1) { - $this->fontsize = $fontsize; - } - } - - -} - - - - - - - - - -?> \ No newline at end of file diff --git a/w/class/config.php b/w/class/config.php deleted file mode 100644 index ead4a40..0000000 --- a/w/class/config.php +++ /dev/null @@ -1,213 +0,0 @@ - $value) { - $method = 'set' . $key; - - if (method_exists(get_called_class(), $method)) { - self::$method($value); - } - } - } - - public static function readconfig() - { - if (file_exists(Model::CONFIG_FILE)) { - $current = file_get_contents(Model::CONFIG_FILE); - $datas = json_decode($current, true); - self::hydrate($datas); - } - } - - public static function createconfig(array $datas) - { - self::hydrate($datas); - } - - - public static function savejson() - { - $json = self::tojson(); - file_put_contents(self::CONFIG_FILE, $json); - } - - - public static function tojson() - { - $arr = get_object_vars($this); - $json = json_encode($arr, JSON_FORCE_OBJECT | JSON_PRETTY_PRINT); - return $json; - } - -// ________________________________________ G E T _______________________________________ - - public static function host() - { - return self::$host; - } - - public static function dbname() - { - return self::$dbname; - } - - public static function user() - { - return self::$user; - } - - public static function password() - { - return self::$password; - } - - public static function arttable() - { - return self::$arttable; - } - - public static function domain() - { - return self::$domain; - } - - public static function admin() - { - return self::$admin; - } - - public static function editor() - { - return self::$editor; - } - - public static function invite() - { - return self::$invite; - } - - public static function read() - { - return self::$read; - } - - public static function color4() - { - return self::$color4; - } - - public static function fontsize() - { - return self::$fontsize; - } - - public static function renderpath() - { - return self::$renderpath; - } - - - -// __________________________________________ S E T ______________________________________ - - public static function sethost($host) - { - self::$host = strip_tags($host); - } - - public static function setdbname($dbname) - { - self::$dbname = strip_tags($dbname); - } - - public static function setuser($user) - { - self::$user = strip_tags($user); - } - - public static function setpassword($password) - { - self::$password = strip_tags($password); - } - - public static function setarttable($arttable) - { - self::$arttable = strip_tags($arttable); - } - - public static function setdomain($domain) - { - self::$domain = strip_tags($domain); - } - - public static function setadmin($admin) - { - self::$admin = strip_tags($admin); - } - - public static function seteditor($editor) - { - self::$editor = strip_tags($editor); - } - - public static function setinvite($invite) - { - self::$invite = strip_tags($invite); - } - - public static function setread($read) - { - self::$read = strip_tags($read); - } - - public static function setcolor4($color4) - { - if(strlen($color4) <= 8) { - self::$color4 = $color4; - } - } - - public static function setfontsize($fontsize) - { - $fontsize = intval($fontsize); - if($fontsize > 1) { - self::$fontsize = $fontsize; - } - } - - -} - - - - - - - - - -?> \ No newline at end of file diff --git a/w/class/configtest.php b/w/class/configtest.php deleted file mode 100644 index cd72753..0000000 --- a/w/class/configtest.php +++ /dev/null @@ -1,22 +0,0 @@ - \ No newline at end of file diff --git a/w/class/controller.php b/w/class/controller.php deleted file mode 100644 index c97c99f..0000000 --- a/w/class/controller.php +++ /dev/null @@ -1,96 +0,0 @@ -setuser(); - $this->initplates(); - $this->initconfig(); - } - - public function setuser() - { - $this->usermanager = new Modeluser; - $this->user = $this->usermanager->readsession(); - } - - public function initplates() - { - $this->plates = new League\Plates\Engine(Model::TEMPLATES_DIR); - } - - public function useriseditor() - { - if ($this->user->level() >= $this->usermanager::EDITOR) { - echo '

Editor access

'; - return true; - } else { - echo '

Not enought rights to see more...

'; - return false; - } - } - - public function initconfig() - { - Config::readconfig(); - } - - public function showtemplate($template, $params) - { - $params = array_merge($this->commonsparams(), $params); - echo $this->plates->render($template, $params); - } - - public function commonsparams() - { - $commonsparams = []; - $commonsparams['user'] = $this->user; - return $commonsparams; - } - - public function login($redirect = 'home') - { - if(isset($_POST['pass'])) { - $this->user = $this->usermanager->login($_POST['pass']); - $this->usermanager->writesession($this->user); - } - if($redirect == 'art') { - $this->redirect('?id=' . $this->art->id()); - } else { - $this->redirect('?aff=' . $redirect); - } - } - - public function logout($redirect = 'home') - { - $this->user = $this->usermanager->logout(); - $this->usermanager->writesession($this->user); - if($redirect == 'art') { - $this->redirect('?id=' . $this->art->id()); - } else { - $this->redirect('?aff=' . $redirect); - } - } - - - - - public function redirect($url) - { - header('Location: ' . $url); - } - - - -} - - - - - -?> \ No newline at end of file diff --git a/w/class/controlleradmin.php b/w/class/controlleradmin.php deleted file mode 100644 index 42a0f65..0000000 --- a/w/class/controlleradmin.php +++ /dev/null @@ -1,28 +0,0 @@ -Admin'; - } - - public function addtable() - { - - } - - - - public function duplicatetable() - { - - } - -} - - - - -?> \ No newline at end of file diff --git a/w/class/controllerart.php b/w/class/controllerart.php deleted file mode 100644 index 33bd93f..0000000 --- a/w/class/controllerart.php +++ /dev/null @@ -1,148 +0,0 @@ -art = new Art2(['id' => $id]); - $this->artmanager = new Modelart(); - $this->renderengine = new Modelrender(); - - } - - public function importart() - { - $art = $this->artmanager->get($this->art); - if ($art !== false) { - $this->art = $art; - //$this->art->autotaglistupdate($this->artmanager->taglist($this->artmanager->getlister(['id', 'title', 'description', 'tag']), $this->art->autotaglist())); - return true; - } else { - return false; - } - } - - public function read() - { - $now = new DateTimeImmutable(null, timezone_open("Europe/Paris")); - - - $artexist = $this->importart(); - $canread = $this->user->level() >= $this->art->secure(); - $cancreate = $this->user->cancreate(); - $alerts = ['alertnotexist' => 'This page does not exist yet', 'alertprivate' => 'You cannot see this page']; - $body = ''; - $head = ''; - - - - if ($artexist) { - - if ($this->art->daterender() < $this->art->datemodif()) { - $body = $this->renderengine->renderbody($this->art); - $this->art->setrender($body); - $this->art->setdaterender($now); - $this->artmanager->update($this->art); - } else { - $body = $this->art->render(); - } - - $head = $this->renderengine->renderhead($this->art); - - $this->art->addaffcount(); - $this->artmanager->update($this->art); - - } - - - $data = array_merge($alerts, ['art' => $this->art, 'artexist' => $artexist, 'canread' => $canread, 'cancreate' => $cancreate, 'readernav' => true, 'body' => $body, 'head' => $head]); - - - $this->showtemplate('read', $data); - - - - } - - public function edit() - { - if ($this->importart() && $this->user->canedit()) { - $tablist = ['section' => $this->art->md(), 'css' => $this->art->css(), 'header' => $this->art->header(), 'nav' => $this->art->nav(), 'aside' => $this->art->aside(), 'footer' => $this->art->footer(), 'html' => $this->art->html(), 'javascript' => $this->art->javascript()]; - - $artlist = $this->artmanager->list(); - - if(isset($_SESSION['workspace'])) { - $showleftpanel = $_SESSION['workspace']['showleftpanel']; - $showrightpanel = $_SESSION['workspace']['showrightpanel']; - } else { - $showleftpanel = false; - $showrightpanel = false; - } - - - $this->showtemplate('edit', ['art' => $this->art, 'artexist' => true, 'tablist' => $tablist, 'artlist' => $artlist, 'showleftpanel' => $showleftpanel, 'showrightpanel' => $showrightpanel]); - } else { - $this->redirect('?id=' . $this->art->id()); - } - - } - - public function log() - { - $this->importart(); - var_dump($this->art); - } - - public function add() - { - $this->art->reset(); - $this->artmanager->add($this->art); - $this->redirect('?id=' . $this->art->id() . '&aff=edit'); - } - - public function delete() - { - if ($this->user->canedit() && $this->importart()) { - - if (isset($_POST['deleteconfirm']) && $_POST['deleteconfirm'] == true) { - $this->artmanager->delete($this->art); - $this->redirect('?id=' . $this->art->id()); - } else { - $this->showtemplate('delete', ['art' => $this->art, 'artexist' => true]); - } - } else { - $this->redirect('?id=' . $this->art->id()); - } - } - - public function update() - { - $_SESSION['workspace']['showrightpanel'] = isset($_POST['workspace']['showrightpanel']); - $_SESSION['workspace']['showleftpanel'] = isset($_POST['workspace']['showleftpanel']); - - if ($this->importart() && $this->user->canedit()) { - $this->art->hydrate($_POST); - $this->art->updateedited(); - $this->artmanager->update($this->art); - - } - - $this->redirect('?id=' . $this->art->id() . '&aff=edit'); - - - - } -} - - - - -?> \ No newline at end of file diff --git a/w/class/controllerconnect.php b/w/class/controllerconnect.php deleted file mode 100644 index 2bda1b0..0000000 --- a/w/class/controllerconnect.php +++ /dev/null @@ -1,18 +0,0 @@ -showtemplate('connect', ['user' => $this->user]); - } - -} - - - - - - -?> \ No newline at end of file diff --git a/w/class/controllerdb.php b/w/class/controllerdb.php deleted file mode 100644 index 54a9de1..0000000 --- a/w/class/controllerdb.php +++ /dev/null @@ -1,45 +0,0 @@ -setbdd($config); - - // switch ($_POST['actiondb']) { - - // case 'addtable': - // if (isset($_POST['tablename'])) { - // $message = Modeldb::addtable($config->dbname(), $_POST['tablename']); - // header('Location: ./?aff=admin&message=' . $message); - // } - // break; - - // case 'duplicatetable': - // $message = Modeldb::tableduplicate($config->dbname(), $_POST['arttable'], $_POST['tablename']); - // header('Location: ./?aff=admin&message=' . $message); - // break; - - // } - // } -} - - - - -?> \ No newline at end of file diff --git a/w/class/controllerhome.php b/w/class/controllerhome.php deleted file mode 100644 index 31d27c3..0000000 --- a/w/class/controllerhome.php +++ /dev/null @@ -1,66 +0,0 @@ -modelhome = new Modelhome; - } - - - - - public function desktop() - { - - $this->table2(); - } - - public function table2() - { - $table = $this->modelhome->getlister(); - $this->opt = $this->modelhome->optinit($table); - - $table2 = $this->modelhome->table2($table, $this->opt); - - $this->showtemplate('home', ['user' => $this->user, 'table2' => $table2, 'opt' =>$this->opt]); - - - } - - public function analyseall() - { - if($this->user->level() >= Modeluser::EDITOR) { - $scan = new Modelanalyse; - $scan->analyseall(); - $this->redirect('./'); - - } - } - - public function massedit() - { - echo '

Mass Edit

'; - - } - - - - - - - -} - - - - - - - - -?> \ No newline at end of file diff --git a/w/class/controllermedia.php b/w/class/controllermedia.php deleted file mode 100644 index 6bd22cd..0000000 --- a/w/class/controllermedia.php +++ /dev/null @@ -1,37 +0,0 @@ -mediamanager = new Modelmedia; - - } - - public function desktop() - { - - if($this->useriseditor()) { - - - - } - } - - public function addmedia() - { - echo $this->templates->render('media', ['interface' => 'addmedia']); - - //$message = $this->mediamanager->addmedia($_FILES, 2 ** 24, $_POST['id']); - - } - - -} - - -?> \ No newline at end of file diff --git a/w/class/media.php b/w/class/media.php deleted file mode 100644 index 2d27be7..0000000 --- a/w/class/media.php +++ /dev/null @@ -1,173 +0,0 @@ -hydrate($donnees); - } - - public function hydrate(array $donnees) - { - foreach ($donnees as $key => $value) { - $method = 'set' . $key; - - if (method_exists($this, $method)) { - $this->$method($value); - } - } - } - - - public function analyse() - { - $this->settype(); - - $filepath = $this->path . $this->id . '.' . $this->extension; - - $this->size = filesize($filepath); - - if ($this->type == 'image') { - list($width, $height, $type, $attr) = getimagesize($filepath); - $this->width = $width; - $this->height = $height; - } - - - } - - - -// _________________________________________________ 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; - } - - public function length() - { - return $this->length; - } - -// ___________________________________________________ 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 settype() - { - if (isset($this->extension)) { - if (in_array($this->extension, $this::IMAGE)) { - $this->type = "image"; - } elseif (in_array($this->extension, $this::SOUND)) { - $this->type = "sound"; - } elseif (in_array($this->extension, $this::VIDEO)) { - $this->type = "video"; - } else { - $this->type = "other"; - } - } - } - - 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)); - } - } - - public function setlength($length) - { - if ($this->type == 'sound') { - $this->length = $length; - } - } - - - - - - -} - -?> \ No newline at end of file diff --git a/w/class/model.php b/w/class/model.php deleted file mode 100644 index 24c2404..0000000 --- a/w/class/model.php +++ /dev/null @@ -1,16 +0,0 @@ -getlister(); - - $artlist2 = []; - foreach ($artlist as $art) { - $art->setlinkfrom($this->analyselinkfrom($art)); - $artlist2[] = $art; - } - foreach ($artlist2 as $art) { - $art->setlinkto($this->analyselinkto($art->id(), $artlist)); - $this->update($art); - } - } - - - public function analyse(Art2 $art) - { - $art->setlinkfrom($this->analyselinkfrom($art)); - - $artlist = $this->getlister(); - $art->setlinkto($this->analyselinkto($art->id(), $artlist)); - - return $art; - } - - - - - public function analyselinkto($id, $artlist) - { - //analyse les liens vers cet article en fouillant tout les linkfrom de la bdd, génere un tableau à stocker dans l'article - $linkto = []; - foreach ($artlist as $link) { - if (in_array($id, $link->linkfrom('array')) && $id != $link->id()) { - $linkto[] = $link->id(); - } - } - return $linkto; - } - - public function analyselinkfrom(Art2 $art) - { - $linkfrom = []; - foreach (self::TEXT_ELEMENTS as $element) { - preg_match_all('#\]\((\?id=|=)(\w+)\)#', $art->$element(), $out); - $linkfrom = array_merge($linkfrom, $out[2]); - } - return array_unique($linkfrom); - - } - -} - - - - - - - -?> \ No newline at end of file diff --git a/w/class/modelart.php b/w/class/modelart.php deleted file mode 100644 index ef4d61d..0000000 --- a/w/class/modelart.php +++ /dev/null @@ -1,178 +0,0 @@ -artstore->get($art->id()); - if($artdata === false) { - return false; - } else { - return true; - } - - } - - - public function add(Art2 $art) - { - - $artdata = new \JamesMoss\Flywheel\Document($art->dry()); - $artdata->setId($art->id()); - $this->artstore->store($artdata); - } - - public function get($id) - { - if($id instanceof Art2) { - $id = $id->id(); - } - if(is_string($id)) { - $artdata = $this->artstore->findById($id); - if($artdata !== false) { - return new Art2($artdata); - } else { - return false; - } - } else { - return false; - } - } - - public function delete(Art2 $art) - { - $this->artstore->delete($art->id()); - } - - public function update(Art2 $art) - { - $artdata = new \JamesMoss\Flywheel\Document($art->dry()); - $artdata->setId($art->id()); - $this->artstore->store($artdata); - } - - public function getlisteropt(Opt $opt) - { - - $artlist = []; - - $select = 'SELECT ' . $opt->col('string') . ' FROM ' . Config::arttable(); - $req = $this->bdd->query($select); - while ($donnees = $req->fetch(PDO::FETCH_ASSOC)) { - $artlist[] = new Art2($donnees); - } - return $artlist; - - } - - public function artcompare($art1, $art2, $method = 'id', $order = 1) - { - $result = ($art1->$method('sort') <=> $art2->$method('sort')); - return $result * $order; - - } - - public function buildsorter($sortby, $order) - { - return function ($art1, $art2) use ($sortby, $order) { - $result = $this->artcompare($art1, $art2, $sortby, $order); - return $result; - }; - } - - - - public function artlistsort(&$artlist, $sortby, $order = 1) - { - return usort($artlist, $this->buildsorter($sortby, $order)); - } - - - - - - - public function filtertagfilter(array $artlist, array $tagchecked, $tagcompare = 'OR') - { - - $filteredlist = []; - foreach ($artlist as $art) { - if (empty($tagchecked)) { - $filteredlist[] = $art->id(); - } else { - $inter = (array_intersect($art->tag('array'), $tagchecked)); - if ($tagcompare == 'OR') { - if (!empty($inter)) { - $filteredlist[] = $art->id(); - } - } elseif ($tagcompare == 'AND') { - if (!array_diff($tagchecked, $art->tag('array'))) { - $filteredlist[] = $art->id(); - } - } - } - } - return $filteredlist; - } - - public function filtersecure(array $artlist, $secure) - { - $filteredlist = []; - foreach ($artlist as $art) { - if ($art->secure() == intval($secure)) { - $filteredlist[] = $art->id(); - } elseif (intval($secure) >= 4) { - $filteredlist[] = $art->id(); - } - } - return $filteredlist; - } - - - public function lister() - { - $req = $this->bdd->query(' SELECT * FROM ' . Config::arttable() . ' ORDER BY id '); - $donnees = $req->fetchAll(PDO::FETCH_ASSOC); - $req->closeCursor(); - return $donnees; - - } - - public function tag(array $artlist, $tagchecked) - { - $artcheckedlist = []; - foreach ($artlist as $art) { - if (in_array($tagchecked, $art->tag('array'))) { - $artcheckedlist[] = $art; - } - } - return $artcheckedlist; - } - - public function taglist(array $artlist, array $tagcheckedlist) - { - $taglist = []; - foreach ($tagcheckedlist as $tag) { - $taglist[$tag] = $this->tag($artlist, $tag); - } - return $taglist; - } - - public function count() - { - return $this->bdd->query(' SELECT COUNT(*) FROM ' . $this->arttable . ' ')->fetchColumn(); - } - -} diff --git a/w/class/modelconfig.php b/w/class/modelconfig.php deleted file mode 100644 index 7c5fc18..0000000 --- a/w/class/modelconfig.php +++ /dev/null @@ -1,39 +0,0 @@ - \ No newline at end of file diff --git a/w/class/modeldb.php b/w/class/modeldb.php deleted file mode 100644 index a5ebf6f..0000000 --- a/w/class/modeldb.php +++ /dev/null @@ -1,54 +0,0 @@ -dbinit(); - } - - - public function dbinit() - { - $this->database = new \JamesMoss\Flywheel\Config(__DIR__ .'/../../w_database'); - $this->artstore = new \JamesMoss\Flywheel\Repository(Config::arttable(), $this->database); - } - - - public function getlister() - { - $artlist = []; - $list = $this->artstore->findAll(); - foreach ($list as $artdata) { - $artlist[$artdata->id] = new Art2($artdata); - } - return $artlist; - } - - public function list() - { - return $this->artstore->getAllIds(); - } - - public function getlisterid(array $idlist = []) - { - $artdatalist = $this->artstore->query() - ->where('__id', 'IN', $idlist) - ->execute(); - - $artlist = []; - foreach ($artdatalist as $id => $artdata) { - $artlist[$id] = new Art2($artdata); - } - return $artlist; - } - - - -} diff --git a/w/class/modelhome.php b/w/class/modelhome.php deleted file mode 100644 index 3ff72c7..0000000 --- a/w/class/modelhome.php +++ /dev/null @@ -1,70 +0,0 @@ -setcol(['id', 'tag', 'linkfrom', 'linkto', 'description', 'title', 'datemodif', 'datecreation', 'secure']); - //$table = $listmanager->getlisteropt($opt); - //$listmanager->listcalclinkfrom($table); - $opt->settaglist($table); - $opt->submit(); - - - - return $opt; - } - - public function optupdate() - { - - } - - - public function table2($table, $opt) - { - $listmanager = new Modelart; - - - $filtertagfilter = $listmanager->filtertagfilter($table, $opt->tagfilter(), $opt->tagcompare()); - $filtersecure = $listmanager->filtersecure($table, $opt->secure()); - - $filter = array_intersect($filtertagfilter, $filtersecure); - $table2 = []; - $table2invert = []; - foreach ($table as $art) { - if (in_array($art->id(), $filter)) { - $table2[] = $art; - } else { - $table2invert[] = $art; - } - - - } - - if (!empty($opt->invert())) { - $table2 = $table2invert; - } - - $listmanager->artlistsort($table2, $opt->sortby(), $opt->order()); - - - return $table2; - } -} - - - - - - - - -?> \ No newline at end of file diff --git a/w/class/modelmassedit.php b/w/class/modelmassedit.php deleted file mode 100644 index e69de29..0000000 diff --git a/w/class/modelmedia.php b/w/class/modelmedia.php deleted file mode 100644 index 14a1c4e..0000000 --- a/w/class/modelmedia.php +++ /dev/null @@ -1,95 +0,0 @@ - str_replace('.' . $fileinfo['extension'], '', $fileinfo['filename']), - 'path' => $dir, - 'extension' => $fileinfo['extension'] - ); - - - - return new Media($donnees); - - } - - public function getlistermedia($dir, $type = "all") - { - if ($handle = opendir($dir)) { - $list = []; - while (false !== ($entry = readdir($handle))) { - if ($entry != "." && $entry != "..") { - - $media = $this->getmedia($entry, $dir); - - - $media->analyse(); - - if (in_array($type, self::MEDIA_TYPES)) { - if ($media->type() == $type) { - $list[] = $media; - } - } else { - $list[] = $media; - } - - - } - } - return $list; - } - - return $list; - - } - - - - -} - - - - -?> \ No newline at end of file diff --git a/w/class/modelrender.php b/w/class/modelrender.php deleted file mode 100644 index 53d1aca..0000000 --- a/w/class/modelrender.php +++ /dev/null @@ -1,277 +0,0 @@ -gethead($art); - $this->write($art); - return $head; - } - - public function renderbody(Art2 $art) - { - $body = $this->getbody($this->gethtml($art), $this->getelements($art)); - $parsebody = $this->parser($art, $body); - return $parsebody; - } - - - - public function getelements(Art2 $art) - { - $elements = []; - foreach (self::TEXT_ELEMENTS as $element) { - if (isset($art->template('array')[$element])) { - $templateid = $art->template('array')[$element]; - $tempalteart = $this->get($templateid); - $text = $tempalteart->$element() . PHP_EOL . $art->$element(); - } else { - $text = $art->$element(); - } - $elements[$element] = PHP_EOL . '<' . $element . '>' . PHP_EOL . $this->markdown($text) . PHP_EOL . '' . PHP_EOL; - - } - - return $elements; - } - - public function gethtml(Art2 $art) - { - if (isset($art->template('array')['html'])) { - $templateid = $art->template('array')['html']; - $tempalteart = $this->get($templateid); - $html = $tempalteart->html() . PHP_EOL . $art->html(); - } else { - $html = $art->html(); - } - return $html; - } - - public function getbody(string $html, array $elements) - { - $html = preg_replace_callback('~\%(SECTION|ASIDE|NAV|HEADER|FOOTER)\%~', function ($match) use ($elements) { - return $elements[strtolower($match[1])]; - }, $html); - return $html; - } - - public function write(Art2 $art) - { - file_put_contents(Config::renderpath() . $art->id() . '.css', $art->css()); - file_put_contents(Config::renderpath() . $art->id() . '.quick.css', $art->quickcss()); - file_put_contents(Config::renderpath() . $art->id() . '.js', $art->javascript()); - } - - public function writetemplates(Art2 $art) - { - if (array_key_exists('css', $art->template('array'))) { - $tempaltecssart = $this->get($art->template('array')['css']); - file_put_contents(Config::renderpath() . $tempaltecssart->id() . '.css', $tempaltecssart->css()); - } - if (array_key_exists('quickcss', $art->template('array'))) { - $tempaltequickcssart = $this->get($art->template('array')['quickcss']); - file_put_contents(Config::renderpath() . $tempaltequickcssart->id() . '.quick.css', $tempaltequickcssart->quickcss()); - } - if (array_key_exists('javascript', $art->template('array'))) { - $templatejsart = $this->get($art->template('array')['javascript']); - file_put_contents(Config::renderpath() . $templatejsart->id() . '.js', $templatejsart->javascript()); - } - } - - - public function gethead(Art2 $art) - { - - $head = ''; - - $head .= '' . PHP_EOL; - $head .= ''.$art->title() .'' . PHP_EOL; - $head .= '' . PHP_EOL; - $head .= '' . PHP_EOL; - - if (isset($art->template('array')['quickcss'])) { - $tempaltequickcssart = $art->template('array')['quickcss']; - $head .= '' . PHP_EOL; - } - $head .= '' . PHP_EOL; - if (isset($art->template('array')['css'])) { - $tempaltecssart = $art->template('array')['css']; - $head .= '' . PHP_EOL; - } - $head .= '' . PHP_EOL; - - if (isset($art->template('array')['javascript'])) { - $templatejsart = $art->template('array')['javascript']; - $head .= '' . PHP_EOL; - } - $head .= '' . PHP_EOL; - - return $head; -} - -public function elementsrender(Art2 $art) -{ - foreach ($this->getelements($art) as $element => $text) { - if (in_array($element, self::TEXT_ELEMENTS)) { - $elements[$element] = $this->markdown($text); - } - } - return $elements; -} - - - -public function parser(Art2 $art, string $text) -{ - $text = str_replace('%TITLE%', $art->title(), $text); - $text = str_replace('%DESCRIPTION%', $art->description(), $text); - - - $text = str_replace(self::SUMMARY, $this->sumparser($text), $text); - - $text = str_replace('href="=', 'href="?id=', $text); - - $text = $this->tooltip($art->linkfrom('array'), $text); - - $text = str_replace('href="http', ' class="external" target="_blank" href="http', $text); - $text = str_replace('autourl($text); - - return $text; -} - - -public function autourl($text) -{ - $text = preg_replace('#( |\R|>)(https?:\/\/((\S+)\.([^< ]+)))#', '$1$3', $text); - return $text; -} - - -public function markdown($text) -{ - //use Michelf\MarkdownExtra; - $fortin = new Michelf\MarkdownExtra; - // id in headers - $fortin->header_id_func = function ($header) { - return preg_replace('/[^\w]/', '', strtolower($header)); - }; - $fortin->hard_wrap = true; - $text = $fortin->transform($text); - return $text; -} - - - - -public function tooltip(array $linkfrom, string $text) -{ - $descriptions = []; - $artlist = $this->getlisterid($linkfrom); - foreach ($artlist as $art) { - $descriptions[$art->id()] = $art->description(); - } - - foreach ($linkfrom as $id) { - if (isset($descriptions[$id])) { - $linkfrom = 'href="?id=' . $id . '"'; - $titlelinkfrom = ' title="' . $descriptions[$id] . '" ' . $linkfrom; - $text = str_replace($linkfrom, $titlelinkfrom, $text); - } - } - return $text; -} - - - -function sumparser($text) -{ - preg_match_all('#(.+)#iU', $text, $out); - - - $sum = []; - foreach ($out[2] as $key => $value) { - $sum[$value][$out[1][$key]] = $out[3][$key]; - } - - - $sumstring = ''; - $last = 0; - foreach ($sum as $title => $list) { - foreach ($list as $h => $link) { - if ($h > $last) { - for ($i = 1; $i <= ($h - $last); $i++) { - $sumstring .= '
    '; - } - $sumstring .= '
  • ' . $link . '
  • '; - } elseif ($h < $last) { - for ($i = 1; $i <= ($last - $h); $i++) { - $sumstring .= '
'; - } - $sumstring .= '
  • ' . $link . '
  • '; - } elseif ($h = $last) { - $sumstring .= '
  • ' . $link . '
  • '; - } - $last = $h; - } - } - for ($i = 1; $i <= ($last); $i++) { - $sumstring .= ''; - } - return $sumstring; -} - - - - //tag auto menu - - -public function autotaglist() -{ - $pattern = "/%%(\w*)%%/"; - preg_match_all($pattern, $this->md(), $out); - return $out[1]; - -} - -public function autotaglistupdate($taglist) -{ - foreach ($taglist as $tag => $artlist) { - $replace = ''; - $text = str_replace('%%' . $tag . '%%', $replace, $text); - } -} - -public function autotaglistcalc($taglist) -{ - foreach ($taglist as $tag => $artlist) { - foreach ($artlist as $art) { - if (!in_array($art->id(), $this->linkfrom('array')) && $art->id() != $this->id()) { - $this->linkfrom[] = $art->id(); - } - } - } -} - - - -} - - - -?> \ No newline at end of file diff --git a/w/class/modeluser.php b/w/class/modeluser.php deleted file mode 100644 index 899d1cc..0000000 --- a/w/class/modeluser.php +++ /dev/null @@ -1,61 +0,0 @@ - $user->level()]; - } - - public function readsession() - { - $userdatas = []; - if(array_key_exists('user', $_SESSION)) { - $userdatas = $_SESSION['user']; - } - $user = new User($userdatas); - return $user; - } - - public function login($pass) - { - $user = new User(['level' => $this->passlevel($pass)]); - return $user; - } - - public function passlevel($pass) - { - if (strip_tags($pass) == Config::admin()) { - return $level = self::ADMIN; - } elseif (strip_tags($pass) == Config::read()) { - return $level = self::READ; - } elseif (strip_tags($pass) == Config::editor()) { - return $level = self::EDITOR; - } elseif (strip_tags($pass) == Config::invite()) { - return $level = self::INVITE; - } else { - return $level = self::FREE; - } - } - - public function logout() - { - $user = new User(['level' => self::FREE]); - return $user; - } -} - - - - - - -?> \ No newline at end of file diff --git a/w/class/opt.php b/w/class/opt.php deleted file mode 100644 index f1cb4df..0000000 --- a/w/class/opt.php +++ /dev/null @@ -1,272 +0,0 @@ - '0', 'max' => '0']; - private $linkfrom = ['min' => '0', 'max' => '0']; - private $col = ['id']; - private $taglist = []; - private $invert = 0; - - private $artvarlist; - - 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); - } - } - } - - - public function resetall() - { - $varlist = get_class_vars(__class__); - - foreach ($varlist as $var => $default) { - $method = 'set' . $var; - $this->$method($default); - } - } - - public function reset($var) - { - $varlist = get_class_vars(__class__); - if(in_array($var, $varlist)) { - $this->$var = $varlist[$var]; - } - } - - public function submit() - { - if(isset($_GET['submit'])) { - if ($_GET['submit'] == 'reset') { - $_SESSION['opt'] = []; - } elseif ($_GET['submit'] == 'filter') { - $this->getall(); - } - } else { - $this->sessionall(); - } - } - - public function getall() - { - $optlist = ['sortby', 'order', 'secure', 'tagcompare', 'tagfilter', 'invert']; - - foreach ($optlist as $method) { - if (method_exists($this, $method)) { - if(isset($_GET[$method])) { - $setmethod = 'set'. $method; - $this->$setmethod($_GET[$method]); - } else { - $this->reset($method); - } - $_SESSION['opt'][$method] = $this->$method(); - } - } - } - - public function sessionall() - { - if(isset($_SESSION['opt'])) { - $this->hydrate($_SESSION['opt']); - } - } - - - - // _______________________________________________ G E T _______________________________________________ - - public function sortby() - { - return $this->sortby; - } - - public function order() - { - return $this->order; - } - - public function secure() - { - return $this->secure; - } - - public function tagfilter($type = 'array') - { - return $this->tagfilter; - } - - public function tagcompare() - { - return $this->tagcompare; - } - - public function linkto($type = 'array') - { - return $this->linkto; - } - - public function linkfrom($type = 'array') - { - return $this->linkfrom; - } - - public function col($type = 'array') - { - if ($type == 'string') { - return implode(', ', $this->col); - } else { - return ($this->col); - } - } - - public function taglist() - { - return $this->taglist; - } - - public function invert() - { - return $this->invert; - } - - public function artvarlist() - { - return $this->artvarlist; - } - - - // __________________________________________________ S E T _____________________________________________ - - public function setsortby($sortby) - { - if (is_string($sortby) && in_array($sortby, $this->artvarlist())) { - $this->sortby = strtolower(strip_tags($sortby)); - } - } - - public function setorder($order) - { - $order = intval($order); - if (in_array($order, [-1, 0, 1])) { - $this->order = $order; - } - } - - public function settagfilter($tagfilter) - { - if (!empty($tagfilter) && is_array($tagfilter)) { - $tagfilterverif = []; - foreach ($tagfilter as $tag) { - if(array_key_exists($tag, $this->taglist)) { - $tagfilterverif[] = $tag; - } - } - $this->tagfilter = $tagfilterverif; - } - } - - public function settagcompare($tagcompare) - { - if (in_array($tagcompare, ['OR', 'AND'])) { - $this->tagcompare = $tagcompare; - } - } - - public function setsecure($secure) - { - if ($secure >= 0 && $secure <= 5) { - $this->secure = intval($secure); - } - } - - public function setlinkto($range) - { - $this->linkto = $range; - } - - public function setlinkfrom($range) - { - $this->linkfrom = $range; - } - - public function setlinktomin($min) - { - $this->linkto['min'] = intval($min); - } - - public function setlinktomax($max) - { - $this->linkto['max'] = intval($max); - } - - public function setlinkfrommin($min) - { - $this->linkfrom['min'] = intval($min); - } - - public function setlinkfrommax($max) - { - $this->linkfrom['max'] = intval($max); - } - - public function setcol($col) - { - if (is_array($col)) { - $this->col = array_intersect($this->artvarlist(), $col); - } - } - - - public function settaglist(array $artlist) - { - $taglist = []; - foreach ($artlist as $art) { - foreach ($art->tag('array') as $tag) { - if (!array_key_exists($tag, $taglist)) { - $taglist[$tag] = 1; - } else { - $taglist[$tag]++; - } - } - } - $taglistsorted = arsort($taglist); - $this->taglist = $taglist; - } - - public function setinvert(int $invert) - { - if ($invert == 0 || $invert == 1) { - $this->invert = $invert; - } else { - $this->invert = 0; - } - } - - - public function setartvarlist(array $artvarlist) - { - $this->artvarlist = $artvarlist; - } - - -} - - - - -?> \ No newline at end of file diff --git a/w/class/quickcss.php b/w/class/quickcss.php deleted file mode 100644 index dc7dbac..0000000 --- a/w/class/quickcss.php +++ /dev/null @@ -1,291 +0,0 @@ - ['left', 'right', 'center', 'justify'], - 'border-style' => ['solid', 'double', 'outset', 'ridge'], - 'font-family' => ['serif', 'sans-serif', 'monospace', 'cursive', 'fantasy'], - 'text-decoration-line' => ['none', 'underline', 'overline', 'line-through', 'underline overline'], - 'display' => ['none', ] - ]; - - - private static function getselect() - { - return array_keys(self::OPTIONS); - } - - private static function getparams() - { - $params = array_merge(self::COLOR, self::SIZE, self::getselect(), self::UNIQUE); - sort($params, SORT_STRING ); - return $params; - } - - public function __construct($data) - { - $this->hydrate($data); } - - public function hydrate($data) - { - foreach ($data as $key => $value) { - $method = 'set' . $key; - - if (method_exists($this, $method)) { - $this->$method($value); - } - } - } - - public function calc() - { - $quickcss = $this->intersect($this->values,$this->active); - $quickcss = $this->merge($quickcss, $this->new); - $quickcss = $this->addunits($quickcss, $this->units); - $quickcss = $this->merge($this->jsoncss, $quickcss); - - $this->quickcss = $quickcss; - } - - - - // _________________________________________ P O S T __________________________________________________ - - public function setvalues($data) - { - if(is_array($data)) { - $this->values = $data; - } - } - - public function setunits($data) - { - if(is_array($data)) { - $this->units = $data; - } - } - - public function setactive($data) - { - if(is_array($data)) { - $this->active = $data; - } - } - - public function setnew($data) - { - if (!empty($data['element']) && !empty($data['param']) && in_array($data['param'], self::getparams())) { - $new = array($data['element'] => array($data['param'] => '')); - $this->new = $new; - } - } - - - public function setjson($jsoncss) - { - if(!empty($jsoncss) && is_string($jsoncss)) { - $jsoncss = json_decode($jsoncss); - if(is_array($jsoncss)) { - $this->jsoncss = $jsoncss; - } else { - $this->jsoncss = []; - } - } - } - - - // _______________________________________ C A L C ___________________________________________________ - - public function intersect($values, $active) - { - $intersect = array_intersect_key($values, $active); - - foreach ($intersect as $element => $css) { - $intersect[$element] = array_intersect_key($values[$element], $active[$element]); - } - return $intersect; - } - - public function merge($quickcss, $new) - { - $quickcss = array_merge_recursive($quickcss, $new); - return $quickcss; - } - - public function addunits($quickcss, $units) - { - foreach ($units as $element => $css) { - foreach ($css as $param => $unit) { - if (array_key_exists($element, $quickcss) && array_key_exists($param, $quickcss[$element])) { - $quickcss[$element][$param] = $quickcss[$element][$param] . $unit; - } - } - } - return $quickcss; - } - - - - // __________________________________________ C O M _________________________________________ - - public function tocss() - { - $string = ''; - foreach ($this->quickcss as $element => $css) { - $string .= PHP_EOL . $element . ' {'; - foreach ($css as $param => $value) { - $string .= PHP_EOL . ' ' . $param . ': ' . $value . ';'; - } - $string .= PHP_EOL . '}' . PHP_EOL; - } - return $string; - } - - public function tojson() - { - return json_encode($this->quickcss); - } - - - - - // _____________________________________________ F O R M ____________________________________________ - - public function form($action) - { - echo '
    '; - echo '
    '; - $this->inputs($this->quickcss); - echo '
    '; - echo '
    '; - - } - - public function inputs($quickcss) - { - echo '

    Add element

    '; - - echo ''; - echo ''; - foreach (array_keys($quickcss) as $element) { - echo ''; - - echo ''; - - foreach ($quickcss as $element => $css) { - echo '

    ' . $element . '

    '; - foreach ($css as $param => $value) { - - echo '
    '; - echo ''; - echo ''; - echo '
    '; - - echo '
    '; - - if (in_array($param, self::COLOR)) { - echo ''; - } - - if (in_array($param, self::SIZE)) { - $this->sizeinput($element, $param, $value); - } - - if (in_array($param, self::getselect())) { - $this->selectinput($element, $param, $value); - } - - if (in_array($param, self::UNIQUE)) { - $method = str_replace('-', '', $param) . 'input'; - if (method_exists($this, $method)) { - $this->$method($element, $param, $value); - } - } - - echo '
    '; - } - } - - - } - - - - - - - // ____________________________________ I N P U T __________________________________ - - public function sizeinput($element, $param, $value) - { - echo ''; - - $unit = preg_replace('/\d/', '', $value); - ?> - - '; - - $unit = preg_replace('/\d/', '', $value); - ?> - - '; - } - - public function selectinput($element, $param, $value) - { - echo ''; - } - - -} - - - -?> \ No newline at end of file diff --git a/w/class/record.php b/w/class/record.php deleted file mode 100644 index e488383..0000000 --- a/w/class/record.php +++ /dev/null @@ -1,116 +0,0 @@ -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 size() - { - return $this->size; - } - - public function datetime() - { - return $this->datetime; - } - - public function number() - { - return $this->number; - } - -// ___________________________________________________ S E T __________________________________________________ - - public function setid($id) - { - if (strlen($id) < 100 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 setdatetime($datetime) - { - if (is_int($datetime)) { - $this->datetime = strip_tags(strtolower($datetime)); - } - } - - public function setnumber($number) - { - if (is_int($number)) { - $this->number = strip_tags(strtolower($number)); - } - } - - - - - -} - -?> \ No newline at end of file diff --git a/w/class/route.php b/w/class/route.php deleted file mode 100644 index cc2fe59..0000000 --- a/w/class/route.php +++ /dev/null @@ -1,84 +0,0 @@ -hydrate($vars); - } - - public function hydrate($vars) - { - foreach ($vars as $var => $value) { - $method = 'set' . $var; - if (method_exists($this, $method)) { - $this->$method($value); - } - } - } - - public function toarray() - { - $array = []; - if (!empty($this->id)) { - $array[] = 'art'; - } - if (!empty($this->aff)) { - $array[] = 'aff='.$this->aff; - } - if (!empty($this->action)) { - $array[] = 'action=' . $this->action; - } - if (!empty($this->redirect)) { - $array[] = $this->redirect; - } - - - return $array; - } - - function tostring() - { - return implode(' ', $this->toarray()); - } - - - - public function setid($id) - { - $this->id = $id; - } - - public function setaff($aff) - { - $this->aff = $aff; - - } - - public function setaction($action) - { - $this->action = $action; - } - - public function setredirect($redirect) - { - $this->redirect = $redirect; - } - - public function id() - { - return $this->id; - } -} - - - - -?> \ No newline at end of file diff --git a/w/class/router.php b/w/class/router.php deleted file mode 100644 index 604fb84..0000000 --- a/w/class/router.php +++ /dev/null @@ -1,74 +0,0 @@ - ['art', 'read'], - 'art aff=read' => ['art', 'read'], - 'art aff=edit' => ['art', 'edit'], - 'art aff=log' => ['art', 'log'], - 'art action=update' => ['art', 'update'], - 'art action=update home' => ['art', 'update', 'home'], - 'art action=add' => ['art', 'add'], - 'art action=delete' => ['art', 'delete'], - 'aff=home action=massedit', - 'aff=home' => ['home', 'desktop'], - '' => ['home', 'desktop'], - 'aff=home action=massedit' => ['home', 'massedit'], - 'action=massedit' => ['home', 'massedit'], - 'action=analyseall' => ['home', 'analyseall'], - 'aff=home action=analyseall' => ['home', 'analyseall'], - 'art action=login' => ['art', 'login', 'art'], - 'home action=login' => ['home', 'login', 'home'], - 'action=login' => ['home', 'login'], - 'art action=logout' => ['art', 'logout', 'art'], - 'home action=logout' => ['home', 'logout', 'home'], - 'action=logout' => ['home', 'logout'], - 'aff=db' => ['db', 'desktop'], - 'aff=db action=add' => ['db', 'add'], - 'aff=media' => ['media', 'desktop'], - 'aff=media action=addmedia' => ['media', 'addmedia'], - 'aff=admin' => ['admin', 'desktop'], - 'aff=co' => ['connect', 'desktop'], - ]; - - public function __construct() { - if($this->matchroute()) { - $this->callmethod(); - } else { - echo '

    404 Error

    '; - } - } - - public function matchroute() - { - $this->route = new route($_GET); - $match = array_key_exists($this->route->tostring(), self::ROUTES); - return $match; - - } - - public function callmethod() - { - $method = self::ROUTES[$this->route->tostring()]; - - $class = 'controller' . $method[0]; - $function = $method[1]; - $controller = new $class($this->route->id()); - $params = array_slice($method, 2); - $controller->$function(...$params); - } - - - -} - - - - - - -?> \ No newline at end of file diff --git a/w/class/sleekdbw.php b/w/class/sleekdbw.php deleted file mode 100644 index dd77752..0000000 --- a/w/class/sleekdbw.php +++ /dev/null @@ -1,180 +0,0 @@ -storePath . 'data/'; - $lengh = strlen($listPath); - $list = []; - foreach (glob($listPath . '*.json') as $filename) { - $list[] = substr(substr($filename, $lengh), 0, -5); - } - return $list; - } - - public function getbyid($id) - { - return $this->getStoreDocumentById($id); - } - - public function updatebyid($id, $data) - { - foreach ($data as $key => $value) { - // Do not update the _id reserved index of a store. - if ($key != '_id') { - $data[$key] = $value; - } - } - $storePath = $this->storePath . 'data/' . $id . '.json'; - if (file_exists($storePath)) { - // Wait until it's unlocked, then update data. - file_put_contents($storePath, json_encode($data), LOCK_EX); - } - // Check do we need to wipe the cache for this store. - if ($this->deleteCacheOnCreate === true) $this->_emptyAllCache(); - return true; - } - - - - - - - // Writes an object in a store. - protected function writeInStore($storeData) - { - // Cast to array - $storeData = (array)$storeData; - // Check if it has _id key - if (empty($storeData['_id'])) throw new \Exception('Lack of id in this object'); - if (in_array($storeData['_id'], $this->getStoreIdList())) throw new \Exception('Id already used'); - // Add the system ID with the store data array. - $id = $storeData['_id']; - // Prepare storable data - $storableJSON = json_encode($storeData); - if ($storableJSON === false) throw new \Exception('Unable to encode the data array, please provide a valid PHP associative array'); - // Define the store path - $storePath = $this->storePath . 'data/' . $id . '.json'; - if (!file_put_contents($storePath, $storableJSON)) { - throw new \Exception("Unable to write the object file! Please check if PHP has write permission."); - } - return $storeData; - } - - - // Find store objects with conditions, sorting order, skip and limits. - protected function findStoreDocuments() - { - $found = []; - $storeIdList = $this->getStoreIdList(); - $searchRank = []; - // Start collecting and filtering data. - foreach ($storeIdList as $id) { - // Collect data of current iteration. - $data = $this->getStoreDocumentById($id); - if (!empty($data)) { - // Filter data found. - if (empty($this->conditions)) { - // Append all data of this store. - $found[] = $data; - } else { - // Append only passed data from this store. - $storePassed = true; - // Iterate each conditions. - foreach ($this->conditions as $condition) { - // Check for valid data from data source. - $validData = true; - $fieldValue = ''; - try { - $fieldValue = $this->getNestedProperty($condition['fieldName'], $data); - } catch (\Exception $e) { - $validData = false; - $storePassed = false; - } - if ($validData === true) { - // Check the type of rule. - if ($condition['condition'] === '=') { - // Check equal. - if ($fieldValue != $condition['value']) $storePassed = false; - } else if ($condition['condition'] === '!=') { - // Check not equal. - if ($fieldValue == $condition['value']) $storePassed = false; - } else if ($condition['condition'] === '>') { - // Check greater than. - if ($fieldValue <= $condition['value']) $storePassed = false; - } else if ($condition['condition'] === '>=') { - // Check greater equal. - if ($fieldValue < $condition['value']) $storePassed = false; - } else if ($condition['condition'] === '<') { - // Check less than. - if ($fieldValue >= $condition['value']) $storePassed = false; - } else if ($condition['condition'] === '<=') { - // Check less equal. - if ($fieldValue > $condition['value']) $storePassed = false; - } - } - } - // Check if current store is updatable or not. - if ($storePassed === true) { - // Append data to the found array. - $found[] = $data; - } - } - } - } - if (count($found) > 0) { - // Check do we need to sort the data. - if ($this->orderBy['order'] !== false) { - // Start sorting on all data. - $found = $this->sortArray($this->orderBy['field'], $found, $this->orderBy['order']); - } - // If there was text search then we would also sort the result by search ranking. - if (!empty($this->searchKeyword)) { - $found = $this->performSerach($found); - } - // Skip data - if ($this->skip > 0) $found = array_slice($found, $this->skip); - // Limit data. - if ($this->limit > 0) $found = array_slice($found, 0, $this->limit); - } - return $found; - } - - - - // Method to boot a store. - protected function bootStore() - { - $store = trim($this->storeName); - // Validate the store name. - if (!$store || empty($store)) throw new \Exception('Invalid store name was found'); - // Prepare store name. - if (substr($store, -1) !== '/') $store = $store . '/'; - // Store directory path. - $this->storePath = $this->dataDirectory . $store; - // Check if the store exists. - if (!file_exists($this->storePath)) { - // The directory was not found, create one with cache directory. - if (!mkdir($this->storePath, 0777, true)) throw new \Exception('Unable to create the store path at ' . $this->storePath); - // Create the cache directory. - if (!mkdir($this->storePath . 'cache', 0777, true)) throw new \Exception('Unable to create the store\'s cache directory at ' . $this->storePath . 'cache'); - // Create the data directory. - if (!mkdir($this->storePath . 'data', 0777, true)) throw new \Exception('Unable to create the store\'s data directory at ' . $this->storePath . 'data'); - // Check if PHP has write permission in that directory. - if (!is_writable($this->storePath)) throw new \Exception('Store path is not writable at "' . $this->storePath . '." Please change store path permission.'); - // Finally check if the directory is readable by PHP. - if (!is_readable($this->storePath)) throw new \Exception('Store path is not readable at "' . $this->storePath . '." Please change store path permission.'); - } - } - - - - -} - -?> \ No newline at end of file diff --git a/w/class/user.php b/w/class/user.php deleted file mode 100644 index 77d6ba2..0000000 --- a/w/class/user.php +++ /dev/null @@ -1,58 +0,0 @@ -hydrate($datas); - } - } - - public function hydrate(array $datas = []) - { - foreach ($datas as $key => $value) { - $method = 'set' . $key; - - if (method_exists($this, $method)) { - $this->$method($value); - } - } - } - - public function setlevel($level) - { - $this->level = $level; - } - - public function level() - { - return $this->level; - } - - public function isvisitor() - { - return $this->level === Modeluser::FREE; - } - - public function canedit() - { - // a modifier en prenant compte du code invitation de l'article - return $this->level >= Modeluser::EDITOR; - } - - public function cancreate() - { - return $this->level >=Modeluser::EDITOR; - } - - public function isadmin() - { - return $this->level === Modeluser::ADMIN; - } -} - - - -?> \ No newline at end of file diff --git a/w/class/w.article.php b/w/class/w.article.php deleted file mode 100644 index 2476353..0000000 --- a/w/class/w.article.php +++ /dev/null @@ -1,32 +0,0 @@ -exist($_GET['id'])) { - - $art = $app->get($_GET['id']); - - if (isset($_GET['edit']) and $_GET['edit'] == 1 and $app->session() >= $app::EDITOR) { - echo '
    '; - $aff->edit($art, $app, $app->getlister(['id', 'title']), $config->fontsize(), $app->getlistermedia($app::MEDIA_DIR, 'image')); - $aff->aside($app); - echo '
    '; - } else { - echo '
    '; - - - $art->autotaglistupdate($app->taglist($app->getlister(['id', 'title', 'description', 'tag']), $art->autotaglist())); - - - $aff->lecture($art, $app); - echo '
    '; - - } -} else { - echo 'This article does not exist yet'; - - if ($app->session() >= $app::EDITOR) { - echo '
    '; - } - -} - -?> \ No newline at end of file diff --git a/w/class/w.home.php b/w/class/w.home.php deleted file mode 100644 index 8ba8b44..0000000 --- a/w/class/w.home.php +++ /dev/null @@ -1,85 +0,0 @@ -header(); - -echo '
    '; - - -if ($app->session() >= $app::EDITOR) { - - $app->bddinit($config); - - $opt = new Opt(Art2::classvarlist()); - $opt->setcol(['id', 'tag', 'linkfrom', 'contenu', 'description', 'title', 'datemodif', 'datecreation', 'secure']); - $table = $app->getlisteropt($opt); - $app->listcalclinkfrom($table); - $opt->settaglist($table); - $opt->submit(); - - - - - - - - - - - - $opt->setcol(['id', 'tag', 'linkfrom', 'contenu', 'description', 'title', 'datemodif', 'datecreation', 'secure', 'linkto']); - - - $aff->option($app, $opt); - - $filtertagfilter = $app->filtertagfilter($table, $opt->tagfilter(), $opt->tagcompare()); - $filtersecure = $app->filtersecure($table, $opt->secure()); - - $filter = array_intersect($filtertagfilter, $filtersecure); - $table2 = []; - $table2invert = []; - foreach ($table as $art) { - if (in_array($art->id(), $filter)) { - $table2[] = $art; - } else { - $table2invert[] = $art; - } - - - } - - if(!empty($opt->invert())) { - $table2 = $table2invert; - } - - $app->artlistsort($table2, $opt->sortby(), $opt->order()); - - - echo '
    '; - - - $aff->home2table($app, $table2, $app->getlister()); - - - - - echo '
    '; - $aff->mapheader(); - if(isset($_GET['map'])) { - $aff->mermaid($app->map($table2)); - } - echo '
    '; - - - - - - echo '
    '; - -} - - - -echo '
    '; - -?> \ No newline at end of file diff --git a/w/class/w.menu.php b/w/class/w.menu.php deleted file mode 100644 index 8e89ed1..0000000 --- a/w/class/w.menu.php +++ /dev/null @@ -1,56 +0,0 @@ -session() >= $app::EDITOR) { - - if ($_GET['aff'] == 'admin' && $app->session() >= $app::ADMIN) { - echo '
    '; - echo '

    Admin

    '; - - $aff->admincss($config, $app); - $aff->adminpassword($config); - $aff->admindb($config); - if ($app->setbdd($config)) { - $status = "OK"; - } else { - $status = "Not Connected"; - } - $aff->admintable($config, $status, $app->tablelist($config->dbname())); - $aff->admindisplay($config->color4()); - - echo '
    '; - } elseif ($_GET['aff'] == 'media') { - echo '

    Media

    '; - echo '
    '; - echo '
    '; - - $aff->addmedia($app); - $aff->medialist($app->getlistermedia($app::MEDIA_DIR), $app::MEDIA_DIR); - - echo '
    '; - echo '
    '; - - } elseif ($_GET['aff'] == 'record') { - echo '

    Record

    '; - echo '
    '; - - $aff->recordlist($app); - - echo '
    '; - - } elseif ($_GET['aff'] == 'info') { - - - - } else { - - echo '

    Private

    You dont have the permission to access this page.

    '; - - } - - -} else { - echo '

    Private

    You should be connected to access this page.

    '; -} - -?> \ No newline at end of file -- cgit v1.2.3