function draggableviews_book_views_post_execute in DraggableViews 7.2
Implements hook_views_post_execute().
We manually sort results array according to the weights of depth levels.
File
- draggableviews_book/
draggableviews_book.module, line 44
Code
function draggableviews_book_views_post_execute($view) {
if (!isset($view->result[0]->draggableviews_book_mlid)) {
return;
}
// First prepare array of mlid keyed items.
$keyed_result = array();
foreach ($view->result as $result_item) {
$result_item->weight = array();
$keyed_result[$result_item->draggableviews_book_mlid] = $result_item;
}
// Set the weights arrays for every item. This collects weights of all parents
// plus its own weight. Weights are saved according to depth levels.
foreach ($keyed_result as &$item) {
_draggableviews_book_result_set_weight($item, $keyed_result);
}
// Sort items with custom sort callback.
usort($keyed_result, '_draggableviews_book_uasort');
$view->result = $keyed_result;
}