jQuery.noConflict(); //prepare the form when the DOM is ready jQuery(document).ready(function() { jQuery(".icon_click").live('mouseover', function() { jQuery(this).css('cursor', 'pointer'); }); //-------------------START Misc------------------------------------------- /*! Needs to be watched not my code <- IMPORTANT * JavaScript UUID Generator, v0.0.1 * * Copyright (c) 2009 Massimo Lombardo. * Dual licensed under the MIT and the GNU GPL licenses. */ function genUUID() { var uuid = (function () { var i, c = "89ab", u = []; for (i = 0; i < 36; i += 1) { u[i] = (Math.random() * 16 | 0).toString(16); } u[8] = u[13] = u[18] = u[23] = ""; u[14] = "4"; u[19] = c.charAt(Math.random() * 4 | 0); return u.join(""); })(); return { toString: function () { return uuid; }, valueOf: function () { return uuid; } }; } //-------------------START Misc GLOBAL WINDOW------------------------------------------- // NOTE: try not to add to manny of thses /* * Gives you even true or false on even numbers */ window.isEven = function(someNumber) { return (someNumber%2 == 0) ? true : false; }; /* * Loop through object with timeout. * NOTE: IE9 still has issues. Example : deleted rules (6000+ sigs). * Break up heavy javascript intensive processing into smaller parts. Used to stop "browser Stop responding" warnings. */ /* function processLoop( actionFunc, numTimes, numWait, doneFunc ) { var i = 0; var f = function () { if (i < numTimes) { actionFunc( i++ ); // closure on i setTimeout( f, numWait ); } else if (doneFunc) { doneFunc(); } }; f(); } */ window.incrementallyProcess = function(workerCallback, data, chunkSize, timeout, completionCallback) { var i = 0; (function() { var remainingDataLength = (data.length - i); var currentChunkSize = (remainingDataLength >= chunkSize) ? chunkSize : remainingDataLength; if(i < data.length) { while(currentChunkSize--) { workerCallback(i++); } setTimeout(arguments.callee, timeout); } else if(completionCallback) { completionCallback(); } })(); }; // Please wait code window.hideLoading = function(thisLocation){ jQuery(thisLocation).hide(); }; // Please wait code window.showLoading = function(thisLocation){ jQuery(thisLocation).show(); }; //--------------------------- START select all code --------------------------- jQuery('#select_all').live('click', function(){ checkAll(jQuery('.domecheck')); }); jQuery('#deselect_all').live('click', function(){ uncheckAll(jQuery('.domecheck')); }); function checkAll(field){ for (i = 0; i < field.length; i++){ field[i].checked = true; } } function uncheckAll(field){ for (i = 0; i < field.length; i++){ field[i].checked = false; } } // -------------------------- START cancel form code ------------------------------------------- //jQuery('#cancel').click(function() { jQuery('#cancel').live('click', function(){ location.reload(); }); // ------------------------------- START add row element ------------------------------------------ jQuery(".icon_plus").live('click', function() { var NewRow_UUID = genUUID(); var rowNumCount = jQuery("#address").length; if (rowNumCount > 0){ // stop empty var prevAddressAll_ck = jQuery('tr[id^=maintable_]'); var prevAddress_ck = prevAddressAll_ck[prevAddressAll_ck.length-1].id; var prevAddressEmpty_ck = jQuery.trim(jQuery('#' + prevAddress_ck + ' #address').val()); if (prevAddressEmpty_ck === ''){ return false; } } jQuery('#listloopblock').append( "\n" + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + "\n" ); }); // ------------------------------- START remove row element --------------------------------------- function removeRow(){ jQuery("#maintable_" + window.RemoveRow_UUID).remove(); } jQuery(".icon_x").live('click', function(){ var elem = getBaseElement(this.id); // this.id gets id of .icon_x // window.RemoveRow_UUID = jQuery("#rowlist_" + elem.index).data("options").rowuuid; window.RemoveRow_UUID = elem.index; window.RemoveRow_Table = jQuery("#maintable_" + window.RemoveRow_UUID).data("options").pagetable; window.RemoveRow_DB = jQuery("#maintable_" + window.RemoveRow_UUID).data("options").pagedb; window.RemoveRow_POST = jQuery("#maintable_" + window.RemoveRow_UUID).data("options").DoPOST; // snort_interfaces_whitelist if (window.RemoveRow_POST === 'true'){ if(confirm('Do you really want to delete this list? (e.g. snort rules will fall back to the default list)!')) { jQuery("#maintable_" + window.RemoveRow_UUID).fadeOut("fast"); setTimeout(removeRow, 600); jQuery(this).ajaxSubmit(optionsRMlist); // call POST return false; } } // remove element NO post if (window.RemoveRow_POST === 'false'){ jQuery("#maintable_" + window.RemoveRow_UUID).fadeOut("fast"); setTimeout(removeRow, 600); return false; } }); function RMlistDBDelCall(){ return RemoveRow_DB; } function RMlistTableDelCall(){ return RemoveRow_Table; } function RMlistUuidDelCall(){ return RemoveRow_UUID; } // pre-submit callback function showRequestRMlist(formData, jqForm, optionsWhitelist) { var queryString = jQuery.param(formData); //alert('About to submit: \n\n' + queryString); // call false to prevent form reload return true; } // post-submit callback if snort_json_post.php returns true or false function showResponseRMlist(data){ //alert('test'); } function getBaseElement(elem){ elem = elem + ""; var len = elem.length; var lPos = elem.lastIndexOf("_") * 1; var baseElem = elem.substr(0, lPos); var index = elem.substr(lPos+1, len); return {"base": baseElem, "index": index}; } // declare variable for whitelist delete var optionsRMlist = { beforeSubmit: showRequestRMlist, dataType: 'json', success: showResponseRMlist, type: 'POST', data: { RMlistDelRow: '1', RMlistDB: RMlistDBDelCall, RMlistTable: RMlistTableDelCall, RMlistUuid: RMlistUuidDelCall }, url: './snort_json_post.php' }; // STOP remove row element // ------------------- START iform Submit/RETURN code --------------------------------------------- /* general form */ //jQuery('#iform').submit(function() { jQuery('#iform, #iform2, #iform3').live('submit', function(){ jQuery(this).ajaxSubmit(options); return false; }); // pre-submit callback function showRequest(formData, jqForm, options) { var queryString = jQuery.param(formData); // call to please wait showLoading('#loadingWaiting'); alert('About to submit: \n\n' + queryString); // call false to prevent the form return true; } function downloadsnortlogs(data){ jQuery('.hiddendownloadlink').append(''); var appendElem = jQuery('
success...'); appendElem.appendTo('.loadingWaitingMessage'); setTimeout(hideLoading('#loadingWaiting'), 3000); } // After Save Calls display var appendElem = jQuery('
success...'); function finnish(){ hideLoading('#loadingWaiting'); appendElem.remove(); updatestarted = 1; } function showResponse(data, responseText, statusText, xhr, $form){ // START of fill call to user if (responseText === 'success') { // snort logs download success if (data.downloadfilename !== '' && data.snortdownload === 'success'){ downloadsnortlogs(data); } // succsess display if (data.snortgeneralsettings === 'success' || data.snortdelete === 'success' || data.snortreset === 'success'){ // sucsses msg appendElem.appendTo('.loadingWaitingMessage'); // Clean up Waiting code finnish(); if (data.snortUnhideTabs === 'true'){ jQuery('.hide_newtabmenu').show(); } if (data.snortreset) {location.reload();} // hard refresh } // END of fill call to user }else{ // On FAIL get some info back alert('responseText: \n' + data.responseText + 'FAIL'); } } // END iform code // declare variable for iform var options = { beforeSubmit: showRequest, dataType: 'json', success: showResponse, type: 'POST', url: './snort_json_post.php' }; }); // end of document ready