From d39db9aaaf43eaedd634a7a5b7d06bcb69d41152 Mon Sep 17 00:00:00 2001 From: plegall Date: Thu, 11 Sep 2008 21:40:00 +0000 Subject: feature 169 added: ability to manually sort images inside a category. A dedicated screen let the administrator sort the images (pur HTML, no JavaScript yet). The "rank" sort order is available only for a category without flat mode. New database column image_category.rank. git-svn-id: http://piwigo.org/svn/trunk@2517 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/element_set_ranks.php | 174 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 admin/element_set_ranks.php (limited to 'admin/element_set_ranks.php') diff --git a/admin/element_set_ranks.php b/admin/element_set_ranks.php new file mode 100644 index 000000000..9f4a086ee --- /dev/null +++ b/admin/element_set_ranks.php @@ -0,0 +1,174 @@ + $category_id, + 'image_id' => $id, + 'rank' => ++$current_rank, + ) + ); + } + $fields = array( + 'primary' => array('image_id', 'category_id'), + 'update' => array('rank') + ); + mass_updates(IMAGE_CATEGORY_TABLE, $fields, $datas); +} + +// +-----------------------------------------------------------------------+ +// | global mode form submission | +// +-----------------------------------------------------------------------+ + +if (isset($_POST['submit'])) +{ + asort($_POST['rank_of_image'], SORT_NUMERIC); + + save_images_order( + $page['category_id'], + array_keys($_POST['rank_of_image']) + ); + + array_push( + $page['infos'], + l10n('Images manual order was saved') + ); +} + +// +-----------------------------------------------------------------------+ +// | template init | +// +-----------------------------------------------------------------------+ +$template->set_filenames( + array('element_set_ranks' => 'admin/element_set_ranks.tpl') + ); + +$base_url = get_root_url().'admin.php'; + +// $form_action = $base_url.'?page=element_set_global'; + +$query = ' +SELECT uppercats + FROM '.CATEGORIES_TABLE.' + WHERE id = '.$page['category_id'].' +;'; +$category = mysql_fetch_array(pwg_query($query)); + +// Navigation path +$navigation = get_cat_display_name_cache( + $category['uppercats'], + get_root_url().'admin.php?page=cat_modify&cat_id=' + ); + +$template->assign( + array( + 'CATEGORIES_NAV' => $navigation, + 'F_ACTION' => $base_url.get_query_string_diff(array()), + ) + ); + +// +-----------------------------------------------------------------------+ +// | thumbnails | +// +-----------------------------------------------------------------------+ + +$query = ' +SELECT + id, + path, + tn_ext, + rank + FROM '.IMAGES_TABLE.' + JOIN '.IMAGE_CATEGORY_TABLE.' ON image_id = id + WHERE category_id = '.$page['category_id'].' + ORDER BY rank +;'; +$result = pwg_query($query); + +// template thumbnail initialization +$current_rank = 1; + +while ($row = mysql_fetch_assoc($result)) +{ + $src = get_thumbnail_url($row); + + $template->append( + 'thumbnails', + array( + 'ID' => $row['id'], + 'TN_SRC' => $src, + 'RANK' => $current_rank * 10, + ) + ); + + $current_rank++; +} + +// +-----------------------------------------------------------------------+ +// | sending html code | +// +-----------------------------------------------------------------------+ + +$template->assign_var_from_handle('ADMIN_CONTENT', 'element_set_ranks'); +?> -- cgit v1.2.3