fixes #1801 for big galleries, only compute number of orphans on the dashboard

This commit is contained in:
plegall
2022-11-22 12:23:12 +01:00
parent ea89357618
commit 6278be093a
2 changed files with 31 additions and 16 deletions

View File

@@ -265,26 +265,22 @@ if (in_array($page['page'], array('site_update', 'batch_manager')))
}
}
// any orphan photo?
$nb_orphans = count(get_orphans());
// only calculate number of orphans on all pages if the number of images is "not huge"
$page['nb_orphans'] = 0;
if ($nb_orphans > 0)
list($page['nb_photos_total']) = pwg_db_fetch_row(pwg_query('SELECT COUNT(*) FROM '.IMAGES_TABLE));
if ($page['nb_photos_total'] < 100000) // 100k is already a big gallery
{
$template->assign(
array(
'NB_ORPHANS' => $nb_orphans,
'U_ORPHANS' => $link_start.'batch_manager&amp;filter=prefilter-no_album',
)
);
} else {
$template->assign(
array(
'NB_ORPHANS' => 0,
'U_ORPHANS' => '',
)
);
$page['nb_orphans'] = count(get_orphans());
}
$template->assign(
array(
'NB_ORPHANS' => $page['nb_orphans'],
'U_ORPHANS' => $link_start.'batch_manager&amp;filter=prefilter-no_album',
)
);
// +-----------------------------------------------------------------------+
// | Refresh permissions |
// +-----------------------------------------------------------------------+

View File

@@ -54,6 +54,25 @@ if (isset($page['nb_pending_comments']))
$page['messages'][] = $message;
}
// any orphan photo?
$nb_orphans = $page['nb_orphans']; // already calculated in admin.php
if ($page['nb_photos_total'] >= 100000) // but has not been calculated on a big gallery, so force it now
{
$nb_orphans = count(get_orphans());
}
if ($nb_orphans > 0)
{
$orphans_url = PHPWG_ROOT_PATH.'admin.php?page=batch_manager&amp;filter=prefilter-no_album';
$message = '<a href="'.$orphans_url.'"><i class="icon-heart-broken"></i>';
$message.= l10n('Orphans').'</a>';
$message.= '<span class="adminMenubarCounter">'.$nb_orphans.'</span>';
$page['warnings'][] = $message;
}
// +-----------------------------------------------------------------------+
// | template init |
// +-----------------------------------------------------------------------+