mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-08-10 02:33:02 +02:00
fixes #257, admin ratings, filter on album
This commit is contained in:
+35
-4
@@ -77,6 +77,17 @@ if (isset($_GET['users']))
|
||||
}
|
||||
}
|
||||
|
||||
$page['cat_filter'] = '';
|
||||
if (isset($_GET['cat']) and is_numeric($_GET['cat']))
|
||||
{
|
||||
$cat_ids = get_subcat_ids(array($_GET['cat']));
|
||||
|
||||
if (count($cat_ids) > 0)
|
||||
{
|
||||
$page['cat_filter'] = ' AND ic.category_id IN ('.implode(',', $cat_ids).')';
|
||||
}
|
||||
}
|
||||
|
||||
$users = array();
|
||||
$query = '
|
||||
SELECT '.$conf['user_fields']['username'].' as username, '.$conf['user_fields']['id'].' as id
|
||||
@@ -89,8 +100,19 @@ while ($row = pwg_db_fetch_assoc($result))
|
||||
}
|
||||
|
||||
|
||||
$query = 'SELECT COUNT(DISTINCT(r.element_id))
|
||||
FROM '.RATE_TABLE.' AS r
|
||||
$query = '
|
||||
SELECT
|
||||
COUNT(DISTINCT(r.element_id))
|
||||
FROM '.RATE_TABLE.' AS r';
|
||||
|
||||
if (!empty($page['cat_filter']))
|
||||
{
|
||||
$query.= '
|
||||
JOIN '.IMAGES_TABLE.' AS i ON r.element_id = i.id
|
||||
JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON ic.image_id = i.id';
|
||||
}
|
||||
|
||||
$query.= '
|
||||
WHERE 1=1'. $page['user_filter'];
|
||||
list($nb_images) = pwg_db_fetch_row(pwg_query($query));
|
||||
|
||||
@@ -112,6 +134,7 @@ $template->assign(
|
||||
'F_ACTION' => PHPWG_ROOT_PATH.'admin.php',
|
||||
'DISPLAY' => $elements_per_page,
|
||||
'NB_ELEMENTS' => $nb_images,
|
||||
'category' => (isset($_GET['cat']) ? array($_GET['cat']) : array()),
|
||||
)
|
||||
);
|
||||
|
||||
@@ -159,8 +182,16 @@ SELECT i.id,
|
||||
COUNT(r.rate) AS nb_rates,
|
||||
SUM(r.rate) AS sum_rates
|
||||
FROM '.RATE_TABLE.' AS r
|
||||
LEFT JOIN '.IMAGES_TABLE.' AS i ON r.element_id = i.id
|
||||
WHERE 1 = 1 ' . $page['user_filter'] . '
|
||||
LEFT JOIN '.IMAGES_TABLE.' AS i ON r.element_id = i.id';
|
||||
|
||||
if (!empty($page['cat_filter']))
|
||||
{
|
||||
$query.= '
|
||||
JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON ic.image_id = i.id';
|
||||
}
|
||||
|
||||
$query.= '
|
||||
WHERE 1 = 1 ' . $page['user_filter'] . $page['cat_filter'] . '
|
||||
GROUP BY i.id,
|
||||
i.path,
|
||||
i.file,
|
||||
|
||||
@@ -1,3 +1,39 @@
|
||||
{combine_script id='common' load='footer' path='admin/themes/default/js/common.js'}
|
||||
{combine_script id='LocalStorageCache' load='footer' path='admin/themes/default/js/LocalStorageCache.js'}
|
||||
|
||||
{combine_script id='jquery.selectize' load='footer' path='themes/default/js/plugins/selectize.min.js'}
|
||||
{combine_css id='jquery.selectize' path="themes/default/js/plugins/selectize.{$themeconf.colorscheme}.css"}
|
||||
|
||||
{footer_script}
|
||||
{* <!-- CATEGORIES --> *}
|
||||
var categoriesCache = new CategoriesCache({
|
||||
serverKey: '{$CACHE_KEYS.categories}',
|
||||
serverId: '{$CACHE_KEYS._hash}',
|
||||
rootUrl: '{$ROOT_URL}'
|
||||
});
|
||||
|
||||
categoriesCache.selectize(jQuery('[data-selectize=categories]'));
|
||||
|
||||
jQuery("#removeAlbumFilter").click(function() {
|
||||
jQuery("select[name=cat]")[0].selectize.setValue(null);
|
||||
return false;
|
||||
});
|
||||
|
||||
function checkCatFilter() {
|
||||
if (jQuery("select[name=cat]").val() == "") {
|
||||
jQuery("#removeAlbumFilter").hide();
|
||||
}
|
||||
else {
|
||||
jQuery("#removeAlbumFilter").show();
|
||||
}
|
||||
}
|
||||
|
||||
checkCatFilter();
|
||||
jQuery("select[name=cat]").change(function(){
|
||||
checkCatFilter();
|
||||
});
|
||||
{/footer_script}
|
||||
|
||||
<h2>{$NB_ELEMENTS} {'Photos'|@translate}</h2>
|
||||
|
||||
<form action="{$F_ACTION}" method="GET" class="filter">
|
||||
@@ -23,6 +59,17 @@
|
||||
<input type="text" name="display" size="2" value="{$DISPLAY}">
|
||||
</label>
|
||||
|
||||
<label>
|
||||
{'Album'|translate}<a href="#" id="removeAlbumFilter" class="icon-cancel-circled"></a>
|
||||
<select
|
||||
data-selectize="categories"
|
||||
data-value="{$category|@json_encode|escape:html}"
|
||||
placeholder="{'No filter on album. Select one or type to search'|translate}"
|
||||
name="cat"
|
||||
style="width:400px"
|
||||
></select>
|
||||
</label>
|
||||
|
||||
<div style="clear:both"></div>
|
||||
|
||||
<p style="margin:10px 0 0 0">
|
||||
|
||||
@@ -1003,4 +1003,5 @@ $lang['checksum'] = 'checksum';
|
||||
$lang['orphans to delete'] = 'orphans to delete';
|
||||
$lang['Dashboard'] = 'Dashboard';
|
||||
$lang['Storage used'] = 'Storage used';
|
||||
$lang['First photo added'] = 'First photo added';
|
||||
$lang['First photo added'] = 'First photo added';
|
||||
$lang['No filter on album. Select one or type to search'] = 'No filter on album. Select one or type to search';
|
||||
@@ -1005,4 +1005,5 @@ $lang['checksum'] = 'somme de contrôle';
|
||||
$lang['orphans to delete'] = 'orphelines à supprimer';
|
||||
$lang['Dashboard'] = 'Tableau de bord';
|
||||
$lang['Storage used'] = 'Stockage utilisé';
|
||||
$lang['First photo added'] = 'Première photo';
|
||||
$lang['First photo added'] = 'Première photo';
|
||||
$lang['No filter on album. Select one or type to search'] = 'Aucun filtre. Tapez ici pour chercher un album.';
|
||||
Reference in New Issue
Block a user