From 13cd251e63232e88069759e8396b0c35b991088b Mon Sep 17 00:00:00 2001 From: plegall Date: Sat, 20 Nov 2004 17:23:42 +0000 Subject: - optimization : representative picture becomes mandatory for a non empty category. So, at each insertion in images table for a category, a new representative element is elected (by rand). This must be improved by not reelcting a random picture admin set an element as representative manually. - optimization : recent cats page only needs 2 queries instead of 3*N (N categories to display). The bad point is that it shows representative element of recent cat and not a random element among recently added. - optimization : empty cats page only needs 1 query per non empty sub category instead of... a lot. For each sub category, PhpWebGallery shows the representative element of a category chosen randomly in sub cats. Thus, get_non_empty_subcat_ids and get_first_non_empty_cat_id becomes obsolete. - new function get_cat_display_name_cache to show category names with a caching for all gallery categories names. This function, to the contrary of get_cat_display_name shows names in the correct order... git-svn-id: http://piwigo.org/svn/trunk@610 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/update.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'admin/update.php') diff --git a/admin/update.php b/admin/update.php index 817a67aae..10813349e 100644 --- a/admin/update.php +++ b/admin/update.php @@ -512,6 +512,22 @@ DELETE FROM '.IMAGE_CATEGORY_TABLE.' INSERT INTO '.IMAGE_CATEGORY_TABLE.' (category_id,image_id) VALUES '.implode(',', $ids).' +;'; + pwg_query($query); + + // set a new representative element for this category + $query = ' +SELECT image_id + FROM '.IMAGE_CATEGORY_TABLE.' + WHERE category_id = '.$category_id.' + ORDER BY RAND() + LIMIT 0,1 +;'; + list($representative) = mysql_fetch_array(pwg_query($query)); + $query = ' +UPDATE '.CATEGORIES_TABLE.' + SET representative_picture_id = '.$representative.' + WHERE id = '.$category_id.' ;'; pwg_query($query); } -- cgit v1.2.3