{include file='include/colorbox.inc.tpl'} {combine_script id='common' load='footer' path='admin/themes/default/js/common.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"} {combine_script id='LocalStorageCache' load='footer' path='admin/themes/default/js/LocalStorageCache.js'} {combine_css path="admin/themes/default/fontello/css/animation.css" order=10} {* order 10 is required, see issue 1080 *} {footer_script} {* *} var usersCache = new UsersCache({ serverKey: '{$CACHE_KEYS.users}', serverId: '{$CACHE_KEYS._hash}', rootUrl: '{$ROOT_URL}' }); const color_icons = ["icon-red", "icon-blue", "icon-yellow", "icon-purple", "icon-green"]; const users_key = "{"Users"|@translate}" const line_key = "{'%s line'|translate}"; const lines_key = "{'%s lines'|translate}"; {*<-- Translation keys -->*} var actionType_add = "{'add'|translate}"; var actionType_delete = "{'deletion'|translate}"; var actionType_move = "{'move'|translate}"; var actionType_edit = "{'edit'|translate}"; var actionType_login = "{'login'|translate}"; var actionType_logout = "{'logout'|translate}"; {* Album keys *} var actionInfos_album_added = "{'%d album added'|translate}"; var actionInfos_album_deleted = "{'%d album deleted'|translate}"; var actionInfos_album_edited = "{'%d album edited'|translate}"; var actionInfos_album_moved = "{'%d album moved'|translate}"; var actionInfos_albums_added = "{'%d albums added'|translate}"; var actionInfos_albums_deleted = "{'%d albums deleted'|translate}"; var actionInfos_albums_edited = "{'%d albums edited'|translate}"; var actionInfos_albums_moved = "{'%d albums moved'|translate}"; {* User keys *} var actionInfos_user_added = "{'%d user added'|translate}"; var actionInfos_user_deleted = "{'%d user deleted'|translate}"; var actionInfos_user_edited = "{'%d user edited'|translate}"; var actionInfos_user_logged_in = "{'%d user logged in'|translate}"; var actionInfos_user_logged_out = "{'%d user logged out'|translate}"; var actionInfos_users_added = "{'%d users added'|translate}"; var actionInfos_users_deleted = "{'%d users deleted'|translate}"; var actionInfos_users_edited = "{'%d users edited'|translate}"; var actionInfos_users_logged_in = "{'%d users logged in'|translate}"; var actionInfos_users_logged_out = "{'%d users logged out'|translate}"; {* Photo keys *} var actionInfos_photo_added = "{'%d photo added'|translate}"; var actionInfos_photo_deleted = "{'%d photo deleted'|translate}"; var actionInfos_photo_edited = "{'%d photo edited'|translate}"; var actionInfos_photo_moved = "{'%d photo moved'|translate}"; var actionInfos_photos_added = "{'%d photos added'|translate}"; var actionInfos_photos_deleted = "{'%d photos deleted'|translate}"; var actionInfos_photos_edited = "{'%d photos edited'|translate}"; var actionInfos_photos_moved = "{'%d photos moved'|translate}"; {* Group keys *} var actionInfos_group_added = "{'%d group added'|translate}"; var actionInfos_group_deleted = "{'%d group deleted'|translate}"; var actionInfos_group_edited = "{'%d group edited'|translate}"; var actionInfos_group_moved = "{'%d group moved'|translate}"; var actionInfos_groups_added = "{'%d groups added'|translate}"; var actionInfos_groups_deleted = "{'%d groups deleted'|translate}"; var actionInfos_groups_edited = "{'%d groups edited'|translate}"; var actionInfos_groups_moved = "{'%d groups moved'|translate}"; {* Tags keys *} var actionInfos_tag_added = "{'%d tag added'|translate}"; var actionInfos_tag_deleted = "{'%d tag deleted'|translate}"; var actionInfos_tag_edited = "{'%d tag edited'|translate}"; var actionInfos_tag_moved = "{'%d tag moved'|translate}"; var actionInfos_tags_added = "{'%d tags added'|translate}"; var actionInfos_tags_deleted = "{'%d tags deleted'|translate}"; var actionInfos_tags_edited = "{'%d tags edited'|translate}"; var actionInfos_tags_moved = "{'%d tags moved'|translate}"; {*<-- Getting and Displaying Activities -->*} get_user_activity(); function get_user_activity() { $.ajax({ url: "ws.php?format=json&method=pwg.activity.getList", type: "POST", dataType: "json", data: { a: 1, b: 2 }, success: (data) => { /* console log to help debug */ console.log(data); setCreationDate(data.result['result_lines'][data.result['result_lines'].length-1].date, data.result['result_lines'][0].date); $(".loading").hide(); data.result['result_lines'].forEach(line => { lineConstructor(line); }); fillUserFilter(data.result['filterable_users'], data.result['id_of']); }, error: (e) => { console.log("ajax call failed"); console.log(e); } }) } function fillUserFilter(user_tab) { for (const [key, value] of Object.entries(user_tab)) { {* console.log(key, value); *} var newOption = ""; $(".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.setValue(null); $(".line").show(); }); } function lineConstructor(line) { let newLine = $("#-1").clone(); newLine.removeClass("hide"); /* console log to help debug */ {* console.log(line); *} newLine.attr("id", line.id); var final_albumInfos; {* Determines wich string need to be placed in the line constructed *} if (line.counter > 1) { // pluriel switch (line.action) { case "edit": newLine.find(".action-type").addClass("icon-blue"); newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); newLine.find(".action-icon").addClass("icon-pencil"); newLine.find(".action-name").html(actionType_edit); switch (line.object) { case "user": final_albumInfos = actionInfos_users_edited.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-user-1"); break; case "album": final_albumInfos = actionInfos_albums_edited.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-folder-open"); break; case "group": final_albumInfos = actionInfos_groups_edited.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-users-1"); break; case "photo": final_albumInfos = actionInfos_photos_edited.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-picture"); break; case "tag": final_albumInfos = actionInfos_tags_edited.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-tags"); break; default: final_albumInfos = line.counter + " " +line.object + " " + line.action; break; } break; case "add": newLine.find(".action-type").addClass("icon-green"); newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); newLine.find(".action-icon").addClass("icon-plus"); newLine.find(".action-name").html(actionType_add); switch (line.object) { case "user": final_albumInfos = actionInfos_users_added.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-user-1"); break; case "album": final_albumInfos = actionInfos_albums_added.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-folder-open"); break; case "group": final_albumInfos = actionInfos_groups_added.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-users-1"); break; case "photo": final_albumInfos = actionInfos_photos_added.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-picture"); break; case "tag": final_albumInfos = actionInfos_tags_added.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-tags"); break; default: final_albumInfos = line.counter + " " +line.object + " " + line.action; break; } break; case "delete": newLine.find(".action-type").addClass("icon-red"); newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); newLine.find(".action-icon").addClass("icon-trash-1"); newLine.find(".action-name").html(actionType_delete); switch (line.object) { case "user": final_albumInfos = actionInfos_users_deleted.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-user-1"); break; case "album": final_albumInfos = actionInfos_albums_deleted.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-folder-open"); break; case "group": final_albumInfos = actionInfos_groups_deleted.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-users-1"); break; case "photo": final_albumInfos = actionInfos_photos_deleted.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-picture"); break; case "tag": final_albumInfos = actionInfos_tags_deleted.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-tags"); break; default: final_albumInfos = line.counter + " " +line.object + " " + line.action; break; } break; case "move": newLine.find(".action-type").addClass("icon-yellow"); newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); newLine.find(".action-icon").addClass("icon-move"); newLine.find(".action-name").html(actionType_move); switch (line.object) { case "album": final_albumInfos = actionInfos_albums_moved.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-folder-open"); break; case "group": final_albumInfos = actionInfos_groups_moved.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-users-1"); break; case "photo": final_albumInfos = actionInfos_photos_moved.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-picture"); break; case "tag": final_albumInfos = actionInfos_tags_moved.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-tags"); break; default: final_albumInfos = line.counter + " " +line.object + " " + line.action; break; } break; case "login": newLine.find(".action-type").addClass("icon-purple"); newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); newLine.find(".action-icon").addClass("icon-key"); newLine.find(".action-section").addClass("icon-user-1"); newLine.find(".action-name").html(actionType_login); console.log("userS Logged in"); final_albumInfos = actionInfos_users_logged_in.replace('%d', line.counter); break; case "logout": newLine.find(".action-type").addClass("icon-purple"); if (line.user_id != 2) { newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); } else { newLine.find(".user-pic").addClass(color_icons[line.object_id[0] % 5]); } newLine.find(".action-icon").addClass("icon-logout"); newLine.find(".action-section").addClass("icon-user-1"); newLine.find(".action-name").html(actionType_logout); console.log("userS Logged in"); final_albumInfos = actionInfos_users_logged_out.replace('%d', line.counter); break; default: newLine.find(".action-type").addClass("icon-purple"); newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); break; } } else { // singulier switch (line.action) { case "edit": newLine.find(".action-type").addClass("icon-blue"); newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); newLine.find(".action-icon").addClass("icon-pencil"); newLine.find(".action-name").html(actionType_edit); switch (line.object) { case "user": final_albumInfos = actionInfos_user_edited.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-user-1"); break; case "album": final_albumInfos = actionInfos_album_edited.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-folder-open"); break; case "group": final_albumInfos = actionInfos_group_edited.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-users-1"); break; case "photo": final_albumInfos = actionInfos_photo_edited.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-picture"); break; case "tag": final_albumInfos = actionInfos_tag_edited.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-tags"); break; default: final_albumInfos = line.counter + " " +line.object + " " + line.action; break; } break; case "add": newLine.find(".action-type").addClass("icon-green"); newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); newLine.find(".action-icon").addClass("icon-plus"); newLine.find(".action-name").html(actionType_add); switch (line.object) { case "user": final_albumInfos = actionInfos_user_added.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-user-1"); break; case "album": final_albumInfos = actionInfos_album_added.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-folder-open"); break; case "group": final_albumInfos = actionInfos_group_added.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-users-1"); break; case "photo": final_albumInfos = actionInfos_photo_added.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-picture"); break; case "tag": final_albumInfos = actionInfos_tag_added.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-tags"); break; default: final_albumInfos = line.counter + " " +line.object + " " + line.action; break; } break; case "delete": newLine.find(".action-type").addClass("icon-red"); newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); newLine.find(".action-icon").addClass("icon-trash-1"); newLine.find(".action-name").html(actionType_delete); switch (line.object) { case "user": final_albumInfos = actionInfos_user_deleted.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-user-1"); break; case "album": final_albumInfos = actionInfos_album_deleted.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-folder-open"); break; case "group": final_albumInfos = actionInfos_group_deleted.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-users-1"); break; case "photo": final_albumInfos = actionInfos_photo_deleted.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-picture"); break; case "tag": final_albumInfos = actionInfos_tag_deleted.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-tags"); break; default: final_albumInfos = line.counter + " " +line.object + " " + line.action; break; } break; case "move": newLine.find(".action-type").addClass("icon-yellow"); newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); newLine.find(".action-icon").addClass("icon-move"); newLine.find(".action-name").html(actionType_move); switch (line.object) { case "album": final_albumInfos = actionInfos_album_moved.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-folder-open"); break; case "group": final_albumInfos = actionInfos_group_moved.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-users-1"); break; case "photo": final_albumInfos = actionInfos_photo_moved.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-picture"); break; case "tag": final_albumInfos = actionInfos_tag_moved.replace('%d', line.counter); newLine.find(".action-section").addClass("icon-tags"); break; default: final_albumInfos = line.counter + " " +line.object + " " + line.action; break; } break; case "login": newLine.find(".action-type").addClass("icon-purple"); newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); newLine.find(".action-icon").addClass("icon-key"); newLine.find(".action-section").addClass("icon-user-1"); newLine.find(".action-name").html(actionType_login); final_albumInfos = actionInfos_user_logged_in.replace('%d', line.counter); break; case "logout": newLine.find(".action-type").addClass("icon-purple"); if (line.user_id != 2) { newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); } else { newLine.find(".user-pic").addClass(color_icons[line.object_id[0] % 5]); } newLine.find(".action-icon").addClass("icon-logout"); newLine.find(".action-section").addClass("icon-user-1"); newLine.find(".action-name").html(actionType_logout); final_albumInfos = actionInfos_user_logged_out.replace('%d', line.counter); break; default: newLine.find(".action-type").addClass("icon-purple"); newLine.find(".user-pic").addClass(color_icons[line.user_id % 5]); break; } } newLine.find(".action-infos-test").html(final_albumInfos); /* Action_section */ newLine.find(".nb_items").html(line.counter); /* Date_section */ newLine.find(".date-day").html(line.date); newLine.find(".date-hour").html(line.hour); /* User _Section */ newLine.find(".user-name").html(line.username); newLine.find(".user-pic").html(get_initials(line.username)); /* Detail_section */ newLine.find(".detail-item-1").html(line.ip_address); newLine.find(".detail-item-1").attr("title", "IP"); if (line.detailsType == "script") { newLine.find(".detail-item-2").html(line.details.script); newLine.find(".detail-item-2").attr('title', 'Script'); } else if (line.detailsType == "method") { newLine.find(".detail-item-2").html(line.details.method); newLine.find(".detail-item-2").attr('title', 'API Method'); } if (line.details.agent) { newLine.find(".detail-item-3").html(line.details.agent); newLine.find(".detail-item-3").attr('title', line.details.agent); } else if (line.details.users_string && line.action != "logout" && line.action != "login") { newLine.find(".detail-item-3").html(line.details.users_string); newLine.find(".detail-item-3").attr('title', users_key + ": " +line.details.users_string); } else { newLine.find(".detail-item-3").remove(); } newLine.addClass("uid-" + line.user_id); displayLine(newLine); } function displayLine(line) { $(".tab").append(line); } function get_initials(username) { let words = username.toUpperCase().split(" "); let res = words[0][0]; if (words.length > 1 && words[1][0] !== undefined ) { res += words[1][0]; } return res; } function filterUsers(username) { let lines = $(".line"); showAllLines() let resultLines = []; for (let index = 1; index < lines.length; index++) { if (username != lines[index].children[2].children[1].innerHTML) { $("#" + lines[index].id).hide(); } else { resultLines.push(lines[index].getElementsByClassName("date-day")[0].textContent) } } setCreationDate((!resultLines[resultLines.length-1]) ? "{'N/A'|translate}" : resultLines[resultLines.length-1], (!resultLines[0]) ? "{'N/A'|translate}" : resultLines[0]) } function showAllLines() { let lines = $(".line"); for (let index = 1; index < lines.length; index++) { $("#" + lines[index].id).show(); } $("#-1").hide(); } function setCreationDate(startDate, endDate) { $(".start-date").html(startDate) $(".end-date").html(endDate) } $(document).ready(function () { $('select').on('change', function (user) { if ($(".selectize-input").hasClass("full")) { $(".line").hide(); $(".uid-" + $(".selectize-input .item").data("value")).show(); } }); }); {/footer_script}
{'Selected user'|translate}
{'Activity time from'|translate} {'to'|translate}
{'Action'|translate}
{'Date'|translate}
{'User'|translate}
{'Details'|translate}
Edit
T
1 Janvier 1970 a 00:00
Username
detail 1
detail 2
detail 3