@ -49,133 +49,14 @@ function patchTFAEdit() {
PVE . window . TFAEdit . prototype . items [ 0 ] . items [ 0 ] . items [ 1 ] . style [ "background-color" ] = 'transparent' ;
}
function patchSummary ( ) {
// Nothing malicious is done here. The component responsible for the color is residing inside a function, and we cannot just change a functions private variable, so we are overwriting the function with a copy of itself (with changed component color).
PVE . node . Summary . prototype . showVersions = function ( ) {
var me = this ;
var nodename = me . pveSelNode . data . node ;
var view = Ext . createWidget ( 'component' , {
autoScroll : true ,
padding : 5 ,
style : {
'background-color' : '#2C2F33' ,
'white-space' : 'pre' ,
'font-family' : 'monospace'
}
} ) ;
var win = Ext . create ( 'Ext.window.Window' , {
title : gettext ( 'Package versions' ) ,
width : 600 ,
height : 400 ,
layout : 'fit' ,
modal : true ,
items : [ view ]
} ) ;
Proxmox . Utils . API2Request ( {
waitMsgTarget : me ,
url : "/nodes/" + nodename + "/apt/versions" ,
method : 'GET' ,
failure : function ( response , opts ) {
win . close ( ) ;
Ext . Msg . alert ( gettext ( 'Error' ) , response . htmlStatus ) ;
} ,
success : function ( response , opts ) {
win . show ( ) ;
var text = '' ;
Ext . Array . each ( response . result . data , function ( rec ) {
var version = "not correctly installed" ;
var pkg = rec . Package ;
if ( rec . OldVersion && rec . CurrentState === 'Installed' ) {
version = rec . OldVersion ;
}
if ( rec . RunningKernel ) {
text += pkg + ': ' + version + ' (running kernel: ' +
rec . RunningKernel + ')\n' ;
} else if ( rec . ManagerVersion ) {
text += pkg + ': ' + version + ' (running version: ' +
rec . ManagerVersion + ')\n' ;
} else {
text += pkg + ': ' + version + '\n' ;
}
} ) ;
view . update ( Ext . htmlEncode ( text ) ) ;
}
} ) ;
}
}
function patchSubscription ( ) {
// Nothing malicious is done here. The component responsible for the color is residing inside a function, and we cannot just change a functions private variable, so we are overwriting the function with a copy of itself (with changed component color).
PVE . node . Subscription . prototype . showReport = function ( ) {
var me = this ;
var getReportFileName = function ( ) {
var now = Ext . Date . format ( new Date ( ) , 'D-d-F-Y-G-i' ) ;
return ` ${ me . nodename } -pve-report- ${ now } .txt ` ;
} ;
var view = Ext . createWidget ( 'component' , {
itemId : 'system-report-view' ,
scrollable : true ,
style : {
'background-color' : '#23272a' ,
'white-space' : 'pre' ,
'font-family' : 'monospace' ,
padding : '5px' ,
} ,
} ) ;
var reportWindow = Ext . create ( 'Ext.window.Window' , {
title : gettext ( 'System Report' ) ,
width : 1024 ,
height : 600 ,
layout : 'fit' ,
modal : true ,
buttons : [
'->' ,
{
text : gettext ( 'Download' ) ,
handler : function ( ) {
var fileContent = Ext . String . htmlDecode ( reportWindow . getComponent ( 'system-report-view' ) . html ) ;
var fileName = getReportFileName ( ) ;
// Internet Explorer
if ( window . navigator . msSaveOrOpenBlob ) {
navigator . msSaveOrOpenBlob ( new Blob ( [ fileContent ] ) , fileName ) ;
} else {
var element = document . createElement ( 'a' ) ;
element . setAttribute ( 'href' , 'data:text/plain;charset=utf-8,' +
encodeURIComponent ( fileContent ) ) ;
element . setAttribute ( 'download' , fileName ) ;
element . style . display = 'none' ;
document . body . appendChild ( element ) ;
element . click ( ) ;
document . body . removeChild ( element ) ;
}
} ,
} ,
] ,
items : view ,
} ) ;
Proxmox . Utils . API2Request ( {
url : '/api2/extjs/nodes/' + me . nodename + '/report' ,
method : 'GET' ,
waitMsgTarget : me ,
failure : function ( response ) {
Ext . Msg . alert ( gettext ( 'Error' ) , response . htmlStatus ) ;
} ,
success : function ( response ) {
var report = Ext . htmlEncode ( response . result . data ) ;
reportWindow . show ( ) ;
view . update ( report ) ;
} ,
} ) ;
function patchCreateWidget ( ) {
_ createWidget = Ext . createWidget
Ext . createWidget = function ( c , p ) {
if ( p . style ) {
if ( c === 'component' && p . style [ 'background-color' ] === 'white' ) p . style [ 'background-color' ] = '#2C2F33'
}
return _ createWidget ( c , p )
}
}
swapLogo ( ) ;
@ -184,6 +65,5 @@ patchGaugeWidget();
patchBackupConfig ( ) ;
patchDiskSmartWindow ( ) ;
patchTFAEdit ( ) ;
patchSummary ( ) ;
patchSubscription ( ) ;
patchCreateWidget ( ) ;
console . log ( 'PVEDiscordDark :: Patched' ) ;