From 0893f20446a6645c5f928f2cb41f688a9fc5fcf1 Mon Sep 17 00:00:00 2001 From: vincent-peugnet Date: Wed, 12 Feb 2020 20:20:06 +0100 Subject: refactoring home>desktop, fix #47 --- app/class/Controllerhome.php | 67 +++++++++++++++++++++++++++++--------------- 1 file changed, 45 insertions(+), 22 deletions(-) (limited to 'app/class/Controllerhome.php') diff --git a/app/class/Controllerhome.php b/app/class/Controllerhome.php index 5a9110a..42ace87 100644 --- a/app/class/Controllerhome.php +++ b/app/class/Controllerhome.php @@ -27,23 +27,14 @@ class Controllerhome extends Controllerpage } else { - $table = $this->modelhome->getlister(); - $this->opt = $this->modelhome->optinit($table); + $pagelist = $this->modelhome->getlister(); + $this->opt = $this->modelhome->optinit($pagelist); $vars['colors'] = new Colors($this->opt->taglist()); - if (!isset($_GET['search'])) { - $searchopt = ['title' => 1, 'description' => 1, 'content' => 1, 'other' => 0, 'casesensitive' => 0]; - } else { - $searchopt['title'] = $_GET['title'] ?? 0; - $searchopt['description'] = $_GET['description'] ?? 0; - $searchopt['content'] = $_GET['content'] ?? 0; - $searchopt['other'] = $_GET['other'] ?? 0; - $searchopt['casesensitive'] = $_GET['case'] ?? 0; - } - $regex = $_GET['search'] ?? ''; + $deepsearch = $this->deepsearch(); - $vars['table2'] = $this->modelhome->table2($table, $this->opt, $regex , $searchopt); + $vars['table2'] = $this->modelhome->table2($pagelist, $this->opt, $deepsearch['regex'] , $deepsearch['searchopt']); $vars['columns'] = $this->modelhome->setcolumns($this->user->columns()); @@ -52,22 +43,49 @@ class Controllerhome extends Controllerpage $vars['editorlist'] = $this->usermanager->getlisterbylevel(2, '>='); $vars['user'] = $this->user; $vars['opt'] = $this->opt; - $vars['deepsearch'] = $regex; - $vars['searchopt'] = $searchopt; + $vars['deepsearch'] = $deepsearch['regex']; + $vars['searchopt'] = $deepsearch['searchopt']; - $vars['footer'] = ['version' => getversion(), 'total' => count($table), 'database' => Config::pagetable()]; + $vars['footer'] = ['version' => getversion(), 'total' => count($pagelist), 'database' => Config::pagetable()]; - if (isset($_POST['query']) && $this->user->iseditor()) { - $datas = array_merge($_POST, $_SESSION['opt']); - $this->optlist = $this->modelhome->Optlistinit($table); - $this->optlist->hydrate($datas); - $vars['optlist'] = $this->optlist; - } + $this->listquery($pagelist); + + $vars['optlist'] = $this->optlist ?? null; $this->showtemplate('home', $vars); } } + /** + * Look for GET deepsearch datas and transform it an array + * + * @return array containing `string $regex` and `array $searchopt` + */ + public function deepsearch() : array + { + if (!isset($_GET['search'])) { + $searchopt = ['title' => 1, 'description' => 1, 'content' => 1, 'other' => 0, 'casesensitive' => 0]; + } else { + $searchopt['title'] = $_GET['title'] ?? 0; + $searchopt['description'] = $_GET['description'] ?? 0; + $searchopt['content'] = $_GET['content'] ?? 0; + $searchopt['other'] = $_GET['other'] ?? 0; + $searchopt['casesensitive'] = $_GET['case'] ?? 0; + } + $regex = $_GET['search'] ?? ''; + return ['regex' => $regex, 'searchopt' => $searchopt]; + } + + public function listquery(array $pagelist) + { + if (isset($_POST['query']) && $this->user->iseditor()) { + $datas = array_merge($_POST, $_SESSION['opt']); + $this->optlist = $this->modelhome->Optlistinit($pagelist); + $this->optlist->hydrate($datas); + $vars['optlist'] = $this->optlist; + } + } + public function columns() { if (isset($_POST['columns']) && $this->user->iseditor()) { @@ -110,6 +128,11 @@ class Controllerhome extends Controllerpage } } + public function map() + { + + } + /** * Render every pages in the database */ -- cgit v1.2.3 From e115875801c2e32399079c4ef92bb11ceb4f2c1d Mon Sep 17 00:00:00 2001 From: vincent-peugnet Date: Wed, 12 Feb 2020 21:05:46 +0100 Subject: generate cytoscape datas --- app/class/Controllerhome.php | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'app/class/Controllerhome.php') diff --git a/app/class/Controllerhome.php b/app/class/Controllerhome.php index 42ace87..86b2f6f 100644 --- a/app/class/Controllerhome.php +++ b/app/class/Controllerhome.php @@ -86,6 +86,24 @@ class Controllerhome extends Controllerpage } } + /** + * Temporary map display function + */ + public function map() + { + if ($this->user->isadmin()) { + + $pagelist = $this->modelhome->getlister(); + $datas = $this->modelhome->mapdata($pagelist); + + $vars['json'] = json_encode($datas, JSON_PRETTY_PRINT); + + $this->showtemplate('map', $vars); + + } + + } + public function columns() { if (isset($_POST['columns']) && $this->user->iseditor()) { @@ -127,12 +145,7 @@ class Controllerhome extends Controllerpage $this->routedirect('home'); } } - - public function map() - { - - } - + /** * Render every pages in the database */ -- cgit v1.2.3 From 7d1b16dce7e435caefd39975ca68a08c4f79fc03 Mon Sep 17 00:00:00 2001 From: vincent-peugnet Date: Mon, 23 Mar 2020 16:19:48 +0100 Subject: map integration in home --- app/class/Controllerhome.php | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'app/class/Controllerhome.php') diff --git a/app/class/Controllerhome.php b/app/class/Controllerhome.php index 86b2f6f..7b7024d 100644 --- a/app/class/Controllerhome.php +++ b/app/class/Controllerhome.php @@ -45,6 +45,13 @@ class Controllerhome extends Controllerpage $vars['opt'] = $this->opt; $vars['deepsearch'] = $deepsearch['regex']; $vars['searchopt'] = $deepsearch['searchopt']; + $vars['display'] = $_GET['display'] ?? 'list'; + + $vars['layout'] = $_GET['layout'] ?? 'random'; + if($vars['display'] === 'map') { + $datas = $this->modelhome->cytodata($vars['table2'], $vars['layout']); + $vars['json'] = json_encode($datas, JSON_PRETTY_PRINT); + } $vars['footer'] = ['version' => getversion(), 'total' => count($pagelist), 'database' => Config::pagetable()]; -- cgit v1.2.3 From a7174bb27de46b2f64118181221fad3658f511d3 Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Mon, 23 Mar 2020 18:03:00 +0100 Subject: clean: remove temporary map dev page --- app/class/Controllerhome.php | 18 ------------------ 1 file changed, 18 deletions(-) (limited to 'app/class/Controllerhome.php') diff --git a/app/class/Controllerhome.php b/app/class/Controllerhome.php index 7b7024d..4fa9a0b 100644 --- a/app/class/Controllerhome.php +++ b/app/class/Controllerhome.php @@ -93,24 +93,6 @@ class Controllerhome extends Controllerpage } } - /** - * Temporary map display function - */ - public function map() - { - if ($this->user->isadmin()) { - - $pagelist = $this->modelhome->getlister(); - $datas = $this->modelhome->mapdata($pagelist); - - $vars['json'] = json_encode($datas, JSON_PRETTY_PRINT); - - $this->showtemplate('map', $vars); - - } - - } - public function columns() { if (isset($_POST['columns']) && $this->user->iseditor()) { -- cgit v1.2.3 From 1a93d70c938f3ae2b050f3a102c961cf1cc3cefc Mon Sep 17 00:00:00 2001 From: vincent-peugnet Date: Mon, 23 Mar 2020 21:04:15 +0100 Subject: filter map and orphans hide --- app/class/Controllerhome.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'app/class/Controllerhome.php') diff --git a/app/class/Controllerhome.php b/app/class/Controllerhome.php index 4fa9a0b..6444ac2 100644 --- a/app/class/Controllerhome.php +++ b/app/class/Controllerhome.php @@ -34,7 +34,12 @@ class Controllerhome extends Controllerpage $deepsearch = $this->deepsearch(); - $vars['table2'] = $this->modelhome->table2($pagelist, $this->opt, $deepsearch['regex'] , $deepsearch['searchopt']); + $idlistfilter = $this->modelhome->filter($pagelist, $this->opt); + $pagelistfilter = $this->modelhome->pagelistfilter($pagelist, $idlistfilter); + $pagelistdeep = $this->modelhome->deepsearch($pagelistfilter, $deepsearch['regex'] , $deepsearch['searchopt']); + $pagelistsort = $this->modelhome->sort($pagelistdeep, $this->opt); + $vars['pagelistopt'] = $pagelistsort; + $vars['columns'] = $this->modelhome->setcolumns($this->user->columns()); @@ -47,9 +52,10 @@ class Controllerhome extends Controllerpage $vars['searchopt'] = $deepsearch['searchopt']; $vars['display'] = $_GET['display'] ?? 'list'; - $vars['layout'] = $_GET['layout'] ?? 'random'; if($vars['display'] === 'map') { - $datas = $this->modelhome->cytodata($vars['table2'], $vars['layout']); + $vars['layout'] = $_GET['layout'] ?? 'cose-bilkent'; + $vars['hideorphans'] = boolval($_GET['hideorphans'] ?? false); + $datas = $this->modelhome->cytodata($pagelistsort, $vars['layout'], $vars['hideorphans']); $vars['json'] = json_encode($datas, JSON_PRETTY_PRINT); } -- cgit v1.2.3 From d17713051ca2fef29de8025fe876d417838cea7f Mon Sep 17 00:00:00 2001 From: vincent-peugnet Date: Wed, 25 Mar 2020 19:53:38 +0100 Subject: graph look, add redirections, close #50 --- app/class/Controllerhome.php | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'app/class/Controllerhome.php') diff --git a/app/class/Controllerhome.php b/app/class/Controllerhome.php index 6444ac2..71f110e 100644 --- a/app/class/Controllerhome.php +++ b/app/class/Controllerhome.php @@ -34,11 +34,7 @@ class Controllerhome extends Controllerpage $deepsearch = $this->deepsearch(); - $idlistfilter = $this->modelhome->filter($pagelist, $this->opt); - $pagelistfilter = $this->modelhome->pagelistfilter($pagelist, $idlistfilter); - $pagelistdeep = $this->modelhome->deepsearch($pagelistfilter, $deepsearch['regex'] , $deepsearch['searchopt']); - $pagelistsort = $this->modelhome->sort($pagelistdeep, $this->opt); - $vars['pagelistopt'] = $pagelistsort; + $vars['pagelistopt'] = $this->modelhome->pagetable($pagelist, $this->opt, $deepsearch['regex'], $deepsearch['searchopt']); $vars['columns'] = $this->modelhome->setcolumns($this->user->columns()); @@ -54,8 +50,9 @@ class Controllerhome extends Controllerpage if($vars['display'] === 'map') { $vars['layout'] = $_GET['layout'] ?? 'cose-bilkent'; - $vars['hideorphans'] = boolval($_GET['hideorphans'] ?? false); - $datas = $this->modelhome->cytodata($pagelistsort, $vars['layout'], $vars['hideorphans']); + $vars['showorphans'] = boolval($_GET['showorphans'] ?? false); + $vars['showredirection'] = boolval($_GET['showredirection'] ?? false); + $datas = $this->modelhome->cytodata($vars['pagelistopt'], $vars['layout'], $vars['showorphans'], $vars['showredirection']); $vars['json'] = json_encode($datas, JSON_PRETTY_PRINT); } -- cgit v1.2.3