aboutsummaryrefslogtreecommitdiff
path: root/app/class
diff options
context:
space:
mode:
Diffstat (limited to 'app/class')
-rw-r--r--app/class/modelhome.php17
-rw-r--r--app/class/opt.php25
-rw-r--r--app/class/user.php13
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;
+ }
+ }
+