From c54cc47832e672beabd77823fa04fc8d49da2050 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=B3na=20Lore?= Date: Tue, 29 Mar 2016 11:44:50 +0200 Subject: [PATCH] Ability to order media items. --- e107_handlers/media_class.php | 13 ++++++++++--- e107_plugins/gallery/controllers/index.php | 7 +++++-- e107_plugins/gallery/e_shortcode.php | 11 +++++++---- e107_plugins/gallery/gallery.php | 7 +++++-- 4 files changed, 27 insertions(+), 11 deletions(-) diff --git a/e107_handlers/media_class.php b/e107_handlers/media_class.php index 8987fbf13..9d6752a68 100644 --- a/e107_handlers/media_class.php +++ b/e107_handlers/media_class.php @@ -437,7 +437,7 @@ class e_media * @param $search * @return array */ - public function getImages($cat='', $from=0, $amount=null,$search=null) + public function getImages($cat='', $from=0, $amount=null, $search=null, $orderby=null) { $inc = array(); $searchinc = array(); @@ -490,8 +490,15 @@ class e_media { $query .= " AND ( ".implode(" OR ",$searchinc)." ) " ; } - - $query .= " ORDER BY media_id DESC"; + + if($orderby) + { + $query .= " ORDER BY " . $orderby; + } + else + { + $query .= " ORDER BY media_id DESC"; + } if($amount == 'all') { diff --git a/e107_plugins/gallery/controllers/index.php b/e107_plugins/gallery/controllers/index.php index 10ef046fb..8bde83291 100644 --- a/e107_plugins/gallery/controllers/index.php +++ b/e107_plugins/gallery/controllers/index.php @@ -165,8 +165,11 @@ class plugin_gallery_index_controller extends eControllerFront $sc->amount = e107::getPlugPref('gallery','perpage', 12); // TODO Add Pref. amount per page. $sc->curCat = $cid; $sc->from = $request->getRequestParam('frm', 0); - - $list = e107::getMedia()->getImages($cid,$sc->from,$sc->amount); + + $plugPrefs = e107::getPlugConfig('gallery')->getPref(); + $orderBy = varset($plugPrefs['orderby'], 'media_id DESC'); + + $list = e107::getMedia()->getImages($cid,$sc->from,$sc->amount,null,$orderBy); $catname = $tp->toHtml($this->catList[$cid]['media_cat_title'],false,'defs'); $cat = $this->catList[$cid]; diff --git a/e107_plugins/gallery/e_shortcode.php b/e107_plugins/gallery/e_shortcode.php index 7a9805c7d..343b84f68 100644 --- a/e107_plugins/gallery/e_shortcode.php +++ b/e107_plugins/gallery/e_shortcode.php @@ -183,8 +183,8 @@ class gallery_shortcodes extends e_shortcode */ function sc_gallery_portfolio($parms='') { - - + $plugPrefs = e107::getPlugConfig('gallery')->getPref(); + $orderBy = varset($plugPrefs['orderby'], 'media_id DESC'); $ns = e107::getRender(); $parm = eHelper::scParams($parms); @@ -193,7 +193,7 @@ class gallery_shortcodes extends e_shortcode $tmpl = e107::getTemplate('gallery','gallery'); $limit = vartrue($parm['limit'], 6); - $list = e107::getMedia()->getImages('gallery_image|gallery_'.$cat.'|gallery_image_'.$cat, 0, $limit); + $list = e107::getMedia()->getImages('gallery_image|gallery_'.$cat.'|gallery_image_'.$cat, 0, $limit, null, $orderBy); if(count($list) < 1 && vartrue($parm['placeholder'])) { @@ -228,13 +228,16 @@ class gallery_shortcodes extends e_shortcode */ function sc_gallery_slides($parm) { + $plugPrefs = e107::getPlugConfig('gallery')->getPref(); + $orderBy = varset($plugPrefs['orderby'], 'media_id DESC'); + $tp = e107::getParser(); $this->slideMode = TRUE; $parms = eHelper::scDualParams($parm); $amount = $parms[1] ? intval($parms[1]) : 3; // vartrue(e107::getPlugPref('gallery','slideshow_perslide'),3); $parms = $parms[2]; $limit = (integer) vartrue($parms['limit'], 16); - $list = e107::getMedia()->getImages('gallery_image|gallery_'.$this->sliderCat.'|gallery_image_'.$this->sliderCat,0,$limit); + $list = e107::getMedia()->getImages('gallery_image|gallery_'.$this->sliderCat.'|gallery_image_'.$this->sliderCat,0,$limit,null,$orderBy); $tmpl = e107::getTemplate('gallery','gallery'); $tmpl = array_change_key_case($tmpl); // change template key to lowercase (BC fix) $tmpl_key = vartrue($parms['template'],'slideshow_slide_item'); diff --git a/e107_plugins/gallery/gallery.php b/e107_plugins/gallery/gallery.php index 41d973183..2e9e397d6 100644 --- a/e107_plugins/gallery/gallery.php +++ b/e107_plugins/gallery/gallery.php @@ -99,8 +99,11 @@ class gallery $sc->amount = 12; // TODO Add Pref. amount per page. $sc->curCat = $cat; $sc->from = ($_GET['frm']) ? intval($_GET['frm']) : 0; - - $list = e107::getMedia()->getImages($cat,$sc->from,$sc->amount); + + $plugPrefs = e107::getPlugConfig('gallery')->getPref(); + $orderBy = varset($plugPrefs['orderby'], 'media_id DESC'); + + $list = e107::getMedia()->getImages($cat, $sc->from, $sc->amount, null, $orderBy); $catname = $tp->toHtml($this->catList[$cat]['media_cat_title'],false,'defs'); $inner = "";