!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

E:\copia nuevo\htdocs\boletinlegal\admin\report\sqlbuddy\js\   drwxrwxrwx
Free 4.96 GB of 239.26 GB (2.07%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     core.js (23.19 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
var sb;

var shiftPressed;
var lastActiveRow = -1;
var clearPanesOnLoad = false;

var activeWindow;
var animationStack = [];

var viewportSize = [0, 0];

function f(g) {
	if (g == undefined || g == "undefined" || g == null)
		return "";
	else
		return g;
}

var $E = function(selector, filter) {
	return ($(filter) || document).getElement(selector);
};

var $ES = function(selector, filter) {
	return ($(filter) || document).getElements(selector);
};

window.addEvent("domready", function() {
	document.addEvent("keydown", function(e) {
		var ev = new Event(e);
		if (ev.shift)
			shiftPressed = true;
	});
	
	document.addEvent("keyup", function() {
		shiftPressed = false;
	});
	
	// to disable keyboard shortcuts, comment out the following line
	window.addEvent("keydown", runKeyboardShortcuts);
	
	sb = new Page();
	
	initializeSidemenu();
	
	sb.loadHash();
	sb.loadPage();
	
	(function(){ sb.preload(); }).delay(500);
	(function(){ sb.checkHashState(); }).periodical(75);
	(function(){
		var winWidth = getWindowWidth();
		var winHeight = getWindowHeight();
		if (viewportSize[0] != winWidth || viewportSize[1] != winHeight) {
			viewportSize = [winWidth, winHeight];
			sizePage();
		}
	}).periodical(175);
	(function(){ autoExpandTextareas(); }).periodical(500);
});

function Page() {
	this.page = "home.php";
	this.db;
	this.table;
	this.topTabSet = 0;
	this.topTab = 0;
	this.s;
	this.view;
	this.sortDir;
	this.sortKey;
	
	this.$GUID = 1;
	
	this.pane;
	this.grid;
	this.gridHeader;
	this.leftChecks;
	
	this.hashMemory = "";
	
	this.submenuHeights = [];
	this.submenuIds = [];
	this.tableRowCounts = [];
	
	this.topTabs = [new TopTabGroup("Main"), new TopTabGroup("Database"), new TopTabGroup("Table")];
	
	if (showUsersMenu) {
		this.topTabs[0].addTab(gettext("Home"), "home.php").addTab(gettext("Users"), "users.php").addTab(gettext("Query"), "query.php").addTab(gettext("Import"), "import.php").addTab(gettext("Export"), "export.php");
	} else {
		this.topTabs[0].addTab(gettext("Home"), "home.php").addTab(gettext("Query"), "query.php").addTab(gettext("Import"), "import.php").addTab(gettext("Export"), "export.php");
	}
	
	this.topTabs[1].addTab(gettext("Overview"), "dboverview.php").addTab(gettext("Query"), "query.php").addTab(gettext("Import"), "import.php").addTab(gettext("Export"), "export.php");
	this.topTabs[2].addTab(gettext("Browse"), "browse.php").addTab(gettext("Structure"), "structure.php").addTab(gettext("Insert"), "insert.php").addTab(gettext("Query"), "query.php").addTab(gettext("Import"), "import.php").addTab(gettext("Export"), "export.php");
	
}

Page.prototype.loadPage = function() {
	if (this.page == "browse.php" && parseInt(this.tableRowCounts[this.db + "_" + this.table]) == 0) {
		this.page = "structure.php";
		this.topTab = 1;
	}
	
	var pageUrl = "";
	if (f(this.s))
		pageUrl += "s=" + this.s + "&";
	if (f(this.sortDir))
		pageUrl += "sortDir=" + this.sortDir + "&";
	if (f(this.sortKey))
		pageUrl += "sortKey=" + this.sortKey + "&";
	pageUrl = pageUrl.substring(0, pageUrl.length - 1);
	
	if (this.page == "editcolumn.php") {
		this.page = "structure.php";
		this.topTab = 1;
	} else if (this.page == "edituser.php") {
		this.page = "users.php";
		this.topTab = 1;
	} else if (this.page == "edit.php") {
		this.page = "browse.php";
		this.topTab = 0;
	}
	
	clearPanesOnLoad = true;
	var x = new XHR({url: this.page, onSuccess: finishTabLoad}).send(pageUrl);
}

Page.prototype.refreshTopTabSet = function(setNum) {
	if (f(setNum))
		this.topTabSet = setNum;
	
	var topTabsElem = $E('#toptabs ul');
	topTabsElem.empty();
	var loopStop = this.topTabs[this.topTabSet].tabCounter;
	var browseIsActive = true;
	var currentTab, rowCount, tabId, tabLiObj, tabAObj, tabACount;
	
	for (var i=0; i<loopStop; i++) {	
		currentTab = this.topTabs[this.topTabSet].tabList[i];
		tabId = i;
		
		rowCount = sb.tableRowCounts[sb.db + "_" + sb.table];
		
		if (isNaN(rowCount))
			rowCount = 0;
		else
			rowCount = approximateNumber(rowCount);
		
		if (rowCount == 0)
			browseIsActive = false;
		
		tabLiObj = new Element('li');
		tabLiObj.id = tabId;
		if (sb.page == currentTab.url)
			tabLiObj.addClass('selected');
		if (currentTab.url == "browse.php" && browseIsActive == false)
			tabLiObj.addClass('deactivated');
		tabAObj = new Element('a');
		tabAObj.appendText(currentTab.title);
		if (currentTab.url == "browse.php" && f(rowCount) != "") {
			tabACount = new Element("span");
			tabACount.addClass("rowcount");
			tabACount.appendText("(" + rowCount + ")");
			tabAObj.appendChild(tabACount);
		}
		if (tabId != this.topTab && !(currentTab.url == "browse.php" && browseIsActive == false) && !currentTab.temp)
			tabAObj.onclick = topTabClicked;
		if (!(currentTab.url == "browse.php" && browseIsActive == false) && !currentTab.temp) {
			var hrefBuild = "#page=" + currentTab.url.substring(0, currentTab.url.length - 4);
			if (f(this.db))
				hrefBuild += "&db=" + this.db;
			if (f(this.table))
				hrefBuild += "&table=" + this.table;
			if (f(this.topTabSet) && this.topTabSet != 0)
				hrefBuild += "&topTabSet=" + this.topTabSet;
			if (tabId != 0)
				hrefBuild += "&topTab=" + tabId;
				
			tabAObj.href = hrefBuild;
		}
		tabLiObj.appendChild(tabAObj);
		topTabsElem.appendChild(tabLiObj);
	}
}

Page.prototype.getTabUrl = function(tabId) {
	tabId = tabId || 0;
	return this.topTabs[this.topTabSet].tabList[tabId].url;
}

Page.prototype.getTabTitle = function(tabId) {
	tabId = tabId || 0;
	return this.topTabs[this.topTabSet].tabList[tabId].title;
}

Page.prototype.removeTempTabs = function() {
	for (var i=0; i<this.topTabs[this.topTabSet].tabCounter; i++) {
		if ((this.topTabs[this.topTabSet].tabList[i].temp) == true && (this.topTabs[this.topTabSet].tabList[i].url != this.page)) {
			this.topTabs[this.topTabSet].removeTab(i);
		}
	}
}

Page.prototype.preload = function() {
	var images = ["closeHover.png", "loading.gif", "openArrow.png", "goto.png", "schemaHeader.png", "info.png", "infoHover.png", 
	"window-button.png", "window-center.png", "window-close.png", "window-header-center.png", "window-header-left.png",
	"window-header-right.png", "window-resize.png", "window-shadow-bottom-left.png", "window-shadow-bottom-right.png",
	"window-shadow-bottom.png", "window-shadow-left.png", "window-shadow-right.png"];
	var pre;
	for (var i=0; i<images.length; i++) {
		pre = new Image();
		pre.src = "images/" + images[i];
	}
}

Page.prototype.setHash = function() {
	var newHash = "";
	if (f(this.page))
		newHash += "page=" + this.page.substr(0, this.page.length - 4) + "&";
	if (f(this.db))
		newHash += "db=" + this.db + "&";
	if (f(this.table))
		newHash += "table=" + this.table + "&";
	if (f(this.topTabSet) && this.topTabSet != 0)
		newHash += "topTabSet=" + this.topTabSet + "&";
	if (f(this.topTab) && this.topTab != 0)
		newHash += "topTab=" + this.topTab + "&";
	if (f(this.s))
		newHash += "s=" + this.s + "&";
	if (f(this.view))
		newHash += "view=" + this.view + "&";
	if (f(this.sortDir))
		newHash += "sortDir=" + this.sortDir + "&";
	if (f(this.sortKey))
		newHash += "sortKey=" + this.sortKey + "&";
	
	newHash = "#" + newHash.substring(0, newHash.length-1);
	if (window.location.hash != newHash) {
		window.location.hash = newHash;
		this.hashMemory = newHash;
	}
}

Page.prototype.loadHash = function() {
	var hash = window.location.hash;
	var part = hash.substring(1);
	var pairs = part.split("&");
	
	this.hashMemory = window.location.hash;
	
	for (var i=0; i<pairs.length; i++) {
		var pairsplit = pairs[i].split("=");
		var key = pairsplit[0];
		var value = pairsplit[1];
		if (key == "page"){ this.page = value + ".php" }
		if (key == "db"){ this.db = value }
		if (key == "table"){ this.table = value }
		if (key == "topTabSet"){ this.topTabSet = value }
		if (key == "topTab"){ this.topTab = value }
		if (key == "s"){ this.s = value }
		if (key == "view"){ this.view = value }
		if (key == "sortDir"){ this.sortDir = value }
		if (key == "sortKey"){ this.sortKey = value }
	}
}

Page.prototype.checkHashState = function() {
	if (window.location.hash != this.hashMemory) {
		this.resetInternals();
		this.loadHash();
		this.loadPage();
	}
}

Page.prototype.resetInternals = function() {
	this.page = "home.php";
	this.db = "";
	this.table = "";
	this.topTabSet = 0;
	this.topTab = 0;
	this.s = "";
	this.view = "";
	this.sortDir = "";
	this.sortKey = "";
}

function TopTabGroup(name) {
	this.name = name;
	this.tabList = [];
	this.tabCounter = 0;
}

TopTabGroup.prototype.addTab = function(title, url, temp) {
	this.tabList[this.tabCounter++] = new TopTab(title, url, temp);
	return this; // for chaining
}

TopTabGroup.prototype.removeTab = function(id) {
	this.tabList[id] = null;
	this.tabCounter--;
}

function TopTab(title, url, temp) {
	this.title = title;
	this.url = url;
	this.temp = temp;
}

function initializeSidemenu() {
	var menudata = eval(menujson);
	menujson = null;
	var ulmenu = $('databaselist').firstChild;
	var currentItem, newli, newa, togglediv, textdiv;
	var subul, subli, suba, subatext;
	var counter = 0;
	
	for (var i=0; i<menudata['menu'].length; i++) {
		currentItem = menudata['menu'][i];
		newli = returnMenuItem(currentItem['name'], i);
		
		subul = new Element('ul');
		subul.addClass("sublist");
		subul.id = "sublist" + i;
		if (currentItem['items']) {
			for (var j=0; j<currentItem['items'].length; j++) {
				subli = returnSubMenuItem(currentItem.name, currentItem['items'][j].name, currentItem['items'][j].rowcount);
				subul.appendChild(subli);
				
				sb.tableRowCounts[currentItem.name + '_' + currentItem['items'][j].name] = currentItem['items'][j].rowcount;
			}
		}
		newli.appendChild(subul);
		ulmenu.appendChild(newli);
		
		sb.submenuHeights[i] = subul.clientHeight;
		// these properties have to be set after the height is measured
		subul.style.height = "0px";
		subul.style.display = "none";
	}
	
	menudata = null;
}

function addSubMenuItem(sublist, db, table) {
	var subul = $(sublist);
	
	var newItem = returnSubMenuItem(db, table, 0);
	
	subul.appendChild(newItem);
	
	subul.style.height = '';
	subul.style.display = 'block';
	
	recalculateSubmenuHeight(sublist);
}

function returnSubMenuItem(db, table, count) {
	var subli, suba, subacount;
	var subId = sb.$GUID++;
	subli = new Element('li');
	subli.id = "sub" + subId;
	suba = new Element('a');
	suba.href = "#page=browse&db=" + db + "&table=" + table + "&topTabSet=2&topTab=0";
	suba.onclick = subTabClick;
	suba.appendText(table);
	subacount = new Element('span');
	subacount.className = "subcount";
	subacount.appendText("(" + approximateNumber(count) + ")");
	suba.appendChild(subacount);
	subli.appendChild(suba);
	sb.submenuIds[db + '_' + table] = "sub" + subId;
	
	return subli;
}

function returnMenuItem(db, i) {
	var menuli, menua, togglea, texta
	menuli = new Element('li');
	menuli.id = 'db' + i;
	menua = new Element('a');
	menua.onclick = $lambda(false);
	togglea = new Element('a');
	togglea.className = "menutoggler";
	togglea.onclick = toggleMenuClick;
	menua.appendChild(togglea);
	texta = new Element('a');
	texta.className = "menutext";
	texta.href = "#page=dboverview&db=" + db + "&topTabSet=1&topTab=0";
	texta.onclick = databaseClick;
	texta.innerHTML = db;
	menua.appendChild(texta);
	menuli.appendChild(menua);
	sb.submenuIds[db] = "db" + i;
	
	return menuli;
}

function addMenuItem(db) {
	var ulmenu = $E('#databaselist ul');
	var i = ulmenu.childNodes.length;
	var newli = returnMenuItem(db, i);
	
	var subul = new Element('ul');
	subul.className = "sublist";
	subul.id = "sublist" + i;
	subul.style.height = "0px";
	subul.style.display = "none";
	
	newli.appendChild(subul);
	ulmenu.appendChild(newli);
	
	sb.submenuHeights[i] = 0;
}

function showPane(paneId) {
	var panes = $$('#innercontent div[id^=pane]');
	for (var i=0; i<panes.length; i++) {
		panes[i].style.display = 'none';
	}
	$(paneId).style.display = '';
}

function addPane(paneId) {
	if (Browser.Engine.trident)
		clearPanes();
	var pane = new Element('div');
	pane.className = 'pane';
	pane.id = paneId;
	$('innercontent').appendChild(pane);
	showPane(paneId);
}

function generatePrompt(prepend, postpend, single, multiple, parameter, showQuery, context) {
	if (context) {
		var grid = $(context);
		var inputs = $ES("input", grid);
	} else {
		var grid = sb.grid;
		var inputs = $ES("input", sb.leftChecks);
	}
	
	if (f(grid)) {
		var buildList = "";
		var m = 0;
		for (var i=0; i<inputs.length; i++) {
			if (inputs[i].type == "checkbox" && inputs[i].checked == true) {
				buildList += prepend + inputs[i].get("querybuilder") + postpend + ";\n ";
				m++;
			}
		}
		if (buildList) {
			var prompter = gettext("Are you sure you want to") + " ";
			if (m == 1)
				prompter += single + "? ";
			else
				prompter += multiple + "? ";
			
			if (showQuery) {
				var formattedQuery = buildList.replace(/\n/g, "<br />");
				
				if (m == 1)
					prompter += gettext("The following query will be run:");
				else
					prompter += gettext("The following queries will be run:");
					
				prompter += " <div class=\"querybox\">" + formattedQuery + "</div>";
			}
			
			buildList = encodeURIComponent(buildList.replace(/\n/g, ""));
			buildList = buildList.replace(/'/g, "\\'");
			
			buildUrl = parameter + "=" + buildList;
			
			if (sb.page == "browse.php") {
				if (f(sb.view))
					buildUrl += "&view=" + sb.view;
					
				if (f(sb.s))
					buildUrl += "&s=" + sb.s;
					
				if (f(sb.sortKey))
					buildUrl += "&sortKey=" + sb.sortKey
					
				if (f(sb.sortDir))
					buildUrl += "&sortDir=" + sb.sortDir;
			}
			
			showDialog(gettext("Confirm"),
				prompter,
				"var x = new XHR({url: \"" + sb.page + "\", onSuccess: finishTabLoad}).send(\"" + buildUrl + "\");"
			);
		}
	}
}

function showDialog(title, content, action) {	
	createWindow(title, content, {isDialog: true, dialogAction: action});
}

function submitForm(formId) {
	var theForm = $(formId);
	var action = theForm.get("action");
	
	if (!action)
		action = sb.page;
	
	var x = new XHR({url: action, onSuccess: finishTabLoad}).send(theForm.toQueryString());
}

var XHR = new Class({

	Extends: Request,
	
	initialize: function(options) {
		
		if (!options.url)
			options.url = sb.page;
		
		if (options.url.indexOf("?") == -1)
			options.url += "?ajaxRequest=" + sb.$GUID++;
		else
			options.url += "&ajaxRequest=" + sb.$GUID++;
		
		options.url += "&requestKey=" + requestKey;
		
		if (f(sb.db))
			options.url += "&db=" + sb.db;
		if (f(sb.table))
			options.url += "&table=" + sb.table;
		
		this.parent(options);
		
		if (options && options.showLoader != false) {
			show('load');
			
			this.addEvent("onSuccess", function() {
				hide('load');
			});
			
			this.addEvent("onFailure", function() {
				hide('load');
				createWindow(gettext("Error"), gettext("There was an error receiving data from the server."), {isDismissible: true});
			});
		}
	},
	
	// redefined to avoid auto script execution
	success: function(text, xml) {
		this.onSuccess(text, xml);
	}
	
});

function gettext(str) {
	if (f(getTextArr[str]) != "")
		return getTextArr[str];
	else
		return str;
}

function printf() {
	var argv = printf.arguments;
	var argc = parseInt(argv.length);
	
	var inputString = argv[0];
	
	for (var i=1; i<argc; i++) {
		var position = inputString.indexOf("%s");
		var firstPart = inputString.substring(0, position + 2);
		var lastPart = inputString.substring(position + 2);
		firstPart = firstPart.replace("%s", argv[i]);
		inputString = firstPart + lastPart;
	}
	
	return inputString;
}

function fullTextWindow(rowId) {
	var rowQuery = $E(".check" + rowId, sb.pane).get("queryBuilder");
	var fullQuery = "SELECT * FROM " + returnQuote() + sb.table + returnQuote() + " " + rowQuery;
	var loadWin = createWindow(gettext("Loading..."), gettext("Loading..."));
	var x = new XHR({
		url: "ajaxfulltext.php", 
		onSuccess: function(responseText) {
			$(loadWin).dispose();
			createWindow(gettext("Full Text"), responseText)
		},
		onFailure: function() {
			$(loadWin).dispose();
		}
	}).send("query=" + fullQuery);
}

function createWindow(title, content, options) {
	options = options || {};
	
	var windowInnerWidth = getWindowWidth();
	
	var textWindow = new Element('div');
	textWindow.className = 'fulltextwin';
	if (options.isDialog || options.isDismissible) {
		textWindow.className += " dialog";
	}
	
	var windowId = "window" + sb.$GUID++;
	textWindow.id = windowId;
	
	var leftValue = Math.round((windowInnerWidth - 475) / 2);
	
	textWindow.style.left = leftValue + "px";
	
	var topValue = 120;
	
	if (window.scrollY)
		topValue += window.scrollY;
	
	textWindow.style.top = topValue + "px";
	textWindow.style.zIndex = sb.$GUID;
	var windowMain = new Element('div');
	windowMain.className = 'fulltextmain';
	var windowHeader = new Element('div');
	windowHeader.className = 'fulltextheader';
	windowHeader.addEvent("mousedown", focusWindow);
	windowHeader.addEvent("mousedown", startDrag);
	var windowHeaderContent = '<table cellspacing="0" width="100%"><tr><td class="headertl"></td><td class="headercenter"><p><img class="fulltextimage" src="images/window-close.png" align="right" onclick="closeWindow(\'' + windowId + '\')" />' + title + '</p></td><td class="headertr"></td></tr></table>';
	windowHeader.set('html', windowHeaderContent);
	windowMain.appendChild(windowHeader);
	
	if (options.isDialog && f(options.dialogAction) != "") {
		content += '<div class="buttons"><table cellspacing="0" width="100%"><tr><td>&nbsp;</td><td align="right" width="20" style="padding-right: 8px"><input type="submit" id="' + windowId + 'Click" class="windowbutton" value="' + gettext("Okay") + '" /></td><td align="right" width="20"><input type="button" onclick="closeWindow(\'' + windowId + '\')" class="windowbutton" value="' + gettext("Cancel") + '" /></td></tr></table></div>';
	} else if (options.isDismissible) {
		content += '<div class="buttons"><table cellspacing="0" width="100%"><tr><td>&nbsp;</td><td align="right"><input type="submit" id="' + windowId + 'Click" onclick="closeWindow(\'' + windowId + '\')" class="windowbutton" value="' + gettext("Okay") + '" /></td></tr></table></div>';
	}
	
	var windowInner = new Element('div');
	windowInner.className = 'fulltextinner';
	var innerContent = '<table cellspacing="0" width="100%"><tr><td class="mainl"></td><td class="maincenter"><div class="fulltextcontent" style="max-height: 400px">' + content + '</div>';
	
	if (!(options.isDialog || options.isDismissible)) {
		innerContent += '<div class="resizeHandle"><img src="images/window-resize.png" id="resize' + windowId + '"></div>';
	}
	
	innerContent += '</td><td class="mainr"></td></tr></table>';
	
	windowInner.set('html', innerContent);
	windowMain.appendChild(windowInner);
	textWindow.appendChild(windowMain);
	
	var windowFooter = new Element('div');
	windowFooter.className = 'fulltextfooter';
	var footerCode = '<table cellspacing="0" width="100%"><tr><td class="footerbl"></td><td class="footermiddle">&nbsp;</td><td class="footerbr"></td></tr></table>';
	windowFooter.set('html', footerCode);
	
	textWindow.appendChild(windowFooter);
	document.body.appendChild(textWindow);
	
	if (options.isDialog == true && f(options.dialogAction) != "") {
		var okayClick = $(windowId + 'Click');
		okayClick.addEvent("click", function() {
			closeWindow(windowId);
			eval(options.dialogAction);
		});
		okayClick.focus();
	} else if (options.isDismissible == true) {
		var okayClick = $(windowId + 'Click');
		okayClick.focus();
	} else if (!(options.isDialog || options.isDismissible)) {
		var resizeHandle = $('resize' + windowId);
		resizeHandle.addEvent("mousedown", startResize);
	}
	
	return windowId;
}

function show(a) {
	$(a).style.display = '';
}

function hide(a) {
	$(a).style.display = 'none';
}

function runKeyboardShortcuts(e) {
	var event = new Event(e);
	if (!((event.target.nodeName == "INPUT" && (event.target.type == "text" || event.target.type == "password")) || (event.target.nodeName == "TEXTAREA") || event.meta || event.control)) {
		if (event.key == "a") {
			checkAll();
		} else if (event.key == "n") {
			checkNone();
		} else if (event.key == "e") {
			if (sb.page == "browse.php" || sb.page == "structure.php" || sb.page == "users.php")
				editSelectedRows();
		} else if (event.key == "d") {
			if (sb.page == "structure.php")
				deleteSelectedColumns();
			else if (sb.page == "users.php")
				deleteSelectedUsers();
			else if (sb.page == "browse.php")
				deleteSelectedRows();
			else if (sb.page == "dboverview.php")
				dropSelectedTables();
		} else if (event.key == "r") {
			sb.loadPage();
		} else if (event.key == "f" && sb.page == "browse.php") {
			if ($('firstNav'))
				eval($('firstNav').get("onclick"));
		} else if (event.key == "g" && sb.page == "browse.php") {
			if ($('prevNav'))
				eval($('prevNav').get("onclick"));
		} else if (event.key == "h" && sb.page == "browse.php") {
			if ($('nextNav'))
				eval($('nextNav').get("onclick"));
		} else if (event.key == "l" && sb.page == "browse.php") {
			if ($('lastNav'))
				eval($('lastNav').get("onclick"));
		} else if (event.key == "q") {
			var tabId = 0;
			while (sb.getTabUrl(tabId) != "query.php") {
				tabId++;
			}
			topTabLoad(tabId);
			
			event.stop();
			event.stopPropagation();
		} else if (event.key == "o" && sb.page == "dboverview.php") {
			optimizeSelectedTables();
		}
		
	} else if (event.target.nodeName == "TEXTAREA" && event.control && event.key == "enter") {
		var curr = $(event.target);
		while (curr && curr.get('tag') != "form") {
			curr = $(curr.parentNode);
		}
		
		if (curr) {
			currButton = $E("input[type=submit]", curr);
			if (currButton) {
				currButton.click();
			}
		}
	}
}

function getWindowWidth() {
	if (window.innerWidth)
		return window.innerWidth;
	else
		return document.documentElement.clientWidth;
}

function getWindowHeight() {
	if (window.innerHeight)
		return window.innerHeight;
	else
		return document.documentElement.clientHeight;
}

function getScrollbarWidth() {
	
	var outer = new Element('div');
	outer.style.position = 'absolute';
	outer.style.top = '-1000px';
	outer.style.left = '-1000px';
	outer.style.width = '100px';
	outer.style.height = '50px';
	outer.style.overflow = 'hidden';
	
	var inner = new Element('div');
	inner.style.width = '100%';
	inner.style.height = '200px';
	
	outer.appendChild(inner);
	document.body.appendChild(outer);
	
	var w1 = inner.offsetWidth;
	outer.style.overflow = "auto";
	var w2 = inner.offsetWidth;
	
	document.body.removeChild(outer);
	
	return (w1 - w2);
};

function addAnimation(id, finish) {
	var elem = $(id);
	
	//remove duplicates
	for (var i in animationStack) {
		if (animationStack[i][0] == elem)
			animationStack.splice(i, 1);
	}
	
	var start = elem.offsetHeight;
	
	var change = finish - start;
	
	var totalFrames = 15;
	
	if (window.gecko)
		totalFrames -= 5;
	
	animationStack.push([elem, start, change, 0, totalFrames]);
	if (animationStack.length == 1)
		animate();
}

function animate() {
	var j, elem, start, change, currentFrame, totalFrames;
	for (var i = 0; i < animationStack.length; i++) {
		
		j = parseInt(i);
		
		elem = animationStack[j][0];
		start = animationStack[j][1];
		change = animationStack[j][2];
		animationStack[j][3] += 1;
		currentFrame = animationStack[j][3];
		totalFrames = animationStack[j][4];
		
		var newHeight = sineInOut(currentFrame, start, change, totalFrames);
		
		elem.style.height = newHeight + "px";
		
		if (currentFrame >= totalFrames) {
			animationStack.splice(j, 1);
			
			//if the menu is expanded, take off the explicit height attribute
			if (elem.style.height != "0px") {
				elem.style.height = '';
			}
		}
	}
	if (animationStack.length > 0)
		setTimeout('animate()', 25);
}

function sineInOut(t, b, c, d) {
	return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--