| /var/www/rtech.solutionerp.co/public/includes/main.inc:113: | fopen('./company/0/js_cache/0/JsHttpRequest.js','w') |
| /var/www/rtech.solutionerp.co/public/includes/main.inc:88: | force_open('./company/0/js_cache/0/JsHttpRequest.js') |
| /var/www/rtech.solutionerp.co/public/includes/page/header.inc:63: | cache_js_file('./company/0/js_cache/0/JsHttpRequest.js','/** * JsHttpRequest: JavaScript "AJAX" data loader * * @license LGPL * @author Dmitry Koterov, http://en.dklab.ru/lib/JsHttpRequest/ * @version 5.x */ // {{{ function JsHttpRequest() { // Standard properties. var t = this; t.onreadystatechange = null; t.readyState = 0; t.responseText = null; t.responseXML = null; t.status = 200; t.statusText = "OK"; // JavaScript response array/hash t.responseJS = null; // Additional properties. t.caching = false; // need to use caching? t.loader = null; // loader to use ('form', 'script', 'xml'; null - autodetect) t.session_name = "PHPSESSID"; // set to SID cookie or GET parameter name // Internals. t._ldObj = null; // used loader object t._reqHeaders = []; // collected request headers t._openArgs = null; // parameters from open() t._errors = { inv_form_el: 'Invalid FORM element detected: name=%, tag=%', must_be_single_el: 'If used, |
| /var/www/rtech.solutionerp.co/public/access/password_reset.php:43: | send_scripts() |
| /var/www/rtech.solutionerp.co/public/includes/session.inc:486: | include('/var/www/rtech.solutionerp.co/public/access/password_reset.php') |
| /var/www/rtech.solutionerp.co/public/index.php:11: | include_once('/var/www/rtech.solutionerp.co/public/includes/session.inc') |
| /var/www/rtech.solutionerp.co/public/includes/main.inc:113: | fopen('./company/0/js_cache/0/behaviour.js','w') |
| /var/www/rtech.solutionerp.co/public/includes/main.inc:88: | force_open('./company/0/js_cache/0/behaviour.js') |
| /var/www/rtech.solutionerp.co/public/includes/page/header.inc:63: | cache_js_file('./company/0/js_cache/0/behaviour.js','/* Behaviour v1.1 by Ben Nolan, June 2005. Based largely on the work of Simon Willison (see comments by Simon below). Small fixes by J.Dobrowolski for Solution ERP May 2008 Description: Uses css selectors to apply javascript behaviours to enable unobtrusive javascript in html documents. Usage: var myrules = { 'b.someclass' : function(element){ element.onclick = function(){ alert(this.innerHTML); } }, '#someid u' : function(element){ element.onmouseover = function(){ this.innerHTML = "BLAH!"; } } }; Behaviour.register(myrules); // Call Behaviour.apply() to re-apply the rules (if you // update the dom, etc). License: This file is entirely BSD licensed. More information: http://ripcord.co.nz/behaviour/ */ var Behaviour = { list: new Array, register: function (sheet) { Behaviour.list.push(sheet); }, start: function () { Behaviour.addLoadEvent(function () { Behaviour.apply(); }); }, apply: function () { for (h = 0; sheet = Behaviour.list[h]; h++) { for (selector in sheet) { var sels = selector.split(','); for (var n = 0; n < sels.length; n++) { list = document.getElementsBySelector(sels[n]); if (!list) { continue; } for (i = 0; element = list[i]; i++) { sheet[selector](element); } } } } }, addLoadEvent: function (func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function () { oldonload(); func(); } } } } Behaviour.start(); /* The following code is Copyright (C) Simon Willison 2004. document.getElementsBySelector(selector) - returns an array of element objects from the current document matching the CSS selector. Selectors can contain element names, class names and ids and can be nested. For example: elements = document.getElementsBySelect('div#main p a.external') Will return an array of all 'a' elements with 'external' in their class attribute that are contained inside 'p' elements that are contained inside the 'div' element which has id="main" New in version 0.4: Support for CSS2 and CSS3 attribute selectors: See http://www.w3.org/TR/css3-selectors/#attribute-selectors Version 0.4 - Simon Willison, March 25th 2003 -- Works in Phoenix 0.5, Mozilla 1.3, Opera 7, Internet Explorer 6, Internet Explorer 5 on Windows -- Opera 7 fails */ function getAllChildren(e) { // Returns all children of element. Workaround required for IE5/Windows. Ugh. return e.all ? e.all : e.getElementsByTagName('*'); } document.getElementsBySelector = function (selector) { // Attempt to fail gracefully in lesser browsers if (!document.getElementsByTagName) { return new Array(); } // Split selector in to tokens var tokens = selector.split(' '); var currentContext = new Array(document); for (var i = 0; i < tokens.length; i++) { token = tokens[i].replace(/^\s+/, '').replace(/\s+$/, ''); if (token.indexOf('#') > -1) { // Token is an ID selector var bits = token.split('#'); var tagName = bits[0]; var id = bits[1]; var element = document.getElementById(id); if (tagName && element.nodeName.toLowerCase() != tagName) { // tag with that ID not found, return false return new Array(); } // Set currentContext to contain just this element currentContext = new Array(element); continue; // Skip to next token } if (token.indexOf('.') > -1) { // Token contains a class selector var bits = token.split('.'); var tagName = bits[0]; var className = bits[1]; if (!tagName) { tagName = '*'; } // Get elements matching tag, filter them for class selector var found = new Array; var foundCount = 0; for (var h = 0; h < currentContext.length; h++) { var elements; if (tagName == '*') { elements = getAllChildren(currentContext[h]); } else { elements = currentContext[h].getElementsByTagName(tagName); } for (var j = 0; j < elements.length; j++) { found[foundCount++] = elements[j]; } } currentContext = new Array; var currentContextIndex = 0; for (var k = 0; k < found.length; k++) { if (found[k].getAttribute('class') != null && found[k].getAttribute('class').match(new RegExp('\\b' + className + '\\b'))) { currentContext[currentContextIndex++] = found[k]; } } continue; // Skip to next token } // Code to deal with attribute selectors /* Original reg expression /^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/ was replaced by new RegExp() cuz compressor fault */ if (token.match(new RegExp('^(\\w*)\\[(\\w+)([=~\\|\\^\\$\\*]?)=?"?([^\\]"]*)"?\\]$'))) { var tagName = RegExp.$1; var attrName = RegExp.$2; var attrOperator = RegExp.$3; var attrValue = RegExp.$4; if (!tagName) { tagName = '*'; } // Grab all of the tagName elements within current context var found = new Array; var foundCount = 0; for (var h = 0; h < currentContext.length; h++) { var elements; if (tagName == '*') { elements = getAllChildren(currentContext[h]); } else { elements = currentContext[h].getElementsByTagName(tagName); } for (var j = 0; j < elements.length; j++) { found[foundCount++] = elements[j]; } } currentContext = new Array; var currentContextIndex = 0; var checkFunction; // This function will be used to filter the elements switch (attrOperator) { case '=': // Equality checkFunction = function (e) { return (e.getAttribute(attrName) == attrValue); }; break; case '~': // Match one of space seperated words checkFunction = function (e) { var a = e.getAttribute(attrName); return (a && a.match(new RegExp('\\b' + attrValue + '\\b'))); }; break; case '|': // Match start with value followed by optional hyphen checkFunction = function (e) { var a = e.getAttribute(attrName); return (a && a.match(new RegExp('^' + attrValue + '-?'))); }; break; case '^': // Match starts with value checkFunction = function (e) { var a = e.getAttribute(attrName); return (a && a.indexOf(attrValue) == 0); }; break; case '$': // Match ends with value - fails with "Warning" in Opera 7 checkFunction = function (e) { var a = e.getAttribute(attrName); return (a && a.lastIndexOf(attrValue) == e.getAttribute(attrName).length - attrValue.length); }; break; case '*': // Match contains value checkFunction = function (e) { var a = e.getAttribute(attrName); return (a && a.indexOf(attrValue) > -1); }; break; default : // Just test for existence of attribute checkFunction = function (e) { return e.getAttribute(attrName); }; } currentContext = new Array; var currentContextIndex = 0; for (var k = 0; k < found.length; k++) { if (checkFunction(found[k])) { currentContext[currentContextIndex++] = found[k]; } } // alert('Attribute Selector: '+tagName+' '+attrName+' '+attrOperator+' '+attrValue); continue; // Skip to next token } if (!currentContext[0]) { return; } // If we get here, token is JUST an element (not a class or ID selector) tagName = token; var found = new Array; var foundCount = 0; for (var h = 0; h < currentContext.length; h++) { var elements = currentContext[h].getElementsByTagName(tagName); for (var j = 0; j < elements.length; j++) { found[foundCount++] = elements[j]; } } currentContext = found; } return currentContext; } /* That revolting regular expression explained /^(\w+)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/ \---/ \---/\-------------/ \-------/ | | | | | | | The value | | ~,|,^,$,* or = | Attribute Tag */ ') |
| /var/www/rtech.solutionerp.co/public/access/password_reset.php:43: | send_scripts() |
| /var/www/rtech.solutionerp.co/public/includes/session.inc:486: | include('/var/www/rtech.solutionerp.co/public/access/password_reset.php') |
| /var/www/rtech.solutionerp.co/public/index.php:11: | include_once('/var/www/rtech.solutionerp.co/public/includes/session.inc') |
| /var/www/rtech.solutionerp.co/public/includes/main.inc:113: | fopen('./company/0/js_cache/0/utils.js','w') |
| /var/www/rtech.solutionerp.co/public/includes/main.inc:88: | force_open('./company/0/js_cache/0/utils.js') |
| /var/www/rtech.solutionerp.co/public/includes/page/header.inc:63: | cache_js_file('./company/0/js_cache/0/utils.js','/**********************************************************************
Copyright (C) SolutionERP, LLC.
***********************************************************************/
function set_mark(img) {
var box = document.getElementById('ajaxmark');
if (box) {
if (img) box.src = user.theme + 'images/' + img;
box.style.visibility = img ? 'visible' : 'hidden';
}
}
function disp_msg(msg, cl) {
var box = document.getElementById('msgbox');
box.innerHTML = " " + msg + ' ';
// box.style.display = msg=='' ? 'none':'block';
if (msg != '') window.scrollTo(0, element_pos(box).y - 10);
}
//
// JsHttpRequest class extensions.
//
// Main functions for asynchronus form submitions
// Trigger is the source of request and can have following forms:
// - input object - all form values are also submited
// - arbitrary string - POST var trigger with value 1 is added to request;
// if form parameter exists also form values are submited, otherwise
// request is directed to current location
//
JsHttpRequest.request = function (trigger, form, tout) {
// if (trigger.type=='submit' && !validate(trigger)) return false;
tout = tout || 10000; // default timeout value
document.getElementById('msgbox').innerHTML = '';
set_mark(tout > 10000 ? 'progressbar.gif' : 'ajax-loader.gif');
JsHttpRequest._request(trigger, form, tout, 0);
};
JsHttpRequest._request = function (trigger, form, tout, retry) {
if (trigger.tagName == 'A') {
var content = {};
var upload = 0;
var url = trigger.href;
if (trigger.id) content[trigger.id] = 1;
} else {
var submitObj = typeof (trigger) == "string" ?
document.getElementsByName(trigger)[0] : trigger;
form = form || (submitObj && submitObj.form);
var upload = form && form.enctype == 'multipart/form-data';
var url = form ? form.getAttribute('action') :
window.location.toString();
var content = this.formInputs(trigger, form, upload);
if (!form) url = url.substring(0, url.indexOf('?'));
if (!submitObj) {
content[trigger] = 1;
}
}
// this is to avoid caching problems
content['_random'] = Math.random() * 1234567;
var tcheck = setTimeout(
function () {
for (var id in JsHttpRequest.PENDING) {
var call = JsHttpRequest.PENDING[id];
if (call != false) {
if (call._ldObj.xr) // needed for gecko
call._ldObj.xr.onreadystatechange = function () {
};
call.abort(); // why this doesn't kill request in firebug?
// call._ldObj.xr.abort();
delete JsHttpRequest.PENDING[id];
}
}
set_mark(retry ? 'ajax-loader2.gif' : 'warning.png');
if (retry)
JsHttpRequest._request(trigger, form, tout, retry - 1);
}, tout);
JsHttpRequest.query(
(upload ? "form." : "") + "POST " + url, // force form loader
content,
// Function is called when an answer arrives.
function (result, errors) {
// Write the answer.
var newwin = 0;
if (result) {
for (var i in result) {
atom = result[i];
cmd = atom['n'];
property = atom['p'];
type = atom['c'];
id = atom['t'];
data = atom['data'];
// debug(cmd+':'+property+':'+type+':'+id);
// seek element by id if there is no elemnt with given name
objElement = document.getElementsByName(id)[0] || document.getElementById(id);
if (cmd == 'as') {
eval("objElement.setAttribute('" + property + "','" + data + "');");
} else if (cmd == 'up') {
// if(!objElement) alert('No element "'+id+'"');
if (objElement) {
if (objElement.tagName == 'INPUT' || objElement.tagName == 'TEXTAREA')
objElement.value = data;
else
objElement.innerHTML = data; // selector, div, span etc
}
} else if (cmd == 'di') { // disable/enable element
objElement.disabled = data;
} else if (cmd == 'fc') { // set focus
_focus = data;
} else if (cmd == 'js') { // evaluate js code
__isGecko ? eval(data) : setTimeout(function () {
eval(data);
}, 200); // timeout required by IE7/8
} else if (cmd == 'rd') { // client-side redirection
window.location = data;
} else if (cmd == 'pu') { // pop-up
newwin = 1;
window.open(data, 'REP_WINDOW', 'toolbar=no,scrollbars=yes,resizable=yes,menubar=no');
} else {
errors = errors + 'Unknown ajax function: ' + cmd; } } if (tcheck) JsHttpRequest.clearTimeout(tcheck); // Write errors to the debug div. document.getElementById('msgbox').innerHTML = errors; set_mark(); Behaviour.apply(); if (errors.length > 0) window.scrollTo(0, 0); //document.getElementById('msgbox').scrollIntoView(true); // Restore focus if we've just lost focus because of DOM element refresh if (!newwin) { setFocus(); } } }, false // do not disable caching ); }; // collect all form input values plus inp trigger value JsHttpRequest.formInputs = function (inp, objForm, upload) { var submitObj = inp; var q = {}; if (typeof (inp) == "string") submitObj = document.getElementsByName(inp)[0] || inp; objForm = objForm || (submitObj && submitObj.form); if (objForm) { var formElements = objForm.elements; for (var i = 0; i < formElements.length; i++) { var el = formElements[i]; var name = el.name; if (!el.name) continue; if (upload) { // for form containing file inputs collect all // form elements and add value of trigger submit button // (internally form is submitted via form.submit() not button click()) if (submitObj.type == 'submit' && el == submitObj) { q[name] = el.value; continue; } } if (el.type) if ( (el.type == 'radio' && el.checked == false) || (el.type == 'submit' && (!submitObj || el.name != submitObj.name))) continue; if (el.disabled && el.disabled == true) continue; if (name) { if (el.type == 'select-multiple') { name = name.substr(0, name.length - 2); q[name] = new Array; for (var j = 0; j < el.length; j++) { s = name.substring(0, name.length - 2); if (el.options[j].selected == true) q[name].push(el.options[j].value); } } else if (el.type == 'file') q[name] = el; else { if (el.type == 'checkbox') { q[name] = (el.checked == true); } else { q[name] = el.value; } } } } } return q; }; // // User price formatting // function price_format(post, num, dec, label, color) { var el = label ? document.getElementById(post) : document.getElementsByName(post)[0]; //num = num.toString().replace(/\$|\,/g,''); if (isNaN(num)) num = "0"; sign = (num == (num = Math.abs(num))); var max = dec == 'max'; if (max) dec = num == 0 ? 2 : 15 - Math.floor(Math.log(Math.abs(num))); if (dec < 0) dec = 2; decsize = Math.pow(10, dec); num = Math.floor(num * decsize + 0.50000000001); cents = num % decsize; num = Math.floor(num / decsize).toString(); for (i = cents.toString().length; i < dec; i++) { cents = "0" + cents; } if (max) // strip trailing 0 cents = cents.toString().replace(/0+$/, ''); for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) num = num.substring(0, num.length - (4 * i + 3)) + user.ts + num.substring(num.length - (4 * i + 3)); num = ((sign) ? '' : '-') + num; if (dec != 0 && (!max || cents != 0)) num = num + user.ds + cents; if (label) el.innerHTML = num; else el.value = num; if (color) { el.style.color = (sign) ? '' : '#FF0000'; } } function get_amount(doc, label) { if (label) var val = document.getElementById(doc).innerHTML; else var val = typeof (doc) == "string" ? document.getElementsByName(doc)[0].value : doc.value; val = val.replace(new RegExp('\\' + user.ts, 'g'), ''); val = +val.replace(new RegExp('\\' + user.ds, 'g'), '.'); return isNaN(val) ? 0 : val; } function goBack(deep) { if (window.opener) window.close(); else window.history.go(deep || -1); } function setFocus(name, byId) { var el = null; if (typeof (name) == 'object') el = name; else { if (!name) { // page load/ajax update if (_focus) name = _focus; // last focus set in onfocus handlers else if (document.forms.length) { // no current focus (first page display) - set it from from last form var cur = document.getElementsByName('_focus')[document.forms.length - 1]; if (cur) name = cur.value; } } if (name) if (byId || !(el = document.getElementsByName(name)[0])) el = document.getElementById(name); } if (el != null && el.focus) { // The timeout is needed to prevent unpredictable behaviour on IE & Gecko. // Using tmp var prevents crash on IE5 var tmp = function () { el.focus(); if (el.select) el.select(); }; setTimeout(tmp, 0); } } /* Find closest element in neighbourhood and set focus. dir is arrow keycode. */ function move_focus(dir, e0, neighbours) { var p0 = element_pos(e0); var t; var l = 0; for (var i = 0; i < neighbours.length; i++) { var e = neighbours[i]; var p = element_pos(e); if (p != null && (e.className == 'menu_option' || e.className == 'printlink' || e.className == 'repclass_link' || e.className == 'repopts_link')) { if (((dir == 40) && (p.y > p0.y)) || (dir == 38 && (p.y < p0.y)) || ((dir == 37) && (p.x < p0.x)) || ((dir == 39 && (p.x > p0.x)))) { var l1 = (p.y - p0.y) * (p.y - p0.y) + (p.x - p0.x) * (p.x - p0.x); if ((l1 < l) || (l == 0)) { l = l1; t = e; } } } } if (t) setFocus(t); return t; } var __isGecko = navigator.userAgent.match(/gecko/i); // i.e. Gecko or KHTML, like Gecko ;) //returns the absolute position of some element within document function element_pos(e) { var res = new Object(); res.x = 0; res.y = 0; if (e !== null) { res.x = e.offsetLeft; res.y = e.offsetTop; var offsetParent = e.offsetParent; var parentNode = e.parentNode; while (offsetParent !== null && offsetParent.style.display != 'none') { res.x += offsetParent.offsetLeft; res.y += offsetParent.offsetTop; // the second case is for IE6/7 in some doctypes if (offsetParent != document.body && offsetParent != document.documentElement) { res.x -= offsetParent.scrollLeft; res.y -= offsetParent.scrollTop; } //next lines are necessary to support FireFox problem with offsetParent if (__isGecko) { while (offsetParent != parentNode && parentNode !== null) { res.x -= parentNode.scrollLeft; res.y -= parentNode.scrollTop; parentNode = parentNode.parentNode; } } parentNode = offsetParent.parentNode; offsetParent = offsetParent.offsetParent; } } // parentNode has style.display set to none if (parentNode != document.documentElement) return null; return res; } function string_contains(haystack, needle) { var words = haystack.split(' '); return words.indexOf(needle) > -1; } ') |
| /var/www/rtech.solutionerp.co/public/access/password_reset.php:43: | send_scripts() |
| /var/www/rtech.solutionerp.co/public/includes/session.inc:486: | include('/var/www/rtech.solutionerp.co/public/access/password_reset.php') |
| /var/www/rtech.solutionerp.co/public/index.php:11: | include_once('/var/www/rtech.solutionerp.co/public/includes/session.inc') |
| /var/www/rtech.solutionerp.co/public/includes/main.inc:113: | fopen('./company/0/js_cache/0/inserts.js','w') |
| /var/www/rtech.solutionerp.co/public/includes/main.inc:88: | force_open('./company/0/js_cache/0/inserts.js') |
| /var/www/rtech.solutionerp.co/public/includes/page/header.inc:63: | cache_js_file('./company/0/js_cache/0/inserts.js','/********************************************************************** Copyright (C) SolutionERP, LLC. ***********************************************************************/ var _focus; var _hotkeys = { 'alt': false, // whether is the Alt key pressed 'list': false, // list of all elements with hotkey used recently 'focus': -1 // currently selected list element }; function validate(e) { if (e.name && (typeof _validate[e.name] == 'function')) return _validate[e.name](e); else { var n = e.name.indexOf('['); if (n != -1) { var key = e.name.substring(n + 1, e.name.length - 1); if (key.length > 1 && _validate[e.name.substring(0, n)]) return _validate[e.name.substring(0, n)][key](e); } } return true; } function set_fullmode() { document.getElementById('ui_mode').value = 1; document.loginform.submit(); return true; } function save_focus(e) { _focus = e.name || e.id; var h = document.getElementById('hints'); if (h) { // h.style.display = e.title && e.title.length ? 'inline' : 'none'; h.innerHTML = e.title ? e.title : ''; } } function _expand(tabobj) { var ul = tabobj.parentNode.parentNode; var alltabs = ul.getElementsByTagName("button"); var frm = tabobj.form; if (ul.getAttribute("rel")) { for (var i = 0; i < alltabs.length; i++) { alltabs[i].className = "ajaxbutton" //deselect all tabs // Review CP 2014-11 This will remove all other classes from the element. } tabobj.className = "current"; JsHttpRequest.request(tabobj) } } //interface for selecting a tab (plus expand corresponding content) function expandtab(tabcontentid, tabnumber) { var tabs = document.getElementById(tabcontentid); _expand(tabs.getElementsByTagName("input")[tabnumber]); } function _set_combo_input(e) { e.setAttribute('_last', e.value); e.onblur = function () { var but_name = this.name.substring(0, this.name.length - 4) + 'button'; var button = document.getElementsByName(but_name)[0]; var select = document.getElementsByName(this.getAttribute('rel'))[0]; save_focus(select); // submit request if there is submit_on_change option set and // search field has changed. if (button && (this.value != this.getAttribute('_last'))) { JsHttpRequest.request(button); } else if (string_contains(this.className, 'combo2')) { //this.style.display = 'none'; select.style.display = 'inline'; setFocus(select); } return false; }; e.onkeyup = function (ev) { var select = document.getElementsByName(this.getAttribute('rel'))[0]; if (select && select.selectedIndex >= 0) { var len = select.length; var byid = string_contains(this.className, 'combo') || string_contains(this.className, 'combo3'); var ac = this.value.toUpperCase(); select.options[select.selectedIndex].selected = false; for (i = 0; i < len; i++) { var txt = byid ? select.options[i].value : select.options[i].text; if (string_contains(this.className, 'combo3')) { if (txt.toUpperCase().indexOf(ac) == 0) { select.options[i].selected = true; break; } } else { if (txt.toUpperCase().indexOf(ac) >= 0) { select.options[i].selected = true; break; } } } } }; e.onkeydown = function (ev) { ev = ev || window.event; key = ev.keyCode || ev.which; if (key == 13) { this.blur(); return false; } } } function _update_box(s) { var byid = string_contains(s.className, 'combo') || string_contains(s.className, 'combo3'); var rel = s.getAttribute('rel'); var box = document.getElementsByName(rel)[0]; if (box && s.selectedIndex >= 0) { var opt = s.options[s.selectedIndex]; if (box) { var old = box.value; box.value = byid ? opt.value : opt.text; box.setAttribute('_last', box.value); return old != box.value } } } function _set_combo_select(e) { // When combo position is changed via js (eg from searchbox) // no onchange event is generated. To ensure proper change // signaling we must track selectedIndex in onblur handler. e.setAttribute('_last', e.selectedIndex); e.onblur = function () { var box = document.getElementsByName(this.getAttribute('rel'))[0]; if ((this.selectedIndex != this.getAttribute('_last')) || ((string_contains(this.className, 'combo') || string_contains(this.className, 'combo3')) && _update_box(this)) ) this.onchange(); } e.onchange = function () { var s = this; this.setAttribute('_last', this.selectedIndex); if (string_contains(s.className, 'combo') || string_contains(this.className, 'combo3')) _update_box(s); if (s.selectedIndex >= 0) { var sname = '_' + s.name + '_update'; var update = document.getElementsByName(sname)[0]; if (update) { JsHttpRequest.request(update); } } return true; } e.onkeydown = function (event) { event = event || window.event; key = event.keyCode || event.which; var box = document.getElementsByName(this.getAttribute('rel'))[0]; if (key == 8 || (key == 37 && event.altKey)) { event.returnValue = false; return false; } if (box && (key == 32) && (string_contains(this.className, 'combo2'))) { //this.style.display = 'none'; box.style.display = 'inline'; box.value = ''; setFocus(box); return false; } else { if (key == 13 && !e.length) // prevent chrome issue (blocked cursor after CR on empty selector) return false; } } } var _w; function callEditor(key) { var el = document.getElementsByName(editors[key][1])[0]; if (_w) _w.close(); // this is really necessary to have window on top in FF2 :/ var left = (screen.width - editors[key][2]) / 2; var top = (screen.height - editors[key][3]) / 2; _w = open(editors[key][0] + el.value + '&popup=1', "edit", "scrollbars=yes,resizable=0,width=" + editors[key][2] + ",height=" + editors[key][3] + ",left=" + left + ",top=" + top + ",screenX=" + left + ",screenY=" + top); if (_w.opener == null) _w.opener = self; editors._call = key; // store call point for passBack _w.focus(); } function passBack(value) { var o = opener; if (value != false) { var back = o.editors[o.editors._call]; // form input bindings var to = o.document.getElementsByName(back[1])[0]; if (to) { if (to[0] != undefined) to[0].value = value; // ugly hack to set selector to any value to.value = value; // update page after item selection o.JsHttpRequest.request('_' + to.name + '_update', to.form); o.setFocus(to.name); } } close(); } /* Normalize date format using previous input value to guess missing date elements. Helps fast date input field change with only single or double numbers (for day or day-and-month fragments) */ function fix_date(date, last) { var dat = last.split(user.datesep); var cur = date.split(user.datesep); var day, month, year; // TODO: user.date as default? // TODO: user.datesys if (date == "" || date == last) // should we return an empty date or should we return last? return date; if (user.datefmt == 0 || user.datefmt == 3) // set defaults { day = dat[1]; month = dat[0]; year = dat[2]; } else if (user.datefmt == 1 || user.datefmt == 4) { day = dat[0]; month = dat[1]; year = dat[2]; } else { day = dat[2]; month = dat[1]; year = dat[0]; } if (cur[1] != undefined && cur[1] != "") // day or month entered, could be string 3 { if (user.datefmt == 0 || user.datefmt == 3 || ((user.datefmt == 2 || user.datefmt == 5) && (cur[2] == undefined || cur[2] == ""))) day = cur[1]; else month = cur[1]; } if (cur[0] != undefined && cur[0] != "") // day or month entered. could be string 3 { if (cur[1] == undefined || cur[1] == "") day = cur[0]; else if (user.datefmt == 0 || user.datefmt == 3 || ((user.datefmt == 2 || user.datefmt == 5) && (cur[2] == undefined || cur[2] == ""))) month = cur[0]; else if (user.datefmt == 2 || user.datefmt == 5) year = cur[0]; else day = cur[0]; } if (cur[2] != undefined && cur[2] != "") // year, { if (user.datefmt == 2 || user.datefmt == 5) day = cur[2]; else year = cur[2]; } if (user.datefmt < 3) { if (day < 10) day = '0' + parseInt(day, 10); if (month < 10) month = '0' + parseInt(month, 10); } if (year < 100) year = year < 60 ? (2000 + parseInt(year, 10)) : (1900 + parseInt(year, 10)); // console.info(day,month,year) if (user.datefmt == 0 || user.datefmt == 3) return month + user.datesep + day + user.datesep + year; if (user.datefmt == 1 || user.datefmt == 4) return day + user.datesep + month + user.datesep + year; return year + user.datesep + month + user.datesep + day; } /* Behaviour definitions */ var inserts = { 'input': function (e) { if (e.onfocus == undefined) { e.onfocus = function () { save_focus(this); if (string_contains(this.className, 'combo') || string_contains(this.className, 'combo3')) this.select(); }; } if (string_contains(e.className, 'combo') || string_contains(e.className, 'combo2') || string_contains(e.className, 'combo3')) { _set_combo_input(e); } else if (e.type == 'text') { e.onkeydown = function (ev) { ev = ev || window.event; key = ev.keyCode || ev.which; if (key == 13) { if (e.className == 'searchbox') e.onblur(); return false; } return true; } } }, 'input.combo2,input[aspect="fallback"]': function (e) { // this hides search button for js enabled browsers // e.style.display = 'none'; }, 'div.js_only': function (e) { // this shows divs for js enabled browsers only e.style.display = 'block'; }, 'button': function (e) { e.onclick = function () { if (validate(e)) { setTimeout(function () { var asp = e.getAttribute('aspect'); if (asp && asp.indexOf('download') === -1 && asp.indexOf('popup') === -1) set_mark((asp && ((asp.indexOf('process') !== -1) || (asp.indexOf('nonajax') !== -1))) ? 'progressbar.gif' : 'ajax-loader.gif'); }, 100); return true; } return false; }, e.onkeydown = function (ev) { // block unintentional page escape with 'history back' key pressed on buttons ev = ev || window.event; key = ev.keyCode || ev.which; if (key == 8 || (key == 37 && ev.altKey)) { ev.returnValue = false; return false; } } }, // '.ajaxsubmit,.editbutton,.navibutton': // much slower on IE7 'button.ajaxsubmit,input.ajaxsubmit,input.editbutton,button.editbutton,button.navibutton': function (e) { e.onclick = function () { if (validate(e)) { save_focus(e); var asp = e.getAttribute('aspect') if (asp && (asp.indexOf('process') !== -1)) JsHttpRequest.request(this, null, 600000); // ten minutes for backup else JsHttpRequest.request(this); } return false; } }, '.amount': function (e) { if (e.onblur == undefined) { e.setAttribute('_last_val', e.value); e.onblur = function () { var dec = this.getAttribute("dec"); var val = this.getAttribute('_last_val'); if (val != get_amount(this.name)) { this.setAttribute('_last_val', get_amount(this.name)); price_format(this.name, get_amount(this.name), dec); if (e.className.match(/\bactive\b/)) JsHttpRequest.request('_' + this.name + '_changed', this.form); } }; } }, '.searchbox': // emulated onchange event handling for text inputs function (e) { e.setAttribute('_last_val', e.value); e.setAttribute('autocomplete', 'off'); //must be off when calling onblur e.onblur = function () { var val = this.getAttribute('_last_val'); if (val != this.value) { this.setAttribute('_last_val', this.value); JsHttpRequest.request('_' + this.name + '_changed', this.form); } } }, '.date': function (e) { e.setAttribute('_last_val', e.value); e.setAttribute('autocomplete', 'off'); e.onblur = function () { var val = this.getAttribute('_last_val'); if (val != this.value) { this.value = fix_date(this.value, val); this.setAttribute('_last_val', this.value); if (e.className.match(/\bactive\b/)) JsHttpRequest.request('_' + this.name + '_changed', this.form); } } }, 'button[aspect*selector], button[aspect*abort], input[aspect*selector]': function (e) { e.onclick = function () { passBack(this.getAttribute('rel')); return false; } }, 'button[aspect=popup]': function (e) { e.onclick = function () { if (_w) _w.close(); // this is really necessary to have window on top in FF2 :/ var left = (screen.width - 800) / 2; var top = (screen.height - 600) / 2; _w = open(document.location + 'popup=1', "edit", "Scrollbars=0,resizable=0,width=800,height=600, top=" + top + ",left=" + left + ",screenX=" + left + ",screenY=" + top); if (_w.opener == null) _w.opener = self; // editors._call = key; // store call point for passBack // _w.moveTo(50, 50); _w.focus(); return false; } }, 'select': function (e) { if (e.onfocus == undefined) { e.onfocus = function () { save_focus(this); }; } var c = e.className; if (string_contains(c, 'combo') || string_contains(c, 'combo2') || string_contains(c, 'combo3')) _set_combo_select(e); else { e.onkeydown = function (ev) { // block unintentional page escape with 'history back' key pressed on buttons ev = ev || window.event; key = ev.keyCode || ev.which; if (key == 8 || (key = 37 && ev.altKey)) { ev.returnValue = false; return false; } } } }, 'a.printlink': function (l) { l.onclick = function () { save_focus(this); JsHttpRequest.request(this, null, 60000); return false; } }, 'a.repopts_link': function (l) { l.onclick = function () { save_focus(this); var replinks = document.getElementsBySelector('a.repopts_link'); for (var i in replinks) replinks[i].style.fontWeight = replinks[i] == this ? 'bold' : 'normal'; JsHttpRequest.request(this, null); return false; } }, 'a': function (e) { // traverse menu e.onkeydown = function (ev) { ev = ev || window.event; key = ev.keyCode || ev.which; if (key == 37 || key == 38 || key == 39 || key == 40) { move_focus(key, e, document.links); ev.returnValue = false; return false; } } // prevent unneeded transaction entry abortion if (e.className == 'shortcut' || e.className == 'menu_option' || e.className == 'menu_tab' || e.className == 'selected') e.onclick = function (ev) { if (_validate._processing && _validate._modified && !confirm(_validate._processing)) { ev.returnValue = false; return false; } if (_hotkeys.alt) // ommit Chrome accesskeys return false; window.location = e.href; } }, 'ul.ajaxtabs': function (ul) { var ulist = ul.getElementsByTagName("li"); for (var x = 0; x < ulist.length; x++) { //loop through each LI e var tab = ulist[x].getElementsByTagName("button")[0]; var url = tab.form.action tab.onclick = function () { if (!_hotkeys.alt && !this.disabled) _expand(this); return false; } } // } }, 'textarea': function (e) { if (e.onfocus == undefined) { e.onfocus = function () { save_focus(this); }; } }, '.approval_btn': function(e) { $(e).on('click', function(){ $("#approval_submit_btn").empty(); $("#reject_submit_btn").empty(); var approve_btn_title = $(this).attr('approve_title'); var reject_btn_title = $(this).attr('reject_title'); $("#approval_submit_btn").append('✅'+approve_btn_title); $("#reject_submit_btn").append('⛔'+reject_btn_title); var comment_container = $('#approval_comment_container'); var comment_box = $('#approval_comment_box'); var btn_name = $(this).attr('btn'); $('#approval_submit_btn').attr('btn','approve_btn'+btn_name); $('#reject_submit_btn').attr('btn','reject_btn'+btn_name); $('#comment_box_header').append(" #"+btn_name+""); $('.approval_btn_submit').css({ 'padding':'4px 8px 5px 8px', 'cursor':'pointer' }); $(comment_container).css({ 'position': 'fixed', 'z-index': '1000', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%', 'background-color': 'rgb(0,0,0)', 'background-color': 'rgba(0,0,0,0.6)', }); $(comment_box).css({ 'position': 'absolute', 'float': 'left', 'left': '50%', 'top': '25%', 'width': '500px', 'padding': '20px 10px', 'transform': 'translate(-50%, -50%) scale(1)', 'transition': '200ms ease-in-out', 'border-radius': '4px', 'border': '1px solid #AAA', 'background-color': '#fff', 'font-size':'1.2em' }); $('#approval_comment').css({ 'width':'calc(100% - 30px)', 'border-color':'#AAA' }); $(comment_container).removeAttr('hidden'); $('#approval_comment_container').on('click', function(el) { var elm = $('#approval_comment_box'); if (!elm.is(el.target) && elm.has(el.target).length === 0) $('#cancel_btn').trigger('click'); }); }); }, '.approval_btn_submit': function(e) { $(e).on('click', function(){ var btn_name = $(this).attr('btn'); console.log('hi'); if($("button[name='"+btn_name+"']").length > 0){ $("button[name='"+btn_name+"']").trigger('click'); }else{ $("input[aspect='approval'][name='"+btn_name+"']").trigger('click'); } }); } /* TODO 'a.date_picker': function(e) { // this un-hides data picker for js enabled browsers e.href = date_picker(this.getAttribute('rel')); e.style.display = ''; e.tabindex = -1; // skip in tabbing order } */ }; function stopEv(ev) { if (ev.preventDefault) { ev.preventDefault(); ev.stopPropagation(); } else { ev.returnValue = false; ev.cancelBubble = true; window.keycode = 0; } return false; } /* Modified accesskey system. While Alt key is pressed letter keys moves focus to next marked link. Alt key release activates focused link. */ function setHotKeys() { document.onkeydown = function (ev) { ev = ev || window.event; key = ev.keyCode || ev.which; if (key == 18 && !ev.ctrlKey) { // start selection, skip Win AltGr _hotkeys.alt = true; _hotkeys.focus = -1; return stopEv(ev); } else if (ev.altKey && !ev.ctrlKey && ((key > 47 && key < 58) || (key > 64 && key < 91))) { key = String.fromCharCode(key); var n = _hotkeys.focus; var l = document.getElementsBySelector('[accesskey=' + key + ']'); var cnt = l.length; _hotkeys.list = l; for (var i = 0; i < cnt; i++) { n = (n + 1) % cnt; // check also if the link is visible if (l[n].accessKey == key && (l[n].offsetWidth || l[n].offsetHeight)) { _hotkeys.focus = n; // The timeout is needed to prevent unpredictable behaviour on IE. var tmp = function () { l[_hotkeys.focus].focus(); }; setTimeout(tmp, 0); break; } } return stopEv(ev); } if ((ev.ctrlKey && key == 13) || key == 27) { _hotkeys.alt = false; // cancel link selection _hotkeys.focus = -1; ev.cancelBubble = true; if (ev.stopPropagation) ev.stopPropagation(); // activate submit/escape form for (var j = 0; j < this.forms.length; j++) { var form = this.forms[j]; for (var i = 0; i < form.elements.length; i++) { var el = form.elements[i]; var asp = el.getAttribute('aspect'); if (!string_contains(el.className, 'editbutton') && (asp && asp.indexOf('selector') !== -1) && (key == 13 || key == 27)) { passBack(key == 13 ? el.getAttribute('rel') : false); ev.returnValue = false; return false; } if (((asp && asp.indexOf('default') !== -1) && key == 13) || ((asp && asp.indexOf('cancel') !== -1) && key == 27)) { if (validate(el)) { if (asp.indexOf('nonajax') !== -1) el.click(); else if (asp.indexOf('process') !== -1) JsHttpRequest.request(el, null, 600000); else JsHttpRequest.request(el); } ev.returnValue = false; return false; } } } ev.returnValue = false; return false; } if (editors !== undefined && editors[key]) { callEditor(key); return stopEv(ev); // prevent default binding } return true; }; document.onkeyup = function (ev) { ev = ev || window.event; key = ev.keyCode || ev.which; if (_hotkeys.alt == true) { if (key == 18) { _hotkeys.alt = false; if (_hotkeys.focus >= 0) { var link = _hotkeys.list[_hotkeys.focus]; if (link.onclick) link.onclick(); else if (link.target == '_blank') { window.open(link.href, '', 'toolbar=no,scrollbar=no,resizable=yes,menubar=no,width=900,height=500'); openWindow(link.href, '_blank'); } else window.location = link.href; } return stopEv(ev); } } return true; } } Behaviour.register(inserts); Behaviour.addLoadEvent(setFocus); Behaviour.addLoadEvent(setHotKeys); ') |
| /var/www/rtech.solutionerp.co/public/access/password_reset.php:43: | send_scripts() |
| /var/www/rtech.solutionerp.co/public/includes/session.inc:486: | include('/var/www/rtech.solutionerp.co/public/access/password_reset.php') |
| /var/www/rtech.solutionerp.co/public/index.php:11: | include_once('/var/www/rtech.solutionerp.co/public/includes/session.inc') |
| /var/www/rtech.solutionerp.co/public/includes/main.inc:113: | fopen('./company/0/js_cache/0/login.js','w') |
| /var/www/rtech.solutionerp.co/public/includes/main.inc:88: | force_open('./company/0/js_cache/0/login.js') |
| /var/www/rtech.solutionerp.co/public/includes/page/header.inc:63: | cache_js_file('./company/0/js_cache/0/login.js','/********************************************************************** Copyright (C) SolutionERP, LLC. ***********************************************************************/ function fixPNG(myImage) { var arVersion = navigator.appVersion.split("MSIE") var version = parseFloat(arVersion[1]) if ((version >= 5.5) && (version < 7) && (document.body.filters)) { var imgID = (myImage.id) ? "id='" + myImage.id + "' " : "" var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : "" var imgTitle = (myImage.title) ? "title='" + myImage.title + "' " : "title='" + myImage.alt + "' " var imgStyle = "display:inline-block;" + myImage.style.cssText var strNewHTML = "" myImage.outerHTML = strNewHTML } } function set_fullmode() { document.getElementById('ui_mode').value = 1; document.loginform.submit(); return true; } function retry() { document.getElementById('ui_mode').value = 1; JsHttpRequest.request(this); return true; } ') |
| /var/www/rtech.solutionerp.co/public/access/password_reset.php:43: | send_scripts() |
| /var/www/rtech.solutionerp.co/public/includes/session.inc:486: | include('/var/www/rtech.solutionerp.co/public/access/password_reset.php') |
| /var/www/rtech.solutionerp.co/public/index.php:11: | include_once('/var/www/rtech.solutionerp.co/public/includes/session.inc') |