aboutsummaryrefslogtreecommitdiff
path: root/app/class/Modelpage.php
diff options
context:
space:
mode:
authorvincent-peugnet <v.peugnet@free.fr>2020-04-07 17:16:10 +0200
committervincent-peugnet <v.peugnet@free.fr>2020-04-07 17:16:10 +0200
commit7c9ceb23b415eb6863c51ac1eb1fab8d50e2aa99 (patch)
tree992b2d40a7b27717842be156cc8ceab7ac01c093 /app/class/Modelpage.php
parent8e8fa09a09152eb5a7bd749f58472fa385d11bbc (diff)
downloadwcms-7c9ceb23b415eb6863c51ac1eb1fab8d50e2aa99.tar.gz
wcms-7c9ceb23b415eb6863c51ac1eb1fab8d50e2aa99.zip
model page,render refactor
getlister > pagelist optlist now generate html
Diffstat (limited to 'app/class/Modelpage.php')
-rw-r--r--app/class/Modelpage.php23
1 files changed, 12 insertions, 11 deletions
diff --git a/app/class/Modelpage.php b/app/class/Modelpage.php
index 43ba117..492f03e 100644
--- a/app/class/Modelpage.php
+++ b/app/class/Modelpage.php
@@ -10,9 +10,7 @@ use DateTimeImmutable;
class Modelpage extends Modeldb
{
- const SELECT = ['title', 'id', 'description', 'tag', 'date', 'datecreation', 'datemodif', 'daterender', 'css', 'quickcss', 'javascript', 'body', 'header', 'main', 'nav', 'aside', 'footer', 'render', 'secure', 'invitepassword', 'interface', 'linkto', 'template', 'affcount', 'editcount'];
- const BY = ['datecreation', 'title', 'id', 'description', 'datemodif', 'secure'];
- const ORDER = ['DESC', 'ASC'];
+ protected $pagelist = [];
public function __construct()
@@ -25,18 +23,21 @@ class Modelpage extends Modeldb
}
/**
- * Scan library for all pages as objects
+ * Scan library for all pages as objects.
+ * If a scan has already been perform, it will just
+ * read `pagelist` Propriety
*
* @return array of Pages objects as `id => Page`
*/
- public function getlister()
+ public function pagelist()
{
- $pagelist = [];
- $list = $this->repo->findAll();
- foreach ($list as $pagedata) {
- $pagelist[$pagedata->id] = new Page($pagedata);
+ if(empty($this->pagelist)) {
+ $list = $this->repo->findAll();
+ foreach ($list as $pagedata) {
+ $this->pagelist[$pagedata->id] = new Page($pagedata);
+ }
}
- return $pagelist;
+ return $this->pagelist;
}
@@ -47,7 +48,7 @@ class Modelpage extends Modeldb
*
* @return array of Page objects
*/
- public function getlisterid(array $idlist = []) : array
+ public function pagelistbyid(array $idlist = []) : array
{
$pagedatalist = $this->repo->query()
->where('__id', 'IN', $idlist)