Forum

Welcome to ProjeQtOr new Forum. We migrated old forum to the new website.
You will find all your posts here, with your usual account.
Just one point : you’ll have to reinitialize your password. Use “Lost password” feature.

V5 - Can't login an...
 
Notifications
Clear all

V5 - Can't login any more...

17 Posts
2 Users
0 Reactions
38.9 K Views
(@mike152)
Posts: 17
Active Member
Topic starter
 
[#2380]

Hello

I have worked several hours to discover a fresh installed Version 5 (what a nice application !!)
After logged out, it's impossible to loggin again...
The login screen appears (just the title 'Projeqtor'of the frame), and than... nothing but this after a while :

Fatal error: Maximum execution time of 60 seconds exceeded in C:xampphtdocsProjeqtortoolprojeqtor.php on line 395

Any idea ?

Thanks

Michel


 
Posted : 19 Jun 2015 18H29
babynus
(@babynus)
Posts: 14957
Main Contributor Admin
 

Can you check log file and post content here please ?


 
Posted : 19 Jun 2015 19H50
(@mike152)
Posts: 17
Active Member
Topic starter
 

Hello,

There is a screen shot of the login screen,
and the 2 available log files in c$xampphtdocsProjeqtorfileslogs
I have rebooted the server, without more success.

Thanks for checking.
Michel


 
Posted : 20 Jun 2015 12H08
(@mike152)
Posts: 17
Active Member
Topic starter
 

The last log

The former


 
Posted : 20 Jun 2015 12H12
(@mike152)
Posts: 17
Active Member
Topic starter
 

last log


 
Posted : 20 Jun 2015 12H12
(@mike152)
Posts: 17
Active Member
Topic starter
 

last log


 
Posted : 20 Jun 2015 12H13
(@mike152)
Posts: 17
Active Member
Topic starter
 

Content of the last log file :

2015-06-19 15:30:41.266 ===== TRACE ===== DISCONNECTED USER 'mike'
2015-06-19 15:30:50.164 ===== TRACE ===== Login error for user 'mike'
2015-06-19 15:30:59.472 ===== TRACE ===== NEW CONNECTED USER 'mike'
2015-06-19 15:33:50.193 ===== TRACE ===== NEW CONNECTED USER 'Mike'
2015-06-19 15:35:16.475 ===== TRACE ===== NEW CONNECTED USER 'admin'
2015-06-19 15:53:34.249 ===== TRACE ===== NEW CONNECTED USER 'admin'


 
Posted : 20 Jun 2015 12H16
(@mike152)
Posts: 17
Active Member
Topic starter
 

and last lines of the former log

2015-06-18 09:56:04.279 ===== TRACE ===== $paramReportTempDirectory kept in parameter file
2015-06-18 09:56:04.280 ===== TRACE ===== $paramMemoryLimitForPDF kept in parameter file
2015-06-18 09:56:04.282 ===== TRACE ===== $logFile kept in parameter file
2015-06-18 09:56:04.283 ===== TRACE ===== $logLevel kept in parameter file
2015-06-18 09:56:04.285 ===== TRACE ===== $enforceUTF8 kept in parameter file
2015-06-18 09:56:04.285 ===== TRACE ===== ---> lines read from file = 44
2015-06-18 09:56:04.286 ===== TRACE ===== ---> parameters found = 38
2015-06-18 09:56:04.286 ===== TRACE ===== ---> parameters moved to database = 7
2015-06-18 09:56:04.287 ===== TRACE ===== ---> parameters kept in parameter file = 31
2015-06-18 09:56:04.291 ===== TRACE ===== REWRITE PARAMTERS.PHP FILE = END ======================
2015-06-18 09:56:04.594 ===== TRACE ===== === REWRITE PARAMTERS.PHP FILE = START ====================
2015-06-18 09:56:04.597 ===== TRACE ===== $paramDbType kept in parameter file
2015-06-18 09:56:04.599 ===== TRACE ===== $paramDbHost kept in parameter file
2015-06-18 09:56:04.601 ===== TRACE ===== $paramDbPort kept in parameter file
2015-06-18 09:56:04.603 ===== TRACE ===== $paramDbUser kept in parameter file
2015-06-18 09:56:04.605 ===== TRACE ===== $paramDbPassword kept in parameter file
2015-06-18 09:56:04.607 ===== TRACE ===== $paramDbName kept in parameter file
2015-06-18 09:56:04.609 ===== TRACE ===== $paramDbPrefix kept in parameter file
2015-06-18 09:56:04.611 ===== TRACE ===== $paramLdap_allow_login moved to database
2015-06-18 09:56:04.613 ===== TRACE ===== $paramLdap_base_dn moved to database
2015-06-18 09:56:04.615 ===== TRACE ===== $paramLdap_host moved to database
2015-06-18 09:56:04.617 ===== TRACE ===== $paramLdap_port moved to database
2015-06-18 09:56:04.618 ===== TRACE ===== $paramLdap_version moved to database
2015-06-18 09:56:04.620 ===== TRACE ===== $paramLdap_search_user moved to database
2015-06-18 09:56:04.622 ===== TRACE ===== $paramLdap_search_pass moved to database
2015-06-18 09:56:04.624 ===== TRACE ===== $paramLdap_user_filter moved to database
2015-06-18 09:56:04.626 ===== TRACE ===== $paramDefaultPassword moved to database
2015-06-18 09:56:04.628 ===== TRACE ===== $paramPasswordMinLength moved to database
2015-06-18 09:56:04.630 ===== TRACE ===== $paramDefaultLocale moved to database
2015-06-18 09:56:04.632 ===== TRACE ===== $paramDefaultTimezone moved to database
2015-06-18 09:56:04.633 ===== TRACE ===== $currency moved to database
2015-06-18 09:56:04.635 ===== TRACE ===== $currencyPosition moved to database
2015-06-18 09:56:04.637 ===== TRACE ===== $paramFadeLoadingMode moved to database
2015-06-18 09:56:04.639 ===== TRACE ===== $paramIconSize moved to database
2015-06-18 09:56:04.640 ===== TRACE ===== $defaultTheme moved to database
2015-06-18 09:56:04.642 ===== TRACE ===== $paramAttachmentDirectory moved to database
2015-06-18 09:56:04.644 ===== TRACE ===== $paramAttachmentMaxSize moved to database
2015-06-18 09:56:04.646 ===== TRACE ===== $paramReportTempDirectory moved to database
2015-06-18 09:56:04.648 ===== TRACE ===== $paramMemoryLimitForPDF moved to database
2015-06-18 09:56:04.650 ===== TRACE ===== $logFile kept in parameter file
2015-06-18 09:56:04.651 ===== TRACE ===== $logLevel kept in parameter file
2015-06-18 09:56:04.653 ===== TRACE ===== $enforceUTF8 kept in parameter file
2015-06-18 09:56:04.653 ===== TRACE ===== ---> lines read from file = 37
2015-06-18 09:56:04.654 ===== TRACE ===== ---> parameters found = 31
2015-06-18 09:56:04.654 ===== TRACE ===== ---> parameters moved to database = 21
2015-06-18 09:56:04.655 ===== TRACE ===== ---> parameters kept in parameter file = 10
2015-06-18 09:56:04.658 ===== TRACE ===== REWRITE PARAMTERS.PHP FILE = END ======================
2015-06-18 09:56:05.451 ===== TRACE ===== =====================================
2015-06-18 09:56:05.451 ===== TRACE =====
2015-06-18 09:56:05.452 ===== TRACE ===== DATABASE UPDATE COMPLETED TO VERSION V5.0.0
2015-06-18 09:56:05.452 ===== TRACE =====
2015-06-18 09:56:05.453 ===== TRACE ===== =====================================
2015-06-18 09:56:05.453 ===== TRACE =====
2015-06-18 10:02:30.427 ===== TRACE ===== NEW CONNECTED USER 'admin'
2015-06-18 12:30:30.929 ===== TRACE ===== DISCONNECTED USER 'admin'
2015-06-18 12:30:31.366 ===== TRACE ===== DISCONNECTED USER 'admin'
2015-06-18 12:30:48.376 ===== TRACE ===== DISCONNECTED USER 'admin'
2015-06-18 12:31:00.649 ===== TRACE ===== Login error for user 'mike'
2015-06-18 12:31:03.555 ===== TRACE ===== Login error for user 'mike'
2015-06-18 12:31:10.571 ===== TRACE ===== Login error for user 'mike'
2015-06-18 12:31:20.166 ===== TRACE ===== Login error for user 'mike'
2015-06-18 12:31:30.767 ===== TRACE ===== NEW CONNECTED USER 'admin'
2015-06-18 12:35:08.682 ===== TRACE ===== DISCONNECTED USER 'admin'
2015-06-18 12:35:19.989 ===== TRACE ===== NEW CONNECTED USER 'mike'


 
Posted : 20 Jun 2015 12H17
babynus
(@babynus)
Posts: 14957
Main Contributor Admin
 

OK, there is no error in the log file.
Please check for error in the browser console.

Maybe you can also try to clean browser cache (it sometimes helps)


 
Posted : 20 Jun 2015 22H48
(@mike152)
Posts: 17
Active Member
Topic starter
 

I don't think that the browser's cache is concern : I have tried from an other pc, with the same problem.

I have tried again, and now, I got the full login screen.
So I have tried to login with user admin.
The time out message mentionned in my first post occurs again, and here are the debug screens given by firefox.

Fatal error: Maximum execution time of 60 seconds exceeded in C:xampphtdocsProjeqtortoolprojeqtor.php on line 395

********* Console:
"=> 322ms | page='../tool/loginCheck.php' | destination='loginResultDiv' | formName=loginForm'" projeqtor.js:75:2
Object { message: "Unable to load ../tool/saveDataToSe…", stack: ".cache["dojo/errors/create"]/</</_4…", response: Object, status: 0, responseText: "", xhr: XMLHttpRequest } dojo.js:15:102024

Object { message: "Unable to load ../tool/saveDataToSe…", stack: ".cache["dojo/errors/create"]/</</_4…", response: Object, status: 0, responseText: "", xhr: XMLHttpRequest } dojo.js:15:102024

+ 3 Debug screens:
*********** Debug (...dataBrowserSpecificScript.js):
'use strict';

var resourceURL = "resource://skype_ff_extension-at-jetpack/skype_ff_extension/data/";

/**
* Returns the console used for logging
*/
function getConsole() {
return unsafeWindow.console;
}

/**
* Returns the document
*/
function getDocument() {
return unsafeWindow.document;
}

/**
* Returns true if document is HTML
*/
function isHtmlPage() {
return (unsafeWindow.document.contentType === "text/html") ||
// Check for XHTML document
(unsafeWindow.document.contentType === "application/xhtml+xml");
}

/**
* Our name
*/
function getPluginName() {
return "FFTB";
}

/**
* Writes a log line to the JS console
*
* @param item - Item to log
*/
function Log(item) {
//getConsole().log(item);
}

/**
* Writes a timestamp (milliseconds since epoch) and a message to the JS console
* Separate function from Log so that it can be enabled/disabled separately
*/
function LogTimestamp(message) {
//getConsole().log(performance.now() + " ms since navigationStart: " + message);
}

/**
* Sends a message to the background page requesting settings to be sent
*/
function postSettingsRequest() {
self.port.emit("GET_SETTINGS_REQUEST");
}

// Register a listener for when background page wants to send us settings changes
// done by the user
self.port.on("GET_SETTINGS_RESPONSE", function(message) {
processSettingsResponse(message);
});

*************** Debug (../data/contenScript.js) :
'use strict';

/**
* Returns the product version number
*
* @return Product version number
*/
function getProductVersion() {
return "7.3.16540.9015";
}

/**
* @brief Class that stores pair key:HTMLElement
* key is auto incremented when new element is added
* When you call getElement method the pair will be deleted from the collection
*/
function ElementsToParseStorage() {
this.elementsToParseMapIndex = -1;
this.elementsToParse = {};

/**
* Get element by index and remove it from the collection
*
* @param index - index of the element in the collection
* @return element at the specified index
*/
this.getElement = function(index) {
var element = this.elementsToParse[index];
delete this.elementsToParse[index];
return element;
};

/**
* Store an element in the collection
*
* @param element - element to store in the collection
* @return index where element was stored
*/
this.setElement = function(element) {
++this.elementsToParseMapIndex;
this.elementsToParse[this.elementsToParseMapIndex] = element;
return this.elementsToParseMapIndex;
};
}

/**
* @brief Object that stores html tags that we want to ignore.
* NOTE: Items in this list should be sorted array because we use binary search.
*/
var ElementsFilter = {
// DOM elements to ignore
elementsToIgnore : [ "A", "ACRONYM", "APPLET", "AREA", "AUDIO",
"BUTTON", "CANVAS", "CODE",
"COL", "COLGROUP", "COMMAND",
"DATALIST", "DEL", "DIR",
"EMBED", "FRAME", "FRAMESET",
"IFRAME", "IMG", "INPUT",
"KBD", "KEYGEN", "LABEL", "LINK",
"MAP", "MENU", "META", "METER",
"NAV", "NOFRAMES", "NOSCRIPT",
"OBJECT", "OPTGROUP", "OPTION", "OUTPUT",
"PARAM", "PROGRESS", "S", "SAMP",
"SCRIPT", "SELECT", "SOURCE", "STRIKE",
"STYLE", "TEXTAREA", "TIME",
"TRACK", "VAR", "VIDEO"],

/**
* Determine if an element on the ignore list
*
* @param element - DOM element to check against the list of elements to be ignored
* @return true if it is on the ignore list else false
*/
isOnIgnoreList : function(element) {
var result = false;

var elementName = element.nodeName;
var lowWord = 0;
var highWord = this.elementsToIgnore.length - 1;
var current = 0;

while (lowWord <= highWord) {
current = Math.floor((lowWord + highWord) / 2);

if (this.elementsToIgnore[current] elementName) {
highWord = current - 1;
continue;
}

result = true;
break;
}

return result;
},

isIgnoredByRule : function(element) {

try {
// Check if element or its parent is editable i.e. has the 'contenteditable' or 'g_editable' attribute set to true
// Google sites on Firefox sometimes use only 'g_editable' (custom attribute) instead of 'contenteditable'
var editableElements = $(element).closest("div[contenteditable='true'],div[g_editable='true'],body[contenteditable='true'],body[g_editable='true']");
if(editableElements.length > 0) {
Log("Skip editable element");
return true;
}

// TBAR-9045: Numbers in the suggestion list on a yahoo search page get highlighted
if(pageUrlHostName.indexOf("yahoo.") != -1) {
var parentElem = element.parentElement;
if(parentElem) {
parentElem = parentElem.parentElement;
if(parentElem) {
parentElem = parentElem.parentElement;
if(parentElem && parentElem.getAttribute("class") === "sa-results") {
Log("Ignoring element on yahoo search suggestion box");
return true;
}
}
}
}

// TBAR-9260: Livejournal - Weird highlighting in edit mode
if(pageUrlHostName.indexOf("livejournal.") != -1) {
var elementsFound = $(element).closest("div.b-spelling-faketextarea");
if(elementsFound.length > 0) {
Log("Ignoring element on livejournal");
return true;
}
}

//
// Rules that apply only to Firefox
//
if(getPluginName() === "FFTB") {
// TBAR-9222: Facebook. Phone numbers are highlighted in edit field.
if(pageUrlHostName.indexOf("facebook.") != -1) {
if(getDocument().body.className === "mceContentBody ") {
Log("Ignoring facebook in edit mode");
return true;
}
}

// TBAR-10221 zoho.com highlighting in new email.
if(pageUrlHostName.indexOf("zoho.") != -1) {
if(getDocument().body.className === "ze_body") {
Log("Ignoring zoho in edit mode");
return true;
}
}
}
}
catch(e) {
Log("Exception while trying to check ignored rules: " + e.message);
}

return false;
},

isExistingHighlighting : function(element) {
if (!element) {
return false;
}
return (element.className.indexOf("skype_c2c") != -1);
}
}

/**
* Processes results returned by PNR
*
* @param results - JSON string containing results
*/
function processPNRResults(results) {
LogTimestamp("Receive response from PNR service");

Log("Processing PNR results");

var jsonResult = JSON.parse(results);

// Get and remove element
var element = elementsStorage.getElement(jsonResult.id);

if (jsonResult.pnrResults.length === 0) {
Log("No phone numbers found");
return;
}

Log("PNR parse results: " + results);

// Some results might arrive after user has disabled highlighting
// so make sure we just ignore those
if(!highlightingEnabled) {
Log("Ignoring parse results because highlighting is disabled");
return;
}

LogTimestamp("Start highlighting");

// Unregister mutation events while we are making
// changes to the DOM so that they don't trigger for the changes we make
unregisterMutationObserver();

initHighlighting();

// Highlight the numbers
var highlightedNumbers;
highlightedNumbers = doHighlighting(element, jsonResult.pnrResults);

registerMutationObserver();

LogTimestamp("End highlighting");

// Send the detected numbers to the free PNR web service to find free numbers
FPNR.findFreeNumbers(highlightedNumbers, pageUrlHostName, processFPNRResults);

Log("Parse results processed successfully");
}

/**
* Triggered by mutation summary library when there are dynamic changes
* to the DOM and provides a summarized list of added, removed and changed
* nodes.
*
* @param summaries - List of summarized changes to the DOM
*/
function processMutations(summaries) {
Log("Received DOM mutations");
parseContent(summaries[0].added);
}

/**
* This is a callback that is called when FPNR request is done.
*
* @param response - Array of numbers that are free
*/
function processFPNRResults(response) {
LogTimestamp("Receive response from FPNR service");

// FPNR might have returned an error
if (response === null) {
Log("FPNR service returned an error");
return;
}

// Some results might arrive after user has disabled highlighting
// so make sure we just ignore those
if (!highlightingEnabled) {
Log("Ignoring Free PNR results because highlighting is disabled");
return;
}

Log("Free PNR response: " + response);
var len = response.length;
if(len === 0) {
return;
}

LogTimestamp("Start FREE highlighting");

// Unregister mutation events while we are making
// changes to the DOM so that they don't trigger for the changes we make
unregisterMutationObserver();

for (var i = 0; i < len; i++) {
SkypeClick2Call.NumberHighlightingBuilder.markAsFree('+' + response, localizedPhrases.FREE);
}

registerMutationObserver();

LogTimestamp("End FREE highlighting");
}

/**
* Initialize highlighting by injecting necessary bits into the DOM
*/
function initHighlighting() {
SkypeClick2Call.NumberHighlightingBuilder.injectPrintStyle();
SkypeClick2Call.MenuInjectionBuilder.createInjectionElements(SkypeClick2Call.uiId == 1 ? localizedPhrases.CALL_VIA_SKYPE : localizedPhrases.CALL,
localizedPhrases.SEND_SMS,
localizedPhrases.ADD_TO_SKYPE,
localizedPhrases.CALL_WITH_SKYPE_CREDITS,
SkypeClick2Call.uiId == 1 ? localizedPhrases.NO_CREDIT_REQUIRED : localizedPhrases.FREE_VIA_SKYPE);
}

/**
* Highlights numbers found on the page
*
* @param element - DOM element where numbers were found
* @param pnrResults - Parse results from PNR
*/
function doHighlighting(element, pnrResults) {
return SkypeClick2Call.NumberHighlightingBuilder.createInjectionElements(element, pnrResults);
}

/**
* Removes all highlighting
*/
function removeHighlighting() {
Log("Removing any existing highlighting");

SkypeClick2Call.NumberHighlightingBuilder.destroyPrintStyle();
SkypeClick2Call.NumberHighlightingBuilder.destroyInjectionElements();
SkypeClick2Call.MenuInjectionBuilder.destroyInjectionElements();
}

/**
* Sends the HTML content of the specified element to PNR to look for phone numbers
*
* @param element - DOM element to search for phone numbers
*/
function parseContent(elements) {

elements.forEach(function(element) {
// Check if the element is one we should ignore
if (ElementsFilter.isOnIgnoreList(element)) {
Log("Skip parsing ignored element " + element.nodeName);
return;
}

// Skip elements with inner HTML length <= MIN_PARSE_LEN
var htmlLen = element.innerHTML.length;
if(htmlLen <= MIN_PARSE_LEN) {
Log("Skip parsing element " + element.nodeName + " with inner HTML length MAX_PARSE_LEN) {
Log("Truncating HTML");
htmlToParse = element.innerHTML.substr(0, MAX_PARSE_LEN - 1);
}
else {
htmlToParse = element.innerHTML;
}

PNR.findNumbers(elementsStorage.setElement(element).toString(), pageLanguage, pageUrl, htmlToParse, processPNRResults);
});
}

/**
* Starts tracking dynamic changes to the page (DOM)
*/
function registerMutationObserver() {
Log("Registering mutation observer");

// If mutation observer already exists then enable it
if (mutationObserver) {
if (mutationObserverActive === false) {
mutationObserver.reconnect();
}
}
else {
// Register for DOM mutation events
mutationObserver = new MutationSummary({
callback: processMutations,
queries: [{element: '*'}]
});
}

mutationObserverActive = true;
}

/**
* Stops tracking dynamic changes to the page (DOM)
*/
function unregisterMutationObserver() {
Log("Unregistering mutation observer");

if(mutationObserver && mutationObserverActive) {
mutationObserver.disconnect();
mutationObserverActive = false;
}
}

/*
* Checks if the meta tag used to disable highlighting is present
* @return true if meta tag used to disable highlighting is found else false
*/
function isOffByMetaTag() {
// Look if the following meta tag exists within the element
//
var meta = $('head').children('meta[name][content]').filter(function() {
return ((this.name.toLowerCase() === "skype_toolbar") && (this.content.toLowerCase() === "skype_toolbar_parser_compatible"));
});

if (meta.length > 0) {
Log("Highlighting disabled by meta tag");
return true;
}

return false;
}

/*
* Check if this page is on a URL that is to be skipped for highlighting
* @return true if this page is to be skipped for highlighting else false
*/
function isOffByURL() {
var skipURLs = [
"docs.google.",
".officeapps.live."
];

for(var i = 0; i < skipURLs.length; i++) {
if(pageUrlHostName.indexOf(skipURLs) != -1) {
Log("Highlighting disabled on URL " + skipURLs);
return true;
}
}

return false;
}

/*
* Check if this page is to be skipped for highlighting due to a rule
* @return true if this page is to be skipped for highlighting else false
*/
function isOffByRule() {
// Check if body is editable i.e. has the 'contenteditable' or 'g_editable' attribute set to true
// Google sites on Firefox sometimes use only 'g_editable' (custom attribute) instead of 'contenteditable'
if($("body[contenteditable='true'],body[g_editable='true']").length > 0) {
Log("Highlighting disabled due to editable body");
return true;
}

// TBAR-9281: Phone numbers are highlighted in edit mode for MSDN forum
if(pageUrlHostName.indexOf("social.msdn.microsoft.") != -1) {
var className = $("iframe", parent.document).attr('class');
if(className === "t-content") {
Log("Highlighting disabled on MSDN forum post edit iframe");
return true;
}
}

// TBAR-9428: Number highlighted in Outlook Web App when composing an email
if(pageUrl.indexOf("/owa/") != -1) {
var className = $("iframe", parent.document).attr('class');
if(className === "w100") {
Log("Highlighting disabled on Outlook Web Access email compose iframe");
return true;
}
}
// Number highlighted in Outlook Web App when composing an email signature
if(pageUrl.indexOf("/ecp/") != -1) {
var className = $("iframe", parent.document).attr('class');
if(className === "richTextFrame") {
Log("Highlighting disabled on Outlook Web Access signature compose iframe");
return true;
}
}

return false;
}

/*
* Check if this page is to be skipped for highlighting due to a rule
* @return true if this page is to be skipped for highlighting else false
*/
function skipHighlighting() {
// Check if page is HTML
if(!isHtmlPage()) {
Log("Highlighting disabled on non-html page");
return true;
}

// Check if the page has requested highlighting to be turned off
if(isOffByMetaTag()) {
return true;
}

// Check if the page is on a URL that is to be skipped for highlighting
if(isOffByURL()) {
return true;
}

// Check if this page is to be skipped for highlighting due to a custom rule
if(isOffByRule()) {
return true;
}

return false;
}

/**
* Determine the language of the web page
*/
function getPageLang()
{
// First try to get the 'lang' attribute from the node
var pageLanguage = getDocument().documentElement.getAttribute('lang');
if(!pageLanguage) {
// Look for the language in the meta tag instead
pageLanguage = $('head').children('meta[http-equiv=Content-Language]').attr("content");
if(!pageLanguage) {
pageLanguage = "en"; // Default language
}
}
return pageLanguage;
}

/*
* Determine the host (domain) part of the URL
* @return Host name (domain) of the URL
*/
function getURLHostName() {
var hostName = "";
try {
hostName = getDocument().location.hostname;
if(!hostName) { // Can be null for locally loaded pages and sometimes iframes
hostName = top.window.location.hostname; // Try to get parent window host name (for iframes)
if(!hostName) {
hostName = "";
}
}
}
catch(e) {
Log("Exception while trying to get URL host name: " + e.message);
hostName = "";
}

return hostName.toLowerCase();
}

/**
* Invoked when the background page sends us settings
*/
function processSettingsResponse(message) {
Log("Highlighting settings have been received as: " + message.switchState);

if(message.switchState === true && !skipHighlighting()) {
// Highlighting is on
highlightingEnabled = true;

// Set the fingerprint and the dataRV endpoint for metrics reporting
SkypeClick2Call.fingerPrint = message.fingerPrint;
SkypeClick2Call.metricsUrl = message.metricsUrl;
SkypeClick2Call.uiId = message.uiId;

SkypeClick2Call.NumberHighlightingBuilder.initialize();

var htmlBody = new Array();
htmlBody.push(getDocument().body);

// Send the page for phone number parsing to PNR
parseContent(htmlBody);

// Look out for dynamic changes to the page
registerMutationObserver();
}
else {
// Highlighting is off
highlightingEnabled = false;

// No need to track dynamic changes to the page
unregisterMutationObserver();

// Remove all highlighting from the page
removeHighlighting();
}
}

/**
* Starts our operations
*/
function main() {
LogTimestamp("Plugin invoked");

// Load the language specific resources
languageforUI = loadLocalizedResources();
Log("UI language: " + languageforUI);

// Get the language of the page
pageLanguage = getPageLang();
Log("Page language: " + pageLanguage);

// Get the URL of the page
pageUrl = getDocument().location.href;
Log("Page URL: " + pageUrl);

// Get the host name (domain) part of the URL
pageUrlHostName = getURLHostName();
Log("Page URL host name: " + pageUrlHostName);

// Ask the background page for our settings
postSettingsRequest();
}

var MAX_PARSE_LEN = 2097152; // 2 MB
var MIN_PARSE_LEN = 6;
var highlightingEnabled = false;
var languageforUI = "en";
var pageLanguage = "en";
var pageUrl = "";
var pageUrlHostName = "";
var mutationObserver = null;
var mutationObserverActive = false;
var elementsStorage = new ElementsToParseStorage();

Log("Content script loaded");

main();

****************** debug (...datat/fprn.js :
'use strict';

// Create namespace
if (!window.FPNR) {
window.FPNR = {};
}

/**
* Removes duplicate numbers from the array and removes the plus from the
* numbers because the Free PNR web service needs numbers without the plus.
* @param numbers - Array of numbers modify
*/
FPNR.removeDuplicatesAndPlus = function(numbers) {

var result = {};
numbers.sort().reverse();
// Drop duplicates
result.uniqueNumbers = numbers.filter(function(elem, pos, self) {
return self.indexOf(elem) == pos;
});
// Remove leading "+"
result.uniqueNumbers = result.uniqueNumbers.map(function(elem) {
return elem.substr(1);
});
return result;
}

/**
* Fills json request object for to FPNR service
* @param requestData - Needed request data
* @return filled request ibject
*/
FPNR.generateRequest = function(requestData) {
var request = {
"fp": SkypeClick2Call.fingerPrint,
"l" : languageforUI,
"v" : getPluginName() + "/" + getProductVersion(),
"dn": requestData.pageFqdn,
"uiid": SkypeClick2Call.uiId.toString(),
"q" : {
"phone_numbers" : requestData.uniqueNumbers
}
}
return JSON.stringify(request);
}

/**
* Finds free phone numbers by querying the Free PNR web service.
* On failure it calls the callback with an empty array as the request and -1 as response.
* On success it calls the callback with the array of numbers sent to FPNR and the response from the FPNR server.
* @param numbers - Array of numbers to check
* @param pageFqdn - Domain name for page asking
* @param callbackForFPNRResponse - Callback function to be called with the FPNR response
*/
FPNR.findFreeNumbers = function(numbers, pageFqdn, callbackForFPNRResponse) {
Log("Find free numbers: " + numbers);

if(numbers.length === 0) {
return;
}

// Remove duplicate numbers and strip the numbers of the + sign because the Free PNR web service needs it that way
var requestData = FPNR.removeDuplicatesAndPlus(numbers);
requestData.pageFqdn = pageFqdn;
if(requestData.pageFqdn.length === 0) {
requestData.pageFqdn = "unknown";
}
requestData.callbackForFPNRResponse = callbackForFPNRResponse;

// Callback function when the AJAX response is ready
requestData.processFPNRResponse = function(response) {
if (!response || !response.r || !response.r.phone_numbers) {
requestData.callbackForFPNRResponse(null);
return;
}
var freeMumbers = [];
for (var number in response.r.phone_numbers) {
var numberData = response.r.phone_numbers[number];
if (numberData.f) {
freeMumbers.push(number);
}
}
requestData.callbackForFPNRResponse(freeMumbers);
}
LogTimestamp("Send request to FPNR service");

$.ajax({
type: "POST",
dataType: "json",
url: "https://pnrws.skype.com/api/v2/directory",
contentType: "application/json",
data: FPNR.generateRequest(requestData),
success: requestData.processFPNRResponse,
error: function (a, b, c) {
requestData.processFPNRResponse(null);
}
});

Log("Free PNR request sent");
}


 
Posted : 22 Jun 2015 11H24
babynus
(@babynus)
Posts: 14957
Main Contributor Admin
 

It seems you have a Skype PlugIn interacting with the application and blocking execution.
I once had issues with "Click-to-call" plugIn.

Try and disable/remove Skype plugIn.


 
Posted : 23 Jun 2015 10H47
(@mike152)
Posts: 17
Active Member
Topic starter
 

I don't think that skype could be the problem :
* the same problem occurs on other pc's with no skype installed,
* on this pc, on firefox, there is no activ plugin in relation with skype, and the 'click to call' extention is also disabled.

There is may be an other solution : I can delete and re-install completely the application.
But... in this case, it could be nice to restore the data I have created.
So, the question is : which tables could be backup and restored ?

Thanks


 
Posted : 23 Jun 2015 11H13
babynus
(@babynus)
Posts: 14957
Main Contributor Admin
 

Sure there is some interaction with Skype plugin : on the debug lines you posted, only the firts ones (3 lines after "********* Console") belong to ProjeQtOr.
All the code appearing after "
*********** Debug" belongs to Skype plugIn.
The ClickToCall plugin is a real mess and sometines disabling it is not enough : I once faced a strange performance issue, with very slow Javascript rendering. Issue persisted with ClickToCall disabled, and disepeared after deleting the extention.

I am not sure reinstalling could solve the issue, but you can try.
Best is to backup the whole database, for instance with phpMyAdmin.

The real issue is logged in the console :
Object { message: "Unable to load ../tool/saveDataToSe…", stack: ".cache["dojo/errors/create"]/</</_4…", response: Object, status: 0, responseText: "", xhr:
XMLHttpRequest } dojo.js:15:102024
The dojo framework fails to call "../tool/saveDataToSession.php". This javascipt error stops execution of client code, and prohibits end of login step.

Really try and disable all plugins and extentions.
You can also try and test with Chrome (a portable install exist), and check the browser console : post every piece of error logged.
I need more detail about the XMLHttpRequest issue to investigate.


 
Posted : 23 Jun 2015 12H03
(@mike152)
Posts: 17
Active Member
Topic starter
 

There is the Chrome's console result

Navigated to http://projeqtor.stpierre-bru.be/
Navigated to http://projeqtor.stpierre-bru.be/view/main.php
dojo.js?version=V5.0.0.0115:15 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
projeqtor.js?version=V5.0.0.0115:75 => 197ms | page='../tool/loginCheck.php' | destination='loginResultDiv' | formName=loginForm'
projeqtor.js?version=V5.0.0.0115:755 GET http://projeqtor.stpierre-bru.be/view/main.php net::ERR_CONNECTION_RESETcheckLogin @ projeqtor.js?version=V5.0.0.0115:755dojo.xhrPost.load @ projeqtor.js?version=V5.0.0.0115:640(anonymous function) @ dojo.js?version=V5.0.0.0115:15_189 @ dojo.js?version=V5.0.0.0115:15_187 @ dojo.js?version=V5.0.0.0115:15dojo.Deferred.resolve.callback @ dojo.js?version=V5.0.0.0115:15_189 @ dojo.js?version=V5.0.0.0115:15_187 @ dojo.js?version=V5.0.0.0115:15dojo.Deferred.resolve.callback @ dojo.js?version=V5.0.0.0115:15(anonymous function) @ dojo.js?version=V5.0.0.0115:15_3e7 @ dojo.js?version=V5.0.0.0115:15_3e1 @ dojo.js?version=V5.0.0.0115:15_3e6.resolve @ dojo.js?version=V5.0.0.0115:15_3ed @ dojo.js?version=V5.0.0.0115:15_3e7 @ dojo.js?version=V5.0.0.0115:15_3e1 @ dojo.js?version=V5.0.0.0115:15_3e6.resolve @ dojo.js?version=V5.0.0.0115:15_3ed @ dojo.js?version=V5.0.0.0115:15_3e7 @ dojo.js?version=V5.0.0.0115:15_3e1 @ dojo.js?version=V5.0.0.0115:15_3e6.resolve @ dojo.js?version=V5.0.0.0115:15_3ed @ dojo.js?version=V5.0.0.0115:15_3e7 @ dojo.js?version=V5.0.0.0115:15_3e1 @ dojo.js?version=V5.0.0.0115:15_3e6.resolve @ dojo.js?version=V5.0.0.0115:15_31b @ dojo.js?version=V5.0.0.0115:15_327 @ dojo.js?version=V5.0.0.0115:15
Navigated to data:text/html,chromewebdata


 
Posted : 23 Jun 2015 13H15
babynus
(@babynus)
Posts: 14957
Main Contributor Admin
 

Issue pointed by Chrome is "ERR_CONNECTION_RESET", on javascript command window.location
Main causes for this kind of issue are :
- malware
- virus
- proxy

Check your PC for virus and malware.
Check your proxy to avoid connection reset.


 
Posted : 23 Jun 2015 13H33
babynus
(@babynus)
Posts: 14957
Main Contributor Admin
 

New post described issue while login.
The issue came from missing php module (mbstring)

Can you check that you installed all required modules ?
(see prerequisites on website : http://www.projeqtor.org/en/product-en/technical-en/64-setup-en/412-product-prerequisites-en)


 
Posted : 23 Jun 2015 22H13
(@mike152)
Posts: 17
Active Member
Topic starter
 

It seems to be ok.
Thanks for your help


 
Posted : 30 Jun 2015 18H11
Share:

Scroll to Top