Major revamps to the template parser. Fixed a few security holes that could allow PHP to be injected in untimely places in TPL code. Improved Ux for XSS attempt in tplWikiFormat. Documented many functions. Backported much cleaner parser from 2.0 branch. Beautified a lot of code in the depths of the template class. Pretty much a small-scale Extreme Makeover.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_table_row_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/row.js"></script>
<link href="css/row.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body id="tablerow" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="updateAction();return false;">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
</ul>
</div>
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_table_general_props}</legend>
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td><label for="rowtype">{$lang_table_rowtype}</label></td>
<td class="col2">
<select id="rowtype" name="rowtype">
<option value="thead">{$lang_table_thead}</option>
<option value="tbody">{$lang_table_tbody}</option>
<option value="tfoot">{$lang_table_tfoot}</option>
</select>
</td>
</tr>
<tr>
<td><label for="align">{$lang_table_align}</label></td>
<td class="col2">
<select id="align" name="align">
<option value="">{$lang_not_set}</option>
<option value="center">{$lang_table_align_middle}</option>
<option value="left">{$lang_table_align_left}</option>
<option value="right">{$lang_table_align_right}</option>
</select>
</td>
</tr>
<tr>
<td><label for="valign">{$lang_table_valign}</label></td>
<td class="col2">
<select id="valign" name="valign">
<option value="">{$lang_not_set}</option>
<option value="top">{$lang_table_align_top}</option>
<option value="middle">{$lang_table_align_middle}</option>
<option value="bottom">{$lang_table_align_bottom}</option>
</select>
</td>
</tr>
<tr id="styleSelectRow">
<td><label for="class">{$lang_class_name}</label></td>
<td class="col2">
<select id="class" name="class">
<option value="" selected="selected">{$lang_not_set}</option>
</select>
</td>
</tr>
<tr>
<td><label for="height">{$lang_table_height}</label></td>
<td class="col2"><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
</tr>
</table>
</fieldset>
</div>
<div id="advanced_panel" class="panel">
<fieldset>
<legend>{$lang_table_advanced_props}</legend>
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="column1"><label for="id">{$lang_table_id}</label></td>
<td><input id="id" name="id" type="text" value="" style="width: 200px" /></td>
</tr>
<tr>
<td><label for="style">{$lang_table_style}</label></td>
<td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
</tr>
<tr>
<td class="column1"><label for="dir">{$lang_table_langdir}</label></td>
<td>
<select id="dir" name="dir" style="width: 200px">
<option value="">{$lang_not_set}</option>
<option value="ltr">{$lang_table_ltr}</option>
<option value="rtl">{$lang_table_rtl}</option>
</select>
</td>
</tr>
<tr>
<td class="column1"><label for="lang">{$lang_table_langcode}</label></td>
<td>
<input id="lang" name="lang" type="text" value="" style="width: 200px" />
</td>
</tr>
<tr>
<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
<td id="backgroundimagebrowsercontainer"> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
<td id="bgcolor_pickcontainer"> </td>
</tr>
</table>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
<div class="mceActionPanel">
<div>
<select id="action" name="action">
<option value="row">{$lang_table_row_row}</option>
<option value="odd">{$lang_table_row_odd}</option>
<option value="even">{$lang_table_row_even}</option>
<option value="all">{$lang_table_row_all}</option>
</select>
</div>
<div style="float: left">
<div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
</div>
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>