Fileset reorder not saving in 5.5.2.1
PermalinkWhen I re-order the files in a fileset and press save.. then come back and open up the fileset again.. the order has not changed. My assumption is that it is not just a display issue as my gallery reflects the un-updated fileset order? How can I check to see if I am actually changing the fileset order via the dashboard "Files in Set" tab re-ordering function.

This install is on the latest version (5.5.2.1) so I am not sure why yours was fixed by upgrading.
http://www.concrete5.org/about/blog/core-releases/concrete5-5-5-2-n...
Not that it matters as it doesn't solve my problem but 5.5.2.1 is a newer release (April 18) than the one you mentioned you have upgraded to... so I would need to downgrade to get to 5.5.2 (March 29)
So my question would be then has something reverted back in the newest version that has re-introduced a solved issue in 5.5.2. Maybe its more a permissions issue that is stopping the fileset reordering from saving?
You are right... something is wrong here.
I have the same problem. It ignore the changes I make... they are not saved in the order I make.
I look at the info you wrote about being part of another fileset, and it helped to move it there as you write. So this must be a bug. as the idea is that the order of the filessets can be different. And it has worked this way before in older versions.
Has this been reported as a bug ? I think core team need to look at this, something is wrong here.
PS! I'm also using the latest version 5.5.2.1
Kind regards
Brian Nielsen
http://www.concrete5.org/index.php?cID=354049...
In file: concrete/libraries/item_list.php
Find function sortByMultiple() near line 514
My code WAS this:
public function sortByMultiple() { $this->sortByString = implode(', ', func_get_args()); }
Change this function to this:
public function sortByMultiple() { $args = func_get_args(); $this->sortByString = implode(', ', $args); }
That solves it.
protected function setupFileSetFilters() { $fsIDs = array_unique($this->filteredFileSetIDs); $fsIDs = array_filter($fsIDs,'is_numeric'); $db = Loader::db(); $i = 0; if(is_array($fsIDs) && count($fsIDs)) { foreach($fsIDs as $fsID) { if($fsID > 0) { if ($i == 0) { $this->addToQuery("left join FileSetFiles fsfl on fsfl.fID = f.fID"); } $this->filter(false,'f.fID IN (SELECT DISTINCT fID FROM FileSetFiles WHERE fsID = '.$db->quote($fsID).')'); $i++; } }
to this
protected function setupFileSetFilters() { $fsIDs = array_unique($this->filteredFileSetIDs); $fsIDs = array_filter($fsIDs,'is_numeric'); $db = Loader::db(); $i = 0; $_fsIDs = array(); if(is_array($fsIDs) && count($fsIDs)) { foreach($fsIDs as $fsID) { if($fsID > 0) { $_fsIDs[] = $fsID; } } } if (count($_fsIDs) > 1) { foreach($_fsIDs as $fsID) {
That code is from 5.6.