Вход Регистрация
Файл: forsoc.ru/manul/static/js/common.js
Строк: 338
<?php
var ajaxErrorCounter 
1;
var 
maxAjaxErrors 6;

var 
scanForMalware true;
var 
requestDelay 5;

var 
numberFilesScanned 0;
var 
numberFilesToScan 0;

var 
clickAtConfig false;

function 
showErrorMessage(captiontext) {

    
text text.replace(/n/g"<br />");

    $(
'#spinner_gif').hide();
    $(
'#startButton').hide();
    $(
'#configPanel').hide();
    $(
'#scannerCaption').hide();
    $(
'#scannerDescription').hide();
    $(
'#settingsLink').hide();
    $(
'#progressbar').hide();
    $(
'#progressbar_text').hide();

    $(
'#errorMessage').show();
    $(
'#errorMessage').removeClass('hidden');

    $(
'#errorCaption').text(caption);
    $(
'#errorFormErrorCaption').attr('value'caption);

    $(
'#errorText').text(text);
    $(
'#errorFormErrorText').attr('value'text);    

    
console.log(caption ' ' text);
}

$(
document).ready(function(){  

    try {

        $(
'#scanForMalwareCheckbox').change(function() {      
            
scanForMalware this.checked;
        });

        $(
'#requestDelayTextbox').on('change keypress paste focus textInput input', function() {              
            
requestDelay parseInt(this.value);
        });

        function 
finish() {
            $(
'#result_area').show();
            $(
'#spinner_gif').hide();
            $(
'#startButton').hide();
            $(
'#settingsLink').hide();
            $(
'#progressbar').hide();
            $(
'#progressbar_text').hide();
            $(
'#configPanel').hide();
            $(
'#scannerCaption').hide();
            $(
'#scannerDescription').hide();
            $(
"#warning_msg").hide();

            
//allow going away after scan is finished
            
$(window).off('beforeunload');
        }

        function 
finishGetFileList() {
            $(
"#warning_msg").hide();
            $(
'#spinner_gif').hide();
            if (!
scanForMalware) {
                
finish();
            } else {
                $(
'#scanForMalwareDiv').hide();
                
sendRequest("index.php?controller=scanner&a=getSignatureScanResult&delay=" requestDelayhandleSignatureScan);
                $(
'#progressbar').show();
            }
        }

        function 
handleSignatureScan(response) {

               if (
response.phpError || ( response.meta && response.meta.phpError)) {
                   
errorInfo response.phpError response.phpError response.meta.phpError;
                   
showErrorMessage('PHP error'errorInfo);
                   return -
1;
               }

               if (
response.status == 'inProcess')
               { 
                   
lastScannedFile response.data.lastFile;
                   
numberFilesScannedThisTime parseInt(response.data.filesScannedThisTime)
                   
numberFilesLeft parseInt(response.data.filesLeft)
                   
numberFilesScanned += numberFilesScannedThisTime;
                   
                   if (!
numberFilesToScan) {
                       
numberFilesToScan numberFilesLeft numberFilesScannedThisTime;
                   }
          
                   
signatureScanProgress numberFilesScanned 100 numberFilesToScan;
                   
progressBarWidth Math.round(signatureScanProgress) + '%';
                   
                   $(
'#progressbar_inner').css('width'progressBarWidth);

                   $(
'#progressbar_text').show();
                   $(
'#current_folder').text(lastScannedFile);
                   $(
'#files_found').text(numberFilesScanned);
                   $(
'#files_total').text(numberFilesToScan);

                   
sendRequest("index.php?controller=scanner&a=getSignatureScanResult&delay=" requestDelayhandleSignatureScan);

               } else if (
response.status == 'finished') {
                                  
                   
finish();
                                  
               } else if (
response.type == 'error') {

                   
showErrorMessage('Server side error'response.data);

               }
                         
            
console.log(response);
        }

        function 
handleGetFileList(response) {

               if (
response.phpError || ( response.meta && response.meta.phpError)) {
                   
errorInfo response.phpError response.phpError response.meta.phpError;
                   
showErrorMessage('PHP error'errorInfo);
                   return -
1;
               }

               if (
response.meta.status == 'inProcess')
               { 
                   
console.log('num_dirs=' response.data.length);

                   
sendRequest("index.php?controller=scanner&a=getFileList&delay=" requestDelayhandleGetFileList);

               } else if (
response.meta.status == 'finished') {
                   
                   
sendRequest("index.php?controller=scanner&a=getWebsiteLog&delay=" requestDelay, function() {finishGetFileList();});
                                  
               } else if (
response.meta.type == 'error') {
                   
                   
showErrorMessage('Server side error'response.data);
               }
                         
            
console.log(response);
        }

        function 
restartAfterError(urlhandleResponse) {
            
ajaxErrorCounter 1;
            
console.log("Restart after error");
            
sendRequest(urlhandleResponse);
            $(
"#warning_msg").hide();
        }
        
        function 
sendRequest(urlhandleResponse) {        

            $.
getJSON(url, function(responseJSON) { 

               
handleResponse(responseJSON);
               
ajaxErrorCounter 1;           
               
            })
              .
fail(function(response) {
                
ajaxErrorCounter++;                
                if (
ajaxErrorCounter <= maxAjaxErrors) {                    
                    
delay ajaxErrorCounter 3000;
                    
console.log('Ajax error ' ajaxErrorCounter ' ' JSON.stringify(response) + ' delay before new request = ' delay ' ms');
                    
setTimeout(function() { sendRequest(urlhandleResponse); }, delay);
                } else {     
                   $(
"#warning_msg").show();
                   
console.log('Error:' JSON.stringify(response) + ' wait for 60 sec and restart');
                         
                   
setTimeout(function() { restartAfterError(urlhandleResponse); }, 60000);
                   
//showErrorMessage('Ajax critical error', 'Could not properly handle AJAX request ' + JSON.stringify(response));
                
}
            })
        }
            
        $(
"#startButton").click(function() {
        
            
//prevent going away after scan is started
            
$(window).on('beforeunload', function(){                
                return 
PT_STR_CANCEL_SCAN_CONFIRM
            });

            $(
'#spinner_gif').show();        
            $(
this).attr('value'PT_STR_BUTTON_CANCEL);
            
console.log("getFileList");
            
sendRequest("index.php?controller=scanner&a=getFileList&delay=" requestDelayhandleGetFileList);
            $(
this).hide();
        });

        
sendRequest("index.php?controller=scanner&a=cleanUp", function() {console.log('Cleanup sent')});

        $(
"#settingsLink").click(function(event) {        
            $(
'#configPanel').toggle();
            
event.stopPropagation();
        });

        $(
"#configPanel").click(function() {        
            
clickAtConfig = ($('#configPanel').is(":visible"));
        });

        $(
"#active_area").click(function() {        
            if (
clickAtConfig) {
               
clickAtConfig false;
               return 
true;
            }

            if ($(
'#configPanel').is(":visible")) { 
                $(
'#configPanel').hide();
            } 
        });
 
  
       $(
"#deleteButton").click(function() { 
           if (
confirm(PT_STR_DELETE_TOOL)) {
              
deleteTool();
           } 
       });
      
      function 
deleteTool() {
          $.
post"index.php?controller=executor", { "a""selfDelete" })
           .
done(function( data ) {
               
console.log"Data Loaded: " data );
               var 
response JSON.parse(data);
               if (
response.result == "ok") { 
                   
bootbox.alert(PT_STR_TOOL_DELETED); 
               } else if (
response.result == "error") {
                   
bootbox.alert(PT_STR_TOOL_DELETED ": " response.details); 
               } else {
                   
bootbox.alert(PT_STR_TOOL_DELETED); 
               }               
           });
      }

    } catch(
err) {
        
showErrorMessage('Javascript error'err);
    }

});
?>
Онлайн: 2
Реклама