diff options
Diffstat (limited to 'app/class')
-rw-r--r-- | app/class/modelhome.php | 17 | ||||
-rw-r--r-- | app/class/opt.php | 25 | ||||
-rw-r--r-- | app/class/user.php | 13 |
3 files changed, 48 insertions, 7 deletions
diff --git a/app/class/modelhome.php b/app/class/modelhome.php index 3347edf..c30da44 100644 --- a/app/class/modelhome.php +++ b/app/class/modelhome.php @@ -38,14 +38,17 @@ class Modelhome extends Modelart + /** + * @param array $table + * @param Opt $opt + */ public function table2($table, $opt) { - $listmanager = new Modelart; - $filtertagfilter = $listmanager->filtertagfilter($table, $opt->tagfilter(), $opt->tagcompare()); - $filterauthorfilter = $listmanager->filterauthorfilter($table, $opt->authorfilter(), $opt->authorcompare()); - $filtersecure = $listmanager->filtersecure($table, $opt->secure()); + $filtertagfilter = $this->filtertagfilter($table, $opt->tagfilter(), $opt->tagcompare()); + $filterauthorfilter = $this->filterauthorfilter($table, $opt->authorfilter(), $opt->authorcompare()); + $filtersecure = $this->filtersecure($table, $opt->secure()); $filter = array_intersect($filtertagfilter, $filtersecure, $filterauthorfilter); $table2 = []; @@ -64,7 +67,11 @@ class Modelhome extends Modelart $table2 = $table2invert; } - $listmanager->artlistsort($table2, $opt->sortby(), $opt->order()); + $this->artlistsort($table2, $opt->sortby(), $opt->order()); + + if($opt->limit() !== 0) { + $table2 = array_slice($table2, 0, $opt->limit()); + } return $table2; diff --git a/app/class/opt.php b/app/class/opt.php index 39e2ab8..1cfa299 100644 --- a/app/class/opt.php +++ b/app/class/opt.php @@ -14,6 +14,7 @@ class Opt protected $taglist = []; protected $authorlist = []; protected $invert = 0; + protected $limit= 0; protected $artvarlist; @@ -67,7 +68,7 @@ class Opt public function getall() { - $optlist = ['sortby', 'order', 'secure', 'tagcompare', 'tagfilter', 'authorcompare', 'authorfilter', 'invert']; + $optlist = ['sortby', 'order', 'secure', 'tagcompare', 'tagfilter', 'authorcompare', 'authorfilter', 'limit','invert']; foreach ($optlist as $method) { if (method_exists($this, $method)) { @@ -91,11 +92,14 @@ class Opt public function getadress(string $sortby = '') { - if ($this->sortby() === $sortby) { + if ($this->sortby === $sortby) { $order = $this->order * -1; } else { $order = $this->order; } + if(empty($sortby)) { + $sortby = $this->sortby; + } $adress = '?sortby=' . $sortby; $adress .= '&order=' . $order; $adress .= '&secure=' . $this->secure; @@ -110,6 +114,7 @@ class Opt if ($this->invert == 1) { $adress .= '&invert=1'; } + $adress.= '&limit=' .$this->limit; $adress .= '&submit=filter'; return $adress; @@ -213,6 +218,11 @@ class Opt return $this->artvarlist; } + public function limit() + { + return $this->limit; + } + // __________________________________________________ S E T _____________________________________________ @@ -356,6 +366,17 @@ class Opt } } + public function setlimit($limit) + { + $limit = intval($limit); + if($limit < 0) { + $limit = 0; + } elseif ($limit >= 10000) { + $limit = 9999; + } + $this->limit = $limit; + } + public function setartvarlist(array $artvarlist) { diff --git a/app/class/user.php b/app/class/user.php index 68eed91..2b87d62 100644 --- a/app/class/user.php +++ b/app/class/user.php @@ -12,6 +12,7 @@ class User protected $connectcount = 0; protected $expiredate = false; protected $bookmark = []; + protected $display = ['bookmark' => false]; public function __construct($datas = []) { @@ -120,6 +121,11 @@ class User return $this->bookmark; } + public function display() + { + return $this->display; + } + // _______________________ S E T _______________________ @@ -198,6 +204,13 @@ class User } } + public function setdisplay($display) + { + if(is_array($display)) { + $this->display = $display; + } + } + |