Python, C++, and C#. Other than "official" programming languages I also know HTML, CSS, Javascript, and DHTML. I also know how to program solely in macros (this is a rather new thing) and combine web based programming in Javascript. I'm working on PHP and MY SQL database programming as well.
EDIT: Here's part of the main LBT Server code. I haven't shown this to anyone yet. It combines macro database and Javascript programming:
- Code: on
<title>Drop-Down Menu</title>
<meta name="keywords" content="">
<meta name="description" content="">
<link rel="stylesheet" type="text/css" href="http://www.lbtserver.2myip.net/html/default.css">
<!-- dd menu -->
<script type="text/javascript">
<!--
var timeout = 6000;
var closetimer = 0;
var ddmenuitem = 0;
// open hidden layer
function mopen(id)
{
// cancel close timer
mcancelclosetime();
// close old layer
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
// get new layer and show it
ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';
}
// close showed layer
function mclose()
{
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}
// go close timer
function mclosetime()
{
closetimer = window.setTimeout(mclose, timeout);
}
// cancel close timer
function mcancelclosetime()
{
if(closetimer)
{
window.clearTimeout(closetimer);
closetimer = null;
}
}
// close layer when click-out
document.onclick = mclose1;
// -->
</script>
</head>
<body>
{.if|{.get|can delete.}|
<div class="centerme">
<ul id="sddm" style="position:fixed; top:10px; right:1px;">
<li><a href="#" onmouseover="mopen('m1')" onmouseout="mclosetime()">Member Tools</a>
<div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
<form method='get'>
{.if|{.get|can upload. can delete.}|
<input class="formInput" type='text' alt="Type File/Folder Name" name='fldname' maxlength="100" size="23" value="{.!Type File/Folder Name.}" onclick="if(this.value=='{.!Type File/Folder Name.}')this.value=''"/>
<input class="toolsbutton" type='submit' name='createfolder' value='Create Folder' >
/if.}
</form>
<br>
<form method='get'>
{.if|{.get|can upload. can delete.}|
<input class="formInput" type='text' alt="Type File/Folder Name" name='fldname' maxlength="100" size="23" value="{.!Type File/Folder Name.}" onclick="if(this.value=='{.!Type File/Folder Name.}')this.value=''"/>
<input class="toolsbutton" type='submit' name='deletefolder' value='Delete File/Folder' >
/if.}
</form>
<br>
<form method='get'>
{.if|{.get|can upload.}|
<input class="formInput" type='text' name='oldname' maxlength="50" size="8" value="Old Name.." onclick="if(this.value=='Old Name..')this.value=''"/>
<input class="formInput" type='text' name='newname' maxlength="50" size="8" value="New Name.." onclick="if(this.value=='New Name..')this.value=''"/>
<input type='submit' name='renamefile' value='Rename File/Folder' class="toolsbutton">
/if.}
</form>
<br>
<a href="/~changepass" onclick="window.open('/~changepass','popup','width=500,height=250,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">Change My Password</a>
<a href="http://www.lbtserver.2myip.net/stream/pages/notworking.html" onclick="window.open('http://www.lbtserver.2myip.net/stream/pages/notworking.html','popup','width=500,height=250,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><font color="red">Having Trouble?</font></a>
<a href="http://lbtserver.2myip.net/html/removetools.html" onclick="window.open('http://lbtserver.2myip.net/html/removetools.html','popup','width=500,height=150,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false">Close This Menu</a></div>
</div>
</li>
</ul>
<div style="clear:both"></div>
<div style="clear:both"></div>
/if.}
</body>
</html>
<div id="mainOuter">
<div id="mainInner"><div id="mainInner1"><div id="mainInner2"><div id="mainInner3">
<div id="header">
<div><div id="bCrumbs">{.breadcrumbs|{:<a href="%bread-url%">{.or|%bread-name%|{.!lv_home.}.}/</a>:}.}</div></div></div>
</div>
<div id="content">
<div id="navbar">
{.if not|%user%|<div class="bigBtn"><a href="/~adminpanel"><span>{.!Admin Panel.}</span></a></div>.}
{.if |%user%|<div class="bigBtn"><a href="/~adminpanel"><span>{.!Admin Panel.}</span></a></div>.}
{.if not|%user%|<div class="bigBtn"><a href="http://www.emailmeform.com/fid.php?formid=309862" target="_blank"><span>{.!Contact Admin.}</span></a></div>.}
{.if |%user%|<div class="bigBtn"><a href="http://www.emailmeform.com/fid.php?formid=309862" target="_blank"><span>{.!Contact Admin.}</span></a></div>.}
{.if not|%user%|<div class="bigBtn"><a href="~login"><span>{.!lv_login.}</span></a></div>.}
<div class="bigBtn">
<a href="javascript:openTransfers()" class="hide"><span>{.!View Progress.}</span></a>
<noscript><a href="/~progress" target="_blank"><span>{.!lv_transfers.}</span></a></noscript>
</div>
{.if | %user% |<div class="bigBtn"><a href="/~changepass" onclick="window.open('/~changepass','popup','width=500,height=250,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false" title="{.!Change Password.}"><span>{.!Change Password.}</span></a></div>.}
{.if|{.get|can upload.}|<div class="bigBtn"><a href="~upload" title="{.!lv_uploadTitle.}"><span>{.!lv_upload.}</span></a></div>.}
{.if|{.{.!btn_back.}=on.}|{.if not|{.%folder%=/ .}|<div id="backBtn"><a href=".."><span>{.!lv_back.}</span></a></div>.}.}
</div>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td width="100%" valign="top" id="tableCol">
%folder-comment%
{.$files.}
</td>
{.if|{.match|{.!mod_folder_tasks.};{.!mod_statistics.};{.!mod_shoutbox.}|on.}|
<td width="175" valign="top" id="moduleCol">
<span id="specialBox"></span>
{.if|{.match|127.*;10.*;192.168.*|%ip%.}|
<div class="module">
<div class="modHeading">
<span><img src="/template/images/spacer.gif" width="8" align="top" alt=""/></span>
{.!lv_check.}
</div>
<div class="modContent">
{.if|{.?updates.}|
{:
{.set|new_build|{.load|/updater.php?project=template&ext=.txt.}.}
<span>[{.!build.}]</span>{.!lv_currentBuild.}:<br/>
<span>[{.^new_build.}]</span>{.!lv_latestBuild.}:
<div class="divide">
<center>
<a href="?page=template" target="_blank">
-
{.if|{.{.^new_build.}={.!build.}.}|{.!lv_homepage.}|{.!lv_download.} {.^new_build.}.}
-
</a>
</center>
</div>
:}
|<center><a href="http://%host%%encoded-folder%?updates=1">- {.!lv_checkNow.} -</a></center>.}
</div>
</div>
.}
{.if|{.{.!mod_folder_tasks.}=on.}|
<div class="module">
<div class="modHeading">
<span>
<a href="javascript:pinModule('Folder_Tasks')" id="Folder_Tasks_Link" title="{.!lv_hideTitle.}"><img
class="hide" src="/template/{.!theme.}/images/hide.gif" align="top" alt=""/>
<noscript><img src="/template/images/spacer.gif" width="8" align="top" alt=""/></noscript>
</a>
</span>
{.!Folder Options.}
</div>
<div class="modContent" id="Folder_Tasks">
Search
{.if|{.{.!mod_search.}=on.}|
<form action="/" name="simpleSearch" method="get">
<input class="formInput" type="text" name="search" size="13" maxlength="32" value="{.$search-data.}" onclick="if(this.value=='{.$search-data.}')this.value=''"/>
<input type="submit" value="Go"/>
</form>
<a href="javascript:initPreviewBox('specialBox','search')" class="hide">{.!lv_advSearch.}</a>
.}
{.if|%number%|
<div {.if|{.{.!mod_search.}=on.}|class="divide".}>
{.!lv_sortBy.}:<br/>
<a href="{.get|url|sort=t|rev={.and|{.?sort=t.}|{.not|{.?rev.}.}.}.}">{.!lv_age.}</a>,
<a href="{.get|url|sort=d|rev={.and|{.?sort=d.}|{.not|{.?rev.}.}.}.}">{.!lv_hits.}</a>,
<a href="{.get|url|sort=n|rev={.and|{.?sort=n.}|{.not|{.?rev.}.}.}.}">{.!lv_name.}</a>,
<a href="{.get|url|sort=s|rev={.and|{.?sort=s.}|{.not|{.?rev.}.}.}.}">{.!lv_size.}</a>,
<a href="{.get|url|sort=e|rev={.and|{.?sort=e.}|{.not|{.?rev.}.}.}.}">{.!lv_type.}</a>
</div>
<div class="divide">
<span>[%number-files%]</span>{.!lv_files.}:<br/>
<span>[%number-folders%]</span>{.!lv_folders.}:<br/>
<span>[%number%]</span>{.!lv_totalObjects.}:<br/>
<span>[%total-size%]</span>{.!lv_totalSize.}:
</div>
<div class="divide">
ï<a href="?tpl=list&folders-filter=%5C{.if|{.get|can recur.}|&recursive.}" target="_blank" title="{.!lv_fileListingTitle.}"> {.!lv_fileListing.}</a>
{.if|{.get|can archive.}|<br/> ï<a href="%folder%~folder.tar{.if|{.get|can recur.}|?recursive.}" title="{.!lv_archiveTitle.}"> {.!lv_archive.}</a>.}
{.if|{.get|can upload.}|<br/> ï<a href="~upload" title="{.!lv_uploadTitle.}"> {.!lv_upload.}</a>.}
</div>
.}
</div>
</div>
.}
{.if|{.{.!mod_statistics.}=on.}|
<div class="module">
<div class="modHeading">
<span>
<a href="javascript:pinModule('Statistics')" id="Statistics_Link" title="{.!lv_hideTitle.}"><img
class="hide" src="/template/{.!theme.}/images/hide.gif" align="top" alt=""/>
<noscript><img src="/template/images/spacer.gif" width="8" align="top" alt=""/></noscript>
</a>
</span>
{.!lv_statistics.}
</div>
<div class="modContent" id="Statistics">
<div id="stats">{.$stats.}</div>
{.if|{.{.!sym_ip.}=on.}|<br/><span>[%ip%]</span>{.!lv_yourIp.}:<br/>.}
Oh and don't go trying to use this. This is only a VERY SMALL part of the main code. It wouldn't do much of anything but crash your browser if you ran it. This is just the code for the member tools and a few other little things.