Modified verbs for the $inventory_manager to display quota properly and to clarify the inventory display listing. Must be a wizard to apply these changes! Always make sure you have a backup before making changes to base objects like this. ------------------------------------ $inventory_manager:display_quota "==========================================================="; "Copyright (C) 2001-2004, Jan Rune Holmevik"; "Visualize a user's quota usage."; "Modified to display usage as a percent and to display total quota"; "and number of unmeasured objects if any."; "By KRJ Nov 17, 2007"; "==========================================================="; if (!caller_perms().wizard) return E_PERM; endif user = args[1]; "-----------------------------------------"; "Measure the user's quota usage"; "-----------------------------------------"; $quota_utils:summarize_one_user(user); {quota, usage, timestamp, unmeasured} = user.size_quota; url = $xpress_client.external_baseurl + $xpress_client.system_images_folder; used = usage * 100 / quota; free = quota - usage; if (free < 0) free = 0; endif "------------------------------------------------"; "Determine what quota chart to show"; "------------------------------------------------"; if (used < 13) chart = "quota_0.gif"; elseif (used >= 13 && used < 25) chart = "quota_12_5.gif"; elseif (used >= 25 && used < 38) chart = "quota_25.gif"; elseif (used >= 38 && used < 50) chart = "quota_37_5.gif"; elseif (used >= 50 && used < 63) chart = "quota_50.gif"; elseif (used >= 63 && used < 75) chart = "quota_62_5.gif"; elseif (used >= 75 && used < 88) chart = "quota_75.gif"; elseif (used >= 88 && used < 100) chart = "quota_87_5.gif"; else chart = "quota_100.gif"; endif quota_chart = $encore_web_utils:span(tostr("Quota usage ", $encore_web_utils:img(tostr(url, chart))), "left"); quota_data = $encore_web_utils:span(tostr($encore_web_utils:img(tostr(url, "quota_free.gif")), " ", $string_utils:group_number(free), " bytes free", $encore_web_utils:br(), $encore_web_utils:img(tostr(url, "quota_used.gif")), " ", used, " % used "), "middle"); owned_objects = $encore_web_utils:span(tostr("Total objects: ", length(user.owned_objects), $encore_web_utils:br(), "New objects not inluded: ", unmeasured, $encore_web_utils:br(), "Total Quota: ", quota, " bytes"), "right"); result = $list_utils:append($encore_web_utils:p({quota_chart, quota_data, owned_objects})); return result; "Last modified Sat Nov 17 16:51:01 2005 EDT by Kevin (#2357)."; ------------------------------------------------------- $inventory_manager:make_inventory "==========================================================="; "Copyright (C) 2001-2004, Jan Rune Holmevik"; "View a player's inventory via Xpress."; "Modified to correct quota display and to add size to the objects list."; "By KRJ Nov 17 2007"; "==========================================================="; if (!caller_perms().wizard) return E_PERM; endif {user, ?index = 1} = args; body = object_menu = {}; try base_url = $encore_web_utils:baseurl(); target = "web_frame"; use_exit_name = 1; call_spec = tostr(toint(this), ";make_inventory"); title = $encore_web_utils:get_title(user, this, tostr(user.name, "'s Stuff!")); {help_button, help_function} = $encore_web_utils:insert_context_sensitive_help(user, $encore_help, "Inventory_Manager"); help_button = $list_utils:append(help_button, $encore_web_utils:input("refresh", "Refresh My Stuff", "", "button", tostr("onclick=\"location.href='", base_url, "Inventory_Manager/view_inventory?", toint(user), "'\"")), $encore_web_utils:close()); edit_window = $encore_web_utils:javascript_window_open($xpress_object_editor, "openXpressEdit", ""); confirmDelete = {"function confirmDelete() {", tostr(" if (confirm('Are you sure you want to permanently recycle this object? This action cannot be undone!')) {"), " return true;", " }", " return false;", "}"}; functions = $list_utils:append(confirmDelete, help_function, edit_window); functions = $encore_web_utils:insert_javascript(functions); stuff = {}; if (user.owned_objects != {}) "-----------------------------------------"; "Compile list of owned objects"; "-----------------------------------------"; if (length(user.owned_objects) > this.max_view) object_menu = this:make_object_menu(user, index); endif links = locations = actions = size = kill = {}; if (index + this.max_view > length(user.owned_objects)) last = length(user.owned_objects); else last = index + this.max_view; endif for item in ($list_utils:reverse(user.owned_objects)[index..last]) $command_utils:suspend_if_needed(0); action = ""; links = {@links, tostr($encore_web_utils:generate_links(user, {item}, target, use_exit_name)[1], " (", item, ")")}; locations = {@locations, item.location == $nowhere ? "Nowhere" | tostr(item.location.name, " (", item.location, ")")}; itemsize = $building_utils:size_string(item.object_size[1]); size = {@size, itemsize}; "-----------------------------------------"; "Add contextual menu for object if relevant"; "-----------------------------------------"; if ($object_utils:has_callable_verb(item, "make_contextual_menu")) contextual_menu = item:make_contextual_menu(user, item, call_spec, return_functions = 0); "split off recycle button if item is not a player object"; if (!$object_utils:isa(item, $player)) num_button = length(contextual_menu); if (num_button > 1) kill = {@kill, contextual_menu[num_button]}; NUM = 1; while (NUM <= num_button - 1) button = contextual_menu[NUM]; action = action + button; NUM = NUM + 1; endwhile else kill = {@kill, " "}; button = contextual_menu[1]; action = action + button; endif "If object is a player there is no recycle button"; else num_button = length(contextual_menu); kill = {@kill, " "}; NUM = 1; while (NUM <= num_button) button = contextual_menu[NUM]; action = action + button; NUM = NUM + 1; endwhile endif actions = {@actions, action}; endif endfor links = {$encore_web_utils:div("Object", "header"), @links}; size = {$encore_web_utils:div("Size", "header"), @size}; locations = {$encore_web_utils:div("Location", "header"), @locations}; actions = {$encore_web_utils:div("Actions", "header"), @actions}; kill = {$encore_web_utils:div("X", "header"), @kill}; stuff = $encore_web_utils:generate_table(user, {links, size, locations, actions, kill}, this, 1); endif "-----------------------------------------"; "Add quota information"; "-----------------------------------------"; quota_info = this:display_quota(user); body = $list_utils:append(functions, title, help_button, quota_info, {$encore_web_utils:br(), $encore_web_utils:br()}, object_menu, stuff); except error (ANY) endtry return body; "Last modified Sat Nov 17 2007 by Kevin (#2357).";