Created
June 6, 2017 10:52
error log npm
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0 info it worked if it ends with ok | |
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe', | |
1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', | |
1 verbose cli 'install', | |
1 verbose cli 'highcharts', | |
1 verbose cli '--save' ] | |
2 info using npm@3.10.10 | |
3 info using node@v6.10.3 | |
4 silly loadCurrentTree Starting | |
5 silly install loadCurrentTree | |
6 silly install readLocalPackageData | |
7 silly fetchPackageMetaData highcharts | |
8 silly fetchNamedPackageData highcharts | |
9 silly mapToRegistry name highcharts | |
10 silly mapToRegistry using default registry | |
11 silly mapToRegistry registry http://registry.npmjs.org/ | |
12 silly mapToRegistry data Result { | |
12 silly mapToRegistry raw: 'highcharts', | |
12 silly mapToRegistry scope: null, | |
12 silly mapToRegistry escapedName: 'highcharts', | |
12 silly mapToRegistry name: 'highcharts', | |
12 silly mapToRegistry rawSpec: '', | |
12 silly mapToRegistry spec: 'latest', | |
12 silly mapToRegistry type: 'tag' } | |
13 silly mapToRegistry uri http://registry.npmjs.org/highcharts | |
14 verbose request uri http://registry.npmjs.org/highcharts | |
15 verbose request no auth needed | |
16 info attempt registry request try #1 at 12:41:21 | |
17 verbose request id d74d02bcea633b08 | |
18 http request GET http://registry.npmjs.org/highcharts | |
19 http 200 http://registry.npmjs.org/highcharts | |
20 verbose bad json <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | |
20 verbose bad json | |
20 verbose bad json <html> | |
20 verbose bad json <head> | |
20 verbose bad json <meta name="robots" content="noindex,nofollow" /> | |
20 verbose bad json <meta content="yes" name="apple-mobile-web-app-capable" /> | |
20 verbose bad json <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> | |
20 verbose bad json | |
20 verbose bad json <link rel="icon" type="image/vnd.microsoft.icon" href="img/favicon.ico"/> <link rel="shortcut icon" type="image/vnd.microsoft.icon" href="img/favicon.ico"/> | |
20 verbose bad json <link id="dynamicCSS" rel="stylesheet" type="text/css" href="/UserCheck/css/Blob_dynamic_css" /> | |
20 verbose bad json <link id="staticCSS" rel="stylesheet" type="text/css" href="/UserCheck/css/Blob_static.css" /> | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json <script type="text/javascript"> | |
20 verbose bad json //Create a dynamic element to allow sending of the document mode of IE. | |
20 verbose bad json //This way we can notify PHP that it can display modern content instead of classic, despite the browser's reporting of being IE7. | |
20 verbose bad json var headID = document.getElementsByTagName("head")[0]; | |
20 verbose bad json var cssNode = document.createElement('link'); | |
20 verbose bad json cssNode.type = 'text/css'; | |
20 verbose bad json cssNode.rel = 'stylesheet'; | |
20 verbose bad json cssNode.href = "/UserCheck/css/UserCheckCSS" + (document.documentMode !== undefined ? "?documentMode=" + document.documentMode : ""); | |
20 verbose bad json headID.appendChild(cssNode); | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json /* | |
20 verbose bad json ======================================================================================================================== | |
20 verbose bad json PORTAL IS - ESSENTIALS INCLUSION - START | |
20 verbose bad json ________________________________________________________________________________________________________________________ | |
20 verbose bad json */ | |
20 verbose bad json // Set global PORTAL_IS namespace. | |
20 verbose bad json window.PORTAL_IS = {}; | |
20 verbose bad json | |
20 verbose bad json // Set namespace. | |
20 verbose bad json PORTAL_IS.CONF = {}; | |
20 verbose bad json | |
20 verbose bad json PORTAL_IS.CONF.AJAX_REQ_TIMEOUT = 15000; | |
20 verbose bad json | |
20 verbose bad json // These properties describes the external references of the portal. | |
20 verbose bad json PORTAL_IS.CONF.MULTI_PORTALS = {}; | |
20 verbose bad json PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_PATH = ""; | |
20 verbose bad json PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_PORT = 443; | |
20 verbose bad json PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_HOST = "192.168.0.0"; | |
20 verbose bad json PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_SCHEME = "https"; | |
20 verbose bad json PORTAL_IS.CONF.MULTI_PORTALS.XSRF_TOKEN = ""; | |
20 verbose bad json | |
20 verbose bad json // The current web application name. | |
20 verbose bad json PORTAL_IS.CONF.WEBAPP_NAME = "UserCheck"; | |
20 verbose bad json | |
20 verbose bad json // Debug configurations | |
20 verbose bad json PORTAL_IS.CONF.MAX_STACK_SIZE = 1000; | |
20 verbose bad json PORTAL_IS.CONF.QUIET_MODE = "on".toLowerCase() == "on"; | |
20 verbose bad json PORTAL_IS.CONF.DEBUG_LEVEL = 0; | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // Set namespace. | |
20 verbose bad json window.PORTAL_IS.L10N = {} | |
20 verbose bad json | |
20 verbose bad json // Localization object. | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json function __L10N() | |
20 verbose bad json { | |
20 verbose bad json this.strings = new Array(); | |
20 verbose bad json this.browserLangs = new Array(); | |
20 verbose bad json | |
20 verbose bad json this.init = function() | |
20 verbose bad json { | |
20 verbose bad json var obj = {"UC_TITLE":"Check Point UserCheck","UC_TITLE_MOBILE_DLP":"Check Point UserCheck Mobile DLP","BUTTON.OK":"OK","BUTTON.CANCEL":"Cancel","BUTTON.SEND":"Send","BUTTON.DISCARD":"Discard","BUTTON.APPROVE":"Approve","WRONG_ID":"This notification page has expired. You can safely close the page or ","TIMEOUT":"This notification page has expired. You can safely close the page or ","RETRY":"reload the original page.","REPORT_SUCCESS":"Report was sent successfully.","REPORT_ERROR":"An error occured while sending the report.","REQUIRED_FIELDS":"Required fields","ENTER_TEXT":"Enter text","RETURN_TO_SITE":"Return to site","UC.BLOCKED_IFRAME":"Learn more...","UC.INFO_IFRAME":"Click to resolve...","PLEASE_WAIT":"Please wait . . .","NO_SCRIPT":"This portal requires browser which support JavaScript.<br>Please make sure that you are using an updated browser and that JavaScript is enabled.","MSGBOX_TITLE_CONFIRMATION":"Confirmation","MSGBOX_TITLE_JUSTIFICATION":"Justification","MSGBOX_TITLE_APPROVER":"Approver","MSGBOX_TITLE_WARNING":"Warning","MSGBOX_TITLE_ATTENTION":"Attention","MSGBOX_TITLE_ERROR":"Error","MSGBOX_TITLE_REPORT_ERROR":"Report an error","MSGBOX_TITLE_EXTEND_EXPIRATION":"Extend expiration date","DEFAULT_GENERIC_CLIENT_ERROR":"An unexpected error has occurred.\nYou may still be able to continue working normally.\nPlease retry accessing the web page in a short while.\n\n","DEFAULT_GENERIC_TIMEOUT_CLIENT_ERROR":"You may not access this page, or this page has expired.\nPlease sign in.","LOG_REFERENCE_ID":"Log reference id: ","ERROR.LINK.SEND_ERROR_REPORT":"Send error report","ERROR.LINK.IM_HAVING_PROBLEMS":"I am having problems with this Portal.","CHECKPOINT_COPY_RIGHTS":"©2011 Check Point Software Technologies Ltd.","EMAIL_SENT":"The email has been sent","EMAIL_DISCARDED":"The email has been discarded","EMAIL_ALREADY_SENT":"The email has already been sent","EMAIL_ALREADY_DISCARDED":"The email has already been discarded","UNKOWN_INCIDENT_STATUS":"The incident status is unkown","REVIEW_TEXT":"Review issue in portal","MAIL.ITEM.ATTACHMENTS":"Attachments","HTTP_LEARNING":"To complete the operation, <b>please return to site and resend the information<\/b>, thanks.","HTTP_LEARNING_ERROR_MSG":"Sending the message cannot be approved,<\/br> please contact your system administrator.","HTTP_LEARNING_ERROR_TOOLTIP":"Sending the message cannot be approved, please contact your system administrator.","CP_SCRUB_WAIT_MESSAGE":"Please wait while loading files...","CP_SCRUB_RESULT_SUCCESS":"","CP_SCRUB_RESULT_FAILURE":"File structure may be corrupted","CP_SCRUB_RESULT_TIMEOUT":"","CP_SCRUB_RESULT_UNSUPPORTED_FILE":"File format is not supported","CP_SCRUB_RESULT_NOT_SCRUBBED":"","CP_SCRUB_RESULT_INTERNAL_ERROR":"","CP_SCRUB_RESULT_NO_VALID_CONTRACT":"","CP_SCRUB_RESULT_SKIPPED_BY_TE_CONFIDENCE":"","CP_SCRUB_RESULT_OUT_OF_MEMORY":"","CP_SCRUB_RESULT_DOCSEC_FILE":"File encrypted using Checkpoint's Document Security","CP_SCRUB_RESULT_ENCRYPTED_FILE":"contains encrypted data","CP_SCRUB_RESULT_SKIPPED_BY_SCRIPT":"","CP_SCRUB_RESULT_DISK_LIMIT_REACHED":""}; | |
20 verbose bad json | |
20 verbose bad json for(val in obj) | |
20 verbose bad json this.strings[val] = obj[val]; | |
20 verbose bad json | |
20 verbose bad json obj = ["en"]; | |
20 verbose bad json | |
20 verbose bad json for(val in obj) | |
20 verbose bad json { | |
20 verbose bad json this.browserLangs[val] = obj[val].split(';')[0]; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.getStr = function(stringId) | |
20 verbose bad json { | |
20 verbose bad json return this.strings[stringId]; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.selectLanguage = function(languageArray) | |
20 verbose bad json { | |
20 verbose bad json for(lang in this.browserLangs) | |
20 verbose bad json { | |
20 verbose bad json if(languageArray[this.browserLangs[lang]] === true) | |
20 verbose bad json return this.browserLangs[lang]; | |
20 verbose bad json | |
20 verbose bad json if(languageArray[this.browserLangs[lang].substring(0, 2)] === true) | |
20 verbose bad json return this.browserLangs[lang].substring(0, 2); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json //If nothing succeeded, return the default. | |
20 verbose bad json return "en"; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.reloadLanguageTo = function(lang, fallbackLang, callback) | |
20 verbose bad json { | |
20 verbose bad json var requestData = {}; | |
20 verbose bad json | |
20 verbose bad json requestData.lang = lang; | |
20 verbose bad json requestData.fallbackLang = fallbackLang; | |
20 verbose bad json | |
20 verbose bad json var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetTranslationData"); | |
20 verbose bad json | |
20 verbose bad json sendAsynchronousRequest(sAbsoluteURL, | |
20 verbose bad json flattenObject(requestData), | |
20 verbose bad json this.asyncReloadLangHandler, | |
20 verbose bad json this, | |
20 verbose bad json [callback]); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.asyncReloadLangHandler = function(xhrStatus, xhrResponse, callback) | |
20 verbose bad json { | |
20 verbose bad json if (xhrStatus != 200) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out('Retreiving translation data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var obj = JSON.parse(xhrResponse); | |
20 verbose bad json this.strings = null; //Ensure removing of old values. | |
20 verbose bad json this.strings = new Array(); | |
20 verbose bad json | |
20 verbose bad json for(val in obj) | |
20 verbose bad json this.strings[val] = obj[val]; | |
20 verbose bad json | |
20 verbose bad json callback(); | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json //Localization object. | |
20 verbose bad json L10N_Obj = new __L10N(); | |
20 verbose bad json L10N_Obj.init(); | |
20 verbose bad json PORTAL_IS.L10N.L10N_Obj = L10N_Obj; | |
20 verbose bad json | |
20 verbose bad json /* | |
20 verbose bad json ________________________________________________________________________________________________________________________ | |
20 verbose bad json | |
20 verbose bad json PORTAL IS - ESSENTIALS INCLUSION - END | |
20 verbose bad json ======================================================================================================================== | |
20 verbose bad json */ | |
20 verbose bad json var noJSCrypto = "true"; | |
20 verbose bad json </script> | |
20 verbose bad json <script type="text/javascript" src="js/Blob.js"></script> | |
20 verbose bad json <script type="text/javascript"> | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // Create namespace | |
20 verbose bad json window.UserCheck = {}; | |
20 verbose bad json window.UserCheck.tools = {}; | |
20 verbose bad json | |
20 verbose bad json // ======================================================================================= | |
20 verbose bad json function parseSender(value) | |
20 verbose bad json { | |
20 verbose bad json return value.address; | |
20 verbose bad json } | |
20 verbose bad json // ======================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // ======================================================================================= | |
20 verbose bad json // Render recipient list from and array. | |
20 verbose bad json // String[] recipientsArr - Array of recipients. | |
20 verbose bad json // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
20 verbose bad json // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
20 verbose bad json function recipientsArr2StrInTable(recipientsArr, ellipsisLimit, useLinebreakes) | |
20 verbose bad json { | |
20 verbose bad json if (ellipsisLimit == undefined) | |
20 verbose bad json { | |
20 verbose bad json ellipsisLimit = 0; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if (useLinebreakes == undefined) | |
20 verbose bad json { | |
20 verbose bad json useEllipsis = true; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var recipientsList = ""; | |
20 verbose bad json | |
20 verbose bad json for (var i=0; i<recipientsArr.length; i++) | |
20 verbose bad json { | |
20 verbose bad json recipientsList += HTMLEncode(recipientsArr[i].address); | |
20 verbose bad json if (i < recipientsArr.length-1) | |
20 verbose bad json { | |
20 verbose bad json recipientsList += ", "; | |
20 verbose bad json if (useLinebreakes) | |
20 verbose bad json { | |
20 verbose bad json recipientsList += "<br>"; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if (ellipsisLimit > 0) | |
20 verbose bad json { | |
20 verbose bad json //recipientsList = Ext.util.Format.ellipsis(recipientsList, ellipsisLimit); | |
20 verbose bad json recipientsList = recipientsList; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json return recipientsList; | |
20 verbose bad json } | |
20 verbose bad json // ======================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // ======================================================================================= | |
20 verbose bad json // Render recipient list from and array. | |
20 verbose bad json // Sender sender - The sender data. | |
20 verbose bad json // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
20 verbose bad json // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
20 verbose bad json function getSenderName(sender, ellipsisLimit) | |
20 verbose bad json { | |
20 verbose bad json var output = ""; | |
20 verbose bad json | |
20 verbose bad json if (ellipsisLimit == undefined) | |
20 verbose bad json { | |
20 verbose bad json ellipsisLimit = 0; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if (sender.name.empty()) | |
20 verbose bad json { | |
20 verbose bad json output = sender.address; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json output = sender.name; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // if (ellipsisLimit > 0) | |
20 verbose bad json // { | |
20 verbose bad json // output = Ext.util.Format.ellipsis(output, ellipsisLimit); | |
20 verbose bad json // } | |
20 verbose bad json | |
20 verbose bad json return output; | |
20 verbose bad json } | |
20 verbose bad json // ======================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // ======================================================================================= | |
20 verbose bad json // Render recipient list from and array. | |
20 verbose bad json // String sender - The subject string. | |
20 verbose bad json // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
20 verbose bad json // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
20 verbose bad json function getSubject(subject, ellipsisLimit) | |
20 verbose bad json { | |
20 verbose bad json var output = subject; | |
20 verbose bad json | |
20 verbose bad json if (ellipsisLimit == undefined) | |
20 verbose bad json { | |
20 verbose bad json ellipsisLimit = 0; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // if (ellipsisLimit > 0) | |
20 verbose bad json // { | |
20 verbose bad json // output = Ext.util.Format.ellipsis(output, ellipsisLimit); | |
20 verbose bad json // } | |
20 verbose bad json | |
20 verbose bad json return output; | |
20 verbose bad json } | |
20 verbose bad json // ======================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // ======================================================================================= | |
20 verbose bad json // tranform recipients array to string | |
20 verbose bad json function recipientsArr2Str(recipientsArr,type) | |
20 verbose bad json { | |
20 verbose bad json var recipientsList = ""; | |
20 verbose bad json var address = ""; | |
20 verbose bad json var commaNeeded = false; | |
20 verbose bad json for (var i=0; i<recipientsArr.length; i++) | |
20 verbose bad json { | |
20 verbose bad json if (type == recipientsArr[i].recipientType) | |
20 verbose bad json { | |
20 verbose bad json if (!commaNeeded) | |
20 verbose bad json commaNeeded = true; | |
20 verbose bad json else | |
20 verbose bad json recipientsList += ", "; | |
20 verbose bad json | |
20 verbose bad json address = HTMLEncode(recipientsArr[i].address); | |
20 verbose bad json if (recipientsArr[i].isExternal) | |
20 verbose bad json { | |
20 verbose bad json address = '<span ' + GetDomainColor(recipientsArr[i].address)+' >' + address + '</span>' | |
20 verbose bad json } | |
20 verbose bad json recipientsList += address; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json return recipientsList; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // ======================================================================================= | |
20 verbose bad json function arr2Str(arr) | |
20 verbose bad json { | |
20 verbose bad json var str = ""; | |
20 verbose bad json var commaNeeded = false; | |
20 verbose bad json for (var i=0; i<arr.length; i++) | |
20 verbose bad json { | |
20 verbose bad json if (!commaNeeded) | |
20 verbose bad json { | |
20 verbose bad json commaNeeded = true; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json str += ", "; | |
20 verbose bad json } | |
20 verbose bad json str += arr[i]; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json return str; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json function GetDomainColor(str) | |
20 verbose bad json { | |
20 verbose bad json // var highlightColors = new Array("FFFF00","00FF00","00FFFF","FF00FF","FF0000","FFFF99","99FF99","CCFFFF","FFCCFF", "FF9999") | |
20 verbose bad json var highlightColors = new Array("FFFF00","FF00FF","FF0000","FFBB00","FF9999"); | |
20 verbose bad json domainName = GetDomainName(str); | |
20 verbose bad json if (domainName==null) return null; | |
20 verbose bad json | |
20 verbose bad json hash=0; | |
20 verbose bad json for (i=0; i<domainName.length; i++) | |
20 verbose bad json { | |
20 verbose bad json hash += domainName.charCodeAt(i); | |
20 verbose bad json } | |
20 verbose bad json hash = hash % (highlightColors.length); | |
20 verbose bad json return 'style="background-color: #' + highlightColors[hash] + '; text-decoration: underline;"'; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json /* | |
20 verbose bad json // ======================================================================================= | |
20 verbose bad json UserCheck.tools.clearContainer = function(containerId) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("Clear container: "+containerId); | |
20 verbose bad json var container = Ext.getCmp(containerId); | |
20 verbose bad json if ((container) && (container.items)) | |
20 verbose bad json { | |
20 verbose bad json container.items.each( | |
20 verbose bad json function(item) | |
20 verbose bad json { | |
20 verbose bad json container.remove(item, true); | |
20 verbose bad json } | |
20 verbose bad json ); | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json // ======================================================================================= | |
20 verbose bad json */ | |
20 verbose bad json | |
20 verbose bad json // Override poral_is error handler. | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json window.genericTimeoutHandler = function(portalException) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UserCheck::genericTimeoutHandler."); | |
20 verbose bad json | |
20 verbose bad json if ((portalException == undefined) || (portalException == null)) | |
20 verbose bad json { | |
20 verbose bad json portalException = new PortalException(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // Assign action to the Ok button. | |
20 verbose bad json // The event is added in order to get the exception, if it is set, that is set as the error message OK button attribute. see showPortalErrorMessage | |
20 verbose bad json postErrorHandler = function(event) | |
20 verbose bad json { | |
20 verbose bad json // Check if redirected due to timeout. | |
20 verbose bad json if (getCookie("isRedirectedDueTimeout") == "1") | |
20 verbose bad json { | |
20 verbose bad json // Delete the cookie to allow future errors. | |
20 verbose bad json setCookie("isRedirectedDueTimeout", "0", 0); | |
20 verbose bad json | |
20 verbose bad json // TODO: Redirect to error page. | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // Set cookie in order to prevent error loops. | |
20 verbose bad json setCookie("isRedirectedDueTimeout", "1", 5*60); | |
20 verbose bad json | |
20 verbose bad json genericPostErrorHandler(event); | |
20 verbose bad json | |
20 verbose bad json // Reload the page. | |
20 verbose bad json document.location.href=document.location.href; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // TODO: Get message from resource bundle. | |
20 verbose bad json //var errMsg = "Your session has expired or timed out.\nYou will be redirected to the login page.\n\n"; | |
20 verbose bad json showPortalErrorMessage(portalException, postErrorHandler, true); | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json window.genericErrorHandler = function(portalException, callback) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UserCheck::genericErrorHandler."); | |
20 verbose bad json if ((portalException == undefined) || (portalException == null)) | |
20 verbose bad json { | |
20 verbose bad json portalException = new PortalException(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if (isNothingness(callback)) | |
20 verbose bad json { | |
20 verbose bad json callback = new Callback(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // Assign action to the Ok button. | |
20 verbose bad json // The event is added in order to get the exception, if it is set, that is set as the error message OK button attribute. see showPortalErrorMessage | |
20 verbose bad json postErrorHandler = function(event) | |
20 verbose bad json { | |
20 verbose bad json genericPostErrorHandler(event); | |
20 verbose bad json callback.call(); | |
20 verbose bad json // No reload of the page. | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json showPortalErrorMessage(portalException, postErrorHandler, true); | |
20 verbose bad json return true; // This is required for the execption to stop from being passed to the browser. | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json window.genericPostErrorHandler = function(event) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UserCheck::genericPostErrorHandler."); | |
20 verbose bad json // Just hide the error. | |
20 verbose bad json hidePortalErrorMessage(); | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json UserCheck.tools.sendErrorReport = function(userDesc, callback) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UserCheck.tools.sendErrorReport in."); | |
20 verbose bad json | |
20 verbose bad json var sAbsoluteURL = getURL("data/submitErrorReport"); | |
20 verbose bad json var report = encodeURIComponent(DEBUG.compileErrorReport()); | |
20 verbose bad json var userDesc = encodeURIComponent(userDesc); | |
20 verbose bad json | |
20 verbose bad json var sendErrorReportCallback = new Callback(); | |
20 verbose bad json sendErrorReportCallback.methodReference = UserCheck.tools.handleErrorReportResponse; | |
20 verbose bad json sendErrorReportCallback.args.push(callback); | |
20 verbose bad json | |
20 verbose bad json // Send report with no error handlers. | |
20 verbose bad json PORTAL_IS.AJAX_MGR.sendAsyncReq(sAbsoluteURL, "report="+report+"&userDesc="+userDesc, sendErrorReportCallback, null, null, "Sending of error report failed."); | |
20 verbose bad json | |
20 verbose bad json // Set error flag. | |
20 verbose bad json PORTAL_IS.TOOLS.errorMsgShown = false; | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json UserCheck.tools.handleErrorReportResponse = function(xhrStatus, xhrResponse, callback) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UserCheck.tools.handleErrorReportResponse in."); | |
20 verbose bad json | |
20 verbose bad json // Set error flag. | |
20 verbose bad json PORTAL_IS.TOOLS.errorMsgShown = false; | |
20 verbose bad json | |
20 verbose bad json if (isNothingness(callback)) | |
20 verbose bad json { | |
20 verbose bad json callback = new Callback(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if (xhrStatus != 200) | |
20 verbose bad json { | |
20 verbose bad json // TODO: Handle error. | |
20 verbose bad json DEBUG.out('Submitting error report failed. ('+xhrStatus+')', DEBUG.ERROR); | |
20 verbose bad json callback.call(); | |
20 verbose bad json showPortalMessage("Sending of error report failed."); | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json callback.call(); | |
20 verbose bad json | |
20 verbose bad json showPortalMessage("Error report was sent successfully.\nThank you for your support.", null, UserCheck.MESSAGE_TYPE.Confirmation); | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json UserCheck.tools.showErrorReport = function(callback) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UserCheck.tools.showErrorReport in."); | |
20 verbose bad json | |
20 verbose bad json // Create new callback with send report and store previous callback in it. | |
20 verbose bad json submitCallback = new Callback(); | |
20 verbose bad json submitCallback.methodReference = DEBUG.sendErrorReport; | |
20 verbose bad json submitCallback.args = [callback]; | |
20 verbose bad json | |
20 verbose bad json // Create new callback for cancel. | |
20 verbose bad json cancelCallback = new Callback(); | |
20 verbose bad json cancelCallback.methodReference = function() | |
20 verbose bad json { | |
20 verbose bad json // Clear error flag. | |
20 verbose bad json PORTAL_IS.TOOLS.errorMsgShown = false; | |
20 verbose bad json callback.call(); | |
20 verbose bad json }; | |
20 verbose bad json | |
20 verbose bad json // Hide any opened boxes. | |
20 verbose bad json PORTAL_IS.TOOLS.hideGeneralContainer(); | |
20 verbose bad json PORTAL_IS.TOOLS.hideDialog(); | |
20 verbose bad json hidePortalMessage(); | |
20 verbose bad json hidePortalErrorMessage(); | |
20 verbose bad json | |
20 verbose bad json PORTAL_IS.TOOLS.showDialog( "Please describe the encountered problem in the text box below.", | |
20 verbose bad json "NOTICE: The report might include personal information from your mail items.\nThe report will not include your credentials.", | |
20 verbose bad json "I was trying to (e.g. review an email):\n\nWork flow which led to this error (e.g. access via email link):\n\nI am unable to:", | |
20 verbose bad json "Report an error", | |
20 verbose bad json submitCallback, cancelCallback, null, null, null, null, true); | |
20 verbose bad json | |
20 verbose bad json // Set error flag. | |
20 verbose bad json PORTAL_IS.TOOLS.errorMsgShown = true; | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json DEBUG.showErrorReport = UserCheck.tools.showErrorReport; | |
20 verbose bad json DEBUG.sendErrorReport = UserCheck.tools.sendErrorReport; | |
20 verbose bad json | |
20 verbose bad json UserCheck.tools.oTimeoutManager = | |
20 verbose bad json { | |
20 verbose bad json timerID: -1, | |
20 verbose bad json startTimeoutTimer: function(duration, callback) | |
20 verbose bad json { | |
20 verbose bad json var milisecs = duration * 1000; | |
20 verbose bad json if (milisecs > 2147483646) | |
20 verbose bad json { | |
20 verbose bad json | |
20 verbose bad json milisecs = 2147483646; | |
20 verbose bad json | |
20 verbose bad json } | |
20 verbose bad json DEBUG.out("UserCheck.tools.TimeoutManager: Starting timer for " + duration + " seconds."); | |
20 verbose bad json window.TimeoutManagerCallback = callback; | |
20 verbose bad json this.timerID = setTimeout("this.TimeoutManagerCallback();", milisecs); | |
20 verbose bad json }, | |
20 verbose bad json stopTimeoutTimer: function() | |
20 verbose bad json { | |
20 verbose bad json clearTimeout(timerID); | |
20 verbose bad json timerID = -1; | |
20 verbose bad json } | |
20 verbose bad json }; | |
20 verbose bad json | |
20 verbose bad json UserCheck.DataObj = {}; | |
20 verbose bad json | |
20 verbose bad json // TODO: This should be defined as an "interface" class and other view managers should implement it. | |
20 verbose bad json | |
20 verbose bad json // UC's view manager. | |
20 verbose bad json window.UCViewManager = function() | |
20 verbose bad json { | |
20 verbose bad json this.lastRenderedCustomContentContainers = new Array(); | |
20 verbose bad json this.defaultContainer = 'portal_main_view'; | |
20 verbose bad json this.ignoreHashChange = false; | |
20 verbose bad json this.wait = null; | |
20 verbose bad json this.requestParams = null; | |
20 verbose bad json | |
20 verbose bad json // Hash to view mapping, enables us to set display another value than the actual view name. | |
20 verbose bad json //================================================================================================================== | |
20 verbose bad json this.hashViewMap = new Array(); | |
20 verbose bad json // Hash name View name | |
20 verbose bad json //__________________________________________________________________________________________________________________ | |
20 verbose bad json this.hashViewMap["UserAction"] = "UserAction"; | |
20 verbose bad json this.hashViewMap["MainWithMenuView"] = "MainWithMenuView"; | |
20 verbose bad json this.hashViewMap["Menu"] = "Menu"; | |
20 verbose bad json this.hashViewMap["Logout"] = "Logout"; | |
20 verbose bad json this.hashViewMap["MainView"] = "MainView"; | |
20 verbose bad json this.hashViewMap["Error"] = "Error"; | |
20 verbose bad json | |
20 verbose bad json // Get View name from Hash name. | |
20 verbose bad json this.hash2View = function(hash) | |
20 verbose bad json { | |
20 verbose bad json var view = this.hashViewMap[hash]; | |
20 verbose bad json | |
20 verbose bad json if (isNothingness(view)) | |
20 verbose bad json { | |
20 verbose bad json view = "UserAction"; | |
20 verbose bad json } | |
20 verbose bad json return view; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // Get Hash name from View name. | |
20 verbose bad json this.view2Hash = function(view) | |
20 verbose bad json { | |
20 verbose bad json var hash = "UserAction"; | |
20 verbose bad json for (key in this.hashViewMap) | |
20 verbose bad json { | |
20 verbose bad json if (this.hashViewMap[key] == view) | |
20 verbose bad json { | |
20 verbose bad json var hash = key; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json return hash; | |
20 verbose bad json } | |
20 verbose bad json //================================================================================================================== | |
20 verbose bad json | |
20 verbose bad json // Initialize view manager. | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json this.init = function() | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UCViewManager::init"); | |
20 verbose bad json | |
20 verbose bad json // Bind history change handler. | |
20 verbose bad json $(window).bind('hashchange', viewManager.handleHistoryChange); | |
20 verbose bad json | |
20 verbose bad json // Check address bar's hash and set desired view if exists. | |
20 verbose bad json var desiredView = this.parseHash().view; | |
20 verbose bad json if (isNothingness(desiredView)) | |
20 verbose bad json { | |
20 verbose bad json desiredView = ""; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json DEBUG.out("UCViewManager::init, desired view: [" + desiredView + "]"); | |
20 verbose bad json this.gotoNextView(desiredView); | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // Handle history changes (back/reload). | |
20 verbose bad json // Overriding default handling. | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json this.handleHistoryChange = function(e, ui) | |
20 verbose bad json { | |
20 verbose bad json // In some cases the hash is changed and no view load is required, checking if so. | |
20 verbose bad json if (!viewManager.ignoreHashChange && ui != undefined) | |
20 verbose bad json { | |
20 verbose bad json // Parse view from hash. | |
20 verbose bad json var desiredView = viewManager.parseHash().view; | |
20 verbose bad json DEBUG.out("UCViewManager::handleHistoryChange, desired view:" + desiredView); | |
20 verbose bad json viewManager.gotoNextView(desiredView); | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UCViewManager::handleHistoryChange, hash changed ignored."); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // Reset the ignore flag. | |
20 verbose bad json viewManager.ignoreHashChange = false; | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // Queries the server for next desired view and than call for rendering it. | |
20 verbose bad json // Will call upon callback when done rendering the view. | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json this.gotoNextView = function(requestedView, callback) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UCViewManager::gotoNextView"); | |
20 verbose bad json | |
20 verbose bad json if (isNothingness(callback)) | |
20 verbose bad json { | |
20 verbose bad json callback = new Callback(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // Check what is the next view. | |
20 verbose bad json var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("GetNextView"); | |
20 verbose bad json var parameters = (isNothingness(requestedView)) ? ("") : ("requestedView=" + encodeURIComponent(requestedView)); | |
20 verbose bad json | |
20 verbose bad json var gotoNextViewCallback = new Callback(); | |
20 verbose bad json gotoNextViewCallback.methodReference = this.handleGotoNextViewRequest; | |
20 verbose bad json gotoNextViewCallback.thisArgument = this; | |
20 verbose bad json gotoNextViewCallback.args = [callback]; | |
20 verbose bad json | |
20 verbose bad json PORTAL_IS.AJAX_MGR.sendAsyncReq(sAbsoluteURL, parameters, gotoNextViewCallback); | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // Handle next view query. | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json this.handleGotoNextViewRequest = function(xhrStatus, xhrResponse, callback) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UCViewManager::handleGotoNextViewRequest"); | |
20 verbose bad json | |
20 verbose bad json if (isNothingness(callback)) | |
20 verbose bad json { | |
20 verbose bad json callback = new Callback(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if (xhrStatus != 200) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out('Retreiving next view failed. ('+xhrStatus+')', DEBUG.ERROR); | |
20 verbose bad json callback.call(); | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var nextViewJSONObj = JSON.parse(xhrResponse); | |
20 verbose bad json var nextView = nextViewJSONObj.view; | |
20 verbose bad json DEBUG.out("UCViewManager::handleGotoNextViewRequest, next view:" + nextView); | |
20 verbose bad json | |
20 verbose bad json // Extract the data (request params) from hash and relay it onto next hash. | |
20 verbose bad json // As hash changing handler will be passed back to this method we set the Ignore flag to TRUE | |
20 verbose bad json // and call for the gotoView method. | |
20 verbose bad json viewManager.changeHash(nextView, viewManager.parseHash().data, true); | |
20 verbose bad json | |
20 verbose bad json viewManager.gotoView(nextView, callback); | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // Get view contents (CSS, JS and HTML). | |
20 verbose bad json // Will call upon callback when done rendering the view. | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json this.gotoView = function(view, callback) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UCViewManager::gotoView view: ["+view+"]"); | |
20 verbose bad json | |
20 verbose bad json if (callback == undefined) | |
20 verbose bad json { | |
20 verbose bad json callback = new Callback(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var hash = this.parseHash().view; | |
20 verbose bad json var parameters = (hash == "") ? ("view="+encodeURIComponent(hash)) : ( "requestedView=" + encodeURIComponent(view) + "&view="+encodeURIComponent(hash) ); | |
20 verbose bad json | |
20 verbose bad json sendAsynchronousRequest(PORTAL_IS.TOOLS.getURL("viewManager/GetViewData"), | |
20 verbose bad json parameters, | |
20 verbose bad json this.handleNewView, | |
20 verbose bad json this, | |
20 verbose bad json [callback]); | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // Handle new view rendering. | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json this.handleNewView = function(xhrStatus, xhrResponse, callback) | |
20 verbose bad json { | |
20 verbose bad json if (callback == undefined) | |
20 verbose bad json { | |
20 verbose bad json callback = new Callback(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if (xhrStatus != 200) | |
20 verbose bad json { | |
20 verbose bad json // TODO: Handle error. | |
20 verbose bad json DEBUG.out('Retreiving view failed. ('+xhrStatus+')', DEBUG.ERROR); | |
20 verbose bad json callback.call(); | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var newViewJSONObj = JSON.parse(xhrResponse); | |
20 verbose bad json var newView = newViewJSONObj.view; | |
20 verbose bad json DEBUG.out("UCViewManager::handleNewView, Parsed from JSON - view:" + newView); | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json var useDefaultContainerId = true; | |
20 verbose bad json var requiredContainerId = ""; | |
20 verbose bad json var requiredView = ""; | |
20 verbose bad json var requireSecureConnection = false; | |
20 verbose bad json | |
20 verbose bad json switch (newView) | |
20 verbose bad json { | |
20 verbose bad json default: // View will be rendered into main page view. | |
20 verbose bad json useDefaultContainerId = true; | |
20 verbose bad json requiredContainerId = this.defaultContainer; | |
20 verbose bad json break; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // Check if in https, redirect if not. | |
20 verbose bad json if ((requireSecureConnection) && (location.protocol.toLowerCase() == 'http:')) | |
20 verbose bad json { | |
20 verbose bad json newLocation = location.href.replace(/http:/i, "https:"); | |
20 verbose bad json location.href = newLocation; | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var containerId = this.defaultContainer; | |
20 verbose bad json if (!useDefaultContainerId) | |
20 verbose bad json { | |
20 verbose bad json containerId = requiredContainerId; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json //var container = Ext.getCmp(containerId); | |
20 verbose bad json var container = document.getElementById(containerId); | |
20 verbose bad json | |
20 verbose bad json if (container != undefined) | |
20 verbose bad json { | |
20 verbose bad json | |
20 verbose bad json DEBUG.out('Render new view ('+newViewJSONObj.view+') into [' + (useDefaultContainerId ? "DefaultContainer" : requiredContainerId) + "]."); | |
20 verbose bad json | |
20 verbose bad json // Render CSS. - Not needed, all CSS loads from one blob file. | |
20 verbose bad json //evaluateCSS(newViewJSONObj.css, ""); | |
20 verbose bad json | |
20 verbose bad json // Clear existing content. | |
20 verbose bad json container.innerHTML = ""; | |
20 verbose bad json | |
20 verbose bad json // If the html content is not empty, render it into a new pane. | |
20 verbose bad json container.innerHTML = newViewJSONObj.html; | |
20 verbose bad json | |
20 verbose bad json // Render JavaScript Content. | |
20 verbose bad json evaluateJavaScript(newViewJSONObj.javascript); | |
20 verbose bad json | |
20 verbose bad json } | |
20 verbose bad json else if (requiredContainerId == this.defaultContainer) | |
20 verbose bad json { | |
20 verbose bad json | |
20 verbose bad json DEBUG.out('Default view is missing and will be rendered...'); | |
20 verbose bad json this.renderDefaultView(); | |
20 verbose bad json this.handleNewView(xhrStatus, xhrResponse, callback); | |
20 verbose bad json | |
20 verbose bad json } | |
20 verbose bad json else // The container is not present and needs to be rendered first. | |
20 verbose bad json { | |
20 verbose bad json | |
20 verbose bad json DEBUG.out('Required view ('+requiredContainerId+') is missing and needs to be rendered first.'); | |
20 verbose bad json | |
20 verbose bad json // Set the previous view results in a callback, it will be called when finished rendering of the login sequence page. | |
20 verbose bad json var requiredViewCallback = new Callback(); | |
20 verbose bad json requiredViewCallback.methodReference = this.handleNewView; | |
20 verbose bad json requiredViewCallback.thisArgument = this; | |
20 verbose bad json requiredViewCallback.args = [200, xhrResponse]; // Set fake status and response. | |
20 verbose bad json | |
20 verbose bad json // Request specific view. | |
20 verbose bad json this.gotoView(requiredView, requiredViewCallback); | |
20 verbose bad json | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // TODO: detect loops. | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // Done here, call the callback. | |
20 verbose bad json //this.wait.hide(); | |
20 verbose bad json callback.call(); | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // CUSTOM CONTENT RELATED METHODS | |
20 verbose bad json // _________________________________________________________________________________________________________________ | |
20 verbose bad json | |
20 verbose bad json // Get the view's custom Content. | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json this.getViewCustomContent = function(view) | |
20 verbose bad json { | |
20 verbose bad json this.clearLastCustomContent(); | |
20 verbose bad json | |
20 verbose bad json var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("JSONViewData/GetViewCustomContent"); | |
20 verbose bad json sendAsynchronousRequest(sAbsoluteURL, | |
20 verbose bad json "view="+view, | |
20 verbose bad json this.renderCustomContent, | |
20 verbose bad json this, | |
20 verbose bad json []); | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // Render the custom content. | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json this.renderCustomContent = function(xhrStatus, xhrResponse, callbackObj) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out('Render custom content.'); | |
20 verbose bad json callback = new Callback(callbackObj); | |
20 verbose bad json | |
20 verbose bad json if (xhrStatus != 200) | |
20 verbose bad json { | |
20 verbose bad json // TODO: Handle error. | |
20 verbose bad json DEBUG.out('Retreiving custom content failed. ('+xhrStatus+')', DEBUG.ERROR); | |
20 verbose bad json callback.call(); | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // The container Id is: "CustomContent_<VIEW NAME>_<RESOURCE KEY>". | |
20 verbose bad json // For example: the "ISW" view and the resource key of "top" will be rendered into "CustomContent_ISW_top". | |
20 verbose bad json | |
20 verbose bad json var newCustomContentJSONObj = JSON.parse(xhrResponse); | |
20 verbose bad json var keyArr = newCustomContentJSONObj.keyArr; | |
20 verbose bad json var view = newCustomContentJSONObj.view | |
20 verbose bad json | |
20 verbose bad json // Override view. | |
20 verbose bad json switch (view) | |
20 verbose bad json { | |
20 verbose bad json case "ICS": // No brake, group these views. | |
20 verbose bad json case "Authentication": | |
20 verbose bad json case "ISW": | |
20 verbose bad json case "MultiChallenge": | |
20 verbose bad json case "IswEntry": | |
20 verbose bad json var usedView = "LoginSequencePage"; | |
20 verbose bad json break; | |
20 verbose bad json | |
20 verbose bad json default: | |
20 verbose bad json var usedView = view; | |
20 verbose bad json break; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // Iterate on each of the custom content object. | |
20 verbose bad json var customContent, containerId, key; | |
20 verbose bad json //for (var key in keyMap) | |
20 verbose bad json for (var i=0; i<keyArr.length; i++) | |
20 verbose bad json { | |
20 verbose bad json key = keyArr[i][0]; | |
20 verbose bad json customContent = keyArr[i][1]; | |
20 verbose bad json containerId = "CustomContent_"+usedView+"_"+key; | |
20 verbose bad json DEBUG.out('Render custom content: usedView:['+usedView+"] into:["+containerId+"]"); | |
20 verbose bad json this.evaluateCustomContent(customContent, containerId); | |
20 verbose bad json this.lastRenderedCustomContentContainers.push(containerId); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // Call the callback. | |
20 verbose bad json callback.call(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // Encapsulate conditional rendering of the custom content. | |
20 verbose bad json this.evaluateCustomContent = function(customContent, containerId) | |
20 verbose bad json { | |
20 verbose bad json destinationRef = document.getElementById(containerId); | |
20 verbose bad json if ( (destinationRef != null) && (destinationRef != undefined) ) | |
20 verbose bad json { | |
20 verbose bad json evaluateHTMLContent(customContent, destinationRef); | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // Clear last rendered containers. | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json this.clearLastCustomContent = function() | |
20 verbose bad json { | |
20 verbose bad json for (var containerIndex in this.lastRenderedCustomContentContainers) | |
20 verbose bad json { | |
20 verbose bad json this.evaluateCustomContent(" ", this.lastRenderedCustomContentContainers[containerIndex]); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.lastRenderedCustomContentContainers = new Array(); | |
20 verbose bad json } | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json | |
20 verbose bad json // Render default view. | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json this.renderDefaultView = function() | |
20 verbose bad json {} | |
20 verbose bad json //================================================================================================================== | |
20 verbose bad json | |
20 verbose bad json //================================================================================================================== | |
20 verbose bad json this.logoutButtonHandler = function() | |
20 verbose bad json {} | |
20 verbose bad json //================================================================================================================== | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json // DEPRECATED METHODS | |
20 verbose bad json // _________________________________________________________________________________________________________________ | |
20 verbose bad json | |
20 verbose bad json // DEPRECATED, use viewManager.gotoNextView instead. | |
20 verbose bad json //================================================================================================================== | |
20 verbose bad json this.gotoNextState = function(callback) | |
20 verbose bad json { | |
20 verbose bad json this.gotoNextView(null, callback); | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json //================================================================================================================== | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // Extend ViewManager (Portal IS). | |
20 verbose bad json UCViewManager.prototype = new ViewManager(); | |
20 verbose bad json window.viewManager = new UCViewManager(); | |
20 verbose bad json | |
20 verbose bad json </script> | |
20 verbose bad json | |
20 verbose bad json <title>Check Point UserCheck</title> | |
20 verbose bad json </head> | |
20 verbose bad json | |
20 verbose bad json <body class="usercheck_body_background_class" unselectable="on"> | |
20 verbose bad json <noscript> | |
20 verbose bad json This portal requires browser which support JavaScript.<br>Please make sure that you are using an updated browser and that JavaScript is enabled. </noscript> | |
20 verbose bad json <div id='portalErrorMessage' class="portalErrorMessageDivHide"> | |
20 verbose bad json | |
20 verbose bad json <table cellpadding="0px" cellspacing="0px" class="portalErrorMessageTableContainer" width="100%"> | |
20 verbose bad json <tr> | |
20 verbose bad json <td align="center"> | |
20 verbose bad json | |
20 verbose bad json <table cellpadding="0px" cellspacing="0px" class="portalErrorMessageTable"> | |
20 verbose bad json | |
20 verbose bad json <tr id="portalErrorMessage_title_container_row" class="portalMessage_title show" width="100%"> | |
20 verbose bad json <td id="portalErrorMessage_title_container" height="10px" valign="middle" align="left" colspan="2"> </td> | |
20 verbose bad json </tr> | |
20 verbose bad json | |
20 verbose bad json <tr> | |
20 verbose bad json <td id="portalErrorMessage_container" align="left" style="padding: 10px;" colspan="2"> </td> | |
20 verbose bad json </tr> | |
20 verbose bad json | |
20 verbose bad json <tr> | |
20 verbose bad json | |
20 verbose bad json <td> | |
20 verbose bad json <table cellpadding="0px" cellspacing="0px" width="100%"style=" padding: 10px;"> | |
20 verbose bad json <tr> | |
20 verbose bad json <td id="portalMessage_error_report_container" align="left" valign="buttom" class="hide"> | |
20 verbose bad json <span id="portalMessage_error_report_link" onclick="DEBUG.showErrorReport();" class="portal_link" style="left: 10px;"> | |
20 verbose bad json Send error report </span> | |
20 verbose bad json </td> | |
20 verbose bad json <td id="portalMessage_error_button_container" align="right" height="10px;" valign="buttom"> | |
20 verbose bad json <button id="portalErrorMessage_button" class="portalErrorMessage_button" onclick="hidePortalErrorMessage();"> | |
20 verbose bad json OK </button> | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json </table> | |
20 verbose bad json </td> | |
20 verbose bad json | |
20 verbose bad json </tr> | |
20 verbose bad json | |
20 verbose bad json </table> | |
20 verbose bad json | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json </table> | |
20 verbose bad json | |
20 verbose bad json </div> | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json <div id='portalMessage' class="portalMessageDivHide"> | |
20 verbose bad json | |
20 verbose bad json <table cellpadding="0px" cellspacing="0px" class="portalMessageTableContainer" width="100%"> | |
20 verbose bad json <tr> | |
20 verbose bad json <td align="center"> | |
20 verbose bad json | |
20 verbose bad json <table cellpadding="0px" cellspacing="0px" class="portalMessageTable"> | |
20 verbose bad json | |
20 verbose bad json <tr id="portalMessage_title_container_row" class="portalMessage_title show"> | |
20 verbose bad json <td id="portalMessage_title_container" class="portalMessage_title_td" valign="middle" align="left"> | |
20 verbose bad json | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json | |
20 verbose bad json <tr> | |
20 verbose bad json <td id="portalMessage_container" align="left" style="padding: 10px;"> | |
20 verbose bad json | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json | |
20 verbose bad json <tr id="portalMessage_textarea_container_row" class="hide"> | |
20 verbose bad json <td id="portalMessage_textarea_container" align="left" style="padding: 10px;"> | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json | |
20 verbose bad json <tr id="portalMessage_validation_message_container_row" class="show"> | |
20 verbose bad json <td id="portalMessage_validation_message_container" align="left" class="portalMessage_validation_submessage" style="padding: 10px;"> | |
20 verbose bad json | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json | |
20 verbose bad json <tr id="portalMessage_submessage_container_row" class="hide"> | |
20 verbose bad json <td id="portalMessage_submessage_container" align="left" class="portalMessage_submessage" style="padding: 10px;"> | |
20 verbose bad json | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json | |
20 verbose bad json <tr> | |
20 verbose bad json <td align="center" height="10px;" valign="buttom" style="padding: 10px;" colspan="2"> | |
20 verbose bad json <div id="portalMessage_ok_button_container" class="show" style="text-align: right;"> | |
20 verbose bad json <button id="portalMessage_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
20 verbose bad json OK </button> | |
20 verbose bad json </div> | |
20 verbose bad json | |
20 verbose bad json <div id="portalMessage_bool_button_container" class="hide"> | |
20 verbose bad json <button id="portalMessage_yes_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
20 verbose bad json BUTTON.YES </button> | |
20 verbose bad json | |
20 verbose bad json <button id="portalMessage_no_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
20 verbose bad json BUTTON.NO </button> | |
20 verbose bad json </div> | |
20 verbose bad json | |
20 verbose bad json <div id="portalMessage_submit_button_container" class="hide"> | |
20 verbose bad json <button id="portalMessage_submit_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
20 verbose bad json BUTTON.SUBMIT </button> | |
20 verbose bad json | |
20 verbose bad json <button id="portalMessage_cancel_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
20 verbose bad json Cancel </button> | |
20 verbose bad json </div> | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json </table> | |
20 verbose bad json | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json </table> | |
20 verbose bad json | |
20 verbose bad json </div> | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json <div id='portalGeneralContainer' class="portalMessageDivHide"> | |
20 verbose bad json | |
20 verbose bad json <table cellpadding="0px" cellspacing="0px" class="portalMessageTableContainer" width="100%"> | |
20 verbose bad json <tr> | |
20 verbose bad json <td align="center"> | |
20 verbose bad json | |
20 verbose bad json <table cellpadding="0px" cellspacing="0px" class="portalMessageTable"> | |
20 verbose bad json | |
20 verbose bad json <tr id="portalGeneralContainer_title_container_row" class="portalMessage_title show" width="100%"> | |
20 verbose bad json <td id="portalGeneralContainer_title_container" height="10px" valign="middle" align="left"> | |
20 verbose bad json | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json | |
20 verbose bad json <tr> | |
20 verbose bad json <td id="portalGeneralContainer_container" align="left" style="padding: 10px;"> | |
20 verbose bad json | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json | |
20 verbose bad json </table> | |
20 verbose bad json | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json </table> | |
20 verbose bad json | |
20 verbose bad json </div> | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json <div id='PortalErrorScreenShader' class="screenShaderHide"> | |
20 verbose bad json <table cellpadding="0px" cellspacing="0px" width="100%" height="100%"> | |
20 verbose bad json <tr> | |
20 verbose bad json <td> </td> | |
20 verbose bad json </tr> | |
20 verbose bad json </table> | |
20 verbose bad json </div> | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json <div id='PortalScreenShader' class="screenShaderHide"> | |
20 verbose bad json <table cellpadding="0px" cellspacing="0px" width="100%" height="100%"> | |
20 verbose bad json <tr> | |
20 verbose bad json <td> </td> | |
20 verbose bad json </tr> | |
20 verbose bad json </table> | |
20 verbose bad json </div> | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json <div id="portal_main_view" class="div_expanded" unselectable="on"> | |
20 verbose bad json <table height="100%" width="100%" border="0" cellpadding="0" cellspacing="0" class=""> | |
20 verbose bad json <tr> | |
20 verbose bad json <td id="portal_center_div" valign="top" unselectable="on" class="usercheck_main_background_class"> | |
20 verbose bad json <div id="portal_top_pane_div" class="usercheck_header_class"> | |
20 verbose bad json | |
20 verbose bad json <!--position: fixed; bottom: -1px; left: 50%; margin-left: -435px; --> | |
20 verbose bad json | |
20 verbose bad json <table width="100%" cellpadding="0" cellspacing="0" class="usercheck_header_table_class usercheck_content_table_class"> | |
20 verbose bad json <tr> | |
20 verbose bad json <td class="usercheck_header_left_class" unselectable="on"> | |
20 verbose bad json </td> | |
20 verbose bad json <td class="usercheck_header_center_class" unselectable="on"> | |
20 verbose bad json <div class="usercheck_page_title_class" id="usercheck_page_title" unselectable="on" >UserCheck</div> | |
20 verbose bad json </td> | |
20 verbose bad json <td id="usercheck_header_right_logo" class="usercheck_header_right_class" unselectable="on"> | |
20 verbose bad json <img class="usercheck_company_logo_class" id="usercheck_company_logo" ></img> | |
20 verbose bad json </td> | |
20 verbose bad json <td id="usercheck_header_right_empty" class="usercheck_header_right_empty_class" unselectable="on"> | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json </table> | |
20 verbose bad json </div> | |
20 verbose bad json <div style=""> </div><div style=""> </div><div style=""> </div> | |
20 verbose bad json <div style="text-align: center;" unselectable="on"> | |
20 verbose bad json <table id="usercheck_content_table" cellpadding="0" cellspacing="0" class="usercheck_content_table_class"> | |
20 verbose bad json <tr> | |
20 verbose bad json <td rowspan="3" valign="top" class="usercheck_message_icon_column"><div class="usercheck_message_icon_class" id="usercheck_img_div" unselectable="on"> </div></td> | |
20 verbose bad json <td><div id="usercheck_title_div" class="usercheck_title_class" unselectable="on"> </div></td> | |
20 verbose bad json </tr> | |
20 verbose bad json <tr> | |
20 verbose bad json <td><div id="usercheck_main_div" class="usercheck_message_class" unselectable="on"> </div></td> | |
20 verbose bad json </tr> | |
20 verbose bad json <tr> | |
20 verbose bad json <td><div id="usercheck_error_div" unselectable="on"> </div></td> | |
20 verbose bad json </tr> | |
20 verbose bad json <tr> | |
20 verbose bad json <td colspan="2" style="text-align: center;" unselectable="on"> | |
20 verbose bad json <table style="margin-right: -10px; width: 50%; float: right;"><tr><td> | |
20 verbose bad json <center> | |
20 verbose bad json <div id="usercheck_cancel_div" class="usercheck_ok_button_div_class"> </div> | |
20 verbose bad json </center> | |
20 verbose bad json </td><td> | |
20 verbose bad json <center> | |
20 verbose bad json <div id="usercheck_ok_div" class="usercheck_ok_button_div_class"> </div> | |
20 verbose bad json </center> | |
20 verbose bad json </td></tr></table> | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json </table></div> | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json <tr> | |
20 verbose bad json <td id ="usercheck_footer_td" class="usercheck_footer_class usercheck_footer_height_class"> | |
20 verbose bad json <div id="portal_bottom_pane_div"> | |
20 verbose bad json | |
20 verbose bad json <!--position: fixed; bottom: -1px; left: 50%; margin-left: -435px; --> | |
20 verbose bad json | |
20 verbose bad json <table id="footer_table_logo" cellpadding="0" cellspacing="0" class="usercheck_footer_table_class footer_no_logo"> | |
20 verbose bad json <tr> | |
20 verbose bad json <td class="usercheck_footer_height_class"> | |
20 verbose bad json <div id="usercheck_language_selection_div" class="usercheck_lang_select_div_class" style="display: none;"> | |
20 verbose bad json Language: <select id="usercheck_language_selection" class="usercheck_lang_select_class" onchange="javascript:window.oUserAction.handleLanguageChange();"> | |
20 verbose bad json </select> | |
20 verbose bad json </div> | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json </table> </div> | |
20 verbose bad json </td> | |
20 verbose bad json </tr> | |
20 verbose bad json </table> | |
20 verbose bad json </div> | |
20 verbose bad json </body> | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json <script type="text/javascript"> | |
20 verbose bad json | |
20 verbose bad json //Continue the background image on IE6-7 graphics design. | |
20 verbose bad json if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7 && (document.documentMode === undefined || document.documentMode <= 7)) | |
20 verbose bad json { | |
20 verbose bad json var footer_td = document.getElementById('usercheck_footer_td'); | |
20 verbose bad json footer_td.setAttribute("className", footer_td.getAttribute("className") + " usercheck_main_background_class"); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json UserCheck.DataObj.IID = "6562BAB3-CB54-35B8-C19D-29D4AE36E696"; | |
20 verbose bad json | |
20 verbose bad json UserCheck.DataObj.frame = 0; | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json /*this is a common object for PortalMain and PortalMainDlp. functions here should be empty */ | |
20 verbose bad json window.UserActionCommon = function() | |
20 verbose bad json { | |
20 verbose bad json this.DlpHttpLearning = function(adminMessage,HttpLearningEnabled) | |
20 verbose bad json { | |
20 verbose bad json | |
20 verbose bad json } | |
20 verbose bad json this.DlpHideCancelBtn = function(action) | |
20 verbose bad json { | |
20 verbose bad json | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json window.oUserActionCommon = new window.UserActionCommon(); | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json var g_userID = ""; | |
20 verbose bad json var g_refreshFiles = false; | |
20 verbose bad json | |
20 verbose bad json window.UserAction = function() | |
20 verbose bad json { | |
20 verbose bad json this.incidentObject = {}; | |
20 verbose bad json this.textAreaText = ""; | |
20 verbose bad json | |
20 verbose bad json this.getCorrectClass = function() | |
20 verbose bad json { | |
20 verbose bad json var correctClass = "class"; | |
20 verbose bad json | |
20 verbose bad json //Choose the correct class attribute name (in IE6-7 we need "className" instead of "class") according to IE version - but check for compatibility first! | |
20 verbose bad json if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7 && document.documentMode === undefined) | |
20 verbose bad json { | |
20 verbose bad json correctClass = "className"; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json return correctClass; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json // Initialize. | |
20 verbose bad json //============================================================================================= | |
20 verbose bad json this.init = function(cancelPage) | |
20 verbose bad json { | |
20 verbose bad json if (typeof cancelPage == 'undefined') | |
20 verbose bad json { | |
20 verbose bad json cancelPage = false; | |
20 verbose bad json } | |
20 verbose bad json var requestData = { | |
20 verbose bad json IID: "-1", | |
20 verbose bad json UserID: "", | |
20 verbose bad json IsThinPortal: false, | |
20 verbose bad json UserLang: "", | |
20 verbose bad json GetCancelPage: cancelPage | |
20 verbose bad json }; | |
20 verbose bad json | |
20 verbose bad json requestData.IID = UserCheck.DataObj.IID; | |
20 verbose bad json | |
20 verbose bad json var cookie = getCookie('UserCheck_UserID'); | |
20 verbose bad json requestData.UserID = cookie != null ? cookie : ""; | |
20 verbose bad json | |
20 verbose bad json requestData.IsThinPortal = window.isThinPortal === true ? true : false; | |
20 verbose bad json | |
20 verbose bad json var selectedLanguage = getCookie('UserCheck_Selected_Language'); | |
20 verbose bad json if(selectedLanguage == null) | |
20 verbose bad json { | |
20 verbose bad json selectedLanguage = ""; | |
20 verbose bad json } | |
20 verbose bad json requestData.UserLang = selectedLanguage; | |
20 verbose bad json | |
20 verbose bad json var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckIncidentData"); | |
20 verbose bad json | |
20 verbose bad json if (window.isThinPortal === true) | |
20 verbose bad json { | |
20 verbose bad json //Create a custom timeout handler for the thin portal. | |
20 verbose bad json PORTAL_IS.AJAX_MGR.customTimeoutHandler = function() | |
20 verbose bad json { | |
20 verbose bad json window.location = "about:blank"; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json sendAsynchronousRequest(sAbsoluteURL, | |
20 verbose bad json flattenObject(requestData), | |
20 verbose bad json this.handleUserCheckIncidentData, | |
20 verbose bad json this, | |
20 verbose bad json [new Callback()]); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json //Toggles the button's state from enabled to disabled and vice versa. | |
20 verbose bad json this.setButtonMode = function(buttonState, buttonID) | |
20 verbose bad json { | |
20 verbose bad json var button = document.getElementById(buttonID); | |
20 verbose bad json if(button == null) | |
20 verbose bad json return; | |
20 verbose bad json | |
20 verbose bad json var correctClass = window.oUserAction.getCorrectClass(); | |
20 verbose bad json | |
20 verbose bad json if(buttonState) | |
20 verbose bad json { | |
20 verbose bad json //Enable the button. | |
20 verbose bad json button.setAttribute(correctClass, "button"); | |
20 verbose bad json button.onclick = function(){ javascript:oUserAction.submitOK(); }; | |
20 verbose bad json | |
20 verbose bad json button.style.cursor = "pointer"; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json //Disable the button. | |
20 verbose bad json button.setAttribute(correctClass, "button buttonDisabled"); | |
20 verbose bad json button.onclick = null; | |
20 verbose bad json | |
20 verbose bad json button.style.cursor = "default"; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json //Changes the button CSS class (support for IE6-8). buttonCLS is for additional classes to be added to the button. | |
20 verbose bad json this.setButtonState = function(state, buttonID, buttonCLS) | |
20 verbose bad json { | |
20 verbose bad json if (!buttonID) | |
20 verbose bad json { | |
20 verbose bad json buttonID = 'UserCheck_OK_Button'; | |
20 verbose bad json buttonCLS = ''; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var correctClass = window.oUserAction.getCorrectClass(); | |
20 verbose bad json | |
20 verbose bad json var button = document.getElementById(buttonID); | |
20 verbose bad json | |
20 verbose bad json if(button.getAttribute(correctClass).indexOf("Disabled") == -1) | |
20 verbose bad json { | |
20 verbose bad json //The button is not disabled. | |
20 verbose bad json button.setAttribute(correctClass, "button button" + state + " " + buttonCLS); | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.handleUserCheckIncidentData = function(xhrStatus, xhrResponse, callback) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UserAction::handleUserCheckIncidentData"); | |
20 verbose bad json | |
20 verbose bad json if (callback == undefined) | |
20 verbose bad json { | |
20 verbose bad json callback = new Callback(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if (xhrStatus != 200) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
20 verbose bad json callback.call(); | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.incidentObject = JSON.parse(xhrResponse); | |
20 verbose bad json var Languages = this.incidentObject.Languages; | |
20 verbose bad json var UserCheckLogoID = this.incidentObject.UserCheckLogoID; | |
20 verbose bad json var RedirectToAddr = this.incidentObject.RedirectToAddr; | |
20 verbose bad json var AutoRedirect = this.incidentObject.AutoRedirect; | |
20 verbose bad json var ExternalSystemURL = this.incidentObject.ExternalSystemURL; | |
20 verbose bad json var Action = this.incidentObject.Action; | |
20 verbose bad json var Variables = this.incidentObject.Variables; | |
20 verbose bad json | |
20 verbose bad json this.incidentObject.HasBeenCancelled = false; | |
20 verbose bad json | |
20 verbose bad json setCookie('UserCheck_UserID', this.incidentObject.UserID, 31556926); | |
20 verbose bad json | |
20 verbose bad json if (Variables['product'] != 'Threat Extraction') | |
20 verbose bad json { | |
20 verbose bad json if(AutoRedirect == true && RedirectToAddr != "") | |
20 verbose bad json { | |
20 verbose bad json if (window.isThinPortal === undefined) | |
20 verbose bad json { | |
20 verbose bad json //We have an address and auto redirect is true so redirect to that URL. | |
20 verbose bad json // if (RedirectToAddr.indexOf('http://') != 0) | |
20 verbose bad json if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
20 verbose bad json RedirectToAddr = "http://" + RedirectToAddr; | |
20 verbose bad json | |
20 verbose bad json window.location = RedirectToAddr; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json window.location = "about:blank"; //No reason to redirect in the Thin Portal | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json if (Action == "SCRUB-SUCCESS") | |
20 verbose bad json { | |
20 verbose bad json // in scrub success page, if not mobile or thin, give more space for the list of original files names and info | |
20 verbose bad json if(window.browserDetails.isMobile() === false && window.isThinPortal === undefined) | |
20 verbose bad json { | |
20 verbose bad json var content_table = document.getElementById("usercheck_content_table"); | |
20 verbose bad json if (content_table != null) | |
20 verbose bad json { | |
20 verbose bad json content_table.style.tableLayout="auto"; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var message_div = document.getElementById("usercheck_main_div"); | |
20 verbose bad json if (message_div != null) | |
20 verbose bad json { | |
20 verbose bad json message_div.style.minWidth="auto"; | |
20 verbose bad json message_div.style.maxWidth="700px"; | |
20 verbose bad json message_div.style.whiteSpace="nowrap"; | |
20 verbose bad json message_div.style.wordWrap="normal"; | |
20 verbose bad json message_div.style.overflow="auto"; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var requestData = { | |
20 verbose bad json IID: "-1" | |
20 verbose bad json }; | |
20 verbose bad json requestData.IID = UserCheck.DataObj.IID; | |
20 verbose bad json var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetScrubFiles"); | |
20 verbose bad json sendAsynchronousRequest(sAbsoluteURL, | |
20 verbose bad json flattenObject(requestData), | |
20 verbose bad json this.handleScrubbingFiles, | |
20 verbose bad json this, | |
20 verbose bad json [new Callback()]); | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if(ExternalSystemURL != "") | |
20 verbose bad json //We have an external system address so redirect to that URL. | |
20 verbose bad json // window.location = ExternalSystemURL + (this.incidentObject.ForwardParams == true ? "?IncidentID=" + UserCheck.DataObj.IID + "&UserID=" + this.incidentObject.UserID : ""); | |
20 verbose bad json if (this.incidentObject.ForwardParams == true) | |
20 verbose bad json { | |
20 verbose bad json window.location = ExternalSystemURL + "?IncidentID=" + UserCheck.DataObj.IID + "&UserID=" + this.incidentObject.UserID; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json window.location = ExternalSystemURL; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json this.prepareLanguageSelection(); | |
20 verbose bad json | |
20 verbose bad json if(window.self !== window.top) | |
20 verbose bad json { | |
20 verbose bad json //We are inside a frame. Display small version of the portal and give link to a full version of the portal in new tab/window. | |
20 verbose bad json | |
20 verbose bad json var url = '<a href="' + window.location + "&frame=1" + '" target="_blank">'; | |
20 verbose bad json if (Action == "SCRUB-SUCCESS") | |
20 verbose bad json { | |
20 verbose bad json Action = "INFORM"; | |
20 verbose bad json } | |
20 verbose bad json url += draw_img_tag(getURL("img/" + Action.toLowerCase() + ".png")) + ' '; | |
20 verbose bad json url += Action == 'BLOCK' ? PORTAL_IS.L10N.L10N_Obj.getStr("UC.BLOCKED_IFRAME") : PORTAL_IS.L10N.L10N_Obj.getStr("UC.INFO_IFRAME"); | |
20 verbose bad json url += '</a>'; | |
20 verbose bad json | |
20 verbose bad json document.body.innerHTML = url; | |
20 verbose bad json document.body.style.backgroundImage = 'none'; | |
20 verbose bad json document.body.style.textAlign = 'center'; | |
20 verbose bad json document.body.style.verticalAlign = 'text-bottom'; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json //Decide which footer to display according to the action type (for Block and Limit we display footer without CP logo). | |
20 verbose bad json if(window.isThinPortal === true) | |
20 verbose bad json { | |
20 verbose bad json var thin_table = document.getElementById('usercheck_thin_table'); | |
20 verbose bad json if(thin_table != null && Action != 'BLOCK' && Action != 'LIMIT') | |
20 verbose bad json { | |
20 verbose bad json var correctClass = window.oUserAction.getCorrectClass(); | |
20 verbose bad json | |
20 verbose bad json thin_table.setAttribute(correctClass, "usercheck_main_mobile_background_class with_logo"); | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json var logo_footer = document.getElementById('footer_table_logo'); | |
20 verbose bad json if(logo_footer != null && Action != 'BLOCK' && Action != 'LIMIT') | |
20 verbose bad json { | |
20 verbose bad json var correctClass = window.oUserAction.getCorrectClass(); | |
20 verbose bad json | |
20 verbose bad json logo_footer.setAttribute(correctClass, "usercheck_footer_table_class footer_logo"); | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json g_userID = this.incidentObject.UserID; | |
20 verbose bad json | |
20 verbose bad json if (Action == "SCRUB-SUCCESS") | |
20 verbose bad json { | |
20 verbose bad json Action = "INFORM"; | |
20 verbose bad json } | |
20 verbose bad json //Draw incident image according to the incident type | |
20 verbose bad json if(document.getElementById('usercheck_img_div') !== null) | |
20 verbose bad json document.getElementById('usercheck_img_div').innerHTML = draw_img_tag(getURL("img/" + Action.toLowerCase() + ".png")); | |
20 verbose bad json | |
20 verbose bad json if(this.incidentObject.IsLogoConfigured) | |
20 verbose bad json { | |
20 verbose bad json //The page has a logo defined in the GUI - load it. | |
20 verbose bad json | |
20 verbose bad json //Desktop header. | |
20 verbose bad json var header_right_logo = document.getElementById('usercheck_header_right_logo'); | |
20 verbose bad json if(header_right_logo != null) | |
20 verbose bad json if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7) | |
20 verbose bad json header_right_logo.style.display = "block"; | |
20 verbose bad json else | |
20 verbose bad json header_right_logo.style.display = "table-cell"; | |
20 verbose bad json | |
20 verbose bad json var header_right_empty = document.getElementById('usercheck_header_right_empty'); | |
20 verbose bad json if(header_right_empty != null) | |
20 verbose bad json header_right_empty.style.display = "none"; | |
20 verbose bad json | |
20 verbose bad json //Mobile header. | |
20 verbose bad json var mobile_header = document.getElementById('header_mobile_div'); | |
20 verbose bad json if(mobile_header != null) | |
20 verbose bad json { | |
20 verbose bad json mobile_header.style.display = "block"; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json //Company logo. | |
20 verbose bad json var company_logo = document.getElementById('usercheck_company_logo'); | |
20 verbose bad json if(company_logo != null) | |
20 verbose bad json company_logo.src = getURL("images/interactions/" + UserCheckLogoID + ".png"); | |
20 verbose bad json } | |
20 verbose bad json else if(window.isThinPortal === true) | |
20 verbose bad json { | |
20 verbose bad json //If there is no logo defined, display the default logo in the thin portal. | |
20 verbose bad json var company_logo = document.getElementById('usercheck_company_logo'); | |
20 verbose bad json if(company_logo != null) | |
20 verbose bad json company_logo.src = getURL("img/cp_logo_mobile_thin.png"); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json //Start the timeout manager. | |
20 verbose bad json UserCheck.tools.oTimeoutManager.startTimeoutTimer(this.incidentObject.Expiration - 15, this.handleTimeout); | |
20 verbose bad json | |
20 verbose bad json if (UserCheck.DataObj.GetSingleIncidentReview !== undefined && UserCheck.DataObj.GetSingleIncidentReview == 1) | |
20 verbose bad json { | |
20 verbose bad json window.singleIncident = new SingleIncident(); | |
20 verbose bad json singleIncident.init(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json callback.call(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.submitOK = function() | |
20 verbose bad json { | |
20 verbose bad json //This function determines if it is OK to proceed with sending a response if all validation criteria are met. | |
20 verbose bad json | |
20 verbose bad json //If we are in a Block action in thin portal, just redirect to about:blank. | |
20 verbose bad json if (window.isThinPortal === true && window.oUserAction.incidentObject.Action === "BLOCK") | |
20 verbose bad json { | |
20 verbose bad json window.location = "about:blank"; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if(document.getElementById('UserCheck_Textual_Input') != null) | |
20 verbose bad json //Verify we have the real textarea! | |
20 verbose bad json if(document.getElementById('UserCheck_Textual_Input').value !== undefined) | |
20 verbose bad json //Unfocus the text-area. | |
20 verbose bad json document.getElementById('UserCheck_Textual_Input').blur(); | |
20 verbose bad json | |
20 verbose bad json if(!window.oUserAction.highlightInput()) | |
20 verbose bad json //There was some user input missing - don't continue. | |
20 verbose bad json return; | |
20 verbose bad json | |
20 verbose bad json var cookie = getCookie('UserCheck_UserID'); | |
20 verbose bad json | |
20 verbose bad json var requestData = {}; | |
20 verbose bad json | |
20 verbose bad json requestData.IID = "-1"; | |
20 verbose bad json requestData.UserOption = "OK"; | |
20 verbose bad json | |
20 verbose bad json requestData.UserID = cookie; | |
20 verbose bad json requestData.IsReasonExist = true; | |
20 verbose bad json if(document.getElementById('UserCheck_Textual_Input') != null) | |
20 verbose bad json { | |
20 verbose bad json var reason = document.getElementById('UserCheck_Textual_Input').value; | |
20 verbose bad json | |
20 verbose bad json //If the reason box is not found, there is nothing to enforce. | |
20 verbose bad json if(reason === undefined) | |
20 verbose bad json { | |
20 verbose bad json reason = ""; | |
20 verbose bad json requestData.IsReasonExist = false; | |
20 verbose bad json } | |
20 verbose bad json else if(window.oUserAction.incidentObject.IsReasonEnforced === true && (reason.length == 0 || reason.length > 400)) | |
20 verbose bad json return; | |
20 verbose bad json | |
20 verbose bad json requestData.Reason = reason; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json requestData.IsReasonExist = false; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json //Sometimes the cookie is not written correctly, so used global user. | |
20 verbose bad json if(requestData.UserID == null || requestData.UserID == "") | |
20 verbose bad json requestData.UserID = g_userID; | |
20 verbose bad json | |
20 verbose bad json requestData.IID = UserCheck.DataObj.IID; | |
20 verbose bad json | |
20 verbose bad json var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
20 verbose bad json | |
20 verbose bad json sendAsynchronousRequest(sAbsoluteURL, | |
20 verbose bad json flattenObject(requestData), | |
20 verbose bad json this.handleUserCheckChoiceData, | |
20 verbose bad json this, | |
20 verbose bad json [new Callback()]); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.submitCancel = function() | |
20 verbose bad json { | |
20 verbose bad json if(window.oUserAction.incidentObject.CancelURL !== undefined && window.oUserAction.incidentObject.CancelURL !== "") | |
20 verbose bad json { | |
20 verbose bad json window.location = window.oUserAction.incidentObject.CancelURL; | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json if (window.isThinPortal == true) | |
20 verbose bad json { | |
20 verbose bad json window.location = "about:blank"; | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json this.init(true); | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.handleUserCheckChoiceData = function(xhrStatus, xhrResponse, callback) | |
20 verbose bad json { | |
20 verbose bad json try | |
20 verbose bad json { | |
20 verbose bad json window.external.OKButtonClickedResponseReceived('Done handling request'); | |
20 verbose bad json } | |
20 verbose bad json catch(err) | |
20 verbose bad json { | |
20 verbose bad json //do nothing, this is probably the fat client | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json DEBUG.out("UserAction::handleUserCheckChoiceData"); | |
20 verbose bad json | |
20 verbose bad json if (callback == undefined) | |
20 verbose bad json { | |
20 verbose bad json callback = new Callback(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if (xhrStatus != 200) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
20 verbose bad json callback.call(); | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var newViewJSONObj = JSON.parse(xhrResponse); | |
20 verbose bad json | |
20 verbose bad json var RedirectToAddr = newViewJSONObj.RedirectToAddr; | |
20 verbose bad json if (window.oUserAction.incidentObject.Variables['product'] != 'Threat Extraction') | |
20 verbose bad json { | |
20 verbose bad json if(RedirectToAddr != "") | |
20 verbose bad json { | |
20 verbose bad json var frame = "0"; | |
20 verbose bad json | |
20 verbose bad json frame = UserCheck.DataObj.frame; | |
20 verbose bad json | |
20 verbose bad json if(typeof frame === "undefined" || frame == "0" || frame == "") | |
20 verbose bad json { | |
20 verbose bad json if (window.isThinPortal === undefined) | |
20 verbose bad json { | |
20 verbose bad json //We have an address so redirect to that URL. | |
20 verbose bad json if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
20 verbose bad json RedirectToAddr = "http://" + RedirectToAddr; | |
20 verbose bad json window.location = RedirectToAddr; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json window.location = "about:blank"; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json if (window.isThinPortal === undefined) | |
20 verbose bad json { | |
20 verbose bad json //We have an address so redirect to that URL in the parent frame. | |
20 verbose bad json if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
20 verbose bad json RedirectToAddr = "http://" + RedirectToAddr; | |
20 verbose bad json | |
20 verbose bad json window.opener.location = RedirectToAddr; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json window.opener.location = "about:blank"; | |
20 verbose bad json } | |
20 verbose bad json window.close(); | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json var frame = "0"; | |
20 verbose bad json frame = UserCheck.DataObj.frame; | |
20 verbose bad json if(typeof frame === "undefined" || frame == "0" || frame == "") | |
20 verbose bad json { | |
20 verbose bad json if (window.isThinPortal == true) | |
20 verbose bad json { | |
20 verbose bad json window.location = "about:blank"; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json if (window.isThinPortal == true) | |
20 verbose bad json { | |
20 verbose bad json window.opener.location = "about:blank"; | |
20 verbose bad json } | |
20 verbose bad json window.close(); | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json window.location.reload(); | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json this.handleUserReportWrongCategoryData = function(xhrStatus, xhrResponse, callback) | |
20 verbose bad json { | |
20 verbose bad json | |
20 verbose bad json DEBUG.out("UserAction::handleUserLogData"); | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.handleTimeout = function() | |
20 verbose bad json { | |
20 verbose bad json var requestData = { | |
20 verbose bad json IID: "-1" | |
20 verbose bad json }; | |
20 verbose bad json | |
20 verbose bad json requestData.IID = UserCheck.DataObj.IID; | |
20 verbose bad json | |
20 verbose bad json var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("ExtendTimeout"); | |
20 verbose bad json | |
20 verbose bad json sendAsynchronousRequest(sAbsoluteURL, | |
20 verbose bad json flattenObject(requestData), | |
20 verbose bad json window.oUserAction.handleTimeoutExtension, | |
20 verbose bad json this, | |
20 verbose bad json [new Callback()]); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.handleTimeoutExtension = function(xhrStatus, xhrResponse, callback) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UserAction::handleTimeoutExtension"); | |
20 verbose bad json | |
20 verbose bad json if (callback == undefined) | |
20 verbose bad json { | |
20 verbose bad json callback = new Callback(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if (xhrStatus != 200) | |
20 verbose bad json { | |
20 verbose bad json if (window.isThinPortal === undefined) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out('Retreiving UserCheck Timeout Extension data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
20 verbose bad json callback.call(); | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json window.location = "about:blank"; | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json var extensionObject = JSON.parse(xhrResponse); | |
20 verbose bad json | |
20 verbose bad json if(extensionObject.ReturnCode == "SUCCESS") | |
20 verbose bad json { | |
20 verbose bad json UserCheck.tools.oTimeoutManager.startTimeoutTimer(extensionObject.Expiration - 15, window.oUserAction.handleTimeout); | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json if(window.isThinPortal === undefined) | |
20 verbose bad json { | |
20 verbose bad json var button = document.getElementById('UserCheck_OK_Button'); | |
20 verbose bad json if(button !=null) | |
20 verbose bad json button.style.display = "none"; | |
20 verbose bad json var select = document.getElementById('usercheck_language_selection'); | |
20 verbose bad json if(select != null) | |
20 verbose bad json select.disabled = true; | |
20 verbose bad json | |
20 verbose bad json showPortalMessage(PORTAL_IS.L10N.L10N_Obj.getStr("TIMEOUT") + " <a href='" + window.oUserAction.incidentObject.RedirectToAddr + "'>" + PORTAL_IS.L10N.L10N_Obj.getStr("RETRY") + "</a>", null, PORTAL_IS.MESSAGE_TYPE.Display, true); | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json /* If we are in thin portal, redirect to about:blank | |
20 verbose bad json so that client can catch it and act accordingly. */ | |
20 verbose bad json window.location = "about:blank"; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json //Prepare for language selection. | |
20 verbose bad json this.prepareLanguageSelection = function() | |
20 verbose bad json { | |
20 verbose bad json var Languages = this.incidentObject.Languages; | |
20 verbose bad json var prevSelectedLanguage = null; | |
20 verbose bad json var userSelected = false; | |
20 verbose bad json if (UserCheck.DataObj.Lang != "" && UserCheck.DataObj.Lang !== undefined) | |
20 verbose bad json { | |
20 verbose bad json prevSelectedLanguage = UserCheck.DataObj.Lang; | |
20 verbose bad json userSelected = true; | |
20 verbose bad json } | |
20 verbose bad json else if (this.incidentObject.PreferredLang != "") | |
20 verbose bad json { | |
20 verbose bad json prevSelectedLanguage = this.incidentObject.PreferredLang; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json prevSelectedLanguage = getCookie('UserCheck_Selected_Language'); | |
20 verbose bad json } | |
20 verbose bad json var count = 0; | |
20 verbose bad json | |
20 verbose bad json //If there is no cookie, get the browser locale. | |
20 verbose bad json if(prevSelectedLanguage == null) | |
20 verbose bad json { | |
20 verbose bad json var langArr = {}; | |
20 verbose bad json for(var Language in Languages) | |
20 verbose bad json { | |
20 verbose bad json langArr[Languages[Language].LanguageCode] = true; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json prevSelectedLanguage = PORTAL_IS.L10N.L10N_Obj.selectLanguage(langArr); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if(document.getElementById('usercheck_language_selection_div') != null) | |
20 verbose bad json { | |
20 verbose bad json count = 0; | |
20 verbose bad json for(var Language in Languages) | |
20 verbose bad json { | |
20 verbose bad json var select = document.getElementById('usercheck_language_selection'); | |
20 verbose bad json select.options[select.options.length] = new Option(Languages[Language].Language, Language, false, Language === prevSelectedLanguage); | |
20 verbose bad json count++; | |
20 verbose bad json } | |
20 verbose bad json //Display language selection only if NOT in thin portal. | |
20 verbose bad json if(count > 1 && window.isThinPortal === undefined) | |
20 verbose bad json document.getElementById('usercheck_language_selection_div').style.display = "block"; | |
20 verbose bad json | |
20 verbose bad json } | |
20 verbose bad json this.handleLanguageChange(true, userSelected); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json //Handles language change. | |
20 verbose bad json this.handleLanguageChange = function(noReloadLang, userSelected) | |
20 verbose bad json { | |
20 verbose bad json var select = document.getElementById('usercheck_language_selection'); | |
20 verbose bad json var selectedLanguage = select.options[select.selectedIndex].value; | |
20 verbose bad json if(noReloadLang === true) | |
20 verbose bad json { | |
20 verbose bad json //No need to load the language - if it is already loaded. | |
20 verbose bad json this.asyncLanguageChangeCallback(userSelected); | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json //Reload language strings. | |
20 verbose bad json PORTAL_IS.L10N.L10N_Obj.reloadLanguageTo(selectedLanguage, "en", this.asyncLanguageChangeCallback); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.checkBoxExists = function(adminMessage) | |
20 verbose bad json { | |
20 verbose bad json if(adminMessage.indexOf("UserCheck_Confirm_Checkbox") != -1) | |
20 verbose bad json return true; | |
20 verbose bad json | |
20 verbose bad json return false; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.textareaExists = function(adminMessage) | |
20 verbose bad json { | |
20 verbose bad json if(adminMessage.indexOf("UserCheck_Textual_Input") != -1) | |
20 verbose bad json return true; | |
20 verbose bad json | |
20 verbose bad json return false; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.asyncLanguageChangeCallback = function(userSelected) | |
20 verbose bad json { | |
20 verbose bad json if (userSelected === undefined) | |
20 verbose bad json { | |
20 verbose bad json userSelected = true; | |
20 verbose bad json } | |
20 verbose bad json var select = document.getElementById('usercheck_language_selection'); | |
20 verbose bad json var check = document.getElementById('UserCheck_Confirm_Checkbox'); | |
20 verbose bad json | |
20 verbose bad json var selectedLanguage = "Default"; | |
20 verbose bad json if(select != null) | |
20 verbose bad json selectedLanguage = select.options[select.selectedIndex].value; | |
20 verbose bad json var checkBoxValue = check != null ? check.checked : false; | |
20 verbose bad json | |
20 verbose bad json //Save cookie for the selected language. Only if it is from a User Selection. | |
20 verbose bad json if (userSelected) | |
20 verbose bad json { | |
20 verbose bad json setCookie('UserCheck_Selected_Language', selectedLanguage == "Default" ? "en" : selectedLanguage, 31556926, "/"); | |
20 verbose bad json var cookieVal = getCookie('UserCheck_UserID'); | |
20 verbose bad json | |
20 verbose bad json var handleUpdateUserDataResponse = function(xhrStatus, xhrResponse, callback){ | |
20 verbose bad json var newURL = window.location.href; | |
20 verbose bad json //alert("newURL '"+newURL+"'"); | |
20 verbose bad json var langLoc = newURL.indexOf("&Lang="); | |
20 verbose bad json //alert("langLoc '"+langLoc+"'"); | |
20 verbose bad json if (langLoc != -1) | |
20 verbose bad json { | |
20 verbose bad json newURL = newURL.substring(0, langLoc); | |
20 verbose bad json //alert("newURL '"+newURL+"'"); | |
20 verbose bad json } | |
20 verbose bad json window.location = newURL; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json sendAsynchronousRequest(getURL("UpdateUserData"), | |
20 verbose bad json "Language="+encodeURIComponent(selectedLanguage) + "&IID="+encodeURIComponent(UserCheck.DataObj.IID)+"&UserID="+cookieVal, | |
20 verbose bad json handleUpdateUserDataResponse, | |
20 verbose bad json this, | |
20 verbose bad json [new Callback()]); | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json | |
20 verbose bad json //Keep this value globally for other funcs. | |
20 verbose bad json window.oUserAction.incidentObject.SelectedLanguage = selectedLanguage; | |
20 verbose bad json | |
20 verbose bad json var Languages = window.oUserAction.incidentObject.Languages; | |
20 verbose bad json var TitleText = Languages[selectedLanguage].TitleText; | |
20 verbose bad json var AdminMessage = Languages[selectedLanguage].AdminMessage; | |
20 verbose bad json var CancelMessage = Languages[selectedLanguage].CancelMessage; | |
20 verbose bad json var OKButtonMessage = window.oUserAction.incidentObject.OKButtonMessage[selectedLanguage]; | |
20 verbose bad json var CancelButtonMessage = window.oUserAction.incidentObject.CancelButtonMessage[selectedLanguage]; | |
20 verbose bad json var SendButtonMessage = window.oUserAction.incidentObject.SendButtonMessage[selectedLanguage]; | |
20 verbose bad json var MiddleButtonMessage = window.oUserAction.incidentObject.MiddleButtonMessage[selectedLanguage]; | |
20 verbose bad json var HTTPLearningEnabled = window.oUserAction.incidentObject.HTTPLearningEnabled; | |
20 verbose bad json var PageTitle = Languages[selectedLanguage].PageTitle; | |
20 verbose bad json | |
20 verbose bad json document.getElementById('usercheck_title_div').innerHTML = TitleText; | |
20 verbose bad json | |
20 verbose bad json if(window.oUserAction.incidentObject.HasBeenCancelled === undefined || window.oUserAction.incidentObject.HasBeenCancelled === false) | |
20 verbose bad json { | |
20 verbose bad json if (window.oUserAction.incidentObject.IncidentStatus == 0 || window.oUserAction.incidentObject.IncidentStatus == 2 || window.oUserAction.incidentObject.IncidentStatus == 8)//ok or cancel or ok_scrubbing | |
20 verbose bad json { | |
20 verbose bad json document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
20 verbose bad json } | |
20 verbose bad json else if (window.oUserAction.incidentObject.IncidentStatus == 3)// sent | |
20 verbose bad json { | |
20 verbose bad json // if http learning is enabled on action succeded show the HTTP_LEARNING message | |
20 verbose bad json if (HTTPLearningEnabled == true && window.oUserAction.incidentObject.RedirectToAddr != "") | |
20 verbose bad json { | |
20 verbose bad json var usercheck_main_div = document.getElementById('usercheck_main_div') | |
20 verbose bad json if (usercheck_main_div != null) | |
20 verbose bad json usercheck_main_div.innerHTML = "<p>" +PORTAL_IS.L10N.L10N_Obj.getStr("HTTP_LEARNING")+"</p>"; | |
20 verbose bad json } | |
20 verbose bad json else // an SMTP message | |
20 verbose bad json { | |
20 verbose bad json document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json else if (window.oUserAction.incidentObject.IncidentStatus == 4)//discarded | |
20 verbose bad json { | |
20 verbose bad json document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
20 verbose bad json } | |
20 verbose bad json else if (window.oUserAction.incidentObject.IncidentStatus == 5)//already sent | |
20 verbose bad json { | |
20 verbose bad json if (HTTPLearningEnabled == true && window.oUserAction.incidentObject.RedirectToAddr != "") | |
20 verbose bad json { | |
20 verbose bad json //if approved http and then refreshed the page | |
20 verbose bad json var usercheck_main_div = document.getElementById('usercheck_main_div') | |
20 verbose bad json if (usercheck_main_div != null) | |
20 verbose bad json usercheck_main_div.innerHTML = "<p>" +PORTAL_IS.L10N.L10N_Obj.getStr("HTTP_LEARNING")+"</p>"; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
20 verbose bad json var return_to_site_div = document.getElementById('usercheck_return_to_site_div') | |
20 verbose bad json if (return_to_site_div != null) | |
20 verbose bad json return_to_site_div.innerHTML = "<p style='color: #FF5000;font-weight: bold;'>" +PORTAL_IS.L10N.L10N_Obj.getStr("EMAIL_ALREADY_SENT") +"</p>"; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json else if (window.oUserAction.incidentObject.IncidentStatus == 6)//already discarded | |
20 verbose bad json { | |
20 verbose bad json document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
20 verbose bad json var return_to_site_div = document.getElementById('usercheck_return_to_site_div') | |
20 verbose bad json if (return_to_site_div != null) | |
20 verbose bad json return_to_site_div.innerHTML = "<p style='color: #FF5000;font-weight: bold;'>" +PORTAL_IS.L10N.L10N_Obj.getStr("EMAIL_ALREADY_DISCARDED") +"</p>"; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json document.getElementById('usercheck_main_div').innerHTML = "<p>" + PORTAL_IS.L10N.L10N_Obj.getStr("UNKOWN_INCIDENT_STATUS") + "</p>" + window.oUserAction.incidentObject.IncidentStatus; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json var btnDiv = document.getElementById('usercheck_ok_div'); | |
20 verbose bad json if (btnDiv != null) | |
20 verbose bad json btnDiv.innerHTML = OKButtonMessage; | |
20 verbose bad json btnDiv = document.getElementById('usercheck_cancel_div'); | |
20 verbose bad json if (btnDiv != null) | |
20 verbose bad json btnDiv.innerHTML = CancelButtonMessage; | |
20 verbose bad json btnDiv = document.getElementById('usercheck_send_div'); | |
20 verbose bad json // show the send button on SMTP (which is actually the send button) OR show it on inform action (which is actually OK button) | |
20 verbose bad json if (btnDiv != null && (window.oUserAction.incidentObject.RedirectToAddr == "" || window.oUserAction.incidentObject.Action == "INFORM") ) | |
20 verbose bad json { | |
20 verbose bad json // alert("setting usercheck_send_div"); | |
20 verbose bad json btnDiv.innerHTML = SendButtonMessage; | |
20 verbose bad json } | |
20 verbose bad json btnDiv = document.getElementById('usercheck_middle_div'); | |
20 verbose bad json if (btnDiv != null) | |
20 verbose bad json { | |
20 verbose bad json // alert("setting discard button div"); | |
20 verbose bad json btnDiv.innerHTML = MiddleButtonMessage; | |
20 verbose bad json } | |
20 verbose bad json var goBackDiv = document.getElementById('usercheck_return_to_site_div'); | |
20 verbose bad json if (goBackDiv) | |
20 verbose bad json { | |
20 verbose bad json // show return to site only when its http violation AND if the action is: sent or discarded or already sent or already discarded or cancelled. | |
20 verbose bad json if (window.oUserAction.incidentObject.RedirectToAddr != "" && (window.oUserAction.incidentObject.IncidentStatus == 3 || window.oUserAction.incidentObject.IncidentStatus == 4 || window.oUserAction.incidentObject.IncidentStatus == 5 || window.oUserAction.incidentObject.IncidentStatus == 6 || window.oUserAction.incidentObject.IncidentStatus == 2)) | |
20 verbose bad json { | |
20 verbose bad json goBackDiv.innerHTML = '<a href="' + window.oUserAction.incidentObject.RedirectToAddr + '">' + PORTAL_IS.L10N.L10N_Obj.getStr("RETURN_TO_SITE") + '</a>'; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json document.getElementById('usercheck_main_div').innerHTML = CancelMessage; | |
20 verbose bad json | |
20 verbose bad json var page_title = document.getElementById('usercheck_page_title'); | |
20 verbose bad json if(page_title != null) | |
20 verbose bad json page_title.innerHTML = PageTitle; | |
20 verbose bad json | |
20 verbose bad json var span = document.getElementById('UserCheck_OK_Button_span'); | |
20 verbose bad json if(span != null) | |
20 verbose bad json span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.OK'); | |
20 verbose bad json | |
20 verbose bad json span = document.getElementById('UserCheck_Cancel_Button_span'); | |
20 verbose bad json if(span != null) | |
20 verbose bad json span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.CANCEL'); | |
20 verbose bad json | |
20 verbose bad json span = document.getElementById('UserCheck_Send_Button_span'); | |
20 verbose bad json if(span != null) | |
20 verbose bad json span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.SEND'); | |
20 verbose bad json span = document.getElementById('UserCheck_Middle_Button_span'); | |
20 verbose bad json if(span != null) | |
20 verbose bad json { | |
20 verbose bad json if (window.oUserAction.incidentObject.RedirectToAddr == "") | |
20 verbose bad json span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.DISCARD'); | |
20 verbose bad json else | |
20 verbose bad json span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr("BUTTON.APPROVE"); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var reportLink = document.getElementById('UserCheck_Wrong_Category'); | |
20 verbose bad json if(reportLink != null) | |
20 verbose bad json { | |
20 verbose bad json var correctClass = window.oUserAction.getCorrectClass(); | |
20 verbose bad json | |
20 verbose bad json reportLink.setAttribute(correctClass, "usercheck_url_class"); | |
20 verbose bad json | |
20 verbose bad json reportLink.onclick = function(e) { window.oUserAction.sendReport(); } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json //Clear the error message when switching language. | |
20 verbose bad json var errorElement = document.getElementById('usercheck_error_div'); | |
20 verbose bad json if(errorElement != null) | |
20 verbose bad json errorElement.innerHTML = " "; | |
20 verbose bad json | |
20 verbose bad json //Keep TextArea default text to disallow it as input. | |
20 verbose bad json var textarea_element = null; | |
20 verbose bad json | |
20 verbose bad json if(window.oUserAction.textareaExists(AdminMessage)) | |
20 verbose bad json { | |
20 verbose bad json textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
20 verbose bad json //If the textarea is an incorrect element or length is correct, check passes. | |
20 verbose bad json if(textarea_element.value === undefined) | |
20 verbose bad json { | |
20 verbose bad json //This element is not really our text area so we don't need it. | |
20 verbose bad json textarea_element = null; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if(textarea_element != null) | |
20 verbose bad json { | |
20 verbose bad json window.oUserAction.textAreaText = textarea_element.value; | |
20 verbose bad json | |
20 verbose bad json var correctClass = window.oUserAction.getCorrectClass(); | |
20 verbose bad json textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class usercheck_textual_input_class_required"); | |
20 verbose bad json | |
20 verbose bad json textarea_element.onfocus = function() { window.oUserAction.clearRequiredInput(); }; | |
20 verbose bad json } | |
20 verbose bad json //disable the approve button only on PortalMaindlp. on thin client approve button should always be enabled | |
20 verbose bad json if (window.oUserAction.incidentObject.RedirectToAddr != "" && window.isThinPortal != true) | |
20 verbose bad json { | |
20 verbose bad json window.oUserActionCommon.DlpHttpLearning(AdminMessage,HTTPLearningEnabled); | |
20 verbose bad json } | |
20 verbose bad json // hiding the cancel button on infom on dlp only | |
20 verbose bad json window.oUserActionCommon.DlpHideCancelBtn(window.oUserAction.incidentObject.Action); | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json //Sends report for wrong category. | |
20 verbose bad json this.sendReport = function() | |
20 verbose bad json { | |
20 verbose bad json var Variables = window.oUserAction.incidentObject.Variables; | |
20 verbose bad json | |
20 verbose bad json var resource = Variables['resource'] === undefined ? "" : Variables['resource']; | |
20 verbose bad json var hmac = Variables['resource_hmac'] === undefined ? "" : Variables['resource_hmac']; | |
20 verbose bad json var version = Variables['version']; | |
20 verbose bad json var product = Variables['product']; | |
20 verbose bad json | |
20 verbose bad json //Get the application name. If this variable has been modified (added application icon for example), take the original. | |
20 verbose bad json var appname = Variables['application_name_orig']; | |
20 verbose bad json var malwareID = Variables['application_id']; | |
20 verbose bad json if(appname === undefined) | |
20 verbose bad json appname = Variables['application_name']; | |
20 verbose bad json | |
20 verbose bad json var base64UrlEncode = function(input) { return $.base64Encode(input).replace(/\+/g, '-').replace(/\//g, '_').replace(/\=/g, '') }; | |
20 verbose bad json | |
20 verbose bad json //Encode to base64 URL form spec. | |
20 verbose bad json appname = base64UrlEncode(appname); | |
20 verbose bad json resource = base64UrlEncode(resource); | |
20 verbose bad json | |
20 verbose bad json //URL of the external URL | |
20 verbose bad json var url = window.location.protocol + "//cws.checkpoint.com/MISCAT/miscat/1.0?resource=" + resource + "&hmac=" + hmac + "&appname=" + appname + "&version=" + version + "&product=" + product + "&malwareID=" + malwareID; | |
20 verbose bad json | |
20 verbose bad json //Display a portal messge indicating the action was successful. On mobile devices we use the built-in message display. | |
20 verbose bad json if(window.browserDetails.isMobile()) | |
20 verbose bad json alert(PORTAL_IS.L10N.L10N_Obj.getStr("REPORT_SUCCESS")); | |
20 verbose bad json else | |
20 verbose bad json showPortalMessage('<table><tr><td>' + draw_img_tag_span(getURL("images/confirmation.png")) + ' </td><td>' + PORTAL_IS.L10N.L10N_Obj.getStr("REPORT_SUCCESS") + '</td></tr></table>', null, PORTAL_IS.MESSAGE_TYPE.Confirmation, true, false); | |
20 verbose bad json | |
20 verbose bad json var img = new Image(); | |
20 verbose bad json img.src = url; | |
20 verbose bad json | |
20 verbose bad json var reportLink = document.getElementById('UserCheck_Wrong_Category'); | |
20 verbose bad json | |
20 verbose bad json var correctClass = window.oUserAction.getCorrectClass(); | |
20 verbose bad json | |
20 verbose bad json //Disable the link. | |
20 verbose bad json reportLink.setAttribute(correctClass, "usercheck_url_class usercheck_disabled_url_class"); | |
20 verbose bad json | |
20 verbose bad json //send log on wrong category | |
20 verbose bad json var cookie = getCookie('UserCheck_UserID'); | |
20 verbose bad json | |
20 verbose bad json var requestData = {}; | |
20 verbose bad json | |
20 verbose bad json requestData.IID = "-1"; | |
20 verbose bad json requestData.UserOption = "LOG-WRONG-CATEGORY"; | |
20 verbose bad json requestData.UserID = cookie; | |
20 verbose bad json requestData.IsReasonExist = false; | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json //Sometimes the cookie is not written correctly, so used global user. | |
20 verbose bad json if(requestData.UserID == null || requestData.UserID == "") | |
20 verbose bad json requestData.UserID = g_userID; | |
20 verbose bad json | |
20 verbose bad json requestData.IID = UserCheck.DataObj.IID; | |
20 verbose bad json | |
20 verbose bad json var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
20 verbose bad json | |
20 verbose bad json sendAsynchronousRequest(sAbsoluteURL, | |
20 verbose bad json flattenObject(requestData), | |
20 verbose bad json this.handleUserReportWrongCategoryData, | |
20 verbose bad json this, | |
20 verbose bad json [new Callback()]); | |
20 verbose bad json | |
20 verbose bad json //Nothing should happen on click from now on. | |
20 verbose bad json reportLink.onclick = function() { }; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.handleReportTimeout = function() | |
20 verbose bad json { | |
20 verbose bad json var elem = document.getElementById('testID'); | |
20 verbose bad json document.getElementsByTagName('head')[0].removeChild(elem); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json //Verifies the input of the user, including checkbox and textarea. | |
20 verbose bad json this.highlightInput = function() | |
20 verbose bad json { | |
20 verbose bad json var checkbox_element = null; | |
20 verbose bad json var textarea_element = null; | |
20 verbose bad json var checkbox_ready = false; | |
20 verbose bad json var textarea_ready = false; | |
20 verbose bad json | |
20 verbose bad json var AdminMessage = window.oUserAction.incidentObject.Languages[window.oUserAction.incidentObject.SelectedLanguage].AdminMessage; | |
20 verbose bad json | |
20 verbose bad json //If the checkbox exists (and it is a correct element), its value will determine the button status. | |
20 verbose bad json if(window.oUserAction.incidentObject.IsCheckBoxEnforced == true && window.oUserAction.checkBoxExists(AdminMessage) == true && document.getElementById('UserCheck_Confirm_Checkbox').checked !== undefined) | |
20 verbose bad json { | |
20 verbose bad json checkbox_element = document.getElementById('UserCheck_Confirm_Checkbox'); | |
20 verbose bad json checkbox_ready = checkbox_element.checked; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json checkbox_ready = true; | |
20 verbose bad json | |
20 verbose bad json //If the reason textbox exists and is enforced, its value will determine the button status. | |
20 verbose bad json if(window.oUserAction.incidentObject.IsReasonEnforced === true && window.oUserAction.textareaExists(AdminMessage)) | |
20 verbose bad json { | |
20 verbose bad json textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
20 verbose bad json | |
20 verbose bad json //If the textarea is an incorrect element or length is correct, check passes. | |
20 verbose bad json if(textarea_element.value === undefined) | |
20 verbose bad json { | |
20 verbose bad json textarea_ready = true; | |
20 verbose bad json //This element is not really our text area so we don't need it. | |
20 verbose bad json textarea_element = null; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json if (textarea_element.value.length > 0 && textarea_element.value.length <= 400 && textarea_element.value != PORTAL_IS.L10N.L10N_Obj.getStr("ENTER_TEXT") && textarea_element.value != window.oUserAction.textAreaText) | |
20 verbose bad json textarea_ready = true; | |
20 verbose bad json else | |
20 verbose bad json textarea_ready = false; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json textarea_ready = true; | |
20 verbose bad json | |
20 verbose bad json var all_ready = checkbox_ready === true && textarea_ready === true; | |
20 verbose bad json | |
20 verbose bad json var correctClass = window.oUserAction.getCorrectClass(); | |
20 verbose bad json var elememt_to_scroll = null; | |
20 verbose bad json | |
20 verbose bad json if(checkbox_element != null) | |
20 verbose bad json { | |
20 verbose bad json | |
20 verbose bad json checkbox_element.parentNode.parentNode.parentNode.parentNode.setAttribute(correctClass, (checkbox_ready ? "usercheck_red_no_highlight" : "usercheck_red_highlight" )); | |
20 verbose bad json elememt_to_scroll = checkbox_ready ? elememt_to_scroll : checkbox_element.parentNode.parentNode.parentNode.parentNode; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if(textarea_element != null) | |
20 verbose bad json { | |
20 verbose bad json textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class " + (textarea_ready ? "usercheck_red_no_highlight" : "usercheck_red_highlight usercheck_textual_input_class_required" )); | |
20 verbose bad json elememt_to_scroll = textarea_ready ? elememt_to_scroll : textarea_element; | |
20 verbose bad json if(!textarea_ready) | |
20 verbose bad json { | |
20 verbose bad json if(window.oUserAction.textAreaText === "" || textarea_element.value !== window.oUserAction.textAreaText) | |
20 verbose bad json { | |
20 verbose bad json if(window.oUserAction.textAreaText != "") | |
20 verbose bad json textarea_element.value = window.oUserAction.textAreaText; | |
20 verbose bad json else | |
20 verbose bad json textarea_element.value = PORTAL_IS.L10N.L10N_Obj.getStr("ENTER_TEXT"); | |
20 verbose bad json } | |
20 verbose bad json textarea_element.onfocus = function() { window.oUserAction.clearRequiredInput(); }; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if(!textarea_ready && !checkbox_ready && checkbox_element!=null && textarea_element!=null) | |
20 verbose bad json { | |
20 verbose bad json if(checkbox_element.parentNode.parentNode.parentNode.parentNode.offsetTop > textarea_element.offsetTop) | |
20 verbose bad json elememt_to_scroll = checkbox_element; | |
20 verbose bad json | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if(elememt_to_scroll!=null){ | |
20 verbose bad json elememt_to_scroll.scrollIntoView(false); | |
20 verbose bad json var scrollableDiv = document.getElementById("usercheck_scrollable_div"); | |
20 verbose bad json if (scrollableDiv !== null) | |
20 verbose bad json scrollableDiv.scrollLeft = 0; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var errorElement = document.getElementById('usercheck_error_div'); | |
20 verbose bad json if(errorElement != null) | |
20 verbose bad json errorElement.innerHTML = all_ready ? "" : "<br/><span style='color: #FF0000;'>* " + PORTAL_IS.L10N.L10N_Obj.getStr("REQUIRED_FIELDS") + "</span>"; | |
20 verbose bad json | |
20 verbose bad json return all_ready; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.clearRequiredInput = function() | |
20 verbose bad json { | |
20 verbose bad json textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
20 verbose bad json | |
20 verbose bad json textarea_element.value = ""; | |
20 verbose bad json | |
20 verbose bad json var correctClass = window.oUserAction.getCorrectClass(); | |
20 verbose bad json | |
20 verbose bad json if(textarea_element.getAttribute(correctClass).indexOf("usercheck_red_highlight") !== -1) | |
20 verbose bad json textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class usercheck_red_highlight"); | |
20 verbose bad json else | |
20 verbose bad json textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class"); | |
20 verbose bad json | |
20 verbose bad json textarea_element.onfocus = function() { }; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.sendMail = function() | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UserAction::sendMail"); | |
20 verbose bad json this.last_action = 'sent'; | |
20 verbose bad json | |
20 verbose bad json if(!window.oUserAction.highlightInput()) | |
20 verbose bad json //There was some user input missing - don't continue. | |
20 verbose bad json return; | |
20 verbose bad json | |
20 verbose bad json var reason = ""; | |
20 verbose bad json if(document.getElementById('UserCheck_Textual_Input') != null) | |
20 verbose bad json { | |
20 verbose bad json reason = document.getElementById('UserCheck_Textual_Input').value; | |
20 verbose bad json //If the reason box is not found, there is nothing to enforce. | |
20 verbose bad json if(reason === undefined) | |
20 verbose bad json { | |
20 verbose bad json reason = ""; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json var sendMailCallback = new Callback(); | |
20 verbose bad json sendMailCallback.methodReference = this.handleConfirmationData; | |
20 verbose bad json sendMailCallback.thisArgument = this; | |
20 verbose bad json sendMailCallback.args.push(new Callback()); | |
20 verbose bad json PORTAL_IS.AJAX_MGR.sendAsyncReq( getURL("EmailSend"), | |
20 verbose bad json "mailId="+encodeURIComponent(UserCheck.DataObj.IID)+ | |
20 verbose bad json "&justification="+encodeURIComponent(reason)+"&action=DLP-CHOICE-ACTION-SEND", | |
20 verbose bad json sendMailCallback, | |
20 verbose bad json null, | |
20 verbose bad json null, | |
20 verbose bad json "Sending email failed."); | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.discardMail = function() | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UserAction::deleteMail"); | |
20 verbose bad json this.last_action = 'delete'; | |
20 verbose bad json | |
20 verbose bad json var sendMailCallback = new Callback(); | |
20 verbose bad json sendMailCallback.methodReference = this.handleConfirmationData; | |
20 verbose bad json sendMailCallback.thisArgument = this; | |
20 verbose bad json sendMailCallback.args.push(new Callback()); | |
20 verbose bad json PORTAL_IS.AJAX_MGR.sendAsyncReq( getURL("EmailSend"), | |
20 verbose bad json "mailId="+encodeURIComponent(UserCheck.DataObj.IID)+ | |
20 verbose bad json "&justification="+encodeURIComponent("")+"&action=DLP-CHOICE-ACTION-DISCARD", | |
20 verbose bad json sendMailCallback, | |
20 verbose bad json null, | |
20 verbose bad json null, | |
20 verbose bad json "Sending email failed."); | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.handleConfirmationData = function(xhrStatus, xhrResponse, callback) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out("UserAction::handleConfirmationData "); | |
20 verbose bad json if (callback == undefined) | |
20 verbose bad json { | |
20 verbose bad json callback = new Callback(); | |
20 verbose bad json } | |
20 verbose bad json if (xhrStatus != 200) | |
20 verbose bad json { | |
20 verbose bad json // TODO: Handle error. | |
20 verbose bad json DEBUG.out('Retreiving Single Incident Review Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
20 verbose bad json callback.call(); | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json var newViewJSONObj = JSON.parse(xhrResponse); | |
20 verbose bad json var message = newViewJSONObj.message; | |
20 verbose bad json var lastChanged = newViewJSONObj.lastChanged; | |
20 verbose bad json var succeeded = newViewJSONObj.succeeded; | |
20 verbose bad json if (lastChanged != -1 && lastChanged != 0) | |
20 verbose bad json { | |
20 verbose bad json //message += " "; | |
20 verbose bad json //message += convertToGmt(lastChanged); | |
20 verbose bad json //this.emailData.date = convertToGmt(lastChanged); | |
20 verbose bad json } | |
20 verbose bad json //@@NA add test if this is from Thin Portal and only then redirect to about:blank | |
20 verbose bad json // window.location = "about:blank"; | |
20 verbose bad json if (succeeded) | |
20 verbose bad json { | |
20 verbose bad json var cookie = getCookie('UserCheck_UserID'); | |
20 verbose bad json var requestData = {}; | |
20 verbose bad json requestData.IID = "-1"; | |
20 verbose bad json requestData.UserID = cookie; | |
20 verbose bad json requestData.IsReasonExist = true; | |
20 verbose bad json requestData.Reason = ""; | |
20 verbose bad json requestData.UserOption = "SEND"; | |
20 verbose bad json if (newViewJSONObj.action == "DLP-CHOICE-ACTION-DISCARD") | |
20 verbose bad json { | |
20 verbose bad json requestData.UserOption = "DISCARD"; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if (newViewJSONObj.action === undefined || newViewJSONObj.action != "DLP-CHOICE-ACTION-SEND") | |
20 verbose bad json { | |
20 verbose bad json requestData.IsReasonExist = false; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json if(document.getElementById('UserCheck_Textual_Input') != null) | |
20 verbose bad json { | |
20 verbose bad json var reason = document.getElementById('UserCheck_Textual_Input').value; | |
20 verbose bad json | |
20 verbose bad json //If the reason box is not found, there is nothing to enforce. | |
20 verbose bad json if(reason === undefined) | |
20 verbose bad json { | |
20 verbose bad json reason = ""; | |
20 verbose bad json requestData.IsReasonExist = false; | |
20 verbose bad json } | |
20 verbose bad json else if(window.oUserAction.incidentObject.IsReasonEnforced === true && (reason.length == 0 || reason.length > 400)) | |
20 verbose bad json return; | |
20 verbose bad json | |
20 verbose bad json requestData.Reason = reason; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json requestData.IsReasonExist = false; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json //Sometimes the cookie is not written correctly, so used global user. | |
20 verbose bad json if(requestData.UserID == null || requestData.UserID == "") | |
20 verbose bad json requestData.UserID = g_userID; | |
20 verbose bad json requestData.IID = UserCheck.DataObj.IID; | |
20 verbose bad json | |
20 verbose bad json var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
20 verbose bad json | |
20 verbose bad json sendAsynchronousRequest(sAbsoluteURL, | |
20 verbose bad json flattenObject(requestData), | |
20 verbose bad json this.handleUserCheckChoiceData, | |
20 verbose bad json this, | |
20 verbose bad json [new Callback()]); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.goToBlank = function() | |
20 verbose bad json { | |
20 verbose bad json window.location = "about:blank"; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.ApproveHttp = function() | |
20 verbose bad json { | |
20 verbose bad json this.sendMail(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json | |
20 verbose bad json this.createScrubbingLinks = function(attachments, isExtended) | |
20 verbose bad json { | |
20 verbose bad json var scrub_files_out = "<ul style=\"list-style-type: none;padding: 0;\">"; | |
20 verbose bad json for (var i = 0;i<attachments.length;i++) | |
20 verbose bad json { | |
20 verbose bad json if (attachments[i].fileStatus == "FILE-STATUS-APPROVED-BY-TE" || attachments[i].fileStatus == "FILE-STATUS-AVAILABLE" || attachments[i].fileStatus == "FILE-STATUS-AVAILABLE-SUSPICIOUS") | |
20 verbose bad json { | |
20 verbose bad json var image = "images/confirmation.png"; | |
20 verbose bad json var comment = ""; | |
20 verbose bad json var toolTip = "Click to download"; | |
20 verbose bad json var removedParts = attachments[i].removedParts; | |
20 verbose bad json if (isExtended == true) | |
20 verbose bad json { | |
20 verbose bad json if(removedParts != "") | |
20 verbose bad json { | |
20 verbose bad json removedParts = removedParts.replace(/\n/g,", "); | |
20 verbose bad json comment = " contains " + removedParts; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json comment = PORTAL_IS.L10N.L10N_Obj.getStr(attachments[i].scrubResult); | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json scrub_files_out += "<li title=\"" + toolTip + "\"><img src=\"" + image + "\" width=\"20\" height=\"20\"/> " + "<a href=\"ScrubGetFile?IID="+UserCheck.DataObj.IID+"&fileID="+attachments[i].fileId+"\" TARGET=\"_blank\"><span style=\"font-weight:bold\">" + attachments[i].fileName + "</span></a> <span style=\"color:Red;font-size:80%\">" + comment + "</span></li>" | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json var description = ""; | |
20 verbose bad json var img = ""; | |
20 verbose bad json var toolTip = ""; | |
20 verbose bad json if (attachments[i].fileStatus == "FILE-STATUS-WAITING-FOR-TE") | |
20 verbose bad json { | |
20 verbose bad json g_refreshFiles = true; | |
20 verbose bad json description = "scanning..."; | |
20 verbose bad json img = "img/loader.gif"; | |
20 verbose bad json toolTip = "Please wait while file is being scanned"; | |
20 verbose bad json } | |
20 verbose bad json else if (attachments[i].fileStatus == "FILE-STATUS-BLOCKED-BY-TE") | |
20 verbose bad json { | |
20 verbose bad json description = "blocked - file is malicious"; | |
20 verbose bad json img = "img/block.png"; | |
20 verbose bad json toolTip = "File is malicious - blocked for download"; | |
20 verbose bad json } | |
20 verbose bad json else if (attachments[i].fileStatus == "FILE-STATUS-BLOCKED-BY-POLICY") | |
20 verbose bad json { | |
20 verbose bad json description = "blocked according to company policy"; | |
20 verbose bad json img = "img/block.png"; | |
20 verbose bad json toolTip = "File is blocked for download according to company policy"; | |
20 verbose bad json } | |
20 verbose bad json scrub_files_out += "<li title=\"" + toolTip + "\"><img src=\"" + img + "\" width=\"20\" height=\"20\"/> " + attachments[i].fileName + " <span style=\"color:LightSteelBlue\">(" + description + ")</span></li>" | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json scrub_files_out += "</ul><div id=\"refresh_timer_div\"></div>"; | |
20 verbose bad json return scrub_files_out; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.handleScrubbingFiles = function(xhrStatus, xhrResponse, callback) | |
20 verbose bad json { | |
20 verbose bad json if (callback == undefined) | |
20 verbose bad json { | |
20 verbose bad json callback = new Callback(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if (xhrStatus != 200) | |
20 verbose bad json { | |
20 verbose bad json DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
20 verbose bad json callback.call(); | |
20 verbose bad json return; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.scrubbingResponse = JSON.parse(xhrResponse); | |
20 verbose bad json | |
20 verbose bad json var attachments = []; | |
20 verbose bad json if( Object.prototype.toString.call( this.scrubbingResponse.data.attachments ) != '[object Array]' ) { | |
20 verbose bad json attachments[0] = this.scrubbingResponse.data.attachments; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json attachments = this.scrubbingResponse.data.attachments; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json g_refreshFiles = false; | |
20 verbose bad json var scrub_links_simple = document.getElementById('links_simple'); | |
20 verbose bad json if (scrub_links_simple != null) | |
20 verbose bad json { | |
20 verbose bad json if (scrub_links_simple.hasChildNodes()) | |
20 verbose bad json scrub_links_simple.removeChild(scrub_links_simple.childNodes[0]); | |
20 verbose bad json var tmp = document.createElement("div"); | |
20 verbose bad json tmp.innerHTML = window.oUserAction.createScrubbingLinks(attachments, false); | |
20 verbose bad json scrub_links_simple.appendChild(tmp); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var scrub_links_extended = document.getElementById('links_extended'); | |
20 verbose bad json if (scrub_links_extended != null) | |
20 verbose bad json { | |
20 verbose bad json if (scrub_links_extended.hasChildNodes()) | |
20 verbose bad json scrub_links_extended.removeChild(scrub_links_extended.childNodes[0]); | |
20 verbose bad json var tmp = document.createElement("div"); | |
20 verbose bad json tmp.innerHTML = window.oUserAction.createScrubbingLinks(attachments, true); | |
20 verbose bad json scrub_links_extended.appendChild(tmp); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json var scrub_wait_massage = document.getElementById('scrub_wait_message'); | |
20 verbose bad json if (scrub_wait_massage != null) | |
20 verbose bad json { | |
20 verbose bad json scrub_wait_massage.style.display = 'none'; | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json if (g_refreshFiles) | |
20 verbose bad json { | |
20 verbose bad json UserCheck.tools.oTimeoutManager.startTimeoutTimer(30, window.oUserAction.refreshScrubbingFiles); | |
20 verbose bad json } | |
20 verbose bad json callback.call(); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.refreshScrubbingFiles = function() | |
20 verbose bad json { | |
20 verbose bad json var requestData = { | |
20 verbose bad json IID: "-1" | |
20 verbose bad json }; | |
20 verbose bad json requestData.IID = UserCheck.DataObj.IID; | |
20 verbose bad json var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetScrubFiles"); | |
20 verbose bad json sendAsynchronousRequest(sAbsoluteURL, | |
20 verbose bad json flattenObject(requestData), | |
20 verbose bad json window.oUserAction.handleScrubbingFiles, | |
20 verbose bad json this, | |
20 verbose bad json [new Callback()]); | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json this.showOrHideRemovedPartsfromFiles = function(FileIndex) | |
20 verbose bad json { | |
20 verbose bad json var infoimg_element = document.getElementById('infoimg_' + FileIndex); | |
20 verbose bad json var removed_parts_element = document.getElementById('removed_parts_' + FileIndex); | |
20 verbose bad json | |
20 verbose bad json if ( infoimg_element != null && removed_parts_element != null ) | |
20 verbose bad json { | |
20 verbose bad json if( removed_parts_element.style.display === "none" ) | |
20 verbose bad json { | |
20 verbose bad json infoimg_element.style.display = 'none'; | |
20 verbose bad json removed_parts_element.style.display = 'inline'; | |
20 verbose bad json } | |
20 verbose bad json else | |
20 verbose bad json { | |
20 verbose bad json infoimg_element.style.display = "inline"; | |
20 verbose bad json removed_parts_element.style.display = 'none'; | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json } | |
20 verbose bad json | |
20 verbose bad json } //END: window.UserAction = function() | |
20 verbose bad json | |
20 verbose bad json window.oUserAction = new UserAction(); | |
20 verbose bad json oUserAction.init(); | |
20 verbose bad json | |
20 verbose bad json </script> | |
20 verbose bad json | |
20 verbose bad json </html> | |
21 error registry error parsing json | |
22 verbose headers { date: 'Tue, 06 Jun 2017 10:41:22 GMT', | |
22 verbose headers server: 'CPWS', | |
22 verbose headers 'x-ua-compatible': 'IE=edge', | |
22 verbose headers 'set-cookie': | |
22 verbose headers [ 'DLPSID=c9e2670e8f351869eb4aa1423c788921; path=/; secure; HttpOnly', | |
22 verbose headers 'UserCheck_UserID=HESS+Manuel+%28hess2%29%0A; expires=Wed, 06-Jun-2018 16:30:08 GMT' ], | |
22 verbose headers expires: 'Thu, 19 Nov 1981 08:52:00 GMT', | |
22 verbose headers 'cache-control': 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0', | |
22 verbose headers pragma: 'no-cache', | |
22 verbose headers 'keep-alive': 'timeout=1, max=100', | |
22 verbose headers connection: 'Keep-Alive', | |
22 verbose headers 'transfer-encoding': 'chunked', | |
22 verbose headers 'content-type': 'text/html' } | |
23 silly get cb [ 200, | |
23 silly get { date: 'Tue, 06 Jun 2017 10:41:22 GMT', | |
23 silly get server: 'CPWS', | |
23 silly get 'x-ua-compatible': 'IE=edge', | |
23 silly get 'set-cookie': | |
23 silly get [ 'DLPSID=c9e2670e8f351869eb4aa1423c788921; path=/; secure; HttpOnly', | |
23 silly get 'UserCheck_UserID=HESS+Manuel+%28hess2%29%0A; expires=Wed, 06-Jun-2018 16:30:08 GMT' ], | |
23 silly get expires: 'Thu, 19 Nov 1981 08:52:00 GMT', | |
23 silly get 'cache-control': 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0', | |
23 silly get pragma: 'no-cache', | |
23 silly get 'keep-alive': 'timeout=1, max=100', | |
23 silly get connection: 'Keep-Alive', | |
23 silly get 'transfer-encoding': 'chunked', | |
23 silly get 'content-type': 'text/html' } ] | |
24 silly fetchPackageMetaData SyntaxError: Unexpected token < in JSON at position 0 | |
24 silly fetchPackageMetaData <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <html> | |
24 silly fetchPackageMetaData <head> | |
24 silly fetchPackageMetaData <meta name="robots" content="noindex,nofollow" /> | |
24 silly fetchPackageMetaData <meta content="yes" name="apple-mobile-web-app-capable" /> | |
24 silly fetchPackageMetaData <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <link rel="icon" type="image/vnd.microsoft.icon" href="img/favicon.ico"/> <link rel="shortcut icon" type="image/vnd.microsoft.icon" href="img/favicon.ico"/> | |
24 silly fetchPackageMetaData <link id="dynamicCSS" rel="stylesheet" type="text/css" href="/UserCheck/css/Blob_dynamic_css" /> | |
24 silly fetchPackageMetaData <link id="staticCSS" rel="stylesheet" type="text/css" href="/UserCheck/css/Blob_static.css" /> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <script type="text/javascript"> | |
24 silly fetchPackageMetaData //Create a dynamic element to allow sending of the document mode of IE. | |
24 silly fetchPackageMetaData //This way we can notify PHP that it can display modern content instead of classic, despite the browser's reporting of being IE7. | |
24 silly fetchPackageMetaData var headID = document.getElementsByTagName("head")[0]; | |
24 silly fetchPackageMetaData var cssNode = document.createElement('link'); | |
24 silly fetchPackageMetaData cssNode.type = 'text/css'; | |
24 silly fetchPackageMetaData cssNode.rel = 'stylesheet'; | |
24 silly fetchPackageMetaData cssNode.href = "/UserCheck/css/UserCheckCSS" + (document.documentMode !== undefined ? "?documentMode=" + document.documentMode : ""); | |
24 silly fetchPackageMetaData headID.appendChild(cssNode); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData /* | |
24 silly fetchPackageMetaData ======================================================================================================================== | |
24 silly fetchPackageMetaData PORTAL IS - ESSENTIALS INCLUSION - START | |
24 silly fetchPackageMetaData ________________________________________________________________________________________________________________________ | |
24 silly fetchPackageMetaData */ | |
24 silly fetchPackageMetaData // Set global PORTAL_IS namespace. | |
24 silly fetchPackageMetaData window.PORTAL_IS = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set namespace. | |
24 silly fetchPackageMetaData PORTAL_IS.CONF = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.AJAX_REQ_TIMEOUT = 15000; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // These properties describes the external references of the portal. | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MULTI_PORTALS = {}; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_PATH = ""; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_PORT = 443; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_HOST = "192.168.0.0"; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_SCHEME = "https"; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MULTI_PORTALS.XSRF_TOKEN = ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // The current web application name. | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.WEBAPP_NAME = "UserCheck"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Debug configurations | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MAX_STACK_SIZE = 1000; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.QUIET_MODE = "on".toLowerCase() == "on"; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.DEBUG_LEVEL = 0; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set namespace. | |
24 silly fetchPackageMetaData window.PORTAL_IS.L10N = {} | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Localization object. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData function __L10N() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.strings = new Array(); | |
24 silly fetchPackageMetaData this.browserLangs = new Array(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.init = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var obj = {"UC_TITLE":"Check Point UserCheck","UC_TITLE_MOBILE_DLP":"Check Point UserCheck Mobile DLP","BUTTON.OK":"OK","BUTTON.CANCEL":"Cancel","BUTTON.SEND":"Send","BUTTON.DISCARD":"Discard","BUTTON.APPROVE":"Approve","WRONG_ID":"This notification page has expired. You can safely close the page or ","TIMEOUT":"This notification page has expired. You can safely close the page or ","RETRY":"reload the original page.","REPORT_SUCCESS":"Report was sent successfully.","REPORT_ERROR":"An error occured while sending the report.","REQUIRED_FIELDS":"Required fields","ENTER_TEXT":"Enter text","RETURN_TO_SITE":"Return to site","UC.BLOCKED_IFRAME":"Learn more...","UC.INFO_IFRAME":"Click to resolve...","PLEASE_WAIT":"Please wait . . .","NO_SCRIPT":"This portal requires browser which support JavaScript.<br>Please make sure that you are using an updated browser and that JavaScript is enabled.","MSGBOX_TITLE_CONFIRMATION":"Confirmation","MSGBOX_TITLE_JUSTIFICATION":"Justification","MSGBOX_TITLE_APPROVER":"Approver","MSGBOX_TITLE_WARNING":"Warning","MSGBOX_TITLE_ATTENTION":"Attention","MSGBOX_TITLE_ERROR":"Error","MSGBOX_TITLE_REPORT_ERROR":"Report an error","MSGBOX_TITLE_EXTEND_EXPIRATION":"Extend expiration date","DEFAULT_GENERIC_CLIENT_ERROR":"An unexpected error has occurred.\nYou may still be able to continue working normally.\nPlease retry accessing the web page in a short while.\n\n","DEFAULT_GENERIC_TIMEOUT_CLIENT_ERROR":"You may not access this page, or this page has expired.\nPlease sign in.","LOG_REFERENCE_ID":"Log reference id: ","ERROR.LINK.SEND_ERROR_REPORT":"Send error report","ERROR.LINK.IM_HAVING_PROBLEMS":"I am having problems with this Portal.","CHECKPOINT_COPY_RIGHTS":"©2011 Check Point Software Technologies Ltd.","EMAIL_SENT":"The email has been sent","EMAIL_DISCARDED":"The email has been discarded","EMAIL_ALREADY_SENT":"The email has already been sent","EMAIL_ALREADY_DISCARDED":"The email has already been discarded","UNKOWN_INCIDENT_STATUS":"The incident status is unkown","REVIEW_TEXT":"Review issue in portal","MAIL.ITEM.ATTACHMENTS":"Attachments","HTTP_LEARNING":"To complete the operation, <b>please return to site and resend the information<\/b>, thanks.","HTTP_LEARNING_ERROR_MSG":"Sending the message cannot be approved,<\/br> please contact your system administrator.","HTTP_LEARNING_ERROR_TOOLTIP":"Sending the message cannot be approved, please contact your system administrator.","CP_SCRUB_WAIT_MESSAGE":"Please wait while loading files...","CP_SCRUB_RESULT_SUCCESS":"","CP_SCRUB_RESULT_FAILURE":"File structure may be corrupted","CP_SCRUB_RESULT_TIMEOUT":"","CP_SCRUB_RESULT_UNSUPPORTED_FILE":"File format is not supported","CP_SCRUB_RESULT_NOT_SCRUBBED":"","CP_SCRUB_RESULT_INTERNAL_ERROR":"","CP_SCRUB_RESULT_NO_VALID_CONTRACT":"","CP_SCRUB_RESULT_SKIPPED_BY_TE_CONFIDENCE":"","CP_SCRUB_RESULT_OUT_OF_MEMORY":"","CP_SCRUB_RESULT_DOCSEC_FILE":"File encrypted using Checkpoint's Document Security","CP_SCRUB_RESULT_ENCRYPTED_FILE":"contains encrypted data","CP_SCRUB_RESULT_SKIPPED_BY_SCRIPT":"","CP_SCRUB_RESULT_DISK_LIMIT_REACHED":""}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData for(val in obj) | |
24 silly fetchPackageMetaData this.strings[val] = obj[val]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData obj = ["en"]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData for(val in obj) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.browserLangs[val] = obj[val].split(';')[0]; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.getStr = function(stringId) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData return this.strings[stringId]; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.selectLanguage = function(languageArray) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData for(lang in this.browserLangs) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(languageArray[this.browserLangs[lang]] === true) | |
24 silly fetchPackageMetaData return this.browserLangs[lang]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(languageArray[this.browserLangs[lang].substring(0, 2)] === true) | |
24 silly fetchPackageMetaData return this.browserLangs[lang].substring(0, 2); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If nothing succeeded, return the default. | |
24 silly fetchPackageMetaData return "en"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.reloadLanguageTo = function(lang, fallbackLang, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var requestData = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.lang = lang; | |
24 silly fetchPackageMetaData requestData.fallbackLang = fallbackLang; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetTranslationData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData this.asyncReloadLangHandler, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [callback]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.asyncReloadLangHandler = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving translation data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var obj = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData this.strings = null; //Ensure removing of old values. | |
24 silly fetchPackageMetaData this.strings = new Array(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData for(val in obj) | |
24 silly fetchPackageMetaData this.strings[val] = obj[val]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Localization object. | |
24 silly fetchPackageMetaData L10N_Obj = new __L10N(); | |
24 silly fetchPackageMetaData L10N_Obj.init(); | |
24 silly fetchPackageMetaData PORTAL_IS.L10N.L10N_Obj = L10N_Obj; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData /* | |
24 silly fetchPackageMetaData ________________________________________________________________________________________________________________________ | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData PORTAL IS - ESSENTIALS INCLUSION - END | |
24 silly fetchPackageMetaData ======================================================================================================================== | |
24 silly fetchPackageMetaData */ | |
24 silly fetchPackageMetaData var noJSCrypto = "true"; | |
24 silly fetchPackageMetaData </script> | |
24 silly fetchPackageMetaData <script type="text/javascript" src="js/Blob.js"></script> | |
24 silly fetchPackageMetaData <script type="text/javascript"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Create namespace | |
24 silly fetchPackageMetaData window.UserCheck = {}; | |
24 silly fetchPackageMetaData window.UserCheck.tools = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData function parseSender(value) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData return value.address; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData // Render recipient list from and array. | |
24 silly fetchPackageMetaData // String[] recipientsArr - Array of recipients. | |
24 silly fetchPackageMetaData // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
24 silly fetchPackageMetaData // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
24 silly fetchPackageMetaData function recipientsArr2StrInTable(recipientsArr, ellipsisLimit, useLinebreakes) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (ellipsisLimit == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData ellipsisLimit = 0; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (useLinebreakes == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData useEllipsis = true; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var recipientsList = ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData for (var i=0; i<recipientsArr.length; i++) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData recipientsList += HTMLEncode(recipientsArr[i].address); | |
24 silly fetchPackageMetaData if (i < recipientsArr.length-1) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData recipientsList += ", "; | |
24 silly fetchPackageMetaData if (useLinebreakes) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData recipientsList += "<br>"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (ellipsisLimit > 0) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //recipientsList = Ext.util.Format.ellipsis(recipientsList, ellipsisLimit); | |
24 silly fetchPackageMetaData recipientsList = recipientsList; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return recipientsList; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData // Render recipient list from and array. | |
24 silly fetchPackageMetaData // Sender sender - The sender data. | |
24 silly fetchPackageMetaData // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
24 silly fetchPackageMetaData // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
24 silly fetchPackageMetaData function getSenderName(sender, ellipsisLimit) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var output = ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (ellipsisLimit == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData ellipsisLimit = 0; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (sender.name.empty()) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData output = sender.address; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData output = sender.name; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // if (ellipsisLimit > 0) | |
24 silly fetchPackageMetaData // { | |
24 silly fetchPackageMetaData // output = Ext.util.Format.ellipsis(output, ellipsisLimit); | |
24 silly fetchPackageMetaData // } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return output; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData // Render recipient list from and array. | |
24 silly fetchPackageMetaData // String sender - The subject string. | |
24 silly fetchPackageMetaData // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
24 silly fetchPackageMetaData // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
24 silly fetchPackageMetaData function getSubject(subject, ellipsisLimit) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var output = subject; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (ellipsisLimit == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData ellipsisLimit = 0; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // if (ellipsisLimit > 0) | |
24 silly fetchPackageMetaData // { | |
24 silly fetchPackageMetaData // output = Ext.util.Format.ellipsis(output, ellipsisLimit); | |
24 silly fetchPackageMetaData // } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return output; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData // tranform recipients array to string | |
24 silly fetchPackageMetaData function recipientsArr2Str(recipientsArr,type) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var recipientsList = ""; | |
24 silly fetchPackageMetaData var address = ""; | |
24 silly fetchPackageMetaData var commaNeeded = false; | |
24 silly fetchPackageMetaData for (var i=0; i<recipientsArr.length; i++) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (type == recipientsArr[i].recipientType) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (!commaNeeded) | |
24 silly fetchPackageMetaData commaNeeded = true; | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData recipientsList += ", "; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData address = HTMLEncode(recipientsArr[i].address); | |
24 silly fetchPackageMetaData if (recipientsArr[i].isExternal) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData address = '<span ' + GetDomainColor(recipientsArr[i].address)+' >' + address + '</span>' | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData recipientsList += address; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return recipientsList; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData function arr2Str(arr) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var str = ""; | |
24 silly fetchPackageMetaData var commaNeeded = false; | |
24 silly fetchPackageMetaData for (var i=0; i<arr.length; i++) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (!commaNeeded) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData commaNeeded = true; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData str += ", "; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData str += arr[i]; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return str; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData function GetDomainColor(str) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // var highlightColors = new Array("FFFF00","00FF00","00FFFF","FF00FF","FF0000","FFFF99","99FF99","CCFFFF","FFCCFF", "FF9999") | |
24 silly fetchPackageMetaData var highlightColors = new Array("FFFF00","FF00FF","FF0000","FFBB00","FF9999"); | |
24 silly fetchPackageMetaData domainName = GetDomainName(str); | |
24 silly fetchPackageMetaData if (domainName==null) return null; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData hash=0; | |
24 silly fetchPackageMetaData for (i=0; i<domainName.length; i++) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData hash += domainName.charCodeAt(i); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData hash = hash % (highlightColors.length); | |
24 silly fetchPackageMetaData return 'style="background-color: #' + highlightColors[hash] + '; text-decoration: underline;"'; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData /* | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData UserCheck.tools.clearContainer = function(containerId) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("Clear container: "+containerId); | |
24 silly fetchPackageMetaData var container = Ext.getCmp(containerId); | |
24 silly fetchPackageMetaData if ((container) && (container.items)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData container.items.each( | |
24 silly fetchPackageMetaData function(item) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData container.remove(item, true); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData ); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData */ | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Override poral_is error handler. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData window.genericTimeoutHandler = function(portalException) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck::genericTimeoutHandler."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if ((portalException == undefined) || (portalException == null)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData portalException = new PortalException(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Assign action to the Ok button. | |
24 silly fetchPackageMetaData // The event is added in order to get the exception, if it is set, that is set as the error message OK button attribute. see showPortalErrorMessage | |
24 silly fetchPackageMetaData postErrorHandler = function(event) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // Check if redirected due to timeout. | |
24 silly fetchPackageMetaData if (getCookie("isRedirectedDueTimeout") == "1") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // Delete the cookie to allow future errors. | |
24 silly fetchPackageMetaData setCookie("isRedirectedDueTimeout", "0", 0); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // TODO: Redirect to error page. | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set cookie in order to prevent error loops. | |
24 silly fetchPackageMetaData setCookie("isRedirectedDueTimeout", "1", 5*60); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData genericPostErrorHandler(event); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Reload the page. | |
24 silly fetchPackageMetaData document.location.href=document.location.href; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // TODO: Get message from resource bundle. | |
24 silly fetchPackageMetaData //var errMsg = "Your session has expired or timed out.\nYou will be redirected to the login page.\n\n"; | |
24 silly fetchPackageMetaData showPortalErrorMessage(portalException, postErrorHandler, true); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData window.genericErrorHandler = function(portalException, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck::genericErrorHandler."); | |
24 silly fetchPackageMetaData if ((portalException == undefined) || (portalException == null)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData portalException = new PortalException(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (isNothingness(callback)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Assign action to the Ok button. | |
24 silly fetchPackageMetaData // The event is added in order to get the exception, if it is set, that is set as the error message OK button attribute. see showPortalErrorMessage | |
24 silly fetchPackageMetaData postErrorHandler = function(event) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData genericPostErrorHandler(event); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData // No reload of the page. | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData showPortalErrorMessage(portalException, postErrorHandler, true); | |
24 silly fetchPackageMetaData return true; // This is required for the execption to stop from being passed to the browser. | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData window.genericPostErrorHandler = function(event) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck::genericPostErrorHandler."); | |
24 silly fetchPackageMetaData // Just hide the error. | |
24 silly fetchPackageMetaData hidePortalErrorMessage(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData UserCheck.tools.sendErrorReport = function(userDesc, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck.tools.sendErrorReport in."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = getURL("data/submitErrorReport"); | |
24 silly fetchPackageMetaData var report = encodeURIComponent(DEBUG.compileErrorReport()); | |
24 silly fetchPackageMetaData var userDesc = encodeURIComponent(userDesc); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sendErrorReportCallback = new Callback(); | |
24 silly fetchPackageMetaData sendErrorReportCallback.methodReference = UserCheck.tools.handleErrorReportResponse; | |
24 silly fetchPackageMetaData sendErrorReportCallback.args.push(callback); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Send report with no error handlers. | |
24 silly fetchPackageMetaData PORTAL_IS.AJAX_MGR.sendAsyncReq(sAbsoluteURL, "report="+report+"&userDesc="+userDesc, sendErrorReportCallback, null, null, "Sending of error report failed."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set error flag. | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.errorMsgShown = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData UserCheck.tools.handleErrorReportResponse = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck.tools.handleErrorReportResponse in."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set error flag. | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.errorMsgShown = false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (isNothingness(callback)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // TODO: Handle error. | |
24 silly fetchPackageMetaData DEBUG.out('Submitting error report failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData showPortalMessage("Sending of error report failed."); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData showPortalMessage("Error report was sent successfully.\nThank you for your support.", null, UserCheck.MESSAGE_TYPE.Confirmation); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData UserCheck.tools.showErrorReport = function(callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck.tools.showErrorReport in."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Create new callback with send report and store previous callback in it. | |
24 silly fetchPackageMetaData submitCallback = new Callback(); | |
24 silly fetchPackageMetaData submitCallback.methodReference = DEBUG.sendErrorReport; | |
24 silly fetchPackageMetaData submitCallback.args = [callback]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Create new callback for cancel. | |
24 silly fetchPackageMetaData cancelCallback = new Callback(); | |
24 silly fetchPackageMetaData cancelCallback.methodReference = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // Clear error flag. | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.errorMsgShown = false; | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData }; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Hide any opened boxes. | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.hideGeneralContainer(); | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.hideDialog(); | |
24 silly fetchPackageMetaData hidePortalMessage(); | |
24 silly fetchPackageMetaData hidePortalErrorMessage(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.showDialog( "Please describe the encountered problem in the text box below.", | |
24 silly fetchPackageMetaData "NOTICE: The report might include personal information from your mail items.\nThe report will not include your credentials.", | |
24 silly fetchPackageMetaData "I was trying to (e.g. review an email):\n\nWork flow which led to this error (e.g. access via email link):\n\nI am unable to:", | |
24 silly fetchPackageMetaData "Report an error", | |
24 silly fetchPackageMetaData submitCallback, cancelCallback, null, null, null, null, true); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set error flag. | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.errorMsgShown = true; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.showErrorReport = UserCheck.tools.showErrorReport; | |
24 silly fetchPackageMetaData DEBUG.sendErrorReport = UserCheck.tools.sendErrorReport; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData UserCheck.tools.oTimeoutManager = | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData timerID: -1, | |
24 silly fetchPackageMetaData startTimeoutTimer: function(duration, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var milisecs = duration * 1000; | |
24 silly fetchPackageMetaData if (milisecs > 2147483646) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData milisecs = 2147483646; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck.tools.TimeoutManager: Starting timer for " + duration + " seconds."); | |
24 silly fetchPackageMetaData window.TimeoutManagerCallback = callback; | |
24 silly fetchPackageMetaData this.timerID = setTimeout("this.TimeoutManagerCallback();", milisecs); | |
24 silly fetchPackageMetaData }, | |
24 silly fetchPackageMetaData stopTimeoutTimer: function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData clearTimeout(timerID); | |
24 silly fetchPackageMetaData timerID = -1; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData }; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData UserCheck.DataObj = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // TODO: This should be defined as an "interface" class and other view managers should implement it. | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // UC's view manager. | |
24 silly fetchPackageMetaData window.UCViewManager = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.lastRenderedCustomContentContainers = new Array(); | |
24 silly fetchPackageMetaData this.defaultContainer = 'portal_main_view'; | |
24 silly fetchPackageMetaData this.ignoreHashChange = false; | |
24 silly fetchPackageMetaData this.wait = null; | |
24 silly fetchPackageMetaData this.requestParams = null; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Hash to view mapping, enables us to set display another value than the actual view name. | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData this.hashViewMap = new Array(); | |
24 silly fetchPackageMetaData // Hash name View name | |
24 silly fetchPackageMetaData //__________________________________________________________________________________________________________________ | |
24 silly fetchPackageMetaData this.hashViewMap["UserAction"] = "UserAction"; | |
24 silly fetchPackageMetaData this.hashViewMap["MainWithMenuView"] = "MainWithMenuView"; | |
24 silly fetchPackageMetaData this.hashViewMap["Menu"] = "Menu"; | |
24 silly fetchPackageMetaData this.hashViewMap["Logout"] = "Logout"; | |
24 silly fetchPackageMetaData this.hashViewMap["MainView"] = "MainView"; | |
24 silly fetchPackageMetaData this.hashViewMap["Error"] = "Error"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Get View name from Hash name. | |
24 silly fetchPackageMetaData this.hash2View = function(hash) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var view = this.hashViewMap[hash]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (isNothingness(view)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData view = "UserAction"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData return view; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Get Hash name from View name. | |
24 silly fetchPackageMetaData this.view2Hash = function(view) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var hash = "UserAction"; | |
24 silly fetchPackageMetaData for (key in this.hashViewMap) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (this.hashViewMap[key] == view) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var hash = key; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData return hash; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Initialize view manager. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.init = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::init"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Bind history change handler. | |
24 silly fetchPackageMetaData $(window).bind('hashchange', viewManager.handleHistoryChange); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Check address bar's hash and set desired view if exists. | |
24 silly fetchPackageMetaData var desiredView = this.parseHash().view; | |
24 silly fetchPackageMetaData if (isNothingness(desiredView)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData desiredView = ""; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::init, desired view: [" + desiredView + "]"); | |
24 silly fetchPackageMetaData this.gotoNextView(desiredView); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Handle history changes (back/reload). | |
24 silly fetchPackageMetaData // Overriding default handling. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.handleHistoryChange = function(e, ui) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // In some cases the hash is changed and no view load is required, checking if so. | |
24 silly fetchPackageMetaData if (!viewManager.ignoreHashChange && ui != undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // Parse view from hash. | |
24 silly fetchPackageMetaData var desiredView = viewManager.parseHash().view; | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::handleHistoryChange, desired view:" + desiredView); | |
24 silly fetchPackageMetaData viewManager.gotoNextView(desiredView); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::handleHistoryChange, hash changed ignored."); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Reset the ignore flag. | |
24 silly fetchPackageMetaData viewManager.ignoreHashChange = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Queries the server for next desired view and than call for rendering it. | |
24 silly fetchPackageMetaData // Will call upon callback when done rendering the view. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.gotoNextView = function(requestedView, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::gotoNextView"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (isNothingness(callback)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Check what is the next view. | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("GetNextView"); | |
24 silly fetchPackageMetaData var parameters = (isNothingness(requestedView)) ? ("") : ("requestedView=" + encodeURIComponent(requestedView)); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var gotoNextViewCallback = new Callback(); | |
24 silly fetchPackageMetaData gotoNextViewCallback.methodReference = this.handleGotoNextViewRequest; | |
24 silly fetchPackageMetaData gotoNextViewCallback.thisArgument = this; | |
24 silly fetchPackageMetaData gotoNextViewCallback.args = [callback]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData PORTAL_IS.AJAX_MGR.sendAsyncReq(sAbsoluteURL, parameters, gotoNextViewCallback); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Handle next view query. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.handleGotoNextViewRequest = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::handleGotoNextViewRequest"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (isNothingness(callback)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving next view failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var nextViewJSONObj = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData var nextView = nextViewJSONObj.view; | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::handleGotoNextViewRequest, next view:" + nextView); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Extract the data (request params) from hash and relay it onto next hash. | |
24 silly fetchPackageMetaData // As hash changing handler will be passed back to this method we set the Ignore flag to TRUE | |
24 silly fetchPackageMetaData // and call for the gotoView method. | |
24 silly fetchPackageMetaData viewManager.changeHash(nextView, viewManager.parseHash().data, true); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData viewManager.gotoView(nextView, callback); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Get view contents (CSS, JS and HTML). | |
24 silly fetchPackageMetaData // Will call upon callback when done rendering the view. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.gotoView = function(view, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::gotoView view: ["+view+"]"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var hash = this.parseHash().view; | |
24 silly fetchPackageMetaData var parameters = (hash == "") ? ("view="+encodeURIComponent(hash)) : ( "requestedView=" + encodeURIComponent(view) + "&view="+encodeURIComponent(hash) ); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(PORTAL_IS.TOOLS.getURL("viewManager/GetViewData"), | |
24 silly fetchPackageMetaData parameters, | |
24 silly fetchPackageMetaData this.handleNewView, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [callback]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Handle new view rendering. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.handleNewView = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // TODO: Handle error. | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving view failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var newViewJSONObj = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData var newView = newViewJSONObj.view; | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::handleNewView, Parsed from JSON - view:" + newView); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var useDefaultContainerId = true; | |
24 silly fetchPackageMetaData var requiredContainerId = ""; | |
24 silly fetchPackageMetaData var requiredView = ""; | |
24 silly fetchPackageMetaData var requireSecureConnection = false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData switch (newView) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData default: // View will be rendered into main page view. | |
24 silly fetchPackageMetaData useDefaultContainerId = true; | |
24 silly fetchPackageMetaData requiredContainerId = this.defaultContainer; | |
24 silly fetchPackageMetaData break; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Check if in https, redirect if not. | |
24 silly fetchPackageMetaData if ((requireSecureConnection) && (location.protocol.toLowerCase() == 'http:')) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData newLocation = location.href.replace(/http:/i, "https:"); | |
24 silly fetchPackageMetaData location.href = newLocation; | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var containerId = this.defaultContainer; | |
24 silly fetchPackageMetaData if (!useDefaultContainerId) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData containerId = requiredContainerId; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //var container = Ext.getCmp(containerId); | |
24 silly fetchPackageMetaData var container = document.getElementById(containerId); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (container != undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.out('Render new view ('+newViewJSONObj.view+') into [' + (useDefaultContainerId ? "DefaultContainer" : requiredContainerId) + "]."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Render CSS. - Not needed, all CSS loads from one blob file. | |
24 silly fetchPackageMetaData //evaluateCSS(newViewJSONObj.css, ""); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Clear existing content. | |
24 silly fetchPackageMetaData container.innerHTML = ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // If the html content is not empty, render it into a new pane. | |
24 silly fetchPackageMetaData container.innerHTML = newViewJSONObj.html; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Render JavaScript Content. | |
24 silly fetchPackageMetaData evaluateJavaScript(newViewJSONObj.javascript); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (requiredContainerId == this.defaultContainer) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.out('Default view is missing and will be rendered...'); | |
24 silly fetchPackageMetaData this.renderDefaultView(); | |
24 silly fetchPackageMetaData this.handleNewView(xhrStatus, xhrResponse, callback); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else // The container is not present and needs to be rendered first. | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.out('Required view ('+requiredContainerId+') is missing and needs to be rendered first.'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set the previous view results in a callback, it will be called when finished rendering of the login sequence page. | |
24 silly fetchPackageMetaData var requiredViewCallback = new Callback(); | |
24 silly fetchPackageMetaData requiredViewCallback.methodReference = this.handleNewView; | |
24 silly fetchPackageMetaData requiredViewCallback.thisArgument = this; | |
24 silly fetchPackageMetaData requiredViewCallback.args = [200, xhrResponse]; // Set fake status and response. | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Request specific view. | |
24 silly fetchPackageMetaData this.gotoView(requiredView, requiredViewCallback); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // TODO: detect loops. | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Done here, call the callback. | |
24 silly fetchPackageMetaData //this.wait.hide(); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // CUSTOM CONTENT RELATED METHODS | |
24 silly fetchPackageMetaData // _________________________________________________________________________________________________________________ | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Get the view's custom Content. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.getViewCustomContent = function(view) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.clearLastCustomContent(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("JSONViewData/GetViewCustomContent"); | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData "view="+view, | |
24 silly fetchPackageMetaData this.renderCustomContent, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData []); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Render the custom content. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.renderCustomContent = function(xhrStatus, xhrResponse, callbackObj) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Render custom content.'); | |
24 silly fetchPackageMetaData callback = new Callback(callbackObj); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // TODO: Handle error. | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving custom content failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // The container Id is: "CustomContent_<VIEW NAME>_<RESOURCE KEY>". | |
24 silly fetchPackageMetaData // For example: the "ISW" view and the resource key of "top" will be rendered into "CustomContent_ISW_top". | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var newCustomContentJSONObj = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData var keyArr = newCustomContentJSONObj.keyArr; | |
24 silly fetchPackageMetaData var view = newCustomContentJSONObj.view | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Override view. | |
24 silly fetchPackageMetaData switch (view) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData case "ICS": // No brake, group these views. | |
24 silly fetchPackageMetaData case "Authentication": | |
24 silly fetchPackageMetaData case "ISW": | |
24 silly fetchPackageMetaData case "MultiChallenge": | |
24 silly fetchPackageMetaData case "IswEntry": | |
24 silly fetchPackageMetaData var usedView = "LoginSequencePage"; | |
24 silly fetchPackageMetaData break; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData default: | |
24 silly fetchPackageMetaData var usedView = view; | |
24 silly fetchPackageMetaData break; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Iterate on each of the custom content object. | |
24 silly fetchPackageMetaData var customContent, containerId, key; | |
24 silly fetchPackageMetaData //for (var key in keyMap) | |
24 silly fetchPackageMetaData for (var i=0; i<keyArr.length; i++) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData key = keyArr[i][0]; | |
24 silly fetchPackageMetaData customContent = keyArr[i][1]; | |
24 silly fetchPackageMetaData containerId = "CustomContent_"+usedView+"_"+key; | |
24 silly fetchPackageMetaData DEBUG.out('Render custom content: usedView:['+usedView+"] into:["+containerId+"]"); | |
24 silly fetchPackageMetaData this.evaluateCustomContent(customContent, containerId); | |
24 silly fetchPackageMetaData this.lastRenderedCustomContentContainers.push(containerId); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Call the callback. | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Encapsulate conditional rendering of the custom content. | |
24 silly fetchPackageMetaData this.evaluateCustomContent = function(customContent, containerId) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData destinationRef = document.getElementById(containerId); | |
24 silly fetchPackageMetaData if ( (destinationRef != null) && (destinationRef != undefined) ) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData evaluateHTMLContent(customContent, destinationRef); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Clear last rendered containers. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.clearLastCustomContent = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData for (var containerIndex in this.lastRenderedCustomContentContainers) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.evaluateCustomContent(" ", this.lastRenderedCustomContentContainers[containerIndex]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.lastRenderedCustomContentContainers = new Array(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Render default view. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.renderDefaultView = function() | |
24 silly fetchPackageMetaData {} | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData this.logoutButtonHandler = function() | |
24 silly fetchPackageMetaData {} | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // DEPRECATED METHODS | |
24 silly fetchPackageMetaData // _________________________________________________________________________________________________________________ | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // DEPRECATED, use viewManager.gotoNextView instead. | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData this.gotoNextState = function(callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.gotoNextView(null, callback); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Extend ViewManager (Portal IS). | |
24 silly fetchPackageMetaData UCViewManager.prototype = new ViewManager(); | |
24 silly fetchPackageMetaData window.viewManager = new UCViewManager(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </script> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <title>Check Point UserCheck</title> | |
24 silly fetchPackageMetaData </head> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <body class="usercheck_body_background_class" unselectable="on"> | |
24 silly fetchPackageMetaData <noscript> | |
24 silly fetchPackageMetaData This portal requires browser which support JavaScript.<br>Please make sure that you are using an updated browser and that JavaScript is enabled. </noscript> | |
24 silly fetchPackageMetaData <div id='portalErrorMessage' class="portalErrorMessageDivHide"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" class="portalErrorMessageTableContainer" width="100%"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td align="center"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" class="portalErrorMessageTable"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr id="portalErrorMessage_title_container_row" class="portalMessage_title show" width="100%"> | |
24 silly fetchPackageMetaData <td id="portalErrorMessage_title_container" height="10px" valign="middle" align="left" colspan="2"> </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td id="portalErrorMessage_container" align="left" style="padding: 10px;" colspan="2"> </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <td> | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" width="100%"style=" padding: 10px;"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td id="portalMessage_error_report_container" align="left" valign="buttom" class="hide"> | |
24 silly fetchPackageMetaData <span id="portalMessage_error_report_link" onclick="DEBUG.showErrorReport();" class="portal_link" style="left: 10px;"> | |
24 silly fetchPackageMetaData Send error report </span> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData <td id="portalMessage_error_button_container" align="right" height="10px;" valign="buttom"> | |
24 silly fetchPackageMetaData <button id="portalErrorMessage_button" class="portalErrorMessage_button" onclick="hidePortalErrorMessage();"> | |
24 silly fetchPackageMetaData OK </button> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id='portalMessage' class="portalMessageDivHide"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" class="portalMessageTableContainer" width="100%"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td align="center"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" class="portalMessageTable"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr id="portalMessage_title_container_row" class="portalMessage_title show"> | |
24 silly fetchPackageMetaData <td id="portalMessage_title_container" class="portalMessage_title_td" valign="middle" align="left"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td id="portalMessage_container" align="left" style="padding: 10px;"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr id="portalMessage_textarea_container_row" class="hide"> | |
24 silly fetchPackageMetaData <td id="portalMessage_textarea_container" align="left" style="padding: 10px;"> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr id="portalMessage_validation_message_container_row" class="show"> | |
24 silly fetchPackageMetaData <td id="portalMessage_validation_message_container" align="left" class="portalMessage_validation_submessage" style="padding: 10px;"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr id="portalMessage_submessage_container_row" class="hide"> | |
24 silly fetchPackageMetaData <td id="portalMessage_submessage_container" align="left" class="portalMessage_submessage" style="padding: 10px;"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td align="center" height="10px;" valign="buttom" style="padding: 10px;" colspan="2"> | |
24 silly fetchPackageMetaData <div id="portalMessage_ok_button_container" class="show" style="text-align: right;"> | |
24 silly fetchPackageMetaData <button id="portalMessage_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
24 silly fetchPackageMetaData OK </button> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id="portalMessage_bool_button_container" class="hide"> | |
24 silly fetchPackageMetaData <button id="portalMessage_yes_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
24 silly fetchPackageMetaData BUTTON.YES </button> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <button id="portalMessage_no_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
24 silly fetchPackageMetaData BUTTON.NO </button> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id="portalMessage_submit_button_container" class="hide"> | |
24 silly fetchPackageMetaData <button id="portalMessage_submit_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
24 silly fetchPackageMetaData BUTTON.SUBMIT </button> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <button id="portalMessage_cancel_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
24 silly fetchPackageMetaData Cancel </button> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id='portalGeneralContainer' class="portalMessageDivHide"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" class="portalMessageTableContainer" width="100%"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td align="center"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" class="portalMessageTable"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr id="portalGeneralContainer_title_container_row" class="portalMessage_title show" width="100%"> | |
24 silly fetchPackageMetaData <td id="portalGeneralContainer_title_container" height="10px" valign="middle" align="left"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td id="portalGeneralContainer_container" align="left" style="padding: 10px;"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id='PortalErrorScreenShader' class="screenShaderHide"> | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" width="100%" height="100%"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td> </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id='PortalScreenShader' class="screenShaderHide"> | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" width="100%" height="100%"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td> </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id="portal_main_view" class="div_expanded" unselectable="on"> | |
24 silly fetchPackageMetaData <table height="100%" width="100%" border="0" cellpadding="0" cellspacing="0" class=""> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td id="portal_center_div" valign="top" unselectable="on" class="usercheck_main_background_class"> | |
24 silly fetchPackageMetaData <div id="portal_top_pane_div" class="usercheck_header_class"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <!--position: fixed; bottom: -1px; left: 50%; margin-left: -435px; --> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table width="100%" cellpadding="0" cellspacing="0" class="usercheck_header_table_class usercheck_content_table_class"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td class="usercheck_header_left_class" unselectable="on"> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData <td class="usercheck_header_center_class" unselectable="on"> | |
24 silly fetchPackageMetaData <div class="usercheck_page_title_class" id="usercheck_page_title" unselectable="on" >UserCheck</div> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData <td id="usercheck_header_right_logo" class="usercheck_header_right_class" unselectable="on"> | |
24 silly fetchPackageMetaData <img class="usercheck_company_logo_class" id="usercheck_company_logo" ></img> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData <td id="usercheck_header_right_empty" class="usercheck_header_right_empty_class" unselectable="on"> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData <div style=""> </div><div style=""> </div><div style=""> </div> | |
24 silly fetchPackageMetaData <div style="text-align: center;" unselectable="on"> | |
24 silly fetchPackageMetaData <table id="usercheck_content_table" cellpadding="0" cellspacing="0" class="usercheck_content_table_class"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td rowspan="3" valign="top" class="usercheck_message_icon_column"><div class="usercheck_message_icon_class" id="usercheck_img_div" unselectable="on"> </div></td> | |
24 silly fetchPackageMetaData <td><div id="usercheck_title_div" class="usercheck_title_class" unselectable="on"> </div></td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td><div id="usercheck_main_div" class="usercheck_message_class" unselectable="on"> </div></td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td><div id="usercheck_error_div" unselectable="on"> </div></td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td colspan="2" style="text-align: center;" unselectable="on"> | |
24 silly fetchPackageMetaData <table style="margin-right: -10px; width: 50%; float: right;"><tr><td> | |
24 silly fetchPackageMetaData <center> | |
24 silly fetchPackageMetaData <div id="usercheck_cancel_div" class="usercheck_ok_button_div_class"> </div> | |
24 silly fetchPackageMetaData </center> | |
24 silly fetchPackageMetaData </td><td> | |
24 silly fetchPackageMetaData <center> | |
24 silly fetchPackageMetaData <div id="usercheck_ok_div" class="usercheck_ok_button_div_class"> </div> | |
24 silly fetchPackageMetaData </center> | |
24 silly fetchPackageMetaData </td></tr></table> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table></div> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td id ="usercheck_footer_td" class="usercheck_footer_class usercheck_footer_height_class"> | |
24 silly fetchPackageMetaData <div id="portal_bottom_pane_div"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <!--position: fixed; bottom: -1px; left: 50%; margin-left: -435px; --> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table id="footer_table_logo" cellpadding="0" cellspacing="0" class="usercheck_footer_table_class footer_no_logo"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td class="usercheck_footer_height_class"> | |
24 silly fetchPackageMetaData <div id="usercheck_language_selection_div" class="usercheck_lang_select_div_class" style="display: none;"> | |
24 silly fetchPackageMetaData Language: <select id="usercheck_language_selection" class="usercheck_lang_select_class" onchange="javascript:window.oUserAction.handleLanguageChange();"> | |
24 silly fetchPackageMetaData </select> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> </div> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData </body> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <script type="text/javascript"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Continue the background image on IE6-7 graphics design. | |
24 silly fetchPackageMetaData if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7 && (document.documentMode === undefined || document.documentMode <= 7)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var footer_td = document.getElementById('usercheck_footer_td'); | |
24 silly fetchPackageMetaData footer_td.setAttribute("className", footer_td.getAttribute("className") + " usercheck_main_background_class"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData UserCheck.DataObj.IID = "6562BAB3-CB54-35B8-C19D-29D4AE36E696"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData UserCheck.DataObj.frame = 0; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData /*this is a common object for PortalMain and PortalMainDlp. functions here should be empty */ | |
24 silly fetchPackageMetaData window.UserActionCommon = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.DlpHttpLearning = function(adminMessage,HttpLearningEnabled) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData this.DlpHideCancelBtn = function(action) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData window.oUserActionCommon = new window.UserActionCommon(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var g_userID = ""; | |
24 silly fetchPackageMetaData var g_refreshFiles = false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData window.UserAction = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.incidentObject = {}; | |
24 silly fetchPackageMetaData this.textAreaText = ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.getCorrectClass = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var correctClass = "class"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Choose the correct class attribute name (in IE6-7 we need "className" instead of "class") according to IE version - but check for compatibility first! | |
24 silly fetchPackageMetaData if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7 && document.documentMode === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData correctClass = "className"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return correctClass; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Initialize. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.init = function(cancelPage) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (typeof cancelPage == 'undefined') | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData cancelPage = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData var requestData = { | |
24 silly fetchPackageMetaData IID: "-1", | |
24 silly fetchPackageMetaData UserID: "", | |
24 silly fetchPackageMetaData IsThinPortal: false, | |
24 silly fetchPackageMetaData UserLang: "", | |
24 silly fetchPackageMetaData GetCancelPage: cancelPage | |
24 silly fetchPackageMetaData }; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var cookie = getCookie('UserCheck_UserID'); | |
24 silly fetchPackageMetaData requestData.UserID = cookie != null ? cookie : ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IsThinPortal = window.isThinPortal === true ? true : false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var selectedLanguage = getCookie('UserCheck_Selected_Language'); | |
24 silly fetchPackageMetaData if(selectedLanguage == null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData selectedLanguage = ""; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData requestData.UserLang = selectedLanguage; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckIncidentData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (window.isThinPortal === true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //Create a custom timeout handler for the thin portal. | |
24 silly fetchPackageMetaData PORTAL_IS.AJAX_MGR.customTimeoutHandler = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData this.handleUserCheckIncidentData, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Toggles the button's state from enabled to disabled and vice versa. | |
24 silly fetchPackageMetaData this.setButtonMode = function(buttonState, buttonID) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var button = document.getElementById(buttonID); | |
24 silly fetchPackageMetaData if(button == null) | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(buttonState) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //Enable the button. | |
24 silly fetchPackageMetaData button.setAttribute(correctClass, "button"); | |
24 silly fetchPackageMetaData button.onclick = function(){ javascript:oUserAction.submitOK(); }; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData button.style.cursor = "pointer"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //Disable the button. | |
24 silly fetchPackageMetaData button.setAttribute(correctClass, "button buttonDisabled"); | |
24 silly fetchPackageMetaData button.onclick = null; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData button.style.cursor = "default"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Changes the button CSS class (support for IE6-8). buttonCLS is for additional classes to be added to the button. | |
24 silly fetchPackageMetaData this.setButtonState = function(state, buttonID, buttonCLS) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (!buttonID) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData buttonID = 'UserCheck_OK_Button'; | |
24 silly fetchPackageMetaData buttonCLS = ''; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var button = document.getElementById(buttonID); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(button.getAttribute(correctClass).indexOf("Disabled") == -1) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //The button is not disabled. | |
24 silly fetchPackageMetaData button.setAttribute(correctClass, "button button" + state + " " + buttonCLS); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleUserCheckIncidentData = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::handleUserCheckIncidentData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.incidentObject = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData var Languages = this.incidentObject.Languages; | |
24 silly fetchPackageMetaData var UserCheckLogoID = this.incidentObject.UserCheckLogoID; | |
24 silly fetchPackageMetaData var RedirectToAddr = this.incidentObject.RedirectToAddr; | |
24 silly fetchPackageMetaData var AutoRedirect = this.incidentObject.AutoRedirect; | |
24 silly fetchPackageMetaData var ExternalSystemURL = this.incidentObject.ExternalSystemURL; | |
24 silly fetchPackageMetaData var Action = this.incidentObject.Action; | |
24 silly fetchPackageMetaData var Variables = this.incidentObject.Variables; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.incidentObject.HasBeenCancelled = false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData setCookie('UserCheck_UserID', this.incidentObject.UserID, 31556926); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (Variables['product'] != 'Threat Extraction') | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(AutoRedirect == true && RedirectToAddr != "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //We have an address and auto redirect is true so redirect to that URL. | |
24 silly fetchPackageMetaData // if (RedirectToAddr.indexOf('http://') != 0) | |
24 silly fetchPackageMetaData if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
24 silly fetchPackageMetaData RedirectToAddr = "http://" + RedirectToAddr; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData window.location = RedirectToAddr; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData window.location = "about:blank"; //No reason to redirect in the Thin Portal | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (Action == "SCRUB-SUCCESS") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // in scrub success page, if not mobile or thin, give more space for the list of original files names and info | |
24 silly fetchPackageMetaData if(window.browserDetails.isMobile() === false && window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var content_table = document.getElementById("usercheck_content_table"); | |
24 silly fetchPackageMetaData if (content_table != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData content_table.style.tableLayout="auto"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var message_div = document.getElementById("usercheck_main_div"); | |
24 silly fetchPackageMetaData if (message_div != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData message_div.style.minWidth="auto"; | |
24 silly fetchPackageMetaData message_div.style.maxWidth="700px"; | |
24 silly fetchPackageMetaData message_div.style.whiteSpace="nowrap"; | |
24 silly fetchPackageMetaData message_div.style.wordWrap="normal"; | |
24 silly fetchPackageMetaData message_div.style.overflow="auto"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var requestData = { | |
24 silly fetchPackageMetaData IID: "-1" | |
24 silly fetchPackageMetaData }; | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetScrubFiles"); | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData this.handleScrubbingFiles, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(ExternalSystemURL != "") | |
24 silly fetchPackageMetaData //We have an external system address so redirect to that URL. | |
24 silly fetchPackageMetaData // window.location = ExternalSystemURL + (this.incidentObject.ForwardParams == true ? "?IncidentID=" + UserCheck.DataObj.IID + "&UserID=" + this.incidentObject.UserID : ""); | |
24 silly fetchPackageMetaData if (this.incidentObject.ForwardParams == true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = ExternalSystemURL + "?IncidentID=" + UserCheck.DataObj.IID + "&UserID=" + this.incidentObject.UserID; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = ExternalSystemURL; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.prepareLanguageSelection(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(window.self !== window.top) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //We are inside a frame. Display small version of the portal and give link to a full version of the portal in new tab/window. | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var url = '<a href="' + window.location + "&frame=1" + '" target="_blank">'; | |
24 silly fetchPackageMetaData if (Action == "SCRUB-SUCCESS") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData Action = "INFORM"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData url += draw_img_tag(getURL("img/" + Action.toLowerCase() + ".png")) + ' '; | |
24 silly fetchPackageMetaData url += Action == 'BLOCK' ? PORTAL_IS.L10N.L10N_Obj.getStr("UC.BLOCKED_IFRAME") : PORTAL_IS.L10N.L10N_Obj.getStr("UC.INFO_IFRAME"); | |
24 silly fetchPackageMetaData url += '</a>'; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData document.body.innerHTML = url; | |
24 silly fetchPackageMetaData document.body.style.backgroundImage = 'none'; | |
24 silly fetchPackageMetaData document.body.style.textAlign = 'center'; | |
24 silly fetchPackageMetaData document.body.style.verticalAlign = 'text-bottom'; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Decide which footer to display according to the action type (for Block and Limit we display footer without CP logo). | |
24 silly fetchPackageMetaData if(window.isThinPortal === true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var thin_table = document.getElementById('usercheck_thin_table'); | |
24 silly fetchPackageMetaData if(thin_table != null && Action != 'BLOCK' && Action != 'LIMIT') | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData thin_table.setAttribute(correctClass, "usercheck_main_mobile_background_class with_logo"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var logo_footer = document.getElementById('footer_table_logo'); | |
24 silly fetchPackageMetaData if(logo_footer != null && Action != 'BLOCK' && Action != 'LIMIT') | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData logo_footer.setAttribute(correctClass, "usercheck_footer_table_class footer_logo"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData g_userID = this.incidentObject.UserID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (Action == "SCRUB-SUCCESS") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData Action = "INFORM"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //Draw incident image according to the incident type | |
24 silly fetchPackageMetaData if(document.getElementById('usercheck_img_div') !== null) | |
24 silly fetchPackageMetaData document.getElementById('usercheck_img_div').innerHTML = draw_img_tag(getURL("img/" + Action.toLowerCase() + ".png")); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(this.incidentObject.IsLogoConfigured) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //The page has a logo defined in the GUI - load it. | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Desktop header. | |
24 silly fetchPackageMetaData var header_right_logo = document.getElementById('usercheck_header_right_logo'); | |
24 silly fetchPackageMetaData if(header_right_logo != null) | |
24 silly fetchPackageMetaData if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7) | |
24 silly fetchPackageMetaData header_right_logo.style.display = "block"; | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData header_right_logo.style.display = "table-cell"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var header_right_empty = document.getElementById('usercheck_header_right_empty'); | |
24 silly fetchPackageMetaData if(header_right_empty != null) | |
24 silly fetchPackageMetaData header_right_empty.style.display = "none"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Mobile header. | |
24 silly fetchPackageMetaData var mobile_header = document.getElementById('header_mobile_div'); | |
24 silly fetchPackageMetaData if(mobile_header != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData mobile_header.style.display = "block"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Company logo. | |
24 silly fetchPackageMetaData var company_logo = document.getElementById('usercheck_company_logo'); | |
24 silly fetchPackageMetaData if(company_logo != null) | |
24 silly fetchPackageMetaData company_logo.src = getURL("images/interactions/" + UserCheckLogoID + ".png"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if(window.isThinPortal === true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //If there is no logo defined, display the default logo in the thin portal. | |
24 silly fetchPackageMetaData var company_logo = document.getElementById('usercheck_company_logo'); | |
24 silly fetchPackageMetaData if(company_logo != null) | |
24 silly fetchPackageMetaData company_logo.src = getURL("img/cp_logo_mobile_thin.png"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Start the timeout manager. | |
24 silly fetchPackageMetaData UserCheck.tools.oTimeoutManager.startTimeoutTimer(this.incidentObject.Expiration - 15, this.handleTimeout); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (UserCheck.DataObj.GetSingleIncidentReview !== undefined && UserCheck.DataObj.GetSingleIncidentReview == 1) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.singleIncident = new SingleIncident(); | |
24 silly fetchPackageMetaData singleIncident.init(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.submitOK = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //This function determines if it is OK to proceed with sending a response if all validation criteria are met. | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If we are in a Block action in thin portal, just redirect to about:blank. | |
24 silly fetchPackageMetaData if (window.isThinPortal === true && window.oUserAction.incidentObject.Action === "BLOCK") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(document.getElementById('UserCheck_Textual_Input') != null) | |
24 silly fetchPackageMetaData //Verify we have the real textarea! | |
24 silly fetchPackageMetaData if(document.getElementById('UserCheck_Textual_Input').value !== undefined) | |
24 silly fetchPackageMetaData //Unfocus the text-area. | |
24 silly fetchPackageMetaData document.getElementById('UserCheck_Textual_Input').blur(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(!window.oUserAction.highlightInput()) | |
24 silly fetchPackageMetaData //There was some user input missing - don't continue. | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var cookie = getCookie('UserCheck_UserID'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var requestData = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IID = "-1"; | |
24 silly fetchPackageMetaData requestData.UserOption = "OK"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.UserID = cookie; | |
24 silly fetchPackageMetaData requestData.IsReasonExist = true; | |
24 silly fetchPackageMetaData if(document.getElementById('UserCheck_Textual_Input') != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var reason = document.getElementById('UserCheck_Textual_Input').value; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If the reason box is not found, there is nothing to enforce. | |
24 silly fetchPackageMetaData if(reason === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData reason = ""; | |
24 silly fetchPackageMetaData requestData.IsReasonExist = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if(window.oUserAction.incidentObject.IsReasonEnforced === true && (reason.length == 0 || reason.length > 400)) | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.Reason = reason; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData requestData.IsReasonExist = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Sometimes the cookie is not written correctly, so used global user. | |
24 silly fetchPackageMetaData if(requestData.UserID == null || requestData.UserID == "") | |
24 silly fetchPackageMetaData requestData.UserID = g_userID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData this.handleUserCheckChoiceData, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.submitCancel = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(window.oUserAction.incidentObject.CancelURL !== undefined && window.oUserAction.incidentObject.CancelURL !== "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = window.oUserAction.incidentObject.CancelURL; | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal == true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData this.init(true); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleUserCheckChoiceData = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData try | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.external.OKButtonClickedResponseReceived('Done handling request'); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData catch(err) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //do nothing, this is probably the fat client | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::handleUserCheckChoiceData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var newViewJSONObj = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var RedirectToAddr = newViewJSONObj.RedirectToAddr; | |
24 silly fetchPackageMetaData if (window.oUserAction.incidentObject.Variables['product'] != 'Threat Extraction') | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(RedirectToAddr != "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var frame = "0"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData frame = UserCheck.DataObj.frame; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(typeof frame === "undefined" || frame == "0" || frame == "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //We have an address so redirect to that URL. | |
24 silly fetchPackageMetaData if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
24 silly fetchPackageMetaData RedirectToAddr = "http://" + RedirectToAddr; | |
24 silly fetchPackageMetaData window.location = RedirectToAddr; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //We have an address so redirect to that URL in the parent frame. | |
24 silly fetchPackageMetaData if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
24 silly fetchPackageMetaData RedirectToAddr = "http://" + RedirectToAddr; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData window.opener.location = RedirectToAddr; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.opener.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData window.close(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var frame = "0"; | |
24 silly fetchPackageMetaData frame = UserCheck.DataObj.frame; | |
24 silly fetchPackageMetaData if(typeof frame === "undefined" || frame == "0" || frame == "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal == true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal == true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.opener.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData window.close(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location.reload(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData this.handleUserReportWrongCategoryData = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::handleUserLogData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleTimeout = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var requestData = { | |
24 silly fetchPackageMetaData IID: "-1" | |
24 silly fetchPackageMetaData }; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("ExtendTimeout"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData window.oUserAction.handleTimeoutExtension, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleTimeoutExtension = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::handleTimeoutExtension"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving UserCheck Timeout Extension data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData var extensionObject = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(extensionObject.ReturnCode == "SUCCESS") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData UserCheck.tools.oTimeoutManager.startTimeoutTimer(extensionObject.Expiration - 15, window.oUserAction.handleTimeout); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var button = document.getElementById('UserCheck_OK_Button'); | |
24 silly fetchPackageMetaData if(button !=null) | |
24 silly fetchPackageMetaData button.style.display = "none"; | |
24 silly fetchPackageMetaData var select = document.getElementById('usercheck_language_selection'); | |
24 silly fetchPackageMetaData if(select != null) | |
24 silly fetchPackageMetaData select.disabled = true; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData showPortalMessage(PORTAL_IS.L10N.L10N_Obj.getStr("TIMEOUT") + " <a href='" + window.oUserAction.incidentObject.RedirectToAddr + "'>" + PORTAL_IS.L10N.L10N_Obj.getStr("RETRY") + "</a>", null, PORTAL_IS.MESSAGE_TYPE.Display, true); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData /* If we are in thin portal, redirect to about:blank | |
24 silly fetchPackageMetaData so that client can catch it and act accordingly. */ | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Prepare for language selection. | |
24 silly fetchPackageMetaData this.prepareLanguageSelection = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var Languages = this.incidentObject.Languages; | |
24 silly fetchPackageMetaData var prevSelectedLanguage = null; | |
24 silly fetchPackageMetaData var userSelected = false; | |
24 silly fetchPackageMetaData if (UserCheck.DataObj.Lang != "" && UserCheck.DataObj.Lang !== undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData prevSelectedLanguage = UserCheck.DataObj.Lang; | |
24 silly fetchPackageMetaData userSelected = true; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (this.incidentObject.PreferredLang != "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData prevSelectedLanguage = this.incidentObject.PreferredLang; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData prevSelectedLanguage = getCookie('UserCheck_Selected_Language'); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData var count = 0; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If there is no cookie, get the browser locale. | |
24 silly fetchPackageMetaData if(prevSelectedLanguage == null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var langArr = {}; | |
24 silly fetchPackageMetaData for(var Language in Languages) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData langArr[Languages[Language].LanguageCode] = true; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData prevSelectedLanguage = PORTAL_IS.L10N.L10N_Obj.selectLanguage(langArr); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(document.getElementById('usercheck_language_selection_div') != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData count = 0; | |
24 silly fetchPackageMetaData for(var Language in Languages) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var select = document.getElementById('usercheck_language_selection'); | |
24 silly fetchPackageMetaData select.options[select.options.length] = new Option(Languages[Language].Language, Language, false, Language === prevSelectedLanguage); | |
24 silly fetchPackageMetaData count++; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //Display language selection only if NOT in thin portal. | |
24 silly fetchPackageMetaData if(count > 1 && window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData document.getElementById('usercheck_language_selection_div').style.display = "block"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData this.handleLanguageChange(true, userSelected); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Handles language change. | |
24 silly fetchPackageMetaData this.handleLanguageChange = function(noReloadLang, userSelected) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var select = document.getElementById('usercheck_language_selection'); | |
24 silly fetchPackageMetaData var selectedLanguage = select.options[select.selectedIndex].value; | |
24 silly fetchPackageMetaData if(noReloadLang === true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //No need to load the language - if it is already loaded. | |
24 silly fetchPackageMetaData this.asyncLanguageChangeCallback(userSelected); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //Reload language strings. | |
24 silly fetchPackageMetaData PORTAL_IS.L10N.L10N_Obj.reloadLanguageTo(selectedLanguage, "en", this.asyncLanguageChangeCallback); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.checkBoxExists = function(adminMessage) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(adminMessage.indexOf("UserCheck_Confirm_Checkbox") != -1) | |
24 silly fetchPackageMetaData return true; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.textareaExists = function(adminMessage) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(adminMessage.indexOf("UserCheck_Textual_Input") != -1) | |
24 silly fetchPackageMetaData return true; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.asyncLanguageChangeCallback = function(userSelected) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (userSelected === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData userSelected = true; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData var select = document.getElementById('usercheck_language_selection'); | |
24 silly fetchPackageMetaData var check = document.getElementById('UserCheck_Confirm_Checkbox'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var selectedLanguage = "Default"; | |
24 silly fetchPackageMetaData if(select != null) | |
24 silly fetchPackageMetaData selectedLanguage = select.options[select.selectedIndex].value; | |
24 silly fetchPackageMetaData var checkBoxValue = check != null ? check.checked : false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Save cookie for the selected language. Only if it is from a User Selection. | |
24 silly fetchPackageMetaData if (userSelected) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData setCookie('UserCheck_Selected_Language', selectedLanguage == "Default" ? "en" : selectedLanguage, 31556926, "/"); | |
24 silly fetchPackageMetaData var cookieVal = getCookie('UserCheck_UserID'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var handleUpdateUserDataResponse = function(xhrStatus, xhrResponse, callback){ | |
24 silly fetchPackageMetaData var newURL = window.location.href; | |
24 silly fetchPackageMetaData //alert("newURL '"+newURL+"'"); | |
24 silly fetchPackageMetaData var langLoc = newURL.indexOf("&Lang="); | |
24 silly fetchPackageMetaData //alert("langLoc '"+langLoc+"'"); | |
24 silly fetchPackageMetaData if (langLoc != -1) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData newURL = newURL.substring(0, langLoc); | |
24 silly fetchPackageMetaData //alert("newURL '"+newURL+"'"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData window.location = newURL; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(getURL("UpdateUserData"), | |
24 silly fetchPackageMetaData "Language="+encodeURIComponent(selectedLanguage) + "&IID="+encodeURIComponent(UserCheck.DataObj.IID)+"&UserID="+cookieVal, | |
24 silly fetchPackageMetaData handleUpdateUserDataResponse, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Keep this value globally for other funcs. | |
24 silly fetchPackageMetaData window.oUserAction.incidentObject.SelectedLanguage = selectedLanguage; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var Languages = window.oUserAction.incidentObject.Languages; | |
24 silly fetchPackageMetaData var TitleText = Languages[selectedLanguage].TitleText; | |
24 silly fetchPackageMetaData var AdminMessage = Languages[selectedLanguage].AdminMessage; | |
24 silly fetchPackageMetaData var CancelMessage = Languages[selectedLanguage].CancelMessage; | |
24 silly fetchPackageMetaData var OKButtonMessage = window.oUserAction.incidentObject.OKButtonMessage[selectedLanguage]; | |
24 silly fetchPackageMetaData var CancelButtonMessage = window.oUserAction.incidentObject.CancelButtonMessage[selectedLanguage]; | |
24 silly fetchPackageMetaData var SendButtonMessage = window.oUserAction.incidentObject.SendButtonMessage[selectedLanguage]; | |
24 silly fetchPackageMetaData var MiddleButtonMessage = window.oUserAction.incidentObject.MiddleButtonMessage[selectedLanguage]; | |
24 silly fetchPackageMetaData var HTTPLearningEnabled = window.oUserAction.incidentObject.HTTPLearningEnabled; | |
24 silly fetchPackageMetaData var PageTitle = Languages[selectedLanguage].PageTitle; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData document.getElementById('usercheck_title_div').innerHTML = TitleText; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(window.oUserAction.incidentObject.HasBeenCancelled === undefined || window.oUserAction.incidentObject.HasBeenCancelled === false) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.oUserAction.incidentObject.IncidentStatus == 0 || window.oUserAction.incidentObject.IncidentStatus == 2 || window.oUserAction.incidentObject.IncidentStatus == 8)//ok or cancel or ok_scrubbing | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (window.oUserAction.incidentObject.IncidentStatus == 3)// sent | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // if http learning is enabled on action succeded show the HTTP_LEARNING message | |
24 silly fetchPackageMetaData if (HTTPLearningEnabled == true && window.oUserAction.incidentObject.RedirectToAddr != "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var usercheck_main_div = document.getElementById('usercheck_main_div') | |
24 silly fetchPackageMetaData if (usercheck_main_div != null) | |
24 silly fetchPackageMetaData usercheck_main_div.innerHTML = "<p>" +PORTAL_IS.L10N.L10N_Obj.getStr("HTTP_LEARNING")+"</p>"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else // an SMTP message | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (window.oUserAction.incidentObject.IncidentStatus == 4)//discarded | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (window.oUserAction.incidentObject.IncidentStatus == 5)//already sent | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (HTTPLearningEnabled == true && window.oUserAction.incidentObject.RedirectToAddr != "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //if approved http and then refreshed the page | |
24 silly fetchPackageMetaData var usercheck_main_div = document.getElementById('usercheck_main_div') | |
24 silly fetchPackageMetaData if (usercheck_main_div != null) | |
24 silly fetchPackageMetaData usercheck_main_div.innerHTML = "<p>" +PORTAL_IS.L10N.L10N_Obj.getStr("HTTP_LEARNING")+"</p>"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
24 silly fetchPackageMetaData var return_to_site_div = document.getElementById('usercheck_return_to_site_div') | |
24 silly fetchPackageMetaData if (return_to_site_div != null) | |
24 silly fetchPackageMetaData return_to_site_div.innerHTML = "<p style='color: #FF5000;font-weight: bold;'>" +PORTAL_IS.L10N.L10N_Obj.getStr("EMAIL_ALREADY_SENT") +"</p>"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (window.oUserAction.incidentObject.IncidentStatus == 6)//already discarded | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
24 silly fetchPackageMetaData var return_to_site_div = document.getElementById('usercheck_return_to_site_div') | |
24 silly fetchPackageMetaData if (return_to_site_div != null) | |
24 silly fetchPackageMetaData return_to_site_div.innerHTML = "<p style='color: #FF5000;font-weight: bold;'>" +PORTAL_IS.L10N.L10N_Obj.getStr("EMAIL_ALREADY_DISCARDED") +"</p>"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = "<p>" + PORTAL_IS.L10N.L10N_Obj.getStr("UNKOWN_INCIDENT_STATUS") + "</p>" + window.oUserAction.incidentObject.IncidentStatus; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var btnDiv = document.getElementById('usercheck_ok_div'); | |
24 silly fetchPackageMetaData if (btnDiv != null) | |
24 silly fetchPackageMetaData btnDiv.innerHTML = OKButtonMessage; | |
24 silly fetchPackageMetaData btnDiv = document.getElementById('usercheck_cancel_div'); | |
24 silly fetchPackageMetaData if (btnDiv != null) | |
24 silly fetchPackageMetaData btnDiv.innerHTML = CancelButtonMessage; | |
24 silly fetchPackageMetaData btnDiv = document.getElementById('usercheck_send_div'); | |
24 silly fetchPackageMetaData // show the send button on SMTP (which is actually the send button) OR show it on inform action (which is actually OK button) | |
24 silly fetchPackageMetaData if (btnDiv != null && (window.oUserAction.incidentObject.RedirectToAddr == "" || window.oUserAction.incidentObject.Action == "INFORM") ) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // alert("setting usercheck_send_div"); | |
24 silly fetchPackageMetaData btnDiv.innerHTML = SendButtonMessage; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData btnDiv = document.getElementById('usercheck_middle_div'); | |
24 silly fetchPackageMetaData if (btnDiv != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // alert("setting discard button div"); | |
24 silly fetchPackageMetaData btnDiv.innerHTML = MiddleButtonMessage; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData var goBackDiv = document.getElementById('usercheck_return_to_site_div'); | |
24 silly fetchPackageMetaData if (goBackDiv) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // show return to site only when its http violation AND if the action is: sent or discarded or already sent or already discarded or cancelled. | |
24 silly fetchPackageMetaData if (window.oUserAction.incidentObject.RedirectToAddr != "" && (window.oUserAction.incidentObject.IncidentStatus == 3 || window.oUserAction.incidentObject.IncidentStatus == 4 || window.oUserAction.incidentObject.IncidentStatus == 5 || window.oUserAction.incidentObject.IncidentStatus == 6 || window.oUserAction.incidentObject.IncidentStatus == 2)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData goBackDiv.innerHTML = '<a href="' + window.oUserAction.incidentObject.RedirectToAddr + '">' + PORTAL_IS.L10N.L10N_Obj.getStr("RETURN_TO_SITE") + '</a>'; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = CancelMessage; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var page_title = document.getElementById('usercheck_page_title'); | |
24 silly fetchPackageMetaData if(page_title != null) | |
24 silly fetchPackageMetaData page_title.innerHTML = PageTitle; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var span = document.getElementById('UserCheck_OK_Button_span'); | |
24 silly fetchPackageMetaData if(span != null) | |
24 silly fetchPackageMetaData span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.OK'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData span = document.getElementById('UserCheck_Cancel_Button_span'); | |
24 silly fetchPackageMetaData if(span != null) | |
24 silly fetchPackageMetaData span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.CANCEL'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData span = document.getElementById('UserCheck_Send_Button_span'); | |
24 silly fetchPackageMetaData if(span != null) | |
24 silly fetchPackageMetaData span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.SEND'); | |
24 silly fetchPackageMetaData span = document.getElementById('UserCheck_Middle_Button_span'); | |
24 silly fetchPackageMetaData if(span != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.oUserAction.incidentObject.RedirectToAddr == "") | |
24 silly fetchPackageMetaData span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.DISCARD'); | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr("BUTTON.APPROVE"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var reportLink = document.getElementById('UserCheck_Wrong_Category'); | |
24 silly fetchPackageMetaData if(reportLink != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData reportLink.setAttribute(correctClass, "usercheck_url_class"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData reportLink.onclick = function(e) { window.oUserAction.sendReport(); } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Clear the error message when switching language. | |
24 silly fetchPackageMetaData var errorElement = document.getElementById('usercheck_error_div'); | |
24 silly fetchPackageMetaData if(errorElement != null) | |
24 silly fetchPackageMetaData errorElement.innerHTML = " "; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Keep TextArea default text to disallow it as input. | |
24 silly fetchPackageMetaData var textarea_element = null; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(window.oUserAction.textareaExists(AdminMessage)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
24 silly fetchPackageMetaData //If the textarea is an incorrect element or length is correct, check passes. | |
24 silly fetchPackageMetaData if(textarea_element.value === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //This element is not really our text area so we don't need it. | |
24 silly fetchPackageMetaData textarea_element = null; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(textarea_element != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.oUserAction.textAreaText = textarea_element.value; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class usercheck_textual_input_class_required"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData textarea_element.onfocus = function() { window.oUserAction.clearRequiredInput(); }; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //disable the approve button only on PortalMaindlp. on thin client approve button should always be enabled | |
24 silly fetchPackageMetaData if (window.oUserAction.incidentObject.RedirectToAddr != "" && window.isThinPortal != true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.oUserActionCommon.DlpHttpLearning(AdminMessage,HTTPLearningEnabled); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData // hiding the cancel button on infom on dlp only | |
24 silly fetchPackageMetaData window.oUserActionCommon.DlpHideCancelBtn(window.oUserAction.incidentObject.Action); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Sends report for wrong category. | |
24 silly fetchPackageMetaData this.sendReport = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var Variables = window.oUserAction.incidentObject.Variables; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var resource = Variables['resource'] === undefined ? "" : Variables['resource']; | |
24 silly fetchPackageMetaData var hmac = Variables['resource_hmac'] === undefined ? "" : Variables['resource_hmac']; | |
24 silly fetchPackageMetaData var version = Variables['version']; | |
24 silly fetchPackageMetaData var product = Variables['product']; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Get the application name. If this variable has been modified (added application icon for example), take the original. | |
24 silly fetchPackageMetaData var appname = Variables['application_name_orig']; | |
24 silly fetchPackageMetaData var malwareID = Variables['application_id']; | |
24 silly fetchPackageMetaData if(appname === undefined) | |
24 silly fetchPackageMetaData appname = Variables['application_name']; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var base64UrlEncode = function(input) { return $.base64Encode(input).replace(/\+/g, '-').replace(/\//g, '_').replace(/\=/g, '') }; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Encode to base64 URL form spec. | |
24 silly fetchPackageMetaData appname = base64UrlEncode(appname); | |
24 silly fetchPackageMetaData resource = base64UrlEncode(resource); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //URL of the external URL | |
24 silly fetchPackageMetaData var url = window.location.protocol + "//cws.checkpoint.com/MISCAT/miscat/1.0?resource=" + resource + "&hmac=" + hmac + "&appname=" + appname + "&version=" + version + "&product=" + product + "&malwareID=" + malwareID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Display a portal messge indicating the action was successful. On mobile devices we use the built-in message display. | |
24 silly fetchPackageMetaData if(window.browserDetails.isMobile()) | |
24 silly fetchPackageMetaData alert(PORTAL_IS.L10N.L10N_Obj.getStr("REPORT_SUCCESS")); | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData showPortalMessage('<table><tr><td>' + draw_img_tag_span(getURL("images/confirmation.png")) + ' </td><td>' + PORTAL_IS.L10N.L10N_Obj.getStr("REPORT_SUCCESS") + '</td></tr></table>', null, PORTAL_IS.MESSAGE_TYPE.Confirmation, true, false); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var img = new Image(); | |
24 silly fetchPackageMetaData img.src = url; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var reportLink = document.getElementById('UserCheck_Wrong_Category'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Disable the link. | |
24 silly fetchPackageMetaData reportLink.setAttribute(correctClass, "usercheck_url_class usercheck_disabled_url_class"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //send log on wrong category | |
24 silly fetchPackageMetaData var cookie = getCookie('UserCheck_UserID'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var requestData = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IID = "-1"; | |
24 silly fetchPackageMetaData requestData.UserOption = "LOG-WRONG-CATEGORY"; | |
24 silly fetchPackageMetaData requestData.UserID = cookie; | |
24 silly fetchPackageMetaData requestData.IsReasonExist = false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Sometimes the cookie is not written correctly, so used global user. | |
24 silly fetchPackageMetaData if(requestData.UserID == null || requestData.UserID == "") | |
24 silly fetchPackageMetaData requestData.UserID = g_userID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData this.handleUserReportWrongCategoryData, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Nothing should happen on click from now on. | |
24 silly fetchPackageMetaData reportLink.onclick = function() { }; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleReportTimeout = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var elem = document.getElementById('testID'); | |
24 silly fetchPackageMetaData document.getElementsByTagName('head')[0].removeChild(elem); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Verifies the input of the user, including checkbox and textarea. | |
24 silly fetchPackageMetaData this.highlightInput = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var checkbox_element = null; | |
24 silly fetchPackageMetaData var textarea_element = null; | |
24 silly fetchPackageMetaData var checkbox_ready = false; | |
24 silly fetchPackageMetaData var textarea_ready = false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var AdminMessage = window.oUserAction.incidentObject.Languages[window.oUserAction.incidentObject.SelectedLanguage].AdminMessage; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If the checkbox exists (and it is a correct element), its value will determine the button status. | |
24 silly fetchPackageMetaData if(window.oUserAction.incidentObject.IsCheckBoxEnforced == true && window.oUserAction.checkBoxExists(AdminMessage) == true && document.getElementById('UserCheck_Confirm_Checkbox').checked !== undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData checkbox_element = document.getElementById('UserCheck_Confirm_Checkbox'); | |
24 silly fetchPackageMetaData checkbox_ready = checkbox_element.checked; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData checkbox_ready = true; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If the reason textbox exists and is enforced, its value will determine the button status. | |
24 silly fetchPackageMetaData if(window.oUserAction.incidentObject.IsReasonEnforced === true && window.oUserAction.textareaExists(AdminMessage)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If the textarea is an incorrect element or length is correct, check passes. | |
24 silly fetchPackageMetaData if(textarea_element.value === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData textarea_ready = true; | |
24 silly fetchPackageMetaData //This element is not really our text area so we don't need it. | |
24 silly fetchPackageMetaData textarea_element = null; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (textarea_element.value.length > 0 && textarea_element.value.length <= 400 && textarea_element.value != PORTAL_IS.L10N.L10N_Obj.getStr("ENTER_TEXT") && textarea_element.value != window.oUserAction.textAreaText) | |
24 silly fetchPackageMetaData textarea_ready = true; | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData textarea_ready = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData textarea_ready = true; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var all_ready = checkbox_ready === true && textarea_ready === true; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData var elememt_to_scroll = null; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(checkbox_element != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData checkbox_element.parentNode.parentNode.parentNode.parentNode.setAttribute(correctClass, (checkbox_ready ? "usercheck_red_no_highlight" : "usercheck_red_highlight" )); | |
24 silly fetchPackageMetaData elememt_to_scroll = checkbox_ready ? elememt_to_scroll : checkbox_element.parentNode.parentNode.parentNode.parentNode; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(textarea_element != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class " + (textarea_ready ? "usercheck_red_no_highlight" : "usercheck_red_highlight usercheck_textual_input_class_required" )); | |
24 silly fetchPackageMetaData elememt_to_scroll = textarea_ready ? elememt_to_scroll : textarea_element; | |
24 silly fetchPackageMetaData if(!textarea_ready) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(window.oUserAction.textAreaText === "" || textarea_element.value !== window.oUserAction.textAreaText) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(window.oUserAction.textAreaText != "") | |
24 silly fetchPackageMetaData textarea_element.value = window.oUserAction.textAreaText; | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData textarea_element.value = PORTAL_IS.L10N.L10N_Obj.getStr("ENTER_TEXT"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData textarea_element.onfocus = function() { window.oUserAction.clearRequiredInput(); }; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(!textarea_ready && !checkbox_ready && checkbox_element!=null && textarea_element!=null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(checkbox_element.parentNode.parentNode.parentNode.parentNode.offsetTop > textarea_element.offsetTop) | |
24 silly fetchPackageMetaData elememt_to_scroll = checkbox_element; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(elememt_to_scroll!=null){ | |
24 silly fetchPackageMetaData elememt_to_scroll.scrollIntoView(false); | |
24 silly fetchPackageMetaData var scrollableDiv = document.getElementById("usercheck_scrollable_div"); | |
24 silly fetchPackageMetaData if (scrollableDiv !== null) | |
24 silly fetchPackageMetaData scrollableDiv.scrollLeft = 0; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var errorElement = document.getElementById('usercheck_error_div'); | |
24 silly fetchPackageMetaData if(errorElement != null) | |
24 silly fetchPackageMetaData errorElement.innerHTML = all_ready ? "" : "<br/><span style='color: #FF0000;'>* " + PORTAL_IS.L10N.L10N_Obj.getStr("REQUIRED_FIELDS") + "</span>"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return all_ready; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.clearRequiredInput = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData textarea_element.value = ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(textarea_element.getAttribute(correctClass).indexOf("usercheck_red_highlight") !== -1) | |
24 silly fetchPackageMetaData textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class usercheck_red_highlight"); | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData textarea_element.onfocus = function() { }; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.sendMail = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::sendMail"); | |
24 silly fetchPackageMetaData this.last_action = 'sent'; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(!window.oUserAction.highlightInput()) | |
24 silly fetchPackageMetaData //There was some user input missing - don't continue. | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var reason = ""; | |
24 silly fetchPackageMetaData if(document.getElementById('UserCheck_Textual_Input') != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData reason = document.getElementById('UserCheck_Textual_Input').value; | |
24 silly fetchPackageMetaData //If the reason box is not found, there is nothing to enforce. | |
24 silly fetchPackageMetaData if(reason === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData reason = ""; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sendMailCallback = new Callback(); | |
24 silly fetchPackageMetaData sendMailCallback.methodReference = this.handleConfirmationData; | |
24 silly fetchPackageMetaData sendMailCallback.thisArgument = this; | |
24 silly fetchPackageMetaData sendMailCallback.args.push(new Callback()); | |
24 silly fetchPackageMetaData PORTAL_IS.AJAX_MGR.sendAsyncReq( getURL("EmailSend"), | |
24 silly fetchPackageMetaData "mailId="+encodeURIComponent(UserCheck.DataObj.IID)+ | |
24 silly fetchPackageMetaData "&justification="+encodeURIComponent(reason)+"&action=DLP-CHOICE-ACTION-SEND", | |
24 silly fetchPackageMetaData sendMailCallback, | |
24 silly fetchPackageMetaData null, | |
24 silly fetchPackageMetaData null, | |
24 silly fetchPackageMetaData "Sending email failed."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.discardMail = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::deleteMail"); | |
24 silly fetchPackageMetaData this.last_action = 'delete'; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sendMailCallback = new Callback(); | |
24 silly fetchPackageMetaData sendMailCallback.methodReference = this.handleConfirmationData; | |
24 silly fetchPackageMetaData sendMailCallback.thisArgument = this; | |
24 silly fetchPackageMetaData sendMailCallback.args.push(new Callback()); | |
24 silly fetchPackageMetaData PORTAL_IS.AJAX_MGR.sendAsyncReq( getURL("EmailSend"), | |
24 silly fetchPackageMetaData "mailId="+encodeURIComponent(UserCheck.DataObj.IID)+ | |
24 silly fetchPackageMetaData "&justification="+encodeURIComponent("")+"&action=DLP-CHOICE-ACTION-DISCARD", | |
24 silly fetchPackageMetaData sendMailCallback, | |
24 silly fetchPackageMetaData null, | |
24 silly fetchPackageMetaData null, | |
24 silly fetchPackageMetaData "Sending email failed."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleConfirmationData = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::handleConfirmationData "); | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // TODO: Handle error. | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving Single Incident Review Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData var newViewJSONObj = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData var message = newViewJSONObj.message; | |
24 silly fetchPackageMetaData var lastChanged = newViewJSONObj.lastChanged; | |
24 silly fetchPackageMetaData var succeeded = newViewJSONObj.succeeded; | |
24 silly fetchPackageMetaData if (lastChanged != -1 && lastChanged != 0) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //message += " "; | |
24 silly fetchPackageMetaData //message += convertToGmt(lastChanged); | |
24 silly fetchPackageMetaData //this.emailData.date = convertToGmt(lastChanged); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //@@NA add test if this is from Thin Portal and only then redirect to about:blank | |
24 silly fetchPackageMetaData // window.location = "about:blank"; | |
24 silly fetchPackageMetaData if (succeeded) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var cookie = getCookie('UserCheck_UserID'); | |
24 silly fetchPackageMetaData var requestData = {}; | |
24 silly fetchPackageMetaData requestData.IID = "-1"; | |
24 silly fetchPackageMetaData requestData.UserID = cookie; | |
24 silly fetchPackageMetaData requestData.IsReasonExist = true; | |
24 silly fetchPackageMetaData requestData.Reason = ""; | |
24 silly fetchPackageMetaData requestData.UserOption = "SEND"; | |
24 silly fetchPackageMetaData if (newViewJSONObj.action == "DLP-CHOICE-ACTION-DISCARD") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData requestData.UserOption = "DISCARD"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (newViewJSONObj.action === undefined || newViewJSONObj.action != "DLP-CHOICE-ACTION-SEND") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData requestData.IsReasonExist = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(document.getElementById('UserCheck_Textual_Input') != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var reason = document.getElementById('UserCheck_Textual_Input').value; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If the reason box is not found, there is nothing to enforce. | |
24 silly fetchPackageMetaData if(reason === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData reason = ""; | |
24 silly fetchPackageMetaData requestData.IsReasonExist = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if(window.oUserAction.incidentObject.IsReasonEnforced === true && (reason.length == 0 || reason.length > 400)) | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.Reason = reason; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData requestData.IsReasonExist = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //Sometimes the cookie is not written correctly, so used global user. | |
24 silly fetchPackageMetaData if(requestData.UserID == null || requestData.UserID == "") | |
24 silly fetchPackageMetaData requestData.UserID = g_userID; | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData this.handleUserCheckChoiceData, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.goToBlank = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.ApproveHttp = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.sendMail(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.createScrubbingLinks = function(attachments, isExtended) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var scrub_files_out = "<ul style=\"list-style-type: none;padding: 0;\">"; | |
24 silly fetchPackageMetaData for (var i = 0;i<attachments.length;i++) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (attachments[i].fileStatus == "FILE-STATUS-APPROVED-BY-TE" || attachments[i].fileStatus == "FILE-STATUS-AVAILABLE" || attachments[i].fileStatus == "FILE-STATUS-AVAILABLE-SUSPICIOUS") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var image = "images/confirmation.png"; | |
24 silly fetchPackageMetaData var comment = ""; | |
24 silly fetchPackageMetaData var toolTip = "Click to download"; | |
24 silly fetchPackageMetaData var removedParts = attachments[i].removedParts; | |
24 silly fetchPackageMetaData if (isExtended == true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(removedParts != "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData removedParts = removedParts.replace(/\n/g,", "); | |
24 silly fetchPackageMetaData comment = " contains " + removedParts; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData comment = PORTAL_IS.L10N.L10N_Obj.getStr(attachments[i].scrubResult); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData scrub_files_out += "<li title=\"" + toolTip + "\"><img src=\"" + image + "\" width=\"20\" height=\"20\"/> " + "<a href=\"ScrubGetFile?IID="+UserCheck.DataObj.IID+"&fileID="+attachments[i].fileId+"\" TARGET=\"_blank\"><span style=\"font-weight:bold\">" + attachments[i].fileName + "</span></a> <span style=\"color:Red;font-size:80%\">" + comment + "</span></li>" | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var description = ""; | |
24 silly fetchPackageMetaData var img = ""; | |
24 silly fetchPackageMetaData var toolTip = ""; | |
24 silly fetchPackageMetaData if (attachments[i].fileStatus == "FILE-STATUS-WAITING-FOR-TE") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData g_refreshFiles = true; | |
24 silly fetchPackageMetaData description = "scanning..."; | |
24 silly fetchPackageMetaData img = "img/loader.gif"; | |
24 silly fetchPackageMetaData toolTip = "Please wait while file is being scanned"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (attachments[i].fileStatus == "FILE-STATUS-BLOCKED-BY-TE") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData description = "blocked - file is malicious"; | |
24 silly fetchPackageMetaData img = "img/block.png"; | |
24 silly fetchPackageMetaData toolTip = "File is malicious - blocked for download"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (attachments[i].fileStatus == "FILE-STATUS-BLOCKED-BY-POLICY") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData description = "blocked according to company policy"; | |
24 silly fetchPackageMetaData img = "img/block.png"; | |
24 silly fetchPackageMetaData toolTip = "File is blocked for download according to company policy"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData scrub_files_out += "<li title=\"" + toolTip + "\"><img src=\"" + img + "\" width=\"20\" height=\"20\"/> " + attachments[i].fileName + " <span style=\"color:LightSteelBlue\">(" + description + ")</span></li>" | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData scrub_files_out += "</ul><div id=\"refresh_timer_div\"></div>"; | |
24 silly fetchPackageMetaData return scrub_files_out; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleScrubbingFiles = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.scrubbingResponse = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var attachments = []; | |
24 silly fetchPackageMetaData if( Object.prototype.toString.call( this.scrubbingResponse.data.attachments ) != '[object Array]' ) { | |
24 silly fetchPackageMetaData attachments[0] = this.scrubbingResponse.data.attachments; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData attachments = this.scrubbingResponse.data.attachments; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData g_refreshFiles = false; | |
24 silly fetchPackageMetaData var scrub_links_simple = document.getElementById('links_simple'); | |
24 silly fetchPackageMetaData if (scrub_links_simple != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (scrub_links_simple.hasChildNodes()) | |
24 silly fetchPackageMetaData scrub_links_simple.removeChild(scrub_links_simple.childNodes[0]); | |
24 silly fetchPackageMetaData var tmp = document.createElement("div"); | |
24 silly fetchPackageMetaData tmp.innerHTML = window.oUserAction.createScrubbingLinks(attachments, false); | |
24 silly fetchPackageMetaData scrub_links_simple.appendChild(tmp); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var scrub_links_extended = document.getElementById('links_extended'); | |
24 silly fetchPackageMetaData if (scrub_links_extended != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (scrub_links_extended.hasChildNodes()) | |
24 silly fetchPackageMetaData scrub_links_extended.removeChild(scrub_links_extended.childNodes[0]); | |
24 silly fetchPackageMetaData var tmp = document.createElement("div"); | |
24 silly fetchPackageMetaData tmp.innerHTML = window.oUserAction.createScrubbingLinks(attachments, true); | |
24 silly fetchPackageMetaData scrub_links_extended.appendChild(tmp); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var scrub_wait_massage = document.getElementById('scrub_wait_message'); | |
24 silly fetchPackageMetaData if (scrub_wait_massage != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData scrub_wait_massage.style.display = 'none'; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (g_refreshFiles) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData UserCheck.tools.oTimeoutManager.startTimeoutTimer(30, window.oUserAction.refreshScrubbingFiles); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.refreshScrubbingFiles = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var requestData = { | |
24 silly fetchPackageMetaData IID: "-1" | |
24 silly fetchPackageMetaData }; | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetScrubFiles"); | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData window.oUserAction.handleScrubbingFiles, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.showOrHideRemovedPartsfromFiles = function(FileIndex) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var infoimg_element = document.getElementById('infoimg_' + FileIndex); | |
24 silly fetchPackageMetaData var removed_parts_element = document.getElementById('removed_parts_' + FileIndex); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if ( infoimg_element != null && removed_parts_element != null ) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if( removed_parts_element.style.display === "none" ) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData infoimg_element.style.display = 'none'; | |
24 silly fetchPackageMetaData removed_parts_element.style.display = 'inline'; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData infoimg_element.style.display = "inline"; | |
24 silly fetchPackageMetaData removed_parts_element.style.display = 'none'; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } //END: window.UserAction = function() | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData window.oUserAction = new UserAction(); | |
24 silly fetchPackageMetaData oUserAction.init(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </script> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </html> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData at Object.parse (native) | |
24 silly fetchPackageMetaData at CachingRegistryClient.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:237:23) | |
24 silly fetchPackageMetaData at Request._callback (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:210:14) | |
24 silly fetchPackageMetaData at Request.self.callback (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:187:22) | |
24 silly fetchPackageMetaData at emitTwo (events.js:106:13) | |
24 silly fetchPackageMetaData at Request.emit (events.js:191:7) | |
24 silly fetchPackageMetaData at Request.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:1048:10) | |
24 silly fetchPackageMetaData at emitOne (events.js:96:13) | |
24 silly fetchPackageMetaData at Request.emit (events.js:188:7) | |
24 silly fetchPackageMetaData at IncomingMessage.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:969:12) | |
24 silly fetchPackageMetaData error for highcharts SyntaxError: Unexpected token < in JSON at position 0 | |
24 silly fetchPackageMetaData <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <html> | |
24 silly fetchPackageMetaData <head> | |
24 silly fetchPackageMetaData <meta name="robots" content="noindex,nofollow" /> | |
24 silly fetchPackageMetaData <meta content="yes" name="apple-mobile-web-app-capable" /> | |
24 silly fetchPackageMetaData <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <link rel="icon" type="image/vnd.microsoft.icon" href="img/favicon.ico"/> <link rel="shortcut icon" type="image/vnd.microsoft.icon" href="img/favicon.ico"/> | |
24 silly fetchPackageMetaData <link id="dynamicCSS" rel="stylesheet" type="text/css" href="/UserCheck/css/Blob_dynamic_css" /> | |
24 silly fetchPackageMetaData <link id="staticCSS" rel="stylesheet" type="text/css" href="/UserCheck/css/Blob_static.css" /> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <script type="text/javascript"> | |
24 silly fetchPackageMetaData //Create a dynamic element to allow sending of the document mode of IE. | |
24 silly fetchPackageMetaData //This way we can notify PHP that it can display modern content instead of classic, despite the browser's reporting of being IE7. | |
24 silly fetchPackageMetaData var headID = document.getElementsByTagName("head")[0]; | |
24 silly fetchPackageMetaData var cssNode = document.createElement('link'); | |
24 silly fetchPackageMetaData cssNode.type = 'text/css'; | |
24 silly fetchPackageMetaData cssNode.rel = 'stylesheet'; | |
24 silly fetchPackageMetaData cssNode.href = "/UserCheck/css/UserCheckCSS" + (document.documentMode !== undefined ? "?documentMode=" + document.documentMode : ""); | |
24 silly fetchPackageMetaData headID.appendChild(cssNode); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData /* | |
24 silly fetchPackageMetaData ======================================================================================================================== | |
24 silly fetchPackageMetaData PORTAL IS - ESSENTIALS INCLUSION - START | |
24 silly fetchPackageMetaData ________________________________________________________________________________________________________________________ | |
24 silly fetchPackageMetaData */ | |
24 silly fetchPackageMetaData // Set global PORTAL_IS namespace. | |
24 silly fetchPackageMetaData window.PORTAL_IS = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set namespace. | |
24 silly fetchPackageMetaData PORTAL_IS.CONF = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.AJAX_REQ_TIMEOUT = 15000; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // These properties describes the external references of the portal. | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MULTI_PORTALS = {}; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_PATH = ""; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_PORT = 443; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_HOST = "192.168.0.0"; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_SCHEME = "https"; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MULTI_PORTALS.XSRF_TOKEN = ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // The current web application name. | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.WEBAPP_NAME = "UserCheck"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Debug configurations | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.MAX_STACK_SIZE = 1000; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.QUIET_MODE = "on".toLowerCase() == "on"; | |
24 silly fetchPackageMetaData PORTAL_IS.CONF.DEBUG_LEVEL = 0; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set namespace. | |
24 silly fetchPackageMetaData window.PORTAL_IS.L10N = {} | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Localization object. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData function __L10N() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.strings = new Array(); | |
24 silly fetchPackageMetaData this.browserLangs = new Array(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.init = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var obj = {"UC_TITLE":"Check Point UserCheck","UC_TITLE_MOBILE_DLP":"Check Point UserCheck Mobile DLP","BUTTON.OK":"OK","BUTTON.CANCEL":"Cancel","BUTTON.SEND":"Send","BUTTON.DISCARD":"Discard","BUTTON.APPROVE":"Approve","WRONG_ID":"This notification page has expired. You can safely close the page or ","TIMEOUT":"This notification page has expired. You can safely close the page or ","RETRY":"reload the original page.","REPORT_SUCCESS":"Report was sent successfully.","REPORT_ERROR":"An error occured while sending the report.","REQUIRED_FIELDS":"Required fields","ENTER_TEXT":"Enter text","RETURN_TO_SITE":"Return to site","UC.BLOCKED_IFRAME":"Learn more...","UC.INFO_IFRAME":"Click to resolve...","PLEASE_WAIT":"Please wait . . .","NO_SCRIPT":"This portal requires browser which support JavaScript.<br>Please make sure that you are using an updated browser and that JavaScript is enabled.","MSGBOX_TITLE_CONFIRMATION":"Confirmation","MSGBOX_TITLE_JUSTIFICATION":"Justification","MSGBOX_TITLE_APPROVER":"Approver","MSGBOX_TITLE_WARNING":"Warning","MSGBOX_TITLE_ATTENTION":"Attention","MSGBOX_TITLE_ERROR":"Error","MSGBOX_TITLE_REPORT_ERROR":"Report an error","MSGBOX_TITLE_EXTEND_EXPIRATION":"Extend expiration date","DEFAULT_GENERIC_CLIENT_ERROR":"An unexpected error has occurred.\nYou may still be able to continue working normally.\nPlease retry accessing the web page in a short while.\n\n","DEFAULT_GENERIC_TIMEOUT_CLIENT_ERROR":"You may not access this page, or this page has expired.\nPlease sign in.","LOG_REFERENCE_ID":"Log reference id: ","ERROR.LINK.SEND_ERROR_REPORT":"Send error report","ERROR.LINK.IM_HAVING_PROBLEMS":"I am having problems with this Portal.","CHECKPOINT_COPY_RIGHTS":"©2011 Check Point Software Technologies Ltd.","EMAIL_SENT":"The email has been sent","EMAIL_DISCARDED":"The email has been discarded","EMAIL_ALREADY_SENT":"The email has already been sent","EMAIL_ALREADY_DISCARDED":"The email has already been discarded","UNKOWN_INCIDENT_STATUS":"The incident status is unkown","REVIEW_TEXT":"Review issue in portal","MAIL.ITEM.ATTACHMENTS":"Attachments","HTTP_LEARNING":"To complete the operation, <b>please return to site and resend the information<\/b>, thanks.","HTTP_LEARNING_ERROR_MSG":"Sending the message cannot be approved,<\/br> please contact your system administrator.","HTTP_LEARNING_ERROR_TOOLTIP":"Sending the message cannot be approved, please contact your system administrator.","CP_SCRUB_WAIT_MESSAGE":"Please wait while loading files...","CP_SCRUB_RESULT_SUCCESS":"","CP_SCRUB_RESULT_FAILURE":"File structure may be corrupted","CP_SCRUB_RESULT_TIMEOUT":"","CP_SCRUB_RESULT_UNSUPPORTED_FILE":"File format is not supported","CP_SCRUB_RESULT_NOT_SCRUBBED":"","CP_SCRUB_RESULT_INTERNAL_ERROR":"","CP_SCRUB_RESULT_NO_VALID_CONTRACT":"","CP_SCRUB_RESULT_SKIPPED_BY_TE_CONFIDENCE":"","CP_SCRUB_RESULT_OUT_OF_MEMORY":"","CP_SCRUB_RESULT_DOCSEC_FILE":"File encrypted using Checkpoint's Document Security","CP_SCRUB_RESULT_ENCRYPTED_FILE":"contains encrypted data","CP_SCRUB_RESULT_SKIPPED_BY_SCRIPT":"","CP_SCRUB_RESULT_DISK_LIMIT_REACHED":""}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData for(val in obj) | |
24 silly fetchPackageMetaData this.strings[val] = obj[val]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData obj = ["en"]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData for(val in obj) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.browserLangs[val] = obj[val].split(';')[0]; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.getStr = function(stringId) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData return this.strings[stringId]; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.selectLanguage = function(languageArray) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData for(lang in this.browserLangs) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(languageArray[this.browserLangs[lang]] === true) | |
24 silly fetchPackageMetaData return this.browserLangs[lang]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(languageArray[this.browserLangs[lang].substring(0, 2)] === true) | |
24 silly fetchPackageMetaData return this.browserLangs[lang].substring(0, 2); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If nothing succeeded, return the default. | |
24 silly fetchPackageMetaData return "en"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.reloadLanguageTo = function(lang, fallbackLang, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var requestData = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.lang = lang; | |
24 silly fetchPackageMetaData requestData.fallbackLang = fallbackLang; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetTranslationData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData this.asyncReloadLangHandler, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [callback]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.asyncReloadLangHandler = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving translation data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var obj = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData this.strings = null; //Ensure removing of old values. | |
24 silly fetchPackageMetaData this.strings = new Array(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData for(val in obj) | |
24 silly fetchPackageMetaData this.strings[val] = obj[val]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Localization object. | |
24 silly fetchPackageMetaData L10N_Obj = new __L10N(); | |
24 silly fetchPackageMetaData L10N_Obj.init(); | |
24 silly fetchPackageMetaData PORTAL_IS.L10N.L10N_Obj = L10N_Obj; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData /* | |
24 silly fetchPackageMetaData ________________________________________________________________________________________________________________________ | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData PORTAL IS - ESSENTIALS INCLUSION - END | |
24 silly fetchPackageMetaData ======================================================================================================================== | |
24 silly fetchPackageMetaData */ | |
24 silly fetchPackageMetaData var noJSCrypto = "true"; | |
24 silly fetchPackageMetaData </script> | |
24 silly fetchPackageMetaData <script type="text/javascript" src="js/Blob.js"></script> | |
24 silly fetchPackageMetaData <script type="text/javascript"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Create namespace | |
24 silly fetchPackageMetaData window.UserCheck = {}; | |
24 silly fetchPackageMetaData window.UserCheck.tools = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData function parseSender(value) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData return value.address; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData // Render recipient list from and array. | |
24 silly fetchPackageMetaData // String[] recipientsArr - Array of recipients. | |
24 silly fetchPackageMetaData // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
24 silly fetchPackageMetaData // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
24 silly fetchPackageMetaData function recipientsArr2StrInTable(recipientsArr, ellipsisLimit, useLinebreakes) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (ellipsisLimit == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData ellipsisLimit = 0; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (useLinebreakes == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData useEllipsis = true; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var recipientsList = ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData for (var i=0; i<recipientsArr.length; i++) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData recipientsList += HTMLEncode(recipientsArr[i].address); | |
24 silly fetchPackageMetaData if (i < recipientsArr.length-1) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData recipientsList += ", "; | |
24 silly fetchPackageMetaData if (useLinebreakes) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData recipientsList += "<br>"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (ellipsisLimit > 0) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //recipientsList = Ext.util.Format.ellipsis(recipientsList, ellipsisLimit); | |
24 silly fetchPackageMetaData recipientsList = recipientsList; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return recipientsList; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData // Render recipient list from and array. | |
24 silly fetchPackageMetaData // Sender sender - The sender data. | |
24 silly fetchPackageMetaData // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
24 silly fetchPackageMetaData // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
24 silly fetchPackageMetaData function getSenderName(sender, ellipsisLimit) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var output = ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (ellipsisLimit == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData ellipsisLimit = 0; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (sender.name.empty()) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData output = sender.address; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData output = sender.name; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // if (ellipsisLimit > 0) | |
24 silly fetchPackageMetaData // { | |
24 silly fetchPackageMetaData // output = Ext.util.Format.ellipsis(output, ellipsisLimit); | |
24 silly fetchPackageMetaData // } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return output; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData // Render recipient list from and array. | |
24 silly fetchPackageMetaData // String sender - The subject string. | |
24 silly fetchPackageMetaData // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
24 silly fetchPackageMetaData // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
24 silly fetchPackageMetaData function getSubject(subject, ellipsisLimit) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var output = subject; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (ellipsisLimit == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData ellipsisLimit = 0; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // if (ellipsisLimit > 0) | |
24 silly fetchPackageMetaData // { | |
24 silly fetchPackageMetaData // output = Ext.util.Format.ellipsis(output, ellipsisLimit); | |
24 silly fetchPackageMetaData // } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return output; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData // tranform recipients array to string | |
24 silly fetchPackageMetaData function recipientsArr2Str(recipientsArr,type) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var recipientsList = ""; | |
24 silly fetchPackageMetaData var address = ""; | |
24 silly fetchPackageMetaData var commaNeeded = false; | |
24 silly fetchPackageMetaData for (var i=0; i<recipientsArr.length; i++) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (type == recipientsArr[i].recipientType) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (!commaNeeded) | |
24 silly fetchPackageMetaData commaNeeded = true; | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData recipientsList += ", "; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData address = HTMLEncode(recipientsArr[i].address); | |
24 silly fetchPackageMetaData if (recipientsArr[i].isExternal) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData address = '<span ' + GetDomainColor(recipientsArr[i].address)+' >' + address + '</span>' | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData recipientsList += address; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return recipientsList; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData function arr2Str(arr) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var str = ""; | |
24 silly fetchPackageMetaData var commaNeeded = false; | |
24 silly fetchPackageMetaData for (var i=0; i<arr.length; i++) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (!commaNeeded) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData commaNeeded = true; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData str += ", "; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData str += arr[i]; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return str; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData function GetDomainColor(str) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // var highlightColors = new Array("FFFF00","00FF00","00FFFF","FF00FF","FF0000","FFFF99","99FF99","CCFFFF","FFCCFF", "FF9999") | |
24 silly fetchPackageMetaData var highlightColors = new Array("FFFF00","FF00FF","FF0000","FFBB00","FF9999"); | |
24 silly fetchPackageMetaData domainName = GetDomainName(str); | |
24 silly fetchPackageMetaData if (domainName==null) return null; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData hash=0; | |
24 silly fetchPackageMetaData for (i=0; i<domainName.length; i++) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData hash += domainName.charCodeAt(i); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData hash = hash % (highlightColors.length); | |
24 silly fetchPackageMetaData return 'style="background-color: #' + highlightColors[hash] + '; text-decoration: underline;"'; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData /* | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData UserCheck.tools.clearContainer = function(containerId) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("Clear container: "+containerId); | |
24 silly fetchPackageMetaData var container = Ext.getCmp(containerId); | |
24 silly fetchPackageMetaData if ((container) && (container.items)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData container.items.each( | |
24 silly fetchPackageMetaData function(item) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData container.remove(item, true); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData ); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData // ======================================================================================= | |
24 silly fetchPackageMetaData */ | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Override poral_is error handler. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData window.genericTimeoutHandler = function(portalException) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck::genericTimeoutHandler."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if ((portalException == undefined) || (portalException == null)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData portalException = new PortalException(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Assign action to the Ok button. | |
24 silly fetchPackageMetaData // The event is added in order to get the exception, if it is set, that is set as the error message OK button attribute. see showPortalErrorMessage | |
24 silly fetchPackageMetaData postErrorHandler = function(event) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // Check if redirected due to timeout. | |
24 silly fetchPackageMetaData if (getCookie("isRedirectedDueTimeout") == "1") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // Delete the cookie to allow future errors. | |
24 silly fetchPackageMetaData setCookie("isRedirectedDueTimeout", "0", 0); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // TODO: Redirect to error page. | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set cookie in order to prevent error loops. | |
24 silly fetchPackageMetaData setCookie("isRedirectedDueTimeout", "1", 5*60); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData genericPostErrorHandler(event); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Reload the page. | |
24 silly fetchPackageMetaData document.location.href=document.location.href; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // TODO: Get message from resource bundle. | |
24 silly fetchPackageMetaData //var errMsg = "Your session has expired or timed out.\nYou will be redirected to the login page.\n\n"; | |
24 silly fetchPackageMetaData showPortalErrorMessage(portalException, postErrorHandler, true); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData window.genericErrorHandler = function(portalException, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck::genericErrorHandler."); | |
24 silly fetchPackageMetaData if ((portalException == undefined) || (portalException == null)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData portalException = new PortalException(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (isNothingness(callback)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Assign action to the Ok button. | |
24 silly fetchPackageMetaData // The event is added in order to get the exception, if it is set, that is set as the error message OK button attribute. see showPortalErrorMessage | |
24 silly fetchPackageMetaData postErrorHandler = function(event) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData genericPostErrorHandler(event); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData // No reload of the page. | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData showPortalErrorMessage(portalException, postErrorHandler, true); | |
24 silly fetchPackageMetaData return true; // This is required for the execption to stop from being passed to the browser. | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData window.genericPostErrorHandler = function(event) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck::genericPostErrorHandler."); | |
24 silly fetchPackageMetaData // Just hide the error. | |
24 silly fetchPackageMetaData hidePortalErrorMessage(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData UserCheck.tools.sendErrorReport = function(userDesc, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck.tools.sendErrorReport in."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = getURL("data/submitErrorReport"); | |
24 silly fetchPackageMetaData var report = encodeURIComponent(DEBUG.compileErrorReport()); | |
24 silly fetchPackageMetaData var userDesc = encodeURIComponent(userDesc); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sendErrorReportCallback = new Callback(); | |
24 silly fetchPackageMetaData sendErrorReportCallback.methodReference = UserCheck.tools.handleErrorReportResponse; | |
24 silly fetchPackageMetaData sendErrorReportCallback.args.push(callback); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Send report with no error handlers. | |
24 silly fetchPackageMetaData PORTAL_IS.AJAX_MGR.sendAsyncReq(sAbsoluteURL, "report="+report+"&userDesc="+userDesc, sendErrorReportCallback, null, null, "Sending of error report failed."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set error flag. | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.errorMsgShown = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData UserCheck.tools.handleErrorReportResponse = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck.tools.handleErrorReportResponse in."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set error flag. | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.errorMsgShown = false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (isNothingness(callback)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // TODO: Handle error. | |
24 silly fetchPackageMetaData DEBUG.out('Submitting error report failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData showPortalMessage("Sending of error report failed."); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData showPortalMessage("Error report was sent successfully.\nThank you for your support.", null, UserCheck.MESSAGE_TYPE.Confirmation); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData UserCheck.tools.showErrorReport = function(callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck.tools.showErrorReport in."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Create new callback with send report and store previous callback in it. | |
24 silly fetchPackageMetaData submitCallback = new Callback(); | |
24 silly fetchPackageMetaData submitCallback.methodReference = DEBUG.sendErrorReport; | |
24 silly fetchPackageMetaData submitCallback.args = [callback]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Create new callback for cancel. | |
24 silly fetchPackageMetaData cancelCallback = new Callback(); | |
24 silly fetchPackageMetaData cancelCallback.methodReference = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // Clear error flag. | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.errorMsgShown = false; | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData }; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Hide any opened boxes. | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.hideGeneralContainer(); | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.hideDialog(); | |
24 silly fetchPackageMetaData hidePortalMessage(); | |
24 silly fetchPackageMetaData hidePortalErrorMessage(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.showDialog( "Please describe the encountered problem in the text box below.", | |
24 silly fetchPackageMetaData "NOTICE: The report might include personal information from your mail items.\nThe report will not include your credentials.", | |
24 silly fetchPackageMetaData "I was trying to (e.g. review an email):\n\nWork flow which led to this error (e.g. access via email link):\n\nI am unable to:", | |
24 silly fetchPackageMetaData "Report an error", | |
24 silly fetchPackageMetaData submitCallback, cancelCallback, null, null, null, null, true); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set error flag. | |
24 silly fetchPackageMetaData PORTAL_IS.TOOLS.errorMsgShown = true; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.showErrorReport = UserCheck.tools.showErrorReport; | |
24 silly fetchPackageMetaData DEBUG.sendErrorReport = UserCheck.tools.sendErrorReport; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData UserCheck.tools.oTimeoutManager = | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData timerID: -1, | |
24 silly fetchPackageMetaData startTimeoutTimer: function(duration, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var milisecs = duration * 1000; | |
24 silly fetchPackageMetaData if (milisecs > 2147483646) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData milisecs = 2147483646; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData DEBUG.out("UserCheck.tools.TimeoutManager: Starting timer for " + duration + " seconds."); | |
24 silly fetchPackageMetaData window.TimeoutManagerCallback = callback; | |
24 silly fetchPackageMetaData this.timerID = setTimeout("this.TimeoutManagerCallback();", milisecs); | |
24 silly fetchPackageMetaData }, | |
24 silly fetchPackageMetaData stopTimeoutTimer: function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData clearTimeout(timerID); | |
24 silly fetchPackageMetaData timerID = -1; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData }; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData UserCheck.DataObj = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // TODO: This should be defined as an "interface" class and other view managers should implement it. | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // UC's view manager. | |
24 silly fetchPackageMetaData window.UCViewManager = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.lastRenderedCustomContentContainers = new Array(); | |
24 silly fetchPackageMetaData this.defaultContainer = 'portal_main_view'; | |
24 silly fetchPackageMetaData this.ignoreHashChange = false; | |
24 silly fetchPackageMetaData this.wait = null; | |
24 silly fetchPackageMetaData this.requestParams = null; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Hash to view mapping, enables us to set display another value than the actual view name. | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData this.hashViewMap = new Array(); | |
24 silly fetchPackageMetaData // Hash name View name | |
24 silly fetchPackageMetaData //__________________________________________________________________________________________________________________ | |
24 silly fetchPackageMetaData this.hashViewMap["UserAction"] = "UserAction"; | |
24 silly fetchPackageMetaData this.hashViewMap["MainWithMenuView"] = "MainWithMenuView"; | |
24 silly fetchPackageMetaData this.hashViewMap["Menu"] = "Menu"; | |
24 silly fetchPackageMetaData this.hashViewMap["Logout"] = "Logout"; | |
24 silly fetchPackageMetaData this.hashViewMap["MainView"] = "MainView"; | |
24 silly fetchPackageMetaData this.hashViewMap["Error"] = "Error"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Get View name from Hash name. | |
24 silly fetchPackageMetaData this.hash2View = function(hash) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var view = this.hashViewMap[hash]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (isNothingness(view)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData view = "UserAction"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData return view; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Get Hash name from View name. | |
24 silly fetchPackageMetaData this.view2Hash = function(view) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var hash = "UserAction"; | |
24 silly fetchPackageMetaData for (key in this.hashViewMap) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (this.hashViewMap[key] == view) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var hash = key; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData return hash; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Initialize view manager. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.init = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::init"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Bind history change handler. | |
24 silly fetchPackageMetaData $(window).bind('hashchange', viewManager.handleHistoryChange); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Check address bar's hash and set desired view if exists. | |
24 silly fetchPackageMetaData var desiredView = this.parseHash().view; | |
24 silly fetchPackageMetaData if (isNothingness(desiredView)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData desiredView = ""; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::init, desired view: [" + desiredView + "]"); | |
24 silly fetchPackageMetaData this.gotoNextView(desiredView); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Handle history changes (back/reload). | |
24 silly fetchPackageMetaData // Overriding default handling. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.handleHistoryChange = function(e, ui) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // In some cases the hash is changed and no view load is required, checking if so. | |
24 silly fetchPackageMetaData if (!viewManager.ignoreHashChange && ui != undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // Parse view from hash. | |
24 silly fetchPackageMetaData var desiredView = viewManager.parseHash().view; | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::handleHistoryChange, desired view:" + desiredView); | |
24 silly fetchPackageMetaData viewManager.gotoNextView(desiredView); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::handleHistoryChange, hash changed ignored."); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Reset the ignore flag. | |
24 silly fetchPackageMetaData viewManager.ignoreHashChange = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Queries the server for next desired view and than call for rendering it. | |
24 silly fetchPackageMetaData // Will call upon callback when done rendering the view. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.gotoNextView = function(requestedView, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::gotoNextView"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (isNothingness(callback)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Check what is the next view. | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("GetNextView"); | |
24 silly fetchPackageMetaData var parameters = (isNothingness(requestedView)) ? ("") : ("requestedView=" + encodeURIComponent(requestedView)); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var gotoNextViewCallback = new Callback(); | |
24 silly fetchPackageMetaData gotoNextViewCallback.methodReference = this.handleGotoNextViewRequest; | |
24 silly fetchPackageMetaData gotoNextViewCallback.thisArgument = this; | |
24 silly fetchPackageMetaData gotoNextViewCallback.args = [callback]; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData PORTAL_IS.AJAX_MGR.sendAsyncReq(sAbsoluteURL, parameters, gotoNextViewCallback); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Handle next view query. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.handleGotoNextViewRequest = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::handleGotoNextViewRequest"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (isNothingness(callback)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving next view failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var nextViewJSONObj = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData var nextView = nextViewJSONObj.view; | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::handleGotoNextViewRequest, next view:" + nextView); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Extract the data (request params) from hash and relay it onto next hash. | |
24 silly fetchPackageMetaData // As hash changing handler will be passed back to this method we set the Ignore flag to TRUE | |
24 silly fetchPackageMetaData // and call for the gotoView method. | |
24 silly fetchPackageMetaData viewManager.changeHash(nextView, viewManager.parseHash().data, true); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData viewManager.gotoView(nextView, callback); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Get view contents (CSS, JS and HTML). | |
24 silly fetchPackageMetaData // Will call upon callback when done rendering the view. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.gotoView = function(view, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::gotoView view: ["+view+"]"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var hash = this.parseHash().view; | |
24 silly fetchPackageMetaData var parameters = (hash == "") ? ("view="+encodeURIComponent(hash)) : ( "requestedView=" + encodeURIComponent(view) + "&view="+encodeURIComponent(hash) ); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(PORTAL_IS.TOOLS.getURL("viewManager/GetViewData"), | |
24 silly fetchPackageMetaData parameters, | |
24 silly fetchPackageMetaData this.handleNewView, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [callback]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Handle new view rendering. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.handleNewView = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // TODO: Handle error. | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving view failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var newViewJSONObj = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData var newView = newViewJSONObj.view; | |
24 silly fetchPackageMetaData DEBUG.out("UCViewManager::handleNewView, Parsed from JSON - view:" + newView); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var useDefaultContainerId = true; | |
24 silly fetchPackageMetaData var requiredContainerId = ""; | |
24 silly fetchPackageMetaData var requiredView = ""; | |
24 silly fetchPackageMetaData var requireSecureConnection = false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData switch (newView) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData default: // View will be rendered into main page view. | |
24 silly fetchPackageMetaData useDefaultContainerId = true; | |
24 silly fetchPackageMetaData requiredContainerId = this.defaultContainer; | |
24 silly fetchPackageMetaData break; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Check if in https, redirect if not. | |
24 silly fetchPackageMetaData if ((requireSecureConnection) && (location.protocol.toLowerCase() == 'http:')) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData newLocation = location.href.replace(/http:/i, "https:"); | |
24 silly fetchPackageMetaData location.href = newLocation; | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var containerId = this.defaultContainer; | |
24 silly fetchPackageMetaData if (!useDefaultContainerId) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData containerId = requiredContainerId; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //var container = Ext.getCmp(containerId); | |
24 silly fetchPackageMetaData var container = document.getElementById(containerId); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (container != undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.out('Render new view ('+newViewJSONObj.view+') into [' + (useDefaultContainerId ? "DefaultContainer" : requiredContainerId) + "]."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Render CSS. - Not needed, all CSS loads from one blob file. | |
24 silly fetchPackageMetaData //evaluateCSS(newViewJSONObj.css, ""); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Clear existing content. | |
24 silly fetchPackageMetaData container.innerHTML = ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // If the html content is not empty, render it into a new pane. | |
24 silly fetchPackageMetaData container.innerHTML = newViewJSONObj.html; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Render JavaScript Content. | |
24 silly fetchPackageMetaData evaluateJavaScript(newViewJSONObj.javascript); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (requiredContainerId == this.defaultContainer) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.out('Default view is missing and will be rendered...'); | |
24 silly fetchPackageMetaData this.renderDefaultView(); | |
24 silly fetchPackageMetaData this.handleNewView(xhrStatus, xhrResponse, callback); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else // The container is not present and needs to be rendered first. | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.out('Required view ('+requiredContainerId+') is missing and needs to be rendered first.'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Set the previous view results in a callback, it will be called when finished rendering of the login sequence page. | |
24 silly fetchPackageMetaData var requiredViewCallback = new Callback(); | |
24 silly fetchPackageMetaData requiredViewCallback.methodReference = this.handleNewView; | |
24 silly fetchPackageMetaData requiredViewCallback.thisArgument = this; | |
24 silly fetchPackageMetaData requiredViewCallback.args = [200, xhrResponse]; // Set fake status and response. | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Request specific view. | |
24 silly fetchPackageMetaData this.gotoView(requiredView, requiredViewCallback); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // TODO: detect loops. | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Done here, call the callback. | |
24 silly fetchPackageMetaData //this.wait.hide(); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // CUSTOM CONTENT RELATED METHODS | |
24 silly fetchPackageMetaData // _________________________________________________________________________________________________________________ | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Get the view's custom Content. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.getViewCustomContent = function(view) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.clearLastCustomContent(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("JSONViewData/GetViewCustomContent"); | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData "view="+view, | |
24 silly fetchPackageMetaData this.renderCustomContent, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData []); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Render the custom content. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.renderCustomContent = function(xhrStatus, xhrResponse, callbackObj) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Render custom content.'); | |
24 silly fetchPackageMetaData callback = new Callback(callbackObj); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // TODO: Handle error. | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving custom content failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // The container Id is: "CustomContent_<VIEW NAME>_<RESOURCE KEY>". | |
24 silly fetchPackageMetaData // For example: the "ISW" view and the resource key of "top" will be rendered into "CustomContent_ISW_top". | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var newCustomContentJSONObj = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData var keyArr = newCustomContentJSONObj.keyArr; | |
24 silly fetchPackageMetaData var view = newCustomContentJSONObj.view | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Override view. | |
24 silly fetchPackageMetaData switch (view) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData case "ICS": // No brake, group these views. | |
24 silly fetchPackageMetaData case "Authentication": | |
24 silly fetchPackageMetaData case "ISW": | |
24 silly fetchPackageMetaData case "MultiChallenge": | |
24 silly fetchPackageMetaData case "IswEntry": | |
24 silly fetchPackageMetaData var usedView = "LoginSequencePage"; | |
24 silly fetchPackageMetaData break; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData default: | |
24 silly fetchPackageMetaData var usedView = view; | |
24 silly fetchPackageMetaData break; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Iterate on each of the custom content object. | |
24 silly fetchPackageMetaData var customContent, containerId, key; | |
24 silly fetchPackageMetaData //for (var key in keyMap) | |
24 silly fetchPackageMetaData for (var i=0; i<keyArr.length; i++) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData key = keyArr[i][0]; | |
24 silly fetchPackageMetaData customContent = keyArr[i][1]; | |
24 silly fetchPackageMetaData containerId = "CustomContent_"+usedView+"_"+key; | |
24 silly fetchPackageMetaData DEBUG.out('Render custom content: usedView:['+usedView+"] into:["+containerId+"]"); | |
24 silly fetchPackageMetaData this.evaluateCustomContent(customContent, containerId); | |
24 silly fetchPackageMetaData this.lastRenderedCustomContentContainers.push(containerId); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Call the callback. | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Encapsulate conditional rendering of the custom content. | |
24 silly fetchPackageMetaData this.evaluateCustomContent = function(customContent, containerId) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData destinationRef = document.getElementById(containerId); | |
24 silly fetchPackageMetaData if ( (destinationRef != null) && (destinationRef != undefined) ) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData evaluateHTMLContent(customContent, destinationRef); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Clear last rendered containers. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.clearLastCustomContent = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData for (var containerIndex in this.lastRenderedCustomContentContainers) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.evaluateCustomContent(" ", this.lastRenderedCustomContentContainers[containerIndex]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.lastRenderedCustomContentContainers = new Array(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Render default view. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.renderDefaultView = function() | |
24 silly fetchPackageMetaData {} | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData this.logoutButtonHandler = function() | |
24 silly fetchPackageMetaData {} | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // DEPRECATED METHODS | |
24 silly fetchPackageMetaData // _________________________________________________________________________________________________________________ | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // DEPRECATED, use viewManager.gotoNextView instead. | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData this.gotoNextState = function(callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.gotoNextView(null, callback); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //================================================================================================================== | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Extend ViewManager (Portal IS). | |
24 silly fetchPackageMetaData UCViewManager.prototype = new ViewManager(); | |
24 silly fetchPackageMetaData window.viewManager = new UCViewManager(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </script> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <title>Check Point UserCheck</title> | |
24 silly fetchPackageMetaData </head> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <body class="usercheck_body_background_class" unselectable="on"> | |
24 silly fetchPackageMetaData <noscript> | |
24 silly fetchPackageMetaData This portal requires browser which support JavaScript.<br>Please make sure that you are using an updated browser and that JavaScript is enabled. </noscript> | |
24 silly fetchPackageMetaData <div id='portalErrorMessage' class="portalErrorMessageDivHide"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" class="portalErrorMessageTableContainer" width="100%"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td align="center"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" class="portalErrorMessageTable"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr id="portalErrorMessage_title_container_row" class="portalMessage_title show" width="100%"> | |
24 silly fetchPackageMetaData <td id="portalErrorMessage_title_container" height="10px" valign="middle" align="left" colspan="2"> </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td id="portalErrorMessage_container" align="left" style="padding: 10px;" colspan="2"> </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <td> | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" width="100%"style=" padding: 10px;"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td id="portalMessage_error_report_container" align="left" valign="buttom" class="hide"> | |
24 silly fetchPackageMetaData <span id="portalMessage_error_report_link" onclick="DEBUG.showErrorReport();" class="portal_link" style="left: 10px;"> | |
24 silly fetchPackageMetaData Send error report </span> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData <td id="portalMessage_error_button_container" align="right" height="10px;" valign="buttom"> | |
24 silly fetchPackageMetaData <button id="portalErrorMessage_button" class="portalErrorMessage_button" onclick="hidePortalErrorMessage();"> | |
24 silly fetchPackageMetaData OK </button> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id='portalMessage' class="portalMessageDivHide"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" class="portalMessageTableContainer" width="100%"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td align="center"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" class="portalMessageTable"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr id="portalMessage_title_container_row" class="portalMessage_title show"> | |
24 silly fetchPackageMetaData <td id="portalMessage_title_container" class="portalMessage_title_td" valign="middle" align="left"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td id="portalMessage_container" align="left" style="padding: 10px;"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr id="portalMessage_textarea_container_row" class="hide"> | |
24 silly fetchPackageMetaData <td id="portalMessage_textarea_container" align="left" style="padding: 10px;"> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr id="portalMessage_validation_message_container_row" class="show"> | |
24 silly fetchPackageMetaData <td id="portalMessage_validation_message_container" align="left" class="portalMessage_validation_submessage" style="padding: 10px;"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr id="portalMessage_submessage_container_row" class="hide"> | |
24 silly fetchPackageMetaData <td id="portalMessage_submessage_container" align="left" class="portalMessage_submessage" style="padding: 10px;"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td align="center" height="10px;" valign="buttom" style="padding: 10px;" colspan="2"> | |
24 silly fetchPackageMetaData <div id="portalMessage_ok_button_container" class="show" style="text-align: right;"> | |
24 silly fetchPackageMetaData <button id="portalMessage_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
24 silly fetchPackageMetaData OK </button> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id="portalMessage_bool_button_container" class="hide"> | |
24 silly fetchPackageMetaData <button id="portalMessage_yes_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
24 silly fetchPackageMetaData BUTTON.YES </button> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <button id="portalMessage_no_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
24 silly fetchPackageMetaData BUTTON.NO </button> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id="portalMessage_submit_button_container" class="hide"> | |
24 silly fetchPackageMetaData <button id="portalMessage_submit_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
24 silly fetchPackageMetaData BUTTON.SUBMIT </button> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <button id="portalMessage_cancel_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
24 silly fetchPackageMetaData Cancel </button> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id='portalGeneralContainer' class="portalMessageDivHide"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" class="portalMessageTableContainer" width="100%"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td align="center"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" class="portalMessageTable"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr id="portalGeneralContainer_title_container_row" class="portalMessage_title show" width="100%"> | |
24 silly fetchPackageMetaData <td id="portalGeneralContainer_title_container" height="10px" valign="middle" align="left"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td id="portalGeneralContainer_container" align="left" style="padding: 10px;"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id='PortalErrorScreenShader' class="screenShaderHide"> | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" width="100%" height="100%"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td> </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id='PortalScreenShader' class="screenShaderHide"> | |
24 silly fetchPackageMetaData <table cellpadding="0px" cellspacing="0px" width="100%" height="100%"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td> </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <div id="portal_main_view" class="div_expanded" unselectable="on"> | |
24 silly fetchPackageMetaData <table height="100%" width="100%" border="0" cellpadding="0" cellspacing="0" class=""> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td id="portal_center_div" valign="top" unselectable="on" class="usercheck_main_background_class"> | |
24 silly fetchPackageMetaData <div id="portal_top_pane_div" class="usercheck_header_class"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <!--position: fixed; bottom: -1px; left: 50%; margin-left: -435px; --> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table width="100%" cellpadding="0" cellspacing="0" class="usercheck_header_table_class usercheck_content_table_class"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td class="usercheck_header_left_class" unselectable="on"> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData <td class="usercheck_header_center_class" unselectable="on"> | |
24 silly fetchPackageMetaData <div class="usercheck_page_title_class" id="usercheck_page_title" unselectable="on" >UserCheck</div> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData <td id="usercheck_header_right_logo" class="usercheck_header_right_class" unselectable="on"> | |
24 silly fetchPackageMetaData <img class="usercheck_company_logo_class" id="usercheck_company_logo" ></img> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData <td id="usercheck_header_right_empty" class="usercheck_header_right_empty_class" unselectable="on"> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData <div style=""> </div><div style=""> </div><div style=""> </div> | |
24 silly fetchPackageMetaData <div style="text-align: center;" unselectable="on"> | |
24 silly fetchPackageMetaData <table id="usercheck_content_table" cellpadding="0" cellspacing="0" class="usercheck_content_table_class"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td rowspan="3" valign="top" class="usercheck_message_icon_column"><div class="usercheck_message_icon_class" id="usercheck_img_div" unselectable="on"> </div></td> | |
24 silly fetchPackageMetaData <td><div id="usercheck_title_div" class="usercheck_title_class" unselectable="on"> </div></td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td><div id="usercheck_main_div" class="usercheck_message_class" unselectable="on"> </div></td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td><div id="usercheck_error_div" unselectable="on"> </div></td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td colspan="2" style="text-align: center;" unselectable="on"> | |
24 silly fetchPackageMetaData <table style="margin-right: -10px; width: 50%; float: right;"><tr><td> | |
24 silly fetchPackageMetaData <center> | |
24 silly fetchPackageMetaData <div id="usercheck_cancel_div" class="usercheck_ok_button_div_class"> </div> | |
24 silly fetchPackageMetaData </center> | |
24 silly fetchPackageMetaData </td><td> | |
24 silly fetchPackageMetaData <center> | |
24 silly fetchPackageMetaData <div id="usercheck_ok_div" class="usercheck_ok_button_div_class"> </div> | |
24 silly fetchPackageMetaData </center> | |
24 silly fetchPackageMetaData </td></tr></table> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table></div> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td id ="usercheck_footer_td" class="usercheck_footer_class usercheck_footer_height_class"> | |
24 silly fetchPackageMetaData <div id="portal_bottom_pane_div"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <!--position: fixed; bottom: -1px; left: 50%; margin-left: -435px; --> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <table id="footer_table_logo" cellpadding="0" cellspacing="0" class="usercheck_footer_table_class footer_no_logo"> | |
24 silly fetchPackageMetaData <tr> | |
24 silly fetchPackageMetaData <td class="usercheck_footer_height_class"> | |
24 silly fetchPackageMetaData <div id="usercheck_language_selection_div" class="usercheck_lang_select_div_class" style="display: none;"> | |
24 silly fetchPackageMetaData Language: <select id="usercheck_language_selection" class="usercheck_lang_select_class" onchange="javascript:window.oUserAction.handleLanguageChange();"> | |
24 silly fetchPackageMetaData </select> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> </div> | |
24 silly fetchPackageMetaData </td> | |
24 silly fetchPackageMetaData </tr> | |
24 silly fetchPackageMetaData </table> | |
24 silly fetchPackageMetaData </div> | |
24 silly fetchPackageMetaData </body> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData <script type="text/javascript"> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Continue the background image on IE6-7 graphics design. | |
24 silly fetchPackageMetaData if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7 && (document.documentMode === undefined || document.documentMode <= 7)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var footer_td = document.getElementById('usercheck_footer_td'); | |
24 silly fetchPackageMetaData footer_td.setAttribute("className", footer_td.getAttribute("className") + " usercheck_main_background_class"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData UserCheck.DataObj.IID = "6562BAB3-CB54-35B8-C19D-29D4AE36E696"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData UserCheck.DataObj.frame = 0; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData /*this is a common object for PortalMain and PortalMainDlp. functions here should be empty */ | |
24 silly fetchPackageMetaData window.UserActionCommon = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.DlpHttpLearning = function(adminMessage,HttpLearningEnabled) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData this.DlpHideCancelBtn = function(action) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData window.oUserActionCommon = new window.UserActionCommon(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var g_userID = ""; | |
24 silly fetchPackageMetaData var g_refreshFiles = false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData window.UserAction = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.incidentObject = {}; | |
24 silly fetchPackageMetaData this.textAreaText = ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.getCorrectClass = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var correctClass = "class"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Choose the correct class attribute name (in IE6-7 we need "className" instead of "class") according to IE version - but check for compatibility first! | |
24 silly fetchPackageMetaData if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7 && document.documentMode === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData correctClass = "className"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return correctClass; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData // Initialize. | |
24 silly fetchPackageMetaData //============================================================================================= | |
24 silly fetchPackageMetaData this.init = function(cancelPage) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (typeof cancelPage == 'undefined') | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData cancelPage = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData var requestData = { | |
24 silly fetchPackageMetaData IID: "-1", | |
24 silly fetchPackageMetaData UserID: "", | |
24 silly fetchPackageMetaData IsThinPortal: false, | |
24 silly fetchPackageMetaData UserLang: "", | |
24 silly fetchPackageMetaData GetCancelPage: cancelPage | |
24 silly fetchPackageMetaData }; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var cookie = getCookie('UserCheck_UserID'); | |
24 silly fetchPackageMetaData requestData.UserID = cookie != null ? cookie : ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IsThinPortal = window.isThinPortal === true ? true : false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var selectedLanguage = getCookie('UserCheck_Selected_Language'); | |
24 silly fetchPackageMetaData if(selectedLanguage == null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData selectedLanguage = ""; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData requestData.UserLang = selectedLanguage; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckIncidentData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (window.isThinPortal === true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //Create a custom timeout handler for the thin portal. | |
24 silly fetchPackageMetaData PORTAL_IS.AJAX_MGR.customTimeoutHandler = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData this.handleUserCheckIncidentData, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Toggles the button's state from enabled to disabled and vice versa. | |
24 silly fetchPackageMetaData this.setButtonMode = function(buttonState, buttonID) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var button = document.getElementById(buttonID); | |
24 silly fetchPackageMetaData if(button == null) | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(buttonState) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //Enable the button. | |
24 silly fetchPackageMetaData button.setAttribute(correctClass, "button"); | |
24 silly fetchPackageMetaData button.onclick = function(){ javascript:oUserAction.submitOK(); }; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData button.style.cursor = "pointer"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //Disable the button. | |
24 silly fetchPackageMetaData button.setAttribute(correctClass, "button buttonDisabled"); | |
24 silly fetchPackageMetaData button.onclick = null; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData button.style.cursor = "default"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Changes the button CSS class (support for IE6-8). buttonCLS is for additional classes to be added to the button. | |
24 silly fetchPackageMetaData this.setButtonState = function(state, buttonID, buttonCLS) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (!buttonID) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData buttonID = 'UserCheck_OK_Button'; | |
24 silly fetchPackageMetaData buttonCLS = ''; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var button = document.getElementById(buttonID); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(button.getAttribute(correctClass).indexOf("Disabled") == -1) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //The button is not disabled. | |
24 silly fetchPackageMetaData button.setAttribute(correctClass, "button button" + state + " " + buttonCLS); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleUserCheckIncidentData = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::handleUserCheckIncidentData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.incidentObject = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData var Languages = this.incidentObject.Languages; | |
24 silly fetchPackageMetaData var UserCheckLogoID = this.incidentObject.UserCheckLogoID; | |
24 silly fetchPackageMetaData var RedirectToAddr = this.incidentObject.RedirectToAddr; | |
24 silly fetchPackageMetaData var AutoRedirect = this.incidentObject.AutoRedirect; | |
24 silly fetchPackageMetaData var ExternalSystemURL = this.incidentObject.ExternalSystemURL; | |
24 silly fetchPackageMetaData var Action = this.incidentObject.Action; | |
24 silly fetchPackageMetaData var Variables = this.incidentObject.Variables; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.incidentObject.HasBeenCancelled = false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData setCookie('UserCheck_UserID', this.incidentObject.UserID, 31556926); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (Variables['product'] != 'Threat Extraction') | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(AutoRedirect == true && RedirectToAddr != "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //We have an address and auto redirect is true so redirect to that URL. | |
24 silly fetchPackageMetaData // if (RedirectToAddr.indexOf('http://') != 0) | |
24 silly fetchPackageMetaData if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
24 silly fetchPackageMetaData RedirectToAddr = "http://" + RedirectToAddr; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData window.location = RedirectToAddr; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData window.location = "about:blank"; //No reason to redirect in the Thin Portal | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (Action == "SCRUB-SUCCESS") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // in scrub success page, if not mobile or thin, give more space for the list of original files names and info | |
24 silly fetchPackageMetaData if(window.browserDetails.isMobile() === false && window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var content_table = document.getElementById("usercheck_content_table"); | |
24 silly fetchPackageMetaData if (content_table != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData content_table.style.tableLayout="auto"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var message_div = document.getElementById("usercheck_main_div"); | |
24 silly fetchPackageMetaData if (message_div != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData message_div.style.minWidth="auto"; | |
24 silly fetchPackageMetaData message_div.style.maxWidth="700px"; | |
24 silly fetchPackageMetaData message_div.style.whiteSpace="nowrap"; | |
24 silly fetchPackageMetaData message_div.style.wordWrap="normal"; | |
24 silly fetchPackageMetaData message_div.style.overflow="auto"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var requestData = { | |
24 silly fetchPackageMetaData IID: "-1" | |
24 silly fetchPackageMetaData }; | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetScrubFiles"); | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData this.handleScrubbingFiles, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(ExternalSystemURL != "") | |
24 silly fetchPackageMetaData //We have an external system address so redirect to that URL. | |
24 silly fetchPackageMetaData // window.location = ExternalSystemURL + (this.incidentObject.ForwardParams == true ? "?IncidentID=" + UserCheck.DataObj.IID + "&UserID=" + this.incidentObject.UserID : ""); | |
24 silly fetchPackageMetaData if (this.incidentObject.ForwardParams == true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = ExternalSystemURL + "?IncidentID=" + UserCheck.DataObj.IID + "&UserID=" + this.incidentObject.UserID; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = ExternalSystemURL; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.prepareLanguageSelection(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(window.self !== window.top) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //We are inside a frame. Display small version of the portal and give link to a full version of the portal in new tab/window. | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var url = '<a href="' + window.location + "&frame=1" + '" target="_blank">'; | |
24 silly fetchPackageMetaData if (Action == "SCRUB-SUCCESS") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData Action = "INFORM"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData url += draw_img_tag(getURL("img/" + Action.toLowerCase() + ".png")) + ' '; | |
24 silly fetchPackageMetaData url += Action == 'BLOCK' ? PORTAL_IS.L10N.L10N_Obj.getStr("UC.BLOCKED_IFRAME") : PORTAL_IS.L10N.L10N_Obj.getStr("UC.INFO_IFRAME"); | |
24 silly fetchPackageMetaData url += '</a>'; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData document.body.innerHTML = url; | |
24 silly fetchPackageMetaData document.body.style.backgroundImage = 'none'; | |
24 silly fetchPackageMetaData document.body.style.textAlign = 'center'; | |
24 silly fetchPackageMetaData document.body.style.verticalAlign = 'text-bottom'; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Decide which footer to display according to the action type (for Block and Limit we display footer without CP logo). | |
24 silly fetchPackageMetaData if(window.isThinPortal === true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var thin_table = document.getElementById('usercheck_thin_table'); | |
24 silly fetchPackageMetaData if(thin_table != null && Action != 'BLOCK' && Action != 'LIMIT') | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData thin_table.setAttribute(correctClass, "usercheck_main_mobile_background_class with_logo"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var logo_footer = document.getElementById('footer_table_logo'); | |
24 silly fetchPackageMetaData if(logo_footer != null && Action != 'BLOCK' && Action != 'LIMIT') | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData logo_footer.setAttribute(correctClass, "usercheck_footer_table_class footer_logo"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData g_userID = this.incidentObject.UserID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (Action == "SCRUB-SUCCESS") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData Action = "INFORM"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //Draw incident image according to the incident type | |
24 silly fetchPackageMetaData if(document.getElementById('usercheck_img_div') !== null) | |
24 silly fetchPackageMetaData document.getElementById('usercheck_img_div').innerHTML = draw_img_tag(getURL("img/" + Action.toLowerCase() + ".png")); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(this.incidentObject.IsLogoConfigured) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //The page has a logo defined in the GUI - load it. | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Desktop header. | |
24 silly fetchPackageMetaData var header_right_logo = document.getElementById('usercheck_header_right_logo'); | |
24 silly fetchPackageMetaData if(header_right_logo != null) | |
24 silly fetchPackageMetaData if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7) | |
24 silly fetchPackageMetaData header_right_logo.style.display = "block"; | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData header_right_logo.style.display = "table-cell"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var header_right_empty = document.getElementById('usercheck_header_right_empty'); | |
24 silly fetchPackageMetaData if(header_right_empty != null) | |
24 silly fetchPackageMetaData header_right_empty.style.display = "none"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Mobile header. | |
24 silly fetchPackageMetaData var mobile_header = document.getElementById('header_mobile_div'); | |
24 silly fetchPackageMetaData if(mobile_header != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData mobile_header.style.display = "block"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Company logo. | |
24 silly fetchPackageMetaData var company_logo = document.getElementById('usercheck_company_logo'); | |
24 silly fetchPackageMetaData if(company_logo != null) | |
24 silly fetchPackageMetaData company_logo.src = getURL("images/interactions/" + UserCheckLogoID + ".png"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if(window.isThinPortal === true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //If there is no logo defined, display the default logo in the thin portal. | |
24 silly fetchPackageMetaData var company_logo = document.getElementById('usercheck_company_logo'); | |
24 silly fetchPackageMetaData if(company_logo != null) | |
24 silly fetchPackageMetaData company_logo.src = getURL("img/cp_logo_mobile_thin.png"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Start the timeout manager. | |
24 silly fetchPackageMetaData UserCheck.tools.oTimeoutManager.startTimeoutTimer(this.incidentObject.Expiration - 15, this.handleTimeout); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (UserCheck.DataObj.GetSingleIncidentReview !== undefined && UserCheck.DataObj.GetSingleIncidentReview == 1) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.singleIncident = new SingleIncident(); | |
24 silly fetchPackageMetaData singleIncident.init(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.submitOK = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //This function determines if it is OK to proceed with sending a response if all validation criteria are met. | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If we are in a Block action in thin portal, just redirect to about:blank. | |
24 silly fetchPackageMetaData if (window.isThinPortal === true && window.oUserAction.incidentObject.Action === "BLOCK") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(document.getElementById('UserCheck_Textual_Input') != null) | |
24 silly fetchPackageMetaData //Verify we have the real textarea! | |
24 silly fetchPackageMetaData if(document.getElementById('UserCheck_Textual_Input').value !== undefined) | |
24 silly fetchPackageMetaData //Unfocus the text-area. | |
24 silly fetchPackageMetaData document.getElementById('UserCheck_Textual_Input').blur(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(!window.oUserAction.highlightInput()) | |
24 silly fetchPackageMetaData //There was some user input missing - don't continue. | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var cookie = getCookie('UserCheck_UserID'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var requestData = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IID = "-1"; | |
24 silly fetchPackageMetaData requestData.UserOption = "OK"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.UserID = cookie; | |
24 silly fetchPackageMetaData requestData.IsReasonExist = true; | |
24 silly fetchPackageMetaData if(document.getElementById('UserCheck_Textual_Input') != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var reason = document.getElementById('UserCheck_Textual_Input').value; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If the reason box is not found, there is nothing to enforce. | |
24 silly fetchPackageMetaData if(reason === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData reason = ""; | |
24 silly fetchPackageMetaData requestData.IsReasonExist = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if(window.oUserAction.incidentObject.IsReasonEnforced === true && (reason.length == 0 || reason.length > 400)) | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.Reason = reason; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData requestData.IsReasonExist = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Sometimes the cookie is not written correctly, so used global user. | |
24 silly fetchPackageMetaData if(requestData.UserID == null || requestData.UserID == "") | |
24 silly fetchPackageMetaData requestData.UserID = g_userID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData this.handleUserCheckChoiceData, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.submitCancel = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(window.oUserAction.incidentObject.CancelURL !== undefined && window.oUserAction.incidentObject.CancelURL !== "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = window.oUserAction.incidentObject.CancelURL; | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal == true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData this.init(true); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleUserCheckChoiceData = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData try | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.external.OKButtonClickedResponseReceived('Done handling request'); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData catch(err) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //do nothing, this is probably the fat client | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::handleUserCheckChoiceData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var newViewJSONObj = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var RedirectToAddr = newViewJSONObj.RedirectToAddr; | |
24 silly fetchPackageMetaData if (window.oUserAction.incidentObject.Variables['product'] != 'Threat Extraction') | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(RedirectToAddr != "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var frame = "0"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData frame = UserCheck.DataObj.frame; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(typeof frame === "undefined" || frame == "0" || frame == "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //We have an address so redirect to that URL. | |
24 silly fetchPackageMetaData if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
24 silly fetchPackageMetaData RedirectToAddr = "http://" + RedirectToAddr; | |
24 silly fetchPackageMetaData window.location = RedirectToAddr; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //We have an address so redirect to that URL in the parent frame. | |
24 silly fetchPackageMetaData if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
24 silly fetchPackageMetaData RedirectToAddr = "http://" + RedirectToAddr; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData window.opener.location = RedirectToAddr; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.opener.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData window.close(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var frame = "0"; | |
24 silly fetchPackageMetaData frame = UserCheck.DataObj.frame; | |
24 silly fetchPackageMetaData if(typeof frame === "undefined" || frame == "0" || frame == "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal == true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal == true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.opener.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData window.close(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location.reload(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData this.handleUserReportWrongCategoryData = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::handleUserLogData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleTimeout = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var requestData = { | |
24 silly fetchPackageMetaData IID: "-1" | |
24 silly fetchPackageMetaData }; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("ExtendTimeout"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData window.oUserAction.handleTimeoutExtension, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleTimeoutExtension = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::handleTimeoutExtension"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving UserCheck Timeout Extension data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData var extensionObject = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(extensionObject.ReturnCode == "SUCCESS") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData UserCheck.tools.oTimeoutManager.startTimeoutTimer(extensionObject.Expiration - 15, window.oUserAction.handleTimeout); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var button = document.getElementById('UserCheck_OK_Button'); | |
24 silly fetchPackageMetaData if(button !=null) | |
24 silly fetchPackageMetaData button.style.display = "none"; | |
24 silly fetchPackageMetaData var select = document.getElementById('usercheck_language_selection'); | |
24 silly fetchPackageMetaData if(select != null) | |
24 silly fetchPackageMetaData select.disabled = true; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData showPortalMessage(PORTAL_IS.L10N.L10N_Obj.getStr("TIMEOUT") + " <a href='" + window.oUserAction.incidentObject.RedirectToAddr + "'>" + PORTAL_IS.L10N.L10N_Obj.getStr("RETRY") + "</a>", null, PORTAL_IS.MESSAGE_TYPE.Display, true); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData /* If we are in thin portal, redirect to about:blank | |
24 silly fetchPackageMetaData so that client can catch it and act accordingly. */ | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Prepare for language selection. | |
24 silly fetchPackageMetaData this.prepareLanguageSelection = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var Languages = this.incidentObject.Languages; | |
24 silly fetchPackageMetaData var prevSelectedLanguage = null; | |
24 silly fetchPackageMetaData var userSelected = false; | |
24 silly fetchPackageMetaData if (UserCheck.DataObj.Lang != "" && UserCheck.DataObj.Lang !== undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData prevSelectedLanguage = UserCheck.DataObj.Lang; | |
24 silly fetchPackageMetaData userSelected = true; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (this.incidentObject.PreferredLang != "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData prevSelectedLanguage = this.incidentObject.PreferredLang; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData prevSelectedLanguage = getCookie('UserCheck_Selected_Language'); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData var count = 0; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If there is no cookie, get the browser locale. | |
24 silly fetchPackageMetaData if(prevSelectedLanguage == null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var langArr = {}; | |
24 silly fetchPackageMetaData for(var Language in Languages) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData langArr[Languages[Language].LanguageCode] = true; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData prevSelectedLanguage = PORTAL_IS.L10N.L10N_Obj.selectLanguage(langArr); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(document.getElementById('usercheck_language_selection_div') != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData count = 0; | |
24 silly fetchPackageMetaData for(var Language in Languages) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var select = document.getElementById('usercheck_language_selection'); | |
24 silly fetchPackageMetaData select.options[select.options.length] = new Option(Languages[Language].Language, Language, false, Language === prevSelectedLanguage); | |
24 silly fetchPackageMetaData count++; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //Display language selection only if NOT in thin portal. | |
24 silly fetchPackageMetaData if(count > 1 && window.isThinPortal === undefined) | |
24 silly fetchPackageMetaData document.getElementById('usercheck_language_selection_div').style.display = "block"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData this.handleLanguageChange(true, userSelected); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Handles language change. | |
24 silly fetchPackageMetaData this.handleLanguageChange = function(noReloadLang, userSelected) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var select = document.getElementById('usercheck_language_selection'); | |
24 silly fetchPackageMetaData var selectedLanguage = select.options[select.selectedIndex].value; | |
24 silly fetchPackageMetaData if(noReloadLang === true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //No need to load the language - if it is already loaded. | |
24 silly fetchPackageMetaData this.asyncLanguageChangeCallback(userSelected); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //Reload language strings. | |
24 silly fetchPackageMetaData PORTAL_IS.L10N.L10N_Obj.reloadLanguageTo(selectedLanguage, "en", this.asyncLanguageChangeCallback); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.checkBoxExists = function(adminMessage) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(adminMessage.indexOf("UserCheck_Confirm_Checkbox") != -1) | |
24 silly fetchPackageMetaData return true; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.textareaExists = function(adminMessage) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(adminMessage.indexOf("UserCheck_Textual_Input") != -1) | |
24 silly fetchPackageMetaData return true; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.asyncLanguageChangeCallback = function(userSelected) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (userSelected === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData userSelected = true; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData var select = document.getElementById('usercheck_language_selection'); | |
24 silly fetchPackageMetaData var check = document.getElementById('UserCheck_Confirm_Checkbox'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var selectedLanguage = "Default"; | |
24 silly fetchPackageMetaData if(select != null) | |
24 silly fetchPackageMetaData selectedLanguage = select.options[select.selectedIndex].value; | |
24 silly fetchPackageMetaData var checkBoxValue = check != null ? check.checked : false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Save cookie for the selected language. Only if it is from a User Selection. | |
24 silly fetchPackageMetaData if (userSelected) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData setCookie('UserCheck_Selected_Language', selectedLanguage == "Default" ? "en" : selectedLanguage, 31556926, "/"); | |
24 silly fetchPackageMetaData var cookieVal = getCookie('UserCheck_UserID'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var handleUpdateUserDataResponse = function(xhrStatus, xhrResponse, callback){ | |
24 silly fetchPackageMetaData var newURL = window.location.href; | |
24 silly fetchPackageMetaData //alert("newURL '"+newURL+"'"); | |
24 silly fetchPackageMetaData var langLoc = newURL.indexOf("&Lang="); | |
24 silly fetchPackageMetaData //alert("langLoc '"+langLoc+"'"); | |
24 silly fetchPackageMetaData if (langLoc != -1) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData newURL = newURL.substring(0, langLoc); | |
24 silly fetchPackageMetaData //alert("newURL '"+newURL+"'"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData window.location = newURL; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(getURL("UpdateUserData"), | |
24 silly fetchPackageMetaData "Language="+encodeURIComponent(selectedLanguage) + "&IID="+encodeURIComponent(UserCheck.DataObj.IID)+"&UserID="+cookieVal, | |
24 silly fetchPackageMetaData handleUpdateUserDataResponse, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Keep this value globally for other funcs. | |
24 silly fetchPackageMetaData window.oUserAction.incidentObject.SelectedLanguage = selectedLanguage; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var Languages = window.oUserAction.incidentObject.Languages; | |
24 silly fetchPackageMetaData var TitleText = Languages[selectedLanguage].TitleText; | |
24 silly fetchPackageMetaData var AdminMessage = Languages[selectedLanguage].AdminMessage; | |
24 silly fetchPackageMetaData var CancelMessage = Languages[selectedLanguage].CancelMessage; | |
24 silly fetchPackageMetaData var OKButtonMessage = window.oUserAction.incidentObject.OKButtonMessage[selectedLanguage]; | |
24 silly fetchPackageMetaData var CancelButtonMessage = window.oUserAction.incidentObject.CancelButtonMessage[selectedLanguage]; | |
24 silly fetchPackageMetaData var SendButtonMessage = window.oUserAction.incidentObject.SendButtonMessage[selectedLanguage]; | |
24 silly fetchPackageMetaData var MiddleButtonMessage = window.oUserAction.incidentObject.MiddleButtonMessage[selectedLanguage]; | |
24 silly fetchPackageMetaData var HTTPLearningEnabled = window.oUserAction.incidentObject.HTTPLearningEnabled; | |
24 silly fetchPackageMetaData var PageTitle = Languages[selectedLanguage].PageTitle; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData document.getElementById('usercheck_title_div').innerHTML = TitleText; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(window.oUserAction.incidentObject.HasBeenCancelled === undefined || window.oUserAction.incidentObject.HasBeenCancelled === false) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.oUserAction.incidentObject.IncidentStatus == 0 || window.oUserAction.incidentObject.IncidentStatus == 2 || window.oUserAction.incidentObject.IncidentStatus == 8)//ok or cancel or ok_scrubbing | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (window.oUserAction.incidentObject.IncidentStatus == 3)// sent | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // if http learning is enabled on action succeded show the HTTP_LEARNING message | |
24 silly fetchPackageMetaData if (HTTPLearningEnabled == true && window.oUserAction.incidentObject.RedirectToAddr != "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var usercheck_main_div = document.getElementById('usercheck_main_div') | |
24 silly fetchPackageMetaData if (usercheck_main_div != null) | |
24 silly fetchPackageMetaData usercheck_main_div.innerHTML = "<p>" +PORTAL_IS.L10N.L10N_Obj.getStr("HTTP_LEARNING")+"</p>"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else // an SMTP message | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (window.oUserAction.incidentObject.IncidentStatus == 4)//discarded | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (window.oUserAction.incidentObject.IncidentStatus == 5)//already sent | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (HTTPLearningEnabled == true && window.oUserAction.incidentObject.RedirectToAddr != "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //if approved http and then refreshed the page | |
24 silly fetchPackageMetaData var usercheck_main_div = document.getElementById('usercheck_main_div') | |
24 silly fetchPackageMetaData if (usercheck_main_div != null) | |
24 silly fetchPackageMetaData usercheck_main_div.innerHTML = "<p>" +PORTAL_IS.L10N.L10N_Obj.getStr("HTTP_LEARNING")+"</p>"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
24 silly fetchPackageMetaData var return_to_site_div = document.getElementById('usercheck_return_to_site_div') | |
24 silly fetchPackageMetaData if (return_to_site_div != null) | |
24 silly fetchPackageMetaData return_to_site_div.innerHTML = "<p style='color: #FF5000;font-weight: bold;'>" +PORTAL_IS.L10N.L10N_Obj.getStr("EMAIL_ALREADY_SENT") +"</p>"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (window.oUserAction.incidentObject.IncidentStatus == 6)//already discarded | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
24 silly fetchPackageMetaData var return_to_site_div = document.getElementById('usercheck_return_to_site_div') | |
24 silly fetchPackageMetaData if (return_to_site_div != null) | |
24 silly fetchPackageMetaData return_to_site_div.innerHTML = "<p style='color: #FF5000;font-weight: bold;'>" +PORTAL_IS.L10N.L10N_Obj.getStr("EMAIL_ALREADY_DISCARDED") +"</p>"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = "<p>" + PORTAL_IS.L10N.L10N_Obj.getStr("UNKOWN_INCIDENT_STATUS") + "</p>" + window.oUserAction.incidentObject.IncidentStatus; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var btnDiv = document.getElementById('usercheck_ok_div'); | |
24 silly fetchPackageMetaData if (btnDiv != null) | |
24 silly fetchPackageMetaData btnDiv.innerHTML = OKButtonMessage; | |
24 silly fetchPackageMetaData btnDiv = document.getElementById('usercheck_cancel_div'); | |
24 silly fetchPackageMetaData if (btnDiv != null) | |
24 silly fetchPackageMetaData btnDiv.innerHTML = CancelButtonMessage; | |
24 silly fetchPackageMetaData btnDiv = document.getElementById('usercheck_send_div'); | |
24 silly fetchPackageMetaData // show the send button on SMTP (which is actually the send button) OR show it on inform action (which is actually OK button) | |
24 silly fetchPackageMetaData if (btnDiv != null && (window.oUserAction.incidentObject.RedirectToAddr == "" || window.oUserAction.incidentObject.Action == "INFORM") ) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // alert("setting usercheck_send_div"); | |
24 silly fetchPackageMetaData btnDiv.innerHTML = SendButtonMessage; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData btnDiv = document.getElementById('usercheck_middle_div'); | |
24 silly fetchPackageMetaData if (btnDiv != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // alert("setting discard button div"); | |
24 silly fetchPackageMetaData btnDiv.innerHTML = MiddleButtonMessage; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData var goBackDiv = document.getElementById('usercheck_return_to_site_div'); | |
24 silly fetchPackageMetaData if (goBackDiv) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // show return to site only when its http violation AND if the action is: sent or discarded or already sent or already discarded or cancelled. | |
24 silly fetchPackageMetaData if (window.oUserAction.incidentObject.RedirectToAddr != "" && (window.oUserAction.incidentObject.IncidentStatus == 3 || window.oUserAction.incidentObject.IncidentStatus == 4 || window.oUserAction.incidentObject.IncidentStatus == 5 || window.oUserAction.incidentObject.IncidentStatus == 6 || window.oUserAction.incidentObject.IncidentStatus == 2)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData goBackDiv.innerHTML = '<a href="' + window.oUserAction.incidentObject.RedirectToAddr + '">' + PORTAL_IS.L10N.L10N_Obj.getStr("RETURN_TO_SITE") + '</a>'; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData document.getElementById('usercheck_main_div').innerHTML = CancelMessage; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var page_title = document.getElementById('usercheck_page_title'); | |
24 silly fetchPackageMetaData if(page_title != null) | |
24 silly fetchPackageMetaData page_title.innerHTML = PageTitle; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var span = document.getElementById('UserCheck_OK_Button_span'); | |
24 silly fetchPackageMetaData if(span != null) | |
24 silly fetchPackageMetaData span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.OK'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData span = document.getElementById('UserCheck_Cancel_Button_span'); | |
24 silly fetchPackageMetaData if(span != null) | |
24 silly fetchPackageMetaData span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.CANCEL'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData span = document.getElementById('UserCheck_Send_Button_span'); | |
24 silly fetchPackageMetaData if(span != null) | |
24 silly fetchPackageMetaData span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.SEND'); | |
24 silly fetchPackageMetaData span = document.getElementById('UserCheck_Middle_Button_span'); | |
24 silly fetchPackageMetaData if(span != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (window.oUserAction.incidentObject.RedirectToAddr == "") | |
24 silly fetchPackageMetaData span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.DISCARD'); | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr("BUTTON.APPROVE"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var reportLink = document.getElementById('UserCheck_Wrong_Category'); | |
24 silly fetchPackageMetaData if(reportLink != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData reportLink.setAttribute(correctClass, "usercheck_url_class"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData reportLink.onclick = function(e) { window.oUserAction.sendReport(); } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Clear the error message when switching language. | |
24 silly fetchPackageMetaData var errorElement = document.getElementById('usercheck_error_div'); | |
24 silly fetchPackageMetaData if(errorElement != null) | |
24 silly fetchPackageMetaData errorElement.innerHTML = " "; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Keep TextArea default text to disallow it as input. | |
24 silly fetchPackageMetaData var textarea_element = null; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(window.oUserAction.textareaExists(AdminMessage)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
24 silly fetchPackageMetaData //If the textarea is an incorrect element or length is correct, check passes. | |
24 silly fetchPackageMetaData if(textarea_element.value === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //This element is not really our text area so we don't need it. | |
24 silly fetchPackageMetaData textarea_element = null; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(textarea_element != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.oUserAction.textAreaText = textarea_element.value; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class usercheck_textual_input_class_required"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData textarea_element.onfocus = function() { window.oUserAction.clearRequiredInput(); }; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //disable the approve button only on PortalMaindlp. on thin client approve button should always be enabled | |
24 silly fetchPackageMetaData if (window.oUserAction.incidentObject.RedirectToAddr != "" && window.isThinPortal != true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.oUserActionCommon.DlpHttpLearning(AdminMessage,HTTPLearningEnabled); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData // hiding the cancel button on infom on dlp only | |
24 silly fetchPackageMetaData window.oUserActionCommon.DlpHideCancelBtn(window.oUserAction.incidentObject.Action); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Sends report for wrong category. | |
24 silly fetchPackageMetaData this.sendReport = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var Variables = window.oUserAction.incidentObject.Variables; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var resource = Variables['resource'] === undefined ? "" : Variables['resource']; | |
24 silly fetchPackageMetaData var hmac = Variables['resource_hmac'] === undefined ? "" : Variables['resource_hmac']; | |
24 silly fetchPackageMetaData var version = Variables['version']; | |
24 silly fetchPackageMetaData var product = Variables['product']; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Get the application name. If this variable has been modified (added application icon for example), take the original. | |
24 silly fetchPackageMetaData var appname = Variables['application_name_orig']; | |
24 silly fetchPackageMetaData var malwareID = Variables['application_id']; | |
24 silly fetchPackageMetaData if(appname === undefined) | |
24 silly fetchPackageMetaData appname = Variables['application_name']; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var base64UrlEncode = function(input) { return $.base64Encode(input).replace(/\+/g, '-').replace(/\//g, '_').replace(/\=/g, '') }; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Encode to base64 URL form spec. | |
24 silly fetchPackageMetaData appname = base64UrlEncode(appname); | |
24 silly fetchPackageMetaData resource = base64UrlEncode(resource); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //URL of the external URL | |
24 silly fetchPackageMetaData var url = window.location.protocol + "//cws.checkpoint.com/MISCAT/miscat/1.0?resource=" + resource + "&hmac=" + hmac + "&appname=" + appname + "&version=" + version + "&product=" + product + "&malwareID=" + malwareID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Display a portal messge indicating the action was successful. On mobile devices we use the built-in message display. | |
24 silly fetchPackageMetaData if(window.browserDetails.isMobile()) | |
24 silly fetchPackageMetaData alert(PORTAL_IS.L10N.L10N_Obj.getStr("REPORT_SUCCESS")); | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData showPortalMessage('<table><tr><td>' + draw_img_tag_span(getURL("images/confirmation.png")) + ' </td><td>' + PORTAL_IS.L10N.L10N_Obj.getStr("REPORT_SUCCESS") + '</td></tr></table>', null, PORTAL_IS.MESSAGE_TYPE.Confirmation, true, false); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var img = new Image(); | |
24 silly fetchPackageMetaData img.src = url; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var reportLink = document.getElementById('UserCheck_Wrong_Category'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Disable the link. | |
24 silly fetchPackageMetaData reportLink.setAttribute(correctClass, "usercheck_url_class usercheck_disabled_url_class"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //send log on wrong category | |
24 silly fetchPackageMetaData var cookie = getCookie('UserCheck_UserID'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var requestData = {}; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IID = "-1"; | |
24 silly fetchPackageMetaData requestData.UserOption = "LOG-WRONG-CATEGORY"; | |
24 silly fetchPackageMetaData requestData.UserID = cookie; | |
24 silly fetchPackageMetaData requestData.IsReasonExist = false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Sometimes the cookie is not written correctly, so used global user. | |
24 silly fetchPackageMetaData if(requestData.UserID == null || requestData.UserID == "") | |
24 silly fetchPackageMetaData requestData.UserID = g_userID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData this.handleUserReportWrongCategoryData, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Nothing should happen on click from now on. | |
24 silly fetchPackageMetaData reportLink.onclick = function() { }; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleReportTimeout = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var elem = document.getElementById('testID'); | |
24 silly fetchPackageMetaData document.getElementsByTagName('head')[0].removeChild(elem); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //Verifies the input of the user, including checkbox and textarea. | |
24 silly fetchPackageMetaData this.highlightInput = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var checkbox_element = null; | |
24 silly fetchPackageMetaData var textarea_element = null; | |
24 silly fetchPackageMetaData var checkbox_ready = false; | |
24 silly fetchPackageMetaData var textarea_ready = false; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var AdminMessage = window.oUserAction.incidentObject.Languages[window.oUserAction.incidentObject.SelectedLanguage].AdminMessage; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If the checkbox exists (and it is a correct element), its value will determine the button status. | |
24 silly fetchPackageMetaData if(window.oUserAction.incidentObject.IsCheckBoxEnforced == true && window.oUserAction.checkBoxExists(AdminMessage) == true && document.getElementById('UserCheck_Confirm_Checkbox').checked !== undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData checkbox_element = document.getElementById('UserCheck_Confirm_Checkbox'); | |
24 silly fetchPackageMetaData checkbox_ready = checkbox_element.checked; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData checkbox_ready = true; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If the reason textbox exists and is enforced, its value will determine the button status. | |
24 silly fetchPackageMetaData if(window.oUserAction.incidentObject.IsReasonEnforced === true && window.oUserAction.textareaExists(AdminMessage)) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If the textarea is an incorrect element or length is correct, check passes. | |
24 silly fetchPackageMetaData if(textarea_element.value === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData textarea_ready = true; | |
24 silly fetchPackageMetaData //This element is not really our text area so we don't need it. | |
24 silly fetchPackageMetaData textarea_element = null; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (textarea_element.value.length > 0 && textarea_element.value.length <= 400 && textarea_element.value != PORTAL_IS.L10N.L10N_Obj.getStr("ENTER_TEXT") && textarea_element.value != window.oUserAction.textAreaText) | |
24 silly fetchPackageMetaData textarea_ready = true; | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData textarea_ready = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData textarea_ready = true; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var all_ready = checkbox_ready === true && textarea_ready === true; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData var elememt_to_scroll = null; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(checkbox_element != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData checkbox_element.parentNode.parentNode.parentNode.parentNode.setAttribute(correctClass, (checkbox_ready ? "usercheck_red_no_highlight" : "usercheck_red_highlight" )); | |
24 silly fetchPackageMetaData elememt_to_scroll = checkbox_ready ? elememt_to_scroll : checkbox_element.parentNode.parentNode.parentNode.parentNode; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(textarea_element != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class " + (textarea_ready ? "usercheck_red_no_highlight" : "usercheck_red_highlight usercheck_textual_input_class_required" )); | |
24 silly fetchPackageMetaData elememt_to_scroll = textarea_ready ? elememt_to_scroll : textarea_element; | |
24 silly fetchPackageMetaData if(!textarea_ready) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(window.oUserAction.textAreaText === "" || textarea_element.value !== window.oUserAction.textAreaText) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(window.oUserAction.textAreaText != "") | |
24 silly fetchPackageMetaData textarea_element.value = window.oUserAction.textAreaText; | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData textarea_element.value = PORTAL_IS.L10N.L10N_Obj.getStr("ENTER_TEXT"); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData textarea_element.onfocus = function() { window.oUserAction.clearRequiredInput(); }; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(!textarea_ready && !checkbox_ready && checkbox_element!=null && textarea_element!=null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(checkbox_element.parentNode.parentNode.parentNode.parentNode.offsetTop > textarea_element.offsetTop) | |
24 silly fetchPackageMetaData elememt_to_scroll = checkbox_element; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(elememt_to_scroll!=null){ | |
24 silly fetchPackageMetaData elememt_to_scroll.scrollIntoView(false); | |
24 silly fetchPackageMetaData var scrollableDiv = document.getElementById("usercheck_scrollable_div"); | |
24 silly fetchPackageMetaData if (scrollableDiv !== null) | |
24 silly fetchPackageMetaData scrollableDiv.scrollLeft = 0; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var errorElement = document.getElementById('usercheck_error_div'); | |
24 silly fetchPackageMetaData if(errorElement != null) | |
24 silly fetchPackageMetaData errorElement.innerHTML = all_ready ? "" : "<br/><span style='color: #FF0000;'>* " + PORTAL_IS.L10N.L10N_Obj.getStr("REQUIRED_FIELDS") + "</span>"; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData return all_ready; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.clearRequiredInput = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData textarea_element.value = ""; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var correctClass = window.oUserAction.getCorrectClass(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(textarea_element.getAttribute(correctClass).indexOf("usercheck_red_highlight") !== -1) | |
24 silly fetchPackageMetaData textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class usercheck_red_highlight"); | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData textarea_element.onfocus = function() { }; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.sendMail = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::sendMail"); | |
24 silly fetchPackageMetaData this.last_action = 'sent'; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if(!window.oUserAction.highlightInput()) | |
24 silly fetchPackageMetaData //There was some user input missing - don't continue. | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var reason = ""; | |
24 silly fetchPackageMetaData if(document.getElementById('UserCheck_Textual_Input') != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData reason = document.getElementById('UserCheck_Textual_Input').value; | |
24 silly fetchPackageMetaData //If the reason box is not found, there is nothing to enforce. | |
24 silly fetchPackageMetaData if(reason === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData reason = ""; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sendMailCallback = new Callback(); | |
24 silly fetchPackageMetaData sendMailCallback.methodReference = this.handleConfirmationData; | |
24 silly fetchPackageMetaData sendMailCallback.thisArgument = this; | |
24 silly fetchPackageMetaData sendMailCallback.args.push(new Callback()); | |
24 silly fetchPackageMetaData PORTAL_IS.AJAX_MGR.sendAsyncReq( getURL("EmailSend"), | |
24 silly fetchPackageMetaData "mailId="+encodeURIComponent(UserCheck.DataObj.IID)+ | |
24 silly fetchPackageMetaData "&justification="+encodeURIComponent(reason)+"&action=DLP-CHOICE-ACTION-SEND", | |
24 silly fetchPackageMetaData sendMailCallback, | |
24 silly fetchPackageMetaData null, | |
24 silly fetchPackageMetaData null, | |
24 silly fetchPackageMetaData "Sending email failed."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.discardMail = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::deleteMail"); | |
24 silly fetchPackageMetaData this.last_action = 'delete'; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sendMailCallback = new Callback(); | |
24 silly fetchPackageMetaData sendMailCallback.methodReference = this.handleConfirmationData; | |
24 silly fetchPackageMetaData sendMailCallback.thisArgument = this; | |
24 silly fetchPackageMetaData sendMailCallback.args.push(new Callback()); | |
24 silly fetchPackageMetaData PORTAL_IS.AJAX_MGR.sendAsyncReq( getURL("EmailSend"), | |
24 silly fetchPackageMetaData "mailId="+encodeURIComponent(UserCheck.DataObj.IID)+ | |
24 silly fetchPackageMetaData "&justification="+encodeURIComponent("")+"&action=DLP-CHOICE-ACTION-DISCARD", | |
24 silly fetchPackageMetaData sendMailCallback, | |
24 silly fetchPackageMetaData null, | |
24 silly fetchPackageMetaData null, | |
24 silly fetchPackageMetaData "Sending email failed."); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleConfirmationData = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out("UserAction::handleConfirmationData "); | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData // TODO: Handle error. | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving Single Incident Review Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData var newViewJSONObj = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData var message = newViewJSONObj.message; | |
24 silly fetchPackageMetaData var lastChanged = newViewJSONObj.lastChanged; | |
24 silly fetchPackageMetaData var succeeded = newViewJSONObj.succeeded; | |
24 silly fetchPackageMetaData if (lastChanged != -1 && lastChanged != 0) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData //message += " "; | |
24 silly fetchPackageMetaData //message += convertToGmt(lastChanged); | |
24 silly fetchPackageMetaData //this.emailData.date = convertToGmt(lastChanged); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //@@NA add test if this is from Thin Portal and only then redirect to about:blank | |
24 silly fetchPackageMetaData // window.location = "about:blank"; | |
24 silly fetchPackageMetaData if (succeeded) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var cookie = getCookie('UserCheck_UserID'); | |
24 silly fetchPackageMetaData var requestData = {}; | |
24 silly fetchPackageMetaData requestData.IID = "-1"; | |
24 silly fetchPackageMetaData requestData.UserID = cookie; | |
24 silly fetchPackageMetaData requestData.IsReasonExist = true; | |
24 silly fetchPackageMetaData requestData.Reason = ""; | |
24 silly fetchPackageMetaData requestData.UserOption = "SEND"; | |
24 silly fetchPackageMetaData if (newViewJSONObj.action == "DLP-CHOICE-ACTION-DISCARD") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData requestData.UserOption = "DISCARD"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (newViewJSONObj.action === undefined || newViewJSONObj.action != "DLP-CHOICE-ACTION-SEND") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData requestData.IsReasonExist = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(document.getElementById('UserCheck_Textual_Input') != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var reason = document.getElementById('UserCheck_Textual_Input').value; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData //If the reason box is not found, there is nothing to enforce. | |
24 silly fetchPackageMetaData if(reason === undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData reason = ""; | |
24 silly fetchPackageMetaData requestData.IsReasonExist = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if(window.oUserAction.incidentObject.IsReasonEnforced === true && (reason.length == 0 || reason.length > 400)) | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData requestData.Reason = reason; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData requestData.IsReasonExist = false; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData //Sometimes the cookie is not written correctly, so used global user. | |
24 silly fetchPackageMetaData if(requestData.UserID == null || requestData.UserID == "") | |
24 silly fetchPackageMetaData requestData.UserID = g_userID; | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData this.handleUserCheckChoiceData, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.goToBlank = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData window.location = "about:blank"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.ApproveHttp = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData this.sendMail(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.createScrubbingLinks = function(attachments, isExtended) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var scrub_files_out = "<ul style=\"list-style-type: none;padding: 0;\">"; | |
24 silly fetchPackageMetaData for (var i = 0;i<attachments.length;i++) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (attachments[i].fileStatus == "FILE-STATUS-APPROVED-BY-TE" || attachments[i].fileStatus == "FILE-STATUS-AVAILABLE" || attachments[i].fileStatus == "FILE-STATUS-AVAILABLE-SUSPICIOUS") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var image = "images/confirmation.png"; | |
24 silly fetchPackageMetaData var comment = ""; | |
24 silly fetchPackageMetaData var toolTip = "Click to download"; | |
24 silly fetchPackageMetaData var removedParts = attachments[i].removedParts; | |
24 silly fetchPackageMetaData if (isExtended == true) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if(removedParts != "") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData removedParts = removedParts.replace(/\n/g,", "); | |
24 silly fetchPackageMetaData comment = " contains " + removedParts; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData comment = PORTAL_IS.L10N.L10N_Obj.getStr(attachments[i].scrubResult); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData scrub_files_out += "<li title=\"" + toolTip + "\"><img src=\"" + image + "\" width=\"20\" height=\"20\"/> " + "<a href=\"ScrubGetFile?IID="+UserCheck.DataObj.IID+"&fileID="+attachments[i].fileId+"\" TARGET=\"_blank\"><span style=\"font-weight:bold\">" + attachments[i].fileName + "</span></a> <span style=\"color:Red;font-size:80%\">" + comment + "</span></li>" | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var description = ""; | |
24 silly fetchPackageMetaData var img = ""; | |
24 silly fetchPackageMetaData var toolTip = ""; | |
24 silly fetchPackageMetaData if (attachments[i].fileStatus == "FILE-STATUS-WAITING-FOR-TE") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData g_refreshFiles = true; | |
24 silly fetchPackageMetaData description = "scanning..."; | |
24 silly fetchPackageMetaData img = "img/loader.gif"; | |
24 silly fetchPackageMetaData toolTip = "Please wait while file is being scanned"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (attachments[i].fileStatus == "FILE-STATUS-BLOCKED-BY-TE") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData description = "blocked - file is malicious"; | |
24 silly fetchPackageMetaData img = "img/block.png"; | |
24 silly fetchPackageMetaData toolTip = "File is malicious - blocked for download"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else if (attachments[i].fileStatus == "FILE-STATUS-BLOCKED-BY-POLICY") | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData description = "blocked according to company policy"; | |
24 silly fetchPackageMetaData img = "img/block.png"; | |
24 silly fetchPackageMetaData toolTip = "File is blocked for download according to company policy"; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData scrub_files_out += "<li title=\"" + toolTip + "\"><img src=\"" + img + "\" width=\"20\" height=\"20\"/> " + attachments[i].fileName + " <span style=\"color:LightSteelBlue\">(" + description + ")</span></li>" | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData scrub_files_out += "</ul><div id=\"refresh_timer_div\"></div>"; | |
24 silly fetchPackageMetaData return scrub_files_out; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.handleScrubbingFiles = function(xhrStatus, xhrResponse, callback) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (callback == undefined) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData callback = new Callback(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (xhrStatus != 200) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData return; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.scrubbingResponse = JSON.parse(xhrResponse); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var attachments = []; | |
24 silly fetchPackageMetaData if( Object.prototype.toString.call( this.scrubbingResponse.data.attachments ) != '[object Array]' ) { | |
24 silly fetchPackageMetaData attachments[0] = this.scrubbingResponse.data.attachments; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData attachments = this.scrubbingResponse.data.attachments; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData g_refreshFiles = false; | |
24 silly fetchPackageMetaData var scrub_links_simple = document.getElementById('links_simple'); | |
24 silly fetchPackageMetaData if (scrub_links_simple != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (scrub_links_simple.hasChildNodes()) | |
24 silly fetchPackageMetaData scrub_links_simple.removeChild(scrub_links_simple.childNodes[0]); | |
24 silly fetchPackageMetaData var tmp = document.createElement("div"); | |
24 silly fetchPackageMetaData tmp.innerHTML = window.oUserAction.createScrubbingLinks(attachments, false); | |
24 silly fetchPackageMetaData scrub_links_simple.appendChild(tmp); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var scrub_links_extended = document.getElementById('links_extended'); | |
24 silly fetchPackageMetaData if (scrub_links_extended != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if (scrub_links_extended.hasChildNodes()) | |
24 silly fetchPackageMetaData scrub_links_extended.removeChild(scrub_links_extended.childNodes[0]); | |
24 silly fetchPackageMetaData var tmp = document.createElement("div"); | |
24 silly fetchPackageMetaData tmp.innerHTML = window.oUserAction.createScrubbingLinks(attachments, true); | |
24 silly fetchPackageMetaData scrub_links_extended.appendChild(tmp); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData var scrub_wait_massage = document.getElementById('scrub_wait_message'); | |
24 silly fetchPackageMetaData if (scrub_wait_massage != null) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData scrub_wait_massage.style.display = 'none'; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if (g_refreshFiles) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData UserCheck.tools.oTimeoutManager.startTimeoutTimer(30, window.oUserAction.refreshScrubbingFiles); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData callback.call(); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.refreshScrubbingFiles = function() | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var requestData = { | |
24 silly fetchPackageMetaData IID: "-1" | |
24 silly fetchPackageMetaData }; | |
24 silly fetchPackageMetaData requestData.IID = UserCheck.DataObj.IID; | |
24 silly fetchPackageMetaData var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetScrubFiles"); | |
24 silly fetchPackageMetaData sendAsynchronousRequest(sAbsoluteURL, | |
24 silly fetchPackageMetaData flattenObject(requestData), | |
24 silly fetchPackageMetaData window.oUserAction.handleScrubbingFiles, | |
24 silly fetchPackageMetaData this, | |
24 silly fetchPackageMetaData [new Callback()]); | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData this.showOrHideRemovedPartsfromFiles = function(FileIndex) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData var infoimg_element = document.getElementById('infoimg_' + FileIndex); | |
24 silly fetchPackageMetaData var removed_parts_element = document.getElementById('removed_parts_' + FileIndex); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData if ( infoimg_element != null && removed_parts_element != null ) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData if( removed_parts_element.style.display === "none" ) | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData infoimg_element.style.display = 'none'; | |
24 silly fetchPackageMetaData removed_parts_element.style.display = 'inline'; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData else | |
24 silly fetchPackageMetaData { | |
24 silly fetchPackageMetaData infoimg_element.style.display = "inline"; | |
24 silly fetchPackageMetaData removed_parts_element.style.display = 'none'; | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData } | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData } //END: window.UserAction = function() | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData window.oUserAction = new UserAction(); | |
24 silly fetchPackageMetaData oUserAction.init(); | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </script> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData </html> | |
24 silly fetchPackageMetaData | |
24 silly fetchPackageMetaData at Object.parse (native) | |
24 silly fetchPackageMetaData at CachingRegistryClient.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:237:23) | |
24 silly fetchPackageMetaData at Request._callback (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:210:14) | |
24 silly fetchPackageMetaData at Request.self.callback (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:187:22) | |
24 silly fetchPackageMetaData at emitTwo (events.js:106:13) | |
24 silly fetchPackageMetaData at Request.emit (events.js:191:7) | |
24 silly fetchPackageMetaData at Request.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:1048:10) | |
24 silly fetchPackageMetaData at emitOne (events.js:96:13) | |
24 silly fetchPackageMetaData at Request.emit (events.js:188:7) | |
24 silly fetchPackageMetaData at IncomingMessage.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:969:12) | |
25 silly rollbackFailedOptional Starting | |
26 silly rollbackFailedOptional Finishing | |
27 silly runTopLevelLifecycles Finishing | |
28 silly install printInstalled | |
29 verbose stack SyntaxError: Unexpected token < in JSON at position 0 | |
29 verbose stack <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | |
29 verbose stack | |
29 verbose stack <html> | |
29 verbose stack <head> | |
29 verbose stack <meta name="robots" content="noindex,nofollow" /> | |
29 verbose stack <meta content="yes" name="apple-mobile-web-app-capable" /> | |
29 verbose stack <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> | |
29 verbose stack | |
29 verbose stack <link rel="icon" type="image/vnd.microsoft.icon" href="img/favicon.ico"/> <link rel="shortcut icon" type="image/vnd.microsoft.icon" href="img/favicon.ico"/> | |
29 verbose stack <link id="dynamicCSS" rel="stylesheet" type="text/css" href="/UserCheck/css/Blob_dynamic_css" /> | |
29 verbose stack <link id="staticCSS" rel="stylesheet" type="text/css" href="/UserCheck/css/Blob_static.css" /> | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack <script type="text/javascript"> | |
29 verbose stack //Create a dynamic element to allow sending of the document mode of IE. | |
29 verbose stack //This way we can notify PHP that it can display modern content instead of classic, despite the browser's reporting of being IE7. | |
29 verbose stack var headID = document.getElementsByTagName("head")[0]; | |
29 verbose stack var cssNode = document.createElement('link'); | |
29 verbose stack cssNode.type = 'text/css'; | |
29 verbose stack cssNode.rel = 'stylesheet'; | |
29 verbose stack cssNode.href = "/UserCheck/css/UserCheckCSS" + (document.documentMode !== undefined ? "?documentMode=" + document.documentMode : ""); | |
29 verbose stack headID.appendChild(cssNode); | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack /* | |
29 verbose stack ======================================================================================================================== | |
29 verbose stack PORTAL IS - ESSENTIALS INCLUSION - START | |
29 verbose stack ________________________________________________________________________________________________________________________ | |
29 verbose stack */ | |
29 verbose stack // Set global PORTAL_IS namespace. | |
29 verbose stack window.PORTAL_IS = {}; | |
29 verbose stack | |
29 verbose stack // Set namespace. | |
29 verbose stack PORTAL_IS.CONF = {}; | |
29 verbose stack | |
29 verbose stack PORTAL_IS.CONF.AJAX_REQ_TIMEOUT = 15000; | |
29 verbose stack | |
29 verbose stack // These properties describes the external references of the portal. | |
29 verbose stack PORTAL_IS.CONF.MULTI_PORTALS = {}; | |
29 verbose stack PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_PATH = ""; | |
29 verbose stack PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_PORT = 443; | |
29 verbose stack PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_HOST = "192.168.0.0"; | |
29 verbose stack PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_SCHEME = "https"; | |
29 verbose stack PORTAL_IS.CONF.MULTI_PORTALS.XSRF_TOKEN = ""; | |
29 verbose stack | |
29 verbose stack // The current web application name. | |
29 verbose stack PORTAL_IS.CONF.WEBAPP_NAME = "UserCheck"; | |
29 verbose stack | |
29 verbose stack // Debug configurations | |
29 verbose stack PORTAL_IS.CONF.MAX_STACK_SIZE = 1000; | |
29 verbose stack PORTAL_IS.CONF.QUIET_MODE = "on".toLowerCase() == "on"; | |
29 verbose stack PORTAL_IS.CONF.DEBUG_LEVEL = 0; | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // Set namespace. | |
29 verbose stack window.PORTAL_IS.L10N = {} | |
29 verbose stack | |
29 verbose stack // Localization object. | |
29 verbose stack //============================================================================================= | |
29 verbose stack function __L10N() | |
29 verbose stack { | |
29 verbose stack this.strings = new Array(); | |
29 verbose stack this.browserLangs = new Array(); | |
29 verbose stack | |
29 verbose stack this.init = function() | |
29 verbose stack { | |
29 verbose stack var obj = {"UC_TITLE":"Check Point UserCheck","UC_TITLE_MOBILE_DLP":"Check Point UserCheck Mobile DLP","BUTTON.OK":"OK","BUTTON.CANCEL":"Cancel","BUTTON.SEND":"Send","BUTTON.DISCARD":"Discard","BUTTON.APPROVE":"Approve","WRONG_ID":"This notification page has expired. You can safely close the page or ","TIMEOUT":"This notification page has expired. You can safely close the page or ","RETRY":"reload the original page.","REPORT_SUCCESS":"Report was sent successfully.","REPORT_ERROR":"An error occured while sending the report.","REQUIRED_FIELDS":"Required fields","ENTER_TEXT":"Enter text","RETURN_TO_SITE":"Return to site","UC.BLOCKED_IFRAME":"Learn more...","UC.INFO_IFRAME":"Click to resolve...","PLEASE_WAIT":"Please wait . . .","NO_SCRIPT":"This portal requires browser which support JavaScript.<br>Please make sure that you are using an updated browser and that JavaScript is enabled.","MSGBOX_TITLE_CONFIRMATION":"Confirmation","MSGBOX_TITLE_JUSTIFICATION":"Justification","MSGBOX_TITLE_APPROVER":"Approver","MSGBOX_TITLE_WARNING":"Warning","MSGBOX_TITLE_ATTENTION":"Attention","MSGBOX_TITLE_ERROR":"Error","MSGBOX_TITLE_REPORT_ERROR":"Report an error","MSGBOX_TITLE_EXTEND_EXPIRATION":"Extend expiration date","DEFAULT_GENERIC_CLIENT_ERROR":"An unexpected error has occurred.\nYou may still be able to continue working normally.\nPlease retry accessing the web page in a short while.\n\n","DEFAULT_GENERIC_TIMEOUT_CLIENT_ERROR":"You may not access this page, or this page has expired.\nPlease sign in.","LOG_REFERENCE_ID":"Log reference id: ","ERROR.LINK.SEND_ERROR_REPORT":"Send error report","ERROR.LINK.IM_HAVING_PROBLEMS":"I am having problems with this Portal.","CHECKPOINT_COPY_RIGHTS":"©2011 Check Point Software Technologies Ltd.","EMAIL_SENT":"The email has been sent","EMAIL_DISCARDED":"The email has been discarded","EMAIL_ALREADY_SENT":"The email has already been sent","EMAIL_ALREADY_DISCARDED":"The email has already been discarded","UNKOWN_INCIDENT_STATUS":"The incident status is unkown","REVIEW_TEXT":"Review issue in portal","MAIL.ITEM.ATTACHMENTS":"Attachments","HTTP_LEARNING":"To complete the operation, <b>please return to site and resend the information<\/b>, thanks.","HTTP_LEARNING_ERROR_MSG":"Sending the message cannot be approved,<\/br> please contact your system administrator.","HTTP_LEARNING_ERROR_TOOLTIP":"Sending the message cannot be approved, please contact your system administrator.","CP_SCRUB_WAIT_MESSAGE":"Please wait while loading files...","CP_SCRUB_RESULT_SUCCESS":"","CP_SCRUB_RESULT_FAILURE":"File structure may be corrupted","CP_SCRUB_RESULT_TIMEOUT":"","CP_SCRUB_RESULT_UNSUPPORTED_FILE":"File format is not supported","CP_SCRUB_RESULT_NOT_SCRUBBED":"","CP_SCRUB_RESULT_INTERNAL_ERROR":"","CP_SCRUB_RESULT_NO_VALID_CONTRACT":"","CP_SCRUB_RESULT_SKIPPED_BY_TE_CONFIDENCE":"","CP_SCRUB_RESULT_OUT_OF_MEMORY":"","CP_SCRUB_RESULT_DOCSEC_FILE":"File encrypted using Checkpoint's Document Security","CP_SCRUB_RESULT_ENCRYPTED_FILE":"contains encrypted data","CP_SCRUB_RESULT_SKIPPED_BY_SCRIPT":"","CP_SCRUB_RESULT_DISK_LIMIT_REACHED":""}; | |
29 verbose stack | |
29 verbose stack for(val in obj) | |
29 verbose stack this.strings[val] = obj[val]; | |
29 verbose stack | |
29 verbose stack obj = ["en"]; | |
29 verbose stack | |
29 verbose stack for(val in obj) | |
29 verbose stack { | |
29 verbose stack this.browserLangs[val] = obj[val].split(';')[0]; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.getStr = function(stringId) | |
29 verbose stack { | |
29 verbose stack return this.strings[stringId]; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.selectLanguage = function(languageArray) | |
29 verbose stack { | |
29 verbose stack for(lang in this.browserLangs) | |
29 verbose stack { | |
29 verbose stack if(languageArray[this.browserLangs[lang]] === true) | |
29 verbose stack return this.browserLangs[lang]; | |
29 verbose stack | |
29 verbose stack if(languageArray[this.browserLangs[lang].substring(0, 2)] === true) | |
29 verbose stack return this.browserLangs[lang].substring(0, 2); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack //If nothing succeeded, return the default. | |
29 verbose stack return "en"; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.reloadLanguageTo = function(lang, fallbackLang, callback) | |
29 verbose stack { | |
29 verbose stack var requestData = {}; | |
29 verbose stack | |
29 verbose stack requestData.lang = lang; | |
29 verbose stack requestData.fallbackLang = fallbackLang; | |
29 verbose stack | |
29 verbose stack var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetTranslationData"); | |
29 verbose stack | |
29 verbose stack sendAsynchronousRequest(sAbsoluteURL, | |
29 verbose stack flattenObject(requestData), | |
29 verbose stack this.asyncReloadLangHandler, | |
29 verbose stack this, | |
29 verbose stack [callback]); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.asyncReloadLangHandler = function(xhrStatus, xhrResponse, callback) | |
29 verbose stack { | |
29 verbose stack if (xhrStatus != 200) | |
29 verbose stack { | |
29 verbose stack DEBUG.out('Retreiving translation data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var obj = JSON.parse(xhrResponse); | |
29 verbose stack this.strings = null; //Ensure removing of old values. | |
29 verbose stack this.strings = new Array(); | |
29 verbose stack | |
29 verbose stack for(val in obj) | |
29 verbose stack this.strings[val] = obj[val]; | |
29 verbose stack | |
29 verbose stack callback(); | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack //Localization object. | |
29 verbose stack L10N_Obj = new __L10N(); | |
29 verbose stack L10N_Obj.init(); | |
29 verbose stack PORTAL_IS.L10N.L10N_Obj = L10N_Obj; | |
29 verbose stack | |
29 verbose stack /* | |
29 verbose stack ________________________________________________________________________________________________________________________ | |
29 verbose stack | |
29 verbose stack PORTAL IS - ESSENTIALS INCLUSION - END | |
29 verbose stack ======================================================================================================================== | |
29 verbose stack */ | |
29 verbose stack var noJSCrypto = "true"; | |
29 verbose stack </script> | |
29 verbose stack <script type="text/javascript" src="js/Blob.js"></script> | |
29 verbose stack <script type="text/javascript"> | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // Create namespace | |
29 verbose stack window.UserCheck = {}; | |
29 verbose stack window.UserCheck.tools = {}; | |
29 verbose stack | |
29 verbose stack // ======================================================================================= | |
29 verbose stack function parseSender(value) | |
29 verbose stack { | |
29 verbose stack return value.address; | |
29 verbose stack } | |
29 verbose stack // ======================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // ======================================================================================= | |
29 verbose stack // Render recipient list from and array. | |
29 verbose stack // String[] recipientsArr - Array of recipients. | |
29 verbose stack // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
29 verbose stack // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
29 verbose stack function recipientsArr2StrInTable(recipientsArr, ellipsisLimit, useLinebreakes) | |
29 verbose stack { | |
29 verbose stack if (ellipsisLimit == undefined) | |
29 verbose stack { | |
29 verbose stack ellipsisLimit = 0; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if (useLinebreakes == undefined) | |
29 verbose stack { | |
29 verbose stack useEllipsis = true; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var recipientsList = ""; | |
29 verbose stack | |
29 verbose stack for (var i=0; i<recipientsArr.length; i++) | |
29 verbose stack { | |
29 verbose stack recipientsList += HTMLEncode(recipientsArr[i].address); | |
29 verbose stack if (i < recipientsArr.length-1) | |
29 verbose stack { | |
29 verbose stack recipientsList += ", "; | |
29 verbose stack if (useLinebreakes) | |
29 verbose stack { | |
29 verbose stack recipientsList += "<br>"; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if (ellipsisLimit > 0) | |
29 verbose stack { | |
29 verbose stack //recipientsList = Ext.util.Format.ellipsis(recipientsList, ellipsisLimit); | |
29 verbose stack recipientsList = recipientsList; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack return recipientsList; | |
29 verbose stack } | |
29 verbose stack // ======================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // ======================================================================================= | |
29 verbose stack // Render recipient list from and array. | |
29 verbose stack // Sender sender - The sender data. | |
29 verbose stack // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
29 verbose stack // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
29 verbose stack function getSenderName(sender, ellipsisLimit) | |
29 verbose stack { | |
29 verbose stack var output = ""; | |
29 verbose stack | |
29 verbose stack if (ellipsisLimit == undefined) | |
29 verbose stack { | |
29 verbose stack ellipsisLimit = 0; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if (sender.name.empty()) | |
29 verbose stack { | |
29 verbose stack output = sender.address; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack output = sender.name; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // if (ellipsisLimit > 0) | |
29 verbose stack // { | |
29 verbose stack // output = Ext.util.Format.ellipsis(output, ellipsisLimit); | |
29 verbose stack // } | |
29 verbose stack | |
29 verbose stack return output; | |
29 verbose stack } | |
29 verbose stack // ======================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // ======================================================================================= | |
29 verbose stack // Render recipient list from and array. | |
29 verbose stack // String sender - The subject string. | |
29 verbose stack // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
29 verbose stack // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
29 verbose stack function getSubject(subject, ellipsisLimit) | |
29 verbose stack { | |
29 verbose stack var output = subject; | |
29 verbose stack | |
29 verbose stack if (ellipsisLimit == undefined) | |
29 verbose stack { | |
29 verbose stack ellipsisLimit = 0; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // if (ellipsisLimit > 0) | |
29 verbose stack // { | |
29 verbose stack // output = Ext.util.Format.ellipsis(output, ellipsisLimit); | |
29 verbose stack // } | |
29 verbose stack | |
29 verbose stack return output; | |
29 verbose stack } | |
29 verbose stack // ======================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // ======================================================================================= | |
29 verbose stack // tranform recipients array to string | |
29 verbose stack function recipientsArr2Str(recipientsArr,type) | |
29 verbose stack { | |
29 verbose stack var recipientsList = ""; | |
29 verbose stack var address = ""; | |
29 verbose stack var commaNeeded = false; | |
29 verbose stack for (var i=0; i<recipientsArr.length; i++) | |
29 verbose stack { | |
29 verbose stack if (type == recipientsArr[i].recipientType) | |
29 verbose stack { | |
29 verbose stack if (!commaNeeded) | |
29 verbose stack commaNeeded = true; | |
29 verbose stack else | |
29 verbose stack recipientsList += ", "; | |
29 verbose stack | |
29 verbose stack address = HTMLEncode(recipientsArr[i].address); | |
29 verbose stack if (recipientsArr[i].isExternal) | |
29 verbose stack { | |
29 verbose stack address = '<span ' + GetDomainColor(recipientsArr[i].address)+' >' + address + '</span>' | |
29 verbose stack } | |
29 verbose stack recipientsList += address; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack return recipientsList; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // ======================================================================================= | |
29 verbose stack function arr2Str(arr) | |
29 verbose stack { | |
29 verbose stack var str = ""; | |
29 verbose stack var commaNeeded = false; | |
29 verbose stack for (var i=0; i<arr.length; i++) | |
29 verbose stack { | |
29 verbose stack if (!commaNeeded) | |
29 verbose stack { | |
29 verbose stack commaNeeded = true; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack str += ", "; | |
29 verbose stack } | |
29 verbose stack str += arr[i]; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack return str; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack function GetDomainColor(str) | |
29 verbose stack { | |
29 verbose stack // var highlightColors = new Array("FFFF00","00FF00","00FFFF","FF00FF","FF0000","FFFF99","99FF99","CCFFFF","FFCCFF", "FF9999") | |
29 verbose stack var highlightColors = new Array("FFFF00","FF00FF","FF0000","FFBB00","FF9999"); | |
29 verbose stack domainName = GetDomainName(str); | |
29 verbose stack if (domainName==null) return null; | |
29 verbose stack | |
29 verbose stack hash=0; | |
29 verbose stack for (i=0; i<domainName.length; i++) | |
29 verbose stack { | |
29 verbose stack hash += domainName.charCodeAt(i); | |
29 verbose stack } | |
29 verbose stack hash = hash % (highlightColors.length); | |
29 verbose stack return 'style="background-color: #' + highlightColors[hash] + '; text-decoration: underline;"'; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack /* | |
29 verbose stack // ======================================================================================= | |
29 verbose stack UserCheck.tools.clearContainer = function(containerId) | |
29 verbose stack { | |
29 verbose stack DEBUG.out("Clear container: "+containerId); | |
29 verbose stack var container = Ext.getCmp(containerId); | |
29 verbose stack if ((container) && (container.items)) | |
29 verbose stack { | |
29 verbose stack container.items.each( | |
29 verbose stack function(item) | |
29 verbose stack { | |
29 verbose stack container.remove(item, true); | |
29 verbose stack } | |
29 verbose stack ); | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack // ======================================================================================= | |
29 verbose stack */ | |
29 verbose stack | |
29 verbose stack // Override poral_is error handler. | |
29 verbose stack //============================================================================================= | |
29 verbose stack window.genericTimeoutHandler = function(portalException) | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UserCheck::genericTimeoutHandler."); | |
29 verbose stack | |
29 verbose stack if ((portalException == undefined) || (portalException == null)) | |
29 verbose stack { | |
29 verbose stack portalException = new PortalException(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // Assign action to the Ok button. | |
29 verbose stack // The event is added in order to get the exception, if it is set, that is set as the error message OK button attribute. see showPortalErrorMessage | |
29 verbose stack postErrorHandler = function(event) | |
29 verbose stack { | |
29 verbose stack // Check if redirected due to timeout. | |
29 verbose stack if (getCookie("isRedirectedDueTimeout") == "1") | |
29 verbose stack { | |
29 verbose stack // Delete the cookie to allow future errors. | |
29 verbose stack setCookie("isRedirectedDueTimeout", "0", 0); | |
29 verbose stack | |
29 verbose stack // TODO: Redirect to error page. | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // Set cookie in order to prevent error loops. | |
29 verbose stack setCookie("isRedirectedDueTimeout", "1", 5*60); | |
29 verbose stack | |
29 verbose stack genericPostErrorHandler(event); | |
29 verbose stack | |
29 verbose stack // Reload the page. | |
29 verbose stack document.location.href=document.location.href; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // TODO: Get message from resource bundle. | |
29 verbose stack //var errMsg = "Your session has expired or timed out.\nYou will be redirected to the login page.\n\n"; | |
29 verbose stack showPortalErrorMessage(portalException, postErrorHandler, true); | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack //============================================================================================= | |
29 verbose stack window.genericErrorHandler = function(portalException, callback) | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UserCheck::genericErrorHandler."); | |
29 verbose stack if ((portalException == undefined) || (portalException == null)) | |
29 verbose stack { | |
29 verbose stack portalException = new PortalException(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if (isNothingness(callback)) | |
29 verbose stack { | |
29 verbose stack callback = new Callback(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // Assign action to the Ok button. | |
29 verbose stack // The event is added in order to get the exception, if it is set, that is set as the error message OK button attribute. see showPortalErrorMessage | |
29 verbose stack postErrorHandler = function(event) | |
29 verbose stack { | |
29 verbose stack genericPostErrorHandler(event); | |
29 verbose stack callback.call(); | |
29 verbose stack // No reload of the page. | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack showPortalErrorMessage(portalException, postErrorHandler, true); | |
29 verbose stack return true; // This is required for the execption to stop from being passed to the browser. | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack //============================================================================================= | |
29 verbose stack window.genericPostErrorHandler = function(event) | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UserCheck::genericPostErrorHandler."); | |
29 verbose stack // Just hide the error. | |
29 verbose stack hidePortalErrorMessage(); | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack //============================================================================================= | |
29 verbose stack UserCheck.tools.sendErrorReport = function(userDesc, callback) | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UserCheck.tools.sendErrorReport in."); | |
29 verbose stack | |
29 verbose stack var sAbsoluteURL = getURL("data/submitErrorReport"); | |
29 verbose stack var report = encodeURIComponent(DEBUG.compileErrorReport()); | |
29 verbose stack var userDesc = encodeURIComponent(userDesc); | |
29 verbose stack | |
29 verbose stack var sendErrorReportCallback = new Callback(); | |
29 verbose stack sendErrorReportCallback.methodReference = UserCheck.tools.handleErrorReportResponse; | |
29 verbose stack sendErrorReportCallback.args.push(callback); | |
29 verbose stack | |
29 verbose stack // Send report with no error handlers. | |
29 verbose stack PORTAL_IS.AJAX_MGR.sendAsyncReq(sAbsoluteURL, "report="+report+"&userDesc="+userDesc, sendErrorReportCallback, null, null, "Sending of error report failed."); | |
29 verbose stack | |
29 verbose stack // Set error flag. | |
29 verbose stack PORTAL_IS.TOOLS.errorMsgShown = false; | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack //============================================================================================= | |
29 verbose stack UserCheck.tools.handleErrorReportResponse = function(xhrStatus, xhrResponse, callback) | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UserCheck.tools.handleErrorReportResponse in."); | |
29 verbose stack | |
29 verbose stack // Set error flag. | |
29 verbose stack PORTAL_IS.TOOLS.errorMsgShown = false; | |
29 verbose stack | |
29 verbose stack if (isNothingness(callback)) | |
29 verbose stack { | |
29 verbose stack callback = new Callback(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if (xhrStatus != 200) | |
29 verbose stack { | |
29 verbose stack // TODO: Handle error. | |
29 verbose stack DEBUG.out('Submitting error report failed. ('+xhrStatus+')', DEBUG.ERROR); | |
29 verbose stack callback.call(); | |
29 verbose stack showPortalMessage("Sending of error report failed."); | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack callback.call(); | |
29 verbose stack | |
29 verbose stack showPortalMessage("Error report was sent successfully.\nThank you for your support.", null, UserCheck.MESSAGE_TYPE.Confirmation); | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack //============================================================================================= | |
29 verbose stack UserCheck.tools.showErrorReport = function(callback) | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UserCheck.tools.showErrorReport in."); | |
29 verbose stack | |
29 verbose stack // Create new callback with send report and store previous callback in it. | |
29 verbose stack submitCallback = new Callback(); | |
29 verbose stack submitCallback.methodReference = DEBUG.sendErrorReport; | |
29 verbose stack submitCallback.args = [callback]; | |
29 verbose stack | |
29 verbose stack // Create new callback for cancel. | |
29 verbose stack cancelCallback = new Callback(); | |
29 verbose stack cancelCallback.methodReference = function() | |
29 verbose stack { | |
29 verbose stack // Clear error flag. | |
29 verbose stack PORTAL_IS.TOOLS.errorMsgShown = false; | |
29 verbose stack callback.call(); | |
29 verbose stack }; | |
29 verbose stack | |
29 verbose stack // Hide any opened boxes. | |
29 verbose stack PORTAL_IS.TOOLS.hideGeneralContainer(); | |
29 verbose stack PORTAL_IS.TOOLS.hideDialog(); | |
29 verbose stack hidePortalMessage(); | |
29 verbose stack hidePortalErrorMessage(); | |
29 verbose stack | |
29 verbose stack PORTAL_IS.TOOLS.showDialog( "Please describe the encountered problem in the text box below.", | |
29 verbose stack "NOTICE: The report might include personal information from your mail items.\nThe report will not include your credentials.", | |
29 verbose stack "I was trying to (e.g. review an email):\n\nWork flow which led to this error (e.g. access via email link):\n\nI am unable to:", | |
29 verbose stack "Report an error", | |
29 verbose stack submitCallback, cancelCallback, null, null, null, null, true); | |
29 verbose stack | |
29 verbose stack // Set error flag. | |
29 verbose stack PORTAL_IS.TOOLS.errorMsgShown = true; | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack DEBUG.showErrorReport = UserCheck.tools.showErrorReport; | |
29 verbose stack DEBUG.sendErrorReport = UserCheck.tools.sendErrorReport; | |
29 verbose stack | |
29 verbose stack UserCheck.tools.oTimeoutManager = | |
29 verbose stack { | |
29 verbose stack timerID: -1, | |
29 verbose stack startTimeoutTimer: function(duration, callback) | |
29 verbose stack { | |
29 verbose stack var milisecs = duration * 1000; | |
29 verbose stack if (milisecs > 2147483646) | |
29 verbose stack { | |
29 verbose stack | |
29 verbose stack milisecs = 2147483646; | |
29 verbose stack | |
29 verbose stack } | |
29 verbose stack DEBUG.out("UserCheck.tools.TimeoutManager: Starting timer for " + duration + " seconds."); | |
29 verbose stack window.TimeoutManagerCallback = callback; | |
29 verbose stack this.timerID = setTimeout("this.TimeoutManagerCallback();", milisecs); | |
29 verbose stack }, | |
29 verbose stack stopTimeoutTimer: function() | |
29 verbose stack { | |
29 verbose stack clearTimeout(timerID); | |
29 verbose stack timerID = -1; | |
29 verbose stack } | |
29 verbose stack }; | |
29 verbose stack | |
29 verbose stack UserCheck.DataObj = {}; | |
29 verbose stack | |
29 verbose stack // TODO: This should be defined as an "interface" class and other view managers should implement it. | |
29 verbose stack | |
29 verbose stack // UC's view manager. | |
29 verbose stack window.UCViewManager = function() | |
29 verbose stack { | |
29 verbose stack this.lastRenderedCustomContentContainers = new Array(); | |
29 verbose stack this.defaultContainer = 'portal_main_view'; | |
29 verbose stack this.ignoreHashChange = false; | |
29 verbose stack this.wait = null; | |
29 verbose stack this.requestParams = null; | |
29 verbose stack | |
29 verbose stack // Hash to view mapping, enables us to set display another value than the actual view name. | |
29 verbose stack //================================================================================================================== | |
29 verbose stack this.hashViewMap = new Array(); | |
29 verbose stack // Hash name View name | |
29 verbose stack //__________________________________________________________________________________________________________________ | |
29 verbose stack this.hashViewMap["UserAction"] = "UserAction"; | |
29 verbose stack this.hashViewMap["MainWithMenuView"] = "MainWithMenuView"; | |
29 verbose stack this.hashViewMap["Menu"] = "Menu"; | |
29 verbose stack this.hashViewMap["Logout"] = "Logout"; | |
29 verbose stack this.hashViewMap["MainView"] = "MainView"; | |
29 verbose stack this.hashViewMap["Error"] = "Error"; | |
29 verbose stack | |
29 verbose stack // Get View name from Hash name. | |
29 verbose stack this.hash2View = function(hash) | |
29 verbose stack { | |
29 verbose stack var view = this.hashViewMap[hash]; | |
29 verbose stack | |
29 verbose stack if (isNothingness(view)) | |
29 verbose stack { | |
29 verbose stack view = "UserAction"; | |
29 verbose stack } | |
29 verbose stack return view; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // Get Hash name from View name. | |
29 verbose stack this.view2Hash = function(view) | |
29 verbose stack { | |
29 verbose stack var hash = "UserAction"; | |
29 verbose stack for (key in this.hashViewMap) | |
29 verbose stack { | |
29 verbose stack if (this.hashViewMap[key] == view) | |
29 verbose stack { | |
29 verbose stack var hash = key; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack return hash; | |
29 verbose stack } | |
29 verbose stack //================================================================================================================== | |
29 verbose stack | |
29 verbose stack // Initialize view manager. | |
29 verbose stack //============================================================================================= | |
29 verbose stack this.init = function() | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UCViewManager::init"); | |
29 verbose stack | |
29 verbose stack // Bind history change handler. | |
29 verbose stack $(window).bind('hashchange', viewManager.handleHistoryChange); | |
29 verbose stack | |
29 verbose stack // Check address bar's hash and set desired view if exists. | |
29 verbose stack var desiredView = this.parseHash().view; | |
29 verbose stack if (isNothingness(desiredView)) | |
29 verbose stack { | |
29 verbose stack desiredView = ""; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack DEBUG.out("UCViewManager::init, desired view: [" + desiredView + "]"); | |
29 verbose stack this.gotoNextView(desiredView); | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // Handle history changes (back/reload). | |
29 verbose stack // Overriding default handling. | |
29 verbose stack //============================================================================================= | |
29 verbose stack this.handleHistoryChange = function(e, ui) | |
29 verbose stack { | |
29 verbose stack // In some cases the hash is changed and no view load is required, checking if so. | |
29 verbose stack if (!viewManager.ignoreHashChange && ui != undefined) | |
29 verbose stack { | |
29 verbose stack // Parse view from hash. | |
29 verbose stack var desiredView = viewManager.parseHash().view; | |
29 verbose stack DEBUG.out("UCViewManager::handleHistoryChange, desired view:" + desiredView); | |
29 verbose stack viewManager.gotoNextView(desiredView); | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UCViewManager::handleHistoryChange, hash changed ignored."); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // Reset the ignore flag. | |
29 verbose stack viewManager.ignoreHashChange = false; | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // Queries the server for next desired view and than call for rendering it. | |
29 verbose stack // Will call upon callback when done rendering the view. | |
29 verbose stack //============================================================================================= | |
29 verbose stack this.gotoNextView = function(requestedView, callback) | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UCViewManager::gotoNextView"); | |
29 verbose stack | |
29 verbose stack if (isNothingness(callback)) | |
29 verbose stack { | |
29 verbose stack callback = new Callback(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // Check what is the next view. | |
29 verbose stack var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("GetNextView"); | |
29 verbose stack var parameters = (isNothingness(requestedView)) ? ("") : ("requestedView=" + encodeURIComponent(requestedView)); | |
29 verbose stack | |
29 verbose stack var gotoNextViewCallback = new Callback(); | |
29 verbose stack gotoNextViewCallback.methodReference = this.handleGotoNextViewRequest; | |
29 verbose stack gotoNextViewCallback.thisArgument = this; | |
29 verbose stack gotoNextViewCallback.args = [callback]; | |
29 verbose stack | |
29 verbose stack PORTAL_IS.AJAX_MGR.sendAsyncReq(sAbsoluteURL, parameters, gotoNextViewCallback); | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // Handle next view query. | |
29 verbose stack //============================================================================================= | |
29 verbose stack this.handleGotoNextViewRequest = function(xhrStatus, xhrResponse, callback) | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UCViewManager::handleGotoNextViewRequest"); | |
29 verbose stack | |
29 verbose stack if (isNothingness(callback)) | |
29 verbose stack { | |
29 verbose stack callback = new Callback(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if (xhrStatus != 200) | |
29 verbose stack { | |
29 verbose stack DEBUG.out('Retreiving next view failed. ('+xhrStatus+')', DEBUG.ERROR); | |
29 verbose stack callback.call(); | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var nextViewJSONObj = JSON.parse(xhrResponse); | |
29 verbose stack var nextView = nextViewJSONObj.view; | |
29 verbose stack DEBUG.out("UCViewManager::handleGotoNextViewRequest, next view:" + nextView); | |
29 verbose stack | |
29 verbose stack // Extract the data (request params) from hash and relay it onto next hash. | |
29 verbose stack // As hash changing handler will be passed back to this method we set the Ignore flag to TRUE | |
29 verbose stack // and call for the gotoView method. | |
29 verbose stack viewManager.changeHash(nextView, viewManager.parseHash().data, true); | |
29 verbose stack | |
29 verbose stack viewManager.gotoView(nextView, callback); | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // Get view contents (CSS, JS and HTML). | |
29 verbose stack // Will call upon callback when done rendering the view. | |
29 verbose stack //============================================================================================= | |
29 verbose stack this.gotoView = function(view, callback) | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UCViewManager::gotoView view: ["+view+"]"); | |
29 verbose stack | |
29 verbose stack if (callback == undefined) | |
29 verbose stack { | |
29 verbose stack callback = new Callback(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var hash = this.parseHash().view; | |
29 verbose stack var parameters = (hash == "") ? ("view="+encodeURIComponent(hash)) : ( "requestedView=" + encodeURIComponent(view) + "&view="+encodeURIComponent(hash) ); | |
29 verbose stack | |
29 verbose stack sendAsynchronousRequest(PORTAL_IS.TOOLS.getURL("viewManager/GetViewData"), | |
29 verbose stack parameters, | |
29 verbose stack this.handleNewView, | |
29 verbose stack this, | |
29 verbose stack [callback]); | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // Handle new view rendering. | |
29 verbose stack //============================================================================================= | |
29 verbose stack this.handleNewView = function(xhrStatus, xhrResponse, callback) | |
29 verbose stack { | |
29 verbose stack if (callback == undefined) | |
29 verbose stack { | |
29 verbose stack callback = new Callback(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if (xhrStatus != 200) | |
29 verbose stack { | |
29 verbose stack // TODO: Handle error. | |
29 verbose stack DEBUG.out('Retreiving view failed. ('+xhrStatus+')', DEBUG.ERROR); | |
29 verbose stack callback.call(); | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var newViewJSONObj = JSON.parse(xhrResponse); | |
29 verbose stack var newView = newViewJSONObj.view; | |
29 verbose stack DEBUG.out("UCViewManager::handleNewView, Parsed from JSON - view:" + newView); | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack var useDefaultContainerId = true; | |
29 verbose stack var requiredContainerId = ""; | |
29 verbose stack var requiredView = ""; | |
29 verbose stack var requireSecureConnection = false; | |
29 verbose stack | |
29 verbose stack switch (newView) | |
29 verbose stack { | |
29 verbose stack default: // View will be rendered into main page view. | |
29 verbose stack useDefaultContainerId = true; | |
29 verbose stack requiredContainerId = this.defaultContainer; | |
29 verbose stack break; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // Check if in https, redirect if not. | |
29 verbose stack if ((requireSecureConnection) && (location.protocol.toLowerCase() == 'http:')) | |
29 verbose stack { | |
29 verbose stack newLocation = location.href.replace(/http:/i, "https:"); | |
29 verbose stack location.href = newLocation; | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var containerId = this.defaultContainer; | |
29 verbose stack if (!useDefaultContainerId) | |
29 verbose stack { | |
29 verbose stack containerId = requiredContainerId; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack //var container = Ext.getCmp(containerId); | |
29 verbose stack var container = document.getElementById(containerId); | |
29 verbose stack | |
29 verbose stack if (container != undefined) | |
29 verbose stack { | |
29 verbose stack | |
29 verbose stack DEBUG.out('Render new view ('+newViewJSONObj.view+') into [' + (useDefaultContainerId ? "DefaultContainer" : requiredContainerId) + "]."); | |
29 verbose stack | |
29 verbose stack // Render CSS. - Not needed, all CSS loads from one blob file. | |
29 verbose stack //evaluateCSS(newViewJSONObj.css, ""); | |
29 verbose stack | |
29 verbose stack // Clear existing content. | |
29 verbose stack container.innerHTML = ""; | |
29 verbose stack | |
29 verbose stack // If the html content is not empty, render it into a new pane. | |
29 verbose stack container.innerHTML = newViewJSONObj.html; | |
29 verbose stack | |
29 verbose stack // Render JavaScript Content. | |
29 verbose stack evaluateJavaScript(newViewJSONObj.javascript); | |
29 verbose stack | |
29 verbose stack } | |
29 verbose stack else if (requiredContainerId == this.defaultContainer) | |
29 verbose stack { | |
29 verbose stack | |
29 verbose stack DEBUG.out('Default view is missing and will be rendered...'); | |
29 verbose stack this.renderDefaultView(); | |
29 verbose stack this.handleNewView(xhrStatus, xhrResponse, callback); | |
29 verbose stack | |
29 verbose stack } | |
29 verbose stack else // The container is not present and needs to be rendered first. | |
29 verbose stack { | |
29 verbose stack | |
29 verbose stack DEBUG.out('Required view ('+requiredContainerId+') is missing and needs to be rendered first.'); | |
29 verbose stack | |
29 verbose stack // Set the previous view results in a callback, it will be called when finished rendering of the login sequence page. | |
29 verbose stack var requiredViewCallback = new Callback(); | |
29 verbose stack requiredViewCallback.methodReference = this.handleNewView; | |
29 verbose stack requiredViewCallback.thisArgument = this; | |
29 verbose stack requiredViewCallback.args = [200, xhrResponse]; // Set fake status and response. | |
29 verbose stack | |
29 verbose stack // Request specific view. | |
29 verbose stack this.gotoView(requiredView, requiredViewCallback); | |
29 verbose stack | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // TODO: detect loops. | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // Done here, call the callback. | |
29 verbose stack //this.wait.hide(); | |
29 verbose stack callback.call(); | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // CUSTOM CONTENT RELATED METHODS | |
29 verbose stack // _________________________________________________________________________________________________________________ | |
29 verbose stack | |
29 verbose stack // Get the view's custom Content. | |
29 verbose stack //============================================================================================= | |
29 verbose stack this.getViewCustomContent = function(view) | |
29 verbose stack { | |
29 verbose stack this.clearLastCustomContent(); | |
29 verbose stack | |
29 verbose stack var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("JSONViewData/GetViewCustomContent"); | |
29 verbose stack sendAsynchronousRequest(sAbsoluteURL, | |
29 verbose stack "view="+view, | |
29 verbose stack this.renderCustomContent, | |
29 verbose stack this, | |
29 verbose stack []); | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // Render the custom content. | |
29 verbose stack //============================================================================================= | |
29 verbose stack this.renderCustomContent = function(xhrStatus, xhrResponse, callbackObj) | |
29 verbose stack { | |
29 verbose stack DEBUG.out('Render custom content.'); | |
29 verbose stack callback = new Callback(callbackObj); | |
29 verbose stack | |
29 verbose stack if (xhrStatus != 200) | |
29 verbose stack { | |
29 verbose stack // TODO: Handle error. | |
29 verbose stack DEBUG.out('Retreiving custom content failed. ('+xhrStatus+')', DEBUG.ERROR); | |
29 verbose stack callback.call(); | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // The container Id is: "CustomContent_<VIEW NAME>_<RESOURCE KEY>". | |
29 verbose stack // For example: the "ISW" view and the resource key of "top" will be rendered into "CustomContent_ISW_top". | |
29 verbose stack | |
29 verbose stack var newCustomContentJSONObj = JSON.parse(xhrResponse); | |
29 verbose stack var keyArr = newCustomContentJSONObj.keyArr; | |
29 verbose stack var view = newCustomContentJSONObj.view | |
29 verbose stack | |
29 verbose stack // Override view. | |
29 verbose stack switch (view) | |
29 verbose stack { | |
29 verbose stack case "ICS": // No brake, group these views. | |
29 verbose stack case "Authentication": | |
29 verbose stack case "ISW": | |
29 verbose stack case "MultiChallenge": | |
29 verbose stack case "IswEntry": | |
29 verbose stack var usedView = "LoginSequencePage"; | |
29 verbose stack break; | |
29 verbose stack | |
29 verbose stack default: | |
29 verbose stack var usedView = view; | |
29 verbose stack break; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // Iterate on each of the custom content object. | |
29 verbose stack var customContent, containerId, key; | |
29 verbose stack //for (var key in keyMap) | |
29 verbose stack for (var i=0; i<keyArr.length; i++) | |
29 verbose stack { | |
29 verbose stack key = keyArr[i][0]; | |
29 verbose stack customContent = keyArr[i][1]; | |
29 verbose stack containerId = "CustomContent_"+usedView+"_"+key; | |
29 verbose stack DEBUG.out('Render custom content: usedView:['+usedView+"] into:["+containerId+"]"); | |
29 verbose stack this.evaluateCustomContent(customContent, containerId); | |
29 verbose stack this.lastRenderedCustomContentContainers.push(containerId); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // Call the callback. | |
29 verbose stack callback.call(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // Encapsulate conditional rendering of the custom content. | |
29 verbose stack this.evaluateCustomContent = function(customContent, containerId) | |
29 verbose stack { | |
29 verbose stack destinationRef = document.getElementById(containerId); | |
29 verbose stack if ( (destinationRef != null) && (destinationRef != undefined) ) | |
29 verbose stack { | |
29 verbose stack evaluateHTMLContent(customContent, destinationRef); | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // Clear last rendered containers. | |
29 verbose stack //============================================================================================= | |
29 verbose stack this.clearLastCustomContent = function() | |
29 verbose stack { | |
29 verbose stack for (var containerIndex in this.lastRenderedCustomContentContainers) | |
29 verbose stack { | |
29 verbose stack this.evaluateCustomContent(" ", this.lastRenderedCustomContentContainers[containerIndex]); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.lastRenderedCustomContentContainers = new Array(); | |
29 verbose stack } | |
29 verbose stack //============================================================================================= | |
29 verbose stack | |
29 verbose stack // Render default view. | |
29 verbose stack //============================================================================================= | |
29 verbose stack this.renderDefaultView = function() | |
29 verbose stack {} | |
29 verbose stack //================================================================================================================== | |
29 verbose stack | |
29 verbose stack //================================================================================================================== | |
29 verbose stack this.logoutButtonHandler = function() | |
29 verbose stack {} | |
29 verbose stack //================================================================================================================== | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack // DEPRECATED METHODS | |
29 verbose stack // _________________________________________________________________________________________________________________ | |
29 verbose stack | |
29 verbose stack // DEPRECATED, use viewManager.gotoNextView instead. | |
29 verbose stack //================================================================================================================== | |
29 verbose stack this.gotoNextState = function(callback) | |
29 verbose stack { | |
29 verbose stack this.gotoNextView(null, callback); | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack //================================================================================================================== | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // Extend ViewManager (Portal IS). | |
29 verbose stack UCViewManager.prototype = new ViewManager(); | |
29 verbose stack window.viewManager = new UCViewManager(); | |
29 verbose stack | |
29 verbose stack </script> | |
29 verbose stack | |
29 verbose stack <title>Check Point UserCheck</title> | |
29 verbose stack </head> | |
29 verbose stack | |
29 verbose stack <body class="usercheck_body_background_class" unselectable="on"> | |
29 verbose stack <noscript> | |
29 verbose stack This portal requires browser which support JavaScript.<br>Please make sure that you are using an updated browser and that JavaScript is enabled. </noscript> | |
29 verbose stack <div id='portalErrorMessage' class="portalErrorMessageDivHide"> | |
29 verbose stack | |
29 verbose stack <table cellpadding="0px" cellspacing="0px" class="portalErrorMessageTableContainer" width="100%"> | |
29 verbose stack <tr> | |
29 verbose stack <td align="center"> | |
29 verbose stack | |
29 verbose stack <table cellpadding="0px" cellspacing="0px" class="portalErrorMessageTable"> | |
29 verbose stack | |
29 verbose stack <tr id="portalErrorMessage_title_container_row" class="portalMessage_title show" width="100%"> | |
29 verbose stack <td id="portalErrorMessage_title_container" height="10px" valign="middle" align="left" colspan="2"> </td> | |
29 verbose stack </tr> | |
29 verbose stack | |
29 verbose stack <tr> | |
29 verbose stack <td id="portalErrorMessage_container" align="left" style="padding: 10px;" colspan="2"> </td> | |
29 verbose stack </tr> | |
29 verbose stack | |
29 verbose stack <tr> | |
29 verbose stack | |
29 verbose stack <td> | |
29 verbose stack <table cellpadding="0px" cellspacing="0px" width="100%"style=" padding: 10px;"> | |
29 verbose stack <tr> | |
29 verbose stack <td id="portalMessage_error_report_container" align="left" valign="buttom" class="hide"> | |
29 verbose stack <span id="portalMessage_error_report_link" onclick="DEBUG.showErrorReport();" class="portal_link" style="left: 10px;"> | |
29 verbose stack Send error report </span> | |
29 verbose stack </td> | |
29 verbose stack <td id="portalMessage_error_button_container" align="right" height="10px;" valign="buttom"> | |
29 verbose stack <button id="portalErrorMessage_button" class="portalErrorMessage_button" onclick="hidePortalErrorMessage();"> | |
29 verbose stack OK </button> | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack </table> | |
29 verbose stack </td> | |
29 verbose stack | |
29 verbose stack </tr> | |
29 verbose stack | |
29 verbose stack </table> | |
29 verbose stack | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack </table> | |
29 verbose stack | |
29 verbose stack </div> | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack <div id='portalMessage' class="portalMessageDivHide"> | |
29 verbose stack | |
29 verbose stack <table cellpadding="0px" cellspacing="0px" class="portalMessageTableContainer" width="100%"> | |
29 verbose stack <tr> | |
29 verbose stack <td align="center"> | |
29 verbose stack | |
29 verbose stack <table cellpadding="0px" cellspacing="0px" class="portalMessageTable"> | |
29 verbose stack | |
29 verbose stack <tr id="portalMessage_title_container_row" class="portalMessage_title show"> | |
29 verbose stack <td id="portalMessage_title_container" class="portalMessage_title_td" valign="middle" align="left"> | |
29 verbose stack | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack | |
29 verbose stack <tr> | |
29 verbose stack <td id="portalMessage_container" align="left" style="padding: 10px;"> | |
29 verbose stack | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack | |
29 verbose stack <tr id="portalMessage_textarea_container_row" class="hide"> | |
29 verbose stack <td id="portalMessage_textarea_container" align="left" style="padding: 10px;"> | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack | |
29 verbose stack <tr id="portalMessage_validation_message_container_row" class="show"> | |
29 verbose stack <td id="portalMessage_validation_message_container" align="left" class="portalMessage_validation_submessage" style="padding: 10px;"> | |
29 verbose stack | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack | |
29 verbose stack <tr id="portalMessage_submessage_container_row" class="hide"> | |
29 verbose stack <td id="portalMessage_submessage_container" align="left" class="portalMessage_submessage" style="padding: 10px;"> | |
29 verbose stack | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack | |
29 verbose stack <tr> | |
29 verbose stack <td align="center" height="10px;" valign="buttom" style="padding: 10px;" colspan="2"> | |
29 verbose stack <div id="portalMessage_ok_button_container" class="show" style="text-align: right;"> | |
29 verbose stack <button id="portalMessage_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
29 verbose stack OK </button> | |
29 verbose stack </div> | |
29 verbose stack | |
29 verbose stack <div id="portalMessage_bool_button_container" class="hide"> | |
29 verbose stack <button id="portalMessage_yes_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
29 verbose stack BUTTON.YES </button> | |
29 verbose stack | |
29 verbose stack <button id="portalMessage_no_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
29 verbose stack BUTTON.NO </button> | |
29 verbose stack </div> | |
29 verbose stack | |
29 verbose stack <div id="portalMessage_submit_button_container" class="hide"> | |
29 verbose stack <button id="portalMessage_submit_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
29 verbose stack BUTTON.SUBMIT </button> | |
29 verbose stack | |
29 verbose stack <button id="portalMessage_cancel_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
29 verbose stack Cancel </button> | |
29 verbose stack </div> | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack </table> | |
29 verbose stack | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack </table> | |
29 verbose stack | |
29 verbose stack </div> | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack <div id='portalGeneralContainer' class="portalMessageDivHide"> | |
29 verbose stack | |
29 verbose stack <table cellpadding="0px" cellspacing="0px" class="portalMessageTableContainer" width="100%"> | |
29 verbose stack <tr> | |
29 verbose stack <td align="center"> | |
29 verbose stack | |
29 verbose stack <table cellpadding="0px" cellspacing="0px" class="portalMessageTable"> | |
29 verbose stack | |
29 verbose stack <tr id="portalGeneralContainer_title_container_row" class="portalMessage_title show" width="100%"> | |
29 verbose stack <td id="portalGeneralContainer_title_container" height="10px" valign="middle" align="left"> | |
29 verbose stack | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack | |
29 verbose stack <tr> | |
29 verbose stack <td id="portalGeneralContainer_container" align="left" style="padding: 10px;"> | |
29 verbose stack | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack | |
29 verbose stack </table> | |
29 verbose stack | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack </table> | |
29 verbose stack | |
29 verbose stack </div> | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack <div id='PortalErrorScreenShader' class="screenShaderHide"> | |
29 verbose stack <table cellpadding="0px" cellspacing="0px" width="100%" height="100%"> | |
29 verbose stack <tr> | |
29 verbose stack <td> </td> | |
29 verbose stack </tr> | |
29 verbose stack </table> | |
29 verbose stack </div> | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack <div id='PortalScreenShader' class="screenShaderHide"> | |
29 verbose stack <table cellpadding="0px" cellspacing="0px" width="100%" height="100%"> | |
29 verbose stack <tr> | |
29 verbose stack <td> </td> | |
29 verbose stack </tr> | |
29 verbose stack </table> | |
29 verbose stack </div> | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack <div id="portal_main_view" class="div_expanded" unselectable="on"> | |
29 verbose stack <table height="100%" width="100%" border="0" cellpadding="0" cellspacing="0" class=""> | |
29 verbose stack <tr> | |
29 verbose stack <td id="portal_center_div" valign="top" unselectable="on" class="usercheck_main_background_class"> | |
29 verbose stack <div id="portal_top_pane_div" class="usercheck_header_class"> | |
29 verbose stack | |
29 verbose stack <!--position: fixed; bottom: -1px; left: 50%; margin-left: -435px; --> | |
29 verbose stack | |
29 verbose stack <table width="100%" cellpadding="0" cellspacing="0" class="usercheck_header_table_class usercheck_content_table_class"> | |
29 verbose stack <tr> | |
29 verbose stack <td class="usercheck_header_left_class" unselectable="on"> | |
29 verbose stack </td> | |
29 verbose stack <td class="usercheck_header_center_class" unselectable="on"> | |
29 verbose stack <div class="usercheck_page_title_class" id="usercheck_page_title" unselectable="on" >UserCheck</div> | |
29 verbose stack </td> | |
29 verbose stack <td id="usercheck_header_right_logo" class="usercheck_header_right_class" unselectable="on"> | |
29 verbose stack <img class="usercheck_company_logo_class" id="usercheck_company_logo" ></img> | |
29 verbose stack </td> | |
29 verbose stack <td id="usercheck_header_right_empty" class="usercheck_header_right_empty_class" unselectable="on"> | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack </table> | |
29 verbose stack </div> | |
29 verbose stack <div style=""> </div><div style=""> </div><div style=""> </div> | |
29 verbose stack <div style="text-align: center;" unselectable="on"> | |
29 verbose stack <table id="usercheck_content_table" cellpadding="0" cellspacing="0" class="usercheck_content_table_class"> | |
29 verbose stack <tr> | |
29 verbose stack <td rowspan="3" valign="top" class="usercheck_message_icon_column"><div class="usercheck_message_icon_class" id="usercheck_img_div" unselectable="on"> </div></td> | |
29 verbose stack <td><div id="usercheck_title_div" class="usercheck_title_class" unselectable="on"> </div></td> | |
29 verbose stack </tr> | |
29 verbose stack <tr> | |
29 verbose stack <td><div id="usercheck_main_div" class="usercheck_message_class" unselectable="on"> </div></td> | |
29 verbose stack </tr> | |
29 verbose stack <tr> | |
29 verbose stack <td><div id="usercheck_error_div" unselectable="on"> </div></td> | |
29 verbose stack </tr> | |
29 verbose stack <tr> | |
29 verbose stack <td colspan="2" style="text-align: center;" unselectable="on"> | |
29 verbose stack <table style="margin-right: -10px; width: 50%; float: right;"><tr><td> | |
29 verbose stack <center> | |
29 verbose stack <div id="usercheck_cancel_div" class="usercheck_ok_button_div_class"> </div> | |
29 verbose stack </center> | |
29 verbose stack </td><td> | |
29 verbose stack <center> | |
29 verbose stack <div id="usercheck_ok_div" class="usercheck_ok_button_div_class"> </div> | |
29 verbose stack </center> | |
29 verbose stack </td></tr></table> | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack </table></div> | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack <tr> | |
29 verbose stack <td id ="usercheck_footer_td" class="usercheck_footer_class usercheck_footer_height_class"> | |
29 verbose stack <div id="portal_bottom_pane_div"> | |
29 verbose stack | |
29 verbose stack <!--position: fixed; bottom: -1px; left: 50%; margin-left: -435px; --> | |
29 verbose stack | |
29 verbose stack <table id="footer_table_logo" cellpadding="0" cellspacing="0" class="usercheck_footer_table_class footer_no_logo"> | |
29 verbose stack <tr> | |
29 verbose stack <td class="usercheck_footer_height_class"> | |
29 verbose stack <div id="usercheck_language_selection_div" class="usercheck_lang_select_div_class" style="display: none;"> | |
29 verbose stack Language: <select id="usercheck_language_selection" class="usercheck_lang_select_class" onchange="javascript:window.oUserAction.handleLanguageChange();"> | |
29 verbose stack </select> | |
29 verbose stack </div> | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack </table> </div> | |
29 verbose stack </td> | |
29 verbose stack </tr> | |
29 verbose stack </table> | |
29 verbose stack </div> | |
29 verbose stack </body> | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack <script type="text/javascript"> | |
29 verbose stack | |
29 verbose stack //Continue the background image on IE6-7 graphics design. | |
29 verbose stack if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7 && (document.documentMode === undefined || document.documentMode <= 7)) | |
29 verbose stack { | |
29 verbose stack var footer_td = document.getElementById('usercheck_footer_td'); | |
29 verbose stack footer_td.setAttribute("className", footer_td.getAttribute("className") + " usercheck_main_background_class"); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack UserCheck.DataObj.IID = "6562BAB3-CB54-35B8-C19D-29D4AE36E696"; | |
29 verbose stack | |
29 verbose stack UserCheck.DataObj.frame = 0; | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack /*this is a common object for PortalMain and PortalMainDlp. functions here should be empty */ | |
29 verbose stack window.UserActionCommon = function() | |
29 verbose stack { | |
29 verbose stack this.DlpHttpLearning = function(adminMessage,HttpLearningEnabled) | |
29 verbose stack { | |
29 verbose stack | |
29 verbose stack } | |
29 verbose stack this.DlpHideCancelBtn = function(action) | |
29 verbose stack { | |
29 verbose stack | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack window.oUserActionCommon = new window.UserActionCommon(); | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack var g_userID = ""; | |
29 verbose stack var g_refreshFiles = false; | |
29 verbose stack | |
29 verbose stack window.UserAction = function() | |
29 verbose stack { | |
29 verbose stack this.incidentObject = {}; | |
29 verbose stack this.textAreaText = ""; | |
29 verbose stack | |
29 verbose stack this.getCorrectClass = function() | |
29 verbose stack { | |
29 verbose stack var correctClass = "class"; | |
29 verbose stack | |
29 verbose stack //Choose the correct class attribute name (in IE6-7 we need "className" instead of "class") according to IE version - but check for compatibility first! | |
29 verbose stack if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7 && document.documentMode === undefined) | |
29 verbose stack { | |
29 verbose stack correctClass = "className"; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack return correctClass; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack // Initialize. | |
29 verbose stack //============================================================================================= | |
29 verbose stack this.init = function(cancelPage) | |
29 verbose stack { | |
29 verbose stack if (typeof cancelPage == 'undefined') | |
29 verbose stack { | |
29 verbose stack cancelPage = false; | |
29 verbose stack } | |
29 verbose stack var requestData = { | |
29 verbose stack IID: "-1", | |
29 verbose stack UserID: "", | |
29 verbose stack IsThinPortal: false, | |
29 verbose stack UserLang: "", | |
29 verbose stack GetCancelPage: cancelPage | |
29 verbose stack }; | |
29 verbose stack | |
29 verbose stack requestData.IID = UserCheck.DataObj.IID; | |
29 verbose stack | |
29 verbose stack var cookie = getCookie('UserCheck_UserID'); | |
29 verbose stack requestData.UserID = cookie != null ? cookie : ""; | |
29 verbose stack | |
29 verbose stack requestData.IsThinPortal = window.isThinPortal === true ? true : false; | |
29 verbose stack | |
29 verbose stack var selectedLanguage = getCookie('UserCheck_Selected_Language'); | |
29 verbose stack if(selectedLanguage == null) | |
29 verbose stack { | |
29 verbose stack selectedLanguage = ""; | |
29 verbose stack } | |
29 verbose stack requestData.UserLang = selectedLanguage; | |
29 verbose stack | |
29 verbose stack var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckIncidentData"); | |
29 verbose stack | |
29 verbose stack if (window.isThinPortal === true) | |
29 verbose stack { | |
29 verbose stack //Create a custom timeout handler for the thin portal. | |
29 verbose stack PORTAL_IS.AJAX_MGR.customTimeoutHandler = function() | |
29 verbose stack { | |
29 verbose stack window.location = "about:blank"; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack sendAsynchronousRequest(sAbsoluteURL, | |
29 verbose stack flattenObject(requestData), | |
29 verbose stack this.handleUserCheckIncidentData, | |
29 verbose stack this, | |
29 verbose stack [new Callback()]); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack //Toggles the button's state from enabled to disabled and vice versa. | |
29 verbose stack this.setButtonMode = function(buttonState, buttonID) | |
29 verbose stack { | |
29 verbose stack var button = document.getElementById(buttonID); | |
29 verbose stack if(button == null) | |
29 verbose stack return; | |
29 verbose stack | |
29 verbose stack var correctClass = window.oUserAction.getCorrectClass(); | |
29 verbose stack | |
29 verbose stack if(buttonState) | |
29 verbose stack { | |
29 verbose stack //Enable the button. | |
29 verbose stack button.setAttribute(correctClass, "button"); | |
29 verbose stack button.onclick = function(){ javascript:oUserAction.submitOK(); }; | |
29 verbose stack | |
29 verbose stack button.style.cursor = "pointer"; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack //Disable the button. | |
29 verbose stack button.setAttribute(correctClass, "button buttonDisabled"); | |
29 verbose stack button.onclick = null; | |
29 verbose stack | |
29 verbose stack button.style.cursor = "default"; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack //Changes the button CSS class (support for IE6-8). buttonCLS is for additional classes to be added to the button. | |
29 verbose stack this.setButtonState = function(state, buttonID, buttonCLS) | |
29 verbose stack { | |
29 verbose stack if (!buttonID) | |
29 verbose stack { | |
29 verbose stack buttonID = 'UserCheck_OK_Button'; | |
29 verbose stack buttonCLS = ''; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var correctClass = window.oUserAction.getCorrectClass(); | |
29 verbose stack | |
29 verbose stack var button = document.getElementById(buttonID); | |
29 verbose stack | |
29 verbose stack if(button.getAttribute(correctClass).indexOf("Disabled") == -1) | |
29 verbose stack { | |
29 verbose stack //The button is not disabled. | |
29 verbose stack button.setAttribute(correctClass, "button button" + state + " " + buttonCLS); | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.handleUserCheckIncidentData = function(xhrStatus, xhrResponse, callback) | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UserAction::handleUserCheckIncidentData"); | |
29 verbose stack | |
29 verbose stack if (callback == undefined) | |
29 verbose stack { | |
29 verbose stack callback = new Callback(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if (xhrStatus != 200) | |
29 verbose stack { | |
29 verbose stack DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
29 verbose stack callback.call(); | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.incidentObject = JSON.parse(xhrResponse); | |
29 verbose stack var Languages = this.incidentObject.Languages; | |
29 verbose stack var UserCheckLogoID = this.incidentObject.UserCheckLogoID; | |
29 verbose stack var RedirectToAddr = this.incidentObject.RedirectToAddr; | |
29 verbose stack var AutoRedirect = this.incidentObject.AutoRedirect; | |
29 verbose stack var ExternalSystemURL = this.incidentObject.ExternalSystemURL; | |
29 verbose stack var Action = this.incidentObject.Action; | |
29 verbose stack var Variables = this.incidentObject.Variables; | |
29 verbose stack | |
29 verbose stack this.incidentObject.HasBeenCancelled = false; | |
29 verbose stack | |
29 verbose stack setCookie('UserCheck_UserID', this.incidentObject.UserID, 31556926); | |
29 verbose stack | |
29 verbose stack if (Variables['product'] != 'Threat Extraction') | |
29 verbose stack { | |
29 verbose stack if(AutoRedirect == true && RedirectToAddr != "") | |
29 verbose stack { | |
29 verbose stack if (window.isThinPortal === undefined) | |
29 verbose stack { | |
29 verbose stack //We have an address and auto redirect is true so redirect to that URL. | |
29 verbose stack // if (RedirectToAddr.indexOf('http://') != 0) | |
29 verbose stack if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
29 verbose stack RedirectToAddr = "http://" + RedirectToAddr; | |
29 verbose stack | |
29 verbose stack window.location = RedirectToAddr; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack window.location = "about:blank"; //No reason to redirect in the Thin Portal | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack if (Action == "SCRUB-SUCCESS") | |
29 verbose stack { | |
29 verbose stack // in scrub success page, if not mobile or thin, give more space for the list of original files names and info | |
29 verbose stack if(window.browserDetails.isMobile() === false && window.isThinPortal === undefined) | |
29 verbose stack { | |
29 verbose stack var content_table = document.getElementById("usercheck_content_table"); | |
29 verbose stack if (content_table != null) | |
29 verbose stack { | |
29 verbose stack content_table.style.tableLayout="auto"; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var message_div = document.getElementById("usercheck_main_div"); | |
29 verbose stack if (message_div != null) | |
29 verbose stack { | |
29 verbose stack message_div.style.minWidth="auto"; | |
29 verbose stack message_div.style.maxWidth="700px"; | |
29 verbose stack message_div.style.whiteSpace="nowrap"; | |
29 verbose stack message_div.style.wordWrap="normal"; | |
29 verbose stack message_div.style.overflow="auto"; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var requestData = { | |
29 verbose stack IID: "-1" | |
29 verbose stack }; | |
29 verbose stack requestData.IID = UserCheck.DataObj.IID; | |
29 verbose stack var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetScrubFiles"); | |
29 verbose stack sendAsynchronousRequest(sAbsoluteURL, | |
29 verbose stack flattenObject(requestData), | |
29 verbose stack this.handleScrubbingFiles, | |
29 verbose stack this, | |
29 verbose stack [new Callback()]); | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if(ExternalSystemURL != "") | |
29 verbose stack //We have an external system address so redirect to that URL. | |
29 verbose stack // window.location = ExternalSystemURL + (this.incidentObject.ForwardParams == true ? "?IncidentID=" + UserCheck.DataObj.IID + "&UserID=" + this.incidentObject.UserID : ""); | |
29 verbose stack if (this.incidentObject.ForwardParams == true) | |
29 verbose stack { | |
29 verbose stack window.location = ExternalSystemURL + "?IncidentID=" + UserCheck.DataObj.IID + "&UserID=" + this.incidentObject.UserID; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack window.location = ExternalSystemURL; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack this.prepareLanguageSelection(); | |
29 verbose stack | |
29 verbose stack if(window.self !== window.top) | |
29 verbose stack { | |
29 verbose stack //We are inside a frame. Display small version of the portal and give link to a full version of the portal in new tab/window. | |
29 verbose stack | |
29 verbose stack var url = '<a href="' + window.location + "&frame=1" + '" target="_blank">'; | |
29 verbose stack if (Action == "SCRUB-SUCCESS") | |
29 verbose stack { | |
29 verbose stack Action = "INFORM"; | |
29 verbose stack } | |
29 verbose stack url += draw_img_tag(getURL("img/" + Action.toLowerCase() + ".png")) + ' '; | |
29 verbose stack url += Action == 'BLOCK' ? PORTAL_IS.L10N.L10N_Obj.getStr("UC.BLOCKED_IFRAME") : PORTAL_IS.L10N.L10N_Obj.getStr("UC.INFO_IFRAME"); | |
29 verbose stack url += '</a>'; | |
29 verbose stack | |
29 verbose stack document.body.innerHTML = url; | |
29 verbose stack document.body.style.backgroundImage = 'none'; | |
29 verbose stack document.body.style.textAlign = 'center'; | |
29 verbose stack document.body.style.verticalAlign = 'text-bottom'; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack //Decide which footer to display according to the action type (for Block and Limit we display footer without CP logo). | |
29 verbose stack if(window.isThinPortal === true) | |
29 verbose stack { | |
29 verbose stack var thin_table = document.getElementById('usercheck_thin_table'); | |
29 verbose stack if(thin_table != null && Action != 'BLOCK' && Action != 'LIMIT') | |
29 verbose stack { | |
29 verbose stack var correctClass = window.oUserAction.getCorrectClass(); | |
29 verbose stack | |
29 verbose stack thin_table.setAttribute(correctClass, "usercheck_main_mobile_background_class with_logo"); | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack var logo_footer = document.getElementById('footer_table_logo'); | |
29 verbose stack if(logo_footer != null && Action != 'BLOCK' && Action != 'LIMIT') | |
29 verbose stack { | |
29 verbose stack var correctClass = window.oUserAction.getCorrectClass(); | |
29 verbose stack | |
29 verbose stack logo_footer.setAttribute(correctClass, "usercheck_footer_table_class footer_logo"); | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack g_userID = this.incidentObject.UserID; | |
29 verbose stack | |
29 verbose stack if (Action == "SCRUB-SUCCESS") | |
29 verbose stack { | |
29 verbose stack Action = "INFORM"; | |
29 verbose stack } | |
29 verbose stack //Draw incident image according to the incident type | |
29 verbose stack if(document.getElementById('usercheck_img_div') !== null) | |
29 verbose stack document.getElementById('usercheck_img_div').innerHTML = draw_img_tag(getURL("img/" + Action.toLowerCase() + ".png")); | |
29 verbose stack | |
29 verbose stack if(this.incidentObject.IsLogoConfigured) | |
29 verbose stack { | |
29 verbose stack //The page has a logo defined in the GUI - load it. | |
29 verbose stack | |
29 verbose stack //Desktop header. | |
29 verbose stack var header_right_logo = document.getElementById('usercheck_header_right_logo'); | |
29 verbose stack if(header_right_logo != null) | |
29 verbose stack if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7) | |
29 verbose stack header_right_logo.style.display = "block"; | |
29 verbose stack else | |
29 verbose stack header_right_logo.style.display = "table-cell"; | |
29 verbose stack | |
29 verbose stack var header_right_empty = document.getElementById('usercheck_header_right_empty'); | |
29 verbose stack if(header_right_empty != null) | |
29 verbose stack header_right_empty.style.display = "none"; | |
29 verbose stack | |
29 verbose stack //Mobile header. | |
29 verbose stack var mobile_header = document.getElementById('header_mobile_div'); | |
29 verbose stack if(mobile_header != null) | |
29 verbose stack { | |
29 verbose stack mobile_header.style.display = "block"; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack //Company logo. | |
29 verbose stack var company_logo = document.getElementById('usercheck_company_logo'); | |
29 verbose stack if(company_logo != null) | |
29 verbose stack company_logo.src = getURL("images/interactions/" + UserCheckLogoID + ".png"); | |
29 verbose stack } | |
29 verbose stack else if(window.isThinPortal === true) | |
29 verbose stack { | |
29 verbose stack //If there is no logo defined, display the default logo in the thin portal. | |
29 verbose stack var company_logo = document.getElementById('usercheck_company_logo'); | |
29 verbose stack if(company_logo != null) | |
29 verbose stack company_logo.src = getURL("img/cp_logo_mobile_thin.png"); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack //Start the timeout manager. | |
29 verbose stack UserCheck.tools.oTimeoutManager.startTimeoutTimer(this.incidentObject.Expiration - 15, this.handleTimeout); | |
29 verbose stack | |
29 verbose stack if (UserCheck.DataObj.GetSingleIncidentReview !== undefined && UserCheck.DataObj.GetSingleIncidentReview == 1) | |
29 verbose stack { | |
29 verbose stack window.singleIncident = new SingleIncident(); | |
29 verbose stack singleIncident.init(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack callback.call(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.submitOK = function() | |
29 verbose stack { | |
29 verbose stack //This function determines if it is OK to proceed with sending a response if all validation criteria are met. | |
29 verbose stack | |
29 verbose stack //If we are in a Block action in thin portal, just redirect to about:blank. | |
29 verbose stack if (window.isThinPortal === true && window.oUserAction.incidentObject.Action === "BLOCK") | |
29 verbose stack { | |
29 verbose stack window.location = "about:blank"; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if(document.getElementById('UserCheck_Textual_Input') != null) | |
29 verbose stack //Verify we have the real textarea! | |
29 verbose stack if(document.getElementById('UserCheck_Textual_Input').value !== undefined) | |
29 verbose stack //Unfocus the text-area. | |
29 verbose stack document.getElementById('UserCheck_Textual_Input').blur(); | |
29 verbose stack | |
29 verbose stack if(!window.oUserAction.highlightInput()) | |
29 verbose stack //There was some user input missing - don't continue. | |
29 verbose stack return; | |
29 verbose stack | |
29 verbose stack var cookie = getCookie('UserCheck_UserID'); | |
29 verbose stack | |
29 verbose stack var requestData = {}; | |
29 verbose stack | |
29 verbose stack requestData.IID = "-1"; | |
29 verbose stack requestData.UserOption = "OK"; | |
29 verbose stack | |
29 verbose stack requestData.UserID = cookie; | |
29 verbose stack requestData.IsReasonExist = true; | |
29 verbose stack if(document.getElementById('UserCheck_Textual_Input') != null) | |
29 verbose stack { | |
29 verbose stack var reason = document.getElementById('UserCheck_Textual_Input').value; | |
29 verbose stack | |
29 verbose stack //If the reason box is not found, there is nothing to enforce. | |
29 verbose stack if(reason === undefined) | |
29 verbose stack { | |
29 verbose stack reason = ""; | |
29 verbose stack requestData.IsReasonExist = false; | |
29 verbose stack } | |
29 verbose stack else if(window.oUserAction.incidentObject.IsReasonEnforced === true && (reason.length == 0 || reason.length > 400)) | |
29 verbose stack return; | |
29 verbose stack | |
29 verbose stack requestData.Reason = reason; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack requestData.IsReasonExist = false; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack //Sometimes the cookie is not written correctly, so used global user. | |
29 verbose stack if(requestData.UserID == null || requestData.UserID == "") | |
29 verbose stack requestData.UserID = g_userID; | |
29 verbose stack | |
29 verbose stack requestData.IID = UserCheck.DataObj.IID; | |
29 verbose stack | |
29 verbose stack var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
29 verbose stack | |
29 verbose stack sendAsynchronousRequest(sAbsoluteURL, | |
29 verbose stack flattenObject(requestData), | |
29 verbose stack this.handleUserCheckChoiceData, | |
29 verbose stack this, | |
29 verbose stack [new Callback()]); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.submitCancel = function() | |
29 verbose stack { | |
29 verbose stack if(window.oUserAction.incidentObject.CancelURL !== undefined && window.oUserAction.incidentObject.CancelURL !== "") | |
29 verbose stack { | |
29 verbose stack window.location = window.oUserAction.incidentObject.CancelURL; | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack if (window.isThinPortal == true) | |
29 verbose stack { | |
29 verbose stack window.location = "about:blank"; | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack this.init(true); | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.handleUserCheckChoiceData = function(xhrStatus, xhrResponse, callback) | |
29 verbose stack { | |
29 verbose stack try | |
29 verbose stack { | |
29 verbose stack window.external.OKButtonClickedResponseReceived('Done handling request'); | |
29 verbose stack } | |
29 verbose stack catch(err) | |
29 verbose stack { | |
29 verbose stack //do nothing, this is probably the fat client | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack DEBUG.out("UserAction::handleUserCheckChoiceData"); | |
29 verbose stack | |
29 verbose stack if (callback == undefined) | |
29 verbose stack { | |
29 verbose stack callback = new Callback(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if (xhrStatus != 200) | |
29 verbose stack { | |
29 verbose stack DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
29 verbose stack callback.call(); | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var newViewJSONObj = JSON.parse(xhrResponse); | |
29 verbose stack | |
29 verbose stack var RedirectToAddr = newViewJSONObj.RedirectToAddr; | |
29 verbose stack if (window.oUserAction.incidentObject.Variables['product'] != 'Threat Extraction') | |
29 verbose stack { | |
29 verbose stack if(RedirectToAddr != "") | |
29 verbose stack { | |
29 verbose stack var frame = "0"; | |
29 verbose stack | |
29 verbose stack frame = UserCheck.DataObj.frame; | |
29 verbose stack | |
29 verbose stack if(typeof frame === "undefined" || frame == "0" || frame == "") | |
29 verbose stack { | |
29 verbose stack if (window.isThinPortal === undefined) | |
29 verbose stack { | |
29 verbose stack //We have an address so redirect to that URL. | |
29 verbose stack if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
29 verbose stack RedirectToAddr = "http://" + RedirectToAddr; | |
29 verbose stack window.location = RedirectToAddr; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack window.location = "about:blank"; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack if (window.isThinPortal === undefined) | |
29 verbose stack { | |
29 verbose stack //We have an address so redirect to that URL in the parent frame. | |
29 verbose stack if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
29 verbose stack RedirectToAddr = "http://" + RedirectToAddr; | |
29 verbose stack | |
29 verbose stack window.opener.location = RedirectToAddr; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack window.opener.location = "about:blank"; | |
29 verbose stack } | |
29 verbose stack window.close(); | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack var frame = "0"; | |
29 verbose stack frame = UserCheck.DataObj.frame; | |
29 verbose stack if(typeof frame === "undefined" || frame == "0" || frame == "") | |
29 verbose stack { | |
29 verbose stack if (window.isThinPortal == true) | |
29 verbose stack { | |
29 verbose stack window.location = "about:blank"; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack if (window.isThinPortal == true) | |
29 verbose stack { | |
29 verbose stack window.opener.location = "about:blank"; | |
29 verbose stack } | |
29 verbose stack window.close(); | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack window.location.reload(); | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack this.handleUserReportWrongCategoryData = function(xhrStatus, xhrResponse, callback) | |
29 verbose stack { | |
29 verbose stack | |
29 verbose stack DEBUG.out("UserAction::handleUserLogData"); | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.handleTimeout = function() | |
29 verbose stack { | |
29 verbose stack var requestData = { | |
29 verbose stack IID: "-1" | |
29 verbose stack }; | |
29 verbose stack | |
29 verbose stack requestData.IID = UserCheck.DataObj.IID; | |
29 verbose stack | |
29 verbose stack var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("ExtendTimeout"); | |
29 verbose stack | |
29 verbose stack sendAsynchronousRequest(sAbsoluteURL, | |
29 verbose stack flattenObject(requestData), | |
29 verbose stack window.oUserAction.handleTimeoutExtension, | |
29 verbose stack this, | |
29 verbose stack [new Callback()]); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.handleTimeoutExtension = function(xhrStatus, xhrResponse, callback) | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UserAction::handleTimeoutExtension"); | |
29 verbose stack | |
29 verbose stack if (callback == undefined) | |
29 verbose stack { | |
29 verbose stack callback = new Callback(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if (xhrStatus != 200) | |
29 verbose stack { | |
29 verbose stack if (window.isThinPortal === undefined) | |
29 verbose stack { | |
29 verbose stack DEBUG.out('Retreiving UserCheck Timeout Extension data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
29 verbose stack callback.call(); | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack window.location = "about:blank"; | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack var extensionObject = JSON.parse(xhrResponse); | |
29 verbose stack | |
29 verbose stack if(extensionObject.ReturnCode == "SUCCESS") | |
29 verbose stack { | |
29 verbose stack UserCheck.tools.oTimeoutManager.startTimeoutTimer(extensionObject.Expiration - 15, window.oUserAction.handleTimeout); | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack if(window.isThinPortal === undefined) | |
29 verbose stack { | |
29 verbose stack var button = document.getElementById('UserCheck_OK_Button'); | |
29 verbose stack if(button !=null) | |
29 verbose stack button.style.display = "none"; | |
29 verbose stack var select = document.getElementById('usercheck_language_selection'); | |
29 verbose stack if(select != null) | |
29 verbose stack select.disabled = true; | |
29 verbose stack | |
29 verbose stack showPortalMessage(PORTAL_IS.L10N.L10N_Obj.getStr("TIMEOUT") + " <a href='" + window.oUserAction.incidentObject.RedirectToAddr + "'>" + PORTAL_IS.L10N.L10N_Obj.getStr("RETRY") + "</a>", null, PORTAL_IS.MESSAGE_TYPE.Display, true); | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack /* If we are in thin portal, redirect to about:blank | |
29 verbose stack so that client can catch it and act accordingly. */ | |
29 verbose stack window.location = "about:blank"; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack //Prepare for language selection. | |
29 verbose stack this.prepareLanguageSelection = function() | |
29 verbose stack { | |
29 verbose stack var Languages = this.incidentObject.Languages; | |
29 verbose stack var prevSelectedLanguage = null; | |
29 verbose stack var userSelected = false; | |
29 verbose stack if (UserCheck.DataObj.Lang != "" && UserCheck.DataObj.Lang !== undefined) | |
29 verbose stack { | |
29 verbose stack prevSelectedLanguage = UserCheck.DataObj.Lang; | |
29 verbose stack userSelected = true; | |
29 verbose stack } | |
29 verbose stack else if (this.incidentObject.PreferredLang != "") | |
29 verbose stack { | |
29 verbose stack prevSelectedLanguage = this.incidentObject.PreferredLang; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack prevSelectedLanguage = getCookie('UserCheck_Selected_Language'); | |
29 verbose stack } | |
29 verbose stack var count = 0; | |
29 verbose stack | |
29 verbose stack //If there is no cookie, get the browser locale. | |
29 verbose stack if(prevSelectedLanguage == null) | |
29 verbose stack { | |
29 verbose stack var langArr = {}; | |
29 verbose stack for(var Language in Languages) | |
29 verbose stack { | |
29 verbose stack langArr[Languages[Language].LanguageCode] = true; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack prevSelectedLanguage = PORTAL_IS.L10N.L10N_Obj.selectLanguage(langArr); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if(document.getElementById('usercheck_language_selection_div') != null) | |
29 verbose stack { | |
29 verbose stack count = 0; | |
29 verbose stack for(var Language in Languages) | |
29 verbose stack { | |
29 verbose stack var select = document.getElementById('usercheck_language_selection'); | |
29 verbose stack select.options[select.options.length] = new Option(Languages[Language].Language, Language, false, Language === prevSelectedLanguage); | |
29 verbose stack count++; | |
29 verbose stack } | |
29 verbose stack //Display language selection only if NOT in thin portal. | |
29 verbose stack if(count > 1 && window.isThinPortal === undefined) | |
29 verbose stack document.getElementById('usercheck_language_selection_div').style.display = "block"; | |
29 verbose stack | |
29 verbose stack } | |
29 verbose stack this.handleLanguageChange(true, userSelected); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack //Handles language change. | |
29 verbose stack this.handleLanguageChange = function(noReloadLang, userSelected) | |
29 verbose stack { | |
29 verbose stack var select = document.getElementById('usercheck_language_selection'); | |
29 verbose stack var selectedLanguage = select.options[select.selectedIndex].value; | |
29 verbose stack if(noReloadLang === true) | |
29 verbose stack { | |
29 verbose stack //No need to load the language - if it is already loaded. | |
29 verbose stack this.asyncLanguageChangeCallback(userSelected); | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack //Reload language strings. | |
29 verbose stack PORTAL_IS.L10N.L10N_Obj.reloadLanguageTo(selectedLanguage, "en", this.asyncLanguageChangeCallback); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.checkBoxExists = function(adminMessage) | |
29 verbose stack { | |
29 verbose stack if(adminMessage.indexOf("UserCheck_Confirm_Checkbox") != -1) | |
29 verbose stack return true; | |
29 verbose stack | |
29 verbose stack return false; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.textareaExists = function(adminMessage) | |
29 verbose stack { | |
29 verbose stack if(adminMessage.indexOf("UserCheck_Textual_Input") != -1) | |
29 verbose stack return true; | |
29 verbose stack | |
29 verbose stack return false; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.asyncLanguageChangeCallback = function(userSelected) | |
29 verbose stack { | |
29 verbose stack if (userSelected === undefined) | |
29 verbose stack { | |
29 verbose stack userSelected = true; | |
29 verbose stack } | |
29 verbose stack var select = document.getElementById('usercheck_language_selection'); | |
29 verbose stack var check = document.getElementById('UserCheck_Confirm_Checkbox'); | |
29 verbose stack | |
29 verbose stack var selectedLanguage = "Default"; | |
29 verbose stack if(select != null) | |
29 verbose stack selectedLanguage = select.options[select.selectedIndex].value; | |
29 verbose stack var checkBoxValue = check != null ? check.checked : false; | |
29 verbose stack | |
29 verbose stack //Save cookie for the selected language. Only if it is from a User Selection. | |
29 verbose stack if (userSelected) | |
29 verbose stack { | |
29 verbose stack setCookie('UserCheck_Selected_Language', selectedLanguage == "Default" ? "en" : selectedLanguage, 31556926, "/"); | |
29 verbose stack var cookieVal = getCookie('UserCheck_UserID'); | |
29 verbose stack | |
29 verbose stack var handleUpdateUserDataResponse = function(xhrStatus, xhrResponse, callback){ | |
29 verbose stack var newURL = window.location.href; | |
29 verbose stack //alert("newURL '"+newURL+"'"); | |
29 verbose stack var langLoc = newURL.indexOf("&Lang="); | |
29 verbose stack //alert("langLoc '"+langLoc+"'"); | |
29 verbose stack if (langLoc != -1) | |
29 verbose stack { | |
29 verbose stack newURL = newURL.substring(0, langLoc); | |
29 verbose stack //alert("newURL '"+newURL+"'"); | |
29 verbose stack } | |
29 verbose stack window.location = newURL; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack sendAsynchronousRequest(getURL("UpdateUserData"), | |
29 verbose stack "Language="+encodeURIComponent(selectedLanguage) + "&IID="+encodeURIComponent(UserCheck.DataObj.IID)+"&UserID="+cookieVal, | |
29 verbose stack handleUpdateUserDataResponse, | |
29 verbose stack this, | |
29 verbose stack [new Callback()]); | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack | |
29 verbose stack //Keep this value globally for other funcs. | |
29 verbose stack window.oUserAction.incidentObject.SelectedLanguage = selectedLanguage; | |
29 verbose stack | |
29 verbose stack var Languages = window.oUserAction.incidentObject.Languages; | |
29 verbose stack var TitleText = Languages[selectedLanguage].TitleText; | |
29 verbose stack var AdminMessage = Languages[selectedLanguage].AdminMessage; | |
29 verbose stack var CancelMessage = Languages[selectedLanguage].CancelMessage; | |
29 verbose stack var OKButtonMessage = window.oUserAction.incidentObject.OKButtonMessage[selectedLanguage]; | |
29 verbose stack var CancelButtonMessage = window.oUserAction.incidentObject.CancelButtonMessage[selectedLanguage]; | |
29 verbose stack var SendButtonMessage = window.oUserAction.incidentObject.SendButtonMessage[selectedLanguage]; | |
29 verbose stack var MiddleButtonMessage = window.oUserAction.incidentObject.MiddleButtonMessage[selectedLanguage]; | |
29 verbose stack var HTTPLearningEnabled = window.oUserAction.incidentObject.HTTPLearningEnabled; | |
29 verbose stack var PageTitle = Languages[selectedLanguage].PageTitle; | |
29 verbose stack | |
29 verbose stack document.getElementById('usercheck_title_div').innerHTML = TitleText; | |
29 verbose stack | |
29 verbose stack if(window.oUserAction.incidentObject.HasBeenCancelled === undefined || window.oUserAction.incidentObject.HasBeenCancelled === false) | |
29 verbose stack { | |
29 verbose stack if (window.oUserAction.incidentObject.IncidentStatus == 0 || window.oUserAction.incidentObject.IncidentStatus == 2 || window.oUserAction.incidentObject.IncidentStatus == 8)//ok or cancel or ok_scrubbing | |
29 verbose stack { | |
29 verbose stack document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
29 verbose stack } | |
29 verbose stack else if (window.oUserAction.incidentObject.IncidentStatus == 3)// sent | |
29 verbose stack { | |
29 verbose stack // if http learning is enabled on action succeded show the HTTP_LEARNING message | |
29 verbose stack if (HTTPLearningEnabled == true && window.oUserAction.incidentObject.RedirectToAddr != "") | |
29 verbose stack { | |
29 verbose stack var usercheck_main_div = document.getElementById('usercheck_main_div') | |
29 verbose stack if (usercheck_main_div != null) | |
29 verbose stack usercheck_main_div.innerHTML = "<p>" +PORTAL_IS.L10N.L10N_Obj.getStr("HTTP_LEARNING")+"</p>"; | |
29 verbose stack } | |
29 verbose stack else // an SMTP message | |
29 verbose stack { | |
29 verbose stack document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack else if (window.oUserAction.incidentObject.IncidentStatus == 4)//discarded | |
29 verbose stack { | |
29 verbose stack document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
29 verbose stack } | |
29 verbose stack else if (window.oUserAction.incidentObject.IncidentStatus == 5)//already sent | |
29 verbose stack { | |
29 verbose stack if (HTTPLearningEnabled == true && window.oUserAction.incidentObject.RedirectToAddr != "") | |
29 verbose stack { | |
29 verbose stack //if approved http and then refreshed the page | |
29 verbose stack var usercheck_main_div = document.getElementById('usercheck_main_div') | |
29 verbose stack if (usercheck_main_div != null) | |
29 verbose stack usercheck_main_div.innerHTML = "<p>" +PORTAL_IS.L10N.L10N_Obj.getStr("HTTP_LEARNING")+"</p>"; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
29 verbose stack var return_to_site_div = document.getElementById('usercheck_return_to_site_div') | |
29 verbose stack if (return_to_site_div != null) | |
29 verbose stack return_to_site_div.innerHTML = "<p style='color: #FF5000;font-weight: bold;'>" +PORTAL_IS.L10N.L10N_Obj.getStr("EMAIL_ALREADY_SENT") +"</p>"; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack else if (window.oUserAction.incidentObject.IncidentStatus == 6)//already discarded | |
29 verbose stack { | |
29 verbose stack document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
29 verbose stack var return_to_site_div = document.getElementById('usercheck_return_to_site_div') | |
29 verbose stack if (return_to_site_div != null) | |
29 verbose stack return_to_site_div.innerHTML = "<p style='color: #FF5000;font-weight: bold;'>" +PORTAL_IS.L10N.L10N_Obj.getStr("EMAIL_ALREADY_DISCARDED") +"</p>"; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack document.getElementById('usercheck_main_div').innerHTML = "<p>" + PORTAL_IS.L10N.L10N_Obj.getStr("UNKOWN_INCIDENT_STATUS") + "</p>" + window.oUserAction.incidentObject.IncidentStatus; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack var btnDiv = document.getElementById('usercheck_ok_div'); | |
29 verbose stack if (btnDiv != null) | |
29 verbose stack btnDiv.innerHTML = OKButtonMessage; | |
29 verbose stack btnDiv = document.getElementById('usercheck_cancel_div'); | |
29 verbose stack if (btnDiv != null) | |
29 verbose stack btnDiv.innerHTML = CancelButtonMessage; | |
29 verbose stack btnDiv = document.getElementById('usercheck_send_div'); | |
29 verbose stack // show the send button on SMTP (which is actually the send button) OR show it on inform action (which is actually OK button) | |
29 verbose stack if (btnDiv != null && (window.oUserAction.incidentObject.RedirectToAddr == "" || window.oUserAction.incidentObject.Action == "INFORM") ) | |
29 verbose stack { | |
29 verbose stack // alert("setting usercheck_send_div"); | |
29 verbose stack btnDiv.innerHTML = SendButtonMessage; | |
29 verbose stack } | |
29 verbose stack btnDiv = document.getElementById('usercheck_middle_div'); | |
29 verbose stack if (btnDiv != null) | |
29 verbose stack { | |
29 verbose stack // alert("setting discard button div"); | |
29 verbose stack btnDiv.innerHTML = MiddleButtonMessage; | |
29 verbose stack } | |
29 verbose stack var goBackDiv = document.getElementById('usercheck_return_to_site_div'); | |
29 verbose stack if (goBackDiv) | |
29 verbose stack { | |
29 verbose stack // show return to site only when its http violation AND if the action is: sent or discarded or already sent or already discarded or cancelled. | |
29 verbose stack if (window.oUserAction.incidentObject.RedirectToAddr != "" && (window.oUserAction.incidentObject.IncidentStatus == 3 || window.oUserAction.incidentObject.IncidentStatus == 4 || window.oUserAction.incidentObject.IncidentStatus == 5 || window.oUserAction.incidentObject.IncidentStatus == 6 || window.oUserAction.incidentObject.IncidentStatus == 2)) | |
29 verbose stack { | |
29 verbose stack goBackDiv.innerHTML = '<a href="' + window.oUserAction.incidentObject.RedirectToAddr + '">' + PORTAL_IS.L10N.L10N_Obj.getStr("RETURN_TO_SITE") + '</a>'; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack document.getElementById('usercheck_main_div').innerHTML = CancelMessage; | |
29 verbose stack | |
29 verbose stack var page_title = document.getElementById('usercheck_page_title'); | |
29 verbose stack if(page_title != null) | |
29 verbose stack page_title.innerHTML = PageTitle; | |
29 verbose stack | |
29 verbose stack var span = document.getElementById('UserCheck_OK_Button_span'); | |
29 verbose stack if(span != null) | |
29 verbose stack span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.OK'); | |
29 verbose stack | |
29 verbose stack span = document.getElementById('UserCheck_Cancel_Button_span'); | |
29 verbose stack if(span != null) | |
29 verbose stack span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.CANCEL'); | |
29 verbose stack | |
29 verbose stack span = document.getElementById('UserCheck_Send_Button_span'); | |
29 verbose stack if(span != null) | |
29 verbose stack span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.SEND'); | |
29 verbose stack span = document.getElementById('UserCheck_Middle_Button_span'); | |
29 verbose stack if(span != null) | |
29 verbose stack { | |
29 verbose stack if (window.oUserAction.incidentObject.RedirectToAddr == "") | |
29 verbose stack span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.DISCARD'); | |
29 verbose stack else | |
29 verbose stack span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr("BUTTON.APPROVE"); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var reportLink = document.getElementById('UserCheck_Wrong_Category'); | |
29 verbose stack if(reportLink != null) | |
29 verbose stack { | |
29 verbose stack var correctClass = window.oUserAction.getCorrectClass(); | |
29 verbose stack | |
29 verbose stack reportLink.setAttribute(correctClass, "usercheck_url_class"); | |
29 verbose stack | |
29 verbose stack reportLink.onclick = function(e) { window.oUserAction.sendReport(); } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack //Clear the error message when switching language. | |
29 verbose stack var errorElement = document.getElementById('usercheck_error_div'); | |
29 verbose stack if(errorElement != null) | |
29 verbose stack errorElement.innerHTML = " "; | |
29 verbose stack | |
29 verbose stack //Keep TextArea default text to disallow it as input. | |
29 verbose stack var textarea_element = null; | |
29 verbose stack | |
29 verbose stack if(window.oUserAction.textareaExists(AdminMessage)) | |
29 verbose stack { | |
29 verbose stack textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
29 verbose stack //If the textarea is an incorrect element or length is correct, check passes. | |
29 verbose stack if(textarea_element.value === undefined) | |
29 verbose stack { | |
29 verbose stack //This element is not really our text area so we don't need it. | |
29 verbose stack textarea_element = null; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if(textarea_element != null) | |
29 verbose stack { | |
29 verbose stack window.oUserAction.textAreaText = textarea_element.value; | |
29 verbose stack | |
29 verbose stack var correctClass = window.oUserAction.getCorrectClass(); | |
29 verbose stack textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class usercheck_textual_input_class_required"); | |
29 verbose stack | |
29 verbose stack textarea_element.onfocus = function() { window.oUserAction.clearRequiredInput(); }; | |
29 verbose stack } | |
29 verbose stack //disable the approve button only on PortalMaindlp. on thin client approve button should always be enabled | |
29 verbose stack if (window.oUserAction.incidentObject.RedirectToAddr != "" && window.isThinPortal != true) | |
29 verbose stack { | |
29 verbose stack window.oUserActionCommon.DlpHttpLearning(AdminMessage,HTTPLearningEnabled); | |
29 verbose stack } | |
29 verbose stack // hiding the cancel button on infom on dlp only | |
29 verbose stack window.oUserActionCommon.DlpHideCancelBtn(window.oUserAction.incidentObject.Action); | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack //Sends report for wrong category. | |
29 verbose stack this.sendReport = function() | |
29 verbose stack { | |
29 verbose stack var Variables = window.oUserAction.incidentObject.Variables; | |
29 verbose stack | |
29 verbose stack var resource = Variables['resource'] === undefined ? "" : Variables['resource']; | |
29 verbose stack var hmac = Variables['resource_hmac'] === undefined ? "" : Variables['resource_hmac']; | |
29 verbose stack var version = Variables['version']; | |
29 verbose stack var product = Variables['product']; | |
29 verbose stack | |
29 verbose stack //Get the application name. If this variable has been modified (added application icon for example), take the original. | |
29 verbose stack var appname = Variables['application_name_orig']; | |
29 verbose stack var malwareID = Variables['application_id']; | |
29 verbose stack if(appname === undefined) | |
29 verbose stack appname = Variables['application_name']; | |
29 verbose stack | |
29 verbose stack var base64UrlEncode = function(input) { return $.base64Encode(input).replace(/\+/g, '-').replace(/\//g, '_').replace(/\=/g, '') }; | |
29 verbose stack | |
29 verbose stack //Encode to base64 URL form spec. | |
29 verbose stack appname = base64UrlEncode(appname); | |
29 verbose stack resource = base64UrlEncode(resource); | |
29 verbose stack | |
29 verbose stack //URL of the external URL | |
29 verbose stack var url = window.location.protocol + "//cws.checkpoint.com/MISCAT/miscat/1.0?resource=" + resource + "&hmac=" + hmac + "&appname=" + appname + "&version=" + version + "&product=" + product + "&malwareID=" + malwareID; | |
29 verbose stack | |
29 verbose stack //Display a portal messge indicating the action was successful. On mobile devices we use the built-in message display. | |
29 verbose stack if(window.browserDetails.isMobile()) | |
29 verbose stack alert(PORTAL_IS.L10N.L10N_Obj.getStr("REPORT_SUCCESS")); | |
29 verbose stack else | |
29 verbose stack showPortalMessage('<table><tr><td>' + draw_img_tag_span(getURL("images/confirmation.png")) + ' </td><td>' + PORTAL_IS.L10N.L10N_Obj.getStr("REPORT_SUCCESS") + '</td></tr></table>', null, PORTAL_IS.MESSAGE_TYPE.Confirmation, true, false); | |
29 verbose stack | |
29 verbose stack var img = new Image(); | |
29 verbose stack img.src = url; | |
29 verbose stack | |
29 verbose stack var reportLink = document.getElementById('UserCheck_Wrong_Category'); | |
29 verbose stack | |
29 verbose stack var correctClass = window.oUserAction.getCorrectClass(); | |
29 verbose stack | |
29 verbose stack //Disable the link. | |
29 verbose stack reportLink.setAttribute(correctClass, "usercheck_url_class usercheck_disabled_url_class"); | |
29 verbose stack | |
29 verbose stack //send log on wrong category | |
29 verbose stack var cookie = getCookie('UserCheck_UserID'); | |
29 verbose stack | |
29 verbose stack var requestData = {}; | |
29 verbose stack | |
29 verbose stack requestData.IID = "-1"; | |
29 verbose stack requestData.UserOption = "LOG-WRONG-CATEGORY"; | |
29 verbose stack requestData.UserID = cookie; | |
29 verbose stack requestData.IsReasonExist = false; | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack //Sometimes the cookie is not written correctly, so used global user. | |
29 verbose stack if(requestData.UserID == null || requestData.UserID == "") | |
29 verbose stack requestData.UserID = g_userID; | |
29 verbose stack | |
29 verbose stack requestData.IID = UserCheck.DataObj.IID; | |
29 verbose stack | |
29 verbose stack var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
29 verbose stack | |
29 verbose stack sendAsynchronousRequest(sAbsoluteURL, | |
29 verbose stack flattenObject(requestData), | |
29 verbose stack this.handleUserReportWrongCategoryData, | |
29 verbose stack this, | |
29 verbose stack [new Callback()]); | |
29 verbose stack | |
29 verbose stack //Nothing should happen on click from now on. | |
29 verbose stack reportLink.onclick = function() { }; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.handleReportTimeout = function() | |
29 verbose stack { | |
29 verbose stack var elem = document.getElementById('testID'); | |
29 verbose stack document.getElementsByTagName('head')[0].removeChild(elem); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack //Verifies the input of the user, including checkbox and textarea. | |
29 verbose stack this.highlightInput = function() | |
29 verbose stack { | |
29 verbose stack var checkbox_element = null; | |
29 verbose stack var textarea_element = null; | |
29 verbose stack var checkbox_ready = false; | |
29 verbose stack var textarea_ready = false; | |
29 verbose stack | |
29 verbose stack var AdminMessage = window.oUserAction.incidentObject.Languages[window.oUserAction.incidentObject.SelectedLanguage].AdminMessage; | |
29 verbose stack | |
29 verbose stack //If the checkbox exists (and it is a correct element), its value will determine the button status. | |
29 verbose stack if(window.oUserAction.incidentObject.IsCheckBoxEnforced == true && window.oUserAction.checkBoxExists(AdminMessage) == true && document.getElementById('UserCheck_Confirm_Checkbox').checked !== undefined) | |
29 verbose stack { | |
29 verbose stack checkbox_element = document.getElementById('UserCheck_Confirm_Checkbox'); | |
29 verbose stack checkbox_ready = checkbox_element.checked; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack checkbox_ready = true; | |
29 verbose stack | |
29 verbose stack //If the reason textbox exists and is enforced, its value will determine the button status. | |
29 verbose stack if(window.oUserAction.incidentObject.IsReasonEnforced === true && window.oUserAction.textareaExists(AdminMessage)) | |
29 verbose stack { | |
29 verbose stack textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
29 verbose stack | |
29 verbose stack //If the textarea is an incorrect element or length is correct, check passes. | |
29 verbose stack if(textarea_element.value === undefined) | |
29 verbose stack { | |
29 verbose stack textarea_ready = true; | |
29 verbose stack //This element is not really our text area so we don't need it. | |
29 verbose stack textarea_element = null; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack if (textarea_element.value.length > 0 && textarea_element.value.length <= 400 && textarea_element.value != PORTAL_IS.L10N.L10N_Obj.getStr("ENTER_TEXT") && textarea_element.value != window.oUserAction.textAreaText) | |
29 verbose stack textarea_ready = true; | |
29 verbose stack else | |
29 verbose stack textarea_ready = false; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack textarea_ready = true; | |
29 verbose stack | |
29 verbose stack var all_ready = checkbox_ready === true && textarea_ready === true; | |
29 verbose stack | |
29 verbose stack var correctClass = window.oUserAction.getCorrectClass(); | |
29 verbose stack var elememt_to_scroll = null; | |
29 verbose stack | |
29 verbose stack if(checkbox_element != null) | |
29 verbose stack { | |
29 verbose stack | |
29 verbose stack checkbox_element.parentNode.parentNode.parentNode.parentNode.setAttribute(correctClass, (checkbox_ready ? "usercheck_red_no_highlight" : "usercheck_red_highlight" )); | |
29 verbose stack elememt_to_scroll = checkbox_ready ? elememt_to_scroll : checkbox_element.parentNode.parentNode.parentNode.parentNode; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if(textarea_element != null) | |
29 verbose stack { | |
29 verbose stack textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class " + (textarea_ready ? "usercheck_red_no_highlight" : "usercheck_red_highlight usercheck_textual_input_class_required" )); | |
29 verbose stack elememt_to_scroll = textarea_ready ? elememt_to_scroll : textarea_element; | |
29 verbose stack if(!textarea_ready) | |
29 verbose stack { | |
29 verbose stack if(window.oUserAction.textAreaText === "" || textarea_element.value !== window.oUserAction.textAreaText) | |
29 verbose stack { | |
29 verbose stack if(window.oUserAction.textAreaText != "") | |
29 verbose stack textarea_element.value = window.oUserAction.textAreaText; | |
29 verbose stack else | |
29 verbose stack textarea_element.value = PORTAL_IS.L10N.L10N_Obj.getStr("ENTER_TEXT"); | |
29 verbose stack } | |
29 verbose stack textarea_element.onfocus = function() { window.oUserAction.clearRequiredInput(); }; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if(!textarea_ready && !checkbox_ready && checkbox_element!=null && textarea_element!=null) | |
29 verbose stack { | |
29 verbose stack if(checkbox_element.parentNode.parentNode.parentNode.parentNode.offsetTop > textarea_element.offsetTop) | |
29 verbose stack elememt_to_scroll = checkbox_element; | |
29 verbose stack | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if(elememt_to_scroll!=null){ | |
29 verbose stack elememt_to_scroll.scrollIntoView(false); | |
29 verbose stack var scrollableDiv = document.getElementById("usercheck_scrollable_div"); | |
29 verbose stack if (scrollableDiv !== null) | |
29 verbose stack scrollableDiv.scrollLeft = 0; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var errorElement = document.getElementById('usercheck_error_div'); | |
29 verbose stack if(errorElement != null) | |
29 verbose stack errorElement.innerHTML = all_ready ? "" : "<br/><span style='color: #FF0000;'>* " + PORTAL_IS.L10N.L10N_Obj.getStr("REQUIRED_FIELDS") + "</span>"; | |
29 verbose stack | |
29 verbose stack return all_ready; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.clearRequiredInput = function() | |
29 verbose stack { | |
29 verbose stack textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
29 verbose stack | |
29 verbose stack textarea_element.value = ""; | |
29 verbose stack | |
29 verbose stack var correctClass = window.oUserAction.getCorrectClass(); | |
29 verbose stack | |
29 verbose stack if(textarea_element.getAttribute(correctClass).indexOf("usercheck_red_highlight") !== -1) | |
29 verbose stack textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class usercheck_red_highlight"); | |
29 verbose stack else | |
29 verbose stack textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class"); | |
29 verbose stack | |
29 verbose stack textarea_element.onfocus = function() { }; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.sendMail = function() | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UserAction::sendMail"); | |
29 verbose stack this.last_action = 'sent'; | |
29 verbose stack | |
29 verbose stack if(!window.oUserAction.highlightInput()) | |
29 verbose stack //There was some user input missing - don't continue. | |
29 verbose stack return; | |
29 verbose stack | |
29 verbose stack var reason = ""; | |
29 verbose stack if(document.getElementById('UserCheck_Textual_Input') != null) | |
29 verbose stack { | |
29 verbose stack reason = document.getElementById('UserCheck_Textual_Input').value; | |
29 verbose stack //If the reason box is not found, there is nothing to enforce. | |
29 verbose stack if(reason === undefined) | |
29 verbose stack { | |
29 verbose stack reason = ""; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack var sendMailCallback = new Callback(); | |
29 verbose stack sendMailCallback.methodReference = this.handleConfirmationData; | |
29 verbose stack sendMailCallback.thisArgument = this; | |
29 verbose stack sendMailCallback.args.push(new Callback()); | |
29 verbose stack PORTAL_IS.AJAX_MGR.sendAsyncReq( getURL("EmailSend"), | |
29 verbose stack "mailId="+encodeURIComponent(UserCheck.DataObj.IID)+ | |
29 verbose stack "&justification="+encodeURIComponent(reason)+"&action=DLP-CHOICE-ACTION-SEND", | |
29 verbose stack sendMailCallback, | |
29 verbose stack null, | |
29 verbose stack null, | |
29 verbose stack "Sending email failed."); | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.discardMail = function() | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UserAction::deleteMail"); | |
29 verbose stack this.last_action = 'delete'; | |
29 verbose stack | |
29 verbose stack var sendMailCallback = new Callback(); | |
29 verbose stack sendMailCallback.methodReference = this.handleConfirmationData; | |
29 verbose stack sendMailCallback.thisArgument = this; | |
29 verbose stack sendMailCallback.args.push(new Callback()); | |
29 verbose stack PORTAL_IS.AJAX_MGR.sendAsyncReq( getURL("EmailSend"), | |
29 verbose stack "mailId="+encodeURIComponent(UserCheck.DataObj.IID)+ | |
29 verbose stack "&justification="+encodeURIComponent("")+"&action=DLP-CHOICE-ACTION-DISCARD", | |
29 verbose stack sendMailCallback, | |
29 verbose stack null, | |
29 verbose stack null, | |
29 verbose stack "Sending email failed."); | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.handleConfirmationData = function(xhrStatus, xhrResponse, callback) | |
29 verbose stack { | |
29 verbose stack DEBUG.out("UserAction::handleConfirmationData "); | |
29 verbose stack if (callback == undefined) | |
29 verbose stack { | |
29 verbose stack callback = new Callback(); | |
29 verbose stack } | |
29 verbose stack if (xhrStatus != 200) | |
29 verbose stack { | |
29 verbose stack // TODO: Handle error. | |
29 verbose stack DEBUG.out('Retreiving Single Incident Review Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
29 verbose stack callback.call(); | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack var newViewJSONObj = JSON.parse(xhrResponse); | |
29 verbose stack var message = newViewJSONObj.message; | |
29 verbose stack var lastChanged = newViewJSONObj.lastChanged; | |
29 verbose stack var succeeded = newViewJSONObj.succeeded; | |
29 verbose stack if (lastChanged != -1 && lastChanged != 0) | |
29 verbose stack { | |
29 verbose stack //message += " "; | |
29 verbose stack //message += convertToGmt(lastChanged); | |
29 verbose stack //this.emailData.date = convertToGmt(lastChanged); | |
29 verbose stack } | |
29 verbose stack //@@NA add test if this is from Thin Portal and only then redirect to about:blank | |
29 verbose stack // window.location = "about:blank"; | |
29 verbose stack if (succeeded) | |
29 verbose stack { | |
29 verbose stack var cookie = getCookie('UserCheck_UserID'); | |
29 verbose stack var requestData = {}; | |
29 verbose stack requestData.IID = "-1"; | |
29 verbose stack requestData.UserID = cookie; | |
29 verbose stack requestData.IsReasonExist = true; | |
29 verbose stack requestData.Reason = ""; | |
29 verbose stack requestData.UserOption = "SEND"; | |
29 verbose stack if (newViewJSONObj.action == "DLP-CHOICE-ACTION-DISCARD") | |
29 verbose stack { | |
29 verbose stack requestData.UserOption = "DISCARD"; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if (newViewJSONObj.action === undefined || newViewJSONObj.action != "DLP-CHOICE-ACTION-SEND") | |
29 verbose stack { | |
29 verbose stack requestData.IsReasonExist = false; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack if(document.getElementById('UserCheck_Textual_Input') != null) | |
29 verbose stack { | |
29 verbose stack var reason = document.getElementById('UserCheck_Textual_Input').value; | |
29 verbose stack | |
29 verbose stack //If the reason box is not found, there is nothing to enforce. | |
29 verbose stack if(reason === undefined) | |
29 verbose stack { | |
29 verbose stack reason = ""; | |
29 verbose stack requestData.IsReasonExist = false; | |
29 verbose stack } | |
29 verbose stack else if(window.oUserAction.incidentObject.IsReasonEnforced === true && (reason.length == 0 || reason.length > 400)) | |
29 verbose stack return; | |
29 verbose stack | |
29 verbose stack requestData.Reason = reason; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack requestData.IsReasonExist = false; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack //Sometimes the cookie is not written correctly, so used global user. | |
29 verbose stack if(requestData.UserID == null || requestData.UserID == "") | |
29 verbose stack requestData.UserID = g_userID; | |
29 verbose stack requestData.IID = UserCheck.DataObj.IID; | |
29 verbose stack | |
29 verbose stack var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
29 verbose stack | |
29 verbose stack sendAsynchronousRequest(sAbsoluteURL, | |
29 verbose stack flattenObject(requestData), | |
29 verbose stack this.handleUserCheckChoiceData, | |
29 verbose stack this, | |
29 verbose stack [new Callback()]); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.goToBlank = function() | |
29 verbose stack { | |
29 verbose stack window.location = "about:blank"; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.ApproveHttp = function() | |
29 verbose stack { | |
29 verbose stack this.sendMail(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack | |
29 verbose stack this.createScrubbingLinks = function(attachments, isExtended) | |
29 verbose stack { | |
29 verbose stack var scrub_files_out = "<ul style=\"list-style-type: none;padding: 0;\">"; | |
29 verbose stack for (var i = 0;i<attachments.length;i++) | |
29 verbose stack { | |
29 verbose stack if (attachments[i].fileStatus == "FILE-STATUS-APPROVED-BY-TE" || attachments[i].fileStatus == "FILE-STATUS-AVAILABLE" || attachments[i].fileStatus == "FILE-STATUS-AVAILABLE-SUSPICIOUS") | |
29 verbose stack { | |
29 verbose stack var image = "images/confirmation.png"; | |
29 verbose stack var comment = ""; | |
29 verbose stack var toolTip = "Click to download"; | |
29 verbose stack var removedParts = attachments[i].removedParts; | |
29 verbose stack if (isExtended == true) | |
29 verbose stack { | |
29 verbose stack if(removedParts != "") | |
29 verbose stack { | |
29 verbose stack removedParts = removedParts.replace(/\n/g,", "); | |
29 verbose stack comment = " contains " + removedParts; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack comment = PORTAL_IS.L10N.L10N_Obj.getStr(attachments[i].scrubResult); | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack scrub_files_out += "<li title=\"" + toolTip + "\"><img src=\"" + image + "\" width=\"20\" height=\"20\"/> " + "<a href=\"ScrubGetFile?IID="+UserCheck.DataObj.IID+"&fileID="+attachments[i].fileId+"\" TARGET=\"_blank\"><span style=\"font-weight:bold\">" + attachments[i].fileName + "</span></a> <span style=\"color:Red;font-size:80%\">" + comment + "</span></li>" | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack var description = ""; | |
29 verbose stack var img = ""; | |
29 verbose stack var toolTip = ""; | |
29 verbose stack if (attachments[i].fileStatus == "FILE-STATUS-WAITING-FOR-TE") | |
29 verbose stack { | |
29 verbose stack g_refreshFiles = true; | |
29 verbose stack description = "scanning..."; | |
29 verbose stack img = "img/loader.gif"; | |
29 verbose stack toolTip = "Please wait while file is being scanned"; | |
29 verbose stack } | |
29 verbose stack else if (attachments[i].fileStatus == "FILE-STATUS-BLOCKED-BY-TE") | |
29 verbose stack { | |
29 verbose stack description = "blocked - file is malicious"; | |
29 verbose stack img = "img/block.png"; | |
29 verbose stack toolTip = "File is malicious - blocked for download"; | |
29 verbose stack } | |
29 verbose stack else if (attachments[i].fileStatus == "FILE-STATUS-BLOCKED-BY-POLICY") | |
29 verbose stack { | |
29 verbose stack description = "blocked according to company policy"; | |
29 verbose stack img = "img/block.png"; | |
29 verbose stack toolTip = "File is blocked for download according to company policy"; | |
29 verbose stack } | |
29 verbose stack scrub_files_out += "<li title=\"" + toolTip + "\"><img src=\"" + img + "\" width=\"20\" height=\"20\"/> " + attachments[i].fileName + " <span style=\"color:LightSteelBlue\">(" + description + ")</span></li>" | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack scrub_files_out += "</ul><div id=\"refresh_timer_div\"></div>"; | |
29 verbose stack return scrub_files_out; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.handleScrubbingFiles = function(xhrStatus, xhrResponse, callback) | |
29 verbose stack { | |
29 verbose stack if (callback == undefined) | |
29 verbose stack { | |
29 verbose stack callback = new Callback(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if (xhrStatus != 200) | |
29 verbose stack { | |
29 verbose stack DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
29 verbose stack callback.call(); | |
29 verbose stack return; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.scrubbingResponse = JSON.parse(xhrResponse); | |
29 verbose stack | |
29 verbose stack var attachments = []; | |
29 verbose stack if( Object.prototype.toString.call( this.scrubbingResponse.data.attachments ) != '[object Array]' ) { | |
29 verbose stack attachments[0] = this.scrubbingResponse.data.attachments; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack attachments = this.scrubbingResponse.data.attachments; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack g_refreshFiles = false; | |
29 verbose stack var scrub_links_simple = document.getElementById('links_simple'); | |
29 verbose stack if (scrub_links_simple != null) | |
29 verbose stack { | |
29 verbose stack if (scrub_links_simple.hasChildNodes()) | |
29 verbose stack scrub_links_simple.removeChild(scrub_links_simple.childNodes[0]); | |
29 verbose stack var tmp = document.createElement("div"); | |
29 verbose stack tmp.innerHTML = window.oUserAction.createScrubbingLinks(attachments, false); | |
29 verbose stack scrub_links_simple.appendChild(tmp); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var scrub_links_extended = document.getElementById('links_extended'); | |
29 verbose stack if (scrub_links_extended != null) | |
29 verbose stack { | |
29 verbose stack if (scrub_links_extended.hasChildNodes()) | |
29 verbose stack scrub_links_extended.removeChild(scrub_links_extended.childNodes[0]); | |
29 verbose stack var tmp = document.createElement("div"); | |
29 verbose stack tmp.innerHTML = window.oUserAction.createScrubbingLinks(attachments, true); | |
29 verbose stack scrub_links_extended.appendChild(tmp); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack var scrub_wait_massage = document.getElementById('scrub_wait_message'); | |
29 verbose stack if (scrub_wait_massage != null) | |
29 verbose stack { | |
29 verbose stack scrub_wait_massage.style.display = 'none'; | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack if (g_refreshFiles) | |
29 verbose stack { | |
29 verbose stack UserCheck.tools.oTimeoutManager.startTimeoutTimer(30, window.oUserAction.refreshScrubbingFiles); | |
29 verbose stack } | |
29 verbose stack callback.call(); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.refreshScrubbingFiles = function() | |
29 verbose stack { | |
29 verbose stack var requestData = { | |
29 verbose stack IID: "-1" | |
29 verbose stack }; | |
29 verbose stack requestData.IID = UserCheck.DataObj.IID; | |
29 verbose stack var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetScrubFiles"); | |
29 verbose stack sendAsynchronousRequest(sAbsoluteURL, | |
29 verbose stack flattenObject(requestData), | |
29 verbose stack window.oUserAction.handleScrubbingFiles, | |
29 verbose stack this, | |
29 verbose stack [new Callback()]); | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack this.showOrHideRemovedPartsfromFiles = function(FileIndex) | |
29 verbose stack { | |
29 verbose stack var infoimg_element = document.getElementById('infoimg_' + FileIndex); | |
29 verbose stack var removed_parts_element = document.getElementById('removed_parts_' + FileIndex); | |
29 verbose stack | |
29 verbose stack if ( infoimg_element != null && removed_parts_element != null ) | |
29 verbose stack { | |
29 verbose stack if( removed_parts_element.style.display === "none" ) | |
29 verbose stack { | |
29 verbose stack infoimg_element.style.display = 'none'; | |
29 verbose stack removed_parts_element.style.display = 'inline'; | |
29 verbose stack } | |
29 verbose stack else | |
29 verbose stack { | |
29 verbose stack infoimg_element.style.display = "inline"; | |
29 verbose stack removed_parts_element.style.display = 'none'; | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack } | |
29 verbose stack | |
29 verbose stack } //END: window.UserAction = function() | |
29 verbose stack | |
29 verbose stack window.oUserAction = new UserAction(); | |
29 verbose stack oUserAction.init(); | |
29 verbose stack | |
29 verbose stack </script> | |
29 verbose stack | |
29 verbose stack </html> | |
29 verbose stack | |
29 verbose stack at Object.parse (native) | |
29 verbose stack at CachingRegistryClient.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:237:23) | |
29 verbose stack at Request._callback (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-registry-client\lib\request.js:210:14) | |
29 verbose stack at Request.self.callback (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:187:22) | |
29 verbose stack at emitTwo (events.js:106:13) | |
29 verbose stack at Request.emit (events.js:191:7) | |
29 verbose stack at Request.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:1048:10) | |
29 verbose stack at emitOne (events.js:96:13) | |
29 verbose stack at Request.emit (events.js:188:7) | |
29 verbose stack at IncomingMessage.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\request.js:969:12) | |
30 verbose cwd D:\XAMPP\htdocs\kdb2 | |
31 error Windows_NT 6.1.7601 | |
32 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "highcharts" "--save" | |
33 error node v6.10.3 | |
34 error npm v3.10.10 | |
35 error Unexpected token < in JSON at position 0 | |
35 error <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | |
35 error | |
35 error <html> | |
35 error <head> | |
35 error <meta name="robots" content="noindex,nofollow" /> | |
35 error <meta content="yes" name="apple-mobile-web-app-capable" /> | |
35 error <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> | |
35 error | |
35 error <link rel="icon" type="image/vnd.microsoft.icon" href="img/favicon.ico"/> <link rel="shortcut icon" type="image/vnd.microsoft.icon" href="img/favicon.ico"/> | |
35 error <link id="dynamicCSS" rel="stylesheet" type="text/css" href="/UserCheck/css/Blob_dynamic_css" /> | |
35 error <link id="staticCSS" rel="stylesheet" type="text/css" href="/UserCheck/css/Blob_static.css" /> | |
35 error | |
35 error | |
35 error <script type="text/javascript"> | |
35 error //Create a dynamic element to allow sending of the document mode of IE. | |
35 error //This way we can notify PHP that it can display modern content instead of classic, despite the browser's reporting of being IE7. | |
35 error var headID = document.getElementsByTagName("head")[0]; | |
35 error var cssNode = document.createElement('link'); | |
35 error cssNode.type = 'text/css'; | |
35 error cssNode.rel = 'stylesheet'; | |
35 error cssNode.href = "/UserCheck/css/UserCheckCSS" + (document.documentMode !== undefined ? "?documentMode=" + document.documentMode : ""); | |
35 error headID.appendChild(cssNode); | |
35 error | |
35 error | |
35 error /* | |
35 error ======================================================================================================================== | |
35 error PORTAL IS - ESSENTIALS INCLUSION - START | |
35 error ________________________________________________________________________________________________________________________ | |
35 error */ | |
35 error // Set global PORTAL_IS namespace. | |
35 error window.PORTAL_IS = {}; | |
35 error | |
35 error // Set namespace. | |
35 error PORTAL_IS.CONF = {}; | |
35 error | |
35 error PORTAL_IS.CONF.AJAX_REQ_TIMEOUT = 15000; | |
35 error | |
35 error // These properties describes the external references of the portal. | |
35 error PORTAL_IS.CONF.MULTI_PORTALS = {}; | |
35 error PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_PATH = ""; | |
35 error PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_PORT = 443; | |
35 error PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_HOST = "192.168.0.0"; | |
35 error PORTAL_IS.CONF.MULTI_PORTALS.EXTERNAL_SCHEME = "https"; | |
35 error PORTAL_IS.CONF.MULTI_PORTALS.XSRF_TOKEN = ""; | |
35 error | |
35 error // The current web application name. | |
35 error PORTAL_IS.CONF.WEBAPP_NAME = "UserCheck"; | |
35 error | |
35 error // Debug configurations | |
35 error PORTAL_IS.CONF.MAX_STACK_SIZE = 1000; | |
35 error PORTAL_IS.CONF.QUIET_MODE = "on".toLowerCase() == "on"; | |
35 error PORTAL_IS.CONF.DEBUG_LEVEL = 0; | |
35 error | |
35 error | |
35 error // Set namespace. | |
35 error window.PORTAL_IS.L10N = {} | |
35 error | |
35 error // Localization object. | |
35 error //============================================================================================= | |
35 error function __L10N() | |
35 error { | |
35 error this.strings = new Array(); | |
35 error this.browserLangs = new Array(); | |
35 error | |
35 error this.init = function() | |
35 error { | |
35 error var obj = {"UC_TITLE":"Check Point UserCheck","UC_TITLE_MOBILE_DLP":"Check Point UserCheck Mobile DLP","BUTTON.OK":"OK","BUTTON.CANCEL":"Cancel","BUTTON.SEND":"Send","BUTTON.DISCARD":"Discard","BUTTON.APPROVE":"Approve","WRONG_ID":"This notification page has expired. You can safely close the page or ","TIMEOUT":"This notification page has expired. You can safely close the page or ","RETRY":"reload the original page.","REPORT_SUCCESS":"Report was sent successfully.","REPORT_ERROR":"An error occured while sending the report.","REQUIRED_FIELDS":"Required fields","ENTER_TEXT":"Enter text","RETURN_TO_SITE":"Return to site","UC.BLOCKED_IFRAME":"Learn more...","UC.INFO_IFRAME":"Click to resolve...","PLEASE_WAIT":"Please wait . . .","NO_SCRIPT":"This portal requires browser which support JavaScript.<br>Please make sure that you are using an updated browser and that JavaScript is enabled.","MSGBOX_TITLE_CONFIRMATION":"Confirmation","MSGBOX_TITLE_JUSTIFICATION":"Justification","MSGBOX_TITLE_APPROVER":"Approver","MSGBOX_TITLE_WARNING":"Warning","MSGBOX_TITLE_ATTENTION":"Attention","MSGBOX_TITLE_ERROR":"Error","MSGBOX_TITLE_REPORT_ERROR":"Report an error","MSGBOX_TITLE_EXTEND_EXPIRATION":"Extend expiration date","DEFAULT_GENERIC_CLIENT_ERROR":"An unexpected error has occurred.\nYou may still be able to continue working normally.\nPlease retry accessing the web page in a short while.\n\n","DEFAULT_GENERIC_TIMEOUT_CLIENT_ERROR":"You may not access this page, or this page has expired.\nPlease sign in.","LOG_REFERENCE_ID":"Log reference id: ","ERROR.LINK.SEND_ERROR_REPORT":"Send error report","ERROR.LINK.IM_HAVING_PROBLEMS":"I am having problems with this Portal.","CHECKPOINT_COPY_RIGHTS":"©2011 Check Point Software Technologies Ltd.","EMAIL_SENT":"The email has been sent","EMAIL_DISCARDED":"The email has been discarded","EMAIL_ALREADY_SENT":"The email has already been sent","EMAIL_ALREADY_DISCARDED":"The email has already been discarded","UNKOWN_INCIDENT_STATUS":"The incident status is unkown","REVIEW_TEXT":"Review issue in portal","MAIL.ITEM.ATTACHMENTS":"Attachments","HTTP_LEARNING":"To complete the operation, <b>please return to site and resend the information<\/b>, thanks.","HTTP_LEARNING_ERROR_MSG":"Sending the message cannot be approved,<\/br> please contact your system administrator.","HTTP_LEARNING_ERROR_TOOLTIP":"Sending the message cannot be approved, please contact your system administrator.","CP_SCRUB_WAIT_MESSAGE":"Please wait while loading files...","CP_SCRUB_RESULT_SUCCESS":"","CP_SCRUB_RESULT_FAILURE":"File structure may be corrupted","CP_SCRUB_RESULT_TIMEOUT":"","CP_SCRUB_RESULT_UNSUPPORTED_FILE":"File format is not supported","CP_SCRUB_RESULT_NOT_SCRUBBED":"","CP_SCRUB_RESULT_INTERNAL_ERROR":"","CP_SCRUB_RESULT_NO_VALID_CONTRACT":"","CP_SCRUB_RESULT_SKIPPED_BY_TE_CONFIDENCE":"","CP_SCRUB_RESULT_OUT_OF_MEMORY":"","CP_SCRUB_RESULT_DOCSEC_FILE":"File encrypted using Checkpoint's Document Security","CP_SCRUB_RESULT_ENCRYPTED_FILE":"contains encrypted data","CP_SCRUB_RESULT_SKIPPED_BY_SCRIPT":"","CP_SCRUB_RESULT_DISK_LIMIT_REACHED":""}; | |
35 error | |
35 error for(val in obj) | |
35 error this.strings[val] = obj[val]; | |
35 error | |
35 error obj = ["en"]; | |
35 error | |
35 error for(val in obj) | |
35 error { | |
35 error this.browserLangs[val] = obj[val].split(';')[0]; | |
35 error } | |
35 error } | |
35 error | |
35 error this.getStr = function(stringId) | |
35 error { | |
35 error return this.strings[stringId]; | |
35 error } | |
35 error | |
35 error this.selectLanguage = function(languageArray) | |
35 error { | |
35 error for(lang in this.browserLangs) | |
35 error { | |
35 error if(languageArray[this.browserLangs[lang]] === true) | |
35 error return this.browserLangs[lang]; | |
35 error | |
35 error if(languageArray[this.browserLangs[lang].substring(0, 2)] === true) | |
35 error return this.browserLangs[lang].substring(0, 2); | |
35 error } | |
35 error | |
35 error //If nothing succeeded, return the default. | |
35 error return "en"; | |
35 error } | |
35 error | |
35 error this.reloadLanguageTo = function(lang, fallbackLang, callback) | |
35 error { | |
35 error var requestData = {}; | |
35 error | |
35 error requestData.lang = lang; | |
35 error requestData.fallbackLang = fallbackLang; | |
35 error | |
35 error var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetTranslationData"); | |
35 error | |
35 error sendAsynchronousRequest(sAbsoluteURL, | |
35 error flattenObject(requestData), | |
35 error this.asyncReloadLangHandler, | |
35 error this, | |
35 error [callback]); | |
35 error } | |
35 error | |
35 error this.asyncReloadLangHandler = function(xhrStatus, xhrResponse, callback) | |
35 error { | |
35 error if (xhrStatus != 200) | |
35 error { | |
35 error DEBUG.out('Retreiving translation data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
35 error return; | |
35 error } | |
35 error | |
35 error var obj = JSON.parse(xhrResponse); | |
35 error this.strings = null; //Ensure removing of old values. | |
35 error this.strings = new Array(); | |
35 error | |
35 error for(val in obj) | |
35 error this.strings[val] = obj[val]; | |
35 error | |
35 error callback(); | |
35 error } | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error //Localization object. | |
35 error L10N_Obj = new __L10N(); | |
35 error L10N_Obj.init(); | |
35 error PORTAL_IS.L10N.L10N_Obj = L10N_Obj; | |
35 error | |
35 error /* | |
35 error ________________________________________________________________________________________________________________________ | |
35 error | |
35 error PORTAL IS - ESSENTIALS INCLUSION - END | |
35 error ======================================================================================================================== | |
35 error */ | |
35 error var noJSCrypto = "true"; | |
35 error </script> | |
35 error <script type="text/javascript" src="js/Blob.js"></script> | |
35 error <script type="text/javascript"> | |
35 error | |
35 error | |
35 error // Create namespace | |
35 error window.UserCheck = {}; | |
35 error window.UserCheck.tools = {}; | |
35 error | |
35 error // ======================================================================================= | |
35 error function parseSender(value) | |
35 error { | |
35 error return value.address; | |
35 error } | |
35 error // ======================================================================================= | |
35 error | |
35 error | |
35 error // ======================================================================================= | |
35 error // Render recipient list from and array. | |
35 error // String[] recipientsArr - Array of recipients. | |
35 error // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
35 error // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
35 error function recipientsArr2StrInTable(recipientsArr, ellipsisLimit, useLinebreakes) | |
35 error { | |
35 error if (ellipsisLimit == undefined) | |
35 error { | |
35 error ellipsisLimit = 0; | |
35 error } | |
35 error | |
35 error if (useLinebreakes == undefined) | |
35 error { | |
35 error useEllipsis = true; | |
35 error } | |
35 error | |
35 error var recipientsList = ""; | |
35 error | |
35 error for (var i=0; i<recipientsArr.length; i++) | |
35 error { | |
35 error recipientsList += HTMLEncode(recipientsArr[i].address); | |
35 error if (i < recipientsArr.length-1) | |
35 error { | |
35 error recipientsList += ", "; | |
35 error if (useLinebreakes) | |
35 error { | |
35 error recipientsList += "<br>"; | |
35 error } | |
35 error } | |
35 error } | |
35 error | |
35 error if (ellipsisLimit > 0) | |
35 error { | |
35 error //recipientsList = Ext.util.Format.ellipsis(recipientsList, ellipsisLimit); | |
35 error recipientsList = recipientsList; | |
35 error } | |
35 error | |
35 error return recipientsList; | |
35 error } | |
35 error // ======================================================================================= | |
35 error | |
35 error | |
35 error // ======================================================================================= | |
35 error // Render recipient list from and array. | |
35 error // Sender sender - The sender data. | |
35 error // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
35 error // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
35 error function getSenderName(sender, ellipsisLimit) | |
35 error { | |
35 error var output = ""; | |
35 error | |
35 error if (ellipsisLimit == undefined) | |
35 error { | |
35 error ellipsisLimit = 0; | |
35 error } | |
35 error | |
35 error if (sender.name.empty()) | |
35 error { | |
35 error output = sender.address; | |
35 error } | |
35 error else | |
35 error { | |
35 error output = sender.name; | |
35 error } | |
35 error | |
35 error // if (ellipsisLimit > 0) | |
35 error // { | |
35 error // output = Ext.util.Format.ellipsis(output, ellipsisLimit); | |
35 error // } | |
35 error | |
35 error return output; | |
35 error } | |
35 error // ======================================================================================= | |
35 error | |
35 error | |
35 error // ======================================================================================= | |
35 error // Render recipient list from and array. | |
35 error // String sender - The subject string. | |
35 error // [int ellipsisLimit] - A string beyond this length will be cut and added ellipsis. Optional, default is 0 - no ellipsis. | |
35 error // [bool useLinebreakes] - Should a line break be added after each recipient. Optional, default is true. | |
35 error function getSubject(subject, ellipsisLimit) | |
35 error { | |
35 error var output = subject; | |
35 error | |
35 error if (ellipsisLimit == undefined) | |
35 error { | |
35 error ellipsisLimit = 0; | |
35 error } | |
35 error | |
35 error // if (ellipsisLimit > 0) | |
35 error // { | |
35 error // output = Ext.util.Format.ellipsis(output, ellipsisLimit); | |
35 error // } | |
35 error | |
35 error return output; | |
35 error } | |
35 error // ======================================================================================= | |
35 error | |
35 error | |
35 error // ======================================================================================= | |
35 error // tranform recipients array to string | |
35 error function recipientsArr2Str(recipientsArr,type) | |
35 error { | |
35 error var recipientsList = ""; | |
35 error var address = ""; | |
35 error var commaNeeded = false; | |
35 error for (var i=0; i<recipientsArr.length; i++) | |
35 error { | |
35 error if (type == recipientsArr[i].recipientType) | |
35 error { | |
35 error if (!commaNeeded) | |
35 error commaNeeded = true; | |
35 error else | |
35 error recipientsList += ", "; | |
35 error | |
35 error address = HTMLEncode(recipientsArr[i].address); | |
35 error if (recipientsArr[i].isExternal) | |
35 error { | |
35 error address = '<span ' + GetDomainColor(recipientsArr[i].address)+' >' + address + '</span>' | |
35 error } | |
35 error recipientsList += address; | |
35 error } | |
35 error } | |
35 error | |
35 error return recipientsList; | |
35 error } | |
35 error | |
35 error // ======================================================================================= | |
35 error function arr2Str(arr) | |
35 error { | |
35 error var str = ""; | |
35 error var commaNeeded = false; | |
35 error for (var i=0; i<arr.length; i++) | |
35 error { | |
35 error if (!commaNeeded) | |
35 error { | |
35 error commaNeeded = true; | |
35 error } | |
35 error else | |
35 error { | |
35 error str += ", "; | |
35 error } | |
35 error str += arr[i]; | |
35 error } | |
35 error | |
35 error return str; | |
35 error } | |
35 error | |
35 error function GetDomainColor(str) | |
35 error { | |
35 error // var highlightColors = new Array("FFFF00","00FF00","00FFFF","FF00FF","FF0000","FFFF99","99FF99","CCFFFF","FFCCFF", "FF9999") | |
35 error var highlightColors = new Array("FFFF00","FF00FF","FF0000","FFBB00","FF9999"); | |
35 error domainName = GetDomainName(str); | |
35 error if (domainName==null) return null; | |
35 error | |
35 error hash=0; | |
35 error for (i=0; i<domainName.length; i++) | |
35 error { | |
35 error hash += domainName.charCodeAt(i); | |
35 error } | |
35 error hash = hash % (highlightColors.length); | |
35 error return 'style="background-color: #' + highlightColors[hash] + '; text-decoration: underline;"'; | |
35 error } | |
35 error | |
35 error /* | |
35 error // ======================================================================================= | |
35 error UserCheck.tools.clearContainer = function(containerId) | |
35 error { | |
35 error DEBUG.out("Clear container: "+containerId); | |
35 error var container = Ext.getCmp(containerId); | |
35 error if ((container) && (container.items)) | |
35 error { | |
35 error container.items.each( | |
35 error function(item) | |
35 error { | |
35 error container.remove(item, true); | |
35 error } | |
35 error ); | |
35 error } | |
35 error } | |
35 error // ======================================================================================= | |
35 error */ | |
35 error | |
35 error // Override poral_is error handler. | |
35 error //============================================================================================= | |
35 error window.genericTimeoutHandler = function(portalException) | |
35 error { | |
35 error DEBUG.out("UserCheck::genericTimeoutHandler."); | |
35 error | |
35 error if ((portalException == undefined) || (portalException == null)) | |
35 error { | |
35 error portalException = new PortalException(); | |
35 error } | |
35 error | |
35 error // Assign action to the Ok button. | |
35 error // The event is added in order to get the exception, if it is set, that is set as the error message OK button attribute. see showPortalErrorMessage | |
35 error postErrorHandler = function(event) | |
35 error { | |
35 error // Check if redirected due to timeout. | |
35 error if (getCookie("isRedirectedDueTimeout") == "1") | |
35 error { | |
35 error // Delete the cookie to allow future errors. | |
35 error setCookie("isRedirectedDueTimeout", "0", 0); | |
35 error | |
35 error // TODO: Redirect to error page. | |
35 error return; | |
35 error } | |
35 error | |
35 error // Set cookie in order to prevent error loops. | |
35 error setCookie("isRedirectedDueTimeout", "1", 5*60); | |
35 error | |
35 error genericPostErrorHandler(event); | |
35 error | |
35 error // Reload the page. | |
35 error document.location.href=document.location.href; | |
35 error } | |
35 error | |
35 error // TODO: Get message from resource bundle. | |
35 error //var errMsg = "Your session has expired or timed out.\nYou will be redirected to the login page.\n\n"; | |
35 error showPortalErrorMessage(portalException, postErrorHandler, true); | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error | |
35 error | |
35 error //============================================================================================= | |
35 error window.genericErrorHandler = function(portalException, callback) | |
35 error { | |
35 error DEBUG.out("UserCheck::genericErrorHandler."); | |
35 error if ((portalException == undefined) || (portalException == null)) | |
35 error { | |
35 error portalException = new PortalException(); | |
35 error } | |
35 error | |
35 error if (isNothingness(callback)) | |
35 error { | |
35 error callback = new Callback(); | |
35 error } | |
35 error | |
35 error // Assign action to the Ok button. | |
35 error // The event is added in order to get the exception, if it is set, that is set as the error message OK button attribute. see showPortalErrorMessage | |
35 error postErrorHandler = function(event) | |
35 error { | |
35 error genericPostErrorHandler(event); | |
35 error callback.call(); | |
35 error // No reload of the page. | |
35 error } | |
35 error | |
35 error showPortalErrorMessage(portalException, postErrorHandler, true); | |
35 error return true; // This is required for the execption to stop from being passed to the browser. | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error | |
35 error | |
35 error //============================================================================================= | |
35 error window.genericPostErrorHandler = function(event) | |
35 error { | |
35 error DEBUG.out("UserCheck::genericPostErrorHandler."); | |
35 error // Just hide the error. | |
35 error hidePortalErrorMessage(); | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error //============================================================================================= | |
35 error UserCheck.tools.sendErrorReport = function(userDesc, callback) | |
35 error { | |
35 error DEBUG.out("UserCheck.tools.sendErrorReport in."); | |
35 error | |
35 error var sAbsoluteURL = getURL("data/submitErrorReport"); | |
35 error var report = encodeURIComponent(DEBUG.compileErrorReport()); | |
35 error var userDesc = encodeURIComponent(userDesc); | |
35 error | |
35 error var sendErrorReportCallback = new Callback(); | |
35 error sendErrorReportCallback.methodReference = UserCheck.tools.handleErrorReportResponse; | |
35 error sendErrorReportCallback.args.push(callback); | |
35 error | |
35 error // Send report with no error handlers. | |
35 error PORTAL_IS.AJAX_MGR.sendAsyncReq(sAbsoluteURL, "report="+report+"&userDesc="+userDesc, sendErrorReportCallback, null, null, "Sending of error report failed."); | |
35 error | |
35 error // Set error flag. | |
35 error PORTAL_IS.TOOLS.errorMsgShown = false; | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error //============================================================================================= | |
35 error UserCheck.tools.handleErrorReportResponse = function(xhrStatus, xhrResponse, callback) | |
35 error { | |
35 error DEBUG.out("UserCheck.tools.handleErrorReportResponse in."); | |
35 error | |
35 error // Set error flag. | |
35 error PORTAL_IS.TOOLS.errorMsgShown = false; | |
35 error | |
35 error if (isNothingness(callback)) | |
35 error { | |
35 error callback = new Callback(); | |
35 error } | |
35 error | |
35 error if (xhrStatus != 200) | |
35 error { | |
35 error // TODO: Handle error. | |
35 error DEBUG.out('Submitting error report failed. ('+xhrStatus+')', DEBUG.ERROR); | |
35 error callback.call(); | |
35 error showPortalMessage("Sending of error report failed."); | |
35 error return; | |
35 error } | |
35 error | |
35 error callback.call(); | |
35 error | |
35 error showPortalMessage("Error report was sent successfully.\nThank you for your support.", null, UserCheck.MESSAGE_TYPE.Confirmation); | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error //============================================================================================= | |
35 error UserCheck.tools.showErrorReport = function(callback) | |
35 error { | |
35 error DEBUG.out("UserCheck.tools.showErrorReport in."); | |
35 error | |
35 error // Create new callback with send report and store previous callback in it. | |
35 error submitCallback = new Callback(); | |
35 error submitCallback.methodReference = DEBUG.sendErrorReport; | |
35 error submitCallback.args = [callback]; | |
35 error | |
35 error // Create new callback for cancel. | |
35 error cancelCallback = new Callback(); | |
35 error cancelCallback.methodReference = function() | |
35 error { | |
35 error // Clear error flag. | |
35 error PORTAL_IS.TOOLS.errorMsgShown = false; | |
35 error callback.call(); | |
35 error }; | |
35 error | |
35 error // Hide any opened boxes. | |
35 error PORTAL_IS.TOOLS.hideGeneralContainer(); | |
35 error PORTAL_IS.TOOLS.hideDialog(); | |
35 error hidePortalMessage(); | |
35 error hidePortalErrorMessage(); | |
35 error | |
35 error PORTAL_IS.TOOLS.showDialog( "Please describe the encountered problem in the text box below.", | |
35 error "NOTICE: The report might include personal information from your mail items.\nThe report will not include your credentials.", | |
35 error "I was trying to (e.g. review an email):\n\nWork flow which led to this error (e.g. access via email link):\n\nI am unable to:", | |
35 error "Report an error", | |
35 error submitCallback, cancelCallback, null, null, null, null, true); | |
35 error | |
35 error // Set error flag. | |
35 error PORTAL_IS.TOOLS.errorMsgShown = true; | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error | |
35 error //============================================================================================= | |
35 error | |
35 error | |
35 error //============================================================================================= | |
35 error | |
35 error DEBUG.showErrorReport = UserCheck.tools.showErrorReport; | |
35 error DEBUG.sendErrorReport = UserCheck.tools.sendErrorReport; | |
35 error | |
35 error UserCheck.tools.oTimeoutManager = | |
35 error { | |
35 error timerID: -1, | |
35 error startTimeoutTimer: function(duration, callback) | |
35 error { | |
35 error var milisecs = duration * 1000; | |
35 error if (milisecs > 2147483646) | |
35 error { | |
35 error | |
35 error milisecs = 2147483646; | |
35 error | |
35 error } | |
35 error DEBUG.out("UserCheck.tools.TimeoutManager: Starting timer for " + duration + " seconds."); | |
35 error window.TimeoutManagerCallback = callback; | |
35 error this.timerID = setTimeout("this.TimeoutManagerCallback();", milisecs); | |
35 error }, | |
35 error stopTimeoutTimer: function() | |
35 error { | |
35 error clearTimeout(timerID); | |
35 error timerID = -1; | |
35 error } | |
35 error }; | |
35 error | |
35 error UserCheck.DataObj = {}; | |
35 error | |
35 error // TODO: This should be defined as an "interface" class and other view managers should implement it. | |
35 error | |
35 error // UC's view manager. | |
35 error window.UCViewManager = function() | |
35 error { | |
35 error this.lastRenderedCustomContentContainers = new Array(); | |
35 error this.defaultContainer = 'portal_main_view'; | |
35 error this.ignoreHashChange = false; | |
35 error this.wait = null; | |
35 error this.requestParams = null; | |
35 error | |
35 error // Hash to view mapping, enables us to set display another value than the actual view name. | |
35 error //================================================================================================================== | |
35 error this.hashViewMap = new Array(); | |
35 error // Hash name View name | |
35 error //__________________________________________________________________________________________________________________ | |
35 error this.hashViewMap["UserAction"] = "UserAction"; | |
35 error this.hashViewMap["MainWithMenuView"] = "MainWithMenuView"; | |
35 error this.hashViewMap["Menu"] = "Menu"; | |
35 error this.hashViewMap["Logout"] = "Logout"; | |
35 error this.hashViewMap["MainView"] = "MainView"; | |
35 error this.hashViewMap["Error"] = "Error"; | |
35 error | |
35 error // Get View name from Hash name. | |
35 error this.hash2View = function(hash) | |
35 error { | |
35 error var view = this.hashViewMap[hash]; | |
35 error | |
35 error if (isNothingness(view)) | |
35 error { | |
35 error view = "UserAction"; | |
35 error } | |
35 error return view; | |
35 error } | |
35 error | |
35 error // Get Hash name from View name. | |
35 error this.view2Hash = function(view) | |
35 error { | |
35 error var hash = "UserAction"; | |
35 error for (key in this.hashViewMap) | |
35 error { | |
35 error if (this.hashViewMap[key] == view) | |
35 error { | |
35 error var hash = key; | |
35 error } | |
35 error } | |
35 error return hash; | |
35 error } | |
35 error //================================================================================================================== | |
35 error | |
35 error // Initialize view manager. | |
35 error //============================================================================================= | |
35 error this.init = function() | |
35 error { | |
35 error DEBUG.out("UCViewManager::init"); | |
35 error | |
35 error // Bind history change handler. | |
35 error $(window).bind('hashchange', viewManager.handleHistoryChange); | |
35 error | |
35 error // Check address bar's hash and set desired view if exists. | |
35 error var desiredView = this.parseHash().view; | |
35 error if (isNothingness(desiredView)) | |
35 error { | |
35 error desiredView = ""; | |
35 error } | |
35 error | |
35 error DEBUG.out("UCViewManager::init, desired view: [" + desiredView + "]"); | |
35 error this.gotoNextView(desiredView); | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error | |
35 error | |
35 error // Handle history changes (back/reload). | |
35 error // Overriding default handling. | |
35 error //============================================================================================= | |
35 error this.handleHistoryChange = function(e, ui) | |
35 error { | |
35 error // In some cases the hash is changed and no view load is required, checking if so. | |
35 error if (!viewManager.ignoreHashChange && ui != undefined) | |
35 error { | |
35 error // Parse view from hash. | |
35 error var desiredView = viewManager.parseHash().view; | |
35 error DEBUG.out("UCViewManager::handleHistoryChange, desired view:" + desiredView); | |
35 error viewManager.gotoNextView(desiredView); | |
35 error } | |
35 error else | |
35 error { | |
35 error DEBUG.out("UCViewManager::handleHistoryChange, hash changed ignored."); | |
35 error } | |
35 error | |
35 error // Reset the ignore flag. | |
35 error viewManager.ignoreHashChange = false; | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error | |
35 error // Queries the server for next desired view and than call for rendering it. | |
35 error // Will call upon callback when done rendering the view. | |
35 error //============================================================================================= | |
35 error this.gotoNextView = function(requestedView, callback) | |
35 error { | |
35 error DEBUG.out("UCViewManager::gotoNextView"); | |
35 error | |
35 error if (isNothingness(callback)) | |
35 error { | |
35 error callback = new Callback(); | |
35 error } | |
35 error | |
35 error // Check what is the next view. | |
35 error var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("GetNextView"); | |
35 error var parameters = (isNothingness(requestedView)) ? ("") : ("requestedView=" + encodeURIComponent(requestedView)); | |
35 error | |
35 error var gotoNextViewCallback = new Callback(); | |
35 error gotoNextViewCallback.methodReference = this.handleGotoNextViewRequest; | |
35 error gotoNextViewCallback.thisArgument = this; | |
35 error gotoNextViewCallback.args = [callback]; | |
35 error | |
35 error PORTAL_IS.AJAX_MGR.sendAsyncReq(sAbsoluteURL, parameters, gotoNextViewCallback); | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error | |
35 error // Handle next view query. | |
35 error //============================================================================================= | |
35 error this.handleGotoNextViewRequest = function(xhrStatus, xhrResponse, callback) | |
35 error { | |
35 error DEBUG.out("UCViewManager::handleGotoNextViewRequest"); | |
35 error | |
35 error if (isNothingness(callback)) | |
35 error { | |
35 error callback = new Callback(); | |
35 error } | |
35 error | |
35 error if (xhrStatus != 200) | |
35 error { | |
35 error DEBUG.out('Retreiving next view failed. ('+xhrStatus+')', DEBUG.ERROR); | |
35 error callback.call(); | |
35 error return; | |
35 error } | |
35 error | |
35 error var nextViewJSONObj = JSON.parse(xhrResponse); | |
35 error var nextView = nextViewJSONObj.view; | |
35 error DEBUG.out("UCViewManager::handleGotoNextViewRequest, next view:" + nextView); | |
35 error | |
35 error // Extract the data (request params) from hash and relay it onto next hash. | |
35 error // As hash changing handler will be passed back to this method we set the Ignore flag to TRUE | |
35 error // and call for the gotoView method. | |
35 error viewManager.changeHash(nextView, viewManager.parseHash().data, true); | |
35 error | |
35 error viewManager.gotoView(nextView, callback); | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error | |
35 error // Get view contents (CSS, JS and HTML). | |
35 error // Will call upon callback when done rendering the view. | |
35 error //============================================================================================= | |
35 error this.gotoView = function(view, callback) | |
35 error { | |
35 error DEBUG.out("UCViewManager::gotoView view: ["+view+"]"); | |
35 error | |
35 error if (callback == undefined) | |
35 error { | |
35 error callback = new Callback(); | |
35 error } | |
35 error | |
35 error var hash = this.parseHash().view; | |
35 error var parameters = (hash == "") ? ("view="+encodeURIComponent(hash)) : ( "requestedView=" + encodeURIComponent(view) + "&view="+encodeURIComponent(hash) ); | |
35 error | |
35 error sendAsynchronousRequest(PORTAL_IS.TOOLS.getURL("viewManager/GetViewData"), | |
35 error parameters, | |
35 error this.handleNewView, | |
35 error this, | |
35 error [callback]); | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error | |
35 error // Handle new view rendering. | |
35 error //============================================================================================= | |
35 error this.handleNewView = function(xhrStatus, xhrResponse, callback) | |
35 error { | |
35 error if (callback == undefined) | |
35 error { | |
35 error callback = new Callback(); | |
35 error } | |
35 error | |
35 error if (xhrStatus != 200) | |
35 error { | |
35 error // TODO: Handle error. | |
35 error DEBUG.out('Retreiving view failed. ('+xhrStatus+')', DEBUG.ERROR); | |
35 error callback.call(); | |
35 error return; | |
35 error } | |
35 error | |
35 error var newViewJSONObj = JSON.parse(xhrResponse); | |
35 error var newView = newViewJSONObj.view; | |
35 error DEBUG.out("UCViewManager::handleNewView, Parsed from JSON - view:" + newView); | |
35 error | |
35 error | |
35 error var useDefaultContainerId = true; | |
35 error var requiredContainerId = ""; | |
35 error var requiredView = ""; | |
35 error var requireSecureConnection = false; | |
35 error | |
35 error switch (newView) | |
35 error { | |
35 error default: // View will be rendered into main page view. | |
35 error useDefaultContainerId = true; | |
35 error requiredContainerId = this.defaultContainer; | |
35 error break; | |
35 error } | |
35 error | |
35 error // Check if in https, redirect if not. | |
35 error if ((requireSecureConnection) && (location.protocol.toLowerCase() == 'http:')) | |
35 error { | |
35 error newLocation = location.href.replace(/http:/i, "https:"); | |
35 error location.href = newLocation; | |
35 error return; | |
35 error } | |
35 error | |
35 error var containerId = this.defaultContainer; | |
35 error if (!useDefaultContainerId) | |
35 error { | |
35 error containerId = requiredContainerId; | |
35 error } | |
35 error | |
35 error //var container = Ext.getCmp(containerId); | |
35 error var container = document.getElementById(containerId); | |
35 error | |
35 error if (container != undefined) | |
35 error { | |
35 error | |
35 error DEBUG.out('Render new view ('+newViewJSONObj.view+') into [' + (useDefaultContainerId ? "DefaultContainer" : requiredContainerId) + "]."); | |
35 error | |
35 error // Render CSS. - Not needed, all CSS loads from one blob file. | |
35 error //evaluateCSS(newViewJSONObj.css, ""); | |
35 error | |
35 error // Clear existing content. | |
35 error container.innerHTML = ""; | |
35 error | |
35 error // If the html content is not empty, render it into a new pane. | |
35 error container.innerHTML = newViewJSONObj.html; | |
35 error | |
35 error // Render JavaScript Content. | |
35 error evaluateJavaScript(newViewJSONObj.javascript); | |
35 error | |
35 error } | |
35 error else if (requiredContainerId == this.defaultContainer) | |
35 error { | |
35 error | |
35 error DEBUG.out('Default view is missing and will be rendered...'); | |
35 error this.renderDefaultView(); | |
35 error this.handleNewView(xhrStatus, xhrResponse, callback); | |
35 error | |
35 error } | |
35 error else // The container is not present and needs to be rendered first. | |
35 error { | |
35 error | |
35 error DEBUG.out('Required view ('+requiredContainerId+') is missing and needs to be rendered first.'); | |
35 error | |
35 error // Set the previous view results in a callback, it will be called when finished rendering of the login sequence page. | |
35 error var requiredViewCallback = new Callback(); | |
35 error requiredViewCallback.methodReference = this.handleNewView; | |
35 error requiredViewCallback.thisArgument = this; | |
35 error requiredViewCallback.args = [200, xhrResponse]; // Set fake status and response. | |
35 error | |
35 error // Request specific view. | |
35 error this.gotoView(requiredView, requiredViewCallback); | |
35 error | |
35 error } | |
35 error | |
35 error // TODO: detect loops. | |
35 error | |
35 error | |
35 error // Done here, call the callback. | |
35 error //this.wait.hide(); | |
35 error callback.call(); | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error | |
35 error | |
35 error | |
35 error | |
35 error | |
35 error // CUSTOM CONTENT RELATED METHODS | |
35 error // _________________________________________________________________________________________________________________ | |
35 error | |
35 error // Get the view's custom Content. | |
35 error //============================================================================================= | |
35 error this.getViewCustomContent = function(view) | |
35 error { | |
35 error this.clearLastCustomContent(); | |
35 error | |
35 error var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("JSONViewData/GetViewCustomContent"); | |
35 error sendAsynchronousRequest(sAbsoluteURL, | |
35 error "view="+view, | |
35 error this.renderCustomContent, | |
35 error this, | |
35 error []); | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error | |
35 error // Render the custom content. | |
35 error //============================================================================================= | |
35 error this.renderCustomContent = function(xhrStatus, xhrResponse, callbackObj) | |
35 error { | |
35 error DEBUG.out('Render custom content.'); | |
35 error callback = new Callback(callbackObj); | |
35 error | |
35 error if (xhrStatus != 200) | |
35 error { | |
35 error // TODO: Handle error. | |
35 error DEBUG.out('Retreiving custom content failed. ('+xhrStatus+')', DEBUG.ERROR); | |
35 error callback.call(); | |
35 error return; | |
35 error } | |
35 error | |
35 error // The container Id is: "CustomContent_<VIEW NAME>_<RESOURCE KEY>". | |
35 error // For example: the "ISW" view and the resource key of "top" will be rendered into "CustomContent_ISW_top". | |
35 error | |
35 error var newCustomContentJSONObj = JSON.parse(xhrResponse); | |
35 error var keyArr = newCustomContentJSONObj.keyArr; | |
35 error var view = newCustomContentJSONObj.view | |
35 error | |
35 error // Override view. | |
35 error switch (view) | |
35 error { | |
35 error case "ICS": // No brake, group these views. | |
35 error case "Authentication": | |
35 error case "ISW": | |
35 error case "MultiChallenge": | |
35 error case "IswEntry": | |
35 error var usedView = "LoginSequencePage"; | |
35 error break; | |
35 error | |
35 error default: | |
35 error var usedView = view; | |
35 error break; | |
35 error } | |
35 error | |
35 error // Iterate on each of the custom content object. | |
35 error var customContent, containerId, key; | |
35 error //for (var key in keyMap) | |
35 error for (var i=0; i<keyArr.length; i++) | |
35 error { | |
35 error key = keyArr[i][0]; | |
35 error customContent = keyArr[i][1]; | |
35 error containerId = "CustomContent_"+usedView+"_"+key; | |
35 error DEBUG.out('Render custom content: usedView:['+usedView+"] into:["+containerId+"]"); | |
35 error this.evaluateCustomContent(customContent, containerId); | |
35 error this.lastRenderedCustomContentContainers.push(containerId); | |
35 error } | |
35 error | |
35 error // Call the callback. | |
35 error callback.call(); | |
35 error } | |
35 error | |
35 error // Encapsulate conditional rendering of the custom content. | |
35 error this.evaluateCustomContent = function(customContent, containerId) | |
35 error { | |
35 error destinationRef = document.getElementById(containerId); | |
35 error if ( (destinationRef != null) && (destinationRef != undefined) ) | |
35 error { | |
35 error evaluateHTMLContent(customContent, destinationRef); | |
35 error } | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error | |
35 error // Clear last rendered containers. | |
35 error //============================================================================================= | |
35 error this.clearLastCustomContent = function() | |
35 error { | |
35 error for (var containerIndex in this.lastRenderedCustomContentContainers) | |
35 error { | |
35 error this.evaluateCustomContent(" ", this.lastRenderedCustomContentContainers[containerIndex]); | |
35 error } | |
35 error | |
35 error this.lastRenderedCustomContentContainers = new Array(); | |
35 error } | |
35 error //============================================================================================= | |
35 error | |
35 error // Render default view. | |
35 error //============================================================================================= | |
35 error this.renderDefaultView = function() | |
35 error {} | |
35 error //================================================================================================================== | |
35 error | |
35 error //================================================================================================================== | |
35 error this.logoutButtonHandler = function() | |
35 error {} | |
35 error //================================================================================================================== | |
35 error | |
35 error | |
35 error | |
35 error | |
35 error | |
35 error // DEPRECATED METHODS | |
35 error // _________________________________________________________________________________________________________________ | |
35 error | |
35 error // DEPRECATED, use viewManager.gotoNextView instead. | |
35 error //================================================================================================================== | |
35 error this.gotoNextState = function(callback) | |
35 error { | |
35 error this.gotoNextView(null, callback); | |
35 error return; | |
35 error } | |
35 error //================================================================================================================== | |
35 error } | |
35 error | |
35 error // Extend ViewManager (Portal IS). | |
35 error UCViewManager.prototype = new ViewManager(); | |
35 error window.viewManager = new UCViewManager(); | |
35 error | |
35 error </script> | |
35 error | |
35 error <title>Check Point UserCheck</title> | |
35 error </head> | |
35 error | |
35 error <body class="usercheck_body_background_class" unselectable="on"> | |
35 error <noscript> | |
35 error This portal requires browser which support JavaScript.<br>Please make sure that you are using an updated browser and that JavaScript is enabled. </noscript> | |
35 error <div id='portalErrorMessage' class="portalErrorMessageDivHide"> | |
35 error | |
35 error <table cellpadding="0px" cellspacing="0px" class="portalErrorMessageTableContainer" width="100%"> | |
35 error <tr> | |
35 error <td align="center"> | |
35 error | |
35 error <table cellpadding="0px" cellspacing="0px" class="portalErrorMessageTable"> | |
35 error | |
35 error <tr id="portalErrorMessage_title_container_row" class="portalMessage_title show" width="100%"> | |
35 error <td id="portalErrorMessage_title_container" height="10px" valign="middle" align="left" colspan="2"> </td> | |
35 error </tr> | |
35 error | |
35 error <tr> | |
35 error <td id="portalErrorMessage_container" align="left" style="padding: 10px;" colspan="2"> </td> | |
35 error </tr> | |
35 error | |
35 error <tr> | |
35 error | |
35 error <td> | |
35 error <table cellpadding="0px" cellspacing="0px" width="100%"style=" padding: 10px;"> | |
35 error <tr> | |
35 error <td id="portalMessage_error_report_container" align="left" valign="buttom" class="hide"> | |
35 error <span id="portalMessage_error_report_link" onclick="DEBUG.showErrorReport();" class="portal_link" style="left: 10px;"> | |
35 error Send error report </span> | |
35 error </td> | |
35 error <td id="portalMessage_error_button_container" align="right" height="10px;" valign="buttom"> | |
35 error <button id="portalErrorMessage_button" class="portalErrorMessage_button" onclick="hidePortalErrorMessage();"> | |
35 error OK </button> | |
35 error </td> | |
35 error </tr> | |
35 error </table> | |
35 error </td> | |
35 error | |
35 error </tr> | |
35 error | |
35 error </table> | |
35 error | |
35 error </td> | |
35 error </tr> | |
35 error </table> | |
35 error | |
35 error </div> | |
35 error | |
35 error | |
35 error <div id='portalMessage' class="portalMessageDivHide"> | |
35 error | |
35 error <table cellpadding="0px" cellspacing="0px" class="portalMessageTableContainer" width="100%"> | |
35 error <tr> | |
35 error <td align="center"> | |
35 error | |
35 error <table cellpadding="0px" cellspacing="0px" class="portalMessageTable"> | |
35 error | |
35 error <tr id="portalMessage_title_container_row" class="portalMessage_title show"> | |
35 error <td id="portalMessage_title_container" class="portalMessage_title_td" valign="middle" align="left"> | |
35 error | |
35 error </td> | |
35 error </tr> | |
35 error | |
35 error <tr> | |
35 error <td id="portalMessage_container" align="left" style="padding: 10px;"> | |
35 error | |
35 error </td> | |
35 error </tr> | |
35 error | |
35 error <tr id="portalMessage_textarea_container_row" class="hide"> | |
35 error <td id="portalMessage_textarea_container" align="left" style="padding: 10px;"> | |
35 error </td> | |
35 error </tr> | |
35 error | |
35 error <tr id="portalMessage_validation_message_container_row" class="show"> | |
35 error <td id="portalMessage_validation_message_container" align="left" class="portalMessage_validation_submessage" style="padding: 10px;"> | |
35 error | |
35 error </td> | |
35 error </tr> | |
35 error | |
35 error <tr id="portalMessage_submessage_container_row" class="hide"> | |
35 error <td id="portalMessage_submessage_container" align="left" class="portalMessage_submessage" style="padding: 10px;"> | |
35 error | |
35 error </td> | |
35 error </tr> | |
35 error | |
35 error <tr> | |
35 error <td align="center" height="10px;" valign="buttom" style="padding: 10px;" colspan="2"> | |
35 error <div id="portalMessage_ok_button_container" class="show" style="text-align: right;"> | |
35 error <button id="portalMessage_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
35 error OK </button> | |
35 error </div> | |
35 error | |
35 error <div id="portalMessage_bool_button_container" class="hide"> | |
35 error <button id="portalMessage_yes_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
35 error BUTTON.YES </button> | |
35 error | |
35 error <button id="portalMessage_no_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
35 error BUTTON.NO </button> | |
35 error </div> | |
35 error | |
35 error <div id="portalMessage_submit_button_container" class="hide"> | |
35 error <button id="portalMessage_submit_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
35 error BUTTON.SUBMIT </button> | |
35 error | |
35 error <button id="portalMessage_cancel_button" class="portalMessage_button" onclick="hidePortalMessage();"> | |
35 error Cancel </button> | |
35 error </div> | |
35 error </td> | |
35 error </tr> | |
35 error </table> | |
35 error | |
35 error </td> | |
35 error </tr> | |
35 error </table> | |
35 error | |
35 error </div> | |
35 error | |
35 error | |
35 error <div id='portalGeneralContainer' class="portalMessageDivHide"> | |
35 error | |
35 error <table cellpadding="0px" cellspacing="0px" class="portalMessageTableContainer" width="100%"> | |
35 error <tr> | |
35 error <td align="center"> | |
35 error | |
35 error <table cellpadding="0px" cellspacing="0px" class="portalMessageTable"> | |
35 error | |
35 error <tr id="portalGeneralContainer_title_container_row" class="portalMessage_title show" width="100%"> | |
35 error <td id="portalGeneralContainer_title_container" height="10px" valign="middle" align="left"> | |
35 error | |
35 error </td> | |
35 error </tr> | |
35 error | |
35 error <tr> | |
35 error <td id="portalGeneralContainer_container" align="left" style="padding: 10px;"> | |
35 error | |
35 error </td> | |
35 error </tr> | |
35 error | |
35 error </table> | |
35 error | |
35 error </td> | |
35 error </tr> | |
35 error </table> | |
35 error | |
35 error </div> | |
35 error | |
35 error | |
35 error <div id='PortalErrorScreenShader' class="screenShaderHide"> | |
35 error <table cellpadding="0px" cellspacing="0px" width="100%" height="100%"> | |
35 error <tr> | |
35 error <td> </td> | |
35 error </tr> | |
35 error </table> | |
35 error </div> | |
35 error | |
35 error | |
35 error | |
35 error <div id='PortalScreenShader' class="screenShaderHide"> | |
35 error <table cellpadding="0px" cellspacing="0px" width="100%" height="100%"> | |
35 error <tr> | |
35 error <td> </td> | |
35 error </tr> | |
35 error </table> | |
35 error </div> | |
35 error | |
35 error | |
35 error <div id="portal_main_view" class="div_expanded" unselectable="on"> | |
35 error <table height="100%" width="100%" border="0" cellpadding="0" cellspacing="0" class=""> | |
35 error <tr> | |
35 error <td id="portal_center_div" valign="top" unselectable="on" class="usercheck_main_background_class"> | |
35 error <div id="portal_top_pane_div" class="usercheck_header_class"> | |
35 error | |
35 error <!--position: fixed; bottom: -1px; left: 50%; margin-left: -435px; --> | |
35 error | |
35 error <table width="100%" cellpadding="0" cellspacing="0" class="usercheck_header_table_class usercheck_content_table_class"> | |
35 error <tr> | |
35 error <td class="usercheck_header_left_class" unselectable="on"> | |
35 error </td> | |
35 error <td class="usercheck_header_center_class" unselectable="on"> | |
35 error <div class="usercheck_page_title_class" id="usercheck_page_title" unselectable="on" >UserCheck</div> | |
35 error </td> | |
35 error <td id="usercheck_header_right_logo" class="usercheck_header_right_class" unselectable="on"> | |
35 error <img class="usercheck_company_logo_class" id="usercheck_company_logo" ></img> | |
35 error </td> | |
35 error <td id="usercheck_header_right_empty" class="usercheck_header_right_empty_class" unselectable="on"> | |
35 error </td> | |
35 error </tr> | |
35 error </table> | |
35 error </div> | |
35 error <div style=""> </div><div style=""> </div><div style=""> </div> | |
35 error <div style="text-align: center;" unselectable="on"> | |
35 error <table id="usercheck_content_table" cellpadding="0" cellspacing="0" class="usercheck_content_table_class"> | |
35 error <tr> | |
35 error <td rowspan="3" valign="top" class="usercheck_message_icon_column"><div class="usercheck_message_icon_class" id="usercheck_img_div" unselectable="on"> </div></td> | |
35 error <td><div id="usercheck_title_div" class="usercheck_title_class" unselectable="on"> </div></td> | |
35 error </tr> | |
35 error <tr> | |
35 error <td><div id="usercheck_main_div" class="usercheck_message_class" unselectable="on"> </div></td> | |
35 error </tr> | |
35 error <tr> | |
35 error <td><div id="usercheck_error_div" unselectable="on"> </div></td> | |
35 error </tr> | |
35 error <tr> | |
35 error <td colspan="2" style="text-align: center;" unselectable="on"> | |
35 error <table style="margin-right: -10px; width: 50%; float: right;"><tr><td> | |
35 error <center> | |
35 error <div id="usercheck_cancel_div" class="usercheck_ok_button_div_class"> </div> | |
35 error </center> | |
35 error </td><td> | |
35 error <center> | |
35 error <div id="usercheck_ok_div" class="usercheck_ok_button_div_class"> </div> | |
35 error </center> | |
35 error </td></tr></table> | |
35 error </td> | |
35 error </tr> | |
35 error </table></div> | |
35 error </td> | |
35 error </tr> | |
35 error <tr> | |
35 error <td id ="usercheck_footer_td" class="usercheck_footer_class usercheck_footer_height_class"> | |
35 error <div id="portal_bottom_pane_div"> | |
35 error | |
35 error <!--position: fixed; bottom: -1px; left: 50%; margin-left: -435px; --> | |
35 error | |
35 error <table id="footer_table_logo" cellpadding="0" cellspacing="0" class="usercheck_footer_table_class footer_no_logo"> | |
35 error <tr> | |
35 error <td class="usercheck_footer_height_class"> | |
35 error <div id="usercheck_language_selection_div" class="usercheck_lang_select_div_class" style="display: none;"> | |
35 error Language: <select id="usercheck_language_selection" class="usercheck_lang_select_class" onchange="javascript:window.oUserAction.handleLanguageChange();"> | |
35 error </select> | |
35 error </div> | |
35 error </td> | |
35 error </tr> | |
35 error </table> </div> | |
35 error </td> | |
35 error </tr> | |
35 error </table> | |
35 error </div> | |
35 error </body> | |
35 error | |
35 error | |
35 error <script type="text/javascript"> | |
35 error | |
35 error //Continue the background image on IE6-7 graphics design. | |
35 error if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7 && (document.documentMode === undefined || document.documentMode <= 7)) | |
35 error { | |
35 error var footer_td = document.getElementById('usercheck_footer_td'); | |
35 error footer_td.setAttribute("className", footer_td.getAttribute("className") + " usercheck_main_background_class"); | |
35 error } | |
35 error | |
35 error UserCheck.DataObj.IID = "6562BAB3-CB54-35B8-C19D-29D4AE36E696"; | |
35 error | |
35 error UserCheck.DataObj.frame = 0; | |
35 error | |
35 error | |
35 error /*this is a common object for PortalMain and PortalMainDlp. functions here should be empty */ | |
35 error window.UserActionCommon = function() | |
35 error { | |
35 error this.DlpHttpLearning = function(adminMessage,HttpLearningEnabled) | |
35 error { | |
35 error | |
35 error } | |
35 error this.DlpHideCancelBtn = function(action) | |
35 error { | |
35 error | |
35 error } | |
35 error } | |
35 error | |
35 error window.oUserActionCommon = new window.UserActionCommon(); | |
35 error | |
35 error | |
35 error var g_userID = ""; | |
35 error var g_refreshFiles = false; | |
35 error | |
35 error window.UserAction = function() | |
35 error { | |
35 error this.incidentObject = {}; | |
35 error this.textAreaText = ""; | |
35 error | |
35 error this.getCorrectClass = function() | |
35 error { | |
35 error var correctClass = "class"; | |
35 error | |
35 error //Choose the correct class attribute name (in IE6-7 we need "className" instead of "class") according to IE version - but check for compatibility first! | |
35 error if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7 && document.documentMode === undefined) | |
35 error { | |
35 error correctClass = "className"; | |
35 error } | |
35 error | |
35 error return correctClass; | |
35 error } | |
35 error | |
35 error // Initialize. | |
35 error //============================================================================================= | |
35 error this.init = function(cancelPage) | |
35 error { | |
35 error if (typeof cancelPage == 'undefined') | |
35 error { | |
35 error cancelPage = false; | |
35 error } | |
35 error var requestData = { | |
35 error IID: "-1", | |
35 error UserID: "", | |
35 error IsThinPortal: false, | |
35 error UserLang: "", | |
35 error GetCancelPage: cancelPage | |
35 error }; | |
35 error | |
35 error requestData.IID = UserCheck.DataObj.IID; | |
35 error | |
35 error var cookie = getCookie('UserCheck_UserID'); | |
35 error requestData.UserID = cookie != null ? cookie : ""; | |
35 error | |
35 error requestData.IsThinPortal = window.isThinPortal === true ? true : false; | |
35 error | |
35 error var selectedLanguage = getCookie('UserCheck_Selected_Language'); | |
35 error if(selectedLanguage == null) | |
35 error { | |
35 error selectedLanguage = ""; | |
35 error } | |
35 error requestData.UserLang = selectedLanguage; | |
35 error | |
35 error var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckIncidentData"); | |
35 error | |
35 error if (window.isThinPortal === true) | |
35 error { | |
35 error //Create a custom timeout handler for the thin portal. | |
35 error PORTAL_IS.AJAX_MGR.customTimeoutHandler = function() | |
35 error { | |
35 error window.location = "about:blank"; | |
35 error } | |
35 error } | |
35 error | |
35 error sendAsynchronousRequest(sAbsoluteURL, | |
35 error flattenObject(requestData), | |
35 error this.handleUserCheckIncidentData, | |
35 error this, | |
35 error [new Callback()]); | |
35 error } | |
35 error | |
35 error //Toggles the button's state from enabled to disabled and vice versa. | |
35 error this.setButtonMode = function(buttonState, buttonID) | |
35 error { | |
35 error var button = document.getElementById(buttonID); | |
35 error if(button == null) | |
35 error return; | |
35 error | |
35 error var correctClass = window.oUserAction.getCorrectClass(); | |
35 error | |
35 error if(buttonState) | |
35 error { | |
35 error //Enable the button. | |
35 error button.setAttribute(correctClass, "button"); | |
35 error button.onclick = function(){ javascript:oUserAction.submitOK(); }; | |
35 error | |
35 error button.style.cursor = "pointer"; | |
35 error } | |
35 error else | |
35 error { | |
35 error //Disable the button. | |
35 error button.setAttribute(correctClass, "button buttonDisabled"); | |
35 error button.onclick = null; | |
35 error | |
35 error button.style.cursor = "default"; | |
35 error } | |
35 error } | |
35 error | |
35 error //Changes the button CSS class (support for IE6-8). buttonCLS is for additional classes to be added to the button. | |
35 error this.setButtonState = function(state, buttonID, buttonCLS) | |
35 error { | |
35 error if (!buttonID) | |
35 error { | |
35 error buttonID = 'UserCheck_OK_Button'; | |
35 error buttonCLS = ''; | |
35 error } | |
35 error | |
35 error var correctClass = window.oUserAction.getCorrectClass(); | |
35 error | |
35 error var button = document.getElementById(buttonID); | |
35 error | |
35 error if(button.getAttribute(correctClass).indexOf("Disabled") == -1) | |
35 error { | |
35 error //The button is not disabled. | |
35 error button.setAttribute(correctClass, "button button" + state + " " + buttonCLS); | |
35 error } | |
35 error } | |
35 error | |
35 error this.handleUserCheckIncidentData = function(xhrStatus, xhrResponse, callback) | |
35 error { | |
35 error DEBUG.out("UserAction::handleUserCheckIncidentData"); | |
35 error | |
35 error if (callback == undefined) | |
35 error { | |
35 error callback = new Callback(); | |
35 error } | |
35 error | |
35 error if (xhrStatus != 200) | |
35 error { | |
35 error DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
35 error callback.call(); | |
35 error return; | |
35 error } | |
35 error | |
35 error this.incidentObject = JSON.parse(xhrResponse); | |
35 error var Languages = this.incidentObject.Languages; | |
35 error var UserCheckLogoID = this.incidentObject.UserCheckLogoID; | |
35 error var RedirectToAddr = this.incidentObject.RedirectToAddr; | |
35 error var AutoRedirect = this.incidentObject.AutoRedirect; | |
35 error var ExternalSystemURL = this.incidentObject.ExternalSystemURL; | |
35 error var Action = this.incidentObject.Action; | |
35 error var Variables = this.incidentObject.Variables; | |
35 error | |
35 error this.incidentObject.HasBeenCancelled = false; | |
35 error | |
35 error setCookie('UserCheck_UserID', this.incidentObject.UserID, 31556926); | |
35 error | |
35 error if (Variables['product'] != 'Threat Extraction') | |
35 error { | |
35 error if(AutoRedirect == true && RedirectToAddr != "") | |
35 error { | |
35 error if (window.isThinPortal === undefined) | |
35 error { | |
35 error //We have an address and auto redirect is true so redirect to that URL. | |
35 error // if (RedirectToAddr.indexOf('http://') != 0) | |
35 error if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
35 error RedirectToAddr = "http://" + RedirectToAddr; | |
35 error | |
35 error window.location = RedirectToAddr; | |
35 error } | |
35 error else | |
35 error window.location = "about:blank"; //No reason to redirect in the Thin Portal | |
35 error } | |
35 error } | |
35 error else | |
35 error { | |
35 error if (Action == "SCRUB-SUCCESS") | |
35 error { | |
35 error // in scrub success page, if not mobile or thin, give more space for the list of original files names and info | |
35 error if(window.browserDetails.isMobile() === false && window.isThinPortal === undefined) | |
35 error { | |
35 error var content_table = document.getElementById("usercheck_content_table"); | |
35 error if (content_table != null) | |
35 error { | |
35 error content_table.style.tableLayout="auto"; | |
35 error } | |
35 error | |
35 error var message_div = document.getElementById("usercheck_main_div"); | |
35 error if (message_div != null) | |
35 error { | |
35 error message_div.style.minWidth="auto"; | |
35 error message_div.style.maxWidth="700px"; | |
35 error message_div.style.whiteSpace="nowrap"; | |
35 error message_div.style.wordWrap="normal"; | |
35 error message_div.style.overflow="auto"; | |
35 error } | |
35 error } | |
35 error | |
35 error var requestData = { | |
35 error IID: "-1" | |
35 error }; | |
35 error requestData.IID = UserCheck.DataObj.IID; | |
35 error var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetScrubFiles"); | |
35 error sendAsynchronousRequest(sAbsoluteURL, | |
35 error flattenObject(requestData), | |
35 error this.handleScrubbingFiles, | |
35 error this, | |
35 error [new Callback()]); | |
35 error } | |
35 error } | |
35 error | |
35 error if(ExternalSystemURL != "") | |
35 error //We have an external system address so redirect to that URL. | |
35 error // window.location = ExternalSystemURL + (this.incidentObject.ForwardParams == true ? "?IncidentID=" + UserCheck.DataObj.IID + "&UserID=" + this.incidentObject.UserID : ""); | |
35 error if (this.incidentObject.ForwardParams == true) | |
35 error { | |
35 error window.location = ExternalSystemURL + "?IncidentID=" + UserCheck.DataObj.IID + "&UserID=" + this.incidentObject.UserID; | |
35 error } | |
35 error else | |
35 error { | |
35 error window.location = ExternalSystemURL; | |
35 error } | |
35 error | |
35 error | |
35 error | |
35 error this.prepareLanguageSelection(); | |
35 error | |
35 error if(window.self !== window.top) | |
35 error { | |
35 error //We are inside a frame. Display small version of the portal and give link to a full version of the portal in new tab/window. | |
35 error | |
35 error var url = '<a href="' + window.location + "&frame=1" + '" target="_blank">'; | |
35 error if (Action == "SCRUB-SUCCESS") | |
35 error { | |
35 error Action = "INFORM"; | |
35 error } | |
35 error url += draw_img_tag(getURL("img/" + Action.toLowerCase() + ".png")) + ' '; | |
35 error url += Action == 'BLOCK' ? PORTAL_IS.L10N.L10N_Obj.getStr("UC.BLOCKED_IFRAME") : PORTAL_IS.L10N.L10N_Obj.getStr("UC.INFO_IFRAME"); | |
35 error url += '</a>'; | |
35 error | |
35 error document.body.innerHTML = url; | |
35 error document.body.style.backgroundImage = 'none'; | |
35 error document.body.style.textAlign = 'center'; | |
35 error document.body.style.verticalAlign = 'text-bottom'; | |
35 error } | |
35 error | |
35 error //Decide which footer to display according to the action type (for Block and Limit we display footer without CP logo). | |
35 error if(window.isThinPortal === true) | |
35 error { | |
35 error var thin_table = document.getElementById('usercheck_thin_table'); | |
35 error if(thin_table != null && Action != 'BLOCK' && Action != 'LIMIT') | |
35 error { | |
35 error var correctClass = window.oUserAction.getCorrectClass(); | |
35 error | |
35 error thin_table.setAttribute(correctClass, "usercheck_main_mobile_background_class with_logo"); | |
35 error } | |
35 error } | |
35 error else | |
35 error { | |
35 error var logo_footer = document.getElementById('footer_table_logo'); | |
35 error if(logo_footer != null && Action != 'BLOCK' && Action != 'LIMIT') | |
35 error { | |
35 error var correctClass = window.oUserAction.getCorrectClass(); | |
35 error | |
35 error logo_footer.setAttribute(correctClass, "usercheck_footer_table_class footer_logo"); | |
35 error } | |
35 error } | |
35 error | |
35 error g_userID = this.incidentObject.UserID; | |
35 error | |
35 error if (Action == "SCRUB-SUCCESS") | |
35 error { | |
35 error Action = "INFORM"; | |
35 error } | |
35 error //Draw incident image according to the incident type | |
35 error if(document.getElementById('usercheck_img_div') !== null) | |
35 error document.getElementById('usercheck_img_div').innerHTML = draw_img_tag(getURL("img/" + Action.toLowerCase() + ".png")); | |
35 error | |
35 error if(this.incidentObject.IsLogoConfigured) | |
35 error { | |
35 error //The page has a logo defined in the GUI - load it. | |
35 error | |
35 error //Desktop header. | |
35 error var header_right_logo = document.getElementById('usercheck_header_right_logo'); | |
35 error if(header_right_logo != null) | |
35 error if(window.browserDetails.browserType == window.BrowserType.IE && window.browserDetails.browserVersion <= 7) | |
35 error header_right_logo.style.display = "block"; | |
35 error else | |
35 error header_right_logo.style.display = "table-cell"; | |
35 error | |
35 error var header_right_empty = document.getElementById('usercheck_header_right_empty'); | |
35 error if(header_right_empty != null) | |
35 error header_right_empty.style.display = "none"; | |
35 error | |
35 error //Mobile header. | |
35 error var mobile_header = document.getElementById('header_mobile_div'); | |
35 error if(mobile_header != null) | |
35 error { | |
35 error mobile_header.style.display = "block"; | |
35 error } | |
35 error | |
35 error //Company logo. | |
35 error var company_logo = document.getElementById('usercheck_company_logo'); | |
35 error if(company_logo != null) | |
35 error company_logo.src = getURL("images/interactions/" + UserCheckLogoID + ".png"); | |
35 error } | |
35 error else if(window.isThinPortal === true) | |
35 error { | |
35 error //If there is no logo defined, display the default logo in the thin portal. | |
35 error var company_logo = document.getElementById('usercheck_company_logo'); | |
35 error if(company_logo != null) | |
35 error company_logo.src = getURL("img/cp_logo_mobile_thin.png"); | |
35 error } | |
35 error | |
35 error //Start the timeout manager. | |
35 error UserCheck.tools.oTimeoutManager.startTimeoutTimer(this.incidentObject.Expiration - 15, this.handleTimeout); | |
35 error | |
35 error if (UserCheck.DataObj.GetSingleIncidentReview !== undefined && UserCheck.DataObj.GetSingleIncidentReview == 1) | |
35 error { | |
35 error window.singleIncident = new SingleIncident(); | |
35 error singleIncident.init(); | |
35 error } | |
35 error | |
35 error callback.call(); | |
35 error } | |
35 error | |
35 error this.submitOK = function() | |
35 error { | |
35 error //This function determines if it is OK to proceed with sending a response if all validation criteria are met. | |
35 error | |
35 error //If we are in a Block action in thin portal, just redirect to about:blank. | |
35 error if (window.isThinPortal === true && window.oUserAction.incidentObject.Action === "BLOCK") | |
35 error { | |
35 error window.location = "about:blank"; | |
35 error } | |
35 error | |
35 error if(document.getElementById('UserCheck_Textual_Input') != null) | |
35 error //Verify we have the real textarea! | |
35 error if(document.getElementById('UserCheck_Textual_Input').value !== undefined) | |
35 error //Unfocus the text-area. | |
35 error document.getElementById('UserCheck_Textual_Input').blur(); | |
35 error | |
35 error if(!window.oUserAction.highlightInput()) | |
35 error //There was some user input missing - don't continue. | |
35 error return; | |
35 error | |
35 error var cookie = getCookie('UserCheck_UserID'); | |
35 error | |
35 error var requestData = {}; | |
35 error | |
35 error requestData.IID = "-1"; | |
35 error requestData.UserOption = "OK"; | |
35 error | |
35 error requestData.UserID = cookie; | |
35 error requestData.IsReasonExist = true; | |
35 error if(document.getElementById('UserCheck_Textual_Input') != null) | |
35 error { | |
35 error var reason = document.getElementById('UserCheck_Textual_Input').value; | |
35 error | |
35 error //If the reason box is not found, there is nothing to enforce. | |
35 error if(reason === undefined) | |
35 error { | |
35 error reason = ""; | |
35 error requestData.IsReasonExist = false; | |
35 error } | |
35 error else if(window.oUserAction.incidentObject.IsReasonEnforced === true && (reason.length == 0 || reason.length > 400)) | |
35 error return; | |
35 error | |
35 error requestData.Reason = reason; | |
35 error } | |
35 error else | |
35 error { | |
35 error requestData.IsReasonExist = false; | |
35 error } | |
35 error | |
35 error //Sometimes the cookie is not written correctly, so used global user. | |
35 error if(requestData.UserID == null || requestData.UserID == "") | |
35 error requestData.UserID = g_userID; | |
35 error | |
35 error requestData.IID = UserCheck.DataObj.IID; | |
35 error | |
35 error var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
35 error | |
35 error sendAsynchronousRequest(sAbsoluteURL, | |
35 error flattenObject(requestData), | |
35 error this.handleUserCheckChoiceData, | |
35 error this, | |
35 error [new Callback()]); | |
35 error } | |
35 error | |
35 error this.submitCancel = function() | |
35 error { | |
35 error if(window.oUserAction.incidentObject.CancelURL !== undefined && window.oUserAction.incidentObject.CancelURL !== "") | |
35 error { | |
35 error window.location = window.oUserAction.incidentObject.CancelURL; | |
35 error return; | |
35 error } | |
35 error else | |
35 error { | |
35 error if (window.isThinPortal == true) | |
35 error { | |
35 error window.location = "about:blank"; | |
35 error return; | |
35 error } | |
35 error this.init(true); | |
35 error } | |
35 error } | |
35 error | |
35 error this.handleUserCheckChoiceData = function(xhrStatus, xhrResponse, callback) | |
35 error { | |
35 error try | |
35 error { | |
35 error window.external.OKButtonClickedResponseReceived('Done handling request'); | |
35 error } | |
35 error catch(err) | |
35 error { | |
35 error //do nothing, this is probably the fat client | |
35 error } | |
35 error | |
35 error DEBUG.out("UserAction::handleUserCheckChoiceData"); | |
35 error | |
35 error if (callback == undefined) | |
35 error { | |
35 error callback = new Callback(); | |
35 error } | |
35 error | |
35 error if (xhrStatus != 200) | |
35 error { | |
35 error DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
35 error callback.call(); | |
35 error return; | |
35 error } | |
35 error | |
35 error var newViewJSONObj = JSON.parse(xhrResponse); | |
35 error | |
35 error var RedirectToAddr = newViewJSONObj.RedirectToAddr; | |
35 error if (window.oUserAction.incidentObject.Variables['product'] != 'Threat Extraction') | |
35 error { | |
35 error if(RedirectToAddr != "") | |
35 error { | |
35 error var frame = "0"; | |
35 error | |
35 error frame = UserCheck.DataObj.frame; | |
35 error | |
35 error if(typeof frame === "undefined" || frame == "0" || frame == "") | |
35 error { | |
35 error if (window.isThinPortal === undefined) | |
35 error { | |
35 error //We have an address so redirect to that URL. | |
35 error if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
35 error RedirectToAddr = "http://" + RedirectToAddr; | |
35 error window.location = RedirectToAddr; | |
35 error } | |
35 error else | |
35 error window.location = "about:blank"; | |
35 error } | |
35 error else | |
35 error { | |
35 error if (window.isThinPortal === undefined) | |
35 error { | |
35 error //We have an address so redirect to that URL in the parent frame. | |
35 error if ((RedirectToAddr.indexOf('http://') != 0) &&(RedirectToAddr.indexOf('https://') != 0)) | |
35 error RedirectToAddr = "http://" + RedirectToAddr; | |
35 error | |
35 error window.opener.location = RedirectToAddr; | |
35 error } | |
35 error else | |
35 error { | |
35 error window.opener.location = "about:blank"; | |
35 error } | |
35 error window.close(); | |
35 error } | |
35 error } | |
35 error else | |
35 error { | |
35 error var frame = "0"; | |
35 error frame = UserCheck.DataObj.frame; | |
35 error if(typeof frame === "undefined" || frame == "0" || frame == "") | |
35 error { | |
35 error if (window.isThinPortal == true) | |
35 error { | |
35 error window.location = "about:blank"; | |
35 error } | |
35 error } | |
35 error else | |
35 error { | |
35 error if (window.isThinPortal == true) | |
35 error { | |
35 error window.opener.location = "about:blank"; | |
35 error } | |
35 error window.close(); | |
35 error } | |
35 error } | |
35 error } | |
35 error else | |
35 error { | |
35 error window.location.reload(); | |
35 error } | |
35 error } | |
35 error this.handleUserReportWrongCategoryData = function(xhrStatus, xhrResponse, callback) | |
35 error { | |
35 error | |
35 error DEBUG.out("UserAction::handleUserLogData"); | |
35 error | |
35 error | |
35 error | |
35 error | |
35 error } | |
35 error | |
35 error this.handleTimeout = function() | |
35 error { | |
35 error var requestData = { | |
35 error IID: "-1" | |
35 error }; | |
35 error | |
35 error requestData.IID = UserCheck.DataObj.IID; | |
35 error | |
35 error var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("ExtendTimeout"); | |
35 error | |
35 error sendAsynchronousRequest(sAbsoluteURL, | |
35 error flattenObject(requestData), | |
35 error window.oUserAction.handleTimeoutExtension, | |
35 error this, | |
35 error [new Callback()]); | |
35 error } | |
35 error | |
35 error this.handleTimeoutExtension = function(xhrStatus, xhrResponse, callback) | |
35 error { | |
35 error DEBUG.out("UserAction::handleTimeoutExtension"); | |
35 error | |
35 error if (callback == undefined) | |
35 error { | |
35 error callback = new Callback(); | |
35 error } | |
35 error | |
35 error if (xhrStatus != 200) | |
35 error { | |
35 error if (window.isThinPortal === undefined) | |
35 error { | |
35 error DEBUG.out('Retreiving UserCheck Timeout Extension data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
35 error callback.call(); | |
35 error return; | |
35 error } | |
35 error else | |
35 error { | |
35 error window.location = "about:blank"; | |
35 error return; | |
35 error } | |
35 error } | |
35 error var extensionObject = JSON.parse(xhrResponse); | |
35 error | |
35 error if(extensionObject.ReturnCode == "SUCCESS") | |
35 error { | |
35 error UserCheck.tools.oTimeoutManager.startTimeoutTimer(extensionObject.Expiration - 15, window.oUserAction.handleTimeout); | |
35 error } | |
35 error else | |
35 error { | |
35 error if(window.isThinPortal === undefined) | |
35 error { | |
35 error var button = document.getElementById('UserCheck_OK_Button'); | |
35 error if(button !=null) | |
35 error button.style.display = "none"; | |
35 error var select = document.getElementById('usercheck_language_selection'); | |
35 error if(select != null) | |
35 error select.disabled = true; | |
35 error | |
35 error showPortalMessage(PORTAL_IS.L10N.L10N_Obj.getStr("TIMEOUT") + " <a href='" + window.oUserAction.incidentObject.RedirectToAddr + "'>" + PORTAL_IS.L10N.L10N_Obj.getStr("RETRY") + "</a>", null, PORTAL_IS.MESSAGE_TYPE.Display, true); | |
35 error } | |
35 error else | |
35 error { | |
35 error /* If we are in thin portal, redirect to about:blank | |
35 error so that client can catch it and act accordingly. */ | |
35 error window.location = "about:blank"; | |
35 error } | |
35 error } | |
35 error } | |
35 error | |
35 error //Prepare for language selection. | |
35 error this.prepareLanguageSelection = function() | |
35 error { | |
35 error var Languages = this.incidentObject.Languages; | |
35 error var prevSelectedLanguage = null; | |
35 error var userSelected = false; | |
35 error if (UserCheck.DataObj.Lang != "" && UserCheck.DataObj.Lang !== undefined) | |
35 error { | |
35 error prevSelectedLanguage = UserCheck.DataObj.Lang; | |
35 error userSelected = true; | |
35 error } | |
35 error else if (this.incidentObject.PreferredLang != "") | |
35 error { | |
35 error prevSelectedLanguage = this.incidentObject.PreferredLang; | |
35 error } | |
35 error else | |
35 error { | |
35 error prevSelectedLanguage = getCookie('UserCheck_Selected_Language'); | |
35 error } | |
35 error var count = 0; | |
35 error | |
35 error //If there is no cookie, get the browser locale. | |
35 error if(prevSelectedLanguage == null) | |
35 error { | |
35 error var langArr = {}; | |
35 error for(var Language in Languages) | |
35 error { | |
35 error langArr[Languages[Language].LanguageCode] = true; | |
35 error } | |
35 error | |
35 error prevSelectedLanguage = PORTAL_IS.L10N.L10N_Obj.selectLanguage(langArr); | |
35 error } | |
35 error | |
35 error if(document.getElementById('usercheck_language_selection_div') != null) | |
35 error { | |
35 error count = 0; | |
35 error for(var Language in Languages) | |
35 error { | |
35 error var select = document.getElementById('usercheck_language_selection'); | |
35 error select.options[select.options.length] = new Option(Languages[Language].Language, Language, false, Language === prevSelectedLanguage); | |
35 error count++; | |
35 error } | |
35 error //Display language selection only if NOT in thin portal. | |
35 error if(count > 1 && window.isThinPortal === undefined) | |
35 error document.getElementById('usercheck_language_selection_div').style.display = "block"; | |
35 error | |
35 error } | |
35 error this.handleLanguageChange(true, userSelected); | |
35 error } | |
35 error | |
35 error //Handles language change. | |
35 error this.handleLanguageChange = function(noReloadLang, userSelected) | |
35 error { | |
35 error var select = document.getElementById('usercheck_language_selection'); | |
35 error var selectedLanguage = select.options[select.selectedIndex].value; | |
35 error if(noReloadLang === true) | |
35 error { | |
35 error //No need to load the language - if it is already loaded. | |
35 error this.asyncLanguageChangeCallback(userSelected); | |
35 error } | |
35 error else | |
35 error { | |
35 error //Reload language strings. | |
35 error PORTAL_IS.L10N.L10N_Obj.reloadLanguageTo(selectedLanguage, "en", this.asyncLanguageChangeCallback); | |
35 error } | |
35 error | |
35 error } | |
35 error | |
35 error this.checkBoxExists = function(adminMessage) | |
35 error { | |
35 error if(adminMessage.indexOf("UserCheck_Confirm_Checkbox") != -1) | |
35 error return true; | |
35 error | |
35 error return false; | |
35 error } | |
35 error | |
35 error this.textareaExists = function(adminMessage) | |
35 error { | |
35 error if(adminMessage.indexOf("UserCheck_Textual_Input") != -1) | |
35 error return true; | |
35 error | |
35 error return false; | |
35 error } | |
35 error | |
35 error this.asyncLanguageChangeCallback = function(userSelected) | |
35 error { | |
35 error if (userSelected === undefined) | |
35 error { | |
35 error userSelected = true; | |
35 error } | |
35 error var select = document.getElementById('usercheck_language_selection'); | |
35 error var check = document.getElementById('UserCheck_Confirm_Checkbox'); | |
35 error | |
35 error var selectedLanguage = "Default"; | |
35 error if(select != null) | |
35 error selectedLanguage = select.options[select.selectedIndex].value; | |
35 error var checkBoxValue = check != null ? check.checked : false; | |
35 error | |
35 error //Save cookie for the selected language. Only if it is from a User Selection. | |
35 error if (userSelected) | |
35 error { | |
35 error setCookie('UserCheck_Selected_Language', selectedLanguage == "Default" ? "en" : selectedLanguage, 31556926, "/"); | |
35 error var cookieVal = getCookie('UserCheck_UserID'); | |
35 error | |
35 error var handleUpdateUserDataResponse = function(xhrStatus, xhrResponse, callback){ | |
35 error var newURL = window.location.href; | |
35 error //alert("newURL '"+newURL+"'"); | |
35 error var langLoc = newURL.indexOf("&Lang="); | |
35 error //alert("langLoc '"+langLoc+"'"); | |
35 error if (langLoc != -1) | |
35 error { | |
35 error newURL = newURL.substring(0, langLoc); | |
35 error //alert("newURL '"+newURL+"'"); | |
35 error } | |
35 error window.location = newURL; | |
35 error } | |
35 error | |
35 error sendAsynchronousRequest(getURL("UpdateUserData"), | |
35 error "Language="+encodeURIComponent(selectedLanguage) + "&IID="+encodeURIComponent(UserCheck.DataObj.IID)+"&UserID="+cookieVal, | |
35 error handleUpdateUserDataResponse, | |
35 error this, | |
35 error [new Callback()]); | |
35 error } | |
35 error else | |
35 error { | |
35 error | |
35 error //Keep this value globally for other funcs. | |
35 error window.oUserAction.incidentObject.SelectedLanguage = selectedLanguage; | |
35 error | |
35 error var Languages = window.oUserAction.incidentObject.Languages; | |
35 error var TitleText = Languages[selectedLanguage].TitleText; | |
35 error var AdminMessage = Languages[selectedLanguage].AdminMessage; | |
35 error var CancelMessage = Languages[selectedLanguage].CancelMessage; | |
35 error var OKButtonMessage = window.oUserAction.incidentObject.OKButtonMessage[selectedLanguage]; | |
35 error var CancelButtonMessage = window.oUserAction.incidentObject.CancelButtonMessage[selectedLanguage]; | |
35 error var SendButtonMessage = window.oUserAction.incidentObject.SendButtonMessage[selectedLanguage]; | |
35 error var MiddleButtonMessage = window.oUserAction.incidentObject.MiddleButtonMessage[selectedLanguage]; | |
35 error var HTTPLearningEnabled = window.oUserAction.incidentObject.HTTPLearningEnabled; | |
35 error var PageTitle = Languages[selectedLanguage].PageTitle; | |
35 error | |
35 error document.getElementById('usercheck_title_div').innerHTML = TitleText; | |
35 error | |
35 error if(window.oUserAction.incidentObject.HasBeenCancelled === undefined || window.oUserAction.incidentObject.HasBeenCancelled === false) | |
35 error { | |
35 error if (window.oUserAction.incidentObject.IncidentStatus == 0 || window.oUserAction.incidentObject.IncidentStatus == 2 || window.oUserAction.incidentObject.IncidentStatus == 8)//ok or cancel or ok_scrubbing | |
35 error { | |
35 error document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
35 error } | |
35 error else if (window.oUserAction.incidentObject.IncidentStatus == 3)// sent | |
35 error { | |
35 error // if http learning is enabled on action succeded show the HTTP_LEARNING message | |
35 error if (HTTPLearningEnabled == true && window.oUserAction.incidentObject.RedirectToAddr != "") | |
35 error { | |
35 error var usercheck_main_div = document.getElementById('usercheck_main_div') | |
35 error if (usercheck_main_div != null) | |
35 error usercheck_main_div.innerHTML = "<p>" +PORTAL_IS.L10N.L10N_Obj.getStr("HTTP_LEARNING")+"</p>"; | |
35 error } | |
35 error else // an SMTP message | |
35 error { | |
35 error document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
35 error } | |
35 error } | |
35 error else if (window.oUserAction.incidentObject.IncidentStatus == 4)//discarded | |
35 error { | |
35 error document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
35 error } | |
35 error else if (window.oUserAction.incidentObject.IncidentStatus == 5)//already sent | |
35 error { | |
35 error if (HTTPLearningEnabled == true && window.oUserAction.incidentObject.RedirectToAddr != "") | |
35 error { | |
35 error //if approved http and then refreshed the page | |
35 error var usercheck_main_div = document.getElementById('usercheck_main_div') | |
35 error if (usercheck_main_div != null) | |
35 error usercheck_main_div.innerHTML = "<p>" +PORTAL_IS.L10N.L10N_Obj.getStr("HTTP_LEARNING")+"</p>"; | |
35 error } | |
35 error else | |
35 error { | |
35 error document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
35 error var return_to_site_div = document.getElementById('usercheck_return_to_site_div') | |
35 error if (return_to_site_div != null) | |
35 error return_to_site_div.innerHTML = "<p style='color: #FF5000;font-weight: bold;'>" +PORTAL_IS.L10N.L10N_Obj.getStr("EMAIL_ALREADY_SENT") +"</p>"; | |
35 error } | |
35 error } | |
35 error else if (window.oUserAction.incidentObject.IncidentStatus == 6)//already discarded | |
35 error { | |
35 error document.getElementById('usercheck_main_div').innerHTML = AdminMessage; | |
35 error var return_to_site_div = document.getElementById('usercheck_return_to_site_div') | |
35 error if (return_to_site_div != null) | |
35 error return_to_site_div.innerHTML = "<p style='color: #FF5000;font-weight: bold;'>" +PORTAL_IS.L10N.L10N_Obj.getStr("EMAIL_ALREADY_DISCARDED") +"</p>"; | |
35 error } | |
35 error else | |
35 error { | |
35 error document.getElementById('usercheck_main_div').innerHTML = "<p>" + PORTAL_IS.L10N.L10N_Obj.getStr("UNKOWN_INCIDENT_STATUS") + "</p>" + window.oUserAction.incidentObject.IncidentStatus; | |
35 error } | |
35 error | |
35 error | |
35 error var btnDiv = document.getElementById('usercheck_ok_div'); | |
35 error if (btnDiv != null) | |
35 error btnDiv.innerHTML = OKButtonMessage; | |
35 error btnDiv = document.getElementById('usercheck_cancel_div'); | |
35 error if (btnDiv != null) | |
35 error btnDiv.innerHTML = CancelButtonMessage; | |
35 error btnDiv = document.getElementById('usercheck_send_div'); | |
35 error // show the send button on SMTP (which is actually the send button) OR show it on inform action (which is actually OK button) | |
35 error if (btnDiv != null && (window.oUserAction.incidentObject.RedirectToAddr == "" || window.oUserAction.incidentObject.Action == "INFORM") ) | |
35 error { | |
35 error // alert("setting usercheck_send_div"); | |
35 error btnDiv.innerHTML = SendButtonMessage; | |
35 error } | |
35 error btnDiv = document.getElementById('usercheck_middle_div'); | |
35 error if (btnDiv != null) | |
35 error { | |
35 error // alert("setting discard button div"); | |
35 error btnDiv.innerHTML = MiddleButtonMessage; | |
35 error } | |
35 error var goBackDiv = document.getElementById('usercheck_return_to_site_div'); | |
35 error if (goBackDiv) | |
35 error { | |
35 error // show return to site only when its http violation AND if the action is: sent or discarded or already sent or already discarded or cancelled. | |
35 error if (window.oUserAction.incidentObject.RedirectToAddr != "" && (window.oUserAction.incidentObject.IncidentStatus == 3 || window.oUserAction.incidentObject.IncidentStatus == 4 || window.oUserAction.incidentObject.IncidentStatus == 5 || window.oUserAction.incidentObject.IncidentStatus == 6 || window.oUserAction.incidentObject.IncidentStatus == 2)) | |
35 error { | |
35 error goBackDiv.innerHTML = '<a href="' + window.oUserAction.incidentObject.RedirectToAddr + '">' + PORTAL_IS.L10N.L10N_Obj.getStr("RETURN_TO_SITE") + '</a>'; | |
35 error } | |
35 error } | |
35 error } | |
35 error else | |
35 error document.getElementById('usercheck_main_div').innerHTML = CancelMessage; | |
35 error | |
35 error var page_title = document.getElementById('usercheck_page_title'); | |
35 error if(page_title != null) | |
35 error page_title.innerHTML = PageTitle; | |
35 error | |
35 error var span = document.getElementById('UserCheck_OK_Button_span'); | |
35 error if(span != null) | |
35 error span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.OK'); | |
35 error | |
35 error span = document.getElementById('UserCheck_Cancel_Button_span'); | |
35 error if(span != null) | |
35 error span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.CANCEL'); | |
35 error | |
35 error span = document.getElementById('UserCheck_Send_Button_span'); | |
35 error if(span != null) | |
35 error span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.SEND'); | |
35 error span = document.getElementById('UserCheck_Middle_Button_span'); | |
35 error if(span != null) | |
35 error { | |
35 error if (window.oUserAction.incidentObject.RedirectToAddr == "") | |
35 error span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr('BUTTON.DISCARD'); | |
35 error else | |
35 error span.innerHTML = PORTAL_IS.L10N.L10N_Obj.getStr("BUTTON.APPROVE"); | |
35 error } | |
35 error | |
35 error var reportLink = document.getElementById('UserCheck_Wrong_Category'); | |
35 error if(reportLink != null) | |
35 error { | |
35 error var correctClass = window.oUserAction.getCorrectClass(); | |
35 error | |
35 error reportLink.setAttribute(correctClass, "usercheck_url_class"); | |
35 error | |
35 error reportLink.onclick = function(e) { window.oUserAction.sendReport(); } | |
35 error } | |
35 error | |
35 error //Clear the error message when switching language. | |
35 error var errorElement = document.getElementById('usercheck_error_div'); | |
35 error if(errorElement != null) | |
35 error errorElement.innerHTML = " "; | |
35 error | |
35 error //Keep TextArea default text to disallow it as input. | |
35 error var textarea_element = null; | |
35 error | |
35 error if(window.oUserAction.textareaExists(AdminMessage)) | |
35 error { | |
35 error textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
35 error //If the textarea is an incorrect element or length is correct, check passes. | |
35 error if(textarea_element.value === undefined) | |
35 error { | |
35 error //This element is not really our text area so we don't need it. | |
35 error textarea_element = null; | |
35 error } | |
35 error } | |
35 error | |
35 error if(textarea_element != null) | |
35 error { | |
35 error window.oUserAction.textAreaText = textarea_element.value; | |
35 error | |
35 error var correctClass = window.oUserAction.getCorrectClass(); | |
35 error textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class usercheck_textual_input_class_required"); | |
35 error | |
35 error textarea_element.onfocus = function() { window.oUserAction.clearRequiredInput(); }; | |
35 error } | |
35 error //disable the approve button only on PortalMaindlp. on thin client approve button should always be enabled | |
35 error if (window.oUserAction.incidentObject.RedirectToAddr != "" && window.isThinPortal != true) | |
35 error { | |
35 error window.oUserActionCommon.DlpHttpLearning(AdminMessage,HTTPLearningEnabled); | |
35 error } | |
35 error // hiding the cancel button on infom on dlp only | |
35 error window.oUserActionCommon.DlpHideCancelBtn(window.oUserAction.incidentObject.Action); | |
35 error } | |
35 error } | |
35 error | |
35 error //Sends report for wrong category. | |
35 error this.sendReport = function() | |
35 error { | |
35 error var Variables = window.oUserAction.incidentObject.Variables; | |
35 error | |
35 error var resource = Variables['resource'] === undefined ? "" : Variables['resource']; | |
35 error var hmac = Variables['resource_hmac'] === undefined ? "" : Variables['resource_hmac']; | |
35 error var version = Variables['version']; | |
35 error var product = Variables['product']; | |
35 error | |
35 error //Get the application name. If this variable has been modified (added application icon for example), take the original. | |
35 error var appname = Variables['application_name_orig']; | |
35 error var malwareID = Variables['application_id']; | |
35 error if(appname === undefined) | |
35 error appname = Variables['application_name']; | |
35 error | |
35 error var base64UrlEncode = function(input) { return $.base64Encode(input).replace(/\+/g, '-').replace(/\//g, '_').replace(/\=/g, '') }; | |
35 error | |
35 error //Encode to base64 URL form spec. | |
35 error appname = base64UrlEncode(appname); | |
35 error resource = base64UrlEncode(resource); | |
35 error | |
35 error //URL of the external URL | |
35 error var url = window.location.protocol + "//cws.checkpoint.com/MISCAT/miscat/1.0?resource=" + resource + "&hmac=" + hmac + "&appname=" + appname + "&version=" + version + "&product=" + product + "&malwareID=" + malwareID; | |
35 error | |
35 error //Display a portal messge indicating the action was successful. On mobile devices we use the built-in message display. | |
35 error if(window.browserDetails.isMobile()) | |
35 error alert(PORTAL_IS.L10N.L10N_Obj.getStr("REPORT_SUCCESS")); | |
35 error else | |
35 error showPortalMessage('<table><tr><td>' + draw_img_tag_span(getURL("images/confirmation.png")) + ' </td><td>' + PORTAL_IS.L10N.L10N_Obj.getStr("REPORT_SUCCESS") + '</td></tr></table>', null, PORTAL_IS.MESSAGE_TYPE.Confirmation, true, false); | |
35 error | |
35 error var img = new Image(); | |
35 error img.src = url; | |
35 error | |
35 error var reportLink = document.getElementById('UserCheck_Wrong_Category'); | |
35 error | |
35 error var correctClass = window.oUserAction.getCorrectClass(); | |
35 error | |
35 error //Disable the link. | |
35 error reportLink.setAttribute(correctClass, "usercheck_url_class usercheck_disabled_url_class"); | |
35 error | |
35 error //send log on wrong category | |
35 error var cookie = getCookie('UserCheck_UserID'); | |
35 error | |
35 error var requestData = {}; | |
35 error | |
35 error requestData.IID = "-1"; | |
35 error requestData.UserOption = "LOG-WRONG-CATEGORY"; | |
35 error requestData.UserID = cookie; | |
35 error requestData.IsReasonExist = false; | |
35 error | |
35 error | |
35 error //Sometimes the cookie is not written correctly, so used global user. | |
35 error if(requestData.UserID == null || requestData.UserID == "") | |
35 error requestData.UserID = g_userID; | |
35 error | |
35 error requestData.IID = UserCheck.DataObj.IID; | |
35 error | |
35 error var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
35 error | |
35 error sendAsynchronousRequest(sAbsoluteURL, | |
35 error flattenObject(requestData), | |
35 error this.handleUserReportWrongCategoryData, | |
35 error this, | |
35 error [new Callback()]); | |
35 error | |
35 error //Nothing should happen on click from now on. | |
35 error reportLink.onclick = function() { }; | |
35 error } | |
35 error | |
35 error this.handleReportTimeout = function() | |
35 error { | |
35 error var elem = document.getElementById('testID'); | |
35 error document.getElementsByTagName('head')[0].removeChild(elem); | |
35 error } | |
35 error | |
35 error //Verifies the input of the user, including checkbox and textarea. | |
35 error this.highlightInput = function() | |
35 error { | |
35 error var checkbox_element = null; | |
35 error var textarea_element = null; | |
35 error var checkbox_ready = false; | |
35 error var textarea_ready = false; | |
35 error | |
35 error var AdminMessage = window.oUserAction.incidentObject.Languages[window.oUserAction.incidentObject.SelectedLanguage].AdminMessage; | |
35 error | |
35 error //If the checkbox exists (and it is a correct element), its value will determine the button status. | |
35 error if(window.oUserAction.incidentObject.IsCheckBoxEnforced == true && window.oUserAction.checkBoxExists(AdminMessage) == true && document.getElementById('UserCheck_Confirm_Checkbox').checked !== undefined) | |
35 error { | |
35 error checkbox_element = document.getElementById('UserCheck_Confirm_Checkbox'); | |
35 error checkbox_ready = checkbox_element.checked; | |
35 error } | |
35 error else | |
35 error checkbox_ready = true; | |
35 error | |
35 error //If the reason textbox exists and is enforced, its value will determine the button status. | |
35 error if(window.oUserAction.incidentObject.IsReasonEnforced === true && window.oUserAction.textareaExists(AdminMessage)) | |
35 error { | |
35 error textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
35 error | |
35 error //If the textarea is an incorrect element or length is correct, check passes. | |
35 error if(textarea_element.value === undefined) | |
35 error { | |
35 error textarea_ready = true; | |
35 error //This element is not really our text area so we don't need it. | |
35 error textarea_element = null; | |
35 error } | |
35 error else | |
35 error { | |
35 error if (textarea_element.value.length > 0 && textarea_element.value.length <= 400 && textarea_element.value != PORTAL_IS.L10N.L10N_Obj.getStr("ENTER_TEXT") && textarea_element.value != window.oUserAction.textAreaText) | |
35 error textarea_ready = true; | |
35 error else | |
35 error textarea_ready = false; | |
35 error } | |
35 error } | |
35 error else | |
35 error textarea_ready = true; | |
35 error | |
35 error var all_ready = checkbox_ready === true && textarea_ready === true; | |
35 error | |
35 error var correctClass = window.oUserAction.getCorrectClass(); | |
35 error var elememt_to_scroll = null; | |
35 error | |
35 error if(checkbox_element != null) | |
35 error { | |
35 error | |
35 error checkbox_element.parentNode.parentNode.parentNode.parentNode.setAttribute(correctClass, (checkbox_ready ? "usercheck_red_no_highlight" : "usercheck_red_highlight" )); | |
35 error elememt_to_scroll = checkbox_ready ? elememt_to_scroll : checkbox_element.parentNode.parentNode.parentNode.parentNode; | |
35 error } | |
35 error | |
35 error if(textarea_element != null) | |
35 error { | |
35 error textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class " + (textarea_ready ? "usercheck_red_no_highlight" : "usercheck_red_highlight usercheck_textual_input_class_required" )); | |
35 error elememt_to_scroll = textarea_ready ? elememt_to_scroll : textarea_element; | |
35 error if(!textarea_ready) | |
35 error { | |
35 error if(window.oUserAction.textAreaText === "" || textarea_element.value !== window.oUserAction.textAreaText) | |
35 error { | |
35 error if(window.oUserAction.textAreaText != "") | |
35 error textarea_element.value = window.oUserAction.textAreaText; | |
35 error else | |
35 error textarea_element.value = PORTAL_IS.L10N.L10N_Obj.getStr("ENTER_TEXT"); | |
35 error } | |
35 error textarea_element.onfocus = function() { window.oUserAction.clearRequiredInput(); }; | |
35 error } | |
35 error } | |
35 error | |
35 error if(!textarea_ready && !checkbox_ready && checkbox_element!=null && textarea_element!=null) | |
35 error { | |
35 error if(checkbox_element.parentNode.parentNode.parentNode.parentNode.offsetTop > textarea_element.offsetTop) | |
35 error elememt_to_scroll = checkbox_element; | |
35 error | |
35 error } | |
35 error | |
35 error if(elememt_to_scroll!=null){ | |
35 error elememt_to_scroll.scrollIntoView(false); | |
35 error var scrollableDiv = document.getElementById("usercheck_scrollable_div"); | |
35 error if (scrollableDiv !== null) | |
35 error scrollableDiv.scrollLeft = 0; | |
35 error } | |
35 error | |
35 error var errorElement = document.getElementById('usercheck_error_div'); | |
35 error if(errorElement != null) | |
35 error errorElement.innerHTML = all_ready ? "" : "<br/><span style='color: #FF0000;'>* " + PORTAL_IS.L10N.L10N_Obj.getStr("REQUIRED_FIELDS") + "</span>"; | |
35 error | |
35 error return all_ready; | |
35 error } | |
35 error | |
35 error this.clearRequiredInput = function() | |
35 error { | |
35 error textarea_element = document.getElementById('UserCheck_Textual_Input'); | |
35 error | |
35 error textarea_element.value = ""; | |
35 error | |
35 error var correctClass = window.oUserAction.getCorrectClass(); | |
35 error | |
35 error if(textarea_element.getAttribute(correctClass).indexOf("usercheck_red_highlight") !== -1) | |
35 error textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class usercheck_red_highlight"); | |
35 error else | |
35 error textarea_element.setAttribute(correctClass, "usercheck_message_class usercheck_textual_input_class"); | |
35 error | |
35 error textarea_element.onfocus = function() { }; | |
35 error } | |
35 error | |
35 error this.sendMail = function() | |
35 error { | |
35 error DEBUG.out("UserAction::sendMail"); | |
35 error this.last_action = 'sent'; | |
35 error | |
35 error if(!window.oUserAction.highlightInput()) | |
35 error //There was some user input missing - don't continue. | |
35 error return; | |
35 error | |
35 error var reason = ""; | |
35 error if(document.getElementById('UserCheck_Textual_Input') != null) | |
35 error { | |
35 error reason = document.getElementById('UserCheck_Textual_Input').value; | |
35 error //If the reason box is not found, there is nothing to enforce. | |
35 error if(reason === undefined) | |
35 error { | |
35 error reason = ""; | |
35 error } | |
35 error } | |
35 error | |
35 error | |
35 error var sendMailCallback = new Callback(); | |
35 error sendMailCallback.methodReference = this.handleConfirmationData; | |
35 error sendMailCallback.thisArgument = this; | |
35 error sendMailCallback.args.push(new Callback()); | |
35 error PORTAL_IS.AJAX_MGR.sendAsyncReq( getURL("EmailSend"), | |
35 error "mailId="+encodeURIComponent(UserCheck.DataObj.IID)+ | |
35 error "&justification="+encodeURIComponent(reason)+"&action=DLP-CHOICE-ACTION-SEND", | |
35 error sendMailCallback, | |
35 error null, | |
35 error null, | |
35 error "Sending email failed."); | |
35 error | |
35 error | |
35 error } | |
35 error | |
35 error this.discardMail = function() | |
35 error { | |
35 error DEBUG.out("UserAction::deleteMail"); | |
35 error this.last_action = 'delete'; | |
35 error | |
35 error var sendMailCallback = new Callback(); | |
35 error sendMailCallback.methodReference = this.handleConfirmationData; | |
35 error sendMailCallback.thisArgument = this; | |
35 error sendMailCallback.args.push(new Callback()); | |
35 error PORTAL_IS.AJAX_MGR.sendAsyncReq( getURL("EmailSend"), | |
35 error "mailId="+encodeURIComponent(UserCheck.DataObj.IID)+ | |
35 error "&justification="+encodeURIComponent("")+"&action=DLP-CHOICE-ACTION-DISCARD", | |
35 error sendMailCallback, | |
35 error null, | |
35 error null, | |
35 error "Sending email failed."); | |
35 error | |
35 error | |
35 error } | |
35 error | |
35 error this.handleConfirmationData = function(xhrStatus, xhrResponse, callback) | |
35 error { | |
35 error DEBUG.out("UserAction::handleConfirmationData "); | |
35 error if (callback == undefined) | |
35 error { | |
35 error callback = new Callback(); | |
35 error } | |
35 error if (xhrStatus != 200) | |
35 error { | |
35 error // TODO: Handle error. | |
35 error DEBUG.out('Retreiving Single Incident Review Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
35 error callback.call(); | |
35 error return; | |
35 error } | |
35 error var newViewJSONObj = JSON.parse(xhrResponse); | |
35 error var message = newViewJSONObj.message; | |
35 error var lastChanged = newViewJSONObj.lastChanged; | |
35 error var succeeded = newViewJSONObj.succeeded; | |
35 error if (lastChanged != -1 && lastChanged != 0) | |
35 error { | |
35 error //message += " "; | |
35 error //message += convertToGmt(lastChanged); | |
35 error //this.emailData.date = convertToGmt(lastChanged); | |
35 error } | |
35 error //@@NA add test if this is from Thin Portal and only then redirect to about:blank | |
35 error // window.location = "about:blank"; | |
35 error if (succeeded) | |
35 error { | |
35 error var cookie = getCookie('UserCheck_UserID'); | |
35 error var requestData = {}; | |
35 error requestData.IID = "-1"; | |
35 error requestData.UserID = cookie; | |
35 error requestData.IsReasonExist = true; | |
35 error requestData.Reason = ""; | |
35 error requestData.UserOption = "SEND"; | |
35 error if (newViewJSONObj.action == "DLP-CHOICE-ACTION-DISCARD") | |
35 error { | |
35 error requestData.UserOption = "DISCARD"; | |
35 error } | |
35 error | |
35 error if (newViewJSONObj.action === undefined || newViewJSONObj.action != "DLP-CHOICE-ACTION-SEND") | |
35 error { | |
35 error requestData.IsReasonExist = false; | |
35 error } | |
35 error else | |
35 error { | |
35 error if(document.getElementById('UserCheck_Textual_Input') != null) | |
35 error { | |
35 error var reason = document.getElementById('UserCheck_Textual_Input').value; | |
35 error | |
35 error //If the reason box is not found, there is nothing to enforce. | |
35 error if(reason === undefined) | |
35 error { | |
35 error reason = ""; | |
35 error requestData.IsReasonExist = false; | |
35 error } | |
35 error else if(window.oUserAction.incidentObject.IsReasonEnforced === true && (reason.length == 0 || reason.length > 400)) | |
35 error return; | |
35 error | |
35 error requestData.Reason = reason; | |
35 error } | |
35 error else | |
35 error { | |
35 error requestData.IsReasonExist = false; | |
35 error } | |
35 error } | |
35 error //Sometimes the cookie is not written correctly, so used global user. | |
35 error if(requestData.UserID == null || requestData.UserID == "") | |
35 error requestData.UserID = g_userID; | |
35 error requestData.IID = UserCheck.DataObj.IID; | |
35 error | |
35 error var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetUserCheckUserChoiceData"); | |
35 error | |
35 error sendAsynchronousRequest(sAbsoluteURL, | |
35 error flattenObject(requestData), | |
35 error this.handleUserCheckChoiceData, | |
35 error this, | |
35 error [new Callback()]); | |
35 error } | |
35 error | |
35 error } | |
35 error | |
35 error this.goToBlank = function() | |
35 error { | |
35 error window.location = "about:blank"; | |
35 error } | |
35 error | |
35 error this.ApproveHttp = function() | |
35 error { | |
35 error this.sendMail(); | |
35 error } | |
35 error | |
35 error | |
35 error this.createScrubbingLinks = function(attachments, isExtended) | |
35 error { | |
35 error var scrub_files_out = "<ul style=\"list-style-type: none;padding: 0;\">"; | |
35 error for (var i = 0;i<attachments.length;i++) | |
35 error { | |
35 error if (attachments[i].fileStatus == "FILE-STATUS-APPROVED-BY-TE" || attachments[i].fileStatus == "FILE-STATUS-AVAILABLE" || attachments[i].fileStatus == "FILE-STATUS-AVAILABLE-SUSPICIOUS") | |
35 error { | |
35 error var image = "images/confirmation.png"; | |
35 error var comment = ""; | |
35 error var toolTip = "Click to download"; | |
35 error var removedParts = attachments[i].removedParts; | |
35 error if (isExtended == true) | |
35 error { | |
35 error if(removedParts != "") | |
35 error { | |
35 error removedParts = removedParts.replace(/\n/g,", "); | |
35 error comment = " contains " + removedParts; | |
35 error } | |
35 error else | |
35 error { | |
35 error comment = PORTAL_IS.L10N.L10N_Obj.getStr(attachments[i].scrubResult); | |
35 error } | |
35 error } | |
35 error scrub_files_out += "<li title=\"" + toolTip + "\"><img src=\"" + image + "\" width=\"20\" height=\"20\"/> " + "<a href=\"ScrubGetFile?IID="+UserCheck.DataObj.IID+"&fileID="+attachments[i].fileId+"\" TARGET=\"_blank\"><span style=\"font-weight:bold\">" + attachments[i].fileName + "</span></a> <span style=\"color:Red;font-size:80%\">" + comment + "</span></li>" | |
35 error } | |
35 error else | |
35 error { | |
35 error var description = ""; | |
35 error var img = ""; | |
35 error var toolTip = ""; | |
35 error if (attachments[i].fileStatus == "FILE-STATUS-WAITING-FOR-TE") | |
35 error { | |
35 error g_refreshFiles = true; | |
35 error description = "scanning..."; | |
35 error img = "img/loader.gif"; | |
35 error toolTip = "Please wait while file is being scanned"; | |
35 error } | |
35 error else if (attachments[i].fileStatus == "FILE-STATUS-BLOCKED-BY-TE") | |
35 error { | |
35 error description = "blocked - file is malicious"; | |
35 error img = "img/block.png"; | |
35 error toolTip = "File is malicious - blocked for download"; | |
35 error } | |
35 error else if (attachments[i].fileStatus == "FILE-STATUS-BLOCKED-BY-POLICY") | |
35 error { | |
35 error description = "blocked according to company policy"; | |
35 error img = "img/block.png"; | |
35 error toolTip = "File is blocked for download according to company policy"; | |
35 error } | |
35 error scrub_files_out += "<li title=\"" + toolTip + "\"><img src=\"" + img + "\" width=\"20\" height=\"20\"/> " + attachments[i].fileName + " <span style=\"color:LightSteelBlue\">(" + description + ")</span></li>" | |
35 error } | |
35 error } | |
35 error scrub_files_out += "</ul><div id=\"refresh_timer_div\"></div>"; | |
35 error return scrub_files_out; | |
35 error } | |
35 error | |
35 error this.handleScrubbingFiles = function(xhrStatus, xhrResponse, callback) | |
35 error { | |
35 error if (callback == undefined) | |
35 error { | |
35 error callback = new Callback(); | |
35 error } | |
35 error | |
35 error if (xhrStatus != 200) | |
35 error { | |
35 error DEBUG.out('Retreiving UserCheck Incident Data failed. ('+xhrStatus+')', DEBUG.ERROR); | |
35 error callback.call(); | |
35 error return; | |
35 error } | |
35 error | |
35 error this.scrubbingResponse = JSON.parse(xhrResponse); | |
35 error | |
35 error var attachments = []; | |
35 error if( Object.prototype.toString.call( this.scrubbingResponse.data.attachments ) != '[object Array]' ) { | |
35 error attachments[0] = this.scrubbingResponse.data.attachments; | |
35 error } | |
35 error else | |
35 error { | |
35 error attachments = this.scrubbingResponse.data.attachments; | |
35 error } | |
35 error | |
35 error g_refreshFiles = false; | |
35 error var scrub_links_simple = document.getElementById('links_simple'); | |
35 error if (scrub_links_simple != null) | |
35 error { | |
35 error if (scrub_links_simple.hasChildNodes()) | |
35 error scrub_links_simple.removeChild(scrub_links_simple.childNodes[0]); | |
35 error var tmp = document.createElement("div"); | |
35 error tmp.innerHTML = window.oUserAction.createScrubbingLinks(attachments, false); | |
35 error scrub_links_simple.appendChild(tmp); | |
35 error } | |
35 error | |
35 error var scrub_links_extended = document.getElementById('links_extended'); | |
35 error if (scrub_links_extended != null) | |
35 error { | |
35 error if (scrub_links_extended.hasChildNodes()) | |
35 error scrub_links_extended.removeChild(scrub_links_extended.childNodes[0]); | |
35 error var tmp = document.createElement("div"); | |
35 error tmp.innerHTML = window.oUserAction.createScrubbingLinks(attachments, true); | |
35 error scrub_links_extended.appendChild(tmp); | |
35 error } | |
35 error | |
35 error var scrub_wait_massage = document.getElementById('scrub_wait_message'); | |
35 error if (scrub_wait_massage != null) | |
35 error { | |
35 error scrub_wait_massage.style.display = 'none'; | |
35 error } | |
35 error | |
35 error if (g_refreshFiles) | |
35 error { | |
35 error UserCheck.tools.oTimeoutManager.startTimeoutTimer(30, window.oUserAction.refreshScrubbingFiles); | |
35 error } | |
35 error callback.call(); | |
35 error } | |
35 error | |
35 error this.refreshScrubbingFiles = function() | |
35 error { | |
35 error var requestData = { | |
35 error IID: "-1" | |
35 error }; | |
35 error requestData.IID = UserCheck.DataObj.IID; | |
35 error var sAbsoluteURL = PORTAL_IS.TOOLS.getURL("data/GetScrubFiles"); | |
35 error sendAsynchronousRequest(sAbsoluteURL, | |
35 error flattenObject(requestData), | |
35 error window.oUserAction.handleScrubbingFiles, | |
35 error this, | |
35 error [new Callback()]); | |
35 error } | |
35 error | |
35 error this.showOrHideRemovedPartsfromFiles = function(FileIndex) | |
35 error { | |
35 error var infoimg_element = document.getElementById('infoimg_' + FileIndex); | |
35 error var removed_parts_element = document.getElementById('removed_parts_' + FileIndex); | |
35 error | |
35 error if ( infoimg_element != null && removed_parts_element != null ) | |
35 error { | |
35 error if( removed_parts_element.style.display === "none" ) | |
35 error { | |
35 error infoimg_element.style.display = 'none'; | |
35 error removed_parts_element.style.display = 'inline'; | |
35 error } | |
35 error else | |
35 error { | |
35 error infoimg_element.style.display = "inline"; | |
35 error removed_parts_element.style.display = 'none'; | |
35 error } | |
35 error } | |
35 error } | |
35 error | |
35 error } //END: window.UserAction = function() | |
35 error | |
35 error window.oUserAction = new UserAction(); | |
35 error oUserAction.init(); | |
35 error | |
35 error </script> | |
35 error | |
35 error </html> | |
36 error If you need help, you may report this error at: | |
36 error <https://github.com/npm/npm/issues> | |
37 verbose exit [ 1, true ] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment