function media_gallery_reorder_collection in Media Gallery 7
Same name and namespace in other branches
- 7.2 media_gallery.pages.inc \media_gallery_reorder_collection()
Reorder a gallery collection.
1 call to media_gallery_reorder_collection()
- media_gallery_ajax_sort in ./
media_gallery.pages.inc - AJAX callback for drag-and-drop gallery sorting.
File
- ./
media_gallery.pages.inc, line 213 - Common pages for the Media Gallery module.
Code
function media_gallery_reorder_collection($collection, $order) {
// Get a complete ordered list of the galleries in this collection.
$galleries = db_query('SELECT ti.nid FROM {taxonomy_index} ti LEFT JOIN {media_gallery_weight} mgw ON (ti.nid = mgw.nid AND ti.tid = mgw.tid) WHERE ti.tid = :tid ORDER BY mgw.weight ASC, ti.nid ASC', array(
':tid' => $collection->tid,
))
->fetchCol();
// Sort the list.
$galleries = _media_gallery_reorder($galleries, $order);
// Resave gallery weights for the entire collection.
db_delete('media_gallery_weight')
->condition('tid', $collection->tid)
->execute();
$query = db_insert('media_gallery_weight')
->fields(array(
'tid',
'nid',
'weight',
));
foreach ($galleries as $weight => $nid) {
$query
->values(array(
'tid' => $collection->tid,
'nid' => $nid,
'weight' => $weight,
));
}
$query
->execute();
return TRUE;
}