/** * Action to manually order the assets of a folder * @param \ride\library\orm\OrmManager $orm Instance of the ORM * @param string $locale Code of the locale * @param string $folder Id or slug of the folder * @return null */ public function assetSortAction(OrmManager $orm, $locale, $folder = null) { $folderModel = $orm->getAssetFolderModel(); // resolve folder if ($folder) { $folder = $folderModel->getFolder($folder, $locale); if (!$folder) { $this->response->setNotFound(); return; } } else { $folder = $folderModel->createEntry(); } // gather assets to order $assetModel = $orm->getAssetModel(); $assets = array(); $order = $this->request->getBodyParameter('order'); foreach ($order as $asset) { $assets[] = $assetModel->createProxy($asset); } // perform order $assetModel->order($assets); }