Added "Decoder" tab draft
This commit is contained in:
@@ -38,6 +38,7 @@
|
||||
|
||||
<%= script_tag 'ui/panel/Logout.js' %>
|
||||
<%= script_tag 'ui/panel/WelcomeTab.js' %>
|
||||
<%= script_tag 'ui/panel/DecoderTab.js' %>
|
||||
|
||||
<%= stylesheet_tag 'ext-all.css' %>
|
||||
<%= stylesheet_tag 'base.css' %>
|
||||
|
||||
164
extensions/admin_ui/media/javascript/ui/panel/DecoderTab.js
Normal file
164
extensions/admin_ui/media/javascript/ui/panel/DecoderTab.js
Normal file
@@ -0,0 +1,164 @@
|
||||
//
|
||||
// Copyright 2012 Wade Alcorn wade@bindshell.net
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
DecoderTab = function() {
|
||||
|
||||
/*
|
||||
* The panel used to encode/decode text.
|
||||
********************************************/
|
||||
var decoder_panel = new Ext.FormPanel({
|
||||
title: 'Decoder',
|
||||
id: 'decoder-panel',
|
||||
hideLabels : false,
|
||||
border: false,
|
||||
padding: '3px 5px 0 5px',
|
||||
|
||||
items:[{
|
||||
fieldLabel: 'Text',
|
||||
xtype: 'textarea',
|
||||
id: 'inputText',
|
||||
name: 'inputText',
|
||||
width: '100%',
|
||||
height: '40%',
|
||||
allowBlank: true
|
||||
},{
|
||||
fieldLabel: 'Result',
|
||||
xtype: 'textarea',
|
||||
id: 'resultText',
|
||||
name: 'resultText',
|
||||
width: '100%',
|
||||
height: '40%',
|
||||
allowBlank: true
|
||||
}],
|
||||
|
||||
buttons: [{
|
||||
text: 'Encode',
|
||||
handler: function() {
|
||||
var form = Ext.getCmp('decoder-panel').getForm();
|
||||
var form_values = form.getValues();
|
||||
var input_text = form_values['inputText'];
|
||||
var result="";
|
||||
switch (form_values['decodeType']) {
|
||||
case "base64":
|
||||
break;
|
||||
case "rot13":
|
||||
result = input_text.replace(/[a-zA-Z]/g, function(c){return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26);});
|
||||
break;
|
||||
case "addslashes":
|
||||
result = input_text.replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');
|
||||
break;
|
||||
case "stripslashes":
|
||||
result = input_text.replace(/\\(.?)/g, function (s, n1) {switch (n1) {case '\\':return '\\';case '0':return '\u0000';case '':return '';default:return n1;}});
|
||||
break;
|
||||
case "reverse":
|
||||
break;
|
||||
case "escape":
|
||||
result = escape(input_text);
|
||||
break;
|
||||
case "unescape":
|
||||
result = unescape(input_text);
|
||||
break;
|
||||
case "encodeuri":
|
||||
result = encodeURI(input_text);
|
||||
break;
|
||||
case "decodeuri":
|
||||
result = decodeURI(input_text);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
form.setValues({resultText: result});
|
||||
}
|
||||
},{
|
||||
text: 'Decode',
|
||||
handler: function() {
|
||||
var form = Ext.getCmp('decoder-panel').getForm();
|
||||
var form_values = form.getValues();
|
||||
var input_text = form_values['inputText'];
|
||||
var result="";
|
||||
switch (form_values['decodeType']) {
|
||||
case "base64":
|
||||
break;
|
||||
case "rot13":
|
||||
result = input_text.replace(/[a-zA-Z]/g, function(c){return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26);});
|
||||
break;
|
||||
case "addslashes":
|
||||
result = input_text.replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');
|
||||
break;
|
||||
case "stripslashes":
|
||||
result = input_text.replace(/\\(.?)/g, function (s, n1) {switch (n1) {case '\\':return '\\';case '0':return '\u0000';case '':return '';default:return n1;}});
|
||||
break;
|
||||
case "reverse":
|
||||
break;
|
||||
case "escape":
|
||||
result = escape(input_text);
|
||||
break;
|
||||
case "unescape":
|
||||
result = unescape(input_text);
|
||||
break;
|
||||
case "encodeuri":
|
||||
result = encodeURI(input_text);
|
||||
break;
|
||||
case "decodeuri":
|
||||
result = decodeURI(input_text);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
form.setValues({resultText: result});
|
||||
}
|
||||
}]
|
||||
|
||||
});
|
||||
|
||||
decode_combo = new Ext.form.ComboBox({
|
||||
name: 'decodeType',
|
||||
disableKeyFilter: false,
|
||||
fieldLabel: 'Type',
|
||||
forceSelection: true,
|
||||
emptyText: '--select--',
|
||||
triggerAction: 'all',
|
||||
mode: 'local',
|
||||
store: new Ext.data.SimpleStore({
|
||||
id: 0,
|
||||
fields: ['value', 'text'],
|
||||
data: [
|
||||
//['base64', 'Base64'],
|
||||
//['reverse', 'Reverse'],
|
||||
['rot13', 'Rot13'],
|
||||
//['fromcharcode', 'String.fromCharCode'],
|
||||
['addslashes', 'Add Slashes'],
|
||||
['stripslashes', 'Strip Slashes'],
|
||||
['escape', 'escape()'],
|
||||
['unescape', 'unescape()'],
|
||||
['encodeuri', 'encodeURI()'],
|
||||
['decodeuri', 'decodeURI()']
|
||||
]
|
||||
}),
|
||||
valueField: 'value',
|
||||
displayField: 'text',
|
||||
hiddenName: 'decodeType'
|
||||
});
|
||||
|
||||
decoder_panel.add(decode_combo);
|
||||
|
||||
DecoderTab.superclass.constructor.call(this, {
|
||||
region: 'center',
|
||||
items: [decoder_panel],
|
||||
autoScroll: true,
|
||||
border: false
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
Ext.extend(DecoderTab,Ext.Panel, {});
|
||||
@@ -41,6 +41,7 @@ MainPanel = function(){
|
||||
this.grid = new DataGrid('/ui/logs/all.json',30);
|
||||
this.grid.border = false;
|
||||
this.welcome_tab = new WelcomeTab;
|
||||
this.decoder_tab = new DecoderTab;
|
||||
|
||||
MainPanel.superclass.constructor.call(this, {
|
||||
id:'main-tabs',
|
||||
@@ -69,6 +70,13 @@ MainPanel = function(){
|
||||
hideMode:'offsets',
|
||||
items:[
|
||||
this.grid
|
||||
]},{
|
||||
id:'decoder-view',
|
||||
layout:'border',
|
||||
title:'Decoder',
|
||||
hideMode:'offsets',
|
||||
items:[
|
||||
this.decoder_tab
|
||||
]
|
||||
}]
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user