Skip to content

Commit

Permalink
bug 3015 fixed: remove "manage album photos" from cat_list to avoid
Browse files Browse the repository at this point in the history
misunderstanding with "photos sort order".

Add infos on album manager: number of photos and sub-albums


git-svn-id: http://piwigo.org/svn/trunk@26399 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
plegall committed Jan 2, 2014
1 parent dd73213 commit 5fb0ce9
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 15 deletions.
57 changes: 47 additions & 10 deletions admin/cat_list.php
Expand Up @@ -251,13 +251,53 @@ function save_categories_order($categories)

// get the categories containing images directly
$categories_with_images = array();
if ( count($categories) )
if (count($categories))
{
$query = '
SELECT DISTINCT category_id
SELECT
category_id,
COUNT(*) AS nb_photos
FROM '.IMAGE_CATEGORY_TABLE.'
WHERE category_id IN ('.implode(',', array_keys($categories)).')';
$categories_with_images = array_flip( array_from_query($query, 'category_id') );
GROUP BY category_id
;';
// WHERE category_id IN ('.implode(',', array_keys($categories)).')

$nb_photos_in = query2array($query, 'category_id', 'nb_photos');

$query = '
SELECT
id,
uppercats
FROM '.CATEGORIES_TABLE.'
;';
$all_categories = query2array($query, 'id', 'uppercats');
$subcats_of = array();

foreach (array_keys($categories) as $cat_id)
{
foreach ($all_categories as $id => $uppercats)
{
if (preg_match('/(^|,)'.$cat_id.',/', $uppercats))
{
@$subcats_of[$cat_id][] = $id;
}
}
}

$nb_sub_photos = array();
foreach ($subcats_of as $cat_id => $subcat_ids)
{
$nb_photos = 0;
foreach ($subcat_ids as $id)
{
if (isset($nb_photos_in[$id]))
{
$nb_photos+= $nb_photos_in[$id];
}
}

$nb_sub_photos[$cat_id] = $nb_photos;
}
}

$template->assign('categories', array());
Expand Down Expand Up @@ -289,6 +329,9 @@ function save_categories_order($categories)
$category['name'],
'admin_cat_list'
),
'NB_PHOTOS' => isset($nb_photos_in[$category['id']]) ? $nb_photos_in[$category['id']] : 0,
'NB_SUB_PHOTOS' => isset($nb_sub_photos[$category['id']]) ? $nb_sub_photos[$category['id']] : 0,
'NB_SUB_ALBUMS' => isset($subcats_of[$category['id']]) ? count($subcats_of[$category['id']]) : 0,
'ID' => $category['id'],
'RANK' => $category['rank']*10,

Expand Down Expand Up @@ -317,12 +360,6 @@ function save_categories_order($categories)
}
}

if ( array_key_exists($category['id'], $categories_with_images) )
{
$tpl_cat['U_MANAGE_ELEMENTS']=
$base_url.'batch_manager&filter=album-'.$category['id'];
}

$template->append('categories', $tpl_cat);
}

Expand Down
4 changes: 1 addition & 3 deletions admin/themes/default/template/cat_list.tpl
Expand Up @@ -116,15 +116,13 @@ jQuery(document).ready(function(){
<p class="albumTitle">
<img src="{$themeconf.admin_icon_dir}/cat_move.png" class="drag_button" style="display:none;" alt="{'Drag to re-order'|@translate}" title="{'Drag to re-order'|@translate}">
<strong><a href="{$category.U_CHILDREN}" title="{'manage sub-albums'|@translate}">{$category.NAME}</a></strong>
<span class="albumInfos"><span class="userSeparator">&middot;</span> {$category.NB_PHOTOS|translate_dec:'%d photo':'%d photos'} <span class="userSeparator">&middot;</span> {$category.NB_SUB_PHOTOS|translate_dec:'%d photo':'%d photos'} {$category.NB_SUB_ALBUMS|translate_dec:'in %d sub-album':'in %d sub-albums'}</span>
</p>

<input type="hidden" name="catOrd[{$category.ID}]" value="{$category.RANK}">

<p class="albumActions">
<a href="{$category.U_EDIT}"><span class="icon-pencil"></span>{'Edit'|@translate}</a>
{if isset($category.U_MANAGE_ELEMENTS) }
| <a href="{$category.U_MANAGE_ELEMENTS}"><span class="icon-picture"></span>{'manage album photos'|@translate}</a>
{/if}
| <a href="{$category.U_CHILDREN}"><span class="icon-sitemap"></span>{'manage sub-albums'|@translate}</a>
{if isset($category.U_SYNC) }
| <a href="{$category.U_SYNC}"><span class="icon-exchange"></span>{'Synchronize'|@translate}</a>
Expand Down
4 changes: 2 additions & 2 deletions admin/themes/default/theme.css
Expand Up @@ -1064,8 +1064,8 @@ p#uploadModeInfos {text-align:left;margin-top:1em;font-size:90%;color:#999;}
.commentFilter .navigationBar {float:right; margin:0;}

FORM#categoryOrdering p.albumTitle {margin:0;}
FORM#categoryOrdering p.albumActions {visibility:hidden; margin:0}
FORM#categoryOrdering .categoryLi:hover p.albumActions {visibility:visible;}
FORM#categoryOrdering p.albumActions, FORM#categoryOrdering span.albumInfos {visibility:hidden; margin:0}
FORM#categoryOrdering .categoryLi:hover p.albumActions, FORM#categoryOrdering .categoryLi:hover span.albumInfos {visibility:visible;}

.showCreateAlbum {text-align:left; margin:0 1em 1em 1em;line-height:22px;}
#autoOrder p, #createAlbum p {text-align:left; margin:0 0 1em 0;}
Expand Down

0 comments on commit 5fb0ce9

Please sign in to comment.