aboutsummaryrefslogtreecommitdiff
path: root/app/class/Modelmedia.php
diff options
context:
space:
mode:
authorvincent-peugnet <v.peugnet@free.fr>2020-01-20 01:58:42 +0100
committervincent-peugnet <v.peugnet@free.fr>2020-01-20 01:58:42 +0100
commit526dc66454a56ea4ccb0ed220e498bf6611cc666 (patch)
tree49acf50c0c007e37224b73f8db01b0761f0c7aee /app/class/Modelmedia.php
parent8e10d770c74acdbb5795e8fc73fd220b900d75aa (diff)
parent49273cba81ea86639a23dfd5a43bda2f6b01f075 (diff)
downloadwcms-526dc66454a56ea4ccb0ed220e498bf6611cc666.tar.gz
wcms-526dc66454a56ea4ccb0ed220e498bf6611cc666.zip
Merge branch 'implement-better-ui'
Diffstat (limited to 'app/class/Modelmedia.php')
-rw-r--r--app/class/Modelmedia.php50
1 files changed, 26 insertions, 24 deletions
diff --git a/app/class/Modelmedia.php b/app/class/Modelmedia.php
index 6ac647f..d1da829 100644
--- a/app/class/Modelmedia.php
+++ b/app/class/Modelmedia.php
@@ -33,16 +33,23 @@ class Modelmedia extends Model
}
}
+ public function medialistopt(Medialist $mediaopt)
+ {
+ $medialist = $this->getlistermedia($mediaopt->dir(), $mediaopt->type());
+ $this->medialistsort($medialist, $mediaopt->sortby(), $mediaopt->order());
+
+ return $medialist;
+ }
+
/**
* Display a list of media
*
* @param string $path
- * @param string $sortby
- * @param string $order
+ * @param array $type
*
* @return array of Media objects
*/
- public function getlistermedia($dir, $type = "all")
+ public function getlistermedia($dir, $type = Model::MEDIA_TYPES)
{
if (is_dir($dir)) {
if ($handle = opendir($dir)) {
@@ -56,11 +63,7 @@ class Modelmedia extends Model
$media->analyse();
- if (in_array($type, self::MEDIA_TYPES)) {
- if ($media->type() == $type) {
- $list[] = $media;
- }
- } else {
+ if (in_array($media->type(), $type)) {
$list[] = $media;
}
}
@@ -74,22 +77,6 @@ class Modelmedia extends Model
}
-
- public function mediacompare($media1, $media2, $method = 'id', $order = 1)
- {
- $result = ($media1->$method() <=> $media2->$method());
- return $result * $order;
- }
-
- public function buildsorter($sortby, $order)
- {
- return function ($media1, $media2) use ($sortby, $order) {
- $result = $this->mediacompare($media1, $media2, $sortby, $order);
- return $result;
- };
- }
-
-
/**
* Sort an array of media
*
@@ -103,6 +90,21 @@ class Modelmedia extends Model
$order = ($order === 1 || $order === -1) ? $order : 1;
return usort($medialist, $this->buildsorter($sortby, $order));
}
+
+ public function buildsorter($sortby, $order)
+ {
+ return function ($media1, $media2) use ($sortby, $order) {
+ $result = $this->mediacompare($media1, $media2, $sortby, $order);
+ return $result;
+ };
+ }
+
+ public function mediacompare($media1, $media2, $method = 'id', $order = 1)
+ {
+ $result = ($media1->$method() <=> $media2->$method());
+ return $result * $order;
+ }
+