Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Wed, Feb 12, 10:02 AM

in-portal

Index: branches/RC/themes/default2009/platform/inc/script.js
===================================================================
--- branches/RC/themes/default2009/platform/inc/script.js (revision 11871)
+++ branches/RC/themes/default2009/platform/inc/script.js (revision 11872)
@@ -1,134 +1,223 @@
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };
function update_checkbox(cb, cb_hidden) {
cb_hidden.value = cb.checked ? 1 : 0;
}
function redirect($url) {
window.location.href = $url;
}
function open_window($url, $window_name, $width, $height) {
window.open($url, $window_name, 'width='+$width+',height='+$height+',resizable=yes');
return false;
}
function addLoadEvent(func, wnd) {
if (!wnd) wnd = window
var oldonload = wnd.onload;
if (typeof wnd.onload != 'function') {
wnd.onload = func;
} else {
wnd.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
function addEvent(el, evname, func, traditional) {
if (traditional) {
eval('el.on'+evname+'='+func);
return;
}
if (document.all) {
el.attachEvent("on" + evname, func);
} else {
el.addEventListener(evname, func, true);
}
};
// ItemCategories class
function ItemCategories($table_id, $field_id, $primary_category, $phrases) {
this.CategoryTable = document.getElementById($table_id);
this.CategorySelector = document.getElementById($field_id + '_select');
this.MoreCategoriesField = document.getElementById($field_id);
this.PrimaryCategory = $primary_category;
this.Phrases = $phrases;
// get additional categories from item
if (this.MoreCategoriesField.value.length) {
this.MoreCategories = this.MoreCategoriesField.value;
this.MoreCategories = this.MoreCategories.substring(1, this.MoreCategories.length - 1).split('|');
}
else {
this.MoreCategories = new Array ();
}
}
ItemCategories.prototype.AddCategory = function($separator, $delete_button, $max_categories) {
var $category_id = this.CategorySelector.options[this.CategorySelector.selectedIndex].value;
var $category_name = this.CategorySelector.options[this.CategorySelector.selectedIndex].innerHTML.trim();
if ((this.SearchCategory($category_id) !== false) || ($category_id == this.PrimaryCategory) || ($category_id == 0)) {
// don't add same category twice & don't allow to add item's primary category
alert(this.Phrases[1]);
return ;
}
if ((this.MoreCategories.length + 2) > $max_categories)
{
// don't add more category - $max_categories limit
alert(this.Phrases[0]);
return ;
}
// strip trailing HTML spaces & separator
var $separator_pos = $category_name.indexOf($separator);
if ($separator_pos != -1) {
$category_name = $category_name.substring($separator_pos + $separator.length);
}
var $row = this.CategoryTable.insertRow(-1);
$row.id = 'category_' + $category_id;
var $cell = $row.insertCell(-1);
$cell.innerHTML = $category_name;
$cell = $row.insertCell(-1);
$cell.innerHTML = $delete_button.replace(/#CATEGORY_ID#/g, $category_id);
this.MoreCategories.push($category_id);
this.updateMoreCategoriesField();
}
ItemCategories.prototype.SearchCategory = function($category_id) {
var $i = 0;
while ($i < this.CategoryTable.rows.length) {
if (this.CategoryTable.rows[$i].id == 'category_' + $category_id) {
return $i;
}
$i++;
}
return false;
}
ItemCategories.prototype.DeleteCategory = function($category_id) {
var $row_index = this.SearchCategory($category_id);
if ($row_index !== false) {
this.CategoryTable.deleteRow($row_index);
var $i = 0;
while ($i < this.MoreCategories.length) {
if (this.MoreCategories[$i] == $category_id) {
this.MoreCategories.splice($i, 1);
break;
}
$i++;
}
this.updateMoreCategoriesField();
}
}
ItemCategories.prototype.updateMoreCategoriesField = function() {
this.MoreCategoriesField.value = this.MoreCategories.length ? '|' + this.MoreCategories.join('|') + '|' : '';
}
-function jq(myid) {
- return '#'+myid.replace(/:/g,"\\:").replace(/\./g,"\\.");
+function jq($selector) {
+ return $selector.replace(/(\[|\]|\.|:)/g, '\\$1');
}
+
+function MultiLanguageSelector($language_info, $current_language) {
+ this._languageInfo = $language_info;
+ this._currentLanguage = $current_language;
+ this._controls = new Array ();
+
+ var $me = this;
+
+ $(document).ready(
+ function() {
+ $me.init();
+ }
+ );
+}
+
+MultiLanguageSelector.prototype.init = function () {
+ var $i = 0;
+ var $me = this;
+
+ while ($i < this._controls.length) {
+ // set current language
+ $( jq('#' + this._controls[$i]) ).data('PrevLanguage', this._currentLanguage);
+
+ for (var $language_id in this._languageInfo) {
+ var $id = this.inputForLanguage(this._controls[$i], $language_id);
+
+ $( jq('#' + $id + '_flag') ).each(
+ function() {
+ $(this)
+ .data('MainControl', $me._controls[$i])
+ .data('ThisLanguage', $language_id)
+ .click(
+ function ($event) {
+ var $this_flag = $(this);
+ var $this_language = $this_flag.data('ThisLanguage');
+
+ var $main_control = $('#' + jq($this_flag.data('MainControl')) );
+
+ var $prev_language = $main_control.data('PrevLanguage');
+ var $prev_flag = $( jq('#' + $me.inputForLanguage($main_control.attr('id'), $prev_language) + '_flag') );
+
+ var $language_info;
+
+ if ($this_language != $prev_language) {
+ // hide prev language input + enable it's flag
+ var $prev_image = $prev_flag.children('img:first');
+ if ($prev_image.length) {
+ // found image for given language
+ $language_info = $me._languageInfo[$prev_language];
+ $prev_image.attr('src', $prev_image.attr('src').replace($language_info.off, $language_info.on));
+ }
+ $( jq('#' + $prev_flag.attr('id').replace(/_flag$/, '_input') ) ).hide();
+
+ // show this language input + disable it's flag
+ var $this_image = $this_flag.children('img:first');
+ if ($this_image.length) {
+ // found image for given language
+ $language_info = $me._languageInfo[$this_language];
+ $this_image.attr('src', $this_image.attr('src').replace($language_info.on, $language_info.off));
+ }
+ var $this_container = $( jq('#' + $this_flag.attr('id').replace(/_flag$/, '_input') ) );
+ $this_container.show();
+
+ // focus on shown control
+ $('input:first, textarea:first', $this_container).focus();
+
+ // remember last used language
+ $main_control.data('PrevLanguage', $this_language);
+ }
+
+ $event.preventDefault();
+ }
+ );
+ }
+ );
+ }
+
+ $i++;
+ }
+}
+
+MultiLanguageSelector.prototype.inputForLanguage = function ($control_id, $language_id) {
+ return $control_id.replace('l' + this._currentLanguage + '_', 'l' + $language_id + '_');
+}
+
+MultiLanguageSelector.prototype.registerControl = function ($id) {
+ this._controls.push($id);
+}
+
Index: branches/RC/themes/default2009/platform/elements/html_head.elm.tpl
===================================================================
--- branches/RC/themes/default2009/platform/elements/html_head.elm.tpl (revision 11871)
+++ branches/RC/themes/default2009/platform/elements/html_head.elm.tpl (revision 11872)
@@ -1,24 +1,31 @@
<!--## Meta Info (Keywords and Description) ##-->
<meta http-equiv="Content-Type" content="text/html; charset=<inp2:lang.current_Field name="Charset"/>" />
<meta name="Description" content="<inp2:st_PageInfo type="meta_description"/>" />
<meta name="Keywords" content="<inp2:st_PageInfo type="meta_keywords"/>" />
<!--## /Meta Keywords and Description ##-->
<inp2:theme.current_StylesheetFile/>
<link rel="stylesheet" href="<inp2:m_TemplatesBase module='In-Portal'/>inc/jquery/thickbox/thickbox.css" type="text/css" media="screen" />
<link rel="stylesheet" rev="stylesheet" href="<inp2:m_TemplatesBase module='In-Portal'/>inc/styles.css" type="text/css" />
<script type="text/javascript" src="<inp2:m_TemplatesBase module='In-Portal'/>inc/script.js"></script>
<script type="text/javascript" src="<inp2:m_TemplatesBase module='In-Portal'/>inc/ajax.js"></script>
<script type="text/javascript" src="<inp2:m_TemplatesBase module='In-Portal'/>inc/calendar.js"></script>
<script type="text/javascript">var inportalBase = '<inp2:m_TemplatesBase module="In-Portal"/>';</script>
<script type="text/javascript" src="<inp2:m_TemplatesBase module='In-Portal'/>inc/jquery/jquery.pack.js"></script>
<script type="text/javascript" src="<inp2:m_TemplatesBase module='In-Portal'/>inc/jquery/thickbox/thickbox.js"></script>
<script type="text/javascript">
var aRatingManager = new RatingManager('<inp2:m_Link template="index" events[#PREFIX#]="OnMakeVote" rating="#VOTE#" id="#ID#" no_amp="1" size="#SIZE#"/>');
-</script>
\ No newline at end of file
+
+ <inp2:m_DefineElement name="ml_selector_language_element">
+ <inp2:Field name="LanguageId"/>: {'on': '<inp2:Field name="IconURL" js_ecape="1"/>', 'off': '<inp2:Field name="IconDisabledURL" js_ecape="1"/>'}
+ <inp2:m_ifnot check="m_Param" name="is_last">,</inp2:m_ifnot>
+ </inp2:m_DefineElement>
+
+ var aMultiLanguageSelector = new MultiLanguageSelector({<inp2:lang.enabled_PrintList render_as="ml_selector_language_element" per_page="-1" strip_nl="2"/>}, <inp2:m_Get name="m_lang"/>);
+</script>
Index: branches/RC/themes/default2009/platform/elements/forms.elm.tpl
===================================================================
--- branches/RC/themes/default2009/platform/elements/forms.elm.tpl (revision 11871)
+++ branches/RC/themes/default2009/platform/elements/forms.elm.tpl (revision 11872)
@@ -1,440 +1,514 @@
<inp2:m_DefineElement name="error_message">
<table class="warning-message fullwidth">
<tr>
<td width="30">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/warning_icon.gif" width="21" height="18" alt=""/>
</td>
<td>
<inp2:m_phrase name="lu_Warning"/>
</td>
</tr>
</table>
<br />
<inp2:m_phrase name="lu_AProblemInForm"/><br />
</inp2:m_DefineElement>
<inp2:m_DefineElement name="subsection" break="1">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
<div class="sub-section-header"><inp2:m_Phrase label="$title"/></div>
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
<inp2:m_if check="m_Param" name="break">
<br/>
</inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_buttons" width="default">
<tr>
<td colspan="2">
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/grey_pix.gif" width="100%" height="1" align="absmiddle" alt="" />
</td>
</tr>
<tr>
<td style="width: <inp2:m_if check="m_ParamEquals" name="width" value="default">140<inp2:m_else/><inp2:m_Param name="width"/></inp2:m_if>px">&nbsp;
</td>
<td>
<br />
<inp2:m_Param name="content"/>
<br /><br />
</td>
</tr>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_field_separator" no_editing="1" is_last="0">
<inp2:m_if check="m_ParamEquals" name="is_last" value="0">
<tr>
<td colspan="2">
<div class="horizontal-separator"><img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="3" height="1" alt=""/><br /></div>
</td>
</tr>
</inp2:m_if>
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="inp_edit_field_caption" no_editing="1" title="">
+<inp2:m_DefineElement name="inp_edit_field_caption" no_editing="1" additional_render_as="" title="">
<inp2:m_inc param="tab_index" by="1"/>
<td class="field-name" nowrap>
<inp2:m_if check="m_Param" name="title">
- <label for="<inp2:{$prefix}_InputName field="$field"/>">
+ <label for="<inp2:{$prefix}_InputName field='$field'/>">
<span <inp2:m_if check="{$prefix}_HasError" field="$field">class="field-required"</inp2:m_if>>
<inp2:m_phrase label="$title"/></span><inp2:m_if check="{$prefix}_IsRequired" field="$field"><span class="field-required"> *</span></inp2:m_if>:
</label>
+ <inp2:m_if check="m_Param" name="additional_render_as">
+ <inp2:m_RenderElement name="$additional_render_as" pass_params="1"/>
+ </inp2:m_if>
<inp2:m_else/>
&nbsp;
</inp2:m_if>
</td>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_label" as_label="" currency="" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td valign="top" class="field-value">
<inp2:{$prefix}_Field field="$field" as_label="$as_label" currency="$currency"/>
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_label" as_label="" currency="" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td valign="top" class="field-value">
<inp2:{$prefix}_Field field="$field" as_label="$as_label" currency="$currency"/>
<input type="hidden" name="<inp2:{$prefix}_InputName field="$field"/>" value="<inp2:{$prefix}_Field field="$field" db="db"/>" />
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_box" style="" maxlength="" no_editing="1" is_last="0" title="">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td class="field-value">
<inp2:m_if check="{$prefix}_HasError" field="$field">
<span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br />
</inp2:m_if>
<input type="text" class="input-text" name="<inp2:{$prefix}_InputName field="$field"/>" value="<inp2:{$prefix}_Field field="$field"/>" tabindex="<inp2:m_get param="tab_index"/>" maxlength="<inp2:m_param name="maxlength"/>" style="<inp2:m_param name="style"/>">
<inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if>
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="inp_edit_box_ml">
+<inp2:m_DefineElement name="ml_input_element">
<inp2:Field name="LanguageId" result_to_var="language_id"/>
- <inp2:m_if check="SelectedLanguage">
- <inp2:m_RenderElement name="inp_edit_box" field="l{$language_id}_{$field}" title="{$title}" prefix="{$prefix}" style="{$style}" />
- <inp2:m_else/>
- <inp2:Field name="PackName" result_to_var="language_name"/>
- <inp2:m_RenderElement name="inp_edit_box" field="l{$language_id}_{$field}" title="{$title}_{$language_name}" prefix="{$prefix}" style="{$style}" />
- <inp2:m_if check="IsPrimaryLanguageInList">
- <inp2:m_if check="{$prefix}_IsRequired" field="$field">
- <input type="hidden" name="<inp2:{$prefix}_FieldModifier name="l{$language_id}_{$field}" type="required"/>" value="1"/>
+
+ <div id="<inp2:{$prefix}_InputName field="l{$language_id}_{$field}"/>_input"<inp2:m_ifnot check="{$prefix}_LanguageVisible" field="l{$language_id}_{$field}"> style="display: none;"</inp2:m_ifnot>>
+ <inp2:m_if check="{$prefix}_HasError" field="l{$language_id}_{$field}">
+ <span class="field-error"><inp2:{$prefix}_Error field="l{$language_id}_{$field}"/></span><br/>
+ </inp2:m_if>
+
+ <div style="float: left; height: 15px; vertical-align: top; width: auto;">
+ <input type="text" class="input-text" name="<inp2:{$prefix}_InputName field='l{$language_id}_{$field}'/>" id="<inp2:{$prefix}_InputName field='l{$language_id}_{$field}'/>" value="<inp2:{$prefix}_Field field='l{$language_id}_{$field}' format='no_default'/>" tabindex="<inp2:m_get param='tab_index'/>" maxlength="<inp2:m_param name='maxlength'/>" style="<inp2:m_param name='style'/>">
+ </div>
+
+ <div style="float: left; margin-left: 3px; height: 15px; vertical-align: top; width: auto;">
+ <inp2:m_if check="Field" name="IconURL">
+ <img src="<inp2:m_TemplatesBase module='In-Portal'/>img/language_icons/<inp2:Field name='IconURL'/>" alt="<inp2:Field name='LocalName' html_escape='1'/>" border="0"/>
+ <inp2:m_else/>
+ <inp2:Field name="LocalName"/>
+ </inp2:m_if>
+ </div>
+ </div>
+ <div style="clear: both;"></div>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="field_language_element">
+ <inp2:Field name="LanguageId" result_to_var="language_id"/>
+ <a href="#" id="<inp2:{$prefix}_InputName field="l{$language_id}_{$field}"/>_flag">
+ <inp2:m_if check="Field" name="IconURL">
+ <inp2:m_if check='SelectedLanguage'>
+ <img src="<inp2:m_TemplatesBase module='In-Portal'/>img/language_icons/<inp2:Field name='IconDisabledURL'/>" alt="<inp2:Field name='LocalName' html_escape='1'/>" border="0"/>
+ <inp2:m_else/>
+ <img src="<inp2:m_TemplatesBase module='In-Portal'/>img/language_icons/<inp2:Field name='IconURL'/>" alt="<inp2:Field name='LocalName' html_escape='1'/>" border="0"/>
</inp2:m_if>
+ <inp2:m_else/>
+ <inp2:Field name="LocalName"/>
</inp2:m_if>
- </inp2:m_if>
+ </a>
+ <inp2:m_ifnot check="m_Param" name="is_last"> </inp2:m_ifnot>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="field_languages_element">
+ <inp2:m_ifnot check="{$prefix}_HasLanguageError" field="$field">
+ <br/>
+ <inp2:lang.enabled_PrintList render_as="field_language_element" pass_params="1" strip_nl="2"/>
+ </inp2:m_ifnot>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="inp_edit_box_ml" style="" maxlength="" no_editing="1" is_last="0" title="">
+ <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" additional_render_as="field_languages_element" field="$field" title="$title"/>
+ <td class="field-value">
+ <inp2:lang.enabled_PrintList render_as="ml_input_element" pass_params="1"/>
+
+ <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if>
+ </td>
+ </tr>
+ <script type="text/javascript">
+ <inp2:m_Get name="m_lang" result_to_var="current_language"/>
+ aMultiLanguageSelector.registerControl('<inp2:{$prefix}_InputName field="l{$current_language}_{$field}"/>');
+ </script>
+ <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_password" style="" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td class="field-value">
<inp2:m_if check="{$prefix}_HasError" field="$field">
<span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br />
</inp2:m_if>
<input type="password" class="input-text" name="<inp2:{$prefix}_InputName field="$field"/>" id="<inp2:{$prefix}_InputName field="$field"/>" value="" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>" />
<inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if>
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_upload" style="" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td class="field-value">
<inp2:m_if check="{$prefix}_HasError" field="$field">
<span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br />
</inp2:m_if>
<input type="file" name="<inp2:{$prefix}_InputName field="$field"/>" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>">
<inp2:m_if check="{$prefix}_FieldEquals" name="$field" value="" inverse="inverse">
(<inp2:{$prefix}_Field field="$field"/>)
</inp2:m_if>
<input type="hidden" name="<inp2:{$prefix}_InputName field="$field"/>[upload]" value="<inp2:{$prefix}_Field field="$field"/>" />
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_image_upload" style="" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td class="field-value">
<inp2:m_if check="{$prefix}_HasError" field="$field">
<span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br />
</inp2:m_if>
<inp2:m_if check="{$prefix}_Field" name="$field">
<a href="<inp2:{$prefix}_ImageSrc field="$field" MaxWidth="fullsize"/>" target="_blank">
<inp2:{$prefix}_Image field="$field" render_as="image_element" DefaultImage="platform/img/no_picture.gif" MaxWidth="thumbnail" align="absmiddle"/>
</a>
<br />
<table cellpadding="0" cellspacing="0" style="margin-top: 3px; margin-bottom: 3px;">
<tr>
<td>
<input type="hidden" id="<inp2:{$prefix}_InputName field="Delete{$field}"/>" name="<inp2:{$prefix}_InputName field="Delete{$field}"/>" value="0" />
<input type="checkbox" id="_cb_<inp2:{$prefix}_InputName field="Delete{$field}"/>" onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field="Delete{$field}"/>'));">
</td>
<td style="padding-left: 3px;">
<label for="_cb_<inp2:{$prefix}_InputName field="Delete{$field}"/>"><inp2:m_phrase name="lu_btn_DeleteImage"/></label>
</td>
</tr>
</table>
</inp2:m_if>
<input type="file" name="<inp2:{$prefix}_InputName field="$field"/>" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>">
<input type="hidden" name="<inp2:{$prefix}_InputName field="$field"/>[upload]" value="<inp2:{$prefix}_Field field="$field"/>" /><br />
<input type="text" name="<inp2:{$prefix}_InputName field="{$field}Alt"/>" value="<inp2:{$prefix}_Field field='{$field}Alt'/>" style="<inp2:m_param name="style"/>">
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_file_upload" style="" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td class="field-value">
<inp2:m_if check="{$prefix}_HasError" field="$field">
<span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br />
</inp2:m_if>
<inp2:m_if check="{$prefix}_Field" name="$field">
<a href="<inp2:{$prefix}_DownloadFileLink field="$field"/>">
<inp2:{$prefix}_Field name="$field"/>
</a>
<br />
<table cellpadding="0" cellspacing="0">
<tr>
<td>
<input type="hidden" id="<inp2:{$prefix}_InputName field="Delete{$field}"/>" name="<inp2:{$prefix}_InputName field="Delete{$field}"/>" value="0" />
<input type="checkbox" id="_cb_<inp2:{$prefix}_InputName field="Delete{$field}"/>" onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field="Delete{$field}"/>'));">
</td>
<td>
<label for="_cb_<inp2:{$prefix}_InputName field="Delete{$field}"/>"><inp2:m_phrase name="lu_btn_DeleteFile"/></label>
</td>
</tr>
</table>
</inp2:m_if>
<input type="file" name="<inp2:{$prefix}_InputName field="$field"/>" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>">
<input type="hidden" name="<inp2:{$prefix}_InputName field="$field"/>[upload]" value="<inp2:{$prefix}_Field field="$field"/>" />
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_hidden" db="">
<input type="hidden" name="<inp2:{$prefix}_InputName field="$field"/>" id="<inp2:{$prefix}_InputName field="$field"/>" value="<inp2:{$prefix}_Field field="$field" db="$db"/>" />
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_date" style="" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td class="field-value">
<inp2:m_if check="{$prefix}_HasError" field="$field">
<span class="field-error"><inp2:{$prefix}_Error field="{$field}_date"/></span><br />
</inp2:m_if>
<input type="text" class="input-text" name="<inp2:{$prefix}_InputName field="{$field}_date"/>" id="<inp2:{$prefix}_InputName field="{$field}_date"/>" value="<inp2:{$prefix}_Field field="{$field}_date" format="_regional_InputDateFormat"/>" tabindex="<inp2:m_get param="tab_index"/>" size="<inp2:{$prefix}_Format field="{$field}_date" input_format="1" edit_size="edit_size"/>" style="<inp2:m_param name="style"/>" datepickerIcon="<inp2:m_TemplatesBase module="In-Portal"/>img/calendar_icon.gif">&nbsp;<span class="small">(<inp2:{$prefix}_Format field="{$field}_date" input_format="1" human="true"/>)</span>
<script type="text/javascript">
initCalendar("<inp2:{$prefix}_InputName field="{$field}_date"/>", "<inp2:{$prefix}_Format field="{$field}_date" input_format="1"/>");
</script>
<input type="hidden" name="<inp2:{$prefix}_InputName field="{$field}_time"/>" id="<inp2:{$prefix}_InputName field="{$field}_time" input_format="1"/>" value="" />
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_time" style="" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table-color1" even="table-color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td class="field-value">
<inp2:m_if check="{$prefix}_HasError" field="$field">
<span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br />
</inp2:m_if>
<input type="text" name="<inp2:{$prefix}_InputName field="{$field}_time"/>" id="<inp2:{$prefix}_InputName field="{$field}_time"/>" value="<inp2:{$prefix}_Field field="{$field}_time" format="_regional_InputTimeFormat"/>" tabindex="<inp2:m_get param="tab_index"/>" size="<inp2:{$prefix}_Format field="{$field}_time" input_format="1" edit_size="edit_size"/>" style="<inp2:m_param name="style"/>">&nbsp;
<span class="small">(<inp2:{$prefix}_Format field="{$field}_time" input_format="1" human="true"/>)</span>
<input type="hidden" name="<inp2:{$prefix}_InputName field="{$field}_date"/>" id="<inp2:{$prefix}_InputName field="{$field}_date" input_format="1"/>" value="" />
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_date_time" style="" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td class="field-value">
<inp2:m_if check="{$prefix}_HasError" field="$field">
<span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br />
</inp2:m_if>
<input type="text" name="<inp2:{$prefix}_InputName field="{$field}_date"/>" id="<inp2:{$prefix}_InputName field="{$field}_date"/>" value="<inp2:{$prefix}_Field field="{$field}_date" format="_regional_InputDateFormat"/>" tabindex="<inp2:m_get param="tab_index"/>" size="<inp2:{$prefix}_Format field="{$field}_date" input_format="1" edit_size="edit_size"/>" style="<inp2:m_param name="style"/>" datepickerIcon="<inp2:m_ProjectBase/>core/admin_templates/img/calendar_icon.gif">
<span class="small">(<inp2:{$prefix}_Format field="{$field}_date" input_format="1" human="true"/>)</span>
<script type="text/javascript">
initCalendar("<inp2:{$prefix}_InputName field="{$field}_date"/>", "<inp2:{$prefix}_Format field="{$field}_date" input_format="1"/>");
</script>
&nbsp;<input type="text" name="<inp2:{$prefix}_InputName field="{$field}_time"/>" id="<inp2:{$prefix}_InputName field="{$field}_time"/>" value="<inp2:{$prefix}_Field field="{$field}_time" format="_regional_InputTimeFormat"/>" tabindex="<inp2:m_get param="tab_index"/>" size="<inp2:{$prefix}_Format field="{$field}_time" input_format="1" edit_size="edit_size"/>" style="<inp2:m_param name="style"/>"><span class="small"> (<inp2:{$prefix}_Format field="{$field}_time" input_format="1" human="true"/>)</span>
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_textarea" style="" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td class="field-value">
<inp2:m_if check="{$prefix}_HasError" field="$field">
<span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br />
</inp2:m_if>
<textarea class="input-textarea" tabindex="<inp2:m_get param="tab_index"/>" name="<inp2:{$prefix}_InputName field="$field"/>" cols="<inp2:m_param name="cols"/>" rows="<inp2:m_param name="rows"/>" style="<inp2:m_param name="style"/>"><inp2:{$prefix}_Field field="$field"/></textarea>
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="inp_edit_textarea_ml">
+<inp2:m_DefineElement name="ml_textarea_element">
<inp2:Field name="LanguageId" result_to_var="language_id"/>
- <inp2:m_if check="SelectedLanguage">
- <inp2:m_RenderElement name="inp_edit_textarea" field="l{$language_id}_{$field}" title="{$title}" prefix="{$prefix}" is_last="{$is_last}" style="{$style}" cols="{$cols}" rows="{$rows}"/>
- <inp2:m_else/>
- <inp2:Field name="PackName" result_to_var="language_name"/>
- <inp2:m_RenderElement name="inp_edit_textarea" field="l{$language_id}_{$field}" title="{$title}_{$language_name}" prefix="{$prefix}" is_last="{$is_last}" style="{$style}" cols="{$cols}" rows="{$rows}"/>
- <inp2:m_if check="IsPrimaryLanguageInList">
- <inp2:m_if check="{$prefix}_IsRequired" field="$field">
- <input type="hidden" name="<inp2:{$prefix}_FieldModifier name="l{$language_id}_{$field}" type="required"/>" value="1"/>
- </inp2:m_if>
+
+ <div id="<inp2:{$prefix}_InputName field="l{$language_id}_{$field}"/>_input"<inp2:m_ifnot check="{$prefix}_LanguageVisible" field="l{$language_id}_{$field}"> style="display: none;"</inp2:m_ifnot>>
+ <inp2:m_if check="{$prefix}_HasError" field="l{$language_id}_{$field}">
+ <span class="field-error"><inp2:{$prefix}_Error field="l{$language_id}_{$field}"/></span><br/>
</inp2:m_if>
- </inp2:m_if>
+
+ <div style="float: left; vertical-align: top; width: auto;">
+ <textarea class="input-textarea" tabindex="<inp2:m_get param='tab_index'/>" name="<inp2:{$prefix}_InputName field='l{$language_id}_{$field}'/>" id="<inp2:{$prefix}_InputName field='l{$language_id}_{$field}'/>" cols="<inp2:m_param name='cols'/>" rows="<inp2:m_param name='rows'/>" style="<inp2:m_param name='style'/>"><inp2:{$prefix}_Field field="l{$language_id}_{$field}" format="no_default"/></textarea>
+ </div>
+
+ <div style="float: left; margin-left: 3px; vertical-align: top; width: auto;">
+ <inp2:m_if check="Field" name="IconURL">
+ <img src="<inp2:m_TemplatesBase module='In-Portal'/>img/language_icons/<inp2:Field name='IconURL'/>" alt="<inp2:Field name='LocalName' html_escape='1'/>" border="0"/>
+ <inp2:m_else/>
+ <inp2:Field name="LocalName"/>
+ </inp2:m_if>
+ </div>
+ </div>
+ <div style="clear: both;"></div>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="inp_edit_textarea_ml" style="" maxlength="" no_editing="1" is_last="0" title="">
+ <tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" additional_render_as="field_languages_element" field="$field" title="$title"/>
+ <td class="field-value">
+ <inp2:lang.enabled_PrintList render_as="ml_textarea_element" pass_params="1"/>
+
+ <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if>
+ </td>
+ </tr>
+ <script type="text/javascript">
+ <inp2:m_Get name="m_lang" result_to_var="current_language"/>
+ aMultiLanguageSelector.registerControl('<inp2:{$prefix}_InputName field="l{$current_language}_{$field}"/>');
+ </script>
+ <inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_option_item">
<option value="<inp2:m_param name="key"/>"<inp2:m_param name="selected"/>><inp2:m_param name="option"/></option>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_option_phrase">
<option value="<inp2:m_param name="key"/>"<inp2:m_param name="selected"/>><inp2:m_phrase label="$option"/></option>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_options" style="" has_empty="0" empty_value="" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td class="field-value">
<inp2:m_if check="{$prefix}_HasError" field="$field">
<span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br />
</inp2:m_if>
<select class="input-select" tabindex="<inp2:m_get param="tab_index"/>" name="<inp2:{$prefix}_InputName field="$field"/>" style="<inp2:m_param name="style"/>">
<inp2:m_if check="m_ParamEquals" name="use_phrases" value="1" >
<inp2:{$prefix}_PredefinedOptions field="$field" block="inp_option_phrase" selected="selected" has_empty="$has_empty" empty_value="$empty_value"/>
<inp2:m_else/>
<inp2:{$prefix}_PredefinedOptions field="$field" block="inp_option_item" selected="selected" has_empty="$has_empty" empty_value="$empty_value"/>
</inp2:m_if>
</select>
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_radio_item" onclick="">
<input type="radio" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>" <inp2:m_param name="checked"/> name="<inp2:{$prefix}_InputName field="$field"/>" id="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>" value="<inp2:m_param name="key"/>"><label for="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>"><inp2:m_param name="option"/></label>&nbsp;
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_radio_phrase" onclick="">
<input type="radio" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_param name="style"/>" <inp2:m_param name="checked"/> name="<inp2:{$prefix}_InputName field="$field"/>" id="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>" value="<inp2:m_param name="key"/>"><label for="<inp2:{$prefix}_InputName field="$field"/>_<inp2:m_param name="key"/>"><inp2:m_phrase label="$option"/></label>&nbsp;
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_radio" style="" pass_tabindex="" onclick="" onchange="" use_phrases="1" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td class="field-value">
<inp2:m_if check="{$prefix}_HasError" field="$field">
<span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br />
</inp2:m_if>
<inp2:m_if check="m_ParamEquals" name="use_phrases" value="1">
<inp2:{$prefix}_PredefinedOptions field="$field" block="inp_radio_phrase" selected="checked"/>
<inp2:m_else />
<inp2:{$prefix}_PredefinedOptions field="$field" block="inp_radio_item" selected="checked"/>
</inp2:m_if>
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_captcha" style="" title="lu_fld_Captcha" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="Captcha" title="$title"/>
<td class="field-value">
<inp2:m_if check="{$prefix}_HasError" field="Captcha">
<span class="field-error"><inp2:{$prefix}_Error field="Captcha"/></span><br />
</inp2:m_if>
<img src="<inp2:m_Link template="platform/inc/captcha_image.elm" var="{$prefix}_captcha_code" w="150" h="30"/>" alt="<inp2:m_Phrase name="$title"/>"/><br />
<img src="<inp2:m_TemplatesBase module="In-Portal"/>img/s.gif" width="1" height="5" alt=""/><br />
<input type="text" class="input-text" name="<inp2:{$prefix}_InputName field="Captcha"/>" value="<inp2:{$prefix}_Field field="Captcha"/>" tabindex="<inp2:m_get param="tab_index"/>" style="<inp2:m_Param name="style"/>">
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_checkbox" style="" no_editing="1" is_last="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td>
<inp2:m_if check="{$prefix}_HasError" field="$field">
<span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br />
</inp2:m_if>
<input type="hidden" id="<inp2:{$prefix}_InputName field="$field"/>" name="<inp2:{$prefix}_InputName field="$field"/>" value="<inp2:{$prefix}_Field field="$field" db="db"/>" />
<input tabindex="<inp2:m_get param="tab_index"/>" type="checkbox" id="_cb_<inp2:{$prefix}_InputName field="$field"/>" name="_cb_<inp2:{$prefix}_InputName field="$field"/>" <inp2:{$prefix}_Field field="$field" checked="checked" db="db"/> style="<inp2:m_param name="style"/>" onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field="$field"/>'));">
<inp2:m_if check="{$prefix}_HasParam" name="hint_label"><inp2:m_phrase label="$hint_label"/></inp2:m_if>
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_categories" style="" no_editing="1" is_last="0">
<inp2:m_include template="platform/elements/categories.elm"/>
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td class="field-value">
<inp2:m_if check="{$prefix}_HasError" field="$field">
<span class="field-error"><inp2:{$prefix}_Error field="$field"/></span><br />
</inp2:m_if>
<select class="input-select" tabindex="<inp2:m_get param="tab_index"/>" id="<inp2:{$prefix}_InputName field="$field"/>_select" style="<inp2:m_param name="style"/>">
<option value="0"><inp2:m_Phrase name="lu_opt_SelectCategory"/></option>
<inp2:{$prefix}_CategorySelector render_as="selector_category_element" separator="&raquo;&nbsp;"/>
</select>
<input type="button" class="button" value="<inp2:m_Phrase name="lu_Add"/>" onclick="$ItemCategories.AddCategory('&raquo;&amp;nbsp;', $delete_button, <inp2:m_GetConfig name="{$prefix}_MaxCategories"/>);"/><br />
<br />
<table class="item-categories" id="item_categories">
<tbody>
<tr>
<td colspan="2">
<strong><inp2:m_Phrase name="lu_subsection_Categories"/>:</strong>
</td>
</tr>
<inp2:{$prefix}_PrintMoreCategories render_as="more_category_element" field="$field"/>
</tbody>
</table>
<br/>
<inp2:m_RenderElement name="inp_edit_hidden" prefix="$prefix" field="$field"/>
<script type="text/javascript">
var $delete_button = '&nbsp;&nbsp;<input type="button" class="delete-button" value="<inp2:m_Phrase name="lu_btn_Delete"/>" onclick="$ItemCategories.DeleteCategory(#CATEGORY_ID#);"/>';
var $phrases = ['<inp2:m_Phrase name="lu_error_CategoryLimitReached" escape="1"/>', '<inp2:m_Phrase name="lu_error_AlreadyAdded"/>'];
var $ItemCategories = new ItemCategories('item_categories', '<inp2:{$prefix}_InputName field="$field"/>', <inp2:m_Get name="m_cat_id"/>, $phrases);
</script>
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="primary_category">
<inp2:m_param name="separator"/> <inp2:m_param name="title"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="primary_root_category">
<inp2:m_RootCategoryName/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_pr_category_label" no_editing="1" is_last="0" editing="0">
<tr class="<inp2:m_odd_even odd="table_color1" even="table_color2"/>">
<inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
<td valign="top" class="field-value">
<inp2:m_if check="m_Param" name="editing">
<inp2:{$prefix}_CategoryName />
<inp2:m_else />
<inp2:c_CategoryPath separator="&gt;" render_as="primary_category" root_cat_render_as="primary_root_category" titles="$titles" />
</inp2:m_if>
</td>
</tr>
<inp2:m_RenderElement name="inp_edit_field_separator" is_last="$is_last"/>
</inp2:m_DefineElement>
\ No newline at end of file

Event Timeline