Huggle/JS/traffic counter.js
Appearance
From mediawiki.org
// Global vars varis_visible=false; varmenu_id=null; varoverlay_id=-1; vartimer=null; functionext_is_working() { returntrue; } functionhuman_round(bytes) { returnMath.round(bytes*100)/100; } functionhuman_unit(bytes) { if(bytes<1024) returnhuman_round(bytes)+"B"; bytes=bytes/1024; if(bytes<1024) returnhuman_round(bytes)+"KB"; bytes=bytes/1024; returnhuman_round(bytes)+"MB"; } functionget_stats() { varstats="IN: "+human_unit(huggle_query.get_all_bytes_received()+huggle_feed.get_all_bytes_received()); stats+="<br>"; stats+="OUT: "+human_unit(huggle_query.get_all_bytes_sent()+huggle_feed.get_all_bytes_sent()); returnstats; } functionrefresh() { huggle_ui.set_overlay_text(overlay_id,get_stats()); } functionshow() { overlay_id=huggle_ui.show_persistent_overlay(get_stats(),10,10,125,60); timer=huggle.create_timer(1000,"refresh"); } functionhide() { huggle_ui.destroy_persistent_overlay(overlay_id); huggle.destroy_timer(timer); } functiontoggle() { is_visible=!is_visible; if(is_visible) { show(); }else { hide(); } huggle_ui.menu_item_set_checked(menu_id,is_visible); } functionregister_menus() { menu_id=huggle_ui.create_menu_item(huggle_ui_menu_tools,"Traffic counter","toggle",true); } functionext_init() { if(huggle_ui.mainwindow_is_loaded()) { register_menus(); }elseif(!huggle.register_hook("main_open","register_menus")) { returnfalse; } returntrue; } functionext_get_info() { varinfo={}; info["name"]="traffic_info"; info["version"]="1.0.1"; info["description"]="Shows a small traffic counter in corner of HG"; info["author"]="Petr Bena"; info["min_huggle_version"]="3.4.5"; info["required_context"]="huggle_ui"; info["requires_unsafe"]=false; returninfo; }