mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-07-07 02:11:26 +02:00
Removing user list from getActivity. Generating userlist in template init
This commit is contained in:
committed by
plegall
parent
6eacc5ea6f
commit
19c9c36e79
@@ -21,7 +21,9 @@ let max_page = 1;
|
||||
const page_ellipsis = '<span>...</span>'
|
||||
const page_item = '<a data-page="%d">%d</a>';
|
||||
var create_selecter = true;
|
||||
const users_key = "{"Users"|@translate}"
|
||||
const users_key = "{"Users"|@translate}";
|
||||
|
||||
const ulist = {$ulist};
|
||||
|
||||
const line_key = "{'%s line'|translate}";
|
||||
const lines_key = "{'%s lines'|translate}";
|
||||
@@ -133,8 +135,8 @@ function get_user_activity(page) {
|
||||
$(".user-update-spinner").removeClass("icon-spin6");
|
||||
$(".pagination-item-container").show();
|
||||
update_pagination_menu();
|
||||
createUserFilter();
|
||||
fillUserFilter(data.result['filterable_users'], create_selecter, data.result['id_of']);
|
||||
{* createUserFilter();
|
||||
fillUserFilter(data.result['filterable_users'], create_selecter, data.result['id_of']); *}
|
||||
},
|
||||
error: (e) => {
|
||||
console.log("ajax call failed");
|
||||
@@ -143,40 +145,6 @@ function get_user_activity(page) {
|
||||
})
|
||||
}
|
||||
|
||||
function addSelecterListenner() {
|
||||
$('select').on('change', function (user) {
|
||||
if ($(".selectize-input").hasClass("full")) {
|
||||
$(".line").hide();
|
||||
console.log("ici");
|
||||
$(".uid-" + $(".selectize-input .item").data("value")).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function createUserFilter() {
|
||||
$(".user-selecter").remove();
|
||||
$(".select-user-title").after("<select class='user-selecter' placeholder'{'none'|translate}' single style='width:250px; height: 10px;'></select>");
|
||||
}
|
||||
|
||||
function fillUserFilter(user_tab, create_selecter) {
|
||||
for (const [key, value] of Object.entries(user_tab)) {
|
||||
|
||||
var newOption = "<option value=" + value.id +"> <span class='username_filter'>" + value.username + "</span> <span class='nb_lines_str'> (" + lines_key.replace("%s", value.nb_lines) + ") </span></option>";
|
||||
|
||||
$(".user-selecter").append(newOption);
|
||||
}
|
||||
|
||||
jQuery('.user-selecter').selectize();
|
||||
|
||||
jQuery(".user-selecter")[0].selectize.setValue(null);
|
||||
|
||||
jQuery(".cancel-icon").click(function() {
|
||||
jQuery(".user-selecter")[0].selectize.clear(true);
|
||||
$(".line").css('display', 'flex');;
|
||||
});
|
||||
|
||||
addSelecterListenner();
|
||||
}
|
||||
|
||||
function lineConstructor(line) {
|
||||
let newLine = $("#-1").clone();
|
||||
@@ -732,8 +700,17 @@ $(document).ready(function () {
|
||||
if ($(".selectize-input").hasClass("full")) {
|
||||
$(".line").hide();
|
||||
$(".uid-" + $(".selectize-input .item").data("value")).show();
|
||||
{* call ajax sur activity list avec uid en param *}
|
||||
}
|
||||
});
|
||||
|
||||
jQuery('.user-selecter').selectize();
|
||||
jQuery(".user-selecter")[0].selectize.setValue(null);
|
||||
|
||||
jQuery(".cancel-icon").click(function() {
|
||||
jQuery(".user-selecter")[0].selectize.clear(true);
|
||||
$(".line").css('display', 'flex');
|
||||
});
|
||||
});
|
||||
|
||||
{/footer_script}
|
||||
@@ -745,6 +722,9 @@ $(document).ready(function () {
|
||||
<span class="select-user-title"> {'Selected user'|translate} </span>
|
||||
|
||||
<select class="user-selecter" placeholder="{'none'|translate}" single style="width:250px; height: 10px;">
|
||||
{foreach from=$ulist item=$user}
|
||||
<option value="{$user.id}"> <span class='username_filter'>{$user.username}</span></option>
|
||||
{/foreach}
|
||||
</select>
|
||||
|
||||
<span class="icon-cancel cancel-icon"> </span>
|
||||
|
||||
@@ -98,6 +98,43 @@ $template->assign(array(
|
||||
'CACHE_KEYS' => get_admin_client_cache_keys(array('users')),
|
||||
));
|
||||
|
||||
$query = '
|
||||
SELECT
|
||||
performed_by,
|
||||
COUNT(*) as counter
|
||||
FROM '.ACTIVITY_TABLE.'
|
||||
group by performed_by;';
|
||||
|
||||
$nb_lines_for_user = query2array($query, 'performed_by', 'counter');
|
||||
|
||||
if (count($nb_lines_for_user) > 0)
|
||||
{
|
||||
$query = '
|
||||
SELECT
|
||||
id,
|
||||
username
|
||||
FROM piwigo_users
|
||||
WHERE id IN ('.implode(',', array_keys($nb_lines_for_user)).');';
|
||||
}
|
||||
|
||||
$username_of = query2array($query, 'id', 'username');
|
||||
|
||||
$filterable_users = array();
|
||||
|
||||
foreach ($nb_lines_for_user as $id => $nb_line) {
|
||||
array_push(
|
||||
$filterable_users,
|
||||
array(
|
||||
'id' => $id,
|
||||
'username' => isset($username_of[$id]) ? $username_of[$id] : 'user#'.$id,
|
||||
'nb_lines' => $nb_line,
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
$template->assign('ulist', $filterable_users);
|
||||
|
||||
$template->assign_var_from_handle('ADMIN_CONTENT', 'user_activity');
|
||||
|
||||
?>
|
||||
@@ -534,43 +534,6 @@ SELECT
|
||||
}
|
||||
}
|
||||
|
||||
$filterable_users = array();
|
||||
foreach ($user_ids as $key => $value)
|
||||
{
|
||||
if (isset($username_of[$key]))
|
||||
{
|
||||
array_push(
|
||||
$filterable_users,
|
||||
array(
|
||||
'id' => $key,
|
||||
'username' => $username_of[$key],
|
||||
'nb_lines' => $value,
|
||||
)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
array_push(
|
||||
$filterable_users,
|
||||
array(
|
||||
'id' => $key,
|
||||
'username' => 'user#'.$key,
|
||||
'nb_lines' => $value,
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
//Multidimentionnal sorting
|
||||
usort($filterable_users, function ($a, $b)
|
||||
{
|
||||
// compatible with PHP 7+ only
|
||||
// return strtolower($a['username']) <=> strtolower($b['username']);
|
||||
|
||||
// still compatible with PHP 5
|
||||
return (strtolower($a['username']) >= strtolower($b['username']) ? 1 : 0);
|
||||
});
|
||||
|
||||
$query = '
|
||||
SELECT
|
||||
count(*)
|
||||
@@ -582,7 +545,6 @@ SELECT
|
||||
// return $output_lines;
|
||||
return array(
|
||||
'result_lines' => $output_lines,
|
||||
'filterable_users' => $filterable_users,
|
||||
'max_page' => floor($result),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user