MySQL-Admin
view release on metacpan or search on metacpan
htdocs/javascript/cms.js view on Meta::CPAN
maxLength = 1000;
m_sid = '123';
m_txt = '';
/**
*
*
* @param {*} inXml XmL Document or filename
* @param {*} inXsl XsL Document or filename
* @param {string} outId
* @param {string} tabId
* @param {string} title
*/
function loadPage(inXml, inXsl, outId, tabId, title) {
xml = typeof inXml == 'object' ? inXml : loadXMLDoc(inXml);
xsl = typeof inXsl == 'object' ? inXsl : loadXMLDoc(inXsl);
if (typeof XSLTProcessor == 'undefined') {
var xslt = new ActiveXObject("Msxml2.XSLTemplate");
if (xslt) {
var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
var xmlstr = xsl.xml ? xsl.xml : (new XMLSerializer()).serializeToString(xsl);
xslDoc.loadXML(xmlstr);
xslt.stylesheet = xslDoc;
var xslProc = xslt.createProcessor();
xslProc.input = xslDoc;
xslProc.transform();
document.getElementById(outId).innerHTML = xslProc.output;
} else {
ex = xml.transformNode(xsl);
document.getElementById(outId).innerHTML = ex;
}
} else if (document.implementation && document.implementation.createDocument) {
xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
resultDocument = xsltProcessor.transformToFragment(xml, document);
node = document.getElementById(outId);
setText(outId, '');
if (node.childNodes[0])
node.removeChild(node.childNodes[0]);
if (node) node.appendChild(resultDocument);
}
setCurrentTab(tabId, title);
if (outId == 'content') disableOutputEscaping('content');
}
/**
* onkeydown="intputMask(this.id,"(\w+)")"
* Would only accept chars for given id as Input.
* @param {string} id
* @param {string} regexp
*/
function intputMask(id, regexp) {
var rxObj = regexp;
rxObj.exec(document.getElementById(id).value);
document.getElementById(id).value = RegExp.$1;
}
var tmpTxt;
var tmpID;
function showPopup(id, hideCloseButton) {
visible('popup');
if (hideCloseButton) hide('closeButton');
else visible('closeButton');
tmpTxt = getText(id);
tmpID = id;
setText(id, '');
setText('popupTitle', translate(id));
setText('popupContent', tmpTxt);
evalId(id);
}
function showEditorOptions() {
visible('popup');
visible('closeButton');
tmpTxt = getText('editorOptions');
tmpID = 'editorOptions';
setText('popupTitle', translate('editorOptions'));
setText('popupContent', tmpTxt);
}
function closePopup() {
hide('popup');
if (tmpID !== 'editorOptions')
setText(tmpID, tmpTxt);
document.getElementById('popupContent1').style.left = '25%';
document.getElementById('popupContent1').style.width = '50%';
}
function setCurrentTab(id, title) {
var body = document.getElementsByTagName('body')[0];
var nodes = body.getElementsByTagName("td");
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].className == 'headerItemHover') {
nodes[i].className = 'headerItem';
nodes[i].firstChild.className = 'menuLink';
}
}
var entry = document.getElementById(id);
var entryDynamic = document.getElementById('dynamicTab');
if (entry) {
for (var j = 0; j < nodes.length; j++) {
if (nodes[j].className == 'headerItemHover') {
nodes[j].className = 'headerItem';
if (nodes[j].firstChild) nodes[j].firstChild.className = 'menuLink';
}
}
if (entry.className == 'headerItem')
entry.className = 'headerItemHover';
if (entryDynamic) {
entryDynamic.style.display = 'none';
entryDynamic.className = 'headerItem';
}
return;
}
if (entryDynamic && title) {
entryDynamic.style.display = '';
entryDynamic.className = 'headerItemHover';
entryDynamic.innerHTML = '<a class="dynamicLink">' + translate(title) + '</a>';
}
}
var currentId, currentTxt;
var act = 'save';
/**
*<pre><code>
* <form onsubmit="submitForm(this,'$m_sAction','$m_sTitle');return false;" method="GET" enctype="multipart/form-data">
* <input type="hidden" name="action" value="foo">
* </code></pre>
* @param {HTMLElement} node
* @param {string} tabId Tabwidget id
* @param {string} tabTitle Tabwidget text
* @param {boolean} bHistory Browser History
* @param {string} Submit Type GET or POST
* @param {sting} uri script url
*/
function submitForm(node, tabId, tabTitle, bHistory, method, uri) {
bHistory = typeof bHistory !== 'undefined' ? bHistory : true;
method = typeof method !== 'undefined' ? method : 'POST';
var url = typeof uri !== 'undefined' ? uri : 'cgi-bin/mysql.pl?';
try {
htdocs/javascript/cms.js view on Meta::CPAN
if (window.ActiveXObject) {
xhttp = new ActiveXObject("Msxml2.XMLHTTP");
} else {
xhttp = new XMLHttpRequest();
}
xhttp.open("GET", filename, false);
xhttp.overrideMimeType("text/xml");
if (window.ActiveXObject) {
try {
xhttp.responseType = "msxml-document";
} catch (err) {
alert(err);
}
}
xhttp.send(null);
return xhttp.responseXML;
}
function setContent() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
hide('load');
response = http_request.responseXML;
for (var i = 0; i < response.getElementsByTagName('output').length; i++) {
var obj = response.getElementsByTagName('output')[i];
var outID = obj.getAttribute('id');
var typeName = obj.getAttribute('type');
var txt = response.getElementsByTagName('output')[i].textContent;
if (navigator.userAgent.indexOf("Firefox") != -1)
txt = txt.replace("<![CDATA[", "").replace("]]>", "");
if (typeName === 'script') {
eval(txt);
} else if (typeName === 'xml') {
var xsl = obj.getAttribute('xsl');
var title = obj.getAttribute('title');
var tabId = obj.getAttribute('tabId');
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(txt, "text/xml");
loadPage(xmlDoc, xsl, outID, tabId, title);
evalId(outID);
} else {
setText(outID, txt);
evalId(outID);
}
}
if (!m_blogin && (bAction == 'login' || bAction == 'logout')) loadMenu();
setCurrentTab(cAction, m_txt);
} else {
if (oldpage.length > 0) {
setText('content', oldpage);
setCurrentTab(currentId, currentTxt);
} else {
errorPopUp('<div style="overflow:auto">' + http_request.status + " " + http_request.responseText + "</div>", errorMessage);
}
return false;
}
if (m_sid == '123' && m_blogin && (cAction != 'reg' && cAction != 'datenschutz' && cAction != 'lostPassword' && cAction != 'make' && cAction != 'makePassword')) {
showPopup('loginContent', true);
evalId('popupContent');
} else {
var closeButton = document.getElementById("closeButton");
closeButton.addEventListener('click', closePopup);
}
}
}
function alert(txt) {
visible('popup');
setText('popupContent', '<div align="center">' + txt + '<br/><input type="submit" id="confirmButton" value="Ok"/></div>');
var node = document.getElementById("confirmButton");
node.addEventListener('click', function (evt) {
hide('popup');
});
}
window.onerror = logError;
function logError(message, file, line) {
var formData = new FormData();
formData.append("message", message);
formData.append("file", file);
formData.append("line", line);
formData.append("action", "logJsError");
requestURI("cgi-bin/mysql.pl", "", "", false, formData, "POST");
console.log("Message: " + message + "file: " + file + "line: " + line);
}
function confirm2(txt, sub, arg, arg2, arg3) {
visible('popup');
setText('popupContent', '<b>' + txt +
'</b><div align="right" style="padding:0.4em;"><input type="submit" name="cancelButton" id="cancelButton" value="Cancel"/> <input type="submit" id="confirmButton" value="Ok"/></div>'
);
var node = document.getElementById("confirmButton");
node.addEventListener('click', function (evt) {
hide('popup');
sub(arg, arg2, arg3);
});
var node2 = document.getElementById("cancelButton");
node2.addEventListener('click', function (evt) {
hide('popup');
});
}
function moveHere(txt, sub, arg, arg2, arg3) {
visible('moveHere');
window.document.title = txt;
setText('moveHere', '<div id="moveButton" class="moveButton" style="padding:0.4em;">' + translate('MoveHere') +
'</div><div id="moveCancelButton" class="moveButton" style="padding:0.4em;">' + translate('Cancel') + '</div>');
var node = document.getElementById("moveButton");
document.getElementById('moveHere').style.position = "absolute";
document.getElementById('moveHere').style.left = (posX - dragX) + "px";
document.getElementById('moveHere').style.top = (posY - dragY) + "px";
document.getElementById('moveHere').style.zIndex = 4;
node.addEventListener('click', function (evt) {
stopDrop();
evt.stopPropagation();
sub(arg, arg2, arg3);
});
var node2 = document.getElementById("moveCancelButton");
node2.addEventListener('click', function (evt) {
stopDrop();
evt.stopPropagation();
window.document.title = translate('links');
});
}
function stopDrop() {
hide('moveHere');
dragobjekt.style.position = "";
dropenabled = false;
dragobjekt.className = "treeviewLink";
dragobjekt = null;
m_bNoDrop = false;
}
function prompt(txt, sub) {
visible('popup');
setText('popupContent', '<b>' + txt + '</b><br/><input type="text" align="center" id="promptPopUp"/><br/><div align="right" style="padding:0.4em;"><input type="submit" name="cancelButton" id="cancelButton" value="Cancel"/> <input type="subm...
var node = document.getElementById("confirmButton");
node.addEventListener('click', function (evt) {
hide('popup');
sub(document.getElementById('promptPopUp').value);
});
var node2 = document.getElementById("cancelButton");
node2.addEventListener('click', function (evt) {
hide('popup');
evt.stopPropagation();
});
}
function disclaimer(txt, sub) {
visible('disclaimer');
setText('disclaimerContent', '<div align="center" style="padding:0.4em;"><b>' + txt + '</b> <input type="checkbox" onclick="$(\'#confirmButtonDisclaimer\').toggle()" /><div id="datenschutz"><a href="javascript:requestURI(\'cgi-bin/mysql.pl?a...
var node = document.getElementById("confirmButtonDisclaimer");
node.addEventListener('click', function (evt) {
hide('disclaimer');
$('#confirmButtonDisclaimer').toggle();
privatPolicy = true;
sub();
});
}
function errorPopUp(txt, sub, arg, arg2, arg3) {
visible('popup');
setText('popupContent', '<b>' + txt + '</b><div align="right" style="padding:0.4em;"> <input type="submit" id="confirmButton" value="Ok"/></div>');
var node = document.getElementById("confirmButton");
node.addEventListener('click', function (evt) {
hide('popup');
sub(arg, arg2, arg3);
});
}
function checkForm(form) {
var selectElement = form.querySelectorAll('input');
var ret = true;
for (i = 0; i < form.length; i++) {
if (selectElement[i]) {
var value = selectElement[i].value;
var regexp = selectElement[i].dataset.regexp;
if (value && regexp) {
if (eval('value.match(' + regexp + ')')) {
selectElement[i].style.borderColor = 'green';
selectElement[i].title = selectElement[i].dataset.right;
} else {
selectElement[i].style.borderColor = 'red';
selectElement[i].title = selectElement[i].dataset.error;
ret = false;
}
}
}
}
return ret;
}
function errorMessage(text) {
location.href = "install.html";
}
function evalId(id) {
var content = document.getElementById(id);
if (content) {
var node = content.getElementsByTagName("script");
for (var i = 0, j = node.length; i < j; i++) {
if (node[i] && node[i].childNodes[0]) {
var code = node[i].childNodes[0].nodeValue;
try {
eval(code);
} catch (e) {
logError(e, code,node[i].childNodes[0].id);
}
}
}
}
}
function showEditor(txt) {
if (document.getElementById('editor')) {
editor = ace.edit("editor");
editor.session.setMode("ace/mode/perl");
editor.setTheme("ace/theme/chrome");
if (txt) {
editor.setValue(txt, 1);
}
}
}
htdocs/javascript/cms.js view on Meta::CPAN
oldDate = new Date();
oldTime = oldDate.getTime();
return false;
} else {
var date = new Date();
var time = date.getTime();
return (time - oldTime > 1000) ? false : true;
}
}
/**
* oAutocomplete = $("txt");
* autocomplete.push("foo");
* autocomplete.push("bar");
* oAutocomplete.addEventListener('keyup', Autocomplete);
* Autocomplete(evt)
* <pre><code><textarea id="txt"></textarea></code></pre>
*
* @param {*} evt
* @returns
*/
function Autocomplete(evt) {
if (breakOut()) return;
if (evt.which == 8 || evt.which == 16 || evt.which === 37 || evt.which === 38 || evt.which === 39 || evt.which === 39 || evt.which === 40) return;
var offset = 3;
while (oAutocomplete.selectionStart - offset >= 0 && offset < 10) {// todo port to IE
var match = '';
if (oAutocomplete.value.substr(oAutocomplete.selectionStart - offset - 1, 1) == ' ' || oAutocomplete.value.substr(oAutocomplete.selectionStart - offset - 1,
1).search(new RegExp("\\b")) == -1 || oAutocomplete.selectionStart - offset == 0) {
match = oAutocomplete.value.substr(oAutocomplete.selectionStart - offset, offset);
}
var i = 0;
var j = autocomplete.length;
while (i < autocomplete.length) {
if (match == autocomplete[i].substr(0, offset)) {
var selectionStart = oAutocomplete.selectionStart;
var before = oAutocomplete.value.substr(0, selectionStart - offset);
var behind = oAutocomplete.value.substr(selectionStart, oAutocomplete.value.length);
oAutocomplete.value = before + autocomplete[i] + behind;
oAutocomplete.selectionStart = selectionStart;
oAutocomplete.selectionEnd = selectionStart + autocomplete[i].length - offset;
break;
}
i++;
}
offset++;
}
}
/**
* insert vales from an select into autocomplete
*
* @param {string} id
*/
function selKeyword(id) {
for (var i = 0; i < document.getElementById(id).options.length; i++) autocomplete.push(document.getElementById(id).options[i].value);
}
var uno = true;
function showSQLEditor() {
document.getElementById('popupContent1').style.left = '5%';
document.getElementById('popupContent1').style.width = '90%';
showPopup('SqlEditor');
oAutocomplete = document.getElementById("sqlEdit");
oAutocomplete.addEventListener('keyup', Autocomplete);
if (uno) {
selKeyword('selKeyword');
selKeyword('tablelist');
for (var i = 0; i < document.getElementById('tablelist').options.length; i++) selKeyword(document.getElementById('tablelist').options[i].value);
}
uno = false;
}
function ShowNewRow() {
document.getElementById('popupContent1').style.left = '2%';
document.getElementById('popupContent1').style.width = '96%';
showPopup('ShowNewRow');
}
/**
* fake (styled) checkbox for HTML::Editor
*
* @param {string} id
* @param {HTMLElement} parent
*/
function checkButton(id, parent) {
if (parent.className == 'htmlButton') {
document.getElementById(id).checked = "checked";
parent.className = 'htmlButtonChecked';
} else {
parent.className = 'htmlButton';
document.getElementById(id).checked = "";
}
}
/**
* @copyright
* Copyright (C) 2006-2018 by Hr. Dirk Lindner
* perl -e'sub lze_Rocks{print/(...)/ for shift;}sub{&{"@_"}}->("lze_Rocks")'
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; This program is distributed in the hope
* that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details
*/
( run in 0.690 second using v1.01-cache-2.11-cpan-364913b4093 )