- 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
This commit is contained in:
plegall
2004-11-20 17:23:42 +00:00
parent f39c3af29b
commit 13cd251e63
7 changed files with 170 additions and 154 deletions
+16
View File
@@ -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);
}