var gItems = Array(); function AddContentDescriptors( id, add ) { $J.post( 'https://steamcommunity.com/sharedfiles/ajaxupdatecontentdescriptors/', { sessionid: g_sessionID, publishedfileid: id, add: add, remove: [] }, ).done( function( json ) { ShowWithFade( $( 'blurred_' + id ) ); $J( '#item_' + id ).addClass( 'blurred' ); } ); } function ModeratorEditContentDescriptors( id ) { function fn( publishedfileid ) { ShowWithFade( $( 'blurred_' + id ) ); $J( '#item_' + id ).addClass( 'blurred' ); } EditContentDescriptors( id, fn ); } function BanItem( id ) { UpdateBanState( id, true ); } function UnBanItem( id ) { UpdateBanState( id, false ); } function UpdateBanState( id, bBan ) { var item = gItems[id]; var appid = item['consumer_appid']; var title = V_EscapeHTML( item['title'] ); var ban = bBan ? 1 : 0; var options = { method: 'post', postBody: 'id=' + id + '&appid=' + appid + '&sessionid=' + g_sessionID + '&IsBanned=' + bBan, onComplete: (function(id){ return function(transport) { if ( bBan ) { ShowWithFade($('banned_' + id)); $J('#item_' + id).addClass('banned'); } else { $J('#item_' + id).removeClass('banned'); } } }(id)) }; new Ajax.Request( 'https://steamcommunity.com/sharedfiles/ban', options ); } function VoteBanUsers( id ) { var item = gItems[id]; var appid = item['consumer_appid']; var title = V_EscapeHTML( item['title'] ); var options = { method: 'post', postBody: 'id=' + id + '&sessionid=' + g_sessionID, onComplete: (function(id){ return function(transport) { ShowWithFade( $( 'banned_voters_' + id ) ); $J( '#item_' + id ).addClass( 'vote_banned' ); } }(id)) }; new Ajax.Request( 'https://steamcommunity.com/sharedfiles/banupvoters', options ); } function MarkIncompatible( id ) { var item = gItems[id]; var appid = item['consumer_appid']; var title = V_EscapeHTML( item['title'] ); var options = { method: 'post', postBody: 'id=' + id + '&appid=' + appid + '&sessionid=' + g_sessionID + '&incompatible=1', onComplete: (function(id){ return function(transport) { ShowWithFade( $( 'incompatible_' + id ) ); $J( '#item_' + id ).addClass( 'incompatible' ); } }(id)) }; new Ajax.Request( 'https://steamcommunity.com/sharedfiles/updateincompatible', options ); } function ResetReports( id ) { var item = gItems[id]; var appid = item['consumer_appid']; var options = { method: 'post', postBody: 'id=' + id + '&appid=' + appid + '&sessionid=' + g_sessionID, onComplete: (function(id){ return function(transport) { $J( "#ModerationControls_" + id ).html( 'Reports Cleared!' ); } }(id)) }; new Ajax.Request( 'https://steamcommunity.com/sharedfiles/resetreportedcount', options ); } function UGCClearContentCheckFlag( id ) { var item = gItems[id]; var appid = item['consumer_appid']; var options = { method: 'post', postBody: 'id=' + id + '&appid=' + appid + '&sessionid=' + g_sessionID + '&suspicious=0', onComplete: (function(id){ return function(transport) { $J( "#ModerationControls_" + id ).html( 'Cleared Content Check Result' ); } }(id)) }; new Ajax.Request( 'https://steamcommunity.com/sharedfiles/markassuspicious/', options ); } function UGCMarkAsSuspicious( id ) { var item = gItems[id]; var appid = item['consumer_appid']; var options = { method: 'post', postBody: 'id=' + id + '&appid=' + appid + '&sessionid=' + g_sessionID + '&suspicious=1', onComplete: (function(id){ return function(transport) { $J( "#ModerationControls_" + id ).html( 'Marked as Suspicious' ); } }(id)) }; new Ajax.Request( 'https://steamcommunity.com/sharedfiles/markassuspicious/', options ); } function ViewReports( id ) { var item = gItems[id]; var appid = item['consumer_appid']; var title = V_EscapeHTML( item['title'] ); $( 'reportsTitle' ).update( 'All Reports for: ' + title ); $( 'reports' ).update("
Loading
"); new Ajax.Updater( "reports", "https://steamcommunity.com/sharedfiles/getreports/?id=" + id + "&appid=" + appid ); showModal( 'reportsModal', false ); } function UpdateSelectedItems() { $J( '#NumItemsSelected' ).text( $J( '.reported_item_checkbox:checked').length ); $J( '.reported_item_checkbox' ).each( function( index, elem ) { elem = $J( elem ); var publishedFileID = elem.data( 'dsPublishedfileid' ); var parent = $J( "#item_" + publishedFileID ); if ( elem.prop( 'checked' ) ) { parent.css( 'background-color', 'rgba( 84, 133, 183, 0.4)' ); } else { parent.css( 'background-color', 'rgba( 0,0,0,.3)' ); } } ); } function SelectAllItems() { $J( '.reported_item_checkbox' ).prop( 'checked', true ); UpdateSelectedItems(); } function DeselectAllItems() { $J( '.reported_item_checkbox' ).prop( 'checked', false ); UpdateSelectedItems(); } function ApplyFuncOnSelectedItems( func ) { $J( '.reported_item_checkbox' ).each( function( index, elem ) { elem = $J( elem ); if ( elem.prop( 'checked' ) ) { var itemid = elem.data( 'itemid' ); func( itemid ); } } ); } function SelectedItems_ApplyContentDescriptors() { var rgCheckboxes = $J( "input:checkbox", $J( "#content_descriptors" ) ); var add = []; for ( var i = 0; i < rgCheckboxes.length; ++i ) { let checkbox = rgCheckboxes[i]; if ( checkbox.checked && !checkbox.disabled ) { add.push( checkbox.value ); } } if ( add.length == 0 ) return; function fn( id ) { AddContentDescriptors( id, add ); } ApplyFuncOnSelectedItems( fn ); } function SelectedItems_Ban() { ApplyFuncOnSelectedItems( BanItem ); } function SelectedItems_UnBan() { ApplyFuncOnSelectedItems( UnBanItem ); } function SelectedItems_VoteBanUsers() { ApplyFuncOnSelectedItems( VoteBanUsers ); } function SelectedItems_MarkIncompatible() { ApplyFuncOnSelectedItems( MarkIncompatible ); } function SelectedItems_ResetReports() { ApplyFuncOnSelectedItems( ResetReports ); } function SelectedItems_ClearContentCheckAndReports() { ApplyFuncOnSelectedItems( ResetReports ); ApplyFuncOnSelectedItems( UGCClearContentCheckFlag ); } function SelectedItems_MarkAsSuspicious() { ApplyFuncOnSelectedItems( UGCMarkAsSuspicious ); } function BanReview( id ) { UserReview_Moderate_SetBanStatus( id, 1, 'https://steamcommunity.com', function( results ) { ShowWithFade( $( 'banned_' + id ) ); }, 'Mass banned from reported content page' ); } function UnbanReview( id ) { UserReview_Moderate_SetBanStatus( id, 0, 'https://steamcommunity.com', function( results ) { ShowWithFade( $( 'unbanned_' + id ) ); }, 'Mass unbanned from reported content page' ); } function SetReviewQualities( id, qualities ) { UserReview_Moderate_SetQualities( id, qualities, 'https://steamcommunity.com', function( results ) { if ( qualities.length != 0) ShowWithFade( $( 'qualities_' + id ) ); else $( 'qualities_' + id ).hide(); } ); } function BanReviewVoters( id ) { UserReview_Moderate_VoteBanUsers( id, 'https://steamcommunity.com', function( results ) { ShowWithFade( $( 'banned_voters_' + id ) ); } ); } function ClearReviewDevFlag( id ) { UserReview_ClearDeveloperFlag( id, 'https://steamcommunity.com', function( results ) { ShowWithFade( $( 'incompatible_' + id ) ); } ); } function ClearReviewReports( id ) { UserReview_Moderate( id, { 'clear_reports' : 1 }, 'https://steamcommunity.com', function( results ) { $( 'report_score_' + id ).update( '0' ); } ); } function ClearContentCheckFlag( id ) { $J.post( 'https://steamcommunity.com/userreviews/clearcontentcheckresults/' + id, { sessionid: g_sessionID } ) .done( function( data ) { $J( "#ban_check_result_" + id ).text( 'Reset' ); }); } function MarkAsSuspicious( id ) { $J.post( 'https://steamcommunity.com/userreviews/markassuspicious/' + id, { sessionid: g_sessionID } ) .done( function( data ) { $J( "#ban_check_result_" + id ).text( 'Marked as Suspicious' ); }); } function ViewReviewReports( id ) { UserReview_ShowReportsDialog( id, 'https://steamcommunity.com' ); } function SelectedReviews_Ban() { ApplyFuncOnSelectedItems( BanReview ); } function SelectedReviews_Unban() { ApplyFuncOnSelectedItems( UnbanReview ); } function SelectedReviews_BanVoters() { ApplyFuncOnSelectedItems( BanReviewVoters ); } function SelectedReviews_ClearReports() { ApplyFuncOnSelectedItems( ClearReviewReports ); } function SelectedReviews_ClearReviewDevFlag() { ApplyFuncOnSelectedItems( ClearReviewDevFlag ); } function SelectedReviews_ClearContentCheckResult() { ApplyFuncOnSelectedItems( ClearContentCheckFlag ); } function SelectedReviews_MarkAsSuspicious() { ApplyFuncOnSelectedItems( MarkAsSuspicious ); } function SelectedReviews_SetQualities() { var content = $J( "
" ); var container0 = $J( "
" ); var label0 = $J( "