..tutorial we are going to create a new app for the hacksuite. We're not going to do anything fancy here, we will make a simple app to get familiar how to write compatible scripts for the..
/* Handles clicks on manage links */
$(document).on("click","a.managelink",function(e){
e.preventDefault();
/* create form for managing languages */
var outerHTML = '</div>';
var formOpen = '<form class="sendform">';
var formClose = '</form>';
/* add patterns/languages */
if($(this).attr('id')=='add'){
var innerHTML = '<div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="lang">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">ADD LANGUAGE OR PATTERNS</div>';
var formContent = '<div class="cc_record"><div class="flt pad3 w100">language</div><div class="flt pad3 w200"><input type="text" name="sLanguage" value="php.txt" /><br /><small>if file doesn\'t exist it will be created</small></div></div><div class="clear"></div>';
formContent += '<div class="cc_record"><div class="flt pad3 w100">pattern</div><div class="newpattern flt pad3 w200"><input type="text" name="aPattern[]" /></div></div><div class="clear"></div>';
formContent += '<div class="cc_record"><div class="flt pad3"><input type="submit" name="submit" class="newlangfield" value="Add Pattern Field" /> <input type="submit" name="submit" class="addlang" value="Submit Pattern" /></div></div><div class="clear"></div>';
$(this).parent().parent().parent().parent().html(innerHTML+formOpen+formContent+formClose+outerHTML);
}
/* edit patterns/languages */
else if($(this).attr('id')=='edit'){
$.ajax({
type: "POST",
url: "JSON/antievil.php",
data: "iFetchLanguages=1",
dataType: "json",
success: function(json){
if(json.jresult==false){
alert(json.jmessage);
}
else{
var innerHTML = '<div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="lang">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">EDIT LANGUAGE OR PATTERNS</div>';
var formContent = '<div class="cc_record"><div class="flt pad3 w100">language</div><div class="flt pad3 w200">'+json.jselect+'</div><div class="clear"></div>';
formContent += '<div class="cc_record"><div class="flt pad3"><input type="submit" name="submit" class="editlang" value="Edit Language" /></div></div><div class="clear"></div>';
$('div.configmenu').html(innerHTML+formOpen+formContent+formClose+outerHTML);
}
}
});
}
/* add suspicious folder names */
else if($(this).attr('id')=='addsusfolder'){
var innerHTML = '<div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="fold">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">ADD FOLDERS</div>';
var formContent = '<div class="cc_record"><div class="flt pad3 w100">folder</div><div class="newpattern flt pad3 w200"><input type="text" name="aPattern[]" /></div></div><div class="clear"></div>';
formContent += '<div class="cc_record"><div class="flt pad3"><input type="submit" name="submit" class="newlangfield" value="Add Folder Field" /> <input type="submit" name="submit" class="addfolders" value="Save Folders" /></div></div><div class="clear"></div>';
$('div.configmenu').html(innerHTML+formOpen+formContent+formClose+outerHTML);
}
/* edit suspicious folder names */
else if($(this).attr('id')=='editsusfolder'){
$.ajax({
type: "POST",
url: "JSON/antievil.php",
data: "iFetchFolders=1",
dataType: "json",
success: function(json){
if(json.jresult==false){
alert(json.jmessage);
}
else{
var innerHTML = '<div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="fold">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">EDIT SUSPICIOUS FOLDERS</div>';
var formContent = '<div class="cc_record"><div class="flt pad3 w300"><textarea name="sDataPatterns" cols="35" rows="10">'+json.jdata+'</textarea></div><div class="clear"></div>';
formContent += '<div class="cc_record"><div class="flt pad3"><input type="submit" name="submit" class="editfolders" value="Edit Folders" /></div></div><div class="clear"></div>';
$('div.configmenu').html(innerHTML+formOpen+formContent+formClose+outerHTML);
}
}
});
}
/* add file extensions to look for */
else if($(this).attr('id')=='addfile'){
var innerHTML = '<div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="srch">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">ADD EXTENSIONS</div>';
var formContent = '<div class="cc_record"><div class="flt pad3 w100">extension</div><div class="newpattern flt pad3 w200"><input type="text" name="aPattern[]" /></div></div><div class="clear"></div>';
formContent += '<div class="cc_record"><div class="flt pad3"><input type="submit" name="submit" class="newlangfield" value="Add Field" /> <input type="submit" name="submit" class="addext" value="Save Extensions" /></div></div><div class="clear"></div>';
$('div.configmenu').html(innerHTML+formOpen+formContent+formClose+outerHTML);
}
/* edit file extensions */
else if($(this).attr('id')=='editfile'){
$.ajax({
type: "POST",
url: "JSON/antievil.php",
data: "iFetchExt=1",
dataType: "json",
success: function(json){
if(json.jresult==false){
alert(json.jmessage);
}
else{
var innerHTML = '<div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="srch">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">EDIT EXTENSIONS</div>';
var formContent = '<div class="cc_record"><div class="flt pad3 w300"><textarea name="sDataPatterns" cols="35" rows="10">'+json.jdata+'</textarea></div><div class="clear"></div>';
formContent += '<div class="cc_record"><div class="flt pad3"><input type="submit" name="submit" class="editext" value="Edit Extensions" /></div></div><div class="clear"></div>';
$('div.configmenu').html(innerHTML+formOpen+formContent+formClose+outerHTML);
}
}
});
}
/* add shells to look for */
else if($(this).attr('id')=='addshell'){
var innerHTML = '<div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="srch">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">ADD SHELLS</div>';
var formContent = '<div class="cc_record"><div class="flt pad3 w100">shell</div><div class="newpattern flt pad3 w200"><input type="text" name="aPattern[]" /></div></div><div class="clear"></div>';
formContent += '<div class="cc_record"><div class="flt pad3"><input type="submit" name="submit" class="newlangfield" value="Add Field" /> <input type="submit" name="submit" class="addshell" value="Save Shells" /></div></div><div class="clear"></div>';
$('div.configmenu').html(innerHTML+formOpen+formContent+formClose+outerHTML);
}
/* edit shells files */
else if($(this).attr('id')=='editshell'){
$.ajax({
type: "POST",
url: "JSON/antievil.php",
data: "iFetchShell=1",
dataType: "json",
success: function(json){
if(json.jresult==false){
alert(json.jmessage);
}
else{
var innerHTML = '<div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="lang">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">EDIT SHELLS</div>';
var formContent = '<div class="cc_record"><div class="flt pad3 w300"><textarea name="sDataPatterns" cols="35" rows="10">'+json.jdata+'</textarea></div><div class="clear"></div>';
formContent += '<div class="cc_record"><div class="flt pad3"><input type="submit" name="submit" class="editshell" value="Edit Shells" /></div></div><div class="clear"></div>';
$('div.configmenu').html(innerHTML+formOpen+formContent+formClose+outerHTML);
}
}
});
}
});
/* SECTION 1 */
$(document).on("click","input.newlangfield",function(e){
e.preventDefault();
/* add new input field for patterns */
$('div.newpattern').append('<input type="text" name="aPattern[]" />');
});
$(document).on("click","input.addlang",function(e){
e.preventDefault();
/* handles language patterns form submission */
dataString = $("form.sendform").serialize();
$.ajax({
type: "POST",
url: "JSON/antievil.php",
data: "iSubmitLanguages=1&"+dataString,
dataType: "json",
success: function(json){
if(json.jresult==false){
alert(json.jmessage);
}
else{
// hides form and shows success message
$("form.sendform").hide('slow');
$("form.sendform").before(json.jmessage);
}
}
});
});
$(document).on("click","input.editlang",function(e){
e.preventDefault();
/* handles edit of language patterns form submission */
dataString = $("form.sendform").serialize();
$.ajax({
type: "POST",
url: "JSON/antievil.php",
data: "iChangeLanguages=1&"+dataString,
dataType: "json",
success: function(json){
if(json.jresult==false){
alert(json.jmessage);
}
else{
// hides form and shows success message
$("form.sendform").hide('slow');
var innerHTML = '<form class="updateform"><div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="lang">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">EDIT PATTERNS</div>';
var outerHTML = '</div>';
var formContent = '<div class="cc_record"><div class="flt pad3 w100"><textarea name="sDataPatterns" cols="35" rows="10">'+json.jdata+'</textarea><input type="hidden" name="sLanguage" value="'+json.jfile+'" /></div><div class="clear"></div>';
formContent += '<div class="cc_record"><div class="flt pad3"><input type="submit" name="submit" class="updatelang" value="Update Patterns" /></div></div><div class="clear"></div></form>';
$('div.configmenu').html(innerHTML+formContent+outerHTML);
}
}
});
});
$(document).on("click","input.updatelang",function(e){
e.preventDefault();
/* handles update of a language file */
dataString = $("form.updateform").serialize();
$.ajax({
type: "POST",
url: "JSON/antievil.php",
data: "iUpdateLanguages=1&"+dataString,
dataType: "json",
success: function(json){
if(json.jresult==false){
alert(json.jmessage);
}
else{
// hides form and shows success message
$("form.updateform").hide('slow');
var innerHTML = '<form class="updateform"><div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="lang">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">RESULT</div>';
var outerHTML = '</div>';
var formContent = '<div class="cc_record"><div class="flt pad3">'+json.jmessage+'</div></div><div class="clear"></div></form>';
$('div.configmenu').html(innerHTML+formContent+outerHTML);
}
}
});
});
/* SECTION 2 */
$(document).on("click","input.addfolders",function(e){
e.preventDefault();
/* handles new folders add */
dataString = $("form.sendform").serialize();
$.ajax({
type: "POST",
url: "JSON/antievil.php",
data: "iAddFolders=1&"+dataString,
dataType: "json",
success: function(json){
if(json.jresult==false){
alert(json.jmessage);
}
else{
// hides form and shows success message
$("form.updateform").hide('slow');
var innerHTML = '<form class="updateform"><div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="lang">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">RESULT</div>';
var outerHTML = '</div>';
var formContent = '<div class="cc_record"><div class="flt pad3">'+json.jmessage+'</div></div><div class="clear"></div></form>';
$('div.configmenu').html(innerHTML+formContent+outerHTML);
}
}
});
});
$(document).on("click","input.editfolders",function(e){
e.preventDefault();
/* handles update of the folder file */
dataString = $("form.sendform").serialize();
$.ajax({
type: "POST",
url: "JSON/antievil.php",
data: "iUpdateFolders=1&"+dataString,
dataType: "json",
success: function(json){
if(json.jresult==false){
alert(json.jmessage);
}
else{
// hides form and shows success message
$("form.updateform").hide('slow');
var innerHTML = '<form class="updateform"><div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="lang">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">RESULT</div>';
var outerHTML = '</div>';
var formContent = '<div class="cc_record"><div class="flt pad3">'+json.jmessage+'</div></div><div class="clear"></div></form>';
$('div.configmenu').html(innerHTML+formContent+outerHTML);
}
}
});
});
/* SECTION 3 */
$(document).on("click","input.addext",function(e){
e.preventDefault();
/* handles new extensions */
dataString = $("form.sendform").serialize();
$.ajax({
type: "POST",
url: "JSON/antievil.php",
data: "iAddExt=1&"+dataString,
dataType: "json",
success: function(json){
if(json.jresult==false){
alert(json.jmessage);
}
else{
// hides form and shows success message
$("form.updateform").hide('slow');
var innerHTML = '<form class="updateform"><div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="lang">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">RESULT</div>';
var outerHTML = '</div>';
var formContent = '<div class="cc_record"><div class="flt pad3">'+json.jmessage+'</div></div><div class="clear"></div></form>';
$('div.configmenu').html(innerHTML+formContent+outerHTML);
}
}
});
});
$(document).on("click","input.editext",function(e){
e.preventDefault();
/* handles extension update */
dataString = $("form.sendform").serialize();
$.ajax({
type: "POST",
url: "JSON/antievil.php",
data: "iUpdateExt=1&"+dataString,
dataType: "json",
success: function(json){
if(json.jresult==false){
alert(json.jmessage);
}
else{
// hides form and shows success message
$("form.updateform").hide('slow');
var innerHTML = '<form class="updateform"><div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="fold">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">RESULT</div>';
var outerHTML = '</div>';
var formContent = '<div class="cc_record"><div class="flt pad3">'+json.jmessage+'</div></div><div class="clear"></div></form>';
$('div.configmenu').html(innerHTML+formContent+outerHTML);
}
}
});
});
/* SECTION 4 */
$(document).on("click","input.addshell",function(e){
e.preventDefault();
/* handles new shells */
dataString = $("form.sendform").serialize();
$.ajax({
type: "POST",
url: "JSON/antievil.php",
data: "iAddShell=1&"+dataString,
dataType: "json",
success: function(json){
if(json.jresult==false){
alert(json.jmessage);
}
else{
// hides form and shows success message
$("form.updateform").hide('slow');
var innerHTML = '<form class="updateform"><div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="srch">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">RESULT</div>';
var outerHTML = '</div>';
var formContent = '<div class="cc_record"><div class="flt pad3">'+json.jmessage+'</div></div><div class="clear"></div></form>';
$('div.configmenu').html(innerHTML+formContent+outerHTML);
}
}
});
});
$(document).on("click","input.editshell",function(e){
e.preventDefault();
/* handles update of the shells file */
dataString = $("form.sendform").serialize();
$.ajax({
type: "POST",
url: "JSON/antievil.php",
data: "iUpdateShell=1&"+dataString,
dataType: "json",
success: function(json){
if(json.jresult==false){
alert(json.jmessage);
}
else{
// hides form and shows success message
$("form.updateform").hide('slow');
var innerHTML = '<form class="updateform"><div class="cc_summary emboss borderr5 border1pxtrans pad5 edgeglow" id="shll">';
innerHTML += '<div class=\"embosshdrnocenter border1pxtrans pad5\">RESULT</div>';
var outerHTML = '</div>';
var formContent = '<div class="cc_record"><div class="flt pad3">'+json.jmessage+'</div></div><div class="clear"></div></form>';
$('div.configmenu').html(innerHTML+formContent+outerHTML);
}
}
});
});