Glad to announce that the Free Simple AJAX File Upload addon is now upgraded for Concrete CMS v9
NOTE: Concrete CMS v9.0.0 has a bug in sorting folder files which will throw an exception when the file folder option is selected in the block. You can read how to fix it until the bug is fixed here:
opened 07:12AM - 30 Oct 21 UTC
I'm testing my v8 package in v9 in which a block shows files from a folder:
```…
$file_folder = FileFolder::getByID($this->file_folder);
if ($file_folder) {
$files = $this->app->make(FolderItemList::class);
$files->filterByParentFolder($file_folder);
$files->setItemsPerPage($this->num_files);
$files->sortByNodeName(); // <-- THIS LINE causes the error
$files->setNameSpace($this->bID);
$paginator = $factory->createPaginationObject($files);
$pagination = $paginator->renderDefaultView();
$this->set('files', $paginator->getCurrentPageResults());
}
```
I get the following exception in v9:
Exception Occurred: /srv/www/htdocs/c9/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:79 An exception occurred while executing 'SELECT distinct n.treeNodeID, if(nt.treeNodeTypeHandle='file', fv.fvTitle, n.treeNodeName) as name, if(nt.treeNodeTypeHandle='file', fv.fvDateAdded, n.dateModified) as dateModified, case when nt.treeNodeTypeHandle='file_folder' then 1 else (10 + fvType) end as type, fv.fvSize as size, folderItemName FROM TreeNodes n INNER JOIN TreeNodeTypes nt ON nt.treeNodeTypeID = n.treeNodeTypeID LEFT JOIN TreeFileNodes tf ON tf.treeNodeID = n.treeNodeID LEFT JOIN FileVersions fv ON tf.fID = fv.fID and fv.fvIsApproved = 1 LEFT JOIN Files f ON fv.fID = f.fID LEFT JOIN Users u ON f.uID = u.uID LEFT JOIN FileSearchIndexAttributes fsi ON f.fID = fsi.fID WHERE n.treeNodeParentID = ? ORDER BY folderItemName asc LIMIT 10' with params ["66"]:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'folderItemName' in 'field list' (0)
Changing 'folderItemName' to 'name' on line 381 of concrete/src/File/FolderItemList.php in sortByNodeName() fixes the problem. I don't know if that's the right place thought.
I guess the 'folderItemType' must be changed for 'type' too because that's also going to throw an error in sortByNodeType()
1 Like