Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Tue, Feb 25, 1:00 PM

in-portal

This file is larger than 256 KB, so syntax highlighting was skipped.
Index: branches/RC/core/kernel/db/db_tag_processor.php
===================================================================
--- branches/RC/core/kernel/db/db_tag_processor.php (revision 11684)
+++ branches/RC/core/kernel/db/db_tag_processor.php (revision 11685)
@@ -1,2430 +1,2476 @@
<?php
class kDBTagProcessor extends TagProcessor {
/**
* Description
*
* @var kDBConnection
* @access public
*/
var $Conn;
function kDBTagProcessor()
{
parent::kBase();
$this->Conn =& $this->Application->GetADODBConnection();
}
/**
* Returns true if "new" button was pressed in toolbar
*
* @param Array $params
* @return bool
*/
function IsNewMode($params)
{
$object =& $this->getObject($params);
return $object->GetID() <= 0;
}
/**
* Returns view menu name for current prefix
*
* @param Array $params
* @return string
*/
function GetItemName($params)
{
$item_name = $this->Application->getUnitOption($this->Prefix, 'ViewMenuPhrase');
return $this->Application->Phrase($item_name);
}
function ViewMenu($params)
{
$block_params = $params;
unset($block_params['block']);
$block_params['name'] = $params['block'];
$list =& $this->GetList($params);
$block_params['PrefixSpecial'] = $list->getPrefixSpecial();
return $this->Application->ParseBlock($block_params);
}
function SearchKeyword($params)
{
$list =& $this->GetList($params);
return $this->Application->RecallVar($list->getPrefixSpecial().'_search_keyword');
}
/**
* Draw filter menu content (for ViewMenu) based on filters defined in config
*
* @param Array $params
* @return string
*/
function DrawFilterMenu($params)
{
$block_params = $this->prepareTagParams($params);
$block_params['name'] = $params['spearator_block'];
$separator = $this->Application->ParseBlock($block_params);
$filter_menu = $this->Application->getUnitOption($this->Prefix,'FilterMenu');
if (!$filter_menu) {
trigger_error('<span class="debug_error">no filters defined</span> for prefix <b>'.$this->Prefix.'</b>, but <b>DrawFilterMenu</b> tag used', E_USER_WARNING);
return '';
}
// Params: label, filter_action, filter_status
$block_params['name'] = $params['item_block'];
$view_filter = $this->Application->RecallVar($this->getPrefixSpecial().'_view_filter');
if ($view_filter === false) {
$event_params = Array ('prefix' => $this->Prefix, 'special' => $this->Special, 'name' => 'OnRemoveFilters');
$this->Application->HandleEvent( new kEvent($event_params) );
$view_filter = $this->Application->RecallVar($this->getPrefixSpecial().'_view_filter');
}
$view_filter = unserialize($view_filter);
$filters = Array();
$prefix_special = $this->getPrefixSpecial();
foreach ($filter_menu['Filters'] as $filter_key => $filter_params) {
$group_params = isset($filter_params['group_id']) ? $filter_menu['Groups'][ $filter_params['group_id'] ] : Array();
if (!isset($group_params['element_type'])) {
$group_params['element_type'] = 'checkbox';
}
if (!$filter_params) {
$filters[] = $separator;
continue;
}
$block_params['label'] = addslashes( $this->Application->Phrase($filter_params['label']) );
if (getArrayValue($view_filter,$filter_key)) {
$submit = 0;
if (isset($params['old_style'])) {
$status = $group_params['element_type'] == 'checkbox' ? 1 : 2;
}
else {
$status = $group_params['element_type'] == 'checkbox' ? '[\'img/check_on.gif\']' : '[\'img/menu_dot.gif\']';
}
}
else {
$submit = 1;
$status = 'null';
}
$block_params['filter_action'] = 'set_filter("'.$prefix_special.'","'.$filter_key.'","'.$submit.'",'.$params['ajax'].');';
$block_params['filter_status'] = $status; // 1 - checkbox, 2 - radio, 0 - no image
$filters[] = $this->Application->ParseBlock($block_params);
}
return implode('', $filters);
}
/**
* Draws auto-refresh submenu in View Menu.
*
* @param Array $params
* @return string
*/
function DrawAutoRefreshMenu($params)
{
$refresh_intervals = $this->Application->ConfigValue('AutoRefreshIntervals');
if (!$refresh_intervals) {
trigger_error('<span class="debug_error">no filters defined</span> for prefix <strong>'.$this->Prefix.'</strong>, but <strong>DrawAutoRefreshMenu</strong> tag used', E_USER_WARNING);
return '';
}
$refresh_intervals = explode(',', $refresh_intervals);
$view_name = $this->Application->RecallVar($this->getPrefixSpecial().'_current_view');
$current_refresh_interval = $this->Application->RecallPersistentVar($this->getPrefixSpecial().'_refresh_interval.'.$view_name);
if ($current_refresh_interval === false) {
// if no interval was selected before, then choose 1st interval
$current_refresh_interval = $refresh_intervals[0];
}
$ret = '';
$block_params = $this->prepareTagParams($params);
$block_params['name'] = $params['render_as'];
foreach ($refresh_intervals as $refresh_interval) {
$block_params['label'] = $this->_formatInterval($refresh_interval);
$block_params['refresh_interval'] = $refresh_interval;
$block_params['selected'] = $current_refresh_interval == $refresh_interval;
$ret .= $this->Application->ParseBlock($block_params);
}
return $ret;
}
/**
* Tells, that current grid is using auto refresh
*
* @param Array $params
* @return bool
*/
function UseAutoRefresh($params)
{
$view_name = $this->Application->RecallVar($this->getPrefixSpecial().'_current_view');
return $this->Application->RecallPersistentVar($this->getPrefixSpecial().'_auto_refresh.'.$view_name);
}
/**
* Returns current grid refresh interval
*
* @param Array $params
* @return bool
*/
function AutoRefreshInterval($params)
{
$view_name = $this->Application->RecallVar($this->getPrefixSpecial().'_current_view');
return $this->Application->RecallPersistentVar($this->getPrefixSpecial().'_refresh_interval.'.$view_name);
}
/**
* Formats time interval using given text for hours and minutes
*
* @param int $intervalmMinutes
* @param string $hour_text Text for hours
* @param string $min_text Text for minutes
* @return unknown
*/
function _formatInterval($interval, $hour_text = 'h', $min_text = 'min')
{
// 65
$minutes = $interval % 60;
$hours = ($interval - $minutes) / 60;
$ret = '';
if ($hours) {
$ret .= $hours.$hour_text.' ';
}
if ($minutes) {
$ret .= $minutes.$min_text;
}
return $ret;
}
function IterateGridFields($params)
{
$mode = $params['mode'];
$def_block = isset($params['block']) ? $params['block'] : '';
$force_block = isset($params['force_block']) ? $params['force_block'] : false;
$grids = $this->Application->getUnitOption($this->Prefix,'Grids');
$grid_config = $grids[$params['grid']]['Fields'];
$picker_helper =& $this->Application->RecallObject('ColumnPickerHelper');
/* @var $picker_helper kColumnPickerHelper */
$picker_helper->ApplyPicker($this->getPrefixSpecial(), $grid_config, $params['grid']);
if ($mode == 'fields') {
return "'".join("','", array_keys($grid_config))."'";
}
$std_params['pass_params'] = 'true';
$std_params['PrefixSpecial'] = $this->getPrefixSpecial();
$object =& $this->GetList($params);
$o = '';
$i = 0;
foreach ($grid_config as $field => $options) {
$i++;
$block_params = Array();
$block_params['name'] = $force_block ? $force_block : (isset($options[$mode.'_block']) ? $options[$mode.'_block'] : $def_block);
$block_params['field'] = $field;
$block_params['sort_field'] = isset($options['sort_field']) ? $options['sort_field'] : $field;
$block_params['filter_field'] = isset($options['filter_field']) ? $options['filter_field'] : $field;
$w = $picker_helper->GetWidth($field);
if ($w) $options['width'] = $w;
/*if (isset($options['filter_width'])) {
$block_params['filter_width'] = $options['filter_width'];
}
elseif (isset($options['width'])) {
if (isset($options['filter_block']) && preg_match('/range/', $options['filter_block'])) {
if ($options['width'] < 60) {
$options['width'] = 60;
$block_params['filter_width'] = 20;
}
else {
$block_params['filter_width'] = $options['width'] - 40;
}
}
else {
$block_params['filter_width'] = max($options['width']-10, 20);
}
}*/
/*if (isset($block_params['filter_width'])) $block_params['filter_width'] .= 'px';
if (isset($options['filter_block']) && preg_match('/range/', $options['filter_block'])) {
$block_params['filter_width'] = '20px';
}
else {
$block_params['filter_width'] = '97%';
// $block_params['filter_width'] = max($options['width']-10, 20);
}*/
$field_options = $object->GetFieldOptions($field);
if (array_key_exists('use_phrases', $field_options)) {
$block_params['use_phrases'] = $field_options['use_phrases'];
}
$block_params['is_last'] = ($i == count($grid_config));
$block_params = array_merge($std_params, $options, $block_params);
$o.= $this->Application->ParseBlock($block_params, 1);
}
return $o;
}
function PickerCRC($params)
{
/* @var $picker_helper kColumnPickerHelper */
$picker_helper =& $this->Application->RecallObject('ColumnPickerHelper');
$picker_helper->SetGridName($params['grid']);
$data = $picker_helper->LoadColumns($this->getPrefixSpecial());
return $data['crc'];
}
function FreezerPosition($params)
{
/* @var $picker_helper kColumnPickerHelper */
$picker_helper =& $this->Application->RecallObject('ColumnPickerHelper');
$picker_helper->SetGridName($params['grid']);
$data = $picker_helper->LoadColumns($this->getPrefixSpecial());
$freezer_pos = array_search('__FREEZER__', $data['order']);
return $freezer_pos === false || in_array('__FREEZER__', $data['hidden_fields']) ? 1 : ++$freezer_pos;
}
function GridFieldsCount($params)
{
$grids = $this->Application->getUnitOption($this->Prefix, 'Grids');
$grid_config = $grids[$params['grid']]['Fields'];
return count($grid_config);
}
/**
* Prints list content using block specified
*
* @param Array $params
* @return string
* @access public
*/
function PrintList($params)
{
$params['no_table'] = 1;
return $this->PrintList2($params);
}
function InitList($params)
{
$list_name = isset($params['list_name']) ? $params['list_name'] : '';
$names_mapping = $this->Application->GetVar('NamesToSpecialMapping');
if( !getArrayValue($names_mapping, $this->Prefix, $list_name) )
{
$list =& $this->GetList($params);
}
}
function BuildListSpecial($params)
{
return $this->Special;
}
/**
* Returns key, that identifies each list on template (used internally, not tag)
*
* @param Array $params
* @return string
*/
function getUniqueListKey($params)
{
$types = $this->SelectParam($params, 'types');
$except = $this->SelectParam($params, 'except');
$list_name = $this->SelectParam($params, 'list_name');
if (!$list_name) {
$list_name = $this->Application->Parser->GetParam('list_name');
}
return $types.$except.$list_name;
}
/**
* Enter description here...
*
* @param Array $params
* @return kDBList
*/
function &GetList($params)
{
$list_name = $this->SelectParam($params, 'list_name,name');
if (!$list_name) {
$list_name = $this->Application->Parser->GetParam('list_name');
}
$requery = isset($params['requery']) && $params['requery'];
if ($list_name && !$requery){
$names_mapping = $this->Application->GetVar('NamesToSpecialMapping');
$special = is_array($names_mapping) && isset($names_mapping[$this->Prefix]) && isset($names_mapping[$this->Prefix][$list_name]) ? $names_mapping[$this->Prefix][$list_name] : false;
// $special = getArrayValue($names_mapping, $this->Prefix, $list_name);
if(!$special)
{
$special = $this->BuildListSpecial($params);
}
}
else
{
$special = $this->BuildListSpecial($params);
}
$prefix_special = rtrim($this->Prefix.'.'.$special, '.');
$params['skip_counting'] = true;
$list =& $this->Application->recallObject( $prefix_special, $this->Prefix.'_List', $params);
/* @var $list kDBList */
if ($requery) {
$this->Application->HandleEvent($an_event, $prefix_special.':OnListBuild', $params);
}
if (array_key_exists('offset', $params)) {
$list->Offset += $params['offset']; // apply custom offset
}
$list->Query($requery);
if (array_key_exists('offset', $params)) {
$list->Offset -= $params['offset']; // remove custom offset
}
$this->Special = $special;
if ($list_name) {
$names_mapping[$this->Prefix][$list_name] = $special;
$this->Application->SetVar('NamesToSpecialMapping', $names_mapping);
}
return $list;
}
function ListMarker($params)
{
$list =& $this->GetList($params);
$ret = $list->getPrefixSpecial();
if( getArrayValue($params, 'as_preg') ) $ret = preg_quote($ret, '/');
return $ret;
}
/**
* Prepares name for field with event in it (used only on front-end)
*
* @param Array $params
* @return string
*/
function SubmitName($params)
{
$list =& $this->GetList($params);
$prefix_special = $list->getPrefixSpecial();
return 'events['.$prefix_special.']['.$params['event'].']';
}
/**
* Prints list content using block specified
*
* @param Array $params
* @return string
* @access public
*/
function PrintList2($params)
{
$per_page = $this->SelectParam($params, 'per_page,max_items');
if ($per_page !== false) $params['per_page'] = $per_page;
$list =& $this->GetList($params);
$o = '';
$direction = (isset($params['direction']) && $params['direction']=="H")?"H":"V";
$columns = (isset($params['columns'])) ? $params['columns'] : 1;
$id_field = (isset($params['id_field'])) ? $params['id_field'] : $this->Application->getUnitOption($this->Prefix, 'IDField');
if ($columns > 1 && $direction == 'V') {
$records_left = array_splice($list->Records, $list->SelectedCount); // because we have 1 more record for "More..." link detection (don't need to sort it)
$list->Records = $this->LinearToVertical($list->Records, $columns, $list->GetPerPage());
$list->Records = array_merge($list->Records, $records_left);
}
$list->GoFirst();
$block_params=$this->prepareTagParams($params);
$block_params['name'] = $this->SelectParam($params, 'render_as,block');
$block_params['pass_params'] = 'true';
$block_params['column_width'] = $params['column_width'] = 100 / $columns;
$block_start_row_params = $this->prepareTagParams($params);
$block_start_row_params['name'] = $this->SelectParam($params, 'row_start_render_as,block_row_start,row_start_block');
$block_end_row_params=$this->prepareTagParams($params);
$block_end_row_params['name'] = $this->SelectParam($params, 'row_end_render_as,block_row_end,row_end_block');
$block_empty_cell_params = $this->prepareTagParams($params);
$block_empty_cell_params['name'] = $this->SelectParam($params, 'empty_cell_render_as,block_empty_cell,empty_cell_block');
$i=0;
$backup_id=$this->Application->GetVar($this->Prefix."_id");
$displayed = array();
$column_number = 1;
$cache_mod_rw = $this->Application->getUnitOption($this->Prefix, 'CacheModRewrite') && $this->Application->RewriteURLs();
while (!$list->EOL())
{
$this->Application->SetVar( $this->getPrefixSpecial().'_id', $list->GetDBField($id_field) ); // for edit/delete links using GET
$this->Application->SetVar( $this->Prefix.'_id', $list->GetDBField($id_field) );
$block_params['is_last'] = ($i == $list->SelectedCount - 1);
$block_params['not_last'] = !$block_params['is_last']; // for front-end
if ($cache_mod_rw) {
if ($this->Prefix == 'c') {
// for listing subcategories in category
$this->Application->setCache('filenames', $this->Prefix.'_'.$list->GetDBField($id_field), $list->GetDBField('NamedParentPath'));
$this->Application->setCache('category_tree', $list->GetDBField($id_field), $list->GetDBField('TreeLeft') . ';' . $list->GetDBField('TreeRight'));
} else {
// for listing items in category
$this->Application->setCache('filenames', 'c_'.$list->GetDBField('CategoryId'), $list->GetDBField('CategoryFilename'));
$this->Application->setCache('filenames', $this->Prefix.'_'.$list->GetDBField($id_field), $list->GetDBField('Filename'));
}
}
if ($i % $columns == 0) {
// record in this iteration is first in row, then open row
$column_number = 1;
$o.= $block_start_row_params['name'] ?
$this->Application->ParseBlock($block_start_row_params, 1) :
(!isset($params['no_table']) ? '<tr>' : '');
}
else {
$column_number++;
}
$block_params['first_col'] = $column_number == 1 ? 1 : 0;
$block_params['last_col'] = $column_number == $columns ? 1 : 0;
$block_params['column_number'] = $column_number;
$this->PrepareListElementParams($list, $block_params); // new, no need to rewrite PrintList
$o.= $this->Application->ParseBlock($block_params, 1);
array_push($displayed, $list->GetDBField($id_field));
if($direction == 'V' && $list->SelectedCount % $columns > 0 && $column_number == ($columns - 1) && ceil(($i + 1) / $columns) > $list->SelectedCount % ceil($list->SelectedCount / $columns)) {
// if vertical output, then draw empty cells vertically, not horizontally
$o .= $block_empty_cell_params['name'] ? $this->Application->ParseBlock($block_empty_cell_params, 1) : '<td>&nbsp;</td>';
$i++;
}
if (($i + 1) % $columns == 0) {
// record in next iteration is first in row too, then close this row
$o.= $block_end_row_params['name'] ?
$this->Application->ParseBlock($block_end_row_params, 1) :
(!isset($params['no_table']) ? '</tr>' : '');
}
$list->GoNext();
$i++;
}
// append empty cells in place of missing cells in last row
while ($i % $columns != 0) {
// until next cell will be in new row append empty cells
$o .= $block_empty_cell_params['name'] ? $this->Application->ParseBlock($block_empty_cell_params, 1) : '<td>&nbsp;</td>';
if (($i+1) % $columns == 0) {
// record in next iteration is first in row too, then close this row
$o .= $block_end_row_params['name'] ? $this->Application->ParseBlock($block_end_row_params, 1) : '</tr>';
}
$i++;
}
$cur_displayed = $this->Application->GetVar($this->Prefix.'_displayed_ids');
if (!$cur_displayed) {
$cur_displayed = Array();
}
else {
$cur_displayed = explode(',', $cur_displayed);
}
$displayed = array_unique(array_merge($displayed, $cur_displayed));
$this->Application->SetVar($this->Prefix.'_displayed_ids', implode(',',$displayed));
$this->Application->SetVar( $this->Prefix.'_id', $backup_id);
$this->Application->SetVar( $this->getPrefixSpecial().'_id', '');
if (isset($params['more_link_render_as'])) {
$block_params = $params;
$params['render_as'] = $params['more_link_render_as'];
$o .= $this->MoreLink($params);
}
return $o;
}
/**
* Allows to modify block params & current list record before PrintList parses record
*
* @param kDBList $object
* @param Array $block_params
*/
function PrepareListElementParams(&$object, &$block_params)
{
// $fields_hash =& $object->getCurrentRecord();
}
function MoreLink($params)
{
$per_page = $this->SelectParam($params, 'per_page,max_items');
if ($per_page !== false) $params['per_page'] = $per_page;
$list =& $this->GetList($params);
if ($list->PerPage < $list->RecordsCount) {
$block_params = array();
$block_params['name'] = $this->SelectParam($params, 'render_as,block');
return $this->Application->ParseBlock($block_params, 1);
}
}
function NotLastItem($params)
{
$object =& $this->getList($params); // maybe we should use $this->GetList($params) instead
return ($object->CurrentIndex < min($object->PerPage == -1 ? $object->RecordsCount : $object->PerPage, $object->RecordsCount) - 1);
}
function PageLink($params)
{
$t = isset($params['template']) ? $params['template'] : '';
unset($params['template']);
if (!$t) $t = $this->Application->GetVar('t');
if (isset($params['page'])) {
$this->Application->SetVar($this->getPrefixSpecial().'_Page', $params['page']);
unset($params['page']);
}
if (!isset($params['pass'])) {
$params['pass'] = 'm,'.$this->getPrefixSpecial();
}
return $this->Application->HREF($t, '', $params);
}
function ColumnWidth($params)
{
$columns = $this->Application->Parser->GetParam('columns');
return round(100/$columns).'%';
}
/**
* Append prefix and special to tag
* params (get them from tagname) like
* they were really passed as params
*
* @param Array $tag_params
* @return Array
* @access protected
*/
function prepareTagParams($tag_params = Array())
{
/*if (isset($tag_params['list_name'])) {
$list =& $this->GetList($tag_params);
$this->Init($list->Prefix, $list->Special);
}*/
$ret = $tag_params;
$ret['Prefix'] = $this->Prefix;
$ret['Special'] = $this->Special;
$ret['PrefixSpecial'] = $this->getPrefixSpecial();
return $ret;
}
function GetISO($currency)
{
if ($currency == 'selected') {
$iso = $this->Application->RecallVar('curr_iso');
}
elseif ($currency == 'primary' || $currency == '') {
$iso = $this->Application->GetPrimaryCurrency();
}
else { //explicit currency
$iso = $currency;
}
return $iso;
}
function ConvertCurrency($value, $iso)
{
$converter =& $this->Application->recallObject('kCurrencyRates');
// convery primary currency to selected (if they are the same, converter will just return)
$value = $converter->Convert($value, 'PRIMARY', $iso);
return $value;
}
function AddCurrencySymbol($value, $iso)
{
$currency =& $this->Application->recallObject('curr.-'.$iso, null, Array('skip_autoload' => true));
if( !$currency->isLoaded() ) $currency->Load($iso, 'ISO');
$symbol = $currency->GetDBField('Symbol');
if (!$symbol) $symbol = $currency->GetDBField('ISO').'&nbsp;';
if ($currency->GetDBField('SymbolPosition') == 0) {
$value = $symbol.$value;
}
if ($currency->GetDBField('SymbolPosition') == 1) {
$value = $value.$symbol;
}
return $value;
}
/**
* Get's requested field value
*
* @param Array $params
* @return string
* @access public
*/
function Field($params)
{
$field = $this->SelectParam($params, 'name,field');
if( !$this->Application->IsAdmin() ) $params['no_special'] = 'no_special';
$object =& $this->getObject($params);
if ( $this->HasParam($params, 'db') )
{
$value = $object->GetDBField($field);
}
else
{
if( $this->HasParam($params, 'currency') )
{
$iso = $this->GetISO($params['currency']);
$original = $object->GetDBField($field);
$value = $this->ConvertCurrency($original, $iso);
$object->SetDBField($field, $value);
$object->Fields[$field]['converted'] = true;
}
$format = getArrayValue($params, 'format');
if (!$format || $format == '$format') {
$format = null;
}
$value = $object->GetField($field, $format);
if( $this->SelectParam($params, 'negative') )
{
if(strpos($value, '-') === 0)
{
$value = substr($value, 1);
}
else
{
$value = '-'.$value;
}
}
if( $this->HasParam($params, 'currency') )
{
$value = $this->AddCurrencySymbol($value, $iso);
$params['no_special'] = 1;
}
}
if( !$this->HasParam($params, 'no_special') ) $value = htmlspecialchars($value);
if( getArrayValue($params,'checked' ) ) $value = ($value == ( isset($params['value']) ? $params['value'] : 1)) ? 'checked' : '';
if( isset($params['plus_or_as_label']) ) {
$value = substr($value, 0,1) == '+' ? substr($value, 1) : $this->Application->Phrase($value);
}
elseif( isset($params['as_label']) && $params['as_label'] ) $value = $this->Application->Phrase($value);
$first_chars = $this->SelectParam($params,'first_chars,cut_first');
if($first_chars)
{
$needs_cut = mb_strlen($value) > $first_chars;
$value = mb_substr($value, 0, $first_chars);
if ($needs_cut) $value .= ' ...';
}
if( getArrayValue($params,'nl2br' ) ) $value = nl2br($value);
if ($value != '') $this->Application->Parser->DataExists = true;
if( $this->HasParam($params, 'currency') )
{
//restoring value in original currency, for other Field tags to work properly
$object->SetDBField($field, $original);
}
return $value;
}
function SetField($params)
{
// <inp2:SetField field="Value" src=p:cust_{$custom_name}"/>
$object =& $this->getObject($params);
$dst_field = $this->SelectParam($params, 'name,field');
list($prefix_special, $src_field) = explode(':', $params['src']);
$src_object =& $this->Application->recallObject($prefix_special);
$object->SetDBField($dst_field, $src_object->GetDBField($src_field));
}
/**
* Checks if parameter is passed
* Note: works like Tag and line simple method too
*
* @param Array $params
* @param string $param_name
* @return bool
*/
function HasParam($params, $param_name = null)
{
if( !isset($param_name) )
{
$param_name = $this->SelectParam($params, 'name');
$params = $this->Application->Parser->Params;
}
$value = isset($params[$param_name]) ? $params[$param_name] : false;
return $value && ($value != '$'.$param_name);
}
function PhraseField($params)
{
$field_label = $this->Field($params);
$translation = $this->Application->Phrase( $field_label );
return $translation;
}
function Error($params)
{
$field = $this->SelectParam($params, 'name,field');
$object =& $this->getObject($params);
$msg = $object->GetErrorMsg($field, false);
return $msg;
}
function HasError($params)
{
if ($params['field'] == 'any')
{
$object =& $this->getObject($params);
$skip_fields = getArrayValue($params, 'except');
$skip_fields = $skip_fields ? explode(',', $skip_fields) : Array();
return $object->HasErrors($skip_fields);
}
else
{
$fields = $this->SelectParam($params, 'field,fields');
$fields = explode(',', $fields);
$res = false;
foreach($fields as $field)
{
$params['field'] = $field;
$res = $res || ($this->Error($params) != '');
}
return $res;
}
}
function ErrorWarning($params)
{
if (!isset($params['field'])) {
$params['field'] = 'any';
}
if ($this->HasError($params)) {
$params['prefix'] = $this->getPrefixSpecial();
return $this->Application->ParseBlock($params);
}
}
function IsRequired($params)
{
$field = $params['field'];
$object =& $this->getObject($params);;
$formatter_class = getArrayValue($object->Fields, $field, 'formatter');
if ($formatter_class == 'kMultiLanguage')
{
$formatter =& $this->Application->recallObject($formatter_class);
$field = $formatter->LangFieldName($field);
}
$options = $object->GetFieldOptions($field);
return getArrayValue($options,'required');
}
function FieldOption($params)
{
$object =& $this->getObject($params);;
$options = $object->GetFieldOptions($params['field']);
$ret = isset($options[$params['option']]) ? $options[$params['option']] : '';
if (isset($params['as_label']) && $params['as_label']) $ret = $this->Application->ReplaceLanguageTags($ret);
return $ret;
}
function PredefinedOptions($params)
{
$object =& $this->getObject($params);
$field = $params['field'];
$value = array_key_exists('value', $params) ? $params['value'] : $object->GetDBField($field);
$field_options = $object->GetFieldOptions($field);
if (!array_key_exists('options', $field_options) || !is_array($field_options['options'])) {
trigger_error('Options not defined for <strong>'.$object->Prefix.'</strong> field <strong>'.$field.'</strong>', E_USER_WARNING);
return '';
}
$options = $field_options['options'];
if ($this->HasParam($params, 'has_empty')) {
$empty_value = array_key_exists('empty_value', $params) ? $params['empty_value'] : '';
$options = array_merge_recursive2(Array ($empty_value => ''), $options); // don't use other array merge function, because they will reset keys !!!
}
$block_params = $this->prepareTagParams($params);
$block_params['name'] = $this->SelectParam($params, 'render_as,block');
$block_params['pass_params'] = 'true';
if (method_exists($object, 'EOL') && count($object->Records) == 0) {
// for drawing grid column filter
$block_params['field_name'] = '';
}
else {
$block_params['field_name'] = $this->InputName($params); // depricated (produces warning when used as grid filter), but used in Front-End (submission create), admin (submission view)
}
$selected_param_name = getArrayValue($params, 'selected_param');
if (!$selected_param_name) {
$selected_param_name = $params['selected'];
}
$selected = $params['selected'];
$o = '';
if ($this->HasParam($params, 'no_empty') && !getArrayValue($options, '')) {
// removes empty option, when present (needed?)
array_shift($options);
}
if (strpos($value, '|') !== false) {
// multiple checkboxes OR multiselect
$value = explode('|', substr($value, 1, -1) );
foreach ($options as $key => $val) {
$block_params['key'] = $key;
$block_params['option'] = $val;
$block_params[$selected_param_name] = ( in_array($key, $value) ? ' '.$selected : '');
$o .= $this->Application->ParseBlock($block_params, 1);
}
}
else {
// single selection radio OR checkboxes OR dropdown
foreach ($options as $key => $val) {
$block_params['key'] = $key;
$block_params['option'] = $val;
$block_params[$selected_param_name] = (strlen($key) == strlen($value) && ($key == $value) ? ' '.$selected : '');
$o .= $this->Application->ParseBlock($block_params, 1);
}
}
return $o;
}
function PredefinedSearchOptions($params)
{
$object =& $this->getObject($params);
/* @var $object kDBList */
$params['value'] = $this->SearchField($params);
$view_name = $this->Application->RecallVar($this->getPrefixSpecial().'_current_view');
$custom_filter = $this->Application->RecallPersistentVar($this->getPrefixSpecial().'_custom_filter.'.$view_name, ALLOW_DEFAULT_SETTINGS);
return $this->PredefinedOptions($params);
}
function Format($params)
{
$field = $this->SelectParam($params, 'name,field');
$object =& $this->getObject($params);
$options = $object->GetFieldOptions($field);
$format = $options[ $this->SelectParam($params, 'input_format') ? 'input_format' : 'format' ];
$formatter_class = getArrayValue($options,'formatter');
if ($formatter_class) {
$formatter =& $this->Application->recallObject($formatter_class);
$human_format = getArrayValue($params,'human');
$edit_size = getArrayValue($params,'edit_size');
$sample = getArrayValue($params,'sample');
if($sample)
{
return $formatter->GetSample($field, $options, $object);
}
elseif($human_format || $edit_size)
{
$format = $formatter->HumanFormat($format);
return $edit_size ? strlen($format) : $format;
}
}
return $format;
}
/**
* Returns grid padination information
* Can return links to pages
*
* @param Array $params
* @return mixed
*/
function PageInfo($params)
{
$object =& $this->GetList($params);
/* @var $object kDBList */
$type = $params['type'];
unset($params['type']); // remove parameters used only by current tag
$ret = '';
switch ($type) {
case 'current':
$ret = $object->Page;
break;
case 'total':
$ret = $object->GetTotalPages();
break;
case 'prev':
$ret = $object->Page > 1 ? $object->Page - 1 : false;
break;
case 'next':
$ret = $object->Page < $object->GetTotalPages() ? $object->Page + 1 : false;
break;
}
if ($ret && isset($params['as_link']) && $params['as_link']) {
unset($params['as_link']); // remove parameters used only by current tag
$params['page'] = $ret;
$current_page = $object->Page; // backup current page
$ret = $this->PageLink($params);
$this->Application->SetVar($object->getPrefixSpecial().'_Page', $current_page); // restore page
}
return $ret;
}
/**
* Print grid pagination using
* block names specified
*
* @param Array $params
* @return string
* @access public
*/
function PrintPages($params)
{
$list =& $this->GetList($params);
$prefix_special = $list->getPrefixSpecial();
$total_pages = $list->GetTotalPages();
if ($total_pages > 1) $this->Application->Parser->DataExists = true;
if($total_pages == 0) $total_pages = 1; // display 1st page as selected in case if we have no pages at all
$o = '';
// what are these 2 lines for?
$this->Application->SetVar($prefix_special.'_event','');
$this->Application->SetVar($prefix_special.'_id','');
$current_page = $list->Page; // $this->Application->RecallVar($prefix_special.'_Page');
$block_params = $this->prepareTagParams($params);
$split = ( isset($params['split'] ) ? $params['split'] : 10 );
$split_start = $current_page - ceil($split/2);
if ($split_start < 1){
$split_start = 1;
}
$split_end = $split_start + $split-1;
if ($split_end > $total_pages) {
$split_end = $total_pages;
$split_start = max($split_end - $split + 1, 1);
}
if ($current_page > 1){
$prev_block_params = $this->prepareTagParams();
if ($total_pages > $split){
$prev_block_params['page'] = max($current_page-$split, 1);
$prev_block_params['name'] = $this->SelectParam($params, 'prev_page_split_render_as,prev_page_split_block');
if ($prev_block_params['name']){
$o .= $this->Application->ParseBlock($prev_block_params, 1);
}
}
$prev_block_params['name'] = 'page';
$prev_block_params['page'] = $current_page-1;
$prev_block_params['name'] = $this->SelectParam($params, 'prev_page_render_as,block_prev_page,prev_page_block');
if ($prev_block_params['name']) {
$this->Application->SetVar($this->getPrefixSpecial().'_Page', $current_page-1);
$o .= $this->Application->ParseBlock($prev_block_params, 1);
}
}
else {
if ( $no_prev_page_block = $this->SelectParam($params, 'no_prev_page_render_as,block_no_prev_page') ) {
$block_params['name'] = $no_prev_page_block;
$o .= $this->Application->ParseBlock($block_params, 1);
}
}
$separator_params['name'] = $this->SelectParam($params, 'separator_render_as,block_separator');
for ($i = $split_start; $i <= $split_end; $i++)
{
if ($i == $current_page) {
$block = $this->SelectParam($params, 'current_render_as,active_render_as,block_current,active_block');
}
else {
$block = $this->SelectParam($params, 'link_render_as,inactive_render_as,block_link,inactive_block');
}
$block_params['name'] = $block;
$block_params['page'] = $i;
$this->Application->SetVar($this->getPrefixSpecial().'_Page', $i);
$o .= $this->Application->ParseBlock($block_params, 1);
if ($this->SelectParam($params, 'separator_render_as,block_separator')
&& $i < $split_end)
{
$o .= $this->Application->ParseBlock($separator_params, 1);
}
}
if ($current_page < $total_pages){
$next_block_params = $this->prepareTagParams();
$next_block_params['page']=$current_page+1;
$next_block_params['name'] = $this->SelectParam($params, 'next_page_render_as,block_next_page,next_page_block');
if ($next_block_params['name']){
$this->Application->SetVar($this->getPrefixSpecial().'_Page', $current_page+1);
$o .= $this->Application->ParseBlock($next_block_params, 1);
}
if ($total_pages > $split){
$next_block_params['page']=min($current_page+$split, $total_pages);
$next_block_params['name'] = $this->SelectParam($params, 'next_page_split_render_as,next_page_split_block');
if ($next_block_params['name']){
$o .= $this->Application->ParseBlock($next_block_params, 1);
}
}
}
$this->Application->SetVar($this->getPrefixSpecial().'_Page', $current_page);
return $o;
}
/**
* Print grid pagination using
* block names specified
*
* @param Array $params
* @return string
* @access public
*/
function PaginationBar($params)
{
return $this->PrintPages($params);
}
/**
* Returns field name (processed by kMultiLanguage formatter
* if required) and item's id from it's IDField or field required
*
* @param Array $params
* @return Array (id,field)
* @access private
*/
function prepareInputName($params)
{
$field = $this->SelectParam($params, 'name,field');
$object =& $this->getObject($params);
$formatter_class = getArrayValue($object->Fields, $field, 'formatter');
if ($formatter_class == 'kMultiLanguage') {
$formatter =& $this->Application->recallObject($formatter_class);
/* @var $formatter kMultiLanguage */
$force_primary = isset($object->Fields[$field]['force_primary']) && $object->Fields[$field]['force_primary'];
$field = $formatter->LangFieldName($field, $force_primary);
}
if (array_key_exists('force_id', $params)) {
$id = $params['force_id'];
}
else {
$id_field = getArrayValue($params, 'IdField');
$id = $id_field ? $object->GetDBField($id_field) : $object->GetID();
}
return Array($id, $field);
}
/**
* Returns input field name to
* be placed on form (for correct
* event processing)
*
* @param Array $params
* @return string
* @access public
*/
function InputName($params)
{
list($id, $field) = $this->prepareInputName($params);
$ret = $this->getPrefixSpecial().'['.$id.']['.$field.']';
if( getArrayValue($params, 'as_preg') ) $ret = preg_quote($ret, '/');
return $ret;
}
/**
* Allows to override various field options through hidden fields with specific names in submit.
* This tag generates this special names
*
* @param Array $params
* @return string
* @author Alex
*/
function FieldModifier($params)
{
list($id, $field) = $this->prepareInputName($params);
$ret = 'field_modifiers['.$this->getPrefixSpecial().']['.$field.']['.$params['type'].']';
if( getArrayValue($params, 'as_preg') ) $ret = preg_quote($ret, '/');
if (isset($params['value'])) {
$object =& $this->getObject($params);
$field_modifiers[$field][$params['type']] = $params['value'];
$object->ApplyFieldModifiers($field_modifiers);
}
return $ret;
}
/**
* Returns index where 1st changable sorting field begins
*
* @return int
* @access private
*/
function getUserSortIndex()
{
$list_sortings = $this->Application->getUnitOption($this->Prefix, 'ListSortings');
$sorting_prefix = getArrayValue($list_sortings, $this->Special) ? $this->Special : '';
$user_sorting_start = 0;
if ( $forced_sorting = getArrayValue($list_sortings, $sorting_prefix, 'ForcedSorting') ) {
$user_sorting_start = count($forced_sorting);
}
return $user_sorting_start;
}
/**
* Returns order direction for given field
*
*
*
* @param Array $params
* @return string
* @access public
*/
function Order($params)
{
$field = $params['field'];
$user_sorting_start = $this->getUserSortIndex();
$list =& $this->GetList($params);
if ($list->GetOrderField($user_sorting_start) == $field)
{
return strtolower($list->GetOrderDirection($user_sorting_start));
}
elseif($this->Application->ConfigValue('UseDoubleSorting') && $list->GetOrderField($user_sorting_start+1) == $field)
{
return '2_'.strtolower($list->GetOrderDirection($user_sorting_start+1));
}
else
{
return 'no';
}
}
/**
* Detects, that current sorting is not default
*
* @param Array $params
* @return bool
*/
function OrderChanged($params)
{
$list =& $this->GetList($params);
$user_sorting_start = $this->getUserSortIndex();
$sorting_configs = $this->Application->getUnitOption($this->Prefix, 'ConfigMapping', Array ());
$list_sortings = $this->Application->getUnitOption($this->Prefix, 'ListSortings', Array ());
$sorting_prefix = getArrayValue($list_sortings, $this->Special) ? $this->Special : '';
if (array_key_exists('DefaultSorting1Field', $sorting_configs)) {
$list_sortings[$sorting_prefix]['Sorting'] = Array (
$this->Application->ConfigValue($sorting_configs['DefaultSorting1Field']) => $this->Application->ConfigValue($sorting_configs['DefaultSorting1Dir']),
$this->Application->ConfigValue($sorting_configs['DefaultSorting2Field']) => $this->Application->ConfigValue($sorting_configs['DefaultSorting2Dir']),
);
}
$sorting = getArrayValue($list_sortings, $sorting_prefix, 'Sorting');
$sort_fields = is_array($sorting) ? array_keys($sorting) : Array ();
for ($order_number = 0; $order_number < 2; $order_number++) {
// currect sorting in list
$sorting_pos = $user_sorting_start + $order_number;
$current_order_field = $list->GetOrderField($sorting_pos, true);
$current_order_direction = $list->GetOrderDirection($sorting_pos, true);
if (!$current_order_field || !$current_order_direction) {
// no sorting defined for this sorting position
continue;
}
// user sorting found
if (array_key_exists($order_number, $sort_fields)) {
// default sorting found
$default_order_field = $sort_fields[$order_number];
$default_order_direction = $sorting[$default_order_field];
if ($current_order_field != $default_order_field || $current_order_direction != $default_order_direction) {
// #1. user sorting differs from default sorting -> changed
return true;
}
}
else {
// #2. user sorting + no default sorting -> changed
return true;
}
}
// #3. user sorting match default or not defined -> not changed
return false;
}
/**
* Get's information of sorting field at "pos" position,
* like sorting field name (type="field") or sorting direction (type="direction")
*
* @param Array $params
* @return mixed
*/
function OrderInfo($params)
{
$user_sorting_start = $this->getUserSortIndex() + --$params['pos'];
$list =& $this->GetList($params);
// $object =& $this->Application->recallObject( $this->getPrefixSpecial() );
if($params['type'] == 'field') return $list->GetOrderField($user_sorting_start);
if($params['type'] == 'direction') return $list->GetOrderDirection($user_sorting_start);
}
/**
* Checks if sorting field/direction matches passed field/direction parameter
*
* @param Array $params
* @return bool
*/
function IsOrder($params)
{
$params['type'] = isset($params['field']) ? 'field' : 'direction';
$value = $this->OrderInfo($params);
if( isset($params['field']) ) return $params['field'] == $value;
if( isset($params['direction']) ) return $params['direction'] == $value;
}
/**
* Returns list perpage
*
* @param Array $params
* @return int
*/
function PerPage($params)
{
$object =& $this->getObject($params);
return $object->PerPage;
}
/**
* Checks if list perpage matches value specified
*
* @param Array $params
* @return bool
*/
function PerPageEquals($params)
{
$object =& $this->getObject($params);
return $object->PerPage == $params['value'];
}
function SaveEvent($params)
{
// SaveEvent is set during OnItemBuild, but we may need it before any other tag calls OnItemBuild
$object =& $this->getObject($params);
return $this->Application->GetVar($this->getPrefixSpecial().'_SaveEvent');
}
function NextId($params)
{
$object =& $this->getObject($params);
$wid = $this->Application->GetTopmostWid($this->Prefix);
$session_name = rtrim($this->getPrefixSpecial().'_selected_ids_'.$wid, '_');
$ids = explode(',', $this->Application->RecallVar($session_name));
$cur_id = $object->GetID();
$i = array_search($cur_id, $ids);
if ($i !== false) {
return $i < count($ids) - 1 ? $ids[$i + 1] : '';
}
return '';
}
function PrevId($params)
{
$object =& $this->getObject($params);
$wid = $this->Application->GetTopmostWid($this->Prefix);
$session_name = rtrim($this->getPrefixSpecial().'_selected_ids_'.$wid, '_');
$ids = explode(',', $this->Application->RecallVar($session_name));
$cur_id = $object->GetID();
$i = array_search($cur_id, $ids);
if ($i !== false) {
return $i > 0 ? $ids[$i - 1] : '';
}
return '';
}
function IsSingle($params)
{
return ($this->NextId($params) === '' && $this->PrevId($params) === '');
}
function IsLast($params)
{
return ($this->NextId($params) === '');
}
function IsFirst($params)
{
return ($this->PrevId($params) === '');
}
/**
* Checks if field value is equal to proposed one
*
* @param Array $params
* @return bool
*/
function FieldEquals($params)
{
$object =& $this->getObject($params);
$ret = $object->GetDBField($this->SelectParam($params, 'name,field')) == $params['value'];
// if( getArrayValue($params,'inverse') ) $ret = !$ret;
return $ret;
}
/**
* Checks, that grid has icons defined and they should be shown
*
* @param Array $params
* @return bool
*/
function UseItemIcons($params)
{
$grids = $this->Application->getUnitOption($this->Prefix, 'Grids');
return array_key_exists('Icons', $grids[ $params['grid'] ]);
}
/**
* Returns corresponding to grid layout selector column width
*
* @param Array $params
* @return int
*/
function GridSelectorColumnWidth($params)
{
$width = 0;
if ($params['selector']) {
$width += $params['selector_width'];
}
if ($this->UseItemIcons($params)) {
$width += $params['icon_width'];
}
return $width;
}
/**
* Returns grids item selection mode (checkbox, radio, )
*
* @param Array $params
* @return string
*/
function GridSelector($params)
{
$grids = $this->Application->getUnitOption($this->Prefix, 'Grids');
return array_key_exists('Selector', $grids[ $params['grid'] ]) ? $grids[ $params['grid'] ]['Selector'] : $params['default'];
}
function ItemIcon($params)
{
$object =& $this->getObject($params);
$grids = $this->Application->getUnitOption($this->Prefix,'Grids');
$icons =& $grids[ $params['grid'] ]['Icons'];
$key = '';
$status_fields = $this->Application->getUnitOption($this->Prefix,'StatusField');
if(!$status_fields) return $icons['default'];
foreach($status_fields as $status_field)
{
$key .= $object->GetDBField($status_field).'_';
}
$key = rtrim($key,'_');
$value = ($key !== false) ? $key : 'default';
return isset($icons[$value]) ? $icons[$value] : $icons['default'];
}
/**
* Generates bluebar title + initializes prefixes used on page
*
* @param Array $params
* @return string
*/
function SectionTitle($params)
{
$preset_name = replaceModuleSection($params['title_preset']);
$title_presets = $this->Application->getUnitOption($this->Prefix,'TitlePresets');
$title_info = getArrayValue($title_presets, $preset_name);
if ($title_info === false) {
$title = str_replace('#preset_name#', $preset_name, $params['title']);
if ($this->Application->ConfigValue('UseSmallHeader') && isset($params['group_title']) && $params['group_title']) {
$title .= ' - '.$params['group_title'];
}
return $title;
}
if (getArrayValue($title_presets,'default')) {
// use default labels + custom labels specified in preset used
$title_info = array_merge_recursive2($title_presets['default'], $title_info);
}
$title = $title_info['format'];
// 1. get objects in use for title construction
$objects = Array();
$object_status = Array();
$status_labels = Array();
$prefixes = getArrayValue($title_info,'prefixes');
$all_tag_params = getArrayValue($title_info,'tag_params');
if ($prefixes) {
// extract tag_perams passed directly to SectionTitle tag for specific prefix
foreach ($params as $tp_name => $tp_value) {
if (preg_match('/(.*)\[(.*)\]/', $tp_name, $regs)) {
$all_tag_params[ $regs[1] ][ $regs[2] ] = $tp_value;
unset($params[$tp_name]);
}
}
$tag_params = Array();
foreach ($prefixes as $prefix_special) {
$prefix_data = $this->Application->processPrefix($prefix_special);
$prefix_data['prefix_special'] = rtrim($prefix_data['prefix_special'],'.');
if ($all_tag_params) {
$tag_params = getArrayValue($all_tag_params, $prefix_data['prefix_special']);
if (!$tag_params) $tag_params = Array();
}
$tag_params = array_merge_recursive2($params, $tag_params);
$objects[ $prefix_data['prefix_special'] ] =& $this->Application->recallObject($prefix_data['prefix_special'], $prefix_data['prefix'], $tag_params);
$object_status[ $prefix_data['prefix_special'] ] = $objects[ $prefix_data['prefix_special'] ]->IsNewItem() ? 'new' : 'edit';
// a. set object's status field (adding item/editing item) for each object in title
if (getArrayValue($title_info[ $object_status[ $prefix_data['prefix_special'] ].'_status_labels' ],$prefix_data['prefix_special'])) {
$status_labels[ $prefix_data['prefix_special'] ] = $title_info[ $object_status[ $prefix_data['prefix_special'] ].'_status_labels' ][ $prefix_data['prefix_special'] ];
$title = str_replace('#'.$prefix_data['prefix_special'].'_status#', $status_labels[ $prefix_data['prefix_special'] ], $title);
}
// b. setting object's titlefield value (in titlebar ONLY) to default in case if object beeing created with no titlefield filled in
if ($object_status[ $prefix_data['prefix_special'] ] == 'new') {
$new_value = $this->getInfo( $objects[ $prefix_data['prefix_special'] ], 'titlefield' );
if(!$new_value && getArrayValue($title_info['new_titlefield'],$prefix_data['prefix_special']) ) $new_value = $this->Application->Phrase($title_info['new_titlefield'][ $prefix_data['prefix_special'] ]);
$title = str_replace('#'.$prefix_data['prefix_special'].'_titlefield#', $new_value, $title);
}
}
}
// replace to section title
$section = array_key_exists('section', $params) ? $params['section'] : false;
if ($section) {
$sections_helper =& $this->Application->recallObject('SectionsHelper');
/* @var $sections_helper kSectionsHelper */
$section_data =& $sections_helper->getSectionData($section);
$title = str_replace('#section_label#', '!' . $section_data['label'] . '!', $title);
}
// 2. replace phrases if any found in format string
$title = $this->Application->ReplaceLanguageTags($title, false);
// 3. find and replace any replacement vars
preg_match_all('/#(.*_.*)#/Uis',$title,$rets);
if ($rets[1]) {
$replacement_vars = array_keys( array_flip($rets[1]) );
foreach ($replacement_vars as $replacement_var) {
$var_info = explode('_',$replacement_var,2);
$object =& $objects[ $var_info[0] ];
$new_value = $this->getInfo($object,$var_info[1]);
$title = str_replace('#'.$replacement_var.'#', $new_value, $title);
}
}
// replace trailing spaces inside title preset + '' occurences into single space
$title = preg_replace('/[ ]*\'\'[ ]*/', ' ', $title);
if ($this->Application->ConfigValue('UseSmallHeader') && isset($params['group_title']) && $params['group_title']) {
$title .= ' - '.$params['group_title'];
}
$cut_first = getArrayValue($params, 'cut_first');
if ($cut_first && mb_strlen($title) > $cut_first) {
if (!preg_match('/<a href="(.*)">(.*)<\/a>/',$title)) {
$title = mb_substr($title, 0, $cut_first).' ...';
}
}
return $title;
}
function getInfo(&$object, $info_type)
{
switch ($info_type)
{
case 'titlefield':
$field = $this->Application->getUnitOption($object->Prefix,'TitleField');
return $field !== false ? $object->GetField($field) : 'TitleField Missing';
break;
case 'recordcount':
$of_phrase = $this->Application->Phrase('la_of');
return $object->NoFilterCount != $object->RecordsCount ? $object->RecordsCount.' '.$of_phrase.' '.$object->NoFilterCount : $object->RecordsCount;
break;
default:
return $object->GetField($info_type);
break;
}
}
function GridInfo($params)
{
$object =& $this->GetList($params);
/* @var $object kDBList */
switch ($params['type']) {
case 'filtered':
return $object->GetRecordsCount();
case 'total':
return $object->GetNoFilterCount();
case 'from':
return $object->RecordsCount ? $object->Offset+1 : 0; //0-based
case 'to':
return $object->PerPage > 0 ? min($object->Offset + $object->PerPage, $object->RecordsCount) : $object->RecordsCount;
case 'total_pages':
return $object->GetTotalPages();
case 'needs_pagination':
return ($object->RecordsCount > $object->PerPage) || ($object->Page > 1);
}
}
/**
* Parses block depending on its element type.
* For radio and select elements values are taken from 'value_list_field' in key1=value1,key2=value2
* format. key=value can be substituted by <SQL>SELECT f1 AS OptionName, f2 AS OptionValue... FROM <PREFIX>TableName </SQL>
* where prefix is TABLE_PREFIX
*
* @param Array $params
* @return string
*/
function ConfigFormElement($params)
{
$object =& $this->getObject($params);
$field = $params['field'];
$helper =& $this->Application->recallObject('InpCustomFieldsHelper');
/* @var $helper InpCustomFieldsHelper */
$element_type = $object->GetDBField($params['element_type_field']);
if($element_type == 'label') $element_type = 'text';
$params['name'] = $params['blocks_prefix'].$element_type;
switch ($element_type) {
case 'select':
case 'multiselect':
case 'radio':
$field_options = $object->GetFieldOptions($field, 'options');
if ($object->GetDBField('DirectOptions')) {
// used for custom fields
$field_options['options'] = $object->GetDBField('DirectOptions');
}
else {
// used for configuration
$field_options['options'] = $helper->GetValuesHash($object->GetDBField($params['value_list_field']), ',');
}
$object->SetFieldOptions($field, $field_options);
break;
case 'text':
case 'textarea':
$params['field_params'] = $helper->ParseConfigSQL($object->GetDBField($params['value_list_field']));
break;
case 'password':
case 'checkbox':
default:
break;
}
return $this->Application->ParseBlock($params, 1);
}
/**
* Get's requested custom field value
*
* @param Array $params
* @return string
* @access public
*/
function CustomField($params)
{
$params['name'] = 'cust_'.$this->SelectParam($params, 'name,field');
return $this->Field($params);
}
function CustomFieldLabel($params)
{
$object =& $this->getObject($params);
$field = $this->SelectParam($params, 'name,field');
$sql = 'SELECT FieldLabel
FROM '.$this->Application->getUnitOption('cf', 'TableName').'
WHERE FieldName = '.$this->Conn->qstr($field);
return $this->Application->Phrase($this->Conn->GetOne($sql));
}
/**
* transposes 1-dimensional array elements for vertical alignment according to given columns and per_page parameters
*
* @param array $arr
* @param int $columns
* @param int $per_page
* @return array
*/
function LinearToVertical(&$arr, $columns, $per_page)
{
$rows = $columns;
// in case if after applying per_page limit record count less then
// can fill requrested column count, then fill as much as we can
$cols = min(ceil($per_page / $columns), ceil(count($arr) / $columns));
$imatrix = array();
for ($row = 0; $row < $rows; $row++) {
for ($col = 0; $col < $cols; $col++) {
$source_index = $row * $cols + $col;
if (!isset($arr[$source_index])) {
// in case if source array element count is less then element count in one row
continue;
}
$imatrix[$col * $rows + $row] = $arr[$source_index];
}
}
ksort($imatrix);
return array_values($imatrix);
}
/**
* If data was modfied & is in TempTables mode, then parse block with name passed;
* remove modification mark if not in TempTables mode
*
* @param Array $params
* @return string
* @access public
* @author Alexey
*/
function SaveWarning($params)
{
$main_prefix = getArrayValue($params, 'main_prefix');
if ($main_prefix && $main_prefix != '$main_prefix') {
$top_prefix = $main_prefix;
}
else {
$top_prefix = $this->Application->GetTopmostPrefix($this->Prefix);
}
$temp_tables = substr($this->Application->GetVar($top_prefix.'_mode'), 0, 1) == 't';
$modified = $this->Application->RecallVar($top_prefix.'_modified');
if ($temp_tables && $modified) {
$block_params = $this->prepareTagParams($params);
$block_params['name'] = $this->SelectParam($params, 'render_as,name');
$block_params['edit_mode'] = $temp_tables ? 1 : 0;
return $this->Application->ParseBlock($block_params);
}
$this->Application->RemoveVar($top_prefix.'_modified');
return '';
}
/**
* Returns list record count queries (on all pages)
*
* @param Array $params
* @return int
*/
function TotalRecords($params)
{
$list =& $this->GetList($params);
if (!$list->Counted) $list->CountRecs();
return $list->RecordsCount;
}
/**
* Range filter field name
*
* @param Array $params
* @return string
*/
function SearchInputName($params)
{
$field = $this->SelectParam($params, 'field,name');
$ret = 'custom_filters['.$this->getPrefixSpecial().']['.$params['grid'].']['.$field.']['.$params['filter_type'].']';
if (isset($params['type'])) {
$ret .= '['.$params['type'].']';
}
return $ret;
}
/**
* Return range filter field value
*
* @param Array $params
* @return string
*/
function SearchField($params) // RangeValue
{
$field = $this->SelectParam($params, 'field,name');
$view_name = $this->Application->RecallVar($this->getPrefixSpecial().'_current_view');
$custom_filter = $this->Application->RecallPersistentVar($this->getPrefixSpecial().'_custom_filter.'.$view_name, ALLOW_DEFAULT_SETTINGS);
$custom_filter = $custom_filter ? unserialize($custom_filter) : Array();
if (isset($custom_filter[ $params['grid'] ][$field])) {
$ret = $custom_filter[ $params['grid'] ][$field][ $params['filter_type'] ]['submit_value'];
if (isset($params['type'])) {
$ret = $ret[ $params['type'] ];
}
if( !$this->HasParam($params, 'no_special') ) $ret = htmlspecialchars($ret);
return $ret;
}
return '';
}
function SearchFormat($params)
{
$field = $params['field'];
$object =& $this->GetList($params);
$options = $object->GetFieldOptions($field);
$format = $options[ $this->SelectParam($params, 'input_format') ? 'input_format' : 'format' ];
$formatter_class = getArrayValue($options,'formatter');
if($formatter_class)
{
$formatter =& $this->Application->recallObject($formatter_class);
$human_format = getArrayValue($params,'human');
$edit_size = getArrayValue($params,'edit_size');
$sample = getArrayValue($params,'sample');
if($sample)
{
return $formatter->GetSample($field, $options, $object);
}
elseif($human_format || $edit_size)
{
$format = $formatter->HumanFormat($format);
return $edit_size ? strlen($format) : $format;
}
}
return $format;
}
/**
* Returns error of range field
*
* @param unknown_type $params
* @return unknown
*/
function SearchError($params)
{
$field = $this->SelectParam($params, 'field,name');
$error_var_name = $this->getPrefixSpecial().'_'.$field.'_error';
$pseudo = $this->Application->RecallVar($error_var_name);
if ($pseudo) {
$this->Application->RemoveVar($error_var_name);
}
$object =& $this->Application->recallObject($this->Prefix.'.'.$this->Special.'-item', null, Array('skip_autoload' => true));
/* @var $object kDBItem */
$object->SetError($field, $pseudo);
return $object->GetErrorMsg($field, false);
}
/**
* Returns templates path for module, which is gathered from prefix module
*
* @param Array $params
* @return string
* @author Alex
*/
function ModulePath($params)
{
$force_module = getArrayValue($params, 'module');
if ($force_module) {
if ($force_module == '#session#') {
$force_module = preg_replace('/([^:]*):.*/', '\1', $this->Application->RecallVar('module'));
if (!$force_module) $force_module = 'core';
}
else {
$force_module = mb_strtolower($force_module);
}
if ($force_module == 'core') {
$module_folder = 'core';
}
else {
$module_folder = trim( $this->Application->findModule('Name', $force_module, 'Path'), '/');
}
}
else {
$module_folder = $this->Application->getUnitOption($this->Prefix, 'ModuleFolder');
}
return '../../'.$module_folder.'/admin_templates/';
}
/**
* Returns object used in tag processor
*
* @access public
* @return kDBBase
*/
function &getObject($params = Array())
{
$object =& $this->Application->recallObject($this->getPrefixSpecial(), $this->Prefix, $params);
if (isset($params['requery']) && $params['requery']) {
$this->Application->HandleEvent($q_event, $this->getPrefixSpecial().':LoadItem', $params);
}
return $object;
}
/**
* Checks if object propery value matches value passed
*
* @param Array $params
* @return bool
*/
function PropertyEquals($params)
{
$object =& $this->getObject($params);
$property_name = $this->SelectParam($params, 'name,var,property');
return $object->$property_name == $params['value'];
}
/**
* Group list records by header, saves internal order in group
*
* @param Array $records
* @param string $heading_field
*/
function groupRecords(&$records, $heading_field)
{
$sorted = Array();
$i = 0; $record_count = count($records);
while ($i < $record_count) {
$sorted[ $records[$i][$heading_field] ][] = $records[$i];
$i++;
}
$records = Array();
foreach ($sorted as $heading => $heading_records) {
$records = array_merge_recursive($records, $heading_records);
}
}
function DisplayOriginal($params)
{
return false;
}
function MultipleEditing($params)
{
$wid = $this->Application->GetTopmostWid($this->Prefix);
$session_name = rtrim($this->getPrefixSpecial().'_selected_ids_'.$wid, '_');
$selected_ids = explode(',', $this->Application->RecallVar($session_name));
$ret = '';
if ($selected_ids) {
$selected_ids = explode(',', $selected_ids);
$object =& $this->getObject( array_merge_recursive2($params, Array('skip_autoload' => true)) );
$params['name'] = $params['render_as'];
foreach ($selected_ids as $id) {
$object->Load($id);
$ret .= $this->Application->ParseBlock($params);
}
}
return $ret;
}
function ExportStatus($params)
{
$export_object =& $this->Application->recallObject('CatItemExportHelper');
$event = new kEvent($this->getPrefixSpecial().':OnDummy');
$action_method = 'perform'.ucfirst($this->Special);
$field_values = $export_object->$action_method($event);
// finish code is done from JS now
if ($field_values['start_from'] >= $field_values['total_records'])
{
if ($this->Special == 'import') {
$this->Application->StoreVar('PermCache_UpdateRequired', 1);
$this->Application->Redirect('categories/cache_updater', Array('m_opener' => 'r', 'pass' => 'm', 'continue' => 1, 'no_amp' => 1));
}
elseif ($this->Special == 'export') {
$finish_t = $this->Application->RecallVar('export_finish_t');
$this->Application->Redirect($finish_t, Array('pass' => 'all'));
$this->Application->RemoveVar('export_finish_t');
}
}
$export_options = $export_object->loadOptions($event);
return $export_options['start_from'] * 100 / $export_options['total_records'];
}
/**
* Returns path where exported category items should be saved
*
* @param Array $params
*/
function ExportPath($params)
{
$ret = EXPORT_PATH.'/';
if( getArrayValue($params, 'as_url') )
{
$ret = str_replace( FULL_PATH.'/', $this->Application->BaseURL(), $ret);
}
$export_options = unserialize($this->Application->RecallVar($this->getPrefixSpecial().'_options'));
$ret .= $export_options['ExportFilename'].'.'.($export_options['ExportFormat'] == 1 ? 'csv' : 'xml');
return $ret;
}
function FieldTotal($params)
{
$list =& $this->GetList($params);
return $list->GetFormattedTotal($this->SelectParam($params, 'field,name'), $params['function']);
}
function SetFCKDefaultLanguage()
{
$lang_id = $this->Application->GetDefaultLanguageId();
$sql="SELECT Locale FROM ".TABLE_PREFIX."Language WHERE LanguageId = ".$lang_id;
$lang_prefix = strtolower($this->Conn->GetOne($sql));
$lang_file=strtolower($this->Conn->GetOne($sql)).'.js';
if (file_exists(FULL_PATH.EDITOR_PATH.'/editor/lang/'.$lang_file))
{
return $lang_prefix;
}
$aLangPrefix = explode("-",$lang_prefix);
if (file_exists(FULL_PATH.EDITOR_PATH.'/editor/lang/'.$aLangPrefix[0].'.js'))
{
return $aLangPrefix[0];
}
return 'en';
}
function FCKEditor($params)
{
$params['no_special'] = 1;
$value = $this->Field($params);
$name = array_key_exists('name', $params) ? $params['name'] : $this->InputName($params);
$theme_path = substr($this->Application->GetFrontThemePath(), 1) . '/inc/';
if (!file_exists(FULL_PATH . '/' . $theme_path . 'style.css')) {
$theme_path = EDITOR_PATH;
}
$styles_xml = $this->Application->BaseURL() . $theme_path . 'styles.xml';
$styles_css = $this->Application->BaseURL() . $theme_path . 'style.css';
$bgcolor = array_key_exists('bgcolor', $params) ? $params['bgcolor'] : $this->Application->GetVar('bgcolor');
if (!$bgcolor) {
$bgcolor = '#ffffff';
}
$url = '';
$st_id = $this->Application->GetVar('st_id');
if ($st_id) {
$sql = 'SELECT NamedParentPath
FROM ' . $this->Application->getUnitOption('st', 'TableName') . '
WHERE ' . $this->Application->getUnitOption('st', 'IDField') . ' = ' . $st_id;
$tpl = $this->Conn->GetOne($sql);
$url_params = Array ('pass' => 'm', 'm_cat_id' => $st_id, 'index_file' => 'index.php');
$url = $this->Application->HREF($tpl, '_FRONT_END_', $url_params);
}
include_once(FULL_PATH . EDITOR_PATH . 'fckeditor.php');
$oFCKeditor = new FCKeditor($name);
$oFCKeditor->FullUrl = $this->Application->BaseURL();
$oFCKeditor->BaseUrl = BASE_PATH . '/';
$oFCKeditor->BasePath = BASE_PATH . EDITOR_PATH;
$oFCKeditor->Width = $params['width'] ;
$oFCKeditor->Height = $params['height'] ;
$oFCKeditor->ToolbarSet = $st_id ? 'Advanced' : 'Default';
$oFCKeditor->Value = $value;
$oFCKeditor->PreviewUrl = $url;
$oFCKeditor->DefaultLanguage = $this->SetFCKDefaultLanguage();
$oFCKeditor->LateLoad = array_key_exists('late_load', $params) && $params['late_load'];
$oFCKeditor->Config = Array (
//'UserFilesPath' => $pathtoroot.'kernel/user_files',
'ProjectPath' => BASE_PATH . '/',
'CustomConfigurationsPath' => $this->Application->BaseURL() . 'core/admin_templates/js/inp_fckconfig.js',
'StylesXmlPath' => $styles_xml,
'EditorAreaCSS' => $styles_css,
'DefaultStyleLabel' => $this->Application->Phrase('la_editor_default_style'),
// 'Debug' => 1,
'Admin' => 1,
'K4' => 1,
'newBgColor' => $bgcolor,
'PreviewUrl' => $url,
'BaseUrl' => BASE_PATH . '/',
'DefaultLanguage' => $this->SetFCKDefaultLanguage(),
'EditorAreaStyles' => 'body { background-color: '.$bgcolor.' }',
);
return $oFCKeditor->CreateHtml();
}
function IsNewItem($params)
{
$object =& $this->getObject($params);
return $object->IsNewItem();
}
/**
* Creates link to an item including only it's id
*
* @param Array $params
* @return string
*/
function ItemLink($params)
{
$object =& $this->getObject($params);
if (!isset($params['pass'])) {
$params['pass'] = 'm';
}
$params[$object->getPrefixSpecial().'_id'] = $object->GetID();
$m =& $this->Application->recallObject('m_TagProcessor');
return $m->t($params);
}
/**
* Calls OnNew event from template, when no other event submitted
*
* @param Array $params
*/
function PresetFormFields($params)
{
$prefix = $this->getPrefixSpecial();
if (!$this->Application->GetVar($prefix.'_event')) {
$this->Application->HandleEvent(new kEvent($prefix.':OnNew'));
}
}
function PrintSerializedFields($params)
{
$object =& $this->getObject();
$field = $this->SelectParam($params, 'field');
$data = unserialize($object->GetDBField($field));
$o = '';
$std_params['name'] = $params['render_as'];
$std_params['field'] = $params['field'];
$std_params['pass_params'] = true;
foreach ($data as $key => $row) {
$block_params = array_merge($std_params, $row, array('key'=>$key));
$o .= $this->Application->ParseBlock($block_params);
}
return $o;
}
/**
* Checks if current prefix is main item
*
* @param Array $params
* @return bool
*/
function IsTopmostPrefix($params)
{
return $this->Prefix == $this->Application->GetTopmostPrefix($this->Prefix);
}
function PermSection($params)
{
$section = $this->SelectParam($params, 'section,name');
$perm_sections = $this->Application->getUnitOption($this->Prefix, 'PermSection');
return isset($perm_sections[$section]) ? $perm_sections[$section] : '';
}
function PerPageSelected($params)
{
$list =& $this->GetList($params);
return $list->PerPage == $params['per_page'] ? $params['selected'] : '';
}
/**
* Returns prefix + generated sepcial + any word
*
* @param Array $params
* @return string
*/
function VarName($params)
{
$list =& $this->GetList($params);
return $list->getPrefixSpecial().'_'.$params['type'];
}
/**
* Returns edit tabs by specified preset name or false in case of error
*
* @param string $preset_name
* @return mixed
*/
function getEditTabs($preset_name)
{
$presets = $this->Application->getUnitOption($this->Prefix, 'EditTabPresets');
if (!$presets || !isset($presets[$preset_name]) || count($presets[$preset_name]) == 0) {
return false;
}
return count($presets[$preset_name]) > 1 ? $presets[$preset_name] : false;
}
/**
* Detects if specified preset has tabs in it
*
* @param Array $params
* @return bool
*/
function HasEditTabs($params)
{
return $this->getEditTabs($params['preset_name']) ? true : false;
}
/**
* Sorts edit tabs based on their priority
*
* @param Array $tab_a
* @param Array $tab_b
* @return int
*/
function sortEditTabs($tab_a, $tab_b)
{
if ($tab_a['priority'] == $tab_b['priority']) {
return 0;
}
return $tab_a['priority'] < $tab_b['priority'] ? -1 : 1;
}
/**
* Prints edit tabs based on preset name specified
*
* @param Array $params
* @return string
*/
function PrintEditTabs($params)
{
$edit_tabs = $this->getEditTabs($params['preset_name']);
if (!$edit_tabs) {
return ;
}
usort($edit_tabs, Array (&$this, 'sortEditTabs'));
$ret = '';
$block_params = $this->prepareTagParams($params);
$block_params['name'] = $params['render_as'];
foreach ($edit_tabs as $tab_info) {
$block_params['title'] = $tab_info['title'];
$block_params['template'] = $tab_info['t'];
$ret .= $this->Application->ParseBlock($block_params);
}
return $ret;
}
/**
* Performs image resize to required dimensions and returns resulting url (cached resized image)
*
* @param Array $params
* @return string
*/
function ImageSrc($params)
{
$max_width = isset($params['MaxWidth']) ? $params['MaxWidth'] : false;
$max_height = isset($params['MaxHeight']) ? $params['MaxHeight'] : false;
$logo_filename = isset($params['LogoFilename']) ? $params['LogoFilename'] : false;
$logo_h_margin = isset($params['LogoHMargin']) ? $params['LogoHMargin'] : false;
$logo_v_margin = isset($params['LogoVMargin']) ? $params['LogoVMargin'] : false;
$object =& $this->getObject($params);
$field = $this->SelectParam($params, 'name,field');
return $object->GetField($field, 'resize:'.$max_width.'x'.$max_height.';wm:'.$logo_filename.'|'.$logo_h_margin.'|'.$logo_v_margin);
}
/**
* Allows to retrieve given setting from unit config
*
* @param Array $params
* @return mixed
*/
function UnitOption($params)
{
return $this->Application->getUnitOption($this->Prefix, $params['name']);
}
/**
* Returns list of allowed toolbar buttons or false, when all is allowed
*
* @param Array $params
* @return string
*/
function VisibleToolbarButtons($params)
{
$preset_name = $params['title_preset'];
$title_presets = $this->Application->getUnitOption($this->Prefix, 'TitlePresets');
if (!array_key_exists($preset_name, $title_presets)) {
trigger_error('Title preset not specified or missing (in tag "<strong>' . $this->getPrefixSpecial() . ':' . __METHOD__ . '</strong>")', E_USER_WARNING);
return false;
}
$preset_info = $title_presets[$preset_name];
if (!array_key_exists('toolbar_buttons', $preset_info) || !is_array($preset_info['toolbar_buttons'])) {
return false;
}
// always add search buttons
array_push($preset_info['toolbar_buttons'], 'search', 'search_reset_alt');
$toolbar_buttons = array_map('addslashes', $preset_info['toolbar_buttons']);
return $toolbar_buttons ? "'" . implode("', '", $toolbar_buttons) . "'" : 'false';
}
/**
* Checks, that "To" part of at least one of range filters is used
*
* @param Array $params
* @return bool
*/
function RangeFiltersUsed($params)
{
$search_helper =& $this->Application->recallObject('SearchHelper');
/* @var $search_helper kSearchHelper */
return $search_helper->rangeFiltersUsed($this->getPrefixSpecial(), $params['grid']);
}
/**
* This is abstract tag, used to modify unit config data based on template, where it's used.
* Tag is called from "combined_header" block in admin only.
*
* @param Array $params
*/
function ModifyUnitConfig($params)
{
}
+
+ /**
+ * Checks, that field is visible on edit form
+ *
+ * @param Array $params
+ * @return bool
+ */
+ function FieldVisible($params)
+ {
+ $check_field = $params['field'];
+ $fields = $this->Application->getUnitOption($this->Prefix, 'Fields');
+ $show_mode = array_key_exists('show_mode', $fields[$check_field]) ? $fields[$check_field]['show_mode'] : true;
+
+ if ($show_mode === smDEBUG) {
+ return defined('DEBUG_MODE') && DEBUG_MODE;
+ }
+
+ return $show_mode;
+ }
+
+ /**
+ * Checks, that there area visible fields in given section on edit form
+ *
+ * @param Array $params
+ * @return bool
+ */
+ function FieldsVisible($params)
+ {
+ if (!$params['fields']) {
+ return true;
+ }
+
+ $fields = $this->Application->getUnitOption($this->Prefix, 'Fields');
+ $check_fields = explode(',', $params['fields']);
+
+ foreach ($check_fields as $check_field) {
+ // when at least one field in subsection is visible, then subsection is visible too
+ $show_mode = array_key_exists('show_mode', $fields[$check_field]) ? $fields[$check_field]['show_mode'] : true;
+ if (($show_mode === true) || (($show_mode === smDEBUG) && (defined('DEBUG_MODE') && DEBUG_MODE))) {
+ // field is visible
+ return true;
+ }
+ }
+
+ return false;
+ }
}
?>
\ No newline at end of file
Property changes on: branches/RC/core/kernel/db/db_tag_processor.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.97.2.47
\ No newline at end of property
+1.97.2.48
\ No newline at end of property
Index: branches/RC/core/kernel/application.php
===================================================================
--- branches/RC/core/kernel/application.php (revision 11684)
+++ branches/RC/core/kernel/application.php (revision 11685)
@@ -1,2873 +1,2869 @@
<?php
/**
* Basic class for Kernel3-based Application
*
* This class is a Facade for any other class which needs to deal with Kernel3 framework.<br>
* The class incapsulates the main run-cycle of the script, provide access to all other objects in the framework.<br>
* <br>
* The class is a singleton, which means that there could be only one instance of KernelApplication in the script.<br>
* This could be guranteed by NOT calling the class constuctor directly, but rather calling KernelApplication::Instance() method,
* which returns an instance of the application. The method gurantees that it will return exactly the same instance for any call.<br>
* See singleton pattern by GOF.
* @package kernel4
*/
class kApplication {
/**
* Is true, when Init method was called already, prevents double initialization
*
* @var bool
*/
var $InitDone = false;
/**
* Holds internal NParser object
* @access private
* @var NParser
*/
var $Parser;
/**
* New Parser (Experimental)
*
* @var NParser
*/
var $NParser;
/**
* Holds parser output buffer
* @access private
* @var string
*/
var $HTML;
/**
* Prevents request from beeing proceeded twice in case if application init is called mere then one time
*
* @var bool
* @todo This is not good anyway (by Alex)
*/
var $RequestProcessed = false;
/**
* The main Factory used to create
* almost any class of kernel and
* modules
*
* @access private
* @var kFactory
*/
var $Factory;
/**
* All ConfigurationValues table content (hash) here
*
* @var Array
* @access private
*/
var $ConfigHash = Array();
/**
* Ids of config variables used in current run (for caching)
*
* @var Array
* @access private
*/
var $ConfigCacheIds = array();
/**
* Template names, that will be used instead of regular templates
*
* @var Array
*/
var $ReplacementTemplates = Array ();
/**
* Reference to debugger
*
* @var Debugger
*/
var $Debugger = null;
/**
* Holds all phrases used
* in code and template
*
* @var PhrasesCache
*/
var $Phrases;
/**
* Modules table content, key - module name
*
* @var Array
*/
var $ModuleInfo = Array();
/**
* Holds DBConnection
*
* @var kDBConnection
*/
var $Conn = null;
/**
* Maintains list of user-defined error handlers
*
* @var Array
*/
var $errorHandlers = Array();
// performance needs:
/**
* Holds a refererence to httpquery
*
* @var kHttpQuery
*/
var $HttpQuery = null;
/**
* Holds a reference to UnitConfigReader
*
* @var kUnitConfigReader
*/
var $UnitConfigReader = null;
/**
* Holds a reference to Session
*
* @var Session
*/
var $Session = null;
/**
* Holds a ref to kEventManager
*
* @var kEventManager
*/
var $EventManager = null;
/**
* Ref to itself, needed because everybody used to write $this->Application, even inside kApplication
*
* @var kApplication
*/
var $Application = null;
/**
* Ref for TemplatesChache
*
* @var TemplatesCache
*/
var $TemplatesCache = null;
var $CompilationCache = array(); //used when compiling templates
var $CachedProcessors = array(); //used when running compiled templates
var $LambdaElements = 1; // for autonumbering unnamed RenderElements [any better place for this prop? KT]
/**
* Holds current NParser tag while parsing, can be used in error messages to display template file and line
*
* @var unknown_type
*/
var $CurrentNTag = null;
/**
* Memcache object pointer
*
* @var Memcache
*/
var $Memcached = null;
/**
* Returns kApplication instance anywhere in the script.
*
* This method should be used to get single kApplication object instance anywhere in the
* Kernel-based application. The method is guranteed to return the SAME instance of kApplication.
* Anywhere in the script you could write:
* <code>
* $application =& kApplication::Instance();
* </code>
* or in an object:
* <code>
* $this->Application =& kApplication::Instance();
* </code>
* to get the instance of kApplication. Note that we call the Instance method as STATIC - directly from the class.
* To use descendand of standard kApplication class in your project you would need to define APPLICATION_CLASS constant
* BEFORE calling kApplication::Instance() for the first time. If APPLICATION_CLASS is not defined the method would
* create and return default KernelApplication instance.
* @static
* @access public
* @return kApplication
*/
function &Instance()
{
static $instance = false;
if(!$instance)
{
safeDefine('APPLICATION_CLASS', 'kApplication');
$class = APPLICATION_CLASS;
$instance = new $class();
$instance->Application =& $instance;
}
return $instance;
}
function InitMemcached()
{
return ;
$memcached_servers = 'localhost:11211'; // $this->Application->ConfigValue('MemcachedServers');
if ($memcached_servers && class_exists('Memcache')) {
$this->Memcached = new Memcache();
$servers = explode(';', $memcached_servers);
foreach ($servers as $server) {
list ($server, $port) = strpos($server, ':') !== false ? explode(':', $server, 2) : Array ($server, 11211);
$this->Memcached->addServer($server, $port);
}
}
//try to set something to cache, if not working - set $this->Memcached to null
}
function CacheSet($name, $value, $expiration)
{
if (isset($this->Memcached)) {
return $this->Memcached->set($name, $value, 0, $expiration);
}
return false;
}
function CacheGet($name)
{
if (isset($this->Memcached)) {
return $this->Memcached->get($name);
}
return false;
}
/**
* Initializes the Application
*
* @access public
* @see kHTTPQuery
* @see Session
* @see TemplatesCache
* @return bool Was Init actually made now or before
*/
function Init()
{
if($this->InitDone) return false;
$this->InitMemcached();
if (!constOn('SKIP_OUT_COMPRESSION')) {
ob_start(); // collect any output from method (other then tags) into buffer
}
if(defined('DEBUG_MODE') && $this->isDebugMode() && constOn('DBG_PROFILE_MEMORY')) {
$this->Debugger->appendMemoryUsage('Application before Init:');
}
if (!$this->isDebugMode() && !constOn('DBG_ZEND_PRESENT')) {
error_reporting(0);
ini_set('display_errors', 0);
}
if (!constOn('DBG_ZEND_PRESENT')) {
$error_handler = set_error_handler( Array (&$this, 'handleError') );
if ($error_handler) {
// wrap around previous error handler, if any was set
$this->errorHandlers[] = $error_handler;
}
}
$this->Conn = new kDBConnection(SQL_TYPE, Array(&$this, 'handleSQLError') );
$this->Conn->debugMode = $this->isDebugMode();
$this->Conn->Connect(SQL_SERVER, SQL_USER, SQL_PASS, SQL_DB);
$this->Factory = new kFactory();
$this->registerDefaultClasses();
$this->Phrases = new PhrasesCache();
$this->EventManager =& $this->Factory->makeClass('EventManager');
$this->Factory->Storage['EventManager'] =& $this->EventManager;
$this->RegisterDefaultBuildEvents();
$this->SetDefaultConstants();
if( defined('DEBUG_MODE') && $this->isDebugMode() ) {
$this->Debugger->appendTimestamp('Before UnitConfigReader');
}
$this->UnitConfigReader =& $this->recallObject('kUnitConfigReader');
$this->UnitConfigReader->scanModules(MODULES_PATH);
$this->registerModuleConstants();
if( defined('DEBUG_MODE') && $this->isDebugMode() ) {
$this->Debugger->appendTimestamp('After UnitConfigReader');
}
$rewrite_on = $this->ConfigValue('UseModRewrite');
// admin=1 - when front is browsed using admin session
$admin_on = getArrayValue($_REQUEST, 'admin') || $this->IsAdmin();
define('MOD_REWRITE', $rewrite_on && !$admin_on ? 1 : 0);
$this->HttpQuery =& $this->recallObject('HTTPQuery');
if( defined('DEBUG_MODE') && $this->isDebugMode() ) {
$this->Debugger->appendTimestamp('Processed HTTPQuery initial');
}
$this->Session =& $this->recallObject('Session');
if( defined('DEBUG_MODE') && $this->isDebugMode() ) {
$this->Debugger->appendTimestamp('Processed Session');
}
if (!$this->RecallVar('UserGroups')) {
$user_groups = trim($this->Session->GetField('GroupList'), ',');
if (!$user_groups) {
$user_groups = $this->ConfigValue('User_GuestGroup');
}
$this->Session->SetField('GroupList', $user_groups);
$this->StoreVar('UserGroups', $user_groups);
}
$this->HttpQuery->AfterInit();
$this->Session->ValidateExpired();
if( defined('DEBUG_MODE') && $this->isDebugMode() ) {
$this->Debugger->appendTimestamp('Processed HTTPQuery AfterInit');
}
$this->LoadCache();
$this->InitConfig();
$this->Phrases->Init('phrases');
if( defined('DEBUG_MODE') && $this->isDebugMode() ) {
$this->Debugger->appendTimestamp('Loaded cache and phrases');
}
$this->UnitConfigReader->AfterConfigRead();
if( defined('DEBUG_MODE') && $this->isDebugMode() ) {
$this->Debugger->appendTimestamp('Processed AfterConfigRead');
}
/*// Module items are recalled during url parsing & PhrasesCache is needed already there,
// because it's used in their build events. That's why phrases cache initialization is
// called from kHTTPQuery in case when mod_rewrite is used
if (!$this->RewriteURLs()) {
$this->Phrases = new PhrasesCache();
}*/
if ($this->GetVar('m_cat_id') === false) $this->SetVar('m_cat_id', 0);
if( !$this->RecallVar('curr_iso') ) $this->StoreVar('curr_iso', $this->GetPrimaryCurrency() );
$this->SetVar('visits_id', $this->RecallVar('visit_id') );
$language =& $this->recallObject( 'lang.current', null, Array('live_table' => true) );
if (preg_match('/utf-8/', $language->GetDBField('Charset'))) {
setlocale(LC_ALL, 'en_US.UTF-8');
mb_internal_encoding('UTF-8');
}
$this->ValidateLogin();
if( defined('DEBUG_MODE') && $this->isDebugMode() ) {
$this->Debugger->profileFinish('kernel4_startup');
}
$this->InitDone = true;
$this->HandleEvent( new kEvent('adm:OnStartup') );
return true;
}
/**
* Returns module information. Searches module by requested field
*
* @param string $field
* @param mixed $value
* @param string field value to returns, if not specified, then return all fields
* @param string field to return
* @return Array
*/
function findModule($field, $value, $return_field = null)
{
$found = false;
foreach ($this->ModuleInfo as $module_name => $module_info) {
if (strtolower($module_info[$field]) == strtolower($value)) {
$found = true;
break;
}
}
if ($found) {
return isset($return_field) ? $module_info[$return_field] : $module_info;
}
return false;
}
function refreshModuleInfo()
{
if (defined('IS_INSTALL') && IS_INSTALL && !$this->TableFound('Modules')) {
$this->registerModuleConstants();
return false;
}
$modules_helper =& $this->recallObject('ModulesHelper');
$this->ModuleInfo = $this->Conn->Query('SELECT * FROM '.TABLE_PREFIX.'Modules WHERE Loaded = 1 ORDER BY LoadOrder', 'Name');
$sql = 'SELECT *
FROM '.TABLE_PREFIX.'Modules
WHERE '.$modules_helper->getWhereClause().'
ORDER BY LoadOrder';
$this->ModuleInfo = $this->Conn->Query($sql, 'Name');
$this->registerModuleConstants();
}
/**
* Checks if passed language id if valid and sets it to primary otherwise
*
*/
function VerifyLanguageId()
{
$language_id = $this->GetVar('m_lang');
if (!$language_id) {
$language_id = 'default';
}
$this->SetVar('lang.current_id', $language_id );
$this->SetVar('m_lang', $language_id );
$lang_mode = $this->GetVar('lang_mode');
$this->SetVar('lang_mode', '');
$lang =& $this->recallObject('lang.current');
if ( !$lang->IsLoaded() || (!$this->Application->IsAdmin() && !$lang->GetDBField('Enabled')) ) {
if (!defined('IS_INSTALL')) $this->ApplicationDie('Unknown or disabled language');
}
$this->SetVar('lang_mode',$lang_mode);
}
/**
* Checks if passed theme id if valid and sets it to primary otherwise
*
*/
function VerifyThemeId()
{
if ($this->Application->IsAdmin()) {
safeDefine('THEMES_PATH', '/core/admin_templates');
return;
}
$path = $this->GetFrontThemePath();
if ($path === false) {
$this->ApplicationDie('No Primary Theme Selected or Current Theme is Unknown or Disabled');
}
safeDefine('THEMES_PATH', $path);
/*$theme_id = $this->GetVar('m_theme');
if (!$theme_id) {
$theme_id = $this->GetDefaultThemeId();
if (!$theme_id) {
if (!defined('IS_INSTALL')) $this->ApplicationDie('No Primary Theme Selected');
}
}
$this->SetVar('m_theme', $theme_id);
$this->SetVar('theme.current_id', $theme_id ); // KOSTJA: this is to fool theme' getPassedId
$theme =& $this->recallObject('theme.current');
if (!$theme->IsLoaded() || !$theme->GetDBField('Enabled')) {
if (!defined('IS_INSTALL')) $this->ApplicationDie('Unknown or disabled theme');
}
safeDefine('THEMES_PATH', '/themes/'.$theme->GetDBField('Name'));*/
}
function GetFrontThemePath($force=0)
{
static $path=null;
if (!$force && isset($path)) return $path;
$theme_id = $this->GetVar('m_theme');
if (!$theme_id) {
// $theme_id = $this->GetDefaultThemeId(1); //1 to force front-end mode!
$theme_id = 'default';
}
$this->SetVar('m_theme', $theme_id);
$this->SetVar('theme.current_id', $theme_id ); // KOSTJA: this is to fool theme' getPassedId
$theme =& $this->recallObject('theme.current');
if (!$theme->IsLoaded() || !$theme->GetDBField('Enabled')) {
return false;
}
$path = '/themes/'.$theme->GetDBField('Name');
return $path;
}
function GetDefaultLanguageId()
{
static $language_id = 0;
if ($language_id > 0) {
return $language_id;
}
$table = $this->getUnitOption('lang', 'TableName');
$id_field = $this->getUnitOption('lang', 'IDField');
$sql = 'SELECT '.$id_field.'
FROM '.$table.'
WHERE (PrimaryLang = 1) AND (Enabled = 1)';
$language_id = $this->Conn->GetOne($sql);
if (!$language_id && defined('IS_INSTALL') && IS_INSTALL) {
$language_id = 1;
}
return $language_id;
}
function GetDefaultThemeId($force_front=0)
{
static $theme_id = 0;
if ($theme_id > 0) {
return $theme_id;
}
if (constOn('DBG_FORCE_THEME')) {
$theme_id = DBG_FORCE_THEME;
}
elseif (!$force_front && $this->IsAdmin()) {
$theme_id = 999;
}
else {
$table = $this->getUnitOption('theme','TableName');
$id_field = $this->getUnitOption('theme','IDField');
$sql = 'SELECT '.$id_field.'
FROM '.$table.'
WHERE (PrimaryTheme = 1) AND (Enabled = 1)';
$theme_id = $this->Conn->GetOne($sql);
}
return $theme_id;
}
function GetPrimaryCurrency()
{
if ($this->isModuleEnabled('In-Commerce')) {
$table = $this->getUnitOption('curr', 'TableName');
return $this->Conn->GetOne('SELECT ISO FROM '.$table.' WHERE IsPrimary = 1');
}
else {
return 'USD';
}
}
/**
* Registers default classes such as ItemController, GridController and LoginController
*
* Called automatically while initializing Application
* @access private
* @return void
*/
function RegisterDefaultClasses()
{
$this->registerClass('kTempTablesHandler', KERNEL_PATH.'/utility/temp_handler.php');
$this->registerClass('kEventManager', KERNEL_PATH.'/event_manager.php', 'EventManager');
$this->registerClass('kUnitConfigReader', KERNEL_PATH.'/utility/unit_config_reader.php');
$this->registerClass('kArray', KERNEL_PATH.'/utility/params.php');
$this->registerClass('Params', KERNEL_PATH.'/utility/params.php');
$this->registerClass('kHelper', KERNEL_PATH.'/kbase.php');
$this->registerClass('kCache', KERNEL_PATH.'/utility/cache.php', 'Cache', Array('Params'));
$this->registerClass('kHTTPQuery', KERNEL_PATH.'/utility/http_query.php', 'HTTPQuery', Array('Params') );
$this->registerClass('Session', KERNEL_PATH.'/session/session.php');
$this->registerClass('SessionStorage', KERNEL_PATH.'/session/session.php');
$this->registerClass('Params', KERNEL_PATH.'/utility/params.php', 'kActions');
$this->registerClass('kMultipleFilter', KERNEL_PATH.'/utility/filters.php');
$this->registerClass('kDBList', KERNEL_PATH.'/db/dblist.php');
$this->registerClass('kDBItem', KERNEL_PATH.'/db/dbitem.php');
$this->registerClass('kDBEventHandler', KERNEL_PATH.'/db/db_event_handler.php');
$this->registerClass('kTagProcessor', KERNEL_PATH.'/processors/tag_processor.php');
$this->registerClass('kMainTagProcessor', KERNEL_PATH.'/processors/main_processor.php','m_TagProcessor', 'kTagProcessor');
$this->registerClass('kDBTagProcessor', KERNEL_PATH.'/db/db_tag_processor.php', null, 'kTagProcessor');
$this->registerClass('TemplatesCache', KERNEL_PATH.'/parser/template.php',null, 'kDBTagProcessor');
$this->registerClass('Template', KERNEL_PATH.'/parser/template.php');
$this->registerClass('TemplateParser', KERNEL_PATH.'/parser/template_parser.php',null, 'kDBTagProcessor');
$this->registerClass('NParser', KERNEL_PATH.'/nparser/nparser.php');
$this->registerClass('kEmailSendingHelper', KERNEL_PATH.'/utility/email_send.php', 'EmailSender', Array('kHelper'));
$this->registerClass('kSocket', KERNEL_PATH.'/utility/socket.php', 'Socket');
if (file_exists(MODULES_PATH.'/in-commerce/units/currencies/currency_rates.php')) {
$this->registerClass('kCurrencyRates', MODULES_PATH.'/in-commerce/units/currencies/currency_rates.php');
}
$this->registerClass('FCKeditor', FULL_PATH.'/admin/editor/cmseditor/fckeditor.php'); // need this?
/* Moved from MyApplication */
$this->registerClass('Inp1Parser',KERNEL_PATH.'/../units/general/inp1_parser.php','Inp1Parser');
$this->registerClass('InpSession',KERNEL_PATH.'/../units/general/inp_ses_storage.php','Session');
$this->registerClass('InpSessionStorage',KERNEL_PATH.'/../units/general/inp_ses_storage.php','SessionStorage');
$this->registerClass('kCatDBItem',KERNEL_PATH.'/../units/general/cat_dbitem.php');
$this->registerClass('kCatDBItemExportHelper',KERNEL_PATH.'/../units/general/cat_dbitem_export.php', 'CatItemExportHelper');
$this->registerClass('kCatDBList',KERNEL_PATH.'/../units/general/cat_dblist.php');
$this->registerClass('kCatDBEventHandler',KERNEL_PATH.'/../units/general/cat_event_handler.php');
$this->registerClass('kCatDBTagProcessor',KERNEL_PATH.'/../units/general/cat_tag_processor.php');
// Do not move to config - this helper is used before configs are read
$this->registerClass('kModulesHelper', KERNEL_PATH.'/../units/general/helpers/modules.php', 'ModulesHelper');
/* End moved */
}
function RegisterDefaultBuildEvents()
{
$event_manager =& $this->recallObject('EventManager');
$event_manager->registerBuildEvent('kTempTablesHandler', 'OnTempHandlerBuild');
}
/**
* Returns item's filename that corresponds id passed. If possible, then get it from cache
*
* @param string $prefix
* @param int $id
* @return string
*/
function getFilename($prefix, $id, $category_id=null)
{
$filename = $this->getCache('filenames', $prefix.'_'.$id);
if ($filename === false) {
$table = $this->getUnitOption($prefix, 'TableName');
$id_field = $this->getUnitOption($prefix, 'IDField');
if ($prefix == 'c') {
if(!$id) {
$this->setCache('filenames', $prefix.'_'.$id, '');
return '';
}
// this allows to save 2 sql queries for each category
$sql = 'SELECT NamedParentPath, CachedTemplate, TreeLeft, TreeRight
FROM '.$table.'
WHERE '.$id_field.' = '.$this->Conn->qstr($id);
$category_data = $this->Conn->GetRow($sql);
// only direct links to category pages work (symlinks, container pages and so on won't work)
$filename = $category_data['NamedParentPath'];
$this->setCache('category_templates', $id, $filename /*$category_data['CachedTemplate']*/);
$this->setCache('category_tree', $id, $category_data['TreeLeft'] . ';' . $category_data['TreeRight']);
// $this->setCache('item_templates', $id, $category_data['CachedItemTemplate']);
}
else {
$resource_id = $this->Conn->GetOne('SELECT ResourceId FROM '.$table.' WHERE '.$id_field.' = '.$this->Conn->qstr($id));
if (is_null($category_id)) $category_id = $this->GetVar('m_cat_id');
$sql = 'SELECT Filename FROM '.TABLE_PREFIX.'CategoryItems WHERE ItemResourceId = '.$resource_id.' AND CategoryId = '.$category_id;
$filename = $this->Conn->GetOne($sql);
/*if (!$filename) {
$sql = 'SELECT Filename FROM '.TABLE_PREFIX.'CategoryItems WHERE ItemResourceId = '.$resource_id.' AND PrimaryCat = 1';
$filename = $this->Conn->GetOne($sql);
}*/
/*$sql = 'SELECT Filename
FROM '.$table.'
WHERE '.$id_field.' = '.$this->Conn->qstr($id);
$filename = $this->Conn->GetOne($sql);*/
}
$this->setCache('filenames', $prefix.'_'.$id, $filename);
}
return $filename;
}
/**
* Adds new value to cache $cache_name and identified by key $key
*
* @param string $cache_name cache name
* @param int $key key name to add to cache
* @param mixed $value value of chached record
*/
function setCache($cache_name, $key, $value, $expiration=3600)
{
$cache =& $this->recallObject('Cache');
/* @var $cache kCache */
return $cache->setCache($cache_name, $key, $value, $expiration);
}
/**
* Returns cached $key value from cache named $cache_name
*
* @param string $cache_name cache name
* @param int $key key name from cache
* @return mixed
*/
function getCache($cache_name, $key)
{
$cache =& $this->recallObject('Cache');
return $cache->getCache($cache_name, $key);
}
/**
* Defines default constants if it's not defined before - in config.php
*
* @access private
*/
function SetDefaultConstants() // it's defined in startup.php - can be removed??
{
safeDefine('SERVER_NAME', $_SERVER['HTTP_HOST']);
}
/**
* Registers each module specific constants if any found
*
*/
function registerModuleConstants()
{
if (file_exists(KERNEL_PATH.'/constants.php')) {
k4_include_once(KERNEL_PATH.'/constants.php');
}
if (!$this->ModuleInfo) return false;
foreach($this->ModuleInfo as $module_name => $module_info)
{
$module_path = '/'.$module_info['Path'];
$contants_file = FULL_PATH.$module_path.'constants.php';
if( file_exists($contants_file) ) k4_include_once($contants_file);
}
return true;
}
function ProcessRequest()
{
$event_manager =& $this->recallObject('EventManager');
/* @var $event_manager kEventManager */
if($this->isDebugMode() && constOn('DBG_SHOW_HTTPQUERY')) {
$this->Debugger->appendHTML('HTTPQuery:');
$this->Debugger->dumpVars($this->HttpQuery->_Params);
}
$event_manager->ProcessRequest();
$event_manager->RunRegularEvents(reBEFORE);
$this->RequestProcessed = true;
}
/**
* Actually runs the parser against current template and stores parsing result
*
* This method gets t variable passed to the script, loads the template given in t variable and
* parses it. The result is store in {@link $this->HTML} property.
* @access public
* @return void
*/
function Run()
{
if($this->isDebugMode() && constOn('DBG_PROFILE_MEMORY')) {
$this->Debugger->appendMemoryUsage('Application before Run:');
}
if ($this->IsAdmin()) {
// for permission checking in events & templates
$this->LinkVar('module'); // for common configuration templates
$this->LinkVar('module_key'); // for common search templates
$this->LinkVar('section'); // for common configuration templates
if ($this->GetVar('m_opener') == 'p') {
$this->LinkVar('main_prefix'); // window prefix, that opened selector
$this->LinkVar('dst_field'); // field to set value choosed in selector
// $this->LinkVar('return_template'); // template to go, when something was coosen from popup (from finalizePopup)
// $this->LinkVar('return_m'); // main env part to restore after popup will be closed (from finalizePopup)
}
if ($this->GetVar('ajax') == 'yes' && !$this->GetVar('debug_ajax')) {
// hide debug output from ajax requests automatically
define('DBG_SKIP_REPORTING', 1);
}
}
elseif ($this->GetVar('admin')) {
// viewing front-end through admin's frame
$admin_session =& $this->Application->recallObject('Session.admin');
$user = (int)$admin_session->RecallVar('user_id'); // in case, when no valid admin session found
$perm_helper =& $this->recallObject('PermissionsHelper');
/* @var $perm_helper kPermissionsHelper */
if ($perm_helper->CheckUserPermission($user, 'CATEGORY.MODIFY', 0, 0)) {
// user can edit cms blocks
$editing_mode = $this->GetVar('editing_mode');
define('EDITING_MODE', $editing_mode ? $editing_mode : EDITING_MODE_CMS);
}
}
safeDefine('EDITING_MODE', ''); // user can't edit anything
if (!$this->RequestProcessed) $this->ProcessRequest();
$this->InitParser();
$t = $this->GetVar('t');
if (!$this->TemplatesCache->TemplateExists($t) && !$this->IsAdmin()) {
$cms_handler =& $this->recallObject('st_EventHandler');
/* @var $cms_handler CategoriesEventHandler */
$t = ltrim($cms_handler->GetDesignTemplate(), '/');
if ($this->isDebugMode()) {
$this->Debugger->appendHTML('<strong>Design Template</strong>: ' . $t . '; <strong>CategoryID</strong>: ' . $this->GetVar('m_cat_id'));
}
}
/*else {
$cms_handler->SetCatByTemplate();
}*/
if($this->isDebugMode() && constOn('DBG_PROFILE_MEMORY')) {
$this->Debugger->appendMemoryUsage('Application before Parsing:');
}
if (defined('NPARSER') && 'NPARSER') {
$this->HTML = $this->NParser->Run( $t );
}
else {
$this->HTML = $this->Parser->ParseTemplate( $t );
}
if ($this->isDebugMode() && constOn('DBG_PROFILE_MEMORY')) {
$this->Debugger->appendMemoryUsage('Application after Parsing:');
}
}
function InitParser($theme_name = false)
{
if (defined('NPARSER') && 'NPARSER') {
if( !is_object($this->NParser) ) {
$this->NParser =& $this->recallObject('NParser');
$this->TemplatesCache =& $this->recallObject('TemplatesCache');
// can be removed in future
// $this->Parser =& $this->recallObject('TemplateParser');
$this->Parser =& $this->NParser;
}
}
else {
if( !is_object($this->Parser) ) {
$this->Parser =& $this->recallObject('TemplateParser');
$this->TemplatesCache =& $this->recallObject('TemplatesCache');
}
}
$this->TemplatesCache->forceThemeName = $theme_name;
}
/**
* Send the parser results to browser
*
* Actually send everything stored in {@link $this->HTML}, to the browser by echoing it.
* @access public
* @return void
*/
function Done()
{
$this->HandleEvent( new kEvent('adm:OnBeforeShutdown') );
if ($this->isDebugMode() && constOn('DBG_PROFILE_MEMORY')) {
$this->Debugger->appendMemoryUsage('Application before Done:');
}
//eval("?".">".$this->HTML);
if ($this->isDebugMode()) {
$this->EventManager->RunRegularEvents(reAFTER);
$this->Session->SaveData();
if (constOn('DBG_CACHE')) {
$cache =& $this->recallObject('Cache');
$cache->printStatistics();
}
$this->HTML = ob_get_clean() . $this->HTML . $this->Debugger->printReport(true);
}
else {
$this->HTML = ob_get_clean().$this->HTML;
}
if ($this->UseOutputCompression()) {
header('Content-Encoding: gzip');
$compression_level = $this->ConfigValue('OutputCompressionLevel');
if ($compression_level < 0 || $compression_level > 9) $compression_level = 7;
echo gzencode($this->HTML, $compression_level);
}
else {
echo $this->HTML;
}
$this->UpdateCache();
flush();
if (!$this->isDebugMode()) {
$this->EventManager->RunRegularEvents(reAFTER);
$this->Session->SaveData();
}
if (defined('DBG_CAPTURE_STATISTICS') && DBG_CAPTURE_STATISTICS && !$this->IsAdmin()) {
$this->_storeStatistics();
}
}
/**
* Stores script execution statistics to database
*
*/
function _storeStatistics()
{
global $start;
$script_time = getmicrotime() - $start;
$query_statistics = $this->Conn->getQueryStatistics(); // time & count
$sql = 'SELECT *
FROM ' . TABLE_PREFIX . 'StatisticsCapture
WHERE TemplateName = "' . $this->GetVar('t') . '"';
$data = $this->Conn->GetRow($sql);
if ($data) {
$this->_updateAverageStatistics($data, 'ScriptTime', $script_time);
$this->_updateAverageStatistics($data, 'SqlTime', $query_statistics['time']);
$this->_updateAverageStatistics($data, 'SqlCount', $query_statistics['count']);
$data['Hits']++;
$data['LastHit'] = adodb_mktime();
$this->Conn->doUpdate($data, TABLE_PREFIX . 'StatisticsCapture', 'StatisticsId = ' . $data['StatisticsId']);
}
else {
$data['ScriptTimeMin'] = $data['ScriptTimeAvg'] = $data['ScriptTimeMax'] = $script_time;
$data['SqlTimeMin'] = $data['SqlTimeAvg'] = $data['SqlTimeMax'] = $query_statistics['time'];
$data['SqlCountMin'] = $data['SqlCountAvg'] = $data['SqlCountMax'] = $query_statistics['count'];
$data['TemplateName'] = $this->GetVar('t');
$data['Hits'] = 1;
$data['LastHit'] = adodb_mktime();
$this->Conn->doInsert($data, TABLE_PREFIX . 'StatisticsCapture');
}
}
/**
* Calculates average time for statistics
*
* @param Array $data
* @param string $field_prefix
* @param float $current_value
*/
function _updateAverageStatistics(&$data, $field_prefix, $current_value)
{
$data[$field_prefix . 'Avg'] = (($data['Hits'] * $data[$field_prefix . 'Avg']) + $current_value) / ($data['Hits'] + 1);
if ($current_value < $data[$field_prefix . 'Min']) {
$data[$field_prefix . 'Min'] = $current_value;
}
if ($current_value > $data[$field_prefix . 'Max']) {
$data[$field_prefix . 'Max'] = $current_value;
}
}
function logSlowQuery($slow_sql, $time)
{
$query_crc = crc32($slow_sql);
$sql = 'SELECT *
FROM ' . TABLE_PREFIX . 'SlowSqlCapture
WHERE QueryCrc = ' . $query_crc;
$data = $this->Conn->Query($sql, null, true);
if ($data) {
$this->_updateAverageStatistics($data, 'Time', $time);
$template_names = explode(',', $data['TemplateNames']);
array_push($template_names, $this->GetVar('t'));
$data['TemplateNames'] = implode(',', array_unique($template_names));
$data['Hits']++;
$data['LastHit'] = adodb_mktime();
$this->Conn->doUpdate($data, TABLE_PREFIX . 'SlowSqlCapture', 'CaptureId = ' . $data['CaptureId']);
}
else {
$data['TimeMin'] = $data['TimeAvg'] = $data['TimeMax'] = $time;
$data['SqlQuery'] = $slow_sql;
$data['QueryCrc'] = $query_crc;
$data['TemplateNames'] = $this->GetVar('t');
$data['Hits'] = 1;
$data['LastHit'] = adodb_mktime();
$this->Conn->doInsert($data, TABLE_PREFIX . 'SlowSqlCapture');
}
}
/**
* Checks if output compression options is available
*
* @return string
*/
function UseOutputCompression()
{
if (constOn('IS_INSTALL') || constOn('DBG_ZEND_PRESENT') || constOn('SKIP_OUT_COMPRESSION')) return false;
return $this->ConfigValue('UseOutputCompression') && function_exists('gzencode') && strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip');
}
// Facade
/**
* Returns current session id (SID)
* @access public
* @return longint
*/
function GetSID()
{
$session =& $this->recallObject('Session');
return $session->GetID();
}
function DestroySession()
{
$session =& $this->recallObject('Session');
$session->Destroy();
}
/**
* Returns variable passed to the script as GET/POST/COOKIE
*
* @access public
* @param string $name Name of variable to retrieve
* @param int $default default value returned in case if varible not present
* @return mixed
*/
function GetVar($name, $default = false)
{
return isset($this->HttpQuery->_Params[$name]) ? $this->HttpQuery->_Params[$name] : $default;
}
/**
* Returns ALL variables passed to the script as GET/POST/COOKIE
*
* @access public
* @return array
*/
function GetVars()
{
return $this->HttpQuery->GetParams();
}
/**
* Set the variable 'as it was passed to the script through GET/POST/COOKIE'
*
* This could be useful to set the variable when you know that
* other objects would relay on variable passed from GET/POST/COOKIE
* or you could use SetVar() / GetVar() pairs to pass the values between different objects.<br>
*
* This method is formerly known as $this->Session->SetProperty.
* @param string $var Variable name to set
* @param mixed $val Variable value
* @access public
* @return void
*/
function SetVar($var,$val)
{
return $this->HttpQuery->Set($var, $val);
}
/**
* Deletes kHTTPQuery variable
*
* @param string $var
* @todo think about method name
*/
function DeleteVar($var)
{
return $this->HttpQuery->Remove($var);
}
/**
* Deletes Session variable
*
* @param string $var
*/
function RemoveVar($var)
{
return $this->Session->RemoveVar($var);
}
function RemovePersistentVar($var)
{
return $this->Session->RemovePersistentVar($var);
}
/**
* Restores Session variable to it's db version
*
* @param string $var
*/
function RestoreVar($var)
{
return $this->Session->RestoreVar($var);
}
/**
* Returns session variable value
*
* Return value of $var variable stored in Session. An optional default value could be passed as second parameter.
*
* @see SimpleSession
* @access public
* @param string $var Variable name
* @param mixed $default Default value to return if no $var variable found in session
* @return mixed
*/
function RecallVar($var,$default=false)
{
return $this->Session->RecallVar($var,$default);
}
function RecallPersistentVar($var, $default = false)
{
return $this->Session->RecallPersistentVar($var, $default);
}
/**
* Stores variable $val in session under name $var
*
* Use this method to store variable in session. Later this variable could be recalled.
* @see RecallVar
* @access public
* @param string $var Variable name
* @param mixed $val Variable value
*/
function StoreVar($var, $val, $optional = false)
{
$session =& $this->recallObject('Session');
$this->Session->StoreVar($var, $val, $optional);
}
function StorePersistentVar($var, $val)
{
$this->Session->StorePersistentVar($var, $val);
}
function StoreVarDefault($var, $val, $optional=false)
{
$session =& $this->recallObject('Session');
$this->Session->StoreVarDefault($var, $val, $optional);
}
/**
* Links HTTP Query variable with session variable
*
* If variable $var is passed in HTTP Query it is stored in session for later use. If it's not passed it's recalled from session.
* This method could be used for making sure that GetVar will return query or session value for given
* variable, when query variable should overwrite session (and be stored there for later use).<br>
* This could be used for passing item's ID into popup with multiple tab -
* in popup script you just need to call LinkVar('id', 'current_id') before first use of GetVar('id').
* After that you can be sure that GetVar('id') will return passed id or id passed earlier and stored in session
* @access public
* @param string $var HTTP Query (GPC) variable name
* @param mixed $ses_var Session variable name
* @param mixed $default Default variable value
*/
function LinkVar($var, $ses_var = null, $default = '', $optional = false)
{
if (!isset($ses_var)) $ses_var = $var;
if ($this->GetVar($var) !== false) {
$this->StoreVar($ses_var, $this->GetVar($var), $optional);
}
else {
$this->SetVar($var, $this->RecallVar($ses_var, $default));
}
}
/**
* Returns variable from HTTP Query, or from session if not passed in HTTP Query
*
* The same as LinkVar, but also returns the variable value taken from HTTP Query if passed, or from session if not passed.
* Returns the default value if variable does not exist in session and was not passed in HTTP Query
*
* @see LinkVar
* @access public
* @param string $var HTTP Query (GPC) variable name
* @param mixed $ses_var Session variable name
* @param mixed $default Default variable value
* @return mixed
*/
function GetLinkedVar($var, $ses_var = null, $default = '')
{
$this->LinkVar($var, $ses_var, $default);
return $this->GetVar($var);
}
function AddBlock($name, $tpl)
{
$this->cache[$name] = $tpl;
}
/* Seems to be not used anywhere... /Kostja
function SetTemplateBody($title,$body)
{
$templates_cache =& $this->recallObject('TemplatesCache');
$templates_cache->SetTemplateBody($title,$body);
}*/
function ProcessTag($tag_data)
{
$a_tag = new Tag($tag_data,$this->Parser);
return $a_tag->DoProcessTag();
}
function ProcessParsedTag($prefix, $tag, $params)
{
if (defined('NPARSER') && NPARSER) {
$p = $this->Parser->GetProcessor($prefix);
return $p->ProcessParsedTag($tag, $params, $prefix);
}
$a_tag = new Tag('',$this->Parser);
$a_tag->Tag = $tag;
$tmp=$this->Application->processPrefix($prefix);
$a_tag->Processor = $tmp['prefix'];
$a_tag->Special = $tmp['special'];
$a_tag->NamedParams = $params;
return $a_tag->DoProcessTag();
}
/**
* Return ADODB Connection object
*
* Returns ADODB Connection object already connected to the project database, configurable in config.php
* @access public
* @return kDBConnection
*/
function &GetADODBConnection()
{
return $this->Conn;
}
/**
* Allows to parse given block name or include template
*
* @param Array $params Parameters to pass to block/template. Reserved parameter "name" used to specify block/template name.
* @param Array $pass_params Forces to pass current parser params to this block/template. Use with cauntion, because you can accidently pass "block_no_data" parameter.
* @param bool $as_template
* @return string
*/
function ParseBlock($params, $pass_params = 0, $as_template = false)
{
if (substr($params['name'], 0, 5) == 'html:') return substr($params['name'], 6);
return $this->Parser->ParseBlock($params, $pass_params, $as_template);
}
/**
* Returns index file, that could be passed as parameter to method, as parameter to tag and as constant or not passed at all
*
* @param string $prefix
* @param string $index_file
* @param Array $params
* @return string
*/
function getIndexFile($prefix, $index_file, &$params)
{
if (isset($params['index_file'])) {
$index_file = $params['index_file'];
unset($params['index_file']);
return $index_file;
}
if (isset($index_file)) {
return $index_file;
}
if (defined('INDEX_FILE')) {
return INDEX_FILE;
}
$cut_prefix = trim(BASE_PATH, '/').'/'.trim($prefix, '/');
return trim(preg_replace('/'.preg_quote($cut_prefix, '/').'(.*)/', '\\1', $_SERVER['PHP_SELF']), '/');
}
/**
* Return href for template
*
* @access public
* @param string $t Template path
* @var string $prefix index.php prefix - could be blank, 'admin'
*/
function HREF($t, $prefix='', $params=null, $index_file=null)
{
if(!$t) $t = $this->GetVar('t'); // moved from kMainTagProcessor->T()
$t = preg_replace('/^Content\//i', '', $t);
/*if ($this->GetVar('skip_last_template')) {
$params['opener'] = 'p';
$this->SetVar('m_opener', 'p');
}
if ($t == 'incs/close_popup') {
// because this template closes the popup and we don't need popup mark here anymore
$params['m_opener'] = 's';
}*/
if( substr($t, -4) == '.tpl' ) $t = substr($t, 0, strlen($t) - 4 );
if ( $this->IsAdmin() && $prefix == '') $prefix = ADMIN_DIRECTORY;
if ( $this->IsAdmin() && $prefix == '_FRONT_END_') $prefix = '';
$index_file = $this->getIndexFile($prefix, $index_file, $params);
if (isset($params['_auto_prefix_'])) {
unset($params['_auto_prefix_']); // this is parser-related param, do not need to pass it here
}
$ssl = isset($params['__SSL__']) ? $params['__SSL__'] : null;
if ($ssl !== null) {
$session =& $this->recallObject('Session');
$cookie_url = trim($session->CookieDomain.$session->CookiePath, '/.');
if ($ssl) {
$target_url = defined('ADMIN') && ADMIN ? $this->ConfigValue('AdminSSL_URL') : false;
if (!$target_url) {
$target_url = $this->ConfigValue('SSL_URL');
}
}
else {
$target_url = 'http://'.DOMAIN.$this->ConfigValue('Site_Path');
}
if (!preg_match('#'.preg_quote($cookie_url).'#', $target_url)) {
$session->SetMode(smGET_ONLY);
}
}
if (isset($params['opener']) && $params['opener'] == 'u') {
$wid = $this->Application->GetVar('m_wid');
$stack_name = rtrim('opener_stack_'.$wid, '_');
$opener_stack = $this->RecallVar($stack_name);
if ($opener_stack && $opener_stack != serialize(Array())) {
$opener_stack = unserialize($opener_stack);
list($index_file, $env) = explode('|', $opener_stack[count($opener_stack) - 1]);
$ret = $this->BaseURL($prefix, $ssl).$index_file.'?'.ENV_VAR_NAME.'='.$env;
if ( getArrayValue($params,'escape') ) $ret = addslashes($ret);
if (isset($params['m_opener']) && $params['m_opener'] == 'u') {
array_pop($opener_stack);
if (!$opener_stack) {
$this->RemoveVar($stack_name);
// remove popups last templates, because popup is closing now
$this->RemoveVar('last_template_'.$wid);
$this->RemoveVar('last_template_popup_'.$wid);
// don't save popups last templates again :)
$this->SetVar('skip_last_template', 1);
}
else {
$this->StoreVar($stack_name, serialize($opener_stack));
}
/*// store window relations
$window_relations = $this->Application->RecallVar('window_relations');
$window_relations = $window_relations ? unserialize($window_relations) : Array ();
if (array_key_exists($wid, $window_relations)) {
unset($window_relations[$wid]);
$this->Application->StoreVar('window_relations', serialize($window_relations));
}*/
}
return $ret;
}
else {
//define('DBG_REDIRECT', 1);
$t = $this->GetVar('t');
}
}
$pass = isset($params['pass']) ? $params['pass'] : '';
$pass_events = isset($params['pass_events']) ? $params['pass_events'] : false; // pass events with url
$map_link = '';
if( isset($params['anchor']) )
{
$map_link = '#'.$params['anchor'];
unset($params['anchor']);
}
if ( isset($params['no_amp']) )
{
$params['__URLENCODE__'] = $params['no_amp'];
unset($params['no_amp']);
}
$no_rewrite = false;
if( isset($params['__NO_REWRITE__']) )
{
$no_rewrite = true;
unset($params['__NO_REWRITE__']);
}
$force_rewrite = false;
if( isset($params['__MOD_REWRITE__']) )
{
$force_rewrite = true;
unset($params['__MOD_REWRITE__']);
}
$force_no_sid = false;
if( isset($params['__NO_SID__']) )
{
$force_no_sid = true;
unset($params['__NO_SID__']);
}
// append pass through variables to each link to be build
// $params = array_merge_recursive2($this->getPassThroughVariables($params), $params);
$params = array_merge($this->getPassThroughVariables($params), $params);
if ($force_rewrite || ($this->RewriteURLs($ssl) && !$no_rewrite))
{
$session =& $this->recallObject('Session');
if( $session->NeedQueryString() && !$force_no_sid ) $params['sid'] = $this->GetSID();
$url = $this->BuildEnv_NEW($t, $params, $pass, $pass_events);
$ret = $this->BaseURL($prefix, $ssl).$url.$map_link;
}
else
{
unset($params['pass_category']); // we don't need to pass it when mod_rewrite is off
$env = $this->BuildEnv($t, $params, $pass, $pass_events);
$ret = $this->BaseURL($prefix, $ssl).$index_file.'?'.$env.$map_link;
}
return $ret;
}
/**
* Returns variables with values that should be passed throught with this link + variable list
*
* @param Array $params
* @return Array
*/
function getPassThroughVariables(&$params)
{
static $cached_pass_through = null;
if (isset($params['no_pass_through']) && $params['no_pass_through']) {
unset($params['no_pass_through']);
return Array();
}
// because pass through is not changed during script run, then we can cache it
if (is_null($cached_pass_through)) {
$cached_pass_through = Array();
$pass_through = $this->Application->GetVar('pass_through');
if ($pass_through) {
// names of variables to pass to each link
$cached_pass_through['pass_through'] = $pass_through;
$pass_through = explode(',', $pass_through);
foreach ($pass_through as $pass_through_var) {
$cached_pass_through[$pass_through_var] = $this->Application->GetVar($pass_through_var);
}
}
}
return $cached_pass_through;
}
/**
* Returns sorted array of passed prefixes (to build url from)
*
* @param string $pass
* @return Array
*/
function getPassInfo($pass = 'all')
{
if (!$pass) $pass = 'all';
$pass = trim(
preg_replace(
'/(?<=,|\\A)all(?=,|\\z)/',
trim($this->GetVar('passed'), ','),
trim($pass, ',')
),
',');
if (!$pass) {
return Array();
}
$pass_info = array_unique( explode(',', $pass) ); // array( prefix[.special], prefix[.special] ...
// we need to keep that sorting despite the sorting below, because this sorts prefixes with same priority by name
sort($pass_info, SORT_STRING); // to be prefix1,prefix1.special1,prefix1.special2,prefix3.specialX
foreach ($pass_info as $prefix) {
list($prefix_only) = explode('.', $prefix, 1);
$sorted[$prefix] = $this->getUnitOption($prefix_only, 'PassPriority', 0);
}
arsort($sorted);
$pass_info = array_keys($sorted);
// ensure that "m" prefix is at the beginning
$main_index = array_search('m', $pass_info);
if ($main_index !== false) {
unset($pass_info[$main_index]);
array_unshift($pass_info, 'm');
}
return $pass_info;
}
function BuildEnv_NEW($t, $params, $pass='all', $pass_events = false)
{
// $session =& $this->recallObject('Session');
$force_admin = getArrayValue($params,'admin') || $this->GetVar('admin');
// if($force_admin) $sid = $this->GetSID();
$ret = '';
$env = '';
$encode = false;
if (isset($params['__URLENCODE__']))
{
$encode = $params['__URLENCODE__'];
unset($params['__URLENCODE__']);
}
if (isset($params['__SSL__'])) {
unset($params['__SSL__']);
}
$m_only = true;
$pass_info = $this->getPassInfo($pass);
if ($pass_info) {
if ($pass_info[0] == 'm') array_shift($pass_info);
$params['t'] = $t;
foreach($pass_info as $pass_index => $pass_element)
{
list($prefix) = explode('.', $pass_element);
$require_rewrite = $this->findModule('Var', $prefix) && $this->getUnitOption($prefix, 'CatalogItem');
if ($require_rewrite) {
// if next prefix is same as current, but with special => exclude current prefix from url
$next_prefix = getArrayValue($pass_info, $pass_index + 1);
if ($next_prefix) {
$next_prefix = substr($next_prefix, 0, strlen($prefix) + 1);
if ($prefix.'.' == $next_prefix) continue;
}
$a = $this->BuildModuleEnv_NEW($pass_element, $params, $pass_events);
if ($a) {
$ret .= '/'.$a;
$m_only = false;
}
}
else
{
$env .= ':'.$this->BuildModuleEnv($pass_element, $params, $pass_events);
}
}
if (!$m_only || preg_match('/c\.[-\d]*/', implode(',', $pass_info))) {
$params['pass_category'] = 1;
}
$ret = $this->BuildModuleEnv_NEW('m', $params, $pass_events).$ret;
$cat_processed = isset($params['category_processed']) && $params['category_processed'];
if ($cat_processed) {
unset($params['category_processed']);
}
if (!$m_only || !$cat_processed || !defined('EXP_DIR_URLS')) {
$ret = trim($ret, '/').'.html';
}
else {
$ret .= '/';
}
// $ret = trim($ret, '/').'/';
if($env) $params[ENV_VAR_NAME] = ltrim($env, ':');
}
unset($params['pass'], $params['opener'], $params['m_event']);
if ($force_admin) $params['admin'] = 1;
if( getArrayValue($params,'escape') )
{
$ret = addslashes($ret);
unset($params['escape']);
}
$ret = str_replace('%2F', '/', urlencode($ret));
$params_str = '';
$join_string = $encode ? '&' : '&amp;';
foreach ($params as $param => $value)
{
$params_str .= $join_string.$param.'='.$value;
}
$ret .= preg_replace('/^'.$join_string.'(.*)/', '?\\1', $params_str);
if ($encode) {
$ret = str_replace('\\', '%5C', $ret);
}
return $ret;
}
function BuildModuleEnv_NEW($prefix_special, &$params, $pass_events = false)
{
$event_params = Array('pass_events' => $pass_events, 'url_params' => $params);
$event = new kEvent($prefix_special.':BuildEnv', $event_params);
$this->HandleEvent($event);
$params = $event->getEventParam('url_params'); // save back unprocessed parameters
$ret = '';
if ($event->getEventParam('env_string')) {
$ret = trim( $event->getEventParam('env_string'), '/');
}
return $ret;
}
/**
* Builds env part that corresponds prefix passed
*
* @param string $prefix_special item's prefix & [special]
* @param Array $params url params
* @param bool $pass_events
*/
function BuildModuleEnv($prefix_special, &$params, $pass_events = false)
{
list($prefix) = explode('.', $prefix_special);
$query_vars = $this->getUnitOption($prefix, 'QueryString');
//if pass events is off and event is not implicity passed
if( !$pass_events && !isset($params[$prefix_special.'_event']) ) {
$params[$prefix_special.'_event'] = ''; // remove event from url if requested
//otherwise it will use value from get_var
}
if(!$query_vars) return '';
$tmp_string = Array(0 => $prefix_special);
foreach($query_vars as $index => $var_name)
{
//if value passed in params use it, otherwise use current from application
$var_name = $prefix_special.'_'.$var_name;
$tmp_string[$index] = isset( $params[$var_name] ) ? $params[$var_name] : $this->GetVar($var_name);
if ( isset($params[$var_name]) ) unset( $params[$var_name] );
}
$escaped = array();
foreach ($tmp_string as $tmp_val) {
$escaped[] = str_replace(Array('-',':'), Array('\-','\:'), $tmp_val);
}
$ret = implode('-', $escaped);
if ($this->getUnitOption($prefix, 'PortalStyleEnv') == true)
{
$ret = preg_replace('/^([a-zA-Z]+)-([0-9]+)-(.*)/','\\1\\2-\\3', $ret);
}
return $ret;
}
function BuildEnv($t, $params, $pass='all', $pass_events = false, $env_var = true)
{
$session =& $this->recallObject('Session');
$ssl = isset($params['__SSL__']) ? $params['__SSL__'] : 0;
$sid = $session->NeedQueryString() && !$this->RewriteURLs($ssl) ? $this->GetSID() : '';
// if (getArrayValue($params,'admin') == 1) $sid = $this->GetSID();
$ret = '';
if ($env_var) {
$ret = ENV_VAR_NAME.'=';
}
$ret .= $sid.(constOn('INPORTAL_ENV') ? '-' : ':');
$encode = false;
if (isset($params['__URLENCODE__'])) {
$encode = $params['__URLENCODE__'];
unset($params['__URLENCODE__']);
}
if (isset($params['__SSL__'])) {
unset($params['__SSL__']);
}
$env_string = '';
$category_id = isset($params['m_cat_id']) ? $params['m_cat_id'] : $this->GetVar('m_cat_id');
$item_id = 0;
$pass_info = $this->getPassInfo($pass);
if ($pass_info) {
if ($pass_info[0] == 'm') array_shift($pass_info);
foreach ($pass_info as $pass_element) {
list($prefix) = explode('.', $pass_element);
$require_rewrite = $this->findModule('Var', $prefix);
if ($require_rewrite) {
$item_id = isset($params[$pass_element.'_id']) ? $params[$pass_element.'_id'] : $this->GetVar($pass_element.'_id');
}
$env_string .= ':'.$this->BuildModuleEnv($pass_element, $params, $pass_events);
}
}
if (strtolower($t) == '__default__') {
// to put category & item templates into cache
$filename = $this->getFilename('c', $category_id);
if ($item_id) {
$mod_rw_helper =& $this->Application->recallObject('ModRewriteHelper');
$t = $mod_rw_helper->GetItemTemplate($category_id, $pass_element); // $pass_element should be the last processed element
// $t = $this->getCache('item_templates', $category_id);
}
elseif ($category_id) {
$t = strtolower( preg_replace('/^Content\//i', '', $this->getCache('category_templates', $category_id)) );
}
else {
$t = 'index';
}
}
$ret .= $t.':'.$this->BuildModuleEnv('m', $params, $pass_events).$env_string;
unset($params['pass'], $params['opener'], $params['m_event']);
if ($this->GetVar('admin') && !isset($params['admin'])) {
$params['admin'] = 1;
if (!array_key_exists('editing_mode', $params)) {
$params['editing_mode'] = EDITING_MODE;
}
}
if (array_key_exists('escape', $params) && $params['escape']) {
$ret = addslashes($ret);
unset($params['escape']);
}
$join_string = $encode ? '&' : '&amp;';
$params_str = '';
foreach ($params as $param => $value)
{
$params_str .= $join_string.$param.'='.$value;
}
$ret .= $params_str;
if ($encode) {
$ret = str_replace('\\', '%5C', $ret);
}
return $ret;
}
function BaseURL($prefix='', $ssl=null)
{
if ($ssl === null) {
return PROTOCOL.SERVER_NAME.(defined('PORT')?':'.PORT : '').rtrim(BASE_PATH, '/').$prefix.'/';
}
else {
if ($ssl) {
$base_url = defined('ADMIN') && ADMIN ? $this->ConfigValue('AdminSSL_URL') : false;
if (!$base_url) {
$base_url = $this->ConfigValue('SSL_URL');
}
return rtrim($base_url, '/').$prefix.'/';
}
else {
return 'http://'.DOMAIN.(defined('PORT')?':'.PORT : '').rtrim( $this->ConfigValue('Site_Path'), '/').$prefix.'/';
}
}
}
function Redirect($t='', $params=null, $prefix='', $index_file=null)
{
$js_redirect = getArrayValue($params, 'js_redirect');
if (preg_match("/external:(.*)/", $t, $rets)) {
$location = $rets[1];
}
else {
if ($t == '' || $t === true) $t = $this->GetVar('t');
// pass prefixes and special from previous url
if( isset($params['js_redirect']) ) unset($params['js_redirect']);
if (!isset($params['pass'])) $params['pass'] = 'all';
if ($this->GetVar('ajax') == 'yes' && $t == $this->GetVar('t')) {
// redirects to the same template as current
$params['ajax'] = 'yes';
}
$params['__URLENCODE__'] = 1;
$location = $this->HREF($t, $prefix, $params, $index_file);
//echo " location : $location <br>";
}
$a_location = $location;
$location = "Location: $location";
if ($this->isDebugMode() && constOn('DBG_REDIRECT')) {
$this->Debugger->appendTrace();
echo "<b>Debug output above!!!</b> Proceed to redirect: <a href=\"$a_location\">$a_location</a><br>";
}
else {
if ($js_redirect) {
$this->SetVar('t', 'redirect');
$this->SetVar('redirect_to_js', addslashes($a_location) );
$this->SetVar('redirect_to', $a_location);
return true;
}
else {
if ($this->GetVar('ajax') == 'yes' && $t != $this->GetVar('t')) {
// redirection to other then current template during ajax request
echo '#redirect#'.$a_location;
}
elseif (headers_sent() != '') {
// some output occured -> redirect using javascript
echo '<script type="text/javascript">window.location.href = \''.$a_location.'\';</script>';
}
else {
// no output before -> redirect using HTTP header
// header('HTTP/1.1 302 Found');
header("$location");
}
}
}
ob_end_flush();
// session expiration is called from session initialization,
// that's why $this->Session may be not defined here
$session =& $this->Application->recallObject('Session');
/* @var $session Session */
$this->HandleEvent( new kEvent('adm:OnBeforeShutdown') );
$session->SaveData();
exit;
}
function Phrase($label)
{
return $this->Phrases->GetPhrase($label);
}
/**
* Replace language tags in exclamation marks found in text
*
* @param string $text
* @param bool $force_escape force escaping, not escaping of resulting string
* @return string
* @access public
*/
function ReplaceLanguageTags($text, $force_escape=null)
{
// !!!!!!!!
// if( !is_object($this->Phrases) ) $this->Debugger->appendTrace();
return $this->Phrases->ReplaceLanguageTags($text,$force_escape);
}
/**
* Checks if user is logged in, and creates
* user object if so. User object can be recalled
* later using "u.current" prefix_special. Also you may
* get user id by getting "u.current_id" variable.
*
* @access private
*/
function ValidateLogin()
{
$session =& $this->recallObject('Session');
$user_id = $session->GetField('PortalUserId');
if (!$user_id && $user_id != -1) $user_id = -2;
$this->SetVar('u.current_id', $user_id);
if (!$this->IsAdmin()) {
// needed for "profile edit", "registration" forms ON FRONT ONLY
$this->SetVar('u_id', $user_id);
}
$this->StoreVar('user_id', $user_id);
if ($this->GetVar('expired') == 1) {
// this parameter is set only from admin
$user =& $this->recallObject('u.current');
$user->SetError('ValidateLogin', 'session_expired', 'la_text_sess_expired');
}
if (($user_id != -2) && constOn('DBG_REQUREST_LOG') ) {
$http_query =& $this->recallObject('HTTPQuery');
$http_query->writeRequestLog(DBG_REQUREST_LOG);
}
if ($user_id != -2) {
// normal users + root
$this->LoadPersistentVars();
}
}
/**
* Loads current user persistent session data
*
*/
function LoadPersistentVars()
{
$this->Session->LoadPersistentVars();
}
function LoadCache() {
$cache_key = $this->GetVar('t').$this->GetVar('m_theme').$this->GetVar('m_lang').$this->IsAdmin();
$query = sprintf("SELECT PhraseList, ConfigVariables FROM %s WHERE Template = %s",
TABLE_PREFIX.'PhraseCache',
$this->Conn->Qstr(md5($cache_key)));
$res = $this->Conn->GetRow($query);
if ($res) {
$this->Caches['PhraseList'] = $res['PhraseList'] ? explode(',', $res['PhraseList']) : array();
$config_ids = $res['ConfigVariables'] ? explode(',', $res['ConfigVariables']) : array();
if (isset($this->Caches['ConfigVariables'])) {
$config_ids = array_diff($config_ids, $this->Caches['ConfigVariables']);
}
}
else {
$config_ids = array();
}
$this->Caches['ConfigVariables'] = $config_ids;
$this->ConfigCacheIds = $config_ids;
}
function UpdateCache()
{
$update = false;
//something changed
$update = $update || $this->Phrases->NeedsCacheUpdate();
$update = $update || (count($this->ConfigCacheIds) && $this->ConfigCacheIds != $this->Caches['ConfigVariables']);
if ($update) {
$cache_key = $this->GetVar('t').$this->GetVar('m_theme').$this->GetVar('m_lang').$this->IsAdmin();
$query = sprintf("REPLACE %s (PhraseList, CacheDate, Template, ConfigVariables)
VALUES (%s, %s, %s, %s)",
TABLE_PREFIX.'PhraseCache',
$this->Conn->Qstr(join(',', $this->Phrases->Ids)),
adodb_mktime(),
$this->Conn->Qstr(md5($cache_key)),
$this->Conn->qstr(implode(',', array_unique($this->ConfigCacheIds))));
$this->Conn->Query($query);
}
}
function InitConfig()
{
if (isset($this->Caches['ConfigVariables']) && count($this->Caches['ConfigVariables']) > 0) {
$this->ConfigHash = array_merge($this->ConfigHash, $this->Conn->GetCol(
'SELECT VariableValue, VariableName FROM '.TABLE_PREFIX.'ConfigurationValues
WHERE VariableId IN ('.implode(',', $this->Caches['ConfigVariables']).')', 'VariableName'));
}
}
/**
* Returns configuration option value by name
*
* @param string $name
* @return string
*/
function ConfigValue($name)
{
$res = isset($this->ConfigHash[$name]) ? $this->ConfigHash[$name] : false;
if ($res !== false) {
return $res;
}
if (defined('IS_INSTALL') && IS_INSTALL && !$this->TableFound('ConfigurationValues')) {
return false;
}
$sql = 'SELECT VariableId, VariableValue
FROM '.TABLE_PREFIX.'ConfigurationValues
WHERE VariableName = '.$this->Conn->qstr($name);
$res = $this->Conn->GetRow($sql);
if ($res !== false) {
$this->ConfigHash[$name] = $res['VariableValue'];
$this->ConfigCacheIds[] = $res['VariableId'];
return $res['VariableValue'];
}
return false;
}
function UpdateConfigCache()
{
if ($this->ConfigCacheIds) {
}
}
/**
* Allows to process any type of event
*
* @param kEvent $event
* @access public
* @author Alex
*/
function HandleEvent(&$event, $params=null, $specificParams=null)
{
if ( isset($params) ) {
$event = new kEvent( $params, $specificParams );
}
if (!isset($this->EventManager)) {
$this->EventManager =& $this->recallObject('EventManager');
}
$this->EventManager->HandleEvent($event);
}
/**
* Registers new class in the factory
*
* @param string $real_class Real name of class as in class declaration
* @param string $file Filename in what $real_class is declared
* @param string $pseudo_class Name under this class object will be accessed using getObject method
* @param Array $dependecies List of classes required for this class functioning
* @access public
* @author Alex
*/
function registerClass($real_class, $file, $pseudo_class = null, $dependecies = Array() )
{
$this->Factory->registerClass($real_class, $file, $pseudo_class, $dependecies);
}
/**
* Add $class_name to required classes list for $depended_class class.
* All required class files are included before $depended_class file is included
*
* @param string $depended_class
* @param string $class_name
* @author Alex
*/
function registerDependency($depended_class, $class_name)
{
$this->Factory->registerDependency($depended_class, $class_name);
}
/**
* Registers Hook from subprefix event to master prefix event
*
* @param string $hookto_prefix
* @param string $hookto_special
* @param string $hookto_event
* @param string $mode
* @param string $do_prefix
* @param string $do_special
* @param string $do_event
* @param string $conditional
* @access public
* @todo take care of a lot parameters passed
* @author Kostja
*/
function registerHook($hookto_prefix, $hookto_special, $hookto_event, $mode, $do_prefix, $do_special, $do_event, $conditional)
{
$event_manager =& $this->recallObject('EventManager');
$event_manager->registerHook($hookto_prefix, $hookto_special, $hookto_event, $mode, $do_prefix, $do_special, $do_event, $conditional);
}
/**
* Allows one TagProcessor tag act as other TagProcessor tag
*
* @param Array $tag_info
* @author Kostja
*/
function registerAggregateTag($tag_info)
{
$aggregator =& $this->recallObject('TagsAggregator', 'kArray');
$aggregator->SetArrayValue($tag_info['AggregateTo'], $tag_info['AggregatedTagName'], Array($tag_info['LocalPrefix'], $tag_info['LocalTagName'], getArrayValue($tag_info, 'LocalSpecial')));
}
/**
* Returns object using params specified,
* creates it if is required
*
* @param string $name
* @param string $pseudo_class
* @param Array $event_params
* @return Object
* @author Alex
*/
function &recallObject($name,$pseudo_class=null,$event_params=Array())
{
- if ($name == 'c') {
- echo '';
- }
-
$result =& $this->Factory->getObject($name, $pseudo_class, $event_params);
return $result;
}
/**
* Returns object using Variable number of params,
* all params starting with 4th are passed to object consturctor
*
* @param string $name
* @param string $pseudo_class
* @param Array $event_params
* @return Object
* @author Alex
*/
function &recallObjectP($name,$pseudo_class=null,$event_params=Array())
{
$func_args = func_get_args();
$result =& ref_call_user_func_array( Array(&$this->Factory, 'getObjectP'), $func_args );
return $result;
}
/**
* Returns tag processor for prefix specified
*
* @param string $prefix
* @return kDBTagProcessor
*/
function &recallTagProcessor($prefix)
{
$this->InitParser(); // because kDBTagProcesor is in TemplateParser dependencies
$result =& $this->recallObject($prefix.'_TagProcessor');
return $result;
}
/**
* Checks if object with prefix passes was already created in factory
*
* @param string $name object presudo_class, prefix
* @return bool
* @author Kostja
*/
function hasObject($name)
{
return isset($this->Factory->Storage[$name]);
}
/**
* Removes object from storage by given name
*
* @param string $name Object's name in the Storage
* @author Kostja
*/
function removeObject($name)
{
$this->Factory->DestroyObject($name);
}
/**
* Get's real class name for pseudo class,
* includes class file and creates class
* instance
*
* @param string $pseudo_class
* @return Object
* @access public
* @author Alex
*/
function &makeClass($pseudo_class)
{
$func_args = func_get_args();
$result =& ref_call_user_func_array( Array(&$this->Factory, 'makeClass'), $func_args);
return $result;
}
/**
* Checks if application is in debug mode
*
* @param bool $check_debugger check if kApplication debugger is initialized too, not only for defined DEBUG_MODE constant
* @return bool
* @author Alex
* @access public
*/
function isDebugMode($check_debugger = true)
{
$debug_mode = defined('DEBUG_MODE') && DEBUG_MODE;
if ($check_debugger) {
$debug_mode = $debug_mode && is_object($this->Debugger);
}
return $debug_mode;
}
/**
* Checks if it is admin
*
* @return bool
* @author Alex
*/
function IsAdmin()
{
return constOn('ADMIN');
}
/**
* Apply url rewriting used by mod_rewrite or not
*
* @param bool $ssl Force ssl link to be build
* @return bool
*/
function RewriteURLs($ssl = false)
{
// case #1,#4:
// we want to create https link from http mode
// we want to create https link from https mode
// conditions: ($ssl || PROTOCOL == 'https://') && $this->ConfigValue('UseModRewriteWithSSL')
// case #2,#3:
// we want to create http link from https mode
// we want to create http link from http mode
// conditions: !$ssl && (PROTOCOL == 'https://' || PROTOCOL == 'http://')
$allow_rewriting =
(!$ssl && (PROTOCOL == 'https://' || PROTOCOL == 'http://')) // always allow mod_rewrite for http
|| // or allow rewriting for redirect TO httpS or when already in httpS
(($ssl || PROTOCOL == 'https://') && $this->ConfigValue('UseModRewriteWithSSL')); // but only if it's allowed in config!
return constOn('MOD_REWRITE') && $allow_rewriting;
}
/**
* Reads unit (specified by $prefix)
* option specified by $option
*
* @param string $prefix
* @param string $option
* @param mixed $default
* @return string
* @access public
* @author Alex
*/
function getUnitOption($prefix, $option, $default = false)
{
/*if (!isset($this->UnitConfigReader)) {
$this->UnitConfigReader =& $this->recallObject('kUnitConfigReader');
}*/
return $this->UnitConfigReader->getUnitOption($prefix, $option, $default);
}
/**
* Set's new unit option value
*
* @param string $prefix
* @param string $name
* @param string $value
* @author Alex
* @access public
*/
function setUnitOption($prefix, $option, $value)
{
// $unit_config_reader =& $this->recallObject('kUnitConfigReader');
return $this->UnitConfigReader->setUnitOption($prefix,$option,$value);
}
/**
* Read all unit with $prefix options
*
* @param string $prefix
* @return Array
* @access public
* @author Alex
*/
function getUnitOptions($prefix)
{
// $unit_config_reader =& $this->recallObject('kUnitConfigReader');
return $this->UnitConfigReader->getUnitOptions($prefix);
}
/**
* Returns true if config exists and is allowed for reading
*
* @param string $prefix
* @return bool
*/
function prefixRegistred($prefix)
{
/*if (!isset($this->UnitConfigReader)) {
$this->UnitConfigReader =& $this->recallObject('kUnitConfigReader');
}*/
return $this->UnitConfigReader->prefixRegistred($prefix);
}
/**
* Splits any mixing of prefix and
* special into correct ones
*
* @param string $prefix_special
* @return Array
* @access public
* @author Alex
*/
function processPrefix($prefix_special)
{
return $this->Factory->processPrefix($prefix_special);
}
/**
* Set's new event for $prefix_special
* passed
*
* @param string $prefix_special
* @param string $event_name
* @access public
*/
function setEvent($prefix_special,$event_name)
{
$event_manager =& $this->recallObject('EventManager');
$event_manager->setEvent($prefix_special,$event_name);
}
/**
* SQL Error Handler
*
* @param int $code
* @param string $msg
* @param string $sql
* @return bool
* @access private
* @author Alex
*/
function handleSQLError($code, $msg, $sql)
{
if ( isset($this->Debugger) )
{
$errorLevel = constOn('DBG_SQL_FAILURE') && !defined('IS_INSTALL') ? E_USER_ERROR : E_USER_WARNING;
$this->Debugger->appendTrace();
$error_msg = '<span class="debug_error">'.$msg.' ('.$code.')</span><br><a href="javascript:$Debugger.SetClipboard(\''.htmlspecialchars($sql).'\');"><b>SQL</b></a>: '.$this->Debugger->formatSQL($sql);
$long_id = $this->Debugger->mapLongError($error_msg);
trigger_error( mb_substr($msg.' ('.$code.') ['.$sql.']',0,1000).' #'.$long_id, $errorLevel);
return true;
}
else
{
//$errorLevel = constOn('IS_INSTALL') ? E_USER_WARNING : E_USER_ERROR;
$errorLevel = E_USER_WARNING;
trigger_error('<b>SQL Error</b> in sql: '.$sql.', code <b>'.$code.'</b> ('.$msg.')', $errorLevel);
/*echo '<b>xProcessing SQL</b>: '.$sql.'<br>';
echo '<b>Error ('.$code.'):</b> '.$msg.'<br>';*/
return $errorLevel == E_USER_ERROR ? false : true;
}
}
/**
* Default error handler
*
* @param int $errno
* @param string $errstr
* @param string $errfile
* @param int $errline
* @param Array $errcontext
*/
function handleError($errno, $errstr, $errfile = '', $errline = '', $errcontext = '')
{
if (defined('SILENT_LOG') && SILENT_LOG) {
$fp = fopen(FULL_PATH.'/silent_log.txt','a');
$time = adodb_date('d/m/Y H:i:s');
fwrite($fp, '['.$time.'] #'.$errno.': '.strip_tags($errstr).' in ['.$errfile.'] on line '.$errline."\n");
fclose($fp);
}
$debug_mode = defined('DEBUG_MODE') && DEBUG_MODE;
$skip_reporting = defined('DBG_SKIP_REPORTING') && DBG_SKIP_REPORTING;
if (!$this->errorHandlers || ($debug_mode && $skip_reporting)) {
// when debugger absent OR it's present, but we actually can't see it's error report (e.g. during ajax request)
$ignore_fatal_errors = defined('DBG_IGNORE_FATAL_ERRORS') && DBG_IGNORE_FATAL_ERRORS;
if (($errno == E_USER_ERROR) && !$ignore_fatal_errors) {
header('HTTP/1.0 500 Script Fatal Error');
echo (' <div style="background-color: #FEFFBF; margin: auto; padding: 10px; border: 2px solid red; text-align: center">
<strong>Fatal Error: </strong>'."$errstr in $errfile on line $errline".'
</div>');
exit;
}
if (!$this->errorHandlers) {
return true;
}
}
$res = false;
$i = 0; // while (not foreach) because it is array of references in some cases
$eh_count = count($this->errorHandlers);
while ($i < $eh_count) {
if ( is_array($this->errorHandlers[$i]) ) {
$object =& $this->errorHandlers[$i][0];
$method = $this->errorHandlers[$i][1];
$res = $object->$method($errno, $errstr, $errfile, $errline, $errcontext);
}
else {
$function = $this->errorHandlers[$i];
$res = $function($errno, $errstr, $errfile, $errline, $errcontext);
}
$i++;
}
return $res;
}
/**
* Returns & blocks next ResourceId available in system
*
* @return int
* @access public
* @author Alex
*/
function NextResourceId()
{
$table_name = TABLE_PREFIX.'IdGenerator';
$this->Conn->Query('LOCK TABLES '.$table_name.' WRITE');
$this->Conn->Query('UPDATE '.$table_name.' SET lastid = lastid + 1');
$id = $this->Conn->GetOne('SELECT lastid FROM '.$table_name);
if($id === false)
{
$this->Conn->Query('INSERT INTO '.$table_name.' (lastid) VALUES (2)');
$id = 2;
}
$this->Conn->Query('UNLOCK TABLES');
return $id - 1;
}
/**
* Returns genealogical main prefix for subtable prefix passes
* OR prefix, that has been found in REQUEST and some how is parent of passed subtable prefix
*
* @param string $current_prefix
* @param string $real_top if set to true will return real topmost prefix, regardless of its id is passed or not
* @return string
* @access public
* @author Kostja / Alex
*/
function GetTopmostPrefix($current_prefix, $real_top = false)
{
// 1. get genealogical tree of $current_prefix
$prefixes = Array ($current_prefix);
while ( $parent_prefix = $this->getUnitOption($current_prefix, 'ParentPrefix') ) {
if (!$this->prefixRegistred($parent_prefix)) {
// stop searching, when parent prefix is not registered
break;
}
$current_prefix = $parent_prefix;
array_unshift($prefixes, $current_prefix);
}
if ($real_top) {
return $current_prefix;
}
// 2. find what if parent is passed
$passed = explode(',', $this->GetVar('all_passed'));
foreach ($prefixes as $a_prefix) {
if (in_array($a_prefix, $passed)) {
return $a_prefix;
}
}
return $current_prefix;
}
/**
* Triggers email event of type Admin
*
* @param string $email_event_name
* @param int $to_user_id
* @param array $send_params associative array of direct send params, possible keys: to_email, to_name, from_email, from_name, message, message_text
* @return unknown
*/
function &EmailEventAdmin($email_event_name, $to_user_id = -1, $send_params = false)
{
$event =& $this->EmailEvent($email_event_name, 1, $to_user_id, $send_params);
return $event;
}
/**
* Triggers email event of type User
*
* @param string $email_event_name
* @param int $to_user_id
* @param array $send_params associative array of direct send params, possible keys: to_email, to_name, from_email, from_name, message, message_text
* @return unknown
*/
function &EmailEventUser($email_event_name, $to_user_id = -1, $send_params = false)
{
$event =& $this->EmailEvent($email_event_name, 0, $to_user_id, $send_params);
return $event;
}
/**
* Triggers general email event
*
* @param string $email_event_name
* @param int $email_event_type ( 0 for User, 1 for Admin)
* @param int $to_user_id
* @param array $send_params associative array of direct send params,
* possible keys: to_email, to_name, from_email, from_name, message, message_text
* @return unknown
*/
function &EmailEvent($email_event_name, $email_event_type, $to_user_id = -1, $send_params = false)
{
$params = array(
'EmailEventName' => $email_event_name,
'EmailEventToUserId' => $to_user_id,
'EmailEventType' => $email_event_type,
);
if ($send_params) {
$params['DirectSendParams'] = $send_params;
}
$event_str = isset($send_params['use_special']) ? 'emailevents.'.$send_params['use_special'].':OnEmailEvent' : 'emailevents:OnEmailEvent';
$this->HandleEvent($event, $event_str, $params);
return $event;
}
/**
* Allows to check if user in this session is logged in or not
*
* @return bool
*/
function LoggedIn()
{
// no session during expiration process
return is_null($this->Session) ? false : $this->Session->LoggedIn();
}
/**
* Check current user permissions based on it's group permissions in specified category
*
* @param string $name permission name
* @param int $cat_id category id, current used if not specified
* @param int $type permission type {1 - system, 0 - per category}
* @return int
*/
function CheckPermission($name, $type = 1, $cat_id = null)
{
$perm_helper =& $this->recallObject('PermissionsHelper');
return $perm_helper->CheckPermission($name, $type, $cat_id);
}
/**
* Set's any field of current visit
*
* @param string $field
* @param mixed $value
*/
function setVisitField($field, $value)
{
$visit =& $this->recallObject('visits');
$visit->SetDBField($field, $value);
$visit->Update();
}
/**
* Allows to check if in-portal is installed
*
* @return bool
*/
function isInstalled()
{
return $this->InitDone && (count($this->ModuleInfo) > 0);
}
/**
* Allows to determine if module is installed & enabled
*
* @param string $module_name
* @return bool
*/
function isModuleEnabled($module_name)
{
return $this->findModule('Name', $module_name) !== false;
}
function reportError($class, $method)
{
$this->Debugger->appendTrace();
trigger_error('depricated method <b>'.$class.'->'.$method.'(...)</b>', E_USER_ERROR);
}
/**
* Returns Window ID of passed prefix main prefix (in edit mode)
*
* @param string $prefix
* @return mixed
*/
function GetTopmostWid($prefix)
{
$top_prefix = $this->GetTopmostPrefix($prefix);
$mode = $this->GetVar($top_prefix.'_mode');
return $mode != '' ? substr($mode, 1) : '';
}
/**
* Get temp table name
*
* @param string $table
* @param mixed $wid
* @return string
*/
function GetTempName($table, $wid = '')
{
if (preg_match('/prefix:(.*)/', $wid, $regs)) {
$wid = $this->GetTopmostWid($regs[1]);
}
return TABLE_PREFIX.'ses_'.$this->GetSID().($wid ? '_'.$wid : '').'_edit_'.$table;
}
function GetTempTablePrefix($wid = '')
{
if (preg_match('/prefix:(.*)/', $wid, $regs)) {
$wid = $this->GetTopmostWid($regs[1]);
}
return TABLE_PREFIX.'ses_'.$this->GetSID().($wid ? '_'.$wid : '').'_edit_';
}
function IsTempTable($table)
{
return preg_match('/'.TABLE_PREFIX.'ses_'.$this->GetSID().'(_[\d]+){0,1}_edit_(.*)/',$table);
}
/**
* Checks, that given prefix is in temp mode
*
* @param string $prefix
* @return bool
*/
function IsTempMode($prefix, $special = '')
{
$top_prefix = $this->Application->GetTopmostPrefix($prefix);
$var_names = Array (
$top_prefix,
rtrim($top_prefix . '_' . $special, '_'), // from post
rtrim($top_prefix . '.' . $special, '.'), // assembled locally
);
$var_names = array_unique($var_names);
$temp_mode = false;
foreach ($var_names as $var_name) {
$value = $this->Application->GetVar($var_name . '_mode');
if ($value && (substr($value, 0, 1) == 't')) {
$temp_mode = true;
break;
}
}
return $temp_mode;
}
/**
* Return live table name based on temp table name
*
* @param string $temp_table
* @return string
*/
function GetLiveName($temp_table)
{
if( preg_match('/'.TABLE_PREFIX.'ses_'.$this->GetSID().'(_[\d]+){0,1}_edit_(.*)/',$temp_table, $rets) )
{
// cut wid from table end if any
return $rets[2];
}
else
{
return $temp_table;
}
}
function CheckProcessors($processors)
{
foreach ($processors as $a_processor)
{
if (!isset($this->CachedProcessors[$a_processor])) {
$this->CachedProcessors[$a_processor] =& $this->recallObject($a_processor.'_TagProcessor');
}
}
}
function TimeZoneAdjustment($time_zone = null)
{
if ($time_zone == 'GMT') {
return (-1) * adodb_date('Z');
}
$target_zone = isset($time_zone) ? $time_zone : $this->ConfigValue('Config_Site_Time');
return 3600 * ($target_zone - $this->ConfigValue('Config_Server_Time'));
}
function ApplicationDie($message = '')
{
$message = ob_get_clean().$message;
if ($this->isDebugMode()) {
$message .= $this->Debugger->printReport(true);
}
echo $this->UseOutputCompression() ? gzencode($message, DBG_COMPRESSION_LEVEL) : $message;
exit;
}
/* moved from MyApplication */
function getUserGroups($user_id)
{
switch($user_id)
{
case -1:
$user_groups = $this->ConfigValue('User_LoggedInGroup');
break;
case -2:
$user_groups = $this->ConfigValue('User_LoggedInGroup');
$user_groups .= ','.$this->ConfigValue('User_GuestGroup');
break;
default:
$sql = 'SELECT GroupId FROM '.TABLE_PREFIX.'UserGroup WHERE PortalUserId = '.$user_id;
$res = $this->Conn->GetCol($sql);
$user_groups = Array( $this->ConfigValue('User_LoggedInGroup') );
if(is_array($res))
{
$user_groups = array_merge($user_groups, $res);
}
$user_groups = implode(',', $user_groups);
}
return $user_groups;
}
/**
* Allows to detect if page is browsed by spider (293 agents supported)
*
* @return bool
*/
function IsSpider()
{
static $is_spider = null;
if (!isset($is_spider)) {
$user_agent = trim($_SERVER['HTTP_USER_AGENT']);
$robots = file(FULL_PATH.'/core/robots_list.txt');
foreach ($robots as $robot_info) {
$robot_info = explode("\t", $robot_info, 3);
if ($user_agent == trim($robot_info[2])) {
$is_spider = true;
break;
}
}
}
return $is_spider;
}
/**
* Allows to detect table's presense in database
*
* @param string $table_name
* @return bool
*/
function TableFound($table_name)
{
return $this->Conn->TableFound($table_name);
}
/**
* Returns counter value
*
* @param string $name counter name
* @param Array $params counter parameters
* @param string $query_name specify query name directly (don't generate from parmeters)
* @param bool $multiple_results
* @return mixed
*/
function getCounter($name, $params = Array (), $query_name = null, $multiple_results = false)
{
$count_helper =& $this->Application->recallObject('CountHelper');
/* @var $count_helper kCountHelper */
return $count_helper->getCounter($name, $params, $query_name, $multiple_results);
}
/**
* Resets counter, whitch are affected by one of specified tables
*
* @param string $tables comma separated tables list used in counting sqls
*/
function resetCounters($tables)
{
if (constOn('IS_INSTALL')) {
return ;
}
$count_helper =& $this->Application->recallObject('CountHelper');
/* @var $count_helper kCountHelper */
return $count_helper->resetCounters($tables);
}
/**
* Sends XML header + optionally displays xml heading
*
* @param string $xml_version
* @return string
* @author Alex
*/
function XMLHeader($xml_version = false)
{
$lang =& $this->recallObject('lang.current');
header('Content-type: text/xml; charset='.$lang->GetDBField('Charset'));
return $xml_version ? '<?xml version="'.$xml_version.'" encoding="'.$lang->GetDBField('Charset').'"?>' : '';
}
/**
* Returns category tree
*
* @param int $category_id
* @return Array
*/
function getTreeIndex($category_id)
{
$category_template = $this->getFilename('c', $category_id); // to rebuild "category_tree" cache
$tree_index = $this->getCache('category_tree', $category_id);
if ($tree_index) {
$ret = Array ();
list ($ret['TreeLeft'], $ret['TreeRight']) = explode(';', $tree_index);
return $ret;
}
return false;
}
}
?>
\ No newline at end of file
Property changes on: branches/RC/core/kernel/application.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.186.2.37
\ No newline at end of property
+1.186.2.38
\ No newline at end of property
Index: branches/RC/core/kernel/nparser/compiler.php
===================================================================
--- branches/RC/core/kernel/nparser/compiler.php (revision 11684)
+++ branches/RC/core/kernel/nparser/compiler.php (revision 11685)
@@ -1,122 +1,123 @@
<?php
class NParserCompiler extends kHelper {
var $Errors = array();
var $Templates = array();
function CompileTemplatesStep()
{
$templates = $this->Application->RecallVar('templates_to_compile');
if (!$templates) {
// build $templates
$templates = $this->FindTemplates();
}
else {
$templates = unserialize($templates);
}
$total = count($templates);
$current = $this->Application->RecallVar('current_template_to_compile');
if (!$current) $current = 0;
if ($errors = $this->Application->RecallVar('compile_errors')) {
$this->Errors = unserialize($errors);
}
$save_handler = $this->Application->errorHandlers[0];
$this->Application->errorHandlers[0] = array(&$this, 'SaveError');
safeDefine('DBG_NPARSER_FORCE_COMPILE', 1);
safeDefine('DBG_IGNORE_FATAL_ERRORS', 1);
$i = $current;
$this->Application->InitParser(true);
while ($i < $total && $i < ($current + 20)) {
$a_template = $templates[$i];
$this->Application->Parser->CheckTemplate($a_template['module'] . '/' . $a_template['path']);
$i++;
}
$this->Application->errorHandlers[0] = $save_handler;
$this->Application->StoreVar('current_template_to_compile', $i);
$this->Application->StoreVar('templates_to_compile', serialize($templates));
$this->Application->StoreVar('compile_errors', serialize($this->Errors));
$res = floor(($current / $total) * 100);
if ($res == 100 || $current >= $total) {
$this->Application->RemoveVar('templates_to_compile');
$this->Application->RemoveVar('current_template_to_compile');
$this->Application->Redirect($this->Application->GetVar('finish_template'));
}
echo $res;
}
function SaveError($errno, $errstr, $errfile, $errline, $errcontext)
{
if (defined('E_STRICT') && ($errno == E_STRICT)) {
return true;
}
$this->Errors[] = Array ('msg' => $errstr, 'file' => $errfile, 'line' => $errline);
return true;
}
function FindTemplates()
{
$this->Templates = Array ();
// find admin templates
foreach ($this->Application->ModuleInfo as $module => $options) {
if ($module == 'In-Portal') {
// don't check In-Portal admin templates, because it doesn't have them
continue;
}
$template_path = '/' . $options['Path'] . 'admin_templates';
$options['Path'] = $template_path;
$this->FindTemplateFiles($template_path, $options);
}
- // find Front-End templates
+ // find Front-End templates (from enabled themes only)
$sql = 'SELECT Name
- FROM ' . $this->Application->getUnitOption('theme', 'TableName');
+ FROM ' . $this->Application->getUnitOption('theme', 'TableName') . '
+ WHERE Enabled = 1';
$themes = $this->Conn->GetCol($sql);
$options = Array ();
foreach ($themes as $theme_name) {
$template_path = '/themes/' . $theme_name;
$options['Name'] = 'theme:' . $theme_name;
$options['Path'] = $template_path;
$this->FindTemplateFiles($template_path, $options);
}
return $this->Templates;
}
function FindTemplateFiles($folderPath, $options)
{
// if FULL_PATH = "/" ensure, that all "/" in $folderPath are not deleted
$reg_exp = '/^'.preg_quote(FULL_PATH, '/').'/';
$folderPath = preg_replace($reg_exp, '', $folderPath, 1); // this make sense, since $folderPath may NOT contain FULL_PATH
$fh = opendir(FULL_PATH.$folderPath);
while (($sub_folder = readdir($fh))) {
$full_path = FULL_PATH.$folderPath.'/'.$sub_folder;
$base_name = basename($full_path);
if (is_dir($full_path) && $base_name != '.' && $base_name != '..') {
$this->FindTemplateFiles($full_path, $options);
}
else {
$info = pathinfo($full_path);
if (isset($info['extension']) && $info['extension'] == 'tpl') {
$this->Templates[] = array('module' => mb_strtolower($options['Name']), 'path' => str_replace(FULL_PATH . $options['Path'] . '/', '', preg_replace('/\.tpl$/', '', $full_path)));
}
}
}
}
}
\ No newline at end of file
Property changes on: branches/RC/core/kernel/nparser/compiler.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.2.8
\ No newline at end of property
+1.1.2.9
\ No newline at end of property
Index: branches/RC/core/units/categories/categories_config.php
===================================================================
--- branches/RC/core/units/categories/categories_config.php (revision 11684)
+++ branches/RC/core/units/categories/categories_config.php (revision 11685)
@@ -1,384 +1,390 @@
<?php
$config = Array (
'Prefix' => 'c',
'ItemClass' => Array ('class' => 'CategoriesItem', 'file' => 'categories_item.php', 'build_event' => 'OnItemBuild'),
'ListClass' => Array ('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
'EventHandlerClass' => Array ('class' => 'CategoriesEventHandler', 'file' => 'categories_event_handler.php', 'build_event' => 'OnBuild'),
'TagProcessorClass' => Array ('class' => 'CategoriesTagProcessor', 'file' => 'categories_tag_processor.php', 'build_event' => 'OnBuild'),
'RegisterClasses' => Array (
Array ('pseudo' => 'kPermCacheUpdater', 'class' => 'kPermCacheUpdater', 'file' => 'cache_updater.php', 'build_event' => ''),
),
'ConfigPriority' => 0,
'Hooks' => Array (
Array (
'Mode' => hAFTER,
'Conditional' => false,
'HookToPrefix' => 'adm', //self
'HookToSpecial' => '*',
'HookToEvent' => Array('OnRebuildThemes'),
'DoPrefix' => '',
'DoSpecial' => '',
'DoEvent' => 'OnAfterRebuildThemes',
),
Array (
'Mode' => hBEFORE,
'Conditional' => false,
'HookToPrefix' => '',
'HookToSpecial' => '*',
'HookToEvent' => Array('OnAfterConfigRead'),
'DoPrefix' => 'cdata',
'DoSpecial' => '*',
'DoEvent' => 'OnDefineCustomFields',
),
),
'AutoLoad' => true,
'CatalogItem' => true,
'AdminTemplatePath' => 'categories',
'AdminTemplatePrefix' => 'categories_',
'QueryString' => Array (
1 => 'id',
2 => 'Page',
3 => 'event',
4 => 'mode',
),
'AggregateTags' => Array (
Array (
'AggregateTo' => 'm',
'AggregatedTagName' => 'CategoryLink',
'LocalTagName' => 'CategoryLink',
),
),
'IDField' => 'CategoryId',
'StatusField' => Array ('IsMenu'), // 'Status'
'TitleField' => 'Name',
'TitlePhrase' => 'la_Text_Category',
'ItemType' => 1, // used for custom fields only
'StatisticsInfo' => Array (
'pending' => Array (
'icon' => 'icon16_cat_pending.gif',
'label' => 'la_tab_Categories',
'js_url' => '#url#',
'url' => Array('t' => 'catalog/advanced_view', 'SetTab' => 'c', 'pass' => 'm,c.showall', 'c.showall_event' => 'OnSetFilterPattern', 'c.showall_filters' => 'show_active=0,show_pending=1,show_disabled=0,show_new=1,show_pick=1'),
'status' => STATUS_PENDING,
),
),
'TableName' => TABLE_PREFIX.'Category',
'ViewMenuPhrase' => 'la_text_Categories',
'CatalogTabIcon' => 'icon16_folder.gif',
'TitlePresets' => Array (
'default' => Array (
'new_status_labels' => Array ('c' => '!la_title_Adding_Page!'), // la_title_Adding_Category
'edit_status_labels' => Array ('c' => '!la_title_Editing_Page!'), // la_title_Editing_Category
),
'category_list' => Array ('prefixes' => Array ('c_List'), 'format' => "!la_title_Categories! (#c_recordcount#)"),
- 'catalog' => Array ('prefixes' => Array ('c_List'), 'format' => "<span id='category_path'>!la_title_Categories!</span>"),
- 'advanced_view' => Array ('prefixes' => Array ('c_List'), 'format' => "!la_title_AdvancedView!"),
+ 'catalog' => Array (
+ 'prefixes' => Array ('c_List'), 'format' => "<span id='category_path'>!la_title_Categories!</span>",
+ 'toolbar_buttons' => Array ('upcat', 'homecat', 'new_cat', 'new_link', 'new_article', /*'new_topic',*/ 'new_item', 'edit', 'delete', 'approve', 'decline', 'cut', 'copy', 'paste', 'move_up', 'move_down', 'rebuild_cache', 'view')
+ ),
+ 'advanced_view' => Array (
+ 'prefixes' => Array ('c_List'), 'format' => "!la_title_AdvancedView!",
+ 'toolbar_buttons' => Array ('new_cat', 'edit', 'delete', 'approve', 'decline', 'view'),
+ ),
'reviews' => Array ('prefixes' => Array (), 'format' => "!la_title_Reviews!"),
'review_edit' => Array ('prefixes' => Array (), 'format' => "!la_title_Editing_Review!"),
'categories_edit' => Array ('prefixes' => Array ('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_General!"),
'categories_properties' => Array ('prefixes' => Array ('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Properties!"),
'categories_relations' => Array ('prefixes' => Array ('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Relations!"),
'categories_related_searches' => Array (
'prefixes' => Array ('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_RelatedSearches!",
'toolbar_buttons' => Array ('new_related_search', 'edit', 'delete', 'move_up', 'move_down', 'approve', 'decline', 'view'),
),
'categories_images' => Array ('prefixes' => Array ('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Images!"),
'categories_permissions' => Array ('prefixes' => Array ('c', 'g_List'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Permissions!"),
'categories_custom' => Array ('prefixes' => Array ('c'), 'format' => "#c_status# '#c_titlefield#' - !la_title_Custom!"),
'categories_update' => Array ('prefixes' => Array (), 'format' => "!la_title_UpdatingCategories!"),
'images_edit' => Array (
'prefixes' => Array ('c', 'c-img'),
'new_status_labels' => Array ('c-img' => '!la_title_Adding_Image!'),
'edit_status_labels' => Array ('c-img' => '!la_title_Editing_Image!'),
'new_titlefield' => Array ('c-img' => ''),
'format' => "#c_status# '#c_titlefield#' - #c-img_status# '#c-img_titlefield#'",
),
'relations_edit' => Array (
'prefixes' => Array ('c', 'c-rel'),
'new_status_labels' => Array ('c-rel' => "!la_title_Adding_Relationship! '!la_title_New_Relationship!'"),
'edit_status_labels' => Array ('c-rel' => '!la_title_Editing_Relationship!'),
'format' => "#c_status# '#c_titlefield#' - #c-rel_status#",
),
'related_searches_edit' => Array (
'prefixes' => Array ('c', 'c-search'),
'new_status_labels' => Array ('c-search' => "!la_title_Adding_RelatedSearch_Keyword!"),
'edit_status_labels' => Array ('c-search' => '!la_title_Editing_RelatedSearch_Keyword!'),
'format' => "#c_status# '#c_titlefield#' - #c-search_status#",
),
'edit_content' => Array ('format' => '!la_EditingContent!'),
'tree_site' => Array ('format' => '!la_selecting_categories!'),
),
'EditTabPresets' => Array (
'Default' => Array (
'general' => Array ('title' => 'la_tab_General', 't' => 'categories/categories_edit', 'priority' => 1),
'properties' => Array ('title' => 'la_tab_Properties', 't' => 'categories/categories_edit_properties', 'priority' => 2),
'relations' => Array ('title' => 'la_tab_Relations', 't' => 'categories/categories_edit_relations', 'priority' => 3),
'related_searches' => Array ('title' => 'la_tab_Related_Searches', 't' => 'categories/categories_edit_related_searches', 'priority' => 4),
'images' => Array ('title' => 'la_tab_Images', 't' => 'categories/categories_edit_images', 'priority' => 5),
'permissions' => Array ('title' => 'la_tab_Permissions', 't' => 'categories/categories_edit_permissions', 'priority' => 6),
'custom' => Array ('title' => 'la_tab_Custom', 't' => 'categories/categories_edit_custom', 'priority' => 7),
),
),
'PermItemPrefix' => 'CATEGORY',
'PermSection' => Array ('main' => 'CATEGORY:in-portal:categories', /*'search' => 'in-portal:configuration_search',*/ 'email' => 'in-portal:configuration_email', 'custom' => 'in-portal:configuration_custom'),
'Sections' => Array (
'in-portal:configure_categories' => Array (
'parent' => 'in-portal:website_setting_folder',
'icon' => 'settings_output',
'label' => 'la_tab_ConfigOutput',
'url' => Array ('t' => 'config/config_universal', 'pass_section' => true, 'pass' => 'm'),
'permissions' => Array ('view', 'edit'),
'priority' => 11.1,
'type' => stTREE,
),
'in-portal:configuration_search' => Array (
'parent' => 'in-portal:website_setting_folder',
'icon' => 'settings_search',
'label' => 'la_tab_ConfigSearch',
'url' => Array ('t' => 'config/config_search', 'module_key' => 'category', 'pass_section' => true, 'pass' => 'm'),
'permissions' => Array ('view', 'edit'),
'priority' => 11.2,
'type' => stTREE,
),
'in-portal:configuration_email' => Array (
'parent' => 'in-portal:website_setting_folder',
'icon' => 'settings_email',
'label' => 'la_tab_ConfigE-mail',
'url' => Array ('t' => 'config/config_email', 'module' => 'Core:Category', 'pass_section' => true, 'pass' => 'm'),
'permissions' => Array ('view', 'edit'),
'priority' => 11.3,
'type' => stTREE,
),
'in-portal:configuration_custom' => Array (
'parent' => 'in-portal:website_setting_folder',
'icon' => 'settings_custom',
'label' => 'la_tab_ConfigCustom',
'url' => Array ('t' => 'custom_fields/custom_fields_list', 'cf_type' => 1, 'pass_section' => true, 'pass' => 'm,cf'),
'permissions' => Array ('view', 'add', 'edit', 'delete'),
'priority' => 11.4,
'type' => stTREE,
),
),
'FilterMenu' => Array (
'Groups' => Array (
Array ('mode' => 'AND', 'filters' => Array ('show_active', 'show_pending', 'show_disabled'), 'type' => WHERE_FILTER),
Array ('mode' => 'AND', 'filters' => Array ('show_new'), 'type' => HAVING_FILTER),
Array ('mode' => 'AND', 'filters' => Array ('show_pick'), 'type' => WHERE_FILTER),
),
'Filters' => Array (
'show_active' => Array ('label' =>'la_Active', 'on_sql' => '', 'off_sql' => 'Status != 1'),
'show_pending' => Array ('label' => 'la_Pending', 'on_sql' => '', 'off_sql' => 'Status != 2'),
'show_disabled' => Array ('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => 'Status != 0'),
's1' => Array (),
'show_new' => Array ('label' => 'la_Text_New', 'on_sql' => '', 'off_sql' => '`IsNew` != 1'),
'show_pick' => Array ('label' => 'la_prompt_EditorsPick', 'on_sql' => '', 'off_sql' => '`EditorsPick` != 1'),
)
),
'ListSQLs' => Array (
'' => ' SELECT %1$s.* %2$s
FROM %1$s
LEFT JOIN '.TABLE_PREFIX.'Images img ON img.ResourceId = %1$s.ResourceId AND img.DefaultImg = 1
LEFT JOIN '.TABLE_PREFIX.'PermCache ON '.TABLE_PREFIX.'PermCache.CategoryId = %1$s.CategoryId
LEFT JOIN '.TABLE_PREFIX.'%3$sCategoryCustomData cust ON %1$s.ResourceId = cust.ResourceId'
),
'SubItems' => Array ('c-rel', 'c-search','c-img', 'c-cdata', 'c-perm', 'content'),
'ListSortings' => Array (
'' => Array (
'Sorting' => Array ('Priority' => 'desc', 'Name' => 'asc'),
)
),
'CalculatedFields' => Array (
'' => Array (
'CurrentSort' => "REPLACE(ParentPath, CONCAT('|', ".'%1$s'.".CategoryId, '|'), '')",
'SameImages' => 'img.SameImages',
'LocalThumb' => 'img.LocalThumb',
'ThumbPath' => 'img.ThumbPath',
'ThumbUrl' => 'img.ThumbUrl',
'LocalImage' => 'img.LocalImage',
'LocalPath' => 'img.LocalPath',
'FullUrl' => 'img.Url',
)
),
'CacheModRewrite' => true,
'Fields' => Array (
'CategoryId' => Array ('type' => 'int', 'not_null' => 1,'default' => 0),
'Type' => Array ('type' => 'int', 'not_null' => 1,'default' => 0),
'SymLinkCategoryId' => Array ('type' => 'int', 'default' => NULL),
'ParentId' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (), 'not_null' => 1,'default' => 0, 'required' => 1),
'Name' => Array ('type' => 'string', 'formatter' => 'kMultiLanguage', 'format'=>'no_default', 'not_null' => 1, 'required' => 1, 'default' => ''),
'Filename' => Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
'AutomaticFilename' => Array ('type' => 'int', 'not_null' => 1, 'default' => 1),
'Description' => Array ('type' => 'string', 'formatter' => 'kMultiLanguage', 'format'=>'no_default', 'default' => null),
'CreatedOn' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'default'=>'#NOW#', 'required' => 1, 'not_null' => 1),
'EditorsPick' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
'Status' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Active', 2 => 'la_Pending', 0 => 'la_Disabled' ), 'use_phrases' => 1, 'not_null' => 1,'default' => 1),
'Priority' => Array ('type' => 'int', 'not_null' => 1, 'formatter' => 'kOptionsFormatter', 'options' => Array (), 'default' => 0),
'MetaKeywords' => Array ('type' => 'string', 'default' => null),
'CachedDescendantCatsQty' => Array ('type' => 'int', 'default' => 0),
'CachedNavbar' => Array ('type' => 'string', 'formatter' => 'kMultiLanguage', 'default' => null),
'CreatedById' => Array ('type' => 'int', 'formatter' => 'kLEFTFormatter', 'error_msgs' => Array ('invalid_option' => '!la_error_UserNotFound!'), 'options' => Array (-1 => 'root', -2 => 'Guest'),'left_sql'=>'SELECT %s FROM '.TABLE_PREFIX.'PortalUser WHERE `%s` = \'%s\'', 'left_key_field' => 'PortalUserId', 'left_title_field' => 'Login', 'not_null' => 1,'default' => 0),
'ResourceId' => Array ('type' => 'int', 'default' => null),
'ParentPath' => Array ('type' => 'string', 'default' => null),
'TreeLeft' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
'TreeRight' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
'NamedParentPath' => Array ('type' => 'string', 'default' => null),
'MetaDescription' => Array ('type' => 'string', 'default' => null),
'HotItem' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 2),
'NewItem' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 2),
'PopItem' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 2),
'Modified' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'not_null' => 1,'default' => '#NOW#'),
'ModifiedById' => Array ('type' => 'int', 'formatter' => 'kLEFTFormatter', 'error_msgs' => Array ('invalid_option' => '!la_error_UserNotFound!'), 'options' => Array (-1 => 'root', -2 => 'Guest'),'left_sql'=>'SELECT %s FROM '.TABLE_PREFIX.'PortalUser WHERE `%s` = \'%s\'', 'left_key_field' => 'PortalUserId', 'left_title_field' => 'Login', 'not_null' => 1,'default' => 0),
'CachedTemplate' => Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
// fields from Pages
'Template' => Array (
'type' => 'string',
'formatter' => 'kOptionsFormatter',
'options_sql' => ' SELECT CONCAT(tf.Description, " (", TRIM(TRAILING ".des" FROM TRIM(TRAILING ".tpl" FROM FileName) ), ")") AS Title,
CONCAT(FilePath, "/", TRIM(TRAILING ".tpl" FROM FileName)) AS Value
FROM ' . TABLE_PREFIX . 'ThemeFiles AS tf
LEFT JOIN ' . TABLE_PREFIX . 'Theme AS t ON t.ThemeId = tf.ThemeId
WHERE (t.Enabled = 1) AND (tf.FileName NOT LIKE "%%.elm.tpl") AND (tf.FileName NOT LIKE "%%.des.tpl") AND (tf.FilePath = "/designs")
ORDER BY tf.Description ASC, tf.FileName ASC',
'option_key_field' => 'Value', 'option_title_field' => 'Title',
/*'required' => 1,*/ 'default' => null
),
'UseExternalUrl' => Array (
'type' => 'int',
'formatter' => 'kOptionsFormatter', 'options' => Array (0 => 'la_No', 1 => 'la_Yes'), 'use_phrases' => 1,
'not_null' => 1, 'default' => 0
),
'ExternalUrl' => Array ('type' => 'string', 'max_len' => 255, 'not_null' => 1, 'default' => ''),
'UseMenuIconUrl' => Array (
'type' => 'int',
'formatter' => 'kOptionsFormatter', 'options' => Array (0 => 'la_No', 1 => 'la_Yes'), 'use_phrases' => 1,
'not_null' => 1, 'default' => 0
),
'MenuIconUrl' => Array ('type' => 'string', 'max_len' => 255, 'not_null' => 1, 'default' => ''),
'Title' => Array ('type' => 'string', 'formatter' => 'kMultiLanguage', 'format'=>'no_default', 'default' => '', 'not_null'=>1),
'MenuTitle' => Array ('type' => 'string', 'formatter' => 'kMultiLanguage', 'format'=>'no_default', 'not_null' => 1, 'default' => ''),
'MetaTitle' => Array ('type' => 'string', 'default' => null),
'IndexTools' => Array ('type' => 'string', 'default' => null),
'IsIndex' =>
Array (
'type' => 'int', 'not_null' => 1, 'default' => 0,
'formatter' => 'kOptionsFormatter', 'options' => Array (0 => 'la_Regular', 1 => 'la_CategoryIndex', 2 => 'la_Container'), 'use_phrases' => 1,
),
'IsMenu' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Show', 0 => 'la_Hide'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 1),
'IsSystem' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_System', 0 => 'la_Regular'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0),
'FormId' => Array (
'type' => 'int',
'formatter' => 'kOptionsFormatter', 'options' => Array ('' => ''),
'options_sql' => 'SELECT Title, FormId FROM '.TABLE_PREFIX.'Forms ORDER BY Title',
'option_key_field' => 'FormId', 'option_title_field' => 'Title',
'default' => 0
),
'FormSubmittedTemplate' => Array ('type' => 'string', 'default' => null),
'Translated' => Array ('type' => 'int', 'formatter' => 'kMultiLanguage', 'not_null' => 1, 'default' => 0, 'db_type' => 'tinyint', 'index_type' => 'int'),
'FriendlyURL' => Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
'ThemeId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
),
'VirtualFields' => Array (
'CurrentSort' => Array('type' => 'string', 'default' => ''),
'IsNew' => Array('type' => 'int', 'default' => 0),
'OldPriority' => Array('type' => 'int', 'default' => 0),
// for primary image
'SameImages' => Array('type' => 'string', 'default' => ''),
'LocalThumb' => Array('type' => 'string', 'default' => ''),
'ThumbPath' => Array('type' => 'string', 'default' => ''),
'ThumbUrl' => Array('type' => 'string', 'default' => ''),
'LocalImage' => Array('type' => 'string', 'default' => ''),
'LocalPath' => Array('type' => 'string', 'default' => ''),
'FullUrl' => Array('type' => 'string', 'default' => ''),
),
'Grids' => Array(
'Default' => Array (
'Icons' => Array(1 => 'icon16_folder.gif', 0 => 'icon16_folder-red.gif'),
'Fields' => Array(
'CategoryId' => Array( 'title'=>'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', ),
'Name' => Array( 'title'=>'la_col_PageTitle', 'data_block' => 'page_browse_td', 'filter_block' => 'grid_like_filter'),
- 'Modified_formatted' => Array( 'title'=>'la_col_Modified', 'sort_field' => 'Modified', 'filter_block' => 'grid_date_range_filter' ),
+ 'Modified' => Array( 'title'=>'la_col_Modified', 'filter_block' => 'grid_date_range_filter' ),
'Template' => Array( 'title'=>'la_col_TemplateType', 'filter_block' => 'grid_options_filter' ),
'IsMenu' => Array( 'title'=>'la_col_Visible', 'filter_block' => 'grid_options_filter' ),
'IsSystem' => Array( 'title'=>'la_col_System', 'filter_block' => 'grid_options_filter', ),
'Priority' => Array( 'title'=>'la_col_Priority', 'filter_block' => 'grid_options_filter', ),
),
),
'Radio' => Array (
'Selector' => 'radio',
'Icons' => Array(1 => 'icon16_folder.gif', 0 => 'icon16_folder-red.gif'),
'Fields' => Array(
'CategoryId' => Array( 'title'=>'la_col_Id', 'data_block' => 'grid_radio_td', 'filter_block' => 'grid_range_filter', ),
'Name' => Array( 'title'=>'la_col_PageTitle', 'data_block' => 'page_browse_td', 'filter_block' => 'grid_like_filter'),
- 'Modified_formatted' => Array( 'title'=>'la_col_Modified', 'sort_field' => 'Modified', 'filter_block' => 'grid_date_range_filter' ),
+ 'Modified' => Array( 'title'=>'la_col_Modified', 'filter_block' => 'grid_date_range_filter' ),
'Template' => Array( 'title'=>'la_col_TemplateType', 'filter_block' => 'grid_options_filter' ),
'IsMenu' => Array( 'title'=>'la_col_Visible', 'filter_block' => 'grid_options_filter' ),
'IsSystem' => Array( 'title'=>'la_col_System', 'filter_block' => 'grid_options_filter', ),
'Priority' => Array( 'title'=>'la_col_Priority', 'filter_block' => 'grid_options_filter', ),
),
),
'Structure' => Array (
'Icons' => Array(1 => 'icon16_folder.gif', 0 => 'icon16_folder-red.gif'),
'Fields' => Array(
'CategoryId' => Array( 'title'=>'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', ),
'Name' => Array( 'title'=>'la_col_PageTitle', 'data_block' => 'page_browse_td', 'filter_block' => 'grid_like_filter'),
- 'Modified_formatted' => Array( 'title'=>'la_col_Modified', 'sort_field' => 'Modified', 'filter_block' => 'grid_date_range_filter' ),
+ 'Modified' => Array( 'title'=>'la_col_Modified', 'filter_block' => 'grid_date_range_filter' ),
'Template' => Array( 'title'=>'la_col_TemplateType', 'filter_block' => 'grid_options_filter' ),
'IsMenu' => Array( 'title'=>'la_col_Visible', 'filter_block' => 'grid_options_filter' ),
'Path' => Array( 'title'=>'la_col_Path', 'data_block' => 'page_entercat_td', 'filter_block' => 'grid_like_filter' ),
'IsSystem' => Array( 'title'=>'la_col_System', 'filter_block' => 'grid_options_filter', ),
'Priority' => Array( 'title'=>'la_col_Priority', 'filter_block' => 'grid_options_filter', ),
),
),
),
'ConfigMapping' => Array (
'PerPage' => 'Perpage_Category',
'ShortListPerPage' => 'Perpage_Category_Short',
'DefaultSorting1Field' => 'Category_Sortfield',
'DefaultSorting2Field' => 'Category_Sortfield2',
'DefaultSorting1Dir' => 'Category_Sortorder',
'DefaultSorting2Dir' => 'Category_Sortorder2',
),
);
\ No newline at end of file
Property changes on: branches/RC/core/units/categories/categories_config.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.66.2.19
\ No newline at end of property
+1.66.2.20
\ No newline at end of property
Index: branches/RC/core/units/sections/sections_config.php
===================================================================
--- branches/RC/core/units/sections/sections_config.php (revision 11684)
+++ branches/RC/core/units/sections/sections_config.php (revision 11685)
@@ -1,231 +1,232 @@
<?php
$config = Array (
'Prefix' => 'core-sections',
'EventHandlerClass' => Array ('class' => 'SiteConfigEventHandler', 'file' => 'site_config_eh.php', 'build_event' => 'OnBuild'),
'TagProcessorClass' => Array ('class' => 'kDBTagProcessor', 'file' => '', 'build_event' => 'OnBuild'),
'Hooks' => Array (
Array (
- 'Mode' => hBEFORE,
+ 'Mode' => hAFTER,
'Conditional' => false,
'HookToPrefix' => '*',
'HookToSpecial' => '*',
'HookToEvent' => Array ('OnAfterConfigRead'),
'DoPrefix' => '',
'DoSpecial' => '*',
'DoEvent' => 'OnApplySiteConfigChanges',
),
),
'Sections' => Array (
'in-portal:site' => Array (
'parent' => 'in-portal:root',
'icon' => 'struct',
'label' => 'la_tab_Site_Structure',
'url' => Array ('t' => 'index', 'pass_section' => true, 'pass' => 'm'),
'permissions' => Array ('view'),
'priority' => 1,
'container' => true,
'type' => stTREE,
'SectionPrefix' => 'c',
),
'in-portal:browse_site' => Array(
'parent' => 'in-portal:site',
'icon' => 'browse-site',
'label' => 'la_tab_BrowsePages',
'url' => Array('t' => 'index', 'index_file' => '../index.php', 'admin' => 1, 'pass' => 'm'),
'permissions' => Array('view'),
'priority' => 1,
'type' => stTREE,
),
'in-portal:browse' => Array (
'parent' => 'in-portal:site',
'icon' => 'structure', // 'catalog'
'label' => 'la_title_Structure', // 'la_tab_Browse',
'url' => Array ('t' => 'catalog/catalog', 'pass' => 'm'),
'late_load' => Array ('t' => 'categories/xml/tree_categories', 'pass' => 'm', 'm_cat_id' => 0),
'onclick' => 'checkCatalog(0)',
'permissions' => Array ('view'),
'priority' => 2,
'type' => stTREE,
),
'in-portal:reviews' => Array (
'parent' => 'in-portal:users',
'icon' => 'reviews',
'label' => 'la_tab_Reviews',
'url' => Array ('t' => 'reviews/reviews', 'pass' => 'm'),
'permissions' => Array ('view'),
'priority' => 5,
'type' => stTREE,
),
'in-portal:users' => Array (
'parent' => 'in-portal:root',
'icon' => 'community',
'label' => 'la_tab_Community',
'url' => Array ('t' => 'index', 'pass_section' => true, 'pass' => 'm'),
'permissions' => Array ('view'),
'priority' => 3,
'container' => true,
'type' => stTREE,
'SectionPrefix' => 'u',
),
'in-portal:user_groups' => Array (
'parent' => 'in-portal:users',
'icon' => 'usergroups',
'label' => 'la_tab_User_Groups',
'url' => Array ('t' => 'groups/groups_list', 'pass' => 'm'),
'permissions' => Array ('view', 'add', 'edit', 'delete', 'advanced:send_email', 'advanced:manage_permissions'),
'SectionPrefix' => 'g',
'priority' => 3,
'type' => stTREE,
),
// "Help" section
'in-portal:help' => Array (
'parent' => 'in-portal:root',
'icon' => 'help',
'label' => 'la_tab_Help',
'url' => Array ('index_file' => 'help/manual.pdf', 'pass' => 'm'),
'permissions' => Array ('view'),
'priority' => 7,
'type' => stTREE,
),
// "Summary & Logs" section
'in-portal:reports' => Array (
'parent' => 'in-portal:root',
'icon' => 'summary_logs',
'label' => 'la_tab_Reports',
'url' => Array ('t' => 'index', 'pass_section' => true, 'pass' => 'm'),
'permissions' => Array ('view'),
'priority' => 4,
'container' => true,
'type' => stTREE,
'SectionPrefix' => 'adm',
),
/*'in-portal:log_summary' => Array (
'parent' => 'in-portal:reports',
'icon' => 'summary',
'label' => 'la_tab_Summary',
'url' => Array ('index_file' => 'logs/summary.php', 'pass' => 'm'),
'permissions' => Array ('view'),
'priority' => 1,
'type' => stTREE,
),*/
// "Configuration" section
'in-portal:system' => Array (
'parent' => 'in-portal:root',
'icon' => 'conf',
'label' => 'la_tab_Sys_Config',
'url' => Array ('t' => 'index', 'pass_section' => true, 'pass' => 'm'),
'permissions' => Array ('view'),
'priority' => 5,
'container' => true,
'type' => stTREE,
'SectionPrefix' => 'adm',
),
'in-portal:website_setting_folder' => Array (
'parent' => 'in-portal:system',
'icon' => 'conf',
'label' => 'la_title_Website',
'url' => Array ('t' => 'index', 'pass_section' => true, 'pass' => 'm'),
'permissions' => Array ('view'),
'priority' => 1,
'container' => true,
'type' => stTREE,
'SectionPrefix' => 'adm',
),
'in-portal:configure_general' => Array (
'parent' => 'in-portal:website_setting_folder',
'icon' => 'conf_general',
'label' => 'la_tab_General',
'url' => Array ('t' => 'config/config_universal', 'pass_section' => true, 'pass' => 'm'),
'permissions' => Array ('view', 'edit'),
'priority' => 1,
'type' => stTREE,
),
'in-portal:configure_advanced' => Array (
'parent' => 'in-portal:website_setting_folder',
'icon' => 'settings_general',
'label' => 'la_title_Advanced',
'url' => Array ('t' => 'config/config_universal', 'pass_section' => true, 'pass' => 'm'),
'permissions' => Array ('view', 'edit'),
'priority' => 2,
'type' => stTREE,
),
// "Tools" section
'in-portal:tools' => Array (
'parent' => 'in-portal:root',
'icon' => 'tools',
'label' => 'la_tab_Tools',
'url' => Array ('t' => 'index', 'pass_section' => true, 'pass' => 'm'),
'permissions' => Array ('view'),
'priority' => 6,
'container' => true,
'type' => stTREE,
'SectionPrefix' => 'adm',
),
'in-portal:backup' => Array (
'parent' => 'in-portal:tools',
'icon' => 'tool_backup',
'label' => 'la_tab_Backup',
'url' => Array ('t' => 'tools/backup1', 'section' => 'in-portal:configure_general', 'module' => 'In-Portal', 'pass' => 'm'),
'permissions' => Array ('view'),
'priority' => 2,
'type' => stTREE,
),
'in-portal:restore' => Array (
'parent' => 'in-portal:tools',
'icon' => 'tool_restore',
'label' => 'la_tab_Restore',
'url' => Array ('t' => 'tools/restore1', 'pass' => 'm'),
'permissions' => Array ('view'),
'priority' => 3,
'type' => stTREE,
),
'in-portal:main_import' => Array (
'parent' => 'in-portal:tools',
'icon' => 'tool_import',
'label' => 'la_tab_ImportData',
'url' => Array ('t' => 'tools/import1'),
+ 'onclick' => 'direct_edit(\'adm\', this.href);',
'permissions' => Array ('view'),
'priority' => 4,
'type' => stTREE,
),
'in-portal:sql_query' => Array (
'parent' => 'in-portal:tools',
'icon' => 'tool_import',
'label' => 'la_tab_QueryDB',
'url' => Array ('t' => 'tools/sql_query', 'pass' => 'm'),
'permissions' => Array ('view', 'edit'),
'priority' => 5,
'type' => stTREE,
),
'in-portal:server_info' => Array (
'parent' => 'in-portal:tools',
'icon' => 'server_info',
'label' => 'la_tab_ServerInfo',
'url' => Array ('t' => 'tools/server_info', 'pass' => 'm'),
'permissions' => Array ('view'),
'priority' => 6,
'type' => stTREE,
),
),
);
\ No newline at end of file
Property changes on: branches/RC/core/units/sections/sections_config.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.5.2.28
\ No newline at end of property
+1.5.2.29
\ No newline at end of property
Index: branches/RC/core/units/sections/site_config_eh.php
===================================================================
--- branches/RC/core/units/sections/site_config_eh.php (revision 11684)
+++ branches/RC/core/units/sections/site_config_eh.php (revision 11685)
@@ -1,157 +1,184 @@
<?php
class SiteConfigEventHandler extends kEventHandler {
/**
* [HOOK] Universal hook to modify all configs
*
* @param kEvent $event
*/
function OnApplySiteConfigChanges(&$event)
{
static $base_path = null;
if (!isset($base_path)) {
$base_path = FULL_PATH . dirname( $this->Application->UnitConfigReader->getPrefixFile('custom-sections') ) . '/../site_configs';
}
$prefix_file = basename( $this->Application->UnitConfigReader->getPrefixFile($event->MasterEvent->Prefix) );
$cut_pos = strrpos($prefix_file, '_config.php');
$prefix_file = substr($prefix_file, 0, $cut_pos) . '_' . $event->MasterEvent->Prefix . '.php';
if (file_exists($base_path . '/' . $prefix_file)) {
/*if ($this->Application->isDebugMode()) {
$this->Application->Debugger->appendHTML('Using site config: ' . $prefix_file);
}*/
require $base_path . '/' . $prefix_file;
}
else {
/*if ($this->Application->isDebugMode()) {
$this->Application->Debugger->appendHTML('Site config missing: ' . $prefix_file);
}*/
return ;
}
$change_names = Array (
- 'remove_sections', 'remove_buttons', 'hidden_fields', 'virtual_hidden_fields',
+ 'remove_sections', 'debug_only_sections', 'remove_buttons',
+ 'hidden_fields', 'virtual_hidden_fields', 'debug_only_fields', 'debug_only_virtual_fields',
'required_fields', 'virtual_required_fields', 'hide_edit_tabs', 'hide_columns'
);
$changes = Array ();
foreach ($change_names as $change_name) {
if (isset($$change_name)) {
$changes[$change_name] = $$change_name;
}
}
// apply changes
$this->_processConfigChanges($event->MasterEvent->Prefix, $changes);
}
/**
* Applies given changes to given prefix unit config
*
* @param string $prefix
* @param Array $changes
*/
function _processConfigChanges($prefix, $changes)
{
extract($changes);
$section_adjustments = $this->Application->getUnitOption($this->Prefix, 'SectionAdjustments', Array ());
$title_presets = $this->Application->getUnitOption($prefix, 'TitlePresets', Array ());
$fields = $this->Application->getUnitOption($prefix, 'Fields', Array ());
$virtual_fields = $this->Application->getUnitOption($prefix, 'VirtualFields', Array ());
$edit_tab_presets = $this->Application->getUnitOption($prefix, 'EditTabPresets', Array ());
$grids = $this->Application->getUnitOption($prefix, 'Grids', Array ());
$field_names = array_keys($fields);
$virtual_field_names = array_keys($virtual_fields);
if (isset($remove_sections)) {
// process sections
foreach ($remove_sections as $remove_section) {
$section_adjustments[$remove_section] = 'remove';
}
}
+ if (isset($debug_only_sections)) {
+ // process sections
+ foreach ($debug_only_sections as $debug_only_section) {
+ $section_adjustments[$debug_only_section]['show_mode'] = smDEBUG;
+ }
+ }
+
if (isset($remove_buttons)) {
// process toolbar buttons
foreach ($remove_buttons as $title_preset => $toolbar_buttons) {
$title_presets[$title_preset]['toolbar_buttons'] = array_diff($title_presets[$title_preset]['toolbar_buttons'], $toolbar_buttons);
}
}
+ $reset_fields = true;
+ $reset_virtual_fields = true;
+
// process hidden fields
if (isset($hidden_fields)) {
- $fields = $this->_setFieldOption($fields, $hidden_fields, 'hidden', 1);
+ $fields = $this->_setFieldOption($fields, $hidden_fields, 'show_mode', false, $reset_fields);
+ $reset_fields = false;
}
if (isset($virtual_hidden_fields)) {
- $virtual_fields = $this->_setFieldOption($virtual_fields, $virtual_hidden_fields, 'hidden', 1);
+ $virtual_fields = $this->_setFieldOption($virtual_fields, $virtual_hidden_fields, 'show_mode', false, $reset_virtual_fields);
+ $reset_virtual_fields = false;
+ }
+
+ // process debug only fields
+ if (isset($debug_only_fields)) {
+ $fields = $this->_setFieldOption($fields, $debug_only_fields, 'show_mode', smDEBUG, $reset_fields);
+ $reset_fields = false;
+ }
+
+ if (isset($debug_only_virtual_fields)) {
+ $virtual_fields = $this->_setFieldOption($virtual_fields, $debug_only_virtual_fields, 'show_mode', smDEBUG, $reset_virtual_fields);
+ $reset_virtual_fields = false;
}
// process required fields
if (isset($required_fields)) {
$fields = $this->_setFieldOption($fields, $required_fields, 'required', 1);
}
if (isset($virtual_required_fields)) {
$virtual_fields = $this->_setFieldOption($virtual_fields, $virtual_required_fields, 'required', 1);
}
if (isset($hide_edit_tabs)) {
// hide edit tabs
foreach ($hide_edit_tabs as $preset_name => $edit_tabs) {
foreach ($edit_tabs as $edit_tab) {
unset($edit_tab_presets[$preset_name][$edit_tab]);
}
}
}
if (isset($hide_columns)) {
// hide columns in grids
foreach ($hide_columns as $grid_name => $columns) {
foreach ($columns as $column) {
unset($grids[$grid_name]['Fields'][$column]);
}
}
}
// save changes
$this->Application->setUnitOption($this->Prefix, 'SectionAdjustments', $section_adjustments);
$this->Application->setUnitOption($prefix, 'TitlePresets', $title_presets);
$this->Application->setUnitOption($prefix, 'Fields', $fields);
$this->Application->setUnitOption($prefix, 'VirtualFields', $virtual_fields);
$this->Application->setUnitOption($prefix, 'EditTabPresets', $edit_tab_presets);
$this->Application->setUnitOption($prefix, 'Grids', $grids);
}
/**
* Sets given option for given fields and unsets it for all other fields
*
* @param Array $fields
* @param Array $set_fields
* @param string $option_name
* @param mixed $option_value
+ * @param bool $reset
*/
- function _setFieldOption($fields, $set_fields, $option_name, $option_value)
+ function _setFieldOption($fields, $set_fields, $option_name, $option_value, $reset = true)
{
- // unset given option for rest of fields (all except $set_fields)
- $unset_fields = array_diff(array_keys($fields), $set_fields);
- foreach ($unset_fields as $unset_field) {
- if (array_key_exists($option_name, $fields[$unset_field])) {
- unset($fields[$unset_field][$option_name]);
+ if ($reset) {
+ // unset given option for rest of fields (all except $set_fields)
+ $unset_fields = array_diff(array_keys($fields), $set_fields);
+ foreach ($unset_fields as $unset_field) {
+ if (array_key_exists($option_name, $fields[$unset_field])) {
+ unset($fields[$unset_field][$option_name]);
+ }
}
}
// set given option to given fields
foreach ($set_fields as $set_field) {
$fields[$set_field][$option_name] = $option_value;
}
return $fields;
}
}
\ No newline at end of file
Property changes on: branches/RC/core/units/sections/site_config_eh.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.2.1
\ No newline at end of property
+1.1.2.2
\ No newline at end of property
Index: branches/RC/core/units/custom_fields/custom_fields_event_handler.php
===================================================================
--- branches/RC/core/units/custom_fields/custom_fields_event_handler.php (revision 11684)
+++ branches/RC/core/units/custom_fields/custom_fields_event_handler.php (revision 11685)
@@ -1,238 +1,290 @@
<?php
class CustomFieldsEventHandler extends kDBEventHandler {
/**
* Changes permission section to one from REQUEST, not from config
*
* @param kEvent $event
*/
function CheckPermission(&$event)
{
$sql = 'SELECT Prefix
FROM '.TABLE_PREFIX.'ItemTypes
WHERE ItemType = '.$this->Conn->qstr( $this->Application->GetVar('cf_type') );
$main_prefix = $this->Conn->GetOne($sql);
$section = $this->Application->getUnitOption($main_prefix.'.custom', 'PermSection');
$event->setEventParam('PermSection', $section);
return parent::CheckPermission($event);
}
/**
* Apply any custom changes to list's sql query
*
* @param kEvent $event
* @access protected
* @see OnListBuild
*/
function SetCustomQuery(&$event)
{
$object =& $event->getObject();
+ /* @var $object kDBList */
$item_type = $this->Application->GetVar('cf_type');
if (!$item_type) {
$prefix = $event->getEventParam('SourcePrefix');
$item_type = $this->Application->getUnitOption($prefix, 'ItemType');
}
if ($event->Special == 'general') {
$object->addFilter('generaltab_filter', '%1$s.OnGeneralTab = 1');
}
if ($item_type) {
+ $hidden_fields = array_map(Array(&$this->Conn, 'qstr'), $this->_getHiddenFiels($event));
+
+ if ($hidden_fields) {
+ $object->addFilter('hidden_filter', '%1$s.FieldName NOT IN (' . implode(',', $hidden_fields) . ')');
+ }
+
$object->addFilter('itemtype_filter', '%1$s.Type = '.$item_type);
}
if (!($this->Application->isDebugMode() && $this->Application->IsAdmin())) {
$object->addFilter('user_filter', '%1$s.IsSystem = 0');
}
}
/**
+ * Returns prefix, that custom fields are printed for
+ *
+ * @param kEvent $event
+ * @return string
+ */
+ function _getSourcePrefix(&$event)
+ {
+ $prefix = $event->getEventParam('SourcePrefix');
+ if (!$prefix) {
+ $sql = 'SELECT Prefix
+ FROM ' . TABLE_PREFIX . 'ItemTypes
+ WHERE ItemType = ' . $this->Application->GetVar('cf_type');
+ $prefix = $this->Conn->GetOne($sql);
+ }
+
+ return $prefix;
+ }
+
+ /**
+ * Get custom fields, that should no be shown anywhere
+ *
+ * @param kEvent $event
+ * @return Array
+ */
+ function _getHiddenFiels(&$event)
+ {
+ $prefix = $this->_getSourcePrefix($event);
+
+ $virtual_fields = $this->Application->getUnitOption($prefix, 'VirtualFields');
+ $custom_fields = $this->Application->getUnitOption($prefix, 'CustomFields');
+
+ $hidden_fields = Array ();
+ foreach ($custom_fields as $custom_field) {
+ $check_field = 'cust_' . $custom_field;
+ $show_mode = array_key_exists('show_mode', $virtual_fields[$check_field]) ? $virtual_fields[$check_field]['show_mode'] : true;
+
+ if (($show_mode === false) || (($show_mode === smDEBUG) && !(defined('DEBUG_MODE') && DEBUG_MODE))) {
+ $hidden_fields[] = $custom_field;
+ }
+ }
+
+ return $hidden_fields;
+ }
+
+ /**
* Prevents from duplicate item creation
*
* @param kEvent $event
*/
function OnBeforeItemCreate(&$event)
{
$object =& $event->getObject();
$live_table = $this->Application->getUnitOption($event->Prefix, 'TableName');
$sql = 'SELECT COUNT(*)
FROM '.$live_table.'
WHERE FieldName = '.$this->Conn->qstr($object->GetDBField('FieldName')).' AND Type = '.$object->GetDBField('Type');
$found = $this->Conn->GetOne($sql);
if ($found) {
$event->status = erFAIL;
$object->SetError('FieldName', 'duplicate', 'la_error_CustomExists');
}
}
/**
* Occurse after deleting item, id of deleted item
* is stored as 'id' param of event
*
* @param kEvent $event
* @access public
*/
function OnAfterItemDelete(&$event)
{
$object =& $event->getObject();
$main_prefix = $this->getPrefixByItemType($object->GetDBField('Type'));
$ml_helper =& $this->Application->recallObject('kMultiLanguageHelper');
/* @var $ml_helper kMultiLanguageHelper */
// call main item config to clone cdata table
$this->Application->getUnitOption($main_prefix, 'TableName');
$ml_helper->deleteField($main_prefix.'-cdata', $event->getEventParam('id'));
}
/**
* Get config prefix based on item type
*
* @param unknown_type $item_type
* @return unknown
*/
function getPrefixByItemType($item_type)
{
$sql = 'SELECT Prefix
FROM '.TABLE_PREFIX.'ItemTypes
WHERE ItemType = '.$item_type;
return $this->Conn->GetOne($sql);
}
/**
* Enter description here...
*
* @param kEvent $event
*/
function OnSaveCustomField(&$event)
{
if ($event->MasterEvent->status != erSUCCESS) {
return false;
}
$object =& $event->getObject();
$main_prefix = $this->getPrefixByItemType($object->GetDBField('Type'));
$ml_helper =& $this->Application->recallObject('kMultiLanguageHelper');
/* @var $ml_helper kMultiLanguageHelper */
// call main item config to clone cdata table
$this->Application->getUnitOption($main_prefix, 'TableName');
$ml_helper->createFields($main_prefix.'-cdata');
}
function OnMassDelete(&$event)
{
parent::OnMassDelete($event);
$event->redirect_params = Array('opener' => 's');
}
/**
* Prepare temp tables for creating new item
* but does not create it. Actual create is
* done in OnPreSaveCreated
*
* @param kEvent $event
*/
function OnPreCreate(&$event)
{
parent::OnPreCreate($event);
$object =& $event->getObject();
$object->SetDBField('Type', $this->Application->GetVar('cf_type'));
}
/**
* Prepares ValueList field's value as xml for editing
*
* @param kEvent $event
*/
function OnAfterItemLoad(&$event)
{
parent::OnAfterItemLoad($event);
$object =& $event->getObject();
/* @var $object kDBItem */
if (!in_array($object->GetDBField('ElementType'), $this->_getMultiElementTypes())) {
return ;
}
$custom_field_helper =& $this->Application->recallObject('InpCustomFieldsHelper');
/* @var $custom_field_helper InpCustomFieldsHelper */
$options = $custom_field_helper->GetValuesHash( $object->GetDBField('ValueList'), VALUE_LIST_SEPARATOR, false );
$records = Array ();
$option_key = key($options);
if ($option_key === '' || $option_key == 0) {
// remove 1st empty option, and add it later, when options will be saved, but allow string option keys
unset($options[$option_key]); // keep index, don't use array_unshift!
}
foreach ($options as $option_key => $option_title) {
$records[] = Array ('OptionKey' => $option_key, 'OptionTitle' => $option_title);
}
$minput_helper =& $this->Application->recallObject('MInputHelper');
/* @var $minput_helper MInputHelper */
$xml = $minput_helper->prepareMInputXML($records, Array ('OptionKey', 'OptionTitle'));
$object->SetDBField('Options', $xml);
}
/**
* Returns custom field element types, that will use minput control
*
* @return unknown
*/
function _getMultiElementTypes()
{
return Array ('select', 'multiselect', 'radio');
}
/**
* Saves minput content to ValueList field
*
* @param kEvent $event
*/
function OnBeforeItemUpdate(&$event)
{
parent::OnBeforeItemUpdate($event);
$object =& $event->getObject();
/* @var $object kDBItem */
if (!in_array($object->GetDBField('ElementType'), $this->_getMultiElementTypes())) {
return ;
}
$minput_helper =& $this->Application->recallObject('MInputHelper');
/* @var $minput_helper MInputHelper */
$ret = $object->GetDBField('ElementType') == 'multiselect' ? Array () : Array ('' => '=+');
$records = $minput_helper->parseMInputXML($object->GetDBField('Options'));
if ($object->GetDBField('SortValues')) {
usort($records, Array (&$this, '_sortValues'));
ksort($records);
}
foreach ($records as $record) {
$ret[] = $record['OptionKey'] . '=+' . $record['OptionTitle'];
}
$object->SetDBField('ValueList', implode(VALUE_LIST_SEPARATOR, $ret));
}
function _sortValues($record_a, $record_b)
{
return strcasecmp($record_a['OptionTitle'], $record_b['OptionTitle']);
}
}
?>
\ No newline at end of file
Property changes on: branches/RC/core/units/custom_fields/custom_fields_event_handler.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.17.2.2
\ No newline at end of property
+1.17.2.3
\ No newline at end of property
Index: branches/RC/core/units/logs/session_logs/session_logs_config.php
===================================================================
--- branches/RC/core/units/logs/session_logs/session_logs_config.php (revision 11684)
+++ branches/RC/core/units/logs/session_logs/session_logs_config.php (revision 11685)
@@ -1,137 +1,137 @@
<?php
$config = Array (
'Prefix' => 'session-log',
'ItemClass' => Array ('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'),
'ListClass' => Array ('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
'EventHandlerClass' => Array ('class' => 'SessionLogEventHandler', 'file' => 'session_log_eh.php', 'build_event' => 'OnBuild'),
'TagProcessorClass' => Array ('class' => 'kDBTagProcessor', 'file' => '', 'build_event' => 'OnBuild'),
'AutoLoad' => true,
'QueryString' => Array (
1 => 'id',
2 => 'Page',
3 => 'event',
4 => 'mode',
),
'IDField' => 'SessionLogId',
'StatusField' => Array ('Status'),
'TableName' => TABLE_PREFIX.'SessionLogs',
'TitlePresets' => Array (
'session_log_list' => Array ('prefixes' => Array('session-log_List'), 'format' => '!la_tab_SessionLogs!',),
),
'PermSection' => Array('main' => 'in-portal:session_logs'),
// don't forget to add corresponding permissions to install script
// INSERT INTO Permissions VALUES (0, 'in-portal:session_logs.view', 11, 1, 1, 0), (0, 'in-portal:session_logs.delete', 11, 1, 1, 0);
'Sections' => Array (
'in-portal:session_logs' => Array (
'parent' => 'in-portal:reports',
'icon' => 'sessions_log',
'label' => 'la_tab_SessionLog', // 'la_tab_SessionLogs',
'url' => Array('t' => 'logs/session_logs/session_log_list', 'pass' => 'm'),
'permissions' => Array('view', 'delete'),
'priority' => 2,
// 'show_mode' => smSUPER_ADMIN,
'type' => stTREE,
),
),
'TitleField' => 'SessionLogId',
'ListSQLs' => Array (
'' => ' SELECT %1$s.* %2$s
FROM %1$s
LEFT JOIN '.TABLE_PREFIX.'PortalUser AS u ON u.PortalUserId = %1$s.PortalUserId',
),
'ListSortings' => Array (
'' => Array (
'Sorting' => Array ('SessionLogId' => 'desc'),
)
),
'CalculatedFields' => Array(
'' => Array(
'UserLogin' => 'IF(%1$s.PortalUserId=-1, \'root\', u.Login)',
'UserFirstName' => 'u.FirstName',
'UserLastName' => 'u.LastName',
'UserEmail' => 'u.Email',
'Duration' => 'IFNULL(SessionEnd, UNIX_TIMESTAMP())-SessionStart',
),
),
'Fields' => Array (
'SessionLogId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
'PortalUserId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
'SessionId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
'Status' => Array (
'type' => 'int', 'formatter' => 'kOptionsFormatter',
- 'options'=> array(0=>'la_Active',1=>'la_LoggedOut',2=>'la_Expired'),
+ 'options'=> array(0 => 'la_opt_Active', 1 => 'la_opt_LoggedOut', 2 => 'la_opt_Expired'),
'use_phrases' => 1,
'not_null' => 1, 'default' => 1
),
'SessionStart' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'not_null' => 1, 'time_format' => 'H:i:s', 'default' => 0),
'SessionEnd' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'time_format' => 'H:i:s', 'default' => NULL),
'IP' => Array ('type' => 'string', 'max_len' => 15, 'not_null' => 1, 'default' => ''),
'AffectedItems' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
),
'VirtualFields' => Array(
'Duration' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'not_null' => 1, 'date_format' => '', 'time_format' => 'H:i:s', 'use_timezone' => false, 'default' => 0),
),
'Grids' => Array (
'Default' => Array (
'Fields' => Array (
'SessionLogId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', ),
'PortalUserId' => Array ('title' => 'la_col_PortalUserId', 'filter_block' => 'grid_like_filter',),
'UserLogin' => Array ('title' => 'la_col_Username', 'filter_block' => 'grid_like_filter',),
'UserFirstName' => Array ('title' => 'la_col_FirstName', 'filter_block' => 'grid_like_filter',),
'UserLastName' => Array ('title' => 'la_col_LastName', 'filter_block' => 'grid_like_filter',),
'SessionStart' => Array ('title' => 'la_col_SessionStart', 'filter_block' => 'grid_date_range_filter', ),
'SessionEnd' => Array ('title' => 'la_col_SessionEnd', 'filter_block' => 'grid_date_range_filter', ),
'Duration' => Array ('title' => 'la_col_Duration', 'filter_block' => 'grid_range_filter', ),
'Status' => Array ('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', ),
'IP' => Array ('title' => 'la_col_IP', 'filter_block' => 'grid_like_filter',),
'AffectedItems' => Array ('title' => 'la_col_AffectedItems', 'data_block' => 'affected_td'),
),
),
),
'ConfigMapping' => Array(
'PerPage' => 'Perpage_SessionLogs',
),
);
/* !!! Copy the rest of the file to appropriate files and templates
* !!! DON'T FORGET TO CREAT FIELDS AND GRIDS USING SYSTEM TOOLS SECTION !!!
/*
Don't forget to:
- Add table create statement to install_schema.sql
CREATE TABLE SessionLogs (
`SessionLogId` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`Title` VARCHAR( 255 ) NOT NULL ,
`Description` TEXT NULL ,
`Email` VARCHAR( 255 ) NOT NULL ,
`Type` TINYINT NOT NULL ,
`Phone` VARCHAR( 50 ) NOT NULL ,
`Qty` DOUBLE NOT NULL ,
`Status` TINYINT NOT NULL ,
`CreatedOn` INT NOT NULL ,
`Good` TINYINT NOT NULL
)
- Add permissions for admin gorup to install script (see 'Sections' key above)
*/
\ No newline at end of file
Property changes on: branches/RC/core/units/logs/session_logs/session_logs_config.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.2.3
\ No newline at end of property
+1.1.2.4
\ No newline at end of property
Index: branches/RC/core/units/admin/admin_config.php
===================================================================
--- branches/RC/core/units/admin/admin_config.php (revision 11684)
+++ branches/RC/core/units/admin/admin_config.php (revision 11685)
@@ -1,86 +1,85 @@
<?php
$config = Array (
'Prefix' => 'adm',
'ItemClass' => Array ('class' => 'kDBItem','file'=>'','build_event'=>'OnItemBuild'),
'EventHandlerClass' => Array ('class' => 'AdminEventsHandler', 'file' => 'admin_events_handler.php', 'build_event' => 'OnBuild'),
'TagProcessorClass' => Array ('class' => 'AdminTagProcessor', 'file' => 'admin_tag_processor.php', 'build_event' => 'OnBuild'),
'QueryString' => Array (
1 => 'event',
),
'TitlePresets' => Array (
'tree_root' => Array ('format' => '!la_section_overview!'),
'tree_reports' => Array ('format' => '!la_section_overview!'),
'tree_system' => Array ('format' => '!la_section_overview!'),
'tree_tools' => Array ('format' => '!la_section_overview!'),
'system_tools' => Array ('format' => '!la_title_SystemTools!'),
'backup' => Array ('format' => '!la_performing_backup! - !la_Step! <span id="step_number"></span>'),
'import' => Array ('format' => '!la_performing_import! - !la_Step! <span id="step_number"></span>'),
'restore' => Array ('format' => '!la_performing_restore! - !la_Step! <span id="step_number"></span>'),
'server_info' => Array ('format' => '!la_tab_ServerInfo!'),
'sql_query' => Array ('format' => '!la_tab_QueryDB!'),
'no_permissions' => Array ('format' => '!la_title_NoPermissions!'),
'column_picker' => Array ('format' => '!la_title_ColumnPicker!'),
'csv_export' => Array ('format' => '!la_title_CSVExport!'),
'csv_import' => Array ('format' => '!la_title_CSVImport!'),
),
'PermSection' => Array ('main' => 'in-portal:service'),
'Sections' => Array (
'in-portal:root' => Array (
'parent' => null,
'icon' => 'site',
'label' => $this->Application->ConfigValue('Site_Name'),
'url' => Array ('t' => 'index', 'pass' => 'm', 'pass_section' => true, 'no_amp' => 1),
'permissions' => Array ('advanced:admin_login', 'advanced:front_login'),
'priority' => 0,
'container' => true,
'type' => stTREE,
'icon_module' => 'in-portal',
),
'in-portal:service' => Array (
'parent' => 'in-portal:tools',
'icon' => 'conf_general',
'label' => 'la_tab_Service',
'url' => Array ('t' => 'tools/system_tools', 'pass' => 'm'),
'permissions' => Array ('view'),
'priority' => 10,
- 'show_mode' => smDEBUG,
'type' => stTREE,
),
),
'ListSQLs' => Array (
'' => '', // to prevent warning
),
'Fields' => Array (), // we need empty array because kernel doesn't use virtual fields else
'VirtualFields' => Array (
'ImportFile' => Array (
'type' => 'string',
'formatter' => 'kUploadFormatter', 'max_size' => MAX_UPLOAD_SIZE, // in Bytes !
'error_msgs' => Array (
'cant_open_file' => '!la_error_CantOpenFile!',
'no_matching_columns' => '!la_error_NoMatchingColumns!',
),
'file_types' => '*.csv', 'files_description' => '!la_CSVFiles!',
'upload_dir' => '/system/import/', // relative to project's home
'multiple' => false, 'direct_links' => false,
'default' => null,
),
'Content' => Array ('type' => 'string', 'default' => ''),
),
);
Property changes on: branches/RC/core/units/admin/admin_config.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.23.2.11
\ No newline at end of property
+1.23.2.12
\ No newline at end of property
Index: branches/RC/core/units/phrases/phrases_config.php
===================================================================
--- branches/RC/core/units/phrases/phrases_config.php (revision 11684)
+++ branches/RC/core/units/phrases/phrases_config.php (revision 11685)
@@ -1,195 +1,196 @@
<?php
$config = Array (
'Prefix' => 'phrases',
'Clones' => Array (
'phrases-single' => Array (
'ForeignKey' => false,
'ParentTableKey' => false,
'ParentPrefix' => false,
)
),
'ItemClass' => Array ('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'),
'ListClass' => Array ('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'),
'EventHandlerClass' => Array ('class' => 'PhrasesEventHandler', 'file' => 'phrases_event_handler.php', 'build_event' => 'OnBuild'),
'TagProcessorClass' => Array ('class' => 'kDBTagProcessor', 'file' => '', 'build_event' => 'OnBuild'),
'AutoLoad' => true,
'Hooks' => Array (
Array (
'Mode' => hBEFORE,
'Conditional' => false,
'HookToPrefix' => 'phrases',
'HookToSpecial' => '',
'HookToEvent' => Array('OnCreate'),
'DoPrefix' => 'phrases',
'DoSpecial' => '',
'DoEvent' => 'OnBeforePhraseCreate',
),
Array (
'Mode' => hAFTER,
'Conditional' => false,
'HookToPrefix' => 'phrases',
'HookToSpecial' => '',
'HookToEvent' => Array('OnBeforeItemCreate', 'OnBeforeItemUpdate'),
'DoPrefix' => 'phrases',
'DoSpecial' => '',
'DoEvent' => 'OnSetLastUpdated',
),
),
'QueryString' => Array (
1 => 'id',
2 => 'page',
3 => 'event',
4 => 'label',
5 => 'mode', // labels can be edited directly
),
'IDField' => 'PhraseId',
'TitleField' => 'Phrase',
'TitlePresets' => Array (
'default' => Array (
'new_status_labels' => Array ('phrases' => '!la_title_Adding_Phrase!'),
'edit_status_labels' => Array ('phrases' => '!la_title_Editing_Phrase!'),
),
'phrase_edit' => Array ('prefixes' => Array ('phrases'), 'format' => '#phrases_status# #phrases_titlefield#'),
// for separate phrases list
'phrases_list_st' => Array ('prefixes' => Array ('phrases.st_List'), 'format' => "!la_title_Phrases!"),
'phrase_edit_single' => Array ('prefixes' => Array ('phrases'), 'format' => '#phrases_status# #phrases_titlefield#'),
),
'FilterMenu' => Array (
'Groups' => Array (
Array ('mode' => 'AND', 'filters' => Array ('show_front', 'show_admin', 'show_both'), 'type' => WHERE_FILTER),
Array ('mode' => 'AND', 'filters' => Array ('translated', 'not_translated'), 'type' => WHERE_FILTER),
),
'Filters' => Array (
'show_front' => Array ('label' =>'la_PhraseType_Front', 'on_sql' => '', 'off_sql' => '%1$s.PhraseType != 0'),
'show_admin' => Array ('label' => 'la_PhraseType_Admin', 'on_sql' => '', 'off_sql' => '%1$s.PhraseType != 1'),
'show_both' => Array ('label' => 'la_PhraseType_Both', 'on_sql' => '', 'off_sql' => '%1$s.PhraseType != 2'),
's1' => Array (),
'translated' => Array ('label' => 'la_PhraseTranslated', 'on_sql' => '', 'off_sql' => '%1$s.Translation = pri.Translation'),
'not_translated' => Array ('label' => 'la_PhraseNotTranslated', 'on_sql' => '', 'off_sql' => '%1$s.Translation != pri.Translation'),
)
),
'Sections' => Array (
// "Phrases"
'in-portal:phrases' => Array (
'parent' => 'in-portal:site',
'icon' => 'core:settings_general',
'label' => 'la_title_Phrases',
'url' => Array ('t' => 'languages/phrase_list', 'pass' => 'm'),
'permissions' => Array ('view', 'add', 'edit', 'delete'),
// 'perm_prefix' => 'lang',
'priority' => 5,
// 'show_mode' => smSUPER_ADMIN,
'type' => stTREE,
),
),
'TableName' => TABLE_PREFIX . 'Phrase',
'CalculatedFields' => Array (
'' => Array (
'PrimaryTranslation' => 'pri.Translation',
),
'st' => Array (
'PackName' => 'lang.PackName',
),
),
'ListSQLs' => Array(
'' => ' SELECT %1$s.* %2$s
FROM %1$s
LEFT JOIN ' . TABLE_PREFIX . 'Phrase pri ON (%1$s.Phrase = pri.Phrase) AND (pri.LanguageId = 1)',
'st' => 'SELECT %1$s.* %2$s
FROM %1$s
LEFT JOIN ' . TABLE_PREFIX . 'Language lang ON (%1$s.LanguageId = lang.LanguageId)',
),
'ListSortings' => Array (
'' => Array (
'Sorting' => Array ('Phrase' => 'asc'),
)
),
'ForeignKey' => 'LanguageId',
'ParentTableKey' => 'LanguageId',
'ParentPrefix' => 'lang',
'AutoDelete' => true,
'AutoClone' => true,
'Fields' => Array (
'Phrase' => Array (
'type' => 'string',
'required' => 1, 'unique' => Array ('LanguageId'),
'not_null' => 1, 'default' => ''
),
'Translation' => Array ('type' => 'string', 'required'=>1,'not_null' => '1', 'default' => ''),
'PhraseType' => Array ('type' => 'int', 'required'=>1,'formatter' => 'kOptionsFormatter', 'options'=>Array (0=>'la_PhraseType_Front',1=>'la_PhraseType_Admin',2=>'la_PhraseType_Both'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0),
'PhraseId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0),
'LanguageId' => Array (
'type' => 'int',
'formatter' => 'kOptionsFormatter', 'options_sql' => 'SELECT %s FROM ' . TABLE_PREFIX . 'Language ORDER BY LocalName', 'option_key_field' => 'LanguageId', 'option_title_field' => 'LocalName',
'not_null' => 1, 'default' => 0
),
'LastChanged' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'not_null' => 1, 'default' => 0),
'LastChangeIP' => Array ('type' => 'string', 'not_null' => 1, 'default' => ''),
'Module' => Array (
'type' => 'string',
'formatter' => 'kOptionsFormatter', 'options'=>Array ('' => ''), 'options_sql' => 'SELECT %s FROM '.TABLE_PREFIX.'Modules WHERE Loaded = 1 ORDER BY LoadOrder', 'option_key_field' => 'Name', 'option_title_field' => 'Name',
'not_null' => 1, 'default' => 'In-Portal'
),
),
'VirtualFields' => Array (
'PrimaryTranslation' => Array (),
'LangFile' => Array (),
'ImportOverwrite' => Array (),
'DoNotEncode' => Array (),
'PackName' => Array (
'type' => 'string',
'formatter' => 'kOptionsFormatter',
'options_sql' => 'SELECT %s FROM ' . TABLE_PREFIX . 'Language ORDER BY PackName', 'option_title_field' => 'PackName', 'option_key_field' => 'PackName',
),
),
'Grids' => Array (
'Default' => Array (
'Icons' => Array ('default' => 'icon16_language_var.gif'),
'Fields' => Array (
'Phrase' => Array ('title' => 'la_col_Label', 'data_block' => 'grid_checkbox_td'),
'Translation' => Array ('title' => 'la_col_Translation'),
'PrimaryTranslation' => Array ('title' => 'la_col_PrimaryValue'),
'PhraseType' => Array ('title' => 'la_col_PhraseType', 'filter_block' => 'grid_options_filter'),
'LastChanged' => Array ('title' => 'la_col_LastChanged', 'filter_block' => 'grid_date_range_filter'),
'Module' => Array ('title' => 'la_col_Module', 'filter_block' => 'grid_options_filter'),
),
),
'Phrases' => Array (
'Icons' => Array ('default' => 'icon16_language_var.gif'),
'Fields' => Array (
'PhraseId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 50),
'Phrase' => Array ('title' => 'la_col_Name', 'filter_block' => 'grid_like_filter', 'width' => 150),
'Translation' => Array ('title' => 'la_col_Translation', 'filter_block' => 'grid_like_filter', 'width' => 150),
'PackName' => Array ('title' => 'la_col_Language', 'filter_block' => 'grid_options_filter', 'width' => 100),
'PhraseType' => Array ('title' => 'la_col_Location', 'filter_block' => 'grid_options_filter', 'width' => 80),
+ 'LastChanged' => Array ('title' => 'la_col_LastChanged', 'filter_block' => 'grid_date_range_filter'),
'Module' => Array ('title' => 'la_col_Module', 'filter_block' => 'grid_options_filter'),
),
),
),
);
\ No newline at end of file
Property changes on: branches/RC/core/units/phrases/phrases_config.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.14.2.3
\ No newline at end of property
+1.14.2.4
\ No newline at end of property
Index: branches/RC/core/units/general/cat_dbitem_export.php
===================================================================
--- branches/RC/core/units/general/cat_dbitem_export.php (revision 11684)
+++ branches/RC/core/units/general/cat_dbitem_export.php (revision 11685)
@@ -1,1389 +1,1409 @@
<?php
define('EXPORT_STEP', 100); // export by 200 items (e.g. links)
define('IMPORT_STEP', 20); // export by 200 items (e.g. links)
define('IMPORT_CHUNK', 10240); // 10240); //30720); //50120); // 5 KB
define('IMPORT_TEMP', 1);
define('IMPORT_LIVE', 2);
class kCatDBItemExportHelper extends kHelper {
var $false = false;
var $cache = Array();
/**
* Allows to find out what items are new in cache
*
* @var Array
*/
var $cacheStatus = Array();
var $cacheTable = '';
var $exportFields = Array();
/**
* Export options
*
* @var Array
*/
var $exportOptions = Array();
/**
* Item beeing currenly exported
*
* @var kCatDBItem
*/
var $curItem = null;
/**
* Dummy category object
*
* @var CategoriesItem
*/
var $dummyCategory = null;
/**
* Pointer to opened file
*
* @var resource
*/
var $filePointer = null;
/**
* Custom fields definition of current item
*
* @var Array
*/
var $customFields = Array();
function kCatDBItemExportHelper()
{
parent::kHelper();
$this->cacheTable = TABLE_PREFIX.'ImportCache';
}
/**
* Returns value from cache if found or false otherwise
*
* @param string $type
* @param int $key
* @return mixed
*/
function getFromCache($type, $key)
{
return getArrayValue($this->cache, $type, $key);
}
/**
* Adds value to be cached
*
* @param string $type
* @param int $key
* @param mixed $value
*/
function addToCache($type, $key, $value, $is_new = true)
{
// if (!isset($this->cache[$type])) $this->cache[$type] = Array();
$this->cache[$type][$key] = $value;
if ($is_new) {
$this->cacheStatus[$type][$key] = true;
}
}
function storeCache($cache_types)
{
$cache_types = explode(',', $cache_types);
$values_sql = '';
foreach ($cache_types as $cache_type) {
$sql_mask = '('.$this->Conn->qstr($cache_type).',%s,%s),';
$cache = getArrayValue($this->cacheStatus, $cache_type);
if (!$cache) $cache = Array();
foreach ($cache as $var_name => $cache_status) {
$var_value = $this->cache[$cache_type][$var_name];
$values_sql .= sprintf($sql_mask, $this->Conn->qstr($var_name), $this->Conn->qstr($var_value) );
}
}
$values_sql = preg_replace('/(.*),$/', '\\1', $values_sql);
if ($values_sql) {
$sql = 'INSERT INTO '.$this->cacheTable.'(`CacheName`,`VarName`,`VarValue`) VALUES '.$values_sql;
$this->Conn->Query($sql);
}
}
function loadCache()
{
$sql = 'SELECT * FROM '.$this->cacheTable;
$records = $this->Conn->Query($sql);
$this->cache = Array();
foreach ($records as $record) {
$this->addToCache($record['CacheName'], $record['VarName'], $record['VarValue'], false);
}
}
/**
* Fill required fields with dummy values
*
* @param kEvent $event
*/
function fillRequiredFields(&$event, &$object, $set_status = false)
{
if ($object == $this->false) {
$object =& $event->getObject();
}
$has_empty = false;
$fields = array_keys($object->Fields);
foreach ($fields as $field_name)
{
$field_options =& $object->Fields[$field_name];
if (isset($object->VirtualFields[$field_name]) || !getArrayValue($field_options, 'required') ) continue;
if ( $object->GetDBField($field_name) ) continue;
$formatter_class = getArrayValue($field_options, 'formatter');
if ($formatter_class) // not tested
{
$formatter =& $this->Application->recallObject($formatter_class);
$sample_value = $formatter->GetSample($field_name, $field_options, $object);
}
$has_empty = true;
$object->SetField($field_name, isset($sample_value) && $sample_value ? $sample_value : 'no value');
}
$object->UpdateFormattersSubFields();
if ($set_status && $has_empty) {
$object->SetDBField('Status', 0);
}
}
/**
* Verifies that all user entered export params are correct
*
* @param kEvent $event
*/
function verifyOptions(&$event)
{
if ($this->Application->RecallVar($event->getPrefixSpecial().'_ForceNotValid'))
{
$this->Application->StoreVar($event->getPrefixSpecial().'_ForceNotValid', 0);
return false;
}
$this->fillRequiredFields($event, $this->false);
$object =& $event->getObject();
$cross_unique_fields = Array('FieldsSeparatedBy', 'FieldsEnclosedBy');
if (($object->GetDBField('CategoryFormat') == 1) || ($event->Special == 'import')) // in one field
{
$object->setRequired('CategorySeparator', true);
$cross_unique_fields[] = 'CategorySeparator';
}
$ret = $object->Validate();
// check if cross unique fields has no same values
foreach ($cross_unique_fields as $field_index => $field_name)
{
if (getArrayValue($object->FieldErrors, $field_name, 'pseudo') == 'required') continue;
$check_fields = $cross_unique_fields;
unset($check_fields[$field_index]);
foreach ($check_fields as $check_field)
{
if ($object->GetDBField($field_name) == $object->GetDBField($check_field))
{
$object->SetError($check_field, 'unique');
}
}
}
if ($event->Special == 'import')
{
$this->exportOptions = $this->loadOptions($event);
$automatic_fields = ($object->GetDBField('FieldTitles') == 1);
$object->setRequired('ExportColumns', !$automatic_fields);
$category_prefix = '__CATEGORY__';
if ( $automatic_fields && ($this->exportOptions['SkipFirstRow']) ) {
$this->openFile($event);
$this->exportOptions['ExportColumns'] = $this->readRecord();
+
+ if (!$this->exportOptions['ExportColumns']) {
+ $this->exportOptions['ExportColumns'] = Array ();
+ }
+
$this->closeFile();
// remove additional (non-parseble columns)
foreach ($this->exportOptions['ExportColumns'] as $field_index => $field_name) {
if (!$this->validateField($field_name, $object)) {
unset($this->exportOptions['ExportColumns'][$field_index]);
}
}
$category_prefix = '';
}
// 1. check, that we have column definitions
if (!$this->exportOptions['ExportColumns']) {
$object->setError('ExportColumns', 'required');
$ret = false;
}
else {
// 1.1. check that all required fields are present in imported file
$missing_columns = Array();
foreach ($object->Fields as $field_name => $field_options) {
if ($object->SkipField($field_name)) continue;
if (getArrayValue($field_options, 'required') && !in_array($field_name, $this->exportOptions['ExportColumns']) ) {
$missing_columns[] = $field_name;
$object->setError('ExportColumns', 'required_fields_missing', 'la_error_RequiredColumnsMissing');
$ret = false;
}
}
if (!$ret && $this->Application->isDebugMode()) {
$this->Application->Debugger->appendHTML('Missing required for import/export:');
$this->Application->Debugger->dumpVars($missing_columns);
}
}
// 2. check, that we have only mixed category field or only separated category fields
$category_found['mixed'] = false;
$category_found['separated'] = false;
foreach ($this->exportOptions['ExportColumns'] as $import_field) {
if (preg_match('/^'.$category_prefix.'Category(Path|[0-9]+)/', $import_field, $rets)) {
$category_found[$rets[1] == 'Path' ? 'mixed' : 'separated'] = true;
}
}
if ($category_found['mixed'] && $category_found['separated']) {
$object->SetError('ExportColumns', 'unique_category', 'la_error_unique_category_field');
$ret = false;
}
// 3. check, that duplicates check fields are selected & present in imported fields
if ($this->exportOptions['ReplaceDuplicates']) {
if ($this->exportOptions['CheckDuplicatesMethod'] == 1) {
$check_fields = Array($object->IDField);
}
else {
$check_fields = $this->exportOptions['DuplicateCheckFields'] ? explode('|', substr($this->exportOptions['DuplicateCheckFields'], 1, -1)) : Array();
$object =& $event->getObject();
$language_id = $this->Application->GetDefaultLanguageId();
foreach ($check_fields as $index => $check_field) {
foreach ($object->Fields as $field_name => $field_options) {
if ($field_name == 'l'.$language_id.'_'.$check_field) {
$check_fields[$index] = 'l'.$language_id.'_'.$check_field;
break;
}
}
}
}
$this->exportOptions['DuplicateCheckFields'] = $check_fields;
if (!$check_fields) {
$object->setError('CheckDuplicatesMethod', 'required');
$ret = false;
}
else {
foreach ($check_fields as $check_field) {
$check_field = preg_replace('/^cust_(.*)/', 'Custom_\\1', $check_field);
if (!in_array($check_field, $this->exportOptions['ExportColumns'])) {
$object->setError('ExportColumns', 'required');
$ret = false;
break;
}
}
}
}
$this->saveOptions($event);
}
return $ret;
}
/**
* Returns filename to read import data from
*
* @return string
*/
function getImportFilename()
{
if ($this->exportOptions['ImportSource'] == 1)
{
$ret = $this->exportOptions['ImportFilename']; // ['name']; commented by Kostja
}
else {
$ret = $this->exportOptions['ImportLocalFilename'];
}
return EXPORT_PATH.'/'.$ret;
}
/**
* Returns filename to write export data to
*
* @return string
*/
function getExportFilename()
{
return EXPORT_PATH.'/'.$this->exportOptions['ExportFilename'].'.'.$this->getFileExtension();
}
/**
* Opens file required for export/import operations
*
* @param kEvent $event
*/
function openFile(&$event)
{
if ($event->Special == 'export') {
$write_mode = ($this->exportOptions['start_from'] == 0) ? 'w' : 'a';
$this->filePointer = fopen($this->getExportFilename(), $write_mode);
}
else {
$this->filePointer = fopen($this->getImportFilename(), 'r');
}
// skip UTF-8 BOM Modifier
$first_chars = fread($this->filePointer, 3);
if (bin2hex($first_chars) != 'efbbbf') {
fseek($this->filePointer, 0);
}
}
/**
* Closes opened file
*
*/
function closeFile()
{
fclose($this->filePointer);
}
function getCustomSQL()
{
$ml_formatter =& $this->Application->recallObject('kMultiLanguage');
$custom_sql = '';
foreach ($this->customFields as $custom_id => $custom_name) {
$custom_sql .= 'custom_data.'.$ml_formatter->LangFieldName('cust_'.$custom_id).' AS cust_'.$custom_name.', ';
}
return preg_replace('/(.*), /', '\\1', $custom_sql);
}
function getPlainExportSQL($count_only = false) {
if ($count_only && isset($this->exportOptions['ForceCountSQL'])) {
$sql = $this->exportOptions['ForceCountSQL'];
}
elseif (!$count_only && isset($this->exportOptions['ForceSelectSQL'])) {
$sql = $this->exportOptions['ForceSelectSQL'];
}
else {
$items_list =& $this->Application->recallObject($this->curItem->Prefix.'.export-items-list', $this->curItem->Prefix.'_List');
$items_list->SetPerPage(-1);
if ($options['export_ids'] != '') {
$items_list->AddFilter('export_ids', $items_list->TableName.'.'.$items_list->IDField.' IN ('.implode(',',$options['export_ids']).')');
}
if ($count_only) {
$sql = $items_list->getCountSQL( $items_list->GetSelectSQL(true,false) );
}
else {
$sql = $items_list->GetSelectSQL();
}
}
if (!$count_only)
{
$sql .= ' LIMIT '.$this->exportOptions['start_from'].','.EXPORT_STEP;
}
// else {
// $sql = preg_replace("/^.*SELECT(.*?)FROM(?!_)/is", "SELECT COUNT(*) AS count FROM ", $sql);
// }
return $sql;
}
function getExportSQL($count_only = false)
{
if (!$this->Application->getUnitOption($this->curItem->Prefix, 'CatalogItem')) {
return $this->GetPlainExportSQL($count_only); // in case this is not a CategoryItem
}
if ($this->exportOptions['export_ids'] === false)
{
// get links from current category & all it's subcategories
$join_clauses = Array();
$custom_sql = $this->getCustomSQL();
if ($custom_sql) {
$custom_table = $this->Application->getUnitOption($this->curItem->Prefix.'-cdata', 'TableName');
$join_clauses[$custom_table.' custom_data'] = 'custom_data.ResourceId = item_table.ResourceId';
}
$join_clauses[TABLE_PREFIX.'CategoryItems ci'] = 'ci.ItemResourceId = item_table.ResourceId';
$join_clauses[TABLE_PREFIX.'Category c'] = 'c.CategoryId = ci.CategoryId';
$sql = 'SELECT item_table.*, ci.CategoryId'.($custom_sql ? ', '.$custom_sql : '').'
FROM '.$this->curItem->TableName.' item_table';
foreach ($join_clauses as $table_name => $join_expression) {
$sql .= ' LEFT JOIN '.$table_name.' ON '.$join_expression;
}
$sql .= ' WHERE ';
if ($this->exportOptions['export_cats_ids'][0] == 0)
{
$sql .= '1';
}
else {
foreach ($this->exportOptions['export_cats_ids'] as $category_id) {
$sql .= '(c.ParentPath LIKE "%|'.$category_id.'|%") OR ';
}
$sql = preg_replace('/(.*) OR $/', '\\1', $sql);
}
$sql .= ' ORDER BY ci.PrimaryCat DESC'; // NEW
}
else {
// get only selected links
$sql = 'SELECT item_table.*, '.$this->exportOptions['export_cats_ids'][0].' AS CategoryId
FROM '.$this->curItem->TableName.' item_table
WHERE '.$this->curItem->IDField.' IN ('.implode(',', $this->exportOptions['export_ids']).')';
}
if (!$count_only)
{
$sql .= ' LIMIT '.$this->exportOptions['start_from'].','.EXPORT_STEP;
}
else {
$sql = preg_replace("/^.*SELECT(.*?)FROM(?!_)/is", "SELECT COUNT(*) AS count FROM ", $sql);
}
return $sql;
}
/**
* Enter description here...
*
* @param kEvent $event
*/
function performExport(&$event)
{
$this->exportOptions = $this->loadOptions($event);
$this->exportFields = $this->exportOptions['ExportColumns'];
$this->curItem =& $event->getObject( Array('skip_autoload' => true) );
$this->customFields = $this->Application->getUnitOption($event->Prefix, 'CustomFields');
$this->openFile($event);
if ($this->exportOptions['start_from'] == 0) // first export step
{
if (!getArrayValue($this->exportOptions, 'IsBaseCategory')) {
$this->exportOptions['IsBaseCategory'] = 0;
}
if ($this->exportOptions['IsBaseCategory'] ) {
$sql = 'SELECT ParentPath
FROM '.TABLE_PREFIX.'Category
WHERE CategoryId = '.$this->Application->GetVar('m_cat_id');
$this->exportOptions['BaseLevel'] = substr_count($this->Conn->GetOne($sql), '|') - 1; // level to cut from other categories
}
// 1. export field titles if required
if ($this->exportOptions['IncludeFieldTitles'])
{
$data_array = Array();
foreach ($this->exportFields as $export_field)
{
$data_array = array_merge($data_array, $this->getFieldCaption($export_field));
}
$this->writeRecord($data_array);
}
$this->exportOptions['total_records'] = $this->Conn->GetOne( $this->getExportSQL(true) );
}
// 2. export data
$records = $this->Conn->Query( $this->getExportSQL() );
$records_exported = 0;
foreach ($records as $record_info) {
$this->curItem->Clear();
$this->curItem->SetDBFieldsFromHash($record_info);
$this->setCurrentID();
$this->curItem->raiseEvent('OnAfterItemLoad', $this->curItem->GetID() );
$data_array = Array();
foreach ($this->exportFields as $export_field)
{
$data_array = array_merge($data_array, $this->getFieldValue($export_field) );
}
$this->writeRecord($data_array);
$records_exported++;
}
$this->closeFile();
$this->exportOptions['start_from'] += $records_exported;
$this->saveOptions($event);
return $this->exportOptions;
}
function getItemFields()
{
// just in case dummy user selected automtic mode & moved columns too :(
return array_merge($this->curItem->Fields['AvailableColumns']['options'], $this->curItem->Fields['ExportColumns']['options']);
}
/**
* Checks if field really belongs to importable field list
*
* @param string $field_name
* @param kCatDBItem $object
* @return bool
*/
function validateField($field_name, &$object)
{
// 1. convert custom field
$field_name = preg_replace('/^Custom_(.*)/', '__CUSTOM__\\1', $field_name);
// 2. convert category field (mixed version & serparated version)
$field_name = preg_replace('/^Category(Path|[0-9]+)/', '__CATEGORY__Category\\1', $field_name);
$valid_fields = $object->getPossibleExportColumns();
return isset($valid_fields[$field_name]) || isset($valid_fields['__VIRTUAL__'.$field_name]);
}
/**
* Enter description here...
*
* @param kEvent $event
*/
function performImport(&$event)
{
if (!$this->exportOptions) {
// load import options in case if not previously loaded in verification function
$this->exportOptions = $this->loadOptions($event);
}
$backup_category_id = $this->Application->GetVar('m_cat_id');
$this->Application->SetVar('m_cat_id', (int)$this->Application->RecallVar('ImportCategory') );
$this->openFile($event);
$bytes_imported = 0;
if ($this->exportOptions['start_from'] == 0) // first export step
{
// 1st time run
if ($this->exportOptions['SkipFirstRow']) {
$this->readRecord();
$this->exportOptions['start_from'] = ftell($this->filePointer);
$bytes_imported = ftell($this->filePointer);
}
$current_category_id = $this->Application->GetVar('m_cat_id');
if ($current_category_id > 0) {
$sql = 'SELECT ParentPath FROM '.TABLE_PREFIX.'Category WHERE CategoryId = '.$current_category_id;
$this->exportOptions['ImportCategoryPath'] = $this->Conn->GetOne($sql);
}
else {
$this->exportOptions['ImportCategoryPath'] = '';
}
$this->exportOptions['total_records'] = filesize($this->getImportFilename());
}
else {
$this->loadCache();
}
$this->exportFields = $this->exportOptions['ExportColumns'];
$this->addToCache('category_parent_path', $this->Application->GetVar('m_cat_id'), $this->exportOptions['ImportCategoryPath']);
// 2. import data
$this->dummyCategory =& $this->Application->recallObject('c.-tmpitem', 'c', Array('skip_autoload' => true));
fseek($this->filePointer, $this->exportOptions['start_from']);
$items_processed = 0;
while (($bytes_imported < IMPORT_CHUNK && $items_processed < IMPORT_STEP) && !feof($this->filePointer)) {
$data = $this->readRecord();
if ($data) {
if ($this->exportOptions['ReplaceDuplicates']) {
// set fields used as keys for replace duplicates code
$this->resetImportObject($event, IMPORT_TEMP, $data);
}
$this->processCurrentItem($event, $data);
}
$bytes_imported = ftell($this->filePointer) - $this->exportOptions['start_from'];
$items_processed++;
}
$this->closeFile();
$this->Application->SetVar('m_cat_id', $backup_category_id);
$this->exportOptions['start_from'] += $bytes_imported;
$this->storeCache('new_ids');
$this->saveOptions($event);
if ($this->exportOptions['start_from'] == $this->exportOptions['total_records']) {
$this->Conn->Query('TRUNCATE TABLE '.$this->cacheTable);
}
return $this->exportOptions;
}
function setCurrentID()
{
$this->curItem->setID( $this->curItem->GetDBField($this->curItem->IDField) );
}
function setFieldValue($field_index, $value)
{
if (empty($value)) {
$value = null;
}
$field_name = getArrayValue($this->exportFields, $field_index);
if ($field_name == 'ResourceId') {
return false;
}
if (substr($field_name, 0, 7) == 'Custom_') {
$field_name = 'cust_'.substr($field_name, 7);
$this->curItem->SetField($field_name, $value);
}
elseif ($field_name == 'CategoryPath' || $field_name == '__CATEGORY__CategoryPath') {
$this->curItem->CategoryPath = $value ? explode($this->exportOptions['CategorySeparator'], $value) : Array();
}
elseif (substr($field_name, 0, 8) == 'Category') {
$this->curItem->CategoryPath[ (int)substr($field_name, 8) - 1 ] = $value;
}
elseif (substr($field_name, 0, 20) == '__CATEGORY__Category') {
$this->curItem->CategoryPath[ (int)substr($field_name, 20) ] = $value;
}
elseif (substr($field_name, 0, 11) == '__VIRTUAL__') {
$field_name = substr($field_name, 11);
$this->curItem->SetField($field_name, $value);
}
else {
$this->curItem->SetField($field_name, $value);
}
$pseudo_error = getArrayValue($this->curItem->FieldErrors, $field_name, 'pseudo');
if ($pseudo_error) {
$this->curItem->SetDBField($field_name, null);
unset($this->curItem->FieldErrors[$field_name]);
}
}
function resetImportObject(&$event, $object_type, $record_data = null)
{
switch ($object_type) {
case IMPORT_TEMP:
$this->curItem =& $event->getObject( Array('skip_autoload' => true) );
break;
case IMPORT_LIVE:
$this->curItem =& $this->Application->recallObject($event->Prefix.'.-tmpitem'.$event->Special, $event->Prefix, Array('skip_autoload' => true));
break;
}
$this->curItem->Clear();
$this->customFields = $this->Application->getUnitOption($event->Prefix, 'CustomFields');
if (isset($record_data)) {
$this->setImportData($record_data);
}
}
function setImportData($record_data)
{
foreach ($record_data as $field_index => $field_value) {
$this->setFieldValue($field_index, $field_value);
}
$this->setCurrentID();
}
function getItemCategory()
{
static $lang_prefix = null;
$backup_category_id = $this->Application->GetVar('m_cat_id');
$category_id = $this->getFromCache('category_names', implode(':', $this->curItem->CategoryPath));
if ($category_id) {
$this->Application->SetVar('m_cat_id', $category_id);
return $category_id;
}
if (is_null($lang_prefix)) {
$lang_prefix = 'l'.$this->Application->GetVar('m_lang').'_';
}
foreach ($this->curItem->CategoryPath as $category_index => $category_name) {
if (!$category_name) continue;
$category_key = crc32( implode(':', array_slice($this->curItem->CategoryPath, 0, $category_index + 1) ) );
$category_id = $this->getFromCache('category_names', $category_key);
if ($category_id === false) {
// get parent category path to search only in it
$current_category_id = $this->Application->GetVar('m_cat_id');
// $parent_path = $this->getParentPath($current_category_id);
// get category id from database by name
$sql = 'SELECT CategoryId
FROM '.TABLE_PREFIX.'Category
WHERE ('.$lang_prefix.'Name = '.$this->Conn->qstr($category_name).') AND (ParentId = '.$current_category_id.')';
$category_id = $this->Conn->GetOne($sql);
if ($category_id === false) {
// category not in db -> create
$category_fields = Array( $lang_prefix.'Name' => $category_name, $lang_prefix.'Description' => $category_name,
'Status' => STATUS_ACTIVE, 'ParentId' => $current_category_id, 'AutomaticFilename' => 1
);
$this->dummyCategory->SetDBFieldsFromHash($category_fields);
if ($this->dummyCategory->Create()) {
$category_id = $this->dummyCategory->GetID();
$this->addToCache('category_parent_path', $category_id, $this->dummyCategory->GetDBField('ParentPath'));
$this->addToCache('category_names', $category_key, $category_id);
}
}
else {
$this->addToCache('category_names', $category_key, $category_id);
}
}
if ($category_id) {
$this->Application->SetVar('m_cat_id', $category_id);
}
}
if (!$this->curItem->CategoryPath) {
$category_id = $backup_category_id;
}
return $category_id;
}
/**
* Enter description here...
*
* @param kEvent $event
*/
function processCurrentItem(&$event, $record_data)
{
$save_method = 'Create';
$load_keys = Array();
// create/update categories
$backup_category_id = $this->Application->GetVar('m_cat_id');
// perform replace duplicates code
if ($this->exportOptions['ReplaceDuplicates']) {
// get replace keys first, then reset current item to empty one
$category_id = $this->getItemCategory();
if ($this->exportOptions['CheckDuplicatesMethod'] == 1) {
if ($this->curItem->GetID()) {
$load_keys = Array($this->curItem->IDField => $this->curItem->GetID());
}
}
else {
$key_fields = $this->exportOptions['DuplicateCheckFields'];
foreach ($key_fields as $key_field) {
$load_keys[$key_field] = $this->curItem->GetDBField($key_field);
}
}
$this->resetImportObject($event, IMPORT_LIVE);
if (count($load_keys)) {
$where_clause = '';
foreach ($load_keys as $field_name => $field_value) {
if (preg_match('/^cust_(.*)/', $field_name, $regs)) {
$custom_id = array_search($regs[1], $this->customFields);
$field_name = 'l'.$this->Application->GetVar('m_lang').'_cust_'.$custom_id;
$where_clause .= '(custom_data.`'.$field_name.'` = '.$this->Conn->qstr($field_value).') AND ';
}
else {
$where_clause .= '(item_table.`'.$field_name.'` = '.$this->Conn->qstr($field_value).') AND ';
}
}
$where_clause = preg_replace('/(.*) AND $/', '\\1', $where_clause);
$item_id = $this->getFromCache('new_ids', crc32($where_clause));
if (!$item_id) {
if ($this->exportOptions['CheckDuplicatesMethod'] == 2) {
// by other fields
$parent_path = $this->getParentPath($category_id);
$where_clause = '(c.ParentPath LIKE "'.$parent_path.'%") AND '.$where_clause;
}
$cdata_table = $this->Application->getUnitOption($event->Prefix.'-cdata', 'TableName');
$sql = 'SELECT '.$this->curItem->IDField.'
FROM '.$this->curItem->TableName.' item_table
LEFT JOIN '.$cdata_table.' custom_data ON custom_data.ResourceId = item_table.ResourceId
LEFT JOIN '.TABLE_PREFIX.'CategoryItems ci ON ci.ItemResourceId = item_table.ResourceId
LEFT JOIN '.TABLE_PREFIX.'Category c ON c.CategoryId = ci.CategoryId
WHERE '.$where_clause;
$item_id = $this->Conn->GetOne($sql);
}
$save_method = $item_id && $this->curItem->Load($item_id) ? 'Update' : 'Create';
if ($save_method == 'Update') {
// replace id from csv file with found id (only when ID is found in cvs file)
if (in_array($this->curItem->IDField, $this->exportFields)) {
$record_data[ array_search($this->curItem->IDField, $this->exportFields) ] = $item_id;
}
}
}
$this->setImportData($record_data);
}
else {
$this->resetImportObject($event, IMPORT_LIVE, $record_data);
$category_id = $this->getItemCategory();
}
// create main record
if ($save_method == 'Create') {
$this->fillRequiredFields($this->false, $this->curItem, true);
}
// $sql_start = getmicrotime();
if (!$this->curItem->$save_method()) {
$this->Application->SetVar('m_cat_id', $backup_category_id);
return false;
}
// $sql_end = getmicrotime();
// $this->saveLog('SQL ['.$save_method.'] Time: '.($sql_end - $sql_start).'s');
if ($load_keys && ($save_method == 'Create') && $this->exportOptions['ReplaceDuplicates']) {
// map new id to old id
$this->addToCache('new_ids', crc32($where_clause), $this->curItem->GetID() );
}
// assign item to categories
$this->curItem->assignToCategory($category_id, false);
$this->Application->SetVar('m_cat_id', $backup_category_id);
return true;
}
/*function saveLog($msg)
{
static $first_time = true;
$fp = fopen(FULL_PATH.'/sqls.log', $first_time ? 'w' : 'a');
fwrite($fp, $msg."\n");
fclose($fp);
$first_time = false;
}*/
/**
* Returns category parent path, if possible, then from cache
*
* @param int $category_id
* @return string
*/
function getParentPath($category_id)
{
$parent_path = $this->getFromCache('category_parent_path', $category_id);
if ($parent_path === false) {
$sql = 'SELECT ParentPath
FROM '.TABLE_PREFIX.'Category
WHERE CategoryId = '.$category_id;
$parent_path = $this->Conn->GetOne($sql);
$this->addToCache('category_parent_path', $category_id, $parent_path);
}
return $parent_path;
}
function getFileExtension()
{
return $this->exportOptions['ExportFormat'] == 1 ? 'csv' : 'xml';
}
function getLineSeparator($option = 'LineEndings')
{
return $this->exportOptions[$option] == 1 ? "\r\n" : "\n";
}
/**
* Returns field caption for any exported field
*
* @param string $field
* @return string
*/
function getFieldCaption($field)
{
if (substr($field, 0, 10) == '__CUSTOM__')
{
$ret = 'Custom_'.substr($field, 10, strlen($field) );
}
elseif (substr($field, 0, 12) == '__CATEGORY__')
{
return $this->getCategoryTitle();
}
elseif (substr($field, 0, 11) == '__VIRTUAL__') {
$ret = substr($field, 11);
}
else
{
$ret = $field;
}
return Array($ret);
}
/**
* Returns requested field value (including custom fields and category fields)
*
* @param string $field
* @return string
*/
function getFieldValue($field)
{
if (substr($field, 0, 10) == '__CUSTOM__') {
$field = 'cust_'.substr($field, 10, strlen($field));
$ret = $this->curItem->GetField($field);
}
elseif (substr($field, 0, 12) == '__CATEGORY__') {
return $this->getCategoryPath();
}
elseif (substr($field, 0, 11) == '__VIRTUAL__') {
$field = substr($field, 11);
$ret = $this->curItem->GetField($field);
}
else
{
$ret = $this->curItem->GetField($field);
}
$ret = str_replace("\r\n", $this->getLineSeparator('LineEndingsInside'), $ret);
return Array($ret);
}
/**
* Returns category field(-s) caption based on export mode
*
* @return string
*/
function getCategoryTitle()
{
// category path in separated fields
$category_count = $this->getMaxCategoryLevel();
if ($this->exportOptions['CategoryFormat'] == 1)
{
// category path in one field
return $category_count ? Array('CategoryPath') : Array();
}
else
{
$i = 0;
$ret = Array();
while ($i < $category_count) {
$ret[] = 'Category'.($i + 1);
$i++;
}
return $ret;
}
}
/**
* Returns category path in required format for current link
*
* @return string
*/
function getCategoryPath()
{
$category_id = $this->curItem->GetDBField('CategoryId');
$category_path = $this->getFromCache('category_path', $category_id);
if (!$category_path)
{
$ml_formatter =& $this->Application->recallObject('kMultiLanguage');
$sql = 'SELECT '.$ml_formatter->LangFieldName('CachedNavbar').'
FROM '.TABLE_PREFIX.'Category
WHERE CategoryId = '.$category_id;
$category_path = $this->Conn->GetOne($sql);
$category_path = $category_path ? explode('&|&', $category_path) : Array();
if ($this->exportOptions['IsBaseCategory']) {
$i = $this->exportOptions['BaseLevel'];
while ($i > 0) {
array_shift($category_path);
$i--;
}
}
$category_count = $this->getMaxCategoryLevel();
if ($this->exportOptions['CategoryFormat'] == 1) {
// category path in single field
$category_path = $category_count ? Array( implode($this->exportOptions['CategorySeparator'], $category_path) ) : Array();
}
else {
// category path in separated fields
$levels_used = count($category_path);
if ($levels_used < $category_count)
{
$i = 0;
while ($i < $category_count - $levels_used) {
$category_path[] = '';
$i++;
}
}
}
$this->addToCache('category_path', $category_id, $category_path);
}
return $category_path;
}
/**
* Get maximal category deep level from links beeing exported
*
* @return int
*/
function getMaxCategoryLevel()
{
static $max_level = -1;
if ($max_level != -1)
{
return $max_level;
}
$sql = 'SELECT IF(c.CategoryId IS NULL, 0, MAX( LENGTH(c.ParentPath) - LENGTH( REPLACE(c.ParentPath, "|", "") ) - 1 ))
FROM '.$this->curItem->TableName.' item_table
LEFT JOIN '.TABLE_PREFIX.'CategoryItems ci ON item_table.ResourceId = ci.ItemResourceId
LEFT JOIN '.TABLE_PREFIX.'Category c ON c.CategoryId = ci.CategoryId
WHERE (ci.PrimaryCat = 1) AND ';
$where_clause = '';
if ($this->exportOptions['export_ids'] === false) {
// get links from current category & all it's subcategories
if ($this->exportOptions['export_cats_ids'][0] == 0) {
$where_clause = 1;
}
else {
foreach ($this->exportOptions['export_cats_ids'] as $category_id) {
$where_clause .= '(c.ParentPath LIKE "%|'.$category_id.'|%") OR ';
}
$where_clause = preg_replace('/(.*) OR $/', '\\1', $where_clause);
}
}
else {
// get only selected links
$where_clause = $this->curItem->IDField.' IN ('.implode(',', $this->exportOptions['export_ids']).')';
}
$max_level = $this->Conn->GetOne($sql.'('.$where_clause.')');
if ($this->exportOptions['IsBaseCategory'] ) {
$max_level -= $this->exportOptions['BaseLevel'];
}
return $max_level;
}
/**
* Saves one record to export file
*
* @param Array $fields_hash
*/
function writeRecord($fields_hash)
{
fputcsv2($this->filePointer, $fields_hash, $this->exportOptions['FieldsSeparatedBy'], $this->exportOptions['FieldsEnclosedBy'], $this->getLineSeparator() );
}
function readRecord()
{
return fgetcsv($this->filePointer, 10000, $this->exportOptions['FieldsSeparatedBy'], $this->exportOptions['FieldsEnclosedBy']);
}
function saveOptions(&$event, $options = null)
{
if (!isset($options)) {
$options = $this->exportOptions;
}
$this->Application->StoreVar($event->getPrefixSpecial().'_options', serialize($options) );
}
function loadOptions(&$event)
{
return unserialize($this->Application->RecallVar($event->getPrefixSpecial().'_options'));
}
/**
* Sets correct available & export fields
*
* @param kEvent $event
*/
function prepareExportColumns(&$event)
{
$object =& $event->getObject( Array('skip_autoload' => true) );
$available_columns = Array();
if ($this->Application->getUnitOption($event->Prefix, 'CatalogItem')) {
// category field (mixed)
$available_columns['__CATEGORY__CategoryPath'] = 'CategoryPath';
if ($event->Special == 'import') {
// category field (separated fields)
$max_level = $this->Application->ConfigValue('MaxImportCategoryLevels');
$i = 0;
while ($i < $max_level) {
$available_columns['__CATEGORY__Category'.($i + 1)] = 'Category'.($i + 1);
$i++;
}
}
}
// db fields
foreach ($object->Fields as $field_name => $field_options)
{
if (!$object->SkipField($field_name))
{
$available_columns[$field_name] = $field_name.(getArrayValue($field_options, 'required') ? '*' : '');
}
}
$handler =& $this->Application->recallObject($event->Prefix.'_EventHandler');
$available_columns = array_merge_recursive2($available_columns, $handler->getCustomExportColumns($event));
// custom fields
foreach ($object->customFields as $custom_id => $custom_name)
{
$available_columns['__CUSTOM__'.$custom_name] = $custom_name;
}
// columns already in use
$items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) );
if ($items_info)
{
list($item_id, $field_values) = each($items_info);
$export_keys = $field_values['ExportColumns'];
$export_keys = $export_keys ? explode('|', substr($export_keys, 1, -1) ) : Array();
}
else {
$export_keys = Array();
}
$export_columns = Array();
foreach ($export_keys as $field_key)
{
$field_name = $this->getExportField($field_key);
$export_columns[$field_key] = $field_name;
unset($available_columns[$field_key]);
}
$options = $object->GetFieldOptions('ExportColumns');
$options['options'] = $export_columns;
$object->SetFieldOptions('ExportColumns', $options);
$options = $object->GetFieldOptions('AvailableColumns');
$options['options'] = $available_columns;
$object->SetFieldOptions('AvailableColumns', $options);
$this->updateImportFiles($event);
$this->PrepareExportPresets($event);
}
function PrepareExportPresets(&$event)
{
$object =& $event->getObject( Array('skip_autoload' => true) );
$options = $object->GetFieldOptions('ExportPresets');
$export_settings = $this->Application->RecallPersistentVar('export_settings');
if (!$export_settings) return ;
$export_settings = unserialize($export_settings);
if (!isset($export_settings[$event->Prefix])) return ;
$export_presets = array(''=>'');
foreach ($export_settings[$event->Prefix] as $key => $val) {
$export_presets[implode('|', $val['ExportColumns'])] = $key;
}
$options['options'] = $export_presets;
$object->SetFieldOptions('ExportPresets', $options);
}
function getExportField($field_key)
{
$prepends = Array('__CUSTOM__', '__CATEGORY__');
foreach ($prepends as $prepend)
{
if (substr($field_key, 0, strlen($prepend) ) == $prepend)
{
$field_key = substr($field_key, strlen($prepend), strlen($field_key) );
break;
}
}
return $field_key;
}
/**
* Updates uploaded files list
*
* @param kEvent $event
*/
function updateImportFiles(&$event)
{
if ($event->Special != 'import') {
return false;
}
$object =& $event->getObject();
$import_filenames = Array();
if ($folder_handle = opendir(EXPORT_PATH)) {
while (false !== ($file = readdir($folder_handle))) {
if (is_dir(EXPORT_PATH.'/'.$file) || substr($file, 0, 1) == '.' || strtolower($file) == 'cvs' || strtolower($file) == 'dummy' || filesize(EXPORT_PATH.'/'.$file) == 0) continue;
$file_size = formatSize( filesize(EXPORT_PATH.'/'.$file) );
$import_filenames[$file] = $file.' ('.$file_size.')';
}
closedir($folder_handle);
}
$options = $object->GetFieldOptions('ImportLocalFilename');
$options['options'] = $import_filenames;
$object->SetFieldOptions('ImportLocalFilename', $options);
}
/**
* Returns module folder
*
* @param kEvent $event
* @return string
*/
function getModuleFolder(&$event)
{
return $this->Application->getUnitOption($event->Prefix, 'ModuleFolder');
}
/**
- * Export form validation & processing
- *
- * @param kEvent $event
- */
+ * Export form validation & processing
+ *
+ * @param kEvent $event
+ */
function OnExportBegin(&$event)
{
$items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) );
if (!$items_info)
{
$items_info = unserialize( $this->Application->RecallVar($event->getPrefixSpecial().'_ItemsInfo') );
$this->Application->SetVar($event->getPrefixSpecial(true), $items_info);
}
list($item_id, $field_values) = each($items_info);
$object =& $event->getObject( Array('skip_autoload' => true) );
$object->SetFieldsFromHash($field_values);
$field_values['ImportFilename'] = $object->GetDBField('ImportFilename'); //if upload formatter has renamed the file during moving !!!
$object->setID($item_id);
$this->setRequiredFields($event);
$export_object =& $this->Application->recallObject('CatItemExportHelper');
// save export/import options
if ($event->Special == 'export')
{
$export_ids = $this->Application->RecallVar($event->Prefix.'_export_ids');
$export_cats_ids = $this->Application->RecallVar($event->Prefix.'_export_cats_ids');
// used for multistep export
$field_values['export_ids'] = $export_ids ? explode(',', $export_ids) : false;
$field_values['export_cats_ids'] = $export_cats_ids ? explode(',', $export_cats_ids) : Array( $this->Application->GetVar('m_cat_id') );
}
$field_values['ExportColumns'] = $field_values['ExportColumns'] ? explode('|', substr($field_values['ExportColumns'], 1, -1) ) : Array();
$field_values['start_from'] = 0;
$this->Application->HandleEvent($nevent, $event->Prefix.':OnBeforeExportBegin', array('options'=>$field_values));
$field_values = $nevent->getEventParam('options');
$export_object->saveOptions($event, $field_values);
if( $export_object->verifyOptions($event) )
{
- if ($object->GetDBField('ExportSavePreset')) {
+ if ($this->_getExportSavePreset($object)) {
$name = $object->GetDBField('ExportPresetName');
$export_settings = $this->Application->RecallPersistentVar('export_settings');
$export_settings = $export_settings ? unserialize($export_settings) : array();
$export_settings[$event->Prefix][$name] = $field_values;
$this->Application->StorePersistentVar('export_settings', serialize($export_settings));
}
$progress_t = $this->Application->RecallVar('export_progress_t');
if ($progress_t) {
$this->Application->RemoveVar('export_progress_t');
}
else {
$progress_t = $export_object->getModuleFolder($event).'/'.$event->Special.'_progress';
}
$event->redirect = $progress_t;
}
else
{
// make uploaded file local & change source selection
$filename = getArrayValue($field_values, 'ImportFilename');
if ($filename) {
$export_object->updateImportFiles($event);
$object->SetDBField('ImportSource', 2);
$field_values['ImportSource'] = 2;
$object->SetDBField('ImportLocalFilename', $filename);
$field_values['ImportLocalFilename'] = $filename;
$export_object->saveOptions($event, $field_values);
}
$event->status = erFAIL;
$event->redirect = false;
}
}
/**
+ * Returns export save preset name, when used at all
+ *
+ * @param kDBItem $object
+ * @return string
+ */
+ function _getExportSavePreset(&$object)
+ {
+ if (!array_key_exists('ExportSavePreset', $object->Fields)) {
+ return '';
+ }
+
+ return $object->GetDBField('ExportSavePreset');
+ }
+
+ /**
* set required fields based on import or export params
*
* @param kEvent $event
*/
function setRequiredFields(&$event)
{
$required_fields['common'] = Array('FieldsSeparatedBy', 'LineEndings', 'CategoryFormat');
$required_fields['export'] = Array('ExportFormat', 'ExportFilename','ExportColumns');
$object =& $event->getObject();
- if ($object->GetDBField('ExportSavePreset')) {
+ if ($this->_getExportSavePreset($object)) {
$required_fields['export'][] = 'ExportPresetName';
}
$required_fields['import'] = Array('FieldTitles', 'ImportSource', 'CheckDuplicatesMethod'); // ImportFilename, ImportLocalFilename
if ($event->Special == 'import')
{
$import_source = Array(1 => 'ImportFilename', 2 => 'ImportLocalFilename');
$used_field = $import_source[ $object->GetDBField('ImportSource') ];
$required_fields[$event->Special][] = $used_field;
$object->Fields[$used_field]['error_field'] = 'ImportSource';
if ($object->GetDBField('FieldTitles') == 2) $required_fields[$event->Special][] = 'ExportColumns'; // manual field titles
}
$required_fields = array_merge($required_fields['common'], $required_fields[$event->Special]);
foreach ($required_fields as $required_field) {
$object->setRequired($required_field, true);
}
}
}
?>
Property changes on: branches/RC/core/units/general/cat_dbitem_export.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.24.2.2
\ No newline at end of property
+1.24.2.3
\ No newline at end of property
Index: branches/RC/core/admin_templates/categories/categories_edit.tpl
===================================================================
--- branches/RC/core/admin_templates/categories/categories_edit.tpl (revision 11684)
+++ branches/RC/core/admin_templates/categories/categories_edit.tpl (revision 11685)
@@ -1,180 +1,182 @@
<inp2:adm_SetPopupSize width="880" height="680"/>
<inp2:m_include t="incs/header"/>
<inp2:m_include t="categories/categories_tabs"/>
<inp2:m_RenderElement name="combined_header" prefix="c" section="in-portal:browse" perm_section="CATEGORY" permission_type="VIEW" system_permission="0" title_preset="categories_edit" tab_preset="Default"/>
<!-- ToolBar -->
<table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0">
<tbody>
<tr>
<td>
<script type="text/javascript">
a_toolbar = new ToolBar();
a_toolbar.AddButton( new ToolBarButton('select', '<inp2:m_phrase label="la_ToolTip_Save" escape="1"/>', function() {
submit_event('c','<inp2:c_SaveEvent/>');
}
) );
a_toolbar.AddButton( new ToolBarButton('cancel', '<inp2:m_phrase label="la_ToolTip_Cancel" escape="1"/>', function() {
submit_event('c','OnCancel');
}
) );
a_toolbar.AddButton( new ToolBarSeparator('sep1') );
a_toolbar.AddButton( new ToolBarButton('prev', '<inp2:m_phrase label="la_ToolTip_Prev" escape="1"/>', function() {
go_to_id('c', '<inp2:c_PrevId/>');
}
) );
a_toolbar.AddButton( new ToolBarButton('next', '<inp2:m_phrase label="la_ToolTip_Next" escape="1"/>', function() {
go_to_id('c', '<inp2:c_NextId/>');
}
) );
a_toolbar.Render();
<inp2:m_if check="c_IsSingle">
a_toolbar.HideButton('prev');
a_toolbar.HideButton('next');
a_toolbar.HideButton('sep1');
<inp2:m_else/>
<inp2:m_if check="c_IsLast">
a_toolbar.DisableButton('next');
</inp2:m_if>
<inp2:m_if check="c_IsFirst">
a_toolbar.DisableButton('prev');
</inp2:m_if>
</inp2:m_if>
</script>
</td>
<inp2:m_RenderElement name="ml_selector" prefix="c"/>
</tr>
</tbody>
</table>
<inp2:c_SaveWarning name="grid_save_warning"/>
<inp2:c_ErrorWarning name="form_error_warning"/>
<div id="scroll_container">
- <!--<div id="width_status">
- Status:
- </div>-->
<table class="edit-form">
- <inp2:m_RenderElement name="subsection" title="!la_section_Category!"/>
+ <inp2:m_RenderElement name="subsection" prefix="c" fields="CategoryId,Name,Description,AutomaticFilename,Filename,SymLinkCategoryId" title="!la_section_Category!"/>
<inp2:m_RenderElement name="inp_id_label" prefix="c" field="CategoryId" title="!la_fld_CategoryId!"/>
<inp2:m_RenderElement name="inp_edit_box_ml" prefix="c" field="Name" title="!la_fld_PageTitle!" size="70"/> <!-- la_fld_Name -->
<inp2:m_RenderElement name="inp_edit_textarea_ml" prefix="c" field="Description" title="!la_fld_Description!" control_options="{min_height: 130}" rows="7" cols="70"/>
<inp2:m_RenderElement name="inp_edit_checkbox" prefix="c" field="AutomaticFilename" title="la_fld_AutoCreateFileName" onclick="reflectFilename()"/> <!-- la_fld_CategoryAutomaticFilename -->
<inp2:m_RenderElement name="inp_edit_box" prefix="c" field="Filename" title="la_fld_Filename" size="70" /> <!-- la_fld_CategoryFilename -->
<inp2:m_RenderElement name="inp_edit_category" prefix="c" field="SymLinkCategoryId" title="la_fld_SymLinkCategoryId"/>
- <inp2:m_RenderElement name="subsection" title="la_section_Page"/>
+ <inp2:m_RenderElement name="subsection" prefix="c" fields="Title,MenuTitle,FriendlyURL,ParentId,Template,FormId,FormSubmittedTemplate,IsIndex,IsMenu" title="la_section_Page"/>
<inp2:m_RenderElement name="inp_edit_hidden" prefix="c" field="OldPriority"/>
<inp2:m_RenderElement name="inp_edit_box_ml" prefix="c" field="Title" title="!la_fld_PageContentTitle!" size="40"/>
<inp2:m_RenderElement name="inp_edit_box_ml" prefix="c" field="MenuTitle" title="!la_fld_PageMentTitle!" size="40"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="c" field="FriendlyURL" title="la_fld_FriendlyURL" size="63"/>
<inp2:m_RenderElement name="inp_edit_options" prefix="c" field="ParentId" title="la_fld_ParentSection"/>
<!-- <inp2:m_RenderElement name="inp_edit_checkbox" prefix="c" field="IsSystem" title="!la_fld_IsSystemTemplate!" onchange="OnSystemClick()"/>-->
<inp2:m_if check="c_Field" name="IsSystem" equals_to="1" db="db">
<inp2:m_if check="m_IsDebugMode">
<inp2:m_RenderElement name="inp_edit_box" prefix="c" field="Template" title="la_fld_TemplateFile" size="40"/>
</inp2:m_if>
<inp2:m_else/>
<inp2:m_RenderElement name="inp_edit_options" prefix="c" field="Template" title="la_fld_TemplateType" has_empty="1" size="40"/>
</inp2:m_if>
<inp2:m_RenderElement name="inp_edit_options" prefix="c" field="FormId" title="!la_fld_Form!"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="c" field="FormSubmittedTemplate" title="la_fld_FormSubmittedTemplate" size="60"/>
-
- <inp2:m_if check="m_IsDebugMode">
- <inp2:m_RenderElement name="inp_edit_options" prefix="c" field="IsIndex" title="la_fld_IsIndex"/>
- </inp2:m_if>
-
+ <inp2:m_RenderElement name="inp_edit_options" prefix="c" field="IsIndex" title="la_fld_IsIndex"/>
<inp2:m_RenderElement name="inp_edit_radio" prefix="c" field="IsMenu" title="la_fld_MenuStatus"/>
- <inp2:m_RenderElement name="subsection" title="!la_section_Properties!"/>
+ <inp2:m_RenderElement name="subsection" prefix="c" fields="Status,NewItem,EditorsPick,Priority,UseMenuIconUrl,MenuIconUrl,UseExternalUrl,ExternalUrl,CreatedOn,MetaKeywords,MetaDescription,IndexTools" title="!la_section_Properties!"/>
<inp2:m_RenderElement name="inp_edit_radio" prefix="c" field="Status" title="!la_fld_Status!"/>
<inp2:m_RenderElement name="inp_edit_radio" prefix="c" field="NewItem" title="!la_fld_New!"/>
<inp2:m_RenderElement name="inp_edit_checkbox" prefix="c" field="EditorsPick" title="!la_fld_EditorsPick!"/>
<inp2:m_RenderElement name="inp_edit_options" prefix="c" field="Priority" title="la_fld_Priority"/>
<inp2:m_RenderElement name="inp_edit_checkbox" prefix="c" field="UseMenuIconUrl" title="!la_fld_UseMenuIcon!" onclick="reflectMenuIcon();"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="c" field="MenuIconUrl" title="!la_fld_MenuIcon!" size="60"/>
<inp2:m_RenderElement name="inp_edit_checkbox" prefix="c" field="UseExternalUrl" title="la_fld_UseExternalUrl" onclick="reflectExternalUrl();"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="c" field="ExternalUrl" title="la_fld_ExternalUrl" size="60"/>
<inp2:m_RenderElement name="inp_edit_date_time" prefix="c" field="CreatedOn" title="!la_fld_CreatedOn!"/>
<inp2:m_RenderElement name="inp_edit_textarea" prefix="c" field="MetaKeywords" title="!la_fld_MetaKeywords!" allow_html="0" control_options="{min_height: 90}" rows="3" cols="70"/>
<inp2:m_RenderElement name="inp_edit_textarea" prefix="c" field="MetaDescription" title="!la_fld_MetaDescription!" allow_html="0" control_options="{min_height: 90}" rows="4" cols="70"/>
<inp2:m_RenderElement name="inp_edit_textarea" prefix="c" field="IndexTools" title="!la_fld_TrackingCode!" control_options="{min_height: 90}" allow_html="0"/>
<!-- custom fields: begin -->
<inp2:m_include t="incs/custom_blocks"/>
<inp2:cf.general_PrintList render_as="cv_row_block" SourcePrefix="c" value_field="Value" per_page="-1" grid="Default" />
<!-- custom fields: end -->
<inp2:m_RenderElement name="inp_edit_filler"/>
</table>
</div>
<script type="text/javascript">
function getControl ($field, $appendix, $prepend) {
var $field_mask = '<inp2:c_InputName field="#FIELD_NAME#"/>';
$appendix = isset($appendix) ? '_' + $appendix : '';
$prepend = isset($prepend) ? $prepend + '_' : '';
return document.getElementById( $prepend + $field_mask.replace('#FIELD_NAME#', $field) + $appendix );
}
function reflectMenuIcon() {
- getControl('MenuIconUrl').parentNode.parentNode.style.display = getControl('UseMenuIconUrl', null, '_cb').checked ? '' : 'none';
+ var $menu_icon_url = getControl('MenuIconUrl');
+ if ($menu_icon_url) {
+ $menu_icon_url.parentNode.parentNode.style.display = getControl('UseMenuIconUrl', null, '_cb').checked ? '' : 'none';
+ }
}
function reflectExternalUrl() {
- getControl('ExternalUrl').parentNode.parentNode.style.display = getControl('UseExternalUrl', null, '_cb').checked ? '' : 'none';
+ var $external_url = getControl('ExternalUrl');
+ if ($external_url) {
+ $external_url.parentNode.parentNode.style.display = getControl('UseExternalUrl', null, '_cb').checked ? '' : 'none';
+ }
}
function OnSystemClick() {
var cel = getControl('IsSystem', null, '_cb');
var tel = getControl('Template');
if (cel) {
if (cel.checked) {
cel.setAttribute('old_template', tel.value);
tel.value='';
tel.disabled = true;
tel.readonly = true;
}
else {
var old_template = cel.getAttribute('old_template');
tel.disabled = false;
tel.readonly = false;
if (old_template) {
tel.value = old_template;
}
cel.setAttribute('old_template', '');
}
}
}
function reflectFilename() {
- var $checked = getControl('AutomaticFilename', null, '_cb').checked;
- getControl('Filename').readOnly = $checked;
+ var $filename = getControl('Filename');
+ if ($filename) {
+ var $checked = getControl('AutomaticFilename', null, '_cb').checked;
+ $filename.readOnly = $checked;
+ }
}
$(document).ready(
function() {
reflectMenuIcon();
reflectExternalUrl();
reflectFilename();
// OnSystemClick();
}
);
</script>
<inp2:m_include t="incs/footer"/>
\ No newline at end of file
Property changes on: branches/RC/core/admin_templates/categories/categories_edit.tpl
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.5.2.14
\ No newline at end of property
+1.5.2.15
\ No newline at end of property
Index: branches/RC/core/admin_templates/custom_fields/custom_fields_edit.tpl
===================================================================
--- branches/RC/core/admin_templates/custom_fields/custom_fields_edit.tpl (revision 11684)
+++ branches/RC/core/admin_templates/custom_fields/custom_fields_edit.tpl (revision 11685)
@@ -1,156 +1,156 @@
-<inp2:adm_SetPopupSize width="750" height="400"/>
+<inp2:adm_SetPopupSize width="750" height="620"/>
<inp2:m_include t="incs/header"/>
<inp2:m_Get name="section" result_to_var="section"/>
<inp2:m_RenderElement name="combined_header" prefix="cf" section="$section" perm_event="cf:OnLoad" title_preset="custom_fields_edit"/>
<!-- ToolBar -->
<table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0">
<tbody>
<tr>
<td>
<script type="text/javascript">
a_toolbar = new ToolBar();
a_toolbar.AddButton( new ToolBarButton('select', '<inp2:m_phrase label="la_ToolTip_Save" escape="1"/>', function() {
submit_event('cf','<inp2:cf_SaveEvent/>');
}
) );
a_toolbar.AddButton( new ToolBarButton('cancel', '<inp2:m_phrase label="la_ToolTip_Cancel" escape="1"/>', function() {
submit_event('cf','OnCancelEdit');
}
) );
a_toolbar.AddButton( new ToolBarSeparator('sep1') );
a_toolbar.AddButton( new ToolBarButton('prev', '<inp2:m_phrase label="la_ToolTip_Prev" escape="1"/>', function() {
go_to_id('cf', '<inp2:cf_PrevId/>');
}
) );
a_toolbar.AddButton( new ToolBarButton('next', '<inp2:m_phrase label="la_ToolTip_Next" escape="1"/>', function() {
go_to_id('cf', '<inp2:cf_NextId/>');
}
) );
a_toolbar.Render();
<inp2:m_if check="cf_IsSingle" >
a_toolbar.HideButton('prev');
a_toolbar.HideButton('next');
a_toolbar.HideButton('sep1');
<inp2:m_else/>
<inp2:m_if check="cf_IsLast" >
a_toolbar.DisableButton('next');
</inp2:m_if>
<inp2:m_if check="cf_IsFirst" >
a_toolbar.DisableButton('prev');
</inp2:m_if>
</inp2:m_if>
</script>
</td>
</tr>
</tbody>
</table>
<inp2:m_RenderElement name="inp_edit_hidden" prefix="cf" field="Type" db="db"/>
<inp2:cf_SaveWarning name="grid_save_warning"/>
<inp2:cf_ErrorWarning name="form_error_warning"/>
<div id="scroll_container">
<table class="edit-form">
<inp2:m_RenderElement name="subsection" title="!la_section_General!"/>
<inp2:m_RenderElement name="inp_id_label" prefix="cf" field="CustomFieldId" title="!la_prompt_FieldId!"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="cf" field="FieldName" title="!la_prompt_FieldName!" size="40"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="cf" field="FieldLabel" title="!la_prompt_FieldLabel!" size="40"/>
<inp2:m_RenderElement name="inp_edit_checkbox" prefix="cf" field="MultiLingual" title="!la_fld_MultiLingual!"/>
<inp2:m_RenderElement name="subsection" title="!la_tab_AdminUI!"/>
<inp2:m_RenderElement name="inp_edit_checkbox" prefix="cf" field="OnGeneralTab" title="!la_prompt_showgeneraltab!"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="cf" field="Heading" title="!la_prompt_heading!" size="40"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="cf" field="Prompt" title="!la_prompt_FieldPrompt!" size="40"/>
<inp2:m_RenderElement name="inp_edit_options" prefix="cf" field="ElementType" title="!la_prompt_InputType!" size="20" onchange="update_layout();"/>
<inp2:m_if check="cf_Field" name="ElementType" equals_to="select|multiselect|radio" db="db" inverse="inverse">
<inp2:m_RenderElement name="inp_edit_box" prefix="cf" field="ValueList" title="!la_prompt_valuelist!" size="40"/>
</inp2:m_if>
<inp2:m_RenderElement name="inp_edit_checkbox" prefix="cf" field="IsRequired" title="la_fld_IsRequired"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="cf" field="DefaultValue" title="la_prompt_Default"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="cf" field="DisplayOrder" title="!la_field_displayorder!" size="10"/>
<inp2:m_if check="m_IsDebugMode">
<inp2:m_RenderElement name="inp_edit_checkbox" prefix="cf" field="IsSystem" title="!la_fld_IsSystem!"/>
</inp2:m_if>
<inp2:m_if check="cf_Field" name="ElementType" equals_to="select|multiselect|radio" db="db">
<inp2:m_RenderElement name="subsection" title="la_section_Values"/>
<inp2:m_RenderElement name="inp_edit_checkbox" prefix="cf" field="SortValues" title="la_fld_SortValues"/>
<inp2:m_RenderElement name="inp_edit_hidden" prefix="cf" field="OptionKey"/>
<inp2:m_RenderElement name="inp_edit_box" prefix="cf" field="OptionTitle" title="la_fld_OptionTitle" size="60"/>
- <inp2:m_RenderElement name="inp_edit_minput" prefix="cf" field="Options" title="la_fld_Options" format="#OptionTitle# (#OptionKey#)" style="width: 600px; height: 500px;"/>
+ <inp2:m_RenderElement name="inp_edit_minput" prefix="cf" field="Options" title="la_fld_Options" format="#OptionTitle# (#OptionKey#)" style="width: 400px; height: 200px;"/>
</inp2:m_if>
</table>
</div>
<inp2:m_if check="cf_Field" name="ElementType" equals_to="select|multiselect|radio" db="db">
<script type="text/javascript">
Options.registerControl('OptionKey', 'text', false);
Options.registerControl('OptionTitle', 'text', true);
Options.LoadValues();
Options.getControlValue = function ($field) {
var $value = this.getControl($field).value;
if ($field == 'OptionKey' && !$value) {
$options = this.getControl(this.FieldName, 'minput').options;
if ($options.length) {
var $i = 0;
var $max_option_key = 0;
while ($i < $options.length) {
if (parseInt(this.Records[ $options[$i].value ]['OptionKey']) > $max_option_key) {
$max_option_key = parseInt(this.Records[ $options[$i].value ]['OptionKey']);
}
$i++;
}
return $max_option_key + 1;
}
// when no this will be 1st record in list use 1
return 1;
}
return $value;
}
Options.compareRecords = function($record_a, $record_b) {
// compare by option title only, it's id doesn't matter
return $record_a['OptionTitle'].toLowerCase() == $record_b['OptionTitle'].toLowerCase();
}
</script>
</inp2:m_if>
<script type="text/javascript">
function update_layout() {
var $last_element_type = '<inp2:cf_Field name="ElementType" db="db" js_escape="1"/>';
var $element_type = document.getElementById('<inp2:cf_InputName name="ElementType" js_escape="1"/>').value;
// value is changed from ml supported to normal or otherwise
if (canHaveMultipleValues($last_element_type) != canHaveMultipleValues($element_type)) {
submit_event('cf', 'OnPreSave');
}
}
function canHaveMultipleValues($element_type) {
var $element_types = ['select', 'multiselect', 'radio'];
return $element_types.indexOf($element_type) != -1;
}
</script>
<inp2:m_include t="incs/footer"/>
Property changes on: branches/RC/core/admin_templates/custom_fields/custom_fields_edit.tpl
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.5.2.9
\ No newline at end of property
+1.5.2.10
\ No newline at end of property
Index: branches/RC/core/admin_templates/incs/form_blocks.tpl
===================================================================
--- branches/RC/core/admin_templates/incs/form_blocks.tpl (revision 11684)
+++ branches/RC/core/admin_templates/incs/form_blocks.tpl (revision 11685)
@@ -1,1041 +1,1099 @@
<inp2:m_DefineElement name="combined_header" permission_type="view" perm_section="" perm_prefix="" perm_event="" system_permission="1" title_preset="" tab_preset="" additional_title_render_as="" additional_blue_bar_render_as="" pagination_prefix="" grid="Default">
<inp2:m_if check="m_Param" name="perm_section" inverse="1">
<inp2:adm_SectionInfo section="$section" info="perm_section" result_to_var="perm_section"/>
</inp2:m_if>
<inp2:m_if check="m_Param" name="permission_type">
<inp2:m_RequireLogin permissions="{$perm_section}.{$permission_type}" perm_event="$perm_event" perm_prefix="$perm_prefix" system="$system_permission"/>
<inp2:m_else/>
<inp2:m_RequireLogin permissions="{$perm_section}" perm_event="$perm_event" perm_prefix="$perm_prefix" system="$system_permission"/>
</inp2:m_if>
<inp2:m_if check="m_Param" name="prefix" inverse="1"><inp2:adm_SectionInfo section="$section" info="SectionPrefix" result_to_var="prefix"/></inp2:m_if>
<inp2:m_if check="m_get" var="m_wid" inverse="1">
<inp2:m_if check="m_GetConfig" name="UseSmallHeader">
<img src="img/spacer.gif" height="8" width="1" alt=""/>
<inp2:m_else/>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<!--## <tr<inp2:m_ifnot check="m_ModuleEnabled" module="Proj-Base"> style="background: url(<inp2:adm_SectionInfo section="$section" parent="1" info="module_path"/>img/logo_bg.gif) no-repeat top right; height: 55px;"</inp2:m_ifnot>> ##-->
<tr>
<td valign="top" class="admintitle" align="left" style="padding-top: 10px; padding-bottom: 10px;">
<img width="46" height="46" src="<inp2:adm_SectionInfo section='$section' parent='1' info='module_path'/>img/icons/icon46_<inp2:adm_SectionInfo section='$section' parent='1' info='icon'/>.gif" align="absmiddle" title="<inp2:adm_SectionInfo section='$section' parent='1' info='label'/>" alt=""/>&nbsp;<inp2:adm_SectionInfo section="$section" parent="1" info="label"/>
</td>
<inp2:m_if check="m_Param" name="additional_title_render_as">
<inp2:m_RenderElement name="$additional_title_render_as" pass_params="1"/>
</inp2:m_if>
</tr>
</table>
</inp2:m_if>
<inp2:m_else/>
<inp2:m_if check="m_Param" name="additional_title_render_as">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<!--## <tr<inp2:m_ifnot check="m_ModuleEnabled" module="Proj-Base"> style="background: url(<inp2:adm_SectionInfo section="$section" parent="1" info="module_path"/>img/logo_bg.gif) no-repeat top right; height: 55px;"</inp2:m_ifnot>> ##-->
<tr>
<inp2:m_RenderElement name="$additional_title_render_as" pass_params="1"/>
</tr>
</table>
</inp2:m_if>
</inp2:m_if>
<inp2:$prefix_ModifyUnitConfig pass_params="1"/>
<inp2:m_if check="m_Param" name="tabs">
<inp2:m_include t="$tabs" pass_params="1"/>
</inp2:m_if>
<inp2:m_if check="m_Param" name="tab_preset">
<inp2:m_RenderElement name="edit_tabs" prefix="$prefix" preset_name="$tab_preset"/>
</inp2:m_if>
<table border="0" cellpadding="2" cellspacing="0" class="bordered-no-bottom" width="100%" style="height: 30px;">
<tr>
<td class="header_left_bg" nowrap="nowrap" style="vertical-align: middle;">
<inp2:adm_SectionInfo section="$section" info="label" result_to_var="default_title"/>
<inp2:adm_SectionInfo section="$section" parent="1" info="label" result_to_var="group_title"/>
<span class="tablenav_link" id="blue_bar">
<inp2:$prefix_SectionTitle title_preset="$title_preset" section="$section" title="$default_title" group_title="$group_title" cut_first="100" pass_params="true"/>
</span>
</td>
<td align="right" class="tablenav" style="vertical-align: middle;">
<inp2:m_if check="m_Param" name="additional_blue_bar_render_as">
<inp2:m_RenderElement name="$additional_blue_bar_render_as" pass_params="1"/>
<inp2:m_else/>
<inp2:m_if check="m_Param" name="pagination">
<inp2:$prefix_SelectParam possible_names="pagination_prefix,prefix" result_to_var="pagination_prefix"/>
<inp2:m_RenderElement name="grid_pagination_elem" PrefixSpecial="$pagination_prefix" pass_params="1"/>
</inp2:m_if>
</inp2:m_if>
</td>
</tr>
</table>
<script type="text/javascript">
var $visible_toolbar_buttons = <inp2:m_if check="{$prefix}_VisibleToolbarButtons" title_preset="$title_preset">[<inp2:$prefix_VisibleToolbarButtons title_preset="$title_preset"/>]<inp2:m_else/>true</inp2:m_if>;
set_window_title( RemoveTranslationLink(document.getElementById('blue_bar').innerHTML, false).replace(/(<[^<]+>)/g, '').replace(/\s+/g, ' ').trim() + ' - <inp2:m_Phrase label="la_AdministrativeConsole"/>');
setHelpLink('<inp2:lang.current_Field name="UserDocsUrl" js_escape="1"/>', '<inp2:m_Param name="title_preset" js_escape="1"/>');
</script>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="section_header">
<strong>DEPRICATED. PLEASE USE "COMBINED_HEADER"</strong>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="blue_bar" module="" icon="" pagination="0">
<!--## DEPRICATED, BUT USED IN "no_permission.tpl". ##-->
<table border="0" cellpadding="2" cellspacing="0" class="bordered-no-bottom" width="100%" style="height: 30px;">
<tr>
<td class="header_left_bg" nowrap="nowrap" valign="middle">
<span class="tablenav_link" id="blue_bar"><inp2:{$prefix}_SectionTitle title_preset="$title_preset" title="Invalid OR Missing title preset [#preset_name#]" cut_first="100" pass_params="true"/></span>
</td>
<td align="right" class="tablenav" valign="middle">
<script type="text/javascript">
set_window_title( RemoveTranslationLink(document.getElementById('blue_bar').innerHTML, false).replace(/(<[^<]+>)/g, '') + ' - <inp2:m_Phrase label="la_AdministrativeConsole"/>');
setHelpLink('<inp2:lang.current_Field name="UserDocsUrl" js_escape="1"/>', '<inp2:m_Param name="title_preset" js_escape="1"/>');
</script>
<inp2:m_if check="m_ModuleEnabled" module="In-Portal">
<script>
var $help_url='<inp2:m_t t="help" h_prefix="$prefix" h_icon="$icon" h_module="$module" h_title_preset="$title_preset" pass="all,m,h" m_opener="p" escape="escape"/>';
$help_url = $help_url.replace(/#/g, '%23');
</script>
</inp2:m_if>
<inp2:m_if check="m_Param" name="pagination">
<inp2:m_RenderElement name="grid_pagination_elem" PrefixSpecial="$prefix" pass_params="1"/>
</inp2:m_if>
</td>
</tr>
</table>
<script type="text/javascript">
var $visible_toolbar_buttons = <inp2:m_if check="{$prefix}_VisibleToolbarButtons" title_preset="$title_preset">[<inp2:$prefix_VisibleToolbarButtons title_preset="$title_preset"/>]<inp2:m_else/>true</inp2:m_if>;
</script>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_original_label">
<td><inp2:$prefix.original_Field field="$field" nl2br="1"/></td>
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="subsection" prefix="" colspan="3">
- <tr class="subsectiontitle">
- <td colspan="<inp2:m_param name='colspan'/>"><inp2:m_phrase label="$title"/></td>
- <inp2:m_if check="m_ParamEquals" name="prefix" value="" inverse="inverse">
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <td><inp2:m_phrase name="$original_title"/></td>
- </inp2:m_if>
+<inp2:m_DefineElement name="subsection" prefix="" fields="" colspan="3">
+ <inp2:m_if check="m_Param" name="prefix" equals_to="">
+ <tr class="subsectiontitle">
+ <td colspan="<inp2:m_param name='colspan'/>"><inp2:m_phrase label="$title"/></td>
+ </tr>
+ <inp2:m_else/>
+ <inp2:m_if check="{$prefix}_FieldsVisible" fields="$fields">
+ <tr class="subsectiontitle">
+ <td colspan="<inp2:m_param name='colspan'/>"><inp2:m_phrase label="$title"/></td>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <td><inp2:m_phrase name="$original_title"/></td>
+ </inp2:m_if>
+ </tr>
</inp2:m_if>
- </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_field_caption" title="" subfield="" NamePrefix="">
<inp2:m_inc param="tab_index" by="1"/>
<td class="label-cell" onmouseover="show_form_error('<inp2:m_Param name='prefix' js_escape='1'/>', '<inp2:m_Param name='field' js_escape='1'/>')" onmouseout="hide_form_error('<inp2:m_Param name='prefix' js_escape='1'/>')">
<inp2:m_if check="m_Param" name="title">
<label for="<inp2:m_param name='NamePrefix'/><inp2:{$prefix}_InputName field='$field' subfield='$subfield'/>">
<span class="<inp2:m_if check='{$prefix}_HasError' field='$field'>error-cell</inp2:m_if>" >
<inp2:m_phrase label="$title"/></span><inp2:m_if check="{$prefix}_IsRequired" field="$field"><span class="field-required">&nbsp;*</span></inp2:m_if>:
</label>
<inp2:m_else/>
&nbsp;
</inp2:m_if>
</td>
<td class="control-mid">&nbsp;</td>
<script type="text/javascript">
if (typeof(fields['<inp2:m_Param name="prefix" js_escape="1"/>']) == 'undefined') {
fields['<inp2:m_Param name="prefix" js_escape="1"/>'] = new Object();
}
fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>'] = '<inp2:m_phrase label="$title" js_escape="1"/>'
</script>
</inp2:m_DefineElement>
-<inp2:m_DefineElement name="inp_label" is_last="" subfield="" style="" format="" db="" hint_label="" as_label="" currency="" nl2br="0" is_last="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
- <td class="control-cell" valign="top">
- <span style="<inp2:m_Param name='style'/>" id="<inp2:$prefix_InputName field='$field' subfield='$subfield'/>">
- <inp2:{$prefix}_Field field="$field" format="$format" as_label="$as_label" currency="$currency" nl2br="$nl2br"/>
- </span>
- <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if>
- <input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field' db='$db'/>">
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+<inp2:m_DefineElement name="inp_label" is_last="" subfield="" style="" format="" db="" hint_label="" as_label="" currency="" no_special="" nl2br="0" is_last="">
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
+ <td class="control-cell" valign="top">
+ <span style="<inp2:m_Param name='style'/>" id="<inp2:$prefix_InputName field='$field' subfield='$subfield'/>">
+ <inp2:{$prefix}_Field field="$field" format="$format" as_label="$as_label" currency="$currency" nl2br="$nl2br" no_special="$no_special"/>
+ </span>
+ <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if>
+ <input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field' db='$db'/>">
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
+ </inp2:m_if>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_id_label">
- <inp2:m_ifnot check="Field" field="$field" equals_to="">
+ <inp2:m_ifnot check="Field" field="$field" equals_to="|0">
<inp2:m_RenderElement name="inp_label" pass_params="true"/>
</inp2:m_ifnot>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_error">
<script type="text/javascript">
add_form_error('<inp2:m_Param name="prefix" js_escape="1"/>', '<inp2:m_Param name="field" js_escape="1"/>', '<inp2:{$prefix}_InputName field="$field"/>', '<inp2:{$prefix}_Error field="$field" js_escape="1"/>')
</script>
<!--##<td class="error-cell"><inp2:{$prefix}_Error field="$field"/>&nbsp;</td>##-->
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_box" subfield="" class="" format="" is_last="" maxlength="" onblur="" onchange="" size="" onkeyup="" style="width: 100%">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" subfield="$subfield" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <input style="<inp2:m_Param name='style'/>" type="text" name="<inp2:{$prefix}_InputName field='$field' subfield='$subfield'/>" id="<inp2:{$prefix}_InputName field='$field' subfield='$subfield'/>" value="<inp2:{$prefix}_Field field='$field' format='$format' subfield='$subfield'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>" onkeyup="<inp2:m_Param name='onkeyup'/>" onchange="<inp2:m_Param name='onchange'/>">
- <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" subfield="$subfield" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <input style="<inp2:m_Param name='style'/>" type="text" name="<inp2:{$prefix}_InputName field='$field' subfield='$subfield'/>" id="<inp2:{$prefix}_InputName field='$field' subfield='$subfield'/>" value="<inp2:{$prefix}_Field field='$field' format='$format' subfield='$subfield'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>" onkeyup="<inp2:m_Param name='onkeyup'/>" onchange="<inp2:m_Param name='onchange'/>">
+ <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
+ </inp2:m_if>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_password" class="" size="" style="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
- <td class="control-cell">
- <input style="<inp2:m_Param name='style'/>" type="password" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" class="<inp2:m_param name='class'/>" />
- <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
+ <td class="control-cell">
+ <input style="<inp2:m_Param name='style'/>" type="password" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" class="<inp2:m_param name='class'/>" />
+ <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><span class="small"><inp2:m_phrase label="$hint_label"/></span></inp2:m_if>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
+ </inp2:m_if>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_upload" class="" size="" thumbnail="" is_last="" style="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <inp2:m_if check="m_Param" name="thumbnail">
- <inp2:m_if check="{$prefix}_FieldEquals" name="$field" value="" inverse="inverse">
- <img src="<inp2:{$prefix}_Field field='$field' format='resize:{$thumbnail}'/>" alt=""/><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="la_btn_DeleteImage"/></label>
- </td>
- </tr>
- </table>
- </inp2:m_if>
- <input type="file" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" class="<inp2:m_param name='class'/>">
- <inp2:m_else/>
- <input type="file" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" class="<inp2:m_param name='class'/>">
- <inp2:m_if check="{$prefix}_FieldEquals" name="$field" value="" inverse="inverse">
- (<inp2:{$prefix}_Field field="$field"/>)
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <inp2:m_if check="m_Param" name="thumbnail">
+ <inp2:m_if check="{$prefix}_FieldEquals" name="$field" value="" inverse="inverse">
+ <img src="<inp2:{$prefix}_Field field='$field' format='resize:{$thumbnail}'/>" alt=""/><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="la_btn_DeleteImage"/></label>
+ </td>
+ </tr>
+ </table>
+ </inp2:m_if>
+ <input type="file" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" class="<inp2:m_param name='class'/>">
+ <inp2:m_else/>
+ <input type="file" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" class="<inp2:m_param name='class'/>">
+ <inp2:m_if check="{$prefix}_FieldEquals" name="$field" value="" inverse="inverse">
+ (<inp2:{$prefix}_Field field="$field"/>)
+ </inp2:m_if>
</inp2:m_if>
+ <input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[upload]" id="<inp2:{$prefix}_InputName field='$field'/>[upload]" value="<inp2:{$prefix}_Field field='$field'/>">
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
</inp2:m_if>
- <input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[upload]" id="<inp2:{$prefix}_InputName field='$field'/>[upload]" value="<inp2:{$prefix}_Field field='$field'/>">
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_box_ml">
<inp2:m_RenderElement name="inp_edit_box" format="no_default" pass_params="true"/>
<!--##
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <td class="label-cell" valign="top">
- <span class="<inp2:m_if check='{$prefix}_HasError' field='$field'>error-cell</inp2:m_if>" >
- <inp2:m_phrase label="$title"/><inp2:m_if check="{$prefix}_IsRequired" field="$field"><span class="field-required">&nbsp;*</span></inp2:m_if>:</span><br>
- <a href="javascript:PreSaveAndOpenTranslator('<inp2:m_param name='prefix'/>', '<inp2:m_param name='field'/>', 'popups/translator');" title="<inp2:m_Phrase label='la_Translate'/>"><img src="img/icons/icon24_translate.gif" style="cursor:hand" border="0"></a>
- </td>
- <td class="control-cell">
- <input style="<inp2:m_Param name='style'/>" type="text" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field' format='no_default'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>">
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <td class="label-cell" valign="top">
+ <span class="<inp2:m_if check='{$prefix}_HasError' field='$field'>error-cell</inp2:m_if>" >
+ <inp2:m_phrase label="$title"/><inp2:m_if check="{$prefix}_IsRequired" field="$field"><span class="field-required">&nbsp;*</span></inp2:m_if>:</span><br>
+ <a href="javascript:PreSaveAndOpenTranslator('<inp2:m_param name='prefix'/>', '<inp2:m_param name='field'/>', 'popups/translator');" title="<inp2:m_Phrase label='la_Translate'/>"><img src="img/icons/icon24_translate.gif" style="cursor:hand" border="0"></a>
+ </td>
+ <td class="control-cell">
+ <input style="<inp2:m_Param name='style'/>" type="text" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field' format='no_default'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>">
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
+ </inp2:m_if>
+ </tr>
+ </inp2:m_if>
##-->
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_swf_upload" class="" is_last="" style="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <div class="uploader-main" id="<inp2:{$prefix}_InputName field='$field'/>_progress">
- <div class="uploader-percent" id="<inp2:{$prefix}_InputName field='$field'/>_percent">0%</div>
- <div class="uploader-left">
- <div class="uploader-done" id="<inp2:{$prefix}_InputName field='$field'/>_done"></div>
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <div class="uploader-main" id="<inp2:{$prefix}_InputName field='$field'/>_progress">
+ <div class="uploader-percent" id="<inp2:{$prefix}_InputName field='$field'/>_percent">0%</div>
+ <div class="uploader-left">
+ <div class="uploader-done" id="<inp2:{$prefix}_InputName field='$field'/>_done"></div>
+ </div>
+ <table style="border-collapse: collapse; width: 100%;">
+ <tr>
+ <td style="width: 120px">Uploading:</td><td id="<inp2:{$prefix}_InputName field='$field'/>_progress_filename"></td>
+ </tr>
+ <tr>
+ <td>Progress:</td><td id="<inp2:{$prefix}_InputName field='$field'/>_progress_progress"></td>
+ </tr>
+ <tr>
+ <td>Time elapsed:</td><td id="<inp2:{$prefix}_InputName field='$field'/>_progress_elapsed"></td>
+ </tr>
+ <tr>
+ <td>Time remaining:</td><td id="<inp2:{$prefix}_InputName field='$field'/>_progress_remaining"></td>
+ </tr>
+ <tr>
+ <td colspan="2" style="text-align: center"><a href="javascript:UploadsManager.CancelUpload('<inp2:{$prefix}_InputName field='$field'/>')">Cancel</a></td>
+ </tr>
+ </table>
</div>
- <table style="border-collapse: collapse; width: 100%;">
- <tr>
- <td style="width: 120px">Uploading:</td><td id="<inp2:{$prefix}_InputName field='$field'/>_progress_filename"></td>
- </tr>
- <tr>
- <td>Progress:</td><td id="<inp2:{$prefix}_InputName field='$field'/>_progress_progress"></td>
- </tr>
- <tr>
- <td>Time elapsed:</td><td id="<inp2:{$prefix}_InputName field='$field'/>_progress_elapsed"></td>
- </tr>
- <tr>
- <td>Time remaining:</td><td id="<inp2:{$prefix}_InputName field='$field'/>_progress_remaining"></td>
- </tr>
+
+ <table cellpadding="0" cellspacing="3">
<tr>
- <td colspan="2" style="text-align: center"><a href="javascript:UploadsManager.CancelUpload('<inp2:{$prefix}_InputName field='$field'/>')">Cancel</a></td>
+ <td style="width: 63px; height: 21px;" id="<inp2:{$prefix}_InputName field='$field'/>_place_holder">
+ &nbsp;
+ </td>
+ <td>
+ <input class="button" type="button" onclick="UploadsManager.StartUpload('<inp2:{$prefix}_InputName field='$field'/>')" value="Upload"/>
+ </td>
</tr>
</table>
- </div>
- <table cellpadding="0" cellspacing="3">
- <tr>
- <td style="width: 63px; height: 21px;" id="<inp2:{$prefix}_InputName field='$field'/>_place_holder">
- &nbsp;
- </td>
- <td>
- <input class="button" type="button" onclick="UploadsManager.StartUpload('<inp2:{$prefix}_InputName field='$field'/>')" value="Upload"/>
- </td>
- </tr>
- </table>
+ <div id="<inp2:{$prefix}_InputName field='$field'/>_queueinfo"></div>
+ <div id="<inp2:{$prefix}_InputName field='$field'/>_holder"></div>
- <div id="<inp2:{$prefix}_InputName field='$field'/>_queueinfo"></div>
- <div id="<inp2:{$prefix}_InputName field='$field'/>_holder"></div>
+ <input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[upload]" id="<inp2:{$prefix}_InputName field='$field'/>[upload]" value="<inp2:{$prefix}_Field field='$field'/>"><br/>
+ <input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[tmp_ids]" id="<inp2:{$prefix}_InputName field='$field'/>[tmp_ids]" value="">
+ <input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[tmp_names]" id="<inp2:{$prefix}_InputName field='$field'/>[tmp_names]" value="">
+ <input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[tmp_deleted]" id="<inp2:{$prefix}_InputName field='$field'/>[tmp_deleted]" value="">
- <input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[upload]" id="<inp2:{$prefix}_InputName field='$field'/>[upload]" value="<inp2:{$prefix}_Field field='$field'/>"><br/>
- <input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[tmp_ids]" id="<inp2:{$prefix}_InputName field='$field'/>[tmp_ids]" value="">
- <input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[tmp_names]" id="<inp2:{$prefix}_InputName field='$field'/>[tmp_names]" value="">
- <input type="hidden" name="<inp2:{$prefix}_InputName field='$field'/>[tmp_deleted]" id="<inp2:{$prefix}_InputName field='$field'/>[tmp_deleted]" value="">
-
- <script type="text/javascript">
- UploadsManager.AddUploader('<inp2:{$prefix}_InputName field="$field"/>',
- {
- baseUrl: '<inp2:m_TemplatesBase />',
- allowedFiletypesDescription : '<inp2:{$prefix}_FieldOption field="$field" option="files_description" js_escape="1"/>',
- allowedFiletypes : '<inp2:{$prefix}_FieldOption field="$field" option="file_types"/>',
- allowedFilesize : '<inp2:{$prefix}_FieldOption field="$field" option="max_size"/>',
- multiple : '<inp2:{$prefix}_FieldOption field="$field" option="multiple"/>',
- prefix : '<inp2:m_Param name="prefix"/>',
- field : '<inp2:m_Param name="field"/>',
- urls : '<inp2:{$prefix}_Field field="$field" format="file_urls" js_escape="1"/>',
- names : '<inp2:{$prefix}_Field field="$field" format="file_names" js_escape="1"/>',
- sizes : '<inp2:{$prefix}_Field field="$field" format="file_sizes" js_escape="1"/>',
- flashsid : '<inp2:m_SID/>',
- uploadURL : '<inp2:m_t pass="m,$prefix" {$prefix}_event="OnUploadFile" js_escape="1" no_amp="1" />',
- deleteURL : '<inp2:m_t pass="m,$prefix" {$prefix}_event="OnDeleteFile" field="#FIELD#" file="#FILE#" js_escape="1" no_amp="1"/>',
- tmp_url : '<inp2:m_t pass="m,$prefix" {$prefix}_event="OnViewFile" tmp="1" field="#FIELD#" file="#FILE#" id="#ID#" js_escape="1" no_amp="1" />',
-
- // Button settings
- buttonImageURL: 'img/upload.png', // Relative to the Flash file
- buttonWidth: 63,
- buttonHeight: 21,
- buttonText: '<span class="theFont">Browse</span>',
- buttonTextStyle: ".theFont { font-size: 12; font-family: arial, sans}",
- buttonTextTopPadding: 2,
- buttonTextLeftPadding: 9,
- buttonPlaceholderId: '<inp2:{$prefix}_InputName field="$field"/>_place_holder'
- }
- )
- </script>
+ <script type="text/javascript">
+ UploadsManager.AddUploader('<inp2:{$prefix}_InputName field="$field"/>',
+ {
+ baseUrl: '<inp2:m_TemplatesBase />',
+ allowedFiletypesDescription : '<inp2:{$prefix}_FieldOption field="$field" option="files_description" js_escape="1"/>',
+ allowedFiletypes : '<inp2:{$prefix}_FieldOption field="$field" option="file_types"/>',
+ allowedFilesize : '<inp2:{$prefix}_FieldOption field="$field" option="max_size"/>',
+ multiple : '<inp2:{$prefix}_FieldOption field="$field" option="multiple"/>',
+ prefix : '<inp2:m_Param name="prefix"/>',
+ field : '<inp2:m_Param name="field"/>',
+ urls : '<inp2:{$prefix}_Field field="$field" format="file_urls" js_escape="1"/>',
+ names : '<inp2:{$prefix}_Field field="$field" format="file_names" js_escape="1"/>',
+ sizes : '<inp2:{$prefix}_Field field="$field" format="file_sizes" js_escape="1"/>',
+ flashsid : '<inp2:m_SID/>',
+ uploadURL : '<inp2:m_t pass="m,$prefix" {$prefix}_event="OnUploadFile" js_escape="1" no_amp="1" />',
+ deleteURL : '<inp2:m_t pass="m,$prefix" {$prefix}_event="OnDeleteFile" field="#FIELD#" file="#FILE#" js_escape="1" no_amp="1"/>',
+ tmp_url : '<inp2:m_t pass="m,$prefix" {$prefix}_event="OnViewFile" tmp="1" field="#FIELD#" file="#FILE#" id="#ID#" js_escape="1" no_amp="1" />',
+
+ // Button settings
+ buttonImageURL: 'img/upload.png', // Relative to the Flash file
+ buttonWidth: 63,
+ buttonHeight: 21,
+ buttonText: '<span class="theFont">Browse</span>',
+ buttonTextStyle: ".theFont { font-size: 12; font-family: arial, sans}",
+ buttonTextTopPadding: 2,
+ buttonTextLeftPadding: 9,
+ buttonPlaceholderId: '<inp2:{$prefix}_InputName field="$field"/>_place_holder'
+ }
+ )
+ </script>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
+ </inp2:m_if>
+ </tr>
+ </inp2:m_if>
</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" class="" is_last="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="{$field}_date" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <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'/>" class="<inp2:m_param name='class'/>" datepickerIcon="<inp2:m_ProjectBase/>core/admin_templates/img/calendar_icon.gif">&nbsp;
- <img src="img/calendar_icon.gif" id="cal_img_<inp2:{$prefix}_InputName field='{$field}'/>"
- style="cursor: pointer; margin-right: 5px"
- title="Date selector"
- />
- <span class="small">(<inp2:{$prefix}_Format field="{$field}_date" input_format="1" human="true"/>)</span>
- <script type="text/javascript">
- Calendar.setup({
- inputField : "<inp2:{$prefix}_InputName field='{$field}_date'/>",
- ifFormat : Calendar.phpDateFormat("<inp2:{$prefix}_Format field='{$field}_date' input_format='1'/>"),
- button : "cal_img_<inp2:{$prefix}_InputName field='{$field}'/>",
- align : "br",
- singleClick : true,
- showsTime : true,
- weekNumbers : false,
- firstDay : <inp2:m_GetConfig var="FirstDayOfWeek"/>,
- onUpdate : function(cal) {
- runOnChange('<inp2:$prefix_InputName field='{$field}_date'/>');
- }
- });
- </script>
- <input type="hidden" name="<inp2:{$prefix}_InputName field='{$field}_time'/>" id="<inp2:{$prefix}_InputName field='{$field}_time' input_format='1'/>" value="">
- </td>
- <inp2:m_RenderElement name="inp_edit_error" field="{$field}_date" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="{$field}_date" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <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'/>" class="<inp2:m_param name='class'/>" datepickerIcon="<inp2:m_ProjectBase/>core/admin_templates/img/calendar_icon.gif">&nbsp;
+ <img src="img/calendar_icon.gif" id="cal_img_<inp2:{$prefix}_InputName field='{$field}'/>"
+ style="cursor: pointer; margin-right: 5px"
+ title="Date selector"
+ />
+ <span class="small">(<inp2:{$prefix}_Format field="{$field}_date" input_format="1" human="true"/>)</span>
+ <script type="text/javascript">
+ Calendar.setup({
+ inputField : "<inp2:{$prefix}_InputName field='{$field}_date'/>",
+ ifFormat : Calendar.phpDateFormat("<inp2:{$prefix}_Format field='{$field}_date' input_format='1'/>"),
+ button : "cal_img_<inp2:{$prefix}_InputName field='{$field}'/>",
+ align : "br",
+ singleClick : true,
+ showsTime : true,
+ weekNumbers : false,
+ firstDay : <inp2:m_GetConfig var="FirstDayOfWeek"/>,
+ onUpdate : function(cal) {
+ runOnChange('<inp2:$prefix_InputName field='{$field}_date'/>');
+ }
+ });
+ </script>
+ <input type="hidden" name="<inp2:{$prefix}_InputName field='{$field}_time'/>" id="<inp2:{$prefix}_InputName field='{$field}_time' input_format='1'/>" value="">
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" field="{$field}_date" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
+ </inp2:m_if>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_time" class="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="{$field}_time" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <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'/>" class="<inp2:m_param name='class'/>">&nbsp;
- <span class="small">(<inp2:{$prefix}_Format field="{$field}_time" input_format="1" human="true"/>)</span>
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="{$field}_time" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <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'/>" class="<inp2:m_param name='class'/>">&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>
- <inp2:m_RenderElement name="inp_edit_error" field="{$field}_time" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ <input type="hidden" name="<inp2:{$prefix}_InputName field='{$field}_date'/>" id="<inp2:{$prefix}_InputName field='{$field}_date' input_format='1'/>" value="">
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" field="{$field}_time" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
+ </inp2:m_if>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_date_time" class="" is_last="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <!-- <input type="hidden" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field' db='db'/>"> -->
- <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'/>" class="<inp2:m_param name='class'/>" datepickerIcon="<inp2:m_ProjectBase/>core/admin_templates/img/calendar_icon.gif">
- <img src="img/calendar_icon.gif" id="cal_img_<inp2:{$prefix}_InputName field="{$field}"/>"
- style="cursor: pointer; margin-right: 5px"
- title="Date selector"
- />
- <span class="small">(<inp2:{$prefix}_Format field="{$field}_date" input_format="1" human="true"/>)</span>
- <input type="hidden" id="full_date_<inp2:{$prefix}_InputName field='{$field}'/>" value="<inp2:{$prefix}_Field field='{$field}' format=''/>" />
- <script type="text/javascript">
- Calendar.setup({
- inputField : "full_date_<inp2:{$prefix}_InputName field='{$field}'/>",
- ifFormat : Calendar.phpDateFormat("<inp2:{$prefix}_Format field='{$field}' input_format='1'/>"),
- button : "cal_img_<inp2:{$prefix}_InputName field='{$field}'/>",
- align : "br",
- singleClick : true,
- showsTime : true,
- weekNumbers : false,
- firstDay : <inp2:m_GetConfig var="FirstDayOfWeek"/>,
- onUpdate : function(cal) {
- document.getElementById('<inp2:{$prefix}_InputName field="{$field}_date"/>').value = cal.date.print( Calendar.phpDateFormat("<inp2:{$prefix}_Format field="{$field}_date" input_format="1"/>") );
- document.getElementById('<inp2:{$prefix}_InputName field="{$field}_time"/>').value = cal.date.print( Calendar.phpDateFormat("<inp2:{$prefix}_Format field="{$field}_time" 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'/>" class="<inp2:m_param name='class'/>"><span class="small"> (<inp2:{$prefix}_Format field="{$field}_time" input_format="1" human="true"/>)</span>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <!-- <input type="hidden" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field' db='db'/>"> -->
+ <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'/>" class="<inp2:m_param name='class'/>" datepickerIcon="<inp2:m_ProjectBase/>core/admin_templates/img/calendar_icon.gif">
+ <img src="img/calendar_icon.gif" id="cal_img_<inp2:{$prefix}_InputName field="{$field}"/>"
+ style="cursor: pointer; margin-right: 5px"
+ title="Date selector"
+ />
+ <span class="small">(<inp2:{$prefix}_Format field="{$field}_date" input_format="1" human="true"/>)</span>
+ <input type="hidden" id="full_date_<inp2:{$prefix}_InputName field='{$field}'/>" value="<inp2:{$prefix}_Field field='{$field}' format=''/>" />
+ <script type="text/javascript">
+ Calendar.setup({
+ inputField : "full_date_<inp2:{$prefix}_InputName field='{$field}'/>",
+ ifFormat : Calendar.phpDateFormat("<inp2:{$prefix}_Format field='{$field}' input_format='1'/>"),
+ button : "cal_img_<inp2:{$prefix}_InputName field='{$field}'/>",
+ align : "br",
+ singleClick : true,
+ showsTime : true,
+ weekNumbers : false,
+ firstDay : <inp2:m_GetConfig var="FirstDayOfWeek"/>,
+ onUpdate : function(cal) {
+ document.getElementById('<inp2:{$prefix}_InputName field="{$field}_date"/>').value = cal.date.print( Calendar.phpDateFormat("<inp2:{$prefix}_Format field="{$field}_date" input_format="1"/>") );
+ document.getElementById('<inp2:{$prefix}_InputName field="{$field}_time"/>').value = cal.date.print( Calendar.phpDateFormat("<inp2:{$prefix}_Format field="{$field}_time" 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'/>" class="<inp2:m_param name='class'/>"><span class="small"> (<inp2:{$prefix}_Format field="{$field}_time" input_format="1" human="true"/>)</span>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
+ </inp2:m_if>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_textarea" class="" format="" edit_template="popups/editor" allow_html="allow_html" style="text-align: left; width: 100%; height: 100px;" control_options="false">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>" style="height: auto">
- <td class="label-cell" onmouseover="show_form_error('<inp2:m_Param name='prefix' js_escape='1'/>', '<inp2:m_Param name='field' js_escape='1'/>')" onmouseout="hide_form_error('<inp2:m_Param name='prefix' js_escape='1'/>')" valign="top">
- <span class="<inp2:m_if check='{$prefix}_HasError' field='$field'>error-cell</inp2:m_if>" >
- <inp2:m_phrase label="$title"/><inp2:m_if check="{$prefix}_IsRequired" field="$field"><span class="field-required">&nbsp;*</span></inp2:m_if>:</span><br>
- <inp2:m_if check="m_ParamEquals" name="allow_html" value="allow_html">
- <inp2:{$prefix}_InputName field="$field" result_to_var="input_name"/>
- <a href="<inp2:m_Link template='$edit_template' TargetField='$input_name' pass_through='TargetField' pass='m,$prefix'/>" onclick="openwin(this.href, 'html_edit', 800, 575); return false;">
- <img src="img/icons/icon24_link_editor.gif" style="cursor: hand;" border="0">
- </a>
- <!--## <a href="javascript:OpenEditor('&section=in-link:editlink_general','kernel_form','<inp2:{$prefix}_InputName field="$field"/>');"><img src="img/icons/icon24_link_editor.gif" style="cursor:hand" border="0"></a> ##-->
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>" style="height: auto">
+ <td class="label-cell" onmouseover="show_form_error('<inp2:m_Param name='prefix' js_escape='1'/>', '<inp2:m_Param name='field' js_escape='1'/>')" onmouseout="hide_form_error('<inp2:m_Param name='prefix' js_escape='1'/>')" valign="top">
+ <span class="<inp2:m_if check='{$prefix}_HasError' field='$field'>error-cell</inp2:m_if>" >
+ <inp2:m_phrase label="$title"/><inp2:m_if check="{$prefix}_IsRequired" field="$field"><span class="field-required">&nbsp;*</span></inp2:m_if>:</span><br>
+ <inp2:m_if check="m_ParamEquals" name="allow_html" value="allow_html">
+ <inp2:{$prefix}_InputName field="$field" result_to_var="input_name"/>
+ <a href="<inp2:m_Link template='$edit_template' TargetField='$input_name' pass_through='TargetField' pass='m,$prefix'/>" onclick="openwin(this.href, 'html_edit', 800, 575); return false;">
+ <img src="img/icons/icon24_link_editor.gif" style="cursor: hand;" border="0">
+ </a>
+ <!--## <a href="javascript:OpenEditor('&section=in-link:editlink_general','kernel_form','<inp2:{$prefix}_InputName field="$field"/>');"><img src="img/icons/icon24_link_editor.gif" style="cursor:hand" border="0"></a> ##-->
+ </inp2:m_if>
+ </td>
+ <td class="control-mid">&nbsp;</td>
+ <script type="text/javascript">
+ if (typeof(fields['<inp2:m_Param name="prefix" js_escape="1"/>']) == 'undefined') {
+ fields['<inp2:m_Param name="prefix" js_escape="1"/>'] = new Object();
+ }
+ fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>'] = '<inp2:m_phrase label="$title" js_escape="1"/>'
+ </script>
+ <td class="control-cell">
+ <textarea style="<inp2:m_Param name='style'/>" tabindex="<inp2:m_get param='tab_index'/>" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" ><inp2:{$prefix}_Field field="$field" format="$format"/></textarea>
+ <script type="text/javascript">
+ Form.addControl('<inp2:{$prefix}_InputName field="$field"/>', <inp2:m_param name="control_options"/>);
+ </script>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
</inp2:m_if>
- </td>
- <td class="control-mid">&nbsp;</td>
- <script type="text/javascript">
- if (typeof(fields['<inp2:m_Param name="prefix" js_escape="1"/>']) == 'undefined') {
- fields['<inp2:m_Param name="prefix" js_escape="1"/>'] = new Object();
- }
- fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>'] = '<inp2:m_phrase label="$title" js_escape="1"/>'
- </script>
- <td class="control-cell">
- <textarea style="<inp2:m_Param name='style'/>" tabindex="<inp2:m_get param='tab_index'/>" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" ><inp2:{$prefix}_Field field="$field" format="$format"/></textarea>
- <script type="text/javascript">
- Form.addControl('<inp2:{$prefix}_InputName field="$field"/>', <inp2:m_param name="control_options"/>);
- </script>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_fck" class="" is_last="" maxlength="" bgcolor="" onblur="" size="" onkeyup="" style="" control_options="false">
- <tr class="<inp2:m_odd_even odd='table_color1' even='table_color2'/>">
- <td class="control-cell" colspan="3" onmouseover="show_form_error('<inp2:m_Param name='prefix' js_escape='1'/>', '<inp2:m_Param name='field' js_escape='1'/>')" onmouseout="hide_form_error('<inp2:m_Param name='prefix' js_escape='1'/>')">
- <inp2:FCKEditor field="$field" width="100%" bgcolor="$bgcolor" height="200" late_load="1"/>
- <script type="text/javascript">
- if (typeof(fields['<inp2:m_Param name="prefix" js_escape="1"/>']) == 'undefined') {
- fields['<inp2:m_Param name="prefix" js_escape="1"/>'] = new Object();
- }
- fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>'] = '<inp2:m_phrase label="$title" js_escape="1"/>'
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='table_color1' even='table_color2'/>">
+ <td class="control-cell" colspan="3" onmouseover="show_form_error('<inp2:m_Param name='prefix' js_escape='1'/>', '<inp2:m_Param name='field' js_escape='1'/>')" onmouseout="hide_form_error('<inp2:m_Param name='prefix' js_escape='1'/>')">
+ <inp2:FCKEditor field="$field" width="100%" bgcolor="$bgcolor" height="200" late_load="1"/>
+ <script type="text/javascript">
+ if (typeof(fields['<inp2:m_Param name="prefix" js_escape="1"/>']) == 'undefined') {
+ fields['<inp2:m_Param name="prefix" js_escape="1"/>'] = new Object();
+ }
+ fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>'] = '<inp2:m_phrase label="$title" js_escape="1"/>'
- Form.addControl('<inp2:$prefix_InputName field="$field"/>___Frame', <inp2:m_param name="control_options"/>);
- </script>
- </td>
- </tr>
+ Form.addControl('<inp2:$prefix_InputName field="$field"/>___Frame', <inp2:m_param name="control_options"/>);
+ </script>
+ </td>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_codepress" is_last="" style="width: 100%;" language="html" control_options="false">
- <tr class="<inp2:m_odd_even odd='table_color1' even='table_color2'/>">
- <td class="control-cell" colspan="3" onmouseover="show_form_error('<inp2:m_Param name='prefix' js_escape='1'/>', '<inp2:m_Param name='field' js_escape='1'/>')" onmouseout="hide_form_error('<inp2:m_Param name='prefix' js_escape='1'/>')">
- <inp2:m_ifnot check="m_Get" name="codepress_included">
- <script type="text/javascript" src="<inp2:m_TemplatesBase/>/themes/codepress/codepress.js"></script>
- <script type="text/javascript">
- CodePress.path = '<inp2:m_TemplatesBase/>/themes/codepress/'; // set path here, because script tags are not found in table cells
- </script>
- <inp2:m_Set codepress_included="1"/>
- </inp2:m_ifnot>
- <textarea id="<inp2:$prefix_InputName field='$field'/>" name="<inp2:$prefix_InputName field='$field'/>" class="codepress <inp2:m_Param name='language'/>" style="<inp2:m_Param name='style'/>"><inp2:$prefix_Field field="$field"/></textarea>
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='table_color1' even='table_color2'/>">
+ <td class="control-cell" colspan="3" onmouseover="show_form_error('<inp2:m_Param name='prefix' js_escape='1'/>', '<inp2:m_Param name='field' js_escape='1'/>')" onmouseout="hide_form_error('<inp2:m_Param name='prefix' js_escape='1'/>')">
+ <inp2:m_ifnot check="m_Get" name="codepress_included">
+ <script type="text/javascript" src="<inp2:m_TemplatesBase/>/themes/codepress/codepress.js"></script>
+ <script type="text/javascript">
+ CodePress.path = '<inp2:m_TemplatesBase/>/themes/codepress/'; // set path here, because script tags are not found in table cells
+ </script>
+ <inp2:m_Set codepress_included="1"/>
+ </inp2:m_ifnot>
+ <textarea id="<inp2:$prefix_InputName field='$field'/>" name="<inp2:$prefix_InputName field='$field'/>" class="codepress <inp2:m_Param name='language'/>" style="<inp2:m_Param name='style'/>"><inp2:$prefix_Field field="$field"/></textarea>
- <script type="text/javascript">
- Application.setHook(
- new Array ('<inp2:m_Param name="prefix" js_escape="1"/>:OnPreSaveAndGoToTab', '<inp2:m_Param name="prefix" js_escape="1"/>:OnPreSaveAndGo', '<inp2:m_Param name="prefix" js_escape="1"/>:OnSave', '<inp2:m_Param name="prefix" js_escape="1"/>:OnCreate', '<inp2:m_Param name="prefix" js_escape="1"/>:OnUpdate'),
- function($event) {
- <inp2:m_Param name="field"/>.toggleEditor(); // enable textarea back to save data
- $event.status = true;
+ <script type="text/javascript">
+ Application.setHook(
+ new Array ('<inp2:m_Param name="prefix" js_escape="1"/>:OnPreSaveAndGoToTab', '<inp2:m_Param name="prefix" js_escape="1"/>:OnPreSaveAndGo', '<inp2:m_Param name="prefix" js_escape="1"/>:OnSave', '<inp2:m_Param name="prefix" js_escape="1"/>:OnCreate', '<inp2:m_Param name="prefix" js_escape="1"/>:OnUpdate'),
+ function($event) {
+ <inp2:m_Param name="field"/>.toggleEditor(); // enable textarea back to save data
+ $event.status = true;
+ }
+ );
+ if (typeof(fields['<inp2:m_Param name="prefix" js_escape="1"/>']) == 'undefined') {
+ fields['<inp2:m_Param name="prefix" js_escape="1"/>'] = new Object();
}
- );
- if (typeof(fields['<inp2:m_Param name="prefix" js_escape="1"/>']) == 'undefined') {
- fields['<inp2:m_Param name="prefix" js_escape="1"/>'] = new Object();
- }
- fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>'] = '<inp2:m_phrase label="$title" js_escape="1"/>'
+ fields['<inp2:m_Param name="prefix" js_escape="1"/>']['<inp2:m_Param name="field" js_escape="1"/>'] = '<inp2:m_phrase label="$title" js_escape="1"/>'
- Form.addControl('<inp2:$prefix_InputName field="$field"/>', <inp2:m_param name="control_options"/>);
- </script>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- </tr>
+ Form.addControl('<inp2:$prefix_InputName field="$field"/>', <inp2:m_param name="control_options"/>);
+ </script>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_textarea_ml">
<inp2:m_RenderElement name="inp_edit_textarea" format="no_default" pass_params="true"/>
- <!--##<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <td class="label-cell" valign="top">
- <span class="<inp2:m_if check='{$prefix}_HasError' field='$field'>error-cell</inp2:m_if>" >
- <inp2:m_phrase label="$title"/><inp2:m_if check="{$prefix}_IsRequired" field="$field"><span class="field-required">&nbsp;*</span></inp2:m_if>:</span><br>
- <a href="javascript:OpenEditor('&section=in-link:editlink_general','kernel_form','<inp2:{$prefix}_InputName field="$field"/>');"><img src="img/icons/icon24_link_editor.gif" style="cursor:hand" border="0"></a>
- <a href="javascript:PreSaveAndOpenTranslator('<inp2:m_param name="prefix"/>', '<inp2:m_param name="field"/>', 'popups/translator', 1);" title="<inp2:m_Phrase label="la_Translate"/>"><img src="img/icons/icon24_translate.gif" style="cursor:hand" border="0"></a>
- </td>
- <td class="control-mid">&nbsp;</td>
- <td>
- <textarea tabindex="<inp2:m_get param='tab_index'/>" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" cols="<inp2:m_param name='cols'/>" rows="<inp2:m_param name='rows'/>" class="<inp2:m_param name='class'/>"><inp2:{$prefix}_Field field="$field"/></textarea>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>##-->
+ <!--##
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <td class="label-cell" valign="top">
+ <span class="<inp2:m_if check='{$prefix}_HasError' field='$field'>error-cell</inp2:m_if>" >
+ <inp2:m_phrase label="$title"/><inp2:m_if check="{$prefix}_IsRequired" field="$field"><span class="field-required">&nbsp;*</span></inp2:m_if>:</span><br>
+ <a href="javascript:OpenEditor('&section=in-link:editlink_general','kernel_form','<inp2:{$prefix}_InputName field="$field"/>');"><img src="img/icons/icon24_link_editor.gif" style="cursor:hand" border="0"></a>
+ <a href="javascript:PreSaveAndOpenTranslator('<inp2:m_param name="prefix"/>', '<inp2:m_param name="field"/>', 'popups/translator', 1);" title="<inp2:m_Phrase label="la_Translate"/>"><img src="img/icons/icon24_translate.gif" style="cursor:hand" border="0"></a>
+ </td>
+ <td class="control-mid">&nbsp;</td>
+ <td>
+ <textarea tabindex="<inp2:m_get param='tab_index'/>" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" cols="<inp2:m_param name='cols'/>" rows="<inp2:m_param name='rows'/>" class="<inp2:m_param name='class'/>"><inp2:{$prefix}_Field field="$field"/></textarea>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
+ </inp2:m_if>
+ </tr>
+ </inp2:m_if>
+ ##-->
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_user" class="" size="" is_last="" old_style="0" onkeyup="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <input type="text" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" class="<inp2:m_param name='class'/>" onkeyup="<inp2:m_Param name='onkeyup'/>">
- <inp2:m_if check="m_ParamEquals" name="old_style" value="1">
- <a href="#" onclick="return OpenUserSelector('','kernel_form','<inp2:{$prefix}_InputName field="$field"/>');">
- <inp2:m_else/>
- <a href="javascript:openSelector('<inp2:m_param name='prefix'/>', '<inp2:m_t t='user_selector' pass='all,$prefix' escape='1'/>', '<inp2:m_param name='field'/>');">
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <input type="text" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" class="<inp2:m_param name='class'/>" onkeyup="<inp2:m_Param name='onkeyup'/>">
+ <inp2:m_if check="m_ParamEquals" name="old_style" value="1">
+ <a href="#" onclick="return OpenUserSelector('','kernel_form','<inp2:{$prefix}_InputName field="$field"/>');">
+ <inp2:m_else/>
+ <a href="javascript:openSelector('<inp2:m_param name='prefix'/>', '<inp2:m_t t='user_selector' pass='all,$prefix' escape='1'/>', '<inp2:m_param name='field'/>');">
+ </inp2:m_if>
+ <img src="img/icons/icon24_link_user.gif" style="cursor:hand;" border="0">
+ </a>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
</inp2:m_if>
- <img src="img/icons/icon24_link_user.gif" style="cursor:hand;" border="0">
- </a>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_category" class="" size="" is_last="" old_style="0" onkeyup="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <table cellpadding="0" cellspacing="0">
- <tr>
- <td id="<inp2:{$prefix}_InputName field='$field'/>_path">
- <inp2:m_DefineElement name="category_caption">
- <inp2:m_ifnot check="c_HomeCategory" equals_to="$cat_id">
- <inp2:m_param name="separator"/>
- </inp2:m_ifnot>
- <inp2:m_param name="cat_name"/>
- </inp2:m_DefineElement>
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <table cellpadding="0" cellspacing="0">
+ <tr>
+ <td id="<inp2:{$prefix}_InputName field='$field'/>_path">
+ <inp2:m_DefineElement name="category_caption">
+ <inp2:m_ifnot check="c_HomeCategory" equals_to="$cat_id">
+ <inp2:m_param name="separator"/>
+ </inp2:m_ifnot>
+ <inp2:m_param name="cat_name"/>
+ </inp2:m_DefineElement>
- <inp2:$prefix_FieldCategoryPath field="$field" separator=" &gt; " render_as="category_caption"/>
- <inp2:m_RenderElement name="inp_edit_hidden" pass_params="1"/>
- </td>
- <td valign="middle">
- <img src="img/spacer.gif" width="3" height="1" alt=""/>
- <a href="javascript:openSelector('<inp2:m_param name='prefix'/>', '<inp2:adm_SelectorLink prefix='$prefix' selection_mode='single' tab_prefixes='none'/>', '<inp2:m_param name='field'/>');">
- <img src="img/icons/icon24_cat.gif" border="0"/>
- </a>
-
- <a href="#" onclick="disable_category('<inp2:m_Param name='field'/>'); return false;"><inp2:m_Phrase name="la_Text_Disable"/></a>
-
- <script type="text/javascript">
- function disable_category($field) {
- var $field = '<inp2:{$prefix}_InputName field="#FIELD_NAME#"/>'.replace('#FIELD_NAME#', $field);
- set_hidden_field($field, '');
- document.getElementById($field + '_path').style.display = 'none';
- }
- </script>
- </td>
- </tr>
- </table>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- </tr>
+ <inp2:$prefix_FieldCategoryPath field="$field" separator=" &gt; " render_as="category_caption"/>
+ <inp2:m_RenderElement name="inp_edit_hidden" pass_params="1"/>
+ </td>
+ <td valign="middle">
+ <img src="img/spacer.gif" width="3" height="1" alt=""/>
+ <a href="javascript:openSelector('<inp2:m_param name='prefix'/>', '<inp2:adm_SelectorLink prefix='$prefix' selection_mode='single' tab_prefixes='none'/>', '<inp2:m_param name='field'/>');">
+ <img src="img/icons/icon24_cat.gif" border="0"/>
+ </a>
+
+ <a href="#" onclick="disable_category('<inp2:m_Param name='field'/>'); return false;"><inp2:m_Phrase name="la_Text_Disable"/></a>
+
+ <script type="text/javascript">
+ function disable_category($field) {
+ var $field = '<inp2:{$prefix}_InputName field="#FIELD_NAME#"/>'.replace('#FIELD_NAME#', $field);
+ set_hidden_field($field, '');
+ document.getElementById($field + '_path').style.display = 'none';
+ }
+ </script>
+ </td>
+ </tr>
+ </table>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ </tr>
+ </inp2:m_if>
</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" is_last="" onchange="" has_empty="0" empty_value="" style="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <select tabindex="<inp2:m_get param='tab_index'/>" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" onchange="<inp2:m_Param name='onchange'/>">
- <inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
- <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>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <select tabindex="<inp2:m_get param='tab_index'/>" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" onchange="<inp2:m_Param name='onchange'/>">
+ <inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
+ <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>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
+ </inp2:m_if>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_multioptions" is_last="" has_empty="0" empty_value="" style="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <select multiple tabindex="<inp2:m_get param='tab_index'/>" id="<inp2:{$prefix}_InputName field='$field'/>_select" onchange="update_multiple_options('<inp2:{$prefix}_InputName field='$field'/>');">
- <inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
- <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>
- <input type="hidden" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field' db='db'/>"/>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <select multiple tabindex="<inp2:m_get param='tab_index'/>" id="<inp2:{$prefix}_InputName field='$field'/>_select" onchange="update_multiple_options('<inp2:{$prefix}_InputName field='$field'/>');">
+ <inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
+ <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>
+ <input type="hidden" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field' db='db'/>"/>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
+ </inp2:m_if>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_radio_item" onclick="" onchange="">
<input type="radio" <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"/>" onclick="<inp2:m_param name="onclick"/>" onchange="<inp2:m_param name="onchange"/>"><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="" onchange="">
<input type="radio" <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"/>" onclick="<inp2:m_param name="onclick"/>" onchange="<inp2:m_param name="onchange"/>"><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" is_last="" pass_tabindex="" onclick="" onchange="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
- <inp2:{$prefix}_PredefinedOptions field="$field" tabindex="$pass_tabindex" block="inp_radio_phrase" selected="checked" onclick="$onclick" onchange="$onchange" />
- <inp2:m_else />
- <inp2:{$prefix}_PredefinedOptions field="$field" tabindex="$pass_tabindex" block="inp_radio_item" selected="checked" onclick="$onclick" onchange="$onchange" />
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
+ <inp2:{$prefix}_PredefinedOptions field="$field" tabindex="$pass_tabindex" block="inp_radio_phrase" selected="checked" onclick="$onclick" onchange="$onchange" />
+ <inp2:m_else />
+ <inp2:{$prefix}_PredefinedOptions field="$field" tabindex="$pass_tabindex" block="inp_radio_item" selected="checked" onclick="$onclick" onchange="$onchange" />
+ </inp2:m_if>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
</inp2:m_if>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_checkbox" is_last="" field_class="" onchange="" onclick="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last" NamePrefix="_cb_"/>
- <td class="control-cell">
- <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"/> class="<inp2:m_param name='field_class'/>" onclick="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field='$field'/>'));" onchange="<inp2:m_param name='onchange'/>">-->
- <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"/> class="<inp2:m_param name='field_class'/>" onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field='$field'/>'));<inp2:m_param name='onchange'/>" onclick="<inp2:m_param name='onclick'/>">
- <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><inp2:m_phrase label="$hint_label"/></inp2:m_if>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last" NamePrefix="_cb_"/>
+ <td class="control-cell">
+ <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"/> class="<inp2:m_param name='field_class'/>" onclick="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field='$field'/>'));" onchange="<inp2:m_param name='onchange'/>">-->
+ <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"/> class="<inp2:m_param name='field_class'/>" onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field='$field'/>'));<inp2:m_param name='onchange'/>" onclick="<inp2:m_param name='onclick'/>">
+ <inp2:m_if check="{$prefix}_HasParam" name="hint_label"><inp2:m_phrase label="$hint_label"/></inp2:m_if>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
+ </inp2:m_if>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_checkbox_item">
<input type="checkbox" <inp2:m_param name='checked'/> id="<inp2:{$prefix}_InputName field='$field'/>_<inp2:m_param name='key'/>" value="<inp2:m_param name='key'/>" onclick="update_checkbox_options(/^<inp2:{$prefix}_InputName field='$field' as_preg='1'/>_([0-9A-Za-z-]+)/, '<inp2:{$prefix}_InputName field='$field'/>');"><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_checkbox_phrase">
<input type="checkbox" <inp2:m_param name='checked'/> id="<inp2:{$prefix}_InputName field='$field'/>_<inp2:m_param name='key'/>" value="<inp2:m_param name='key'/>" onclick="update_checkbox_options(/^<inp2:{$prefix}_InputName field='$field' as_preg='1'/>_([0-9A-Za-z-]+)/, '<inp2:{$prefix}_InputName field='$field'/>');"><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_checkboxes" no_empty="" pass_tabindex="" is_last="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
- <inp2:{$prefix}_PredefinedOptions field="$field" no_empty="$no_empty" tabindex="$pass_tabindex" block="inp_checkbox_phrase" selected="checked"/>
- <inp2:m_else/>
- <inp2:{$prefix}_PredefinedOptions field="$field" no_empty="$no_empty" tabindex="$pass_tabindex" block="inp_checkbox_item" selected="checked"/>
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <inp2:m_if check="{$prefix}_FieldOption" field="$field" option="use_phrases">
+ <inp2:{$prefix}_PredefinedOptions field="$field" no_empty="$no_empty" tabindex="$pass_tabindex" block="inp_checkbox_phrase" selected="checked"/>
+ <inp2:m_else/>
+ <inp2:{$prefix}_PredefinedOptions field="$field" no_empty="$no_empty" tabindex="$pass_tabindex" block="inp_checkbox_item" selected="checked"/>
+ </inp2:m_if>
+ <inp2:m_RenderElement prefix="$prefix" name="inp_edit_hidden" field="$field" db="db"/>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
</inp2:m_if>
- <inp2:m_RenderElement prefix="$prefix" name="inp_edit_hidden" field="$field" db="db"/>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_checkbox_allow_html" is_last="" field_class="" onchange="" onclick="" title="la_enable_html" hint_label="la_Warning_Enable_HTML">
<inp2:m_RenderElement name="inp_edit_checkbox" pass_params="1"/>
- <!--##<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
-
- <td class="control-cell">
- <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"/> class="<inp2:m_param name='field_class'/>" onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field='$field'/>'));<inp2:m_param name='onchange'/>" onclick="<inp2:m_param name='onclick'/>">
- <inp2:m_if check="{$prefix}_HasParam" name="hint_label">
- <span class="hint"><inp2:m_phrase label="$hint_label"/></span>
- </inp2:m_if>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- </tr>##-->
+ <!--##
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
+
+ <td class="control-cell">
+ <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"/> class="<inp2:m_param name='field_class'/>" onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field='$field'/>'));<inp2:m_param name='onchange'/>" onclick="<inp2:m_param name='onclick'/>">
+ <inp2:m_if check="{$prefix}_HasParam" name="hint_label">
+ <span class="hint"><inp2:m_phrase label="$hint_label"/></span>
+ </inp2:m_if>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ </tr>
+ </inp2:m_if>
+ ##-->
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_weight" class="" is_last="" maxlength="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <inp2:m_if check="lang.current_FieldEquals" field="UnitSystem" value="1">
- <input type="text" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>">
- <inp2:m_phrase label="la_kg" />
- </inp2:m_if>
- <inp2:m_if check="lang.current_FieldEquals" field="UnitSystem" value="2">
- <input type="text" name="<inp2:{$prefix}_InputName field='{$field}_a'/>" id="<inp2:{$prefix}_InputName field='{$field}_a'/>" value="<inp2:{$prefix}_Field field='{$field}_a'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>">
- <inp2:m_phrase label="la_lbs" />
- <input type="text" name="<inp2:{$prefix}_InputName field='{$field}_b'/>" id="<inp2:{$prefix}_InputName field='{$field}_b'/>" value="<inp2:{$prefix}_Field field='{$field}_b'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>">
- <inp2:m_phrase label="la_oz" />
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <inp2:m_if check="lang.current_FieldEquals" field="UnitSystem" value="1">
+ <input type="text" name="<inp2:{$prefix}_InputName field='$field'/>" id="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>">
+ <inp2:m_phrase label="la_kg" />
+ </inp2:m_if>
+ <inp2:m_if check="lang.current_FieldEquals" field="UnitSystem" value="2">
+ <input type="text" name="<inp2:{$prefix}_InputName field='{$field}_a'/>" id="<inp2:{$prefix}_InputName field='{$field}_a'/>" value="<inp2:{$prefix}_Field field='{$field}_a'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>">
+ <inp2:m_phrase label="la_lbs" />
+ <input type="text" name="<inp2:{$prefix}_InputName field='{$field}_b'/>" id="<inp2:{$prefix}_InputName field='{$field}_b'/>" value="<inp2:{$prefix}_Field field='{$field}_b'/>" tabindex="<inp2:m_get param='tab_index'/>" size="<inp2:m_param name='size'/>" maxlength="<inp2:m_param name='maxlength'/>" class="<inp2:m_param name='class'/>" onblur="<inp2:m_Param name='onblur'/>">
+ <inp2:m_phrase label="la_oz" />
+ </inp2:m_if>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
+ <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
</inp2:m_if>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- <inp2:m_if check="{$prefix}_DisplayOriginal" pass_params="1">
- <inp2:m_RenderElement prefix="$prefix" field="$field" name="inp_original_label"/>
- </inp2:m_if>
- </tr>
+ </tr>
+ </inp2:m_if>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="inp_edit_minput" style="" format="" allow_add="1" allow_edit="1" allow_delete="1" allow_move="1" title="">
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
+ <td class="control-cell">
+ <table>
+ <tr>
+ <td colspan="2">
+ <input type="button" class="button" style="width: 70px;" value="<inp2:m_Phrase name='la_btn_Add'/>" id="<inp2:$prefix_InputName field='$field'/>_add_button"/>
+ <input type="button" class="button" style="width: 70px;" value="<inp2:m_Phrase name='la_btn_Cancel'/>" id="<inp2:$prefix_InputName field='$field'/>_cancel_button"/>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">
+ <select multiple tabindex="<inp2:m_get param='tab_index'/>" id="<inp2:$prefix_InputName field='$field'/>_minput" style="<inp2:m_Param name='style'/>">
+ </select>
+ </td>
+ <td valign="top">
+ <inp2:m_if check="m_Param" name="allow_edit">
+ <input type="button" class="button" style="width: 100px;" value="<inp2:m_Phrase name='la_btn_Edit'/>" id="<inp2:$prefix_InputName field='$field'/>_edit_button"/><br />
+ <img src="img/spacer.gif" height="4" width="1" alt=""/><br />
+ </inp2:m_if>
+
+ <inp2:m_if check="m_Param" name="allow_delete">
+ <input type="button" class="button" style="width: 100px;" value="<inp2:m_Phrase name='la_btn_Delete'/>" id="<inp2:$prefix_InputName field='$field'/>_delete_button"/><br />
+ </inp2:m_if>
+
+ <inp2:m_if check="m_Param" name="allow_move">
+ <br /><br />
+ <input type="button" class="button" style="width: 100px;" value="<inp2:m_Phrase name='la_btn_MoveUp'/>" id="<inp2:$prefix_InputName field='$field'/>_moveup_button"/><br />
+ <img src="img/spacer.gif" height="4" width="1" alt=""/><br />
+ <input type="button" class="button" style="width: 100px;" value="<inp2:m_Phrase name='la_btn_MoveDown'/>" id="<inp2:$prefix_InputName field='$field'/>_movedown_button"/><br />
+ </inp2:m_if>
+ </td>
+ </tr>
+ <inp2:m_RenderElement name="inp_edit_hidden" prefix="$prefix" field="$field" db="db"/>
+ <script type="text/javascript">
+ var <inp2:m_Param name="field"/> = new MultiInputControl('<inp2:m_Param name="field"/>', '<inp2:{$prefix}_InputName field="#FIELD_NAME#"/>', fields['<inp2:m_Param name="prefix"/>'], '<inp2:m_Param name="format"/>');
+ <inp2:m_Param name="field"/>.ValidateURL = '<inp2:m_Link template="dummy" pass="m,$prefix" {$prefix}_event="OnValidateMInputFields" js_escape="1"/>';
+ <inp2:m_if check="m_Param" name="allow_add">
+ <inp2:m_Param name="field"/>.SetPermission('add', true);
+ </inp2:m_if>
+ <inp2:m_if check="m_Param" name="allow_edit">
+ <inp2:m_Param name="field"/>.SetPermission('edit', true);
+ </inp2:m_if>
+ <inp2:m_if check="m_Param" name="allow_delete">
+ <inp2:m_Param name="field"/>.SetPermission('delete', true);
+ </inp2:m_if>
+ <inp2:m_if check="m_Param" name="allow_move">
+ <inp2:m_Param name="field"/>.SetPermission('move', true);
+ </inp2:m_if>
+ <inp2:m_Param name="field"/>.InitEvents();
+
+ <inp2:m_Param name="field"/>.SetMessage('required_error', '<inp2:m_Phrase name="la_error_required" escape="1"/>');
+ <inp2:m_Param name="field"/>.SetMessage('unique_error', '<inp2:m_Phrase name="la_error_unique" escape="1"/>');
+ <inp2:m_Param name="field"/>.SetMessage('delete_confirm', '<inp2:m_Phrase label="la_Delete_Confirm" escape="1"/>');
+ <inp2:m_Param name="field"/>.SetMessage('add_button', '<inp2:m_Phrase name="la_btn_Add" escape="1"/>');
+ <inp2:m_Param name="field"/>.SetMessage('save_button', '<inp2:m_Phrase name="la_btn_Save" escape="1"/>');
+ </script>
+ </table>
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ </tr>
+ </inp2:m_if>
+</inp2:m_DefineElement>
+
+<inp2:m_DefineElement name="inp_edit_picker" is_last="" has_empty="0" empty_value="" style="width: 225px;" size="15">
+ <inp2:m_if check="{$prefix}_FieldVisible" field="$field">
+ <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
+ <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
+ <td class="control-cell">
+ <table cellpadding="0" cellspacing="0">
+ <tr>
+ <td><strong><inp2:m_Phrase label="la_SelectedItems" /></strong></td>
+ <td>&nbsp;</td>
+ <td><strong><inp2:m_Phrase label="la_AvailableItems" /></strong></td>
+ </tr>
+ <tr>
+ <td>
+ <inp2:m_DefineElement name="picker_option_block">
+ <option value="<inp2:Field name='$key_field' />"><inp2:Field name="$value_field" /></option>
+ </inp2:m_DefineElement>
+
+ <select multiple id="<inp2:$prefix_InputName name='$field' />_selected" style="<inp2:m_param name='style'/>" size="<inp2:m_param name='size'/>">
+ <inp2:$optprefix.selected_PrintList render_as="picker_option_block" key_field="$option_key_field" value_field="$option_value_field" per_page="-1" requery="1" link_to_prefix="$prefix" link_to_field="$field"/>
+ </select>
+ </td>
+ <td align="center">
+ <img src="img/icons/icon_left.gif" id="<inp2:$prefix_InputName name="$field" />_move_left_button"/><br />
+ <img src="img/icons/icon_right.gif" id="<inp2:$prefix_InputName name="$field" />_move_right_button"/>
+ </td>
+ <td>
+ <select multiple id="<inp2:$prefix_InputName name='$field' />_available" style="<inp2:m_param name='style'/>" size="<inp2:m_param name='size'/>">
+ <inp2:$optprefix.available_PrintList render_as="picker_option_block" key_field="$option_key_field" value_field="$option_value_field" requery="1" per_page="-1" link_to_prefix="$prefix" link_to_field="$field"/>
+ </select>
+ </td>
+ </tr>
+ </table>
+
+ <input type="hidden" name="<inp2:$prefix_InputName name='$field' />" id="<inp2:$prefix_InputName name='$field' />" value="<inp2:$prefix_Field field='$field' db='db'/>">
+ <input type="hidden" name="unselected_<inp2:$prefix_InputName name='$field' />" id="<inp2:$prefix_InputName name='$field' />_available_field" value="">
+
+ <script type="text/javascript">
+ <inp2:m_Param name="field"/> = new EditPickerControl('<inp2:m_Param name="field"/>', '<inp2:$prefix_InputName name="$field" />');
+ <inp2:m_Param name="field"/>.SetMessage('nothing_selected', '<inp2:m_Phrase label="la_SelectItemToMove" escape="1"/>');
+ </script>
+
+ </td>
+ <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
+ </tr>
+ </inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="inp_edit_filler" control_options="false">
<tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>" style="height: auto">
<td class="label-cell-filler" ></td>
<td class="control-mid-filler" ></td>
<td class="control-cell-filler">
<div id="form_filler" style="width: 100%; height: 5px; background-color: inherit"></div>
<script type="text/javascript">
Form.addControl('form_filler', <inp2:m_param name="control_options"/>);
</script>
</td>
</tr>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="ajax_progress_bar">
<table width="100%" border="0" cellspacing="0" cellpadding="2" class="tableborder">
<tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
<td colspan="2">
<img src="img/spacer.gif" height="10" width="1" alt="" /><br />
<!-- progress bar paddings: begin -->
<table width="90%" cellpadding="2" cellspacing="0" border="0" align="center">
<tr>
<td class="progress-text">0%</td>
<td width="100%">
<!-- progress bar: begin -->
<table cellspacing="0" cellpadding="0" width="100%" border="0" align="center" style="background-color: #FFFFFF; border: 1px solid #E6E6E6;">
<tr>
<td colspan="3"><img src="img/spacer.gif" height="2" width="1" alt="" /></td>
</tr>
<tr>
<td width="2"><img src="img/spacer.gif" height="13" width="3" alt="" /></td>
<td align="center" width="100%">
<table cellspacing="0" cellpadding="0" width="100%" border="0" style="background: url(img/progress_left.gif) repeat-x;">
<tr>
<td id="progress_bar[done]" style="background: url(img/progress_done.gif);" align="left"></td>
<td id="progress_bar[left]" align="right"><img src="img/spacer.gif" height="9" width="1" alt="" /></td>
</tr>
</table>
</td>
<td width="1"><img src="img/spacer.gif" height="13" width="3" alt="" /></td>
</tr>
<tr>
<td colspan="3"><img src="img/spacer.gif" height="2" width="1" alt="" /></td>
</tr>
</table>
<!-- progress bar: end -->
</td>
<td class="progress-text">100%</td>
</tr>
</table>
<!-- progress bar paddings: end -->
<img src="img/spacer.gif" height="10" width="1" alt="" /><br />
</td>
</tr>
<tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
<td width="50%" align="right"><inp2:m_phrase name="la_fld_PercentsCompleted"/>:</td>
<td id="progress_display[percents_completed]">0%</td>
</tr>
<tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
<td align="right"><inp2:m_phrase name="la_fld_ElapsedTime"/>:</td>
<td id="progress_display[elapsed_time]">00:00</td>
</tr>
<tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
<td align="right"><inp2:m_phrase name="la_fld_EstimatedTime"/>:</td>
<td id="progress_display[Estimated_time]">00:00</td>
</tr>
<tr class="<inp2:m_odd_even odd='table-color1' even='table-color2'/>">
<td align="center" colspan="2">
<input type="button" class="button" onclick="<inp2:m_param name="cancel_action"/>" value="<inp2:m_phrase name="la_Cancel"/>" />
</td>
</tr>
</table>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="edit_navigation" toolbar="a_toolbar">
<inp2:m_if check="{$prefix}_IsTopmostPrefix">
<inp2:m_if check="{$prefix}_IsSingle">
<inp2:m_param name="toolbar"/>.HideButton('prev');
<inp2:m_param name="toolbar"/>.HideButton('next');
<inp2:m_else/>
<inp2:m_if check="{$prefix}_IsLast">
<inp2:m_param name="toolbar"/>.DisableButton('next');
</inp2:m_if>
<inp2:m_if check="{$prefix}_IsFirst">
<inp2:m_param name="toolbar"/>.DisableButton('prev');
</inp2:m_if>
</inp2:m_if>
</inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="tabs_container" tabs_render_as="">
<table cellpadding="0" style="width: 100%;" cellspacing="0" cellpadding="0">
<tr>
<td style="width: 20px;">
<img src="<inp2:m_TemplatesBase/>/img/spacer.gif" width="20" height="0" alt=""/><br/>
<a href="#" class="scroll-left disabled"></a>
</td>
<td height="23" align="right">
<div id="tab-measure" style="display: none; width: 100%; height: 23px;">&nbsp;</div>
<div style="overflow: hidden; height: 23px;" class="tab-viewport">
<table class="tabs" cellpadding="0" cellspacing="0" height="23">
<tr>
<inp2:m_RenderElement name="$tabs_render_as" pass_params="1"/>
</tr>
</table>
</div>
</td>
<td style="width: 20px;">
<img src="<inp2:m_TemplatesBase/>/img/spacer.gif" width="20" height="0" alt=""/><br/>
<a href="#" class="scroll-right disabled"></a>
</td>
</tr>
</table>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="edit_tabs_element">
<inp2:m_DefineElement name="edit_tab">
<inp2:m_RenderElement name="tab" title="$title" t="$template" main_prefix="$PrefixSpecial"/>
</inp2:m_DefineElement>
<inp2:{$prefix}_PrintEditTabs render_as="edit_tab" preset_name="$preset_name"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="edit_tabs" preset_name="Default">
<inp2:m_if check="{$prefix}_HasEditTabs" preset_name="$preset_name">
<inp2:m_RenderElement name="tabs_container" tabs_render_as="edit_tabs_element" pass_params="1"/>
</inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="ml_selector" prefix="" field="Translated">
<inp2:m_if check="lang_IsMultiLanguage">
<td align="right" style="padding-right: 5px;">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td align="right">
<inp2:m_phrase name="la_fld_Language"/>:
<select name="language" onchange="submit_event('<inp2:m_param name='prefix'/>', 'OnPreSaveAndChangeLanguage');">
<inp2:m_DefineElement name="lang_elem">
<option value="<inp2:Field name='LanguageId'/>" <inp2:m_if check="SelectedLanguage">selected="selected"</inp2:m_if> ><inp2:Field name="LocalName" no_special='no_special' /></option>
</inp2:m_DefineElement>
<inp2:lang_PrintList render_as="lang_elem"/>
</select>
</td>
</tr>
<tr>
<td align="right">
<inp2:m_if check="lang_IsPrimaryLanguage">
<input type="hidden" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" value="1">
<input type="checkbox" disabled id="_cb_<inp2:{$prefix}_InputName field='$field'/>" name="_cb_<inp2:{$prefix}_InputName field='$field'/>" checked="checked"/>
<inp2:m_else/>
<input type="hidden" id="<inp2:{$prefix}_InputName field='$field'/>" name="<inp2:{$prefix}_InputName field='$field'/>" value="<inp2:{$prefix}_Field field='$field'/>">
<input type="checkbox" id="_cb_<inp2:{$prefix}_InputName field='$field'/>" name="_cb_<inp2:{$prefix}_InputName field='$field'/>" <inp2:{$prefix}_Field field="$field" checked="checked"/> onchange="update_checkbox(this, document.getElementById('<inp2:{$prefix}_InputName field='$field'/>'));" />
</inp2:m_if>
<label for="_cb_<inp2:{$prefix}_InputName field='$field'/>"><inp2:m_Phrase label="la_Translated"/></label>
</td>
</tr>
<tr>
<td align="right" style="vertical-align: bottom; padding: 2px 0px 5px 2px;">
<span style="color: red">*</span>&nbsp;<span class="req-note"><inp2:m_Phrase name="la_text_RequiredFields"/></span>
</td>
</tr>
</table>
</td>
<inp2:m_else/>
<td align="right" style="vertical-align: bottom; padding: 2px 5px 5px 2px;">
<span style="color: red">*</span>&nbsp;<span class="req-note"><inp2:m_Phrase name="la_text_RequiredFields"/></span>
</td>
</inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="form_error_warning">
<table width="100%" border="0" cellspacing="0" cellpadding="4" class="warning-table">
<tr>
<td valign="top" class="form-warning">
<inp2:m_phrase name="la_Warning_NewFormError"/><br/>
<span id="error_msg_<inp2:m_Param name='prefix'/>" style="font-weight: bold"><br/></span>
</td>
</tr>
</table>
</inp2:m_DefineElement>
-
-<inp2:m_DefineElement name="inp_edit_minput" style="" format="" allow_add="1" allow_edit="1" allow_delete="1" allow_move="1" title="">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title"/>
- <td class="control-cell">
- <table>
- <tr>
- <td colspan="2">
- <input type="button" class="button" style="width: 70px;" value="<inp2:m_Phrase name='la_btn_Add'/>" id="<inp2:$prefix_InputName field='$field'/>_add_button"/>
- <input type="button" class="button" style="width: 70px;" value="<inp2:m_Phrase name='la_btn_Cancel'/>" id="<inp2:$prefix_InputName field='$field'/>_cancel_button"/>
- </td>
- </tr>
- <tr>
- <td valign="top">
- <select multiple tabindex="<inp2:m_get param='tab_index'/>" id="<inp2:$prefix_InputName field='$field'/>_minput" style="<inp2:m_Param name='style'/>">
- </select>
- </td>
- <td valign="top">
- <inp2:m_if check="m_Param" name="allow_edit">
- <input type="button" class="button" style="width: 100px;" value="<inp2:m_Phrase name='la_btn_Edit'/>" id="<inp2:$prefix_InputName field='$field'/>_edit_button"/><br />
- <img src="img/spacer.gif" height="4" width="1" alt=""/><br />
- </inp2:m_if>
-
- <inp2:m_if check="m_Param" name="allow_delete">
- <input type="button" class="button" style="width: 100px;" value="<inp2:m_Phrase name='la_btn_Delete'/>" id="<inp2:$prefix_InputName field='$field'/>_delete_button"/><br />
- </inp2:m_if>
-
- <inp2:m_if check="m_Param" name="allow_move">
- <br /><br />
- <input type="button" class="button" style="width: 100px;" value="<inp2:m_Phrase name='la_btn_MoveUp'/>" id="<inp2:$prefix_InputName field='$field'/>_moveup_button"/><br />
- <img src="img/spacer.gif" height="4" width="1" alt=""/><br />
- <input type="button" class="button" style="width: 100px;" value="<inp2:m_Phrase name='la_btn_MoveDown'/>" id="<inp2:$prefix_InputName field='$field'/>_movedown_button"/><br />
- </inp2:m_if>
- </td>
- </tr>
- <inp2:m_RenderElement name="inp_edit_hidden" prefix="$prefix" field="$field" db="db"/>
- <script type="text/javascript">
- var <inp2:m_Param name="field"/> = new MultiInputControl('<inp2:m_Param name="field"/>', '<inp2:{$prefix}_InputName field="#FIELD_NAME#"/>', fields['<inp2:m_Param name="prefix"/>'], '<inp2:m_Param name="format"/>');
- <inp2:m_Param name="field"/>.ValidateURL = '<inp2:m_Link template="dummy" pass="m,$prefix" {$prefix}_event="OnValidateMInputFields" js_escape="1"/>';
- <inp2:m_if check="m_Param" name="allow_add">
- <inp2:m_Param name="field"/>.SetPermission('add', true);
- </inp2:m_if>
- <inp2:m_if check="m_Param" name="allow_edit">
- <inp2:m_Param name="field"/>.SetPermission('edit', true);
- </inp2:m_if>
- <inp2:m_if check="m_Param" name="allow_delete">
- <inp2:m_Param name="field"/>.SetPermission('delete', true);
- </inp2:m_if>
- <inp2:m_if check="m_Param" name="allow_move">
- <inp2:m_Param name="field"/>.SetPermission('move', true);
- </inp2:m_if>
- <inp2:m_Param name="field"/>.InitEvents();
-
- <inp2:m_Param name="field"/>.SetMessage('required_error', '<inp2:m_Phrase name="la_error_required" escape="1"/>');
- <inp2:m_Param name="field"/>.SetMessage('unique_error', '<inp2:m_Phrase name="la_error_unique" escape="1"/>');
- <inp2:m_Param name="field"/>.SetMessage('delete_confirm', '<inp2:m_Phrase label="la_Delete_Confirm" escape="1"/>');
- <inp2:m_Param name="field"/>.SetMessage('add_button', '<inp2:m_Phrase name="la_btn_Add" escape="1"/>');
- <inp2:m_Param name="field"/>.SetMessage('save_button', '<inp2:m_Phrase name="la_btn_Save" escape="1"/>');
- </script>
- </table>
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- </tr>
-</inp2:m_DefineElement>
-
-<inp2:m_DefineElement name="inp_edit_picker" is_last="" has_empty="0" empty_value="" style="width: 225px;" size="15">
- <tr class="<inp2:m_odd_even odd='edit-form-odd' even='edit-form-even'/>">
- <inp2:m_RenderElement name="inp_edit_field_caption" prefix="$prefix" field="$field" title="$title" is_last="$is_last"/>
- <td class="control-cell">
- <table cellpadding="0" cellspacing="0">
- <tr>
- <td><strong><inp2:m_Phrase label="la_SelectedItems" /></strong></td>
- <td>&nbsp;</td>
- <td><strong><inp2:m_Phrase label="la_AvailableItems" /></strong></td>
- </tr>
- <tr>
- <td>
- <inp2:m_DefineElement name="picker_option_block">
- <option value="<inp2:Field name='$key_field' />"><inp2:Field name="$value_field" /></option>
- </inp2:m_DefineElement>
-
- <select multiple id="<inp2:$prefix_InputName name='$field' />_selected" style="<inp2:m_param name='style'/>" size="<inp2:m_param name='size'/>">
- <inp2:$optprefix.selected_PrintList render_as="picker_option_block" key_field="$option_key_field" value_field="$option_value_field" per_page="-1" requery="1" link_to_prefix="$prefix" link_to_field="$field"/>
- </select>
- </td>
- <td align="center">
- <img src="img/icons/icon_left.gif" id="<inp2:$prefix_InputName name="$field" />_move_left_button"/><br />
- <img src="img/icons/icon_right.gif" id="<inp2:$prefix_InputName name="$field" />_move_right_button"/>
- </td>
- <td>
- <select multiple id="<inp2:$prefix_InputName name='$field' />_available" style="<inp2:m_param name='style'/>" size="<inp2:m_param name='size'/>">
- <inp2:$optprefix.available_PrintList render_as="picker_option_block" key_field="$option_key_field" value_field="$option_value_field" requery="1" per_page="-1" link_to_prefix="$prefix" link_to_field="$field"/>
- </select>
- </td>
- </tr>
- </table>
-
- <input type="hidden" name="<inp2:$prefix_InputName name='$field' />" id="<inp2:$prefix_InputName name='$field' />" value="<inp2:$prefix_Field field='$field' db='db'/>">
- <input type="hidden" name="unselected_<inp2:$prefix_InputName name='$field' />" id="<inp2:$prefix_InputName name='$field' />_available_field" value="">
-
- <script type="text/javascript">
- <inp2:m_Param name="field"/> = new EditPickerControl('<inp2:m_Param name="field"/>', '<inp2:$prefix_InputName name="$field" />');
- <inp2:m_Param name="field"/>.SetMessage('nothing_selected', '<inp2:m_Phrase label="la_SelectItemToMove" escape="1"/>');
- </script>
-
- </td>
- <inp2:m_RenderElement name="inp_edit_error" pass_params="1"/>
- </tr>
-</inp2:m_DefineElement>
Property changes on: branches/RC/core/admin_templates/incs/form_blocks.tpl
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.20.2.38
\ No newline at end of property
+1.20.2.39
\ No newline at end of property
Index: branches/RC/core/admin_templates/incs/custom_blocks.tpl
===================================================================
--- branches/RC/core/admin_templates/incs/custom_blocks.tpl (revision 11684)
+++ branches/RC/core/admin_templates/incs/custom_blocks.tpl (revision 11685)
@@ -1,152 +1,152 @@
<inp2:m_DefineElement name="config_edit_text">
<input type="text" name="<inp2:CustomInputName/>" id="<inp2:CustomInputName/>" value="<inp2:Field field="$field"/>" <inp2:m_param name="field_params" />/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="config_edit_password">
<input type="password" primarytype="password" name="<inp2:CustomInputName/>" id="<inp2:CustomInputName/>" value="" />
<input type="password" name="verify_<inp2:CustomInputName/>" id="verify_<inp2:CustomInputName/>" value="" />
&nbsp;<span class="error" id="error_<inp2:CustomInputName/>"></span>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="config_edit_option">
<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="config_edit_select">
<select name="<inp2:CustomInputName/>">
<inp2:PredefinedOptions field="$field" block="config_edit_option" selected="selected"/>
</select>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="config_edit_multiselect">
<select id="<inp2:CustomInputName/>_select" onchange="update_multiple_options('<inp2:CustomInputName/>');" multiple>
<inp2:PredefinedOptions field="$field" block="config_edit_option" selected="selected"/>
</select>
<input type="hidden" id="<inp2:CustomInputName/>" name="<inp2:CustomInputName/>" value="<inp2:Field field="$field"/>"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="config_edit_checkbox">
<input type="hidden" id="<inp2:CustomInputName/>" name="<inp2:CustomInputName/>" value="<inp2:Field field="$field" db="db"/>">
<input tabindex="<inp2:m_get param="tab_index"/>" type="checkbox" id="_cb_<inp2:m_param name="field"/>" name="_cb_<inp2:m_param name="field"/>" <inp2:Field field="$field" checked="checked" db="db"/> onclick="update_checkbox(this, document.getElementById('<inp2:CustomInputName/>'))">
</inp2:m_DefineElement>
<inp2:m_DefineElement name="config_edit_textarea">
<textarea name="<inp2:CustomInputName/>" id="<inp2:CustomInputName/>" <inp2:m_param name="field_params" />><inp2:Field field="$field" /></textarea>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="config_radio_item">
<input type="radio" <inp2:m_param name="checked"/> name="<inp2:CustomInputName/>" id="<inp2:CustomInputName/>_<inp2:m_param name="key"/>" value="<inp2:m_param name="key"/>"><label for="<inp2:CustomInputName/>_<inp2:m_param name="key"/>"><inp2:m_param name="option"/></label>&nbsp;
</inp2:m_DefineElement>
<inp2:m_DefineElement name="config_edit_radio">
<inp2:PredefinedOptions field="$field" block="config_radio_item" selected="checked"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="config_edit_date">
<input type="text" name="<inp2:CustomInputName append="_date"/>" id="<inp2:CustomInputName append="_date"/>" value="<inp2:CustomField append="_date" format="_regional_InputDateFormat"/>" size="<inp2:CustomFormat append="_date" input_format="1" edit_size="edit_size"/>" datepickerIcon="<inp2:m_ProjectBase/>admin/images/ddarrow.gif">&nbsp;
<img src="img/calendar_icon.gif" id="cal_img_<inp2:CustomInputName/>"
style="cursor: pointer; margin-right: 5px"
title="Date selector"
/>
<span class="small">(<inp2:CustomFormat append="_date" input_format="1" human="true"/>)</span>
<script type="text/javascript">
Calendar.setup({
inputField : "<inp2:CustomInputName append="_date"/>",
ifFormat : Calendar.phpDateFormat("<inp2:CustomFormat append="_date" input_format="1"/>"),
button : "cal_img_<inp2:CustomInputName/>",
align : "br",
singleClick : true,
showsTime : true,
weekNumbers : false,
firstDay : <inp2:m_GetConfig var="FirstDayOfWeek"/>,
onUpdate : function(cal) {
runOnChange('<inp2:CustomInputName append="_date"/>');
}
});
</script>
<input type="hidden" name="<inp2:CustomInputName append="_time"/>" value="">
</inp2:m_DefineElement>
<inp2:m_DefineElement name="config_edit_datetime">
<input type="text" name="<inp2:CustomInputName append="_date"/>" id="<inp2:CustomInputName append="_date"/>" value="<inp2:CustomField append="_date" format="_regional_InputDateFormat"/>" size="<inp2:CustomFormat append="_date" input_format="1" edit_size="edit_size"/>" datepickerIcon="<inp2:m_ProjectBase/>admin/images/ddarrow.gif">&nbsp;
<img src="img/calendar_icon.gif" id="cal_img_<inp2:CustomInputName/>"
style="cursor: pointer; margin-right: 5px"
title="Date selector"
/>
<span class="small">(<inp2:CustomFormat append="_date" input_format="1" human="true"/>)</span>
<input type="hidden" id="full_date_<inp2:CustomInputName/>" value="<inp2:CustomField format=""/>" />
<script type="text/javascript">
Calendar.setup({
inputField : "full_date_<inp2:CustomInputName/>",
ifFormat : Calendar.phpDateFormat("<inp2:CustomFormat input_format="1"/>"),
button : "cal_img_<inp2:CustomInputName/>",
align : "br",
singleClick : true,
showsTime : true,
weekNumbers : false,
firstDay : <inp2:m_GetConfig var="FirstDayOfWeek"/>,
onUpdate : function(cal) {
document.getElementById('<inp2:CustomInputName append="_date"/>').value = cal.date.print( Calendar.phpDateFormat("<inp2:CustomFormat append="_date" input_format="1"/>") );
document.getElementById('<inp2:CustomInputName append="_time"/>').value = cal.date.print( Calendar.phpDateFormat("<inp2:CustomFormat append="_time" input_format="1"/>") );
}
});
</script>
&nbsp;<input type="text" name="<inp2:CustomInputName append="_time"/>" id="<inp2:CustomInputName append="_time"/>" value="<inp2:CustomField append="_time" format="_regional_InputTimeFormat"/>" size="<inp2:CustomFormat append="_time" input_format="1" edit_size="edit_size"/>"><span class="small"> (<inp2:CustomFormat append="_time" input_format="1" human="true"/>)</span>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="cv_row_block">
<inp2:m_if check="m_ParamEquals" name="show_heading" value="1">
<tr class="subsectiontitle">
- <td colspan="4">
+ <td colspan="3">
<inp2:Field name="Heading" as_label="1"/>
</td>
<inp2:m_if check="{$SourcePrefix}_DisplayOriginal" pass_params="1">
<td><inp2:m_phrase name="$original_title"/></td>
</inp2:m_if>
</tr>
</inp2:m_if>
<tr class="<inp2:m_odd_even odd="edit-form-odd" even="edit-form-even"/>">
<inp2:m_inc param="tab_index" by="1"/>
<td class="label-cell" onmouseover="show_form_error('<inp2:m_Param name="SourcePrefix" js_escape="1"/>', '<inp2:m_Param name="virtual_field" js_escape="1"/>')" onmouseout="hide_form_error('<inp2:m_Param name="SourcePrefix" js_escape="1"/>')">
<inp2:m_RenderElement name="grid_data_label_ml_td" grid="$grid" SourcePrefix="$SourcePrefix" virtual_field="$virtual_field" value_field="$value_field" ElementTypeField="ElementType" field="Prompt" PrefixSpecial="$PrefixSpecial"/>
</td>
<td class="control-mid">&nbsp;</td>
<script type="text/javascript">
if (typeof(fields['<inp2:m_Param name="SourcePrefix" js_escape="1"/>']) == 'undefined') {
fields['<inp2:m_Param name="SourcePrefix" js_escape="1"/>'] = new Object();
}
fields['<inp2:m_Param name="SourcePrefix" js_escape="1"/>']['<inp2:m_Param name="virtual_field" js_escape="1"/>'] = '<inp2:{$PrefixSpecial}_Field field="Prompt" grid="$grid" as_label="1" no_special="no_special" js_escape="1"/>'
</script>
<td class="control-cell" valign="top">
<inp2:ConfigFormElement field="Value" blocks_prefix="config_edit_" element_type_field="ElementType" value_list_field="ValueList" />
</td>
<inp2:m_RenderElement name="inp_edit_error" prefix="$SourcePrefix" field="$virtual_field"/>
<inp2:m_if check="{$SourcePrefix}_DisplayOriginal" pass_params="1">
<inp2:m_RenderElement prefix="$SourcePrefix" field="$field" name="inp_original_label"/>
</inp2:m_if>
</tr>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="edit_custom_td">
<inp2:ConfigFormElement field="Value" blocks_prefix="config_edit_" element_type_field="ElementType" value_list_field="ValueList" />
</inp2:m_DefineElement>
<inp2:m_DefineElement name="custom_error_td">
<inp2:$SourcePrefix_Error field="$virtual_field"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_original_td" >
<inp2:Field field="$field" grid="$grid"/>
</inp2:m_DefineElement>
<!--<inp2:m_DefineElement name="edit_custom_td">
<td valign="top" class="text">
<input type="hidden" name="<inp2:InputName field="ResourceId"/>" id="<inp2:InputName field="ResourceId"/>" value="<inp2:Field field="ResourceId" grid="$grid"/>">
<input type="hidden" name="<inp2:InputName field="CustomDataId"/>" id="<inp2:InputName field="CustomDataId"/>" value="<inp2:Field field="CustomDataId" grid="$grid"/>">
<inp2:ConfigFormElement field="Value" blocks_prefix="config_edit_" element_type_field="ElementType" value_list_field="ValueList" />
</td>
</inp2:m_DefineElement>-->
\ No newline at end of file
Property changes on: branches/RC/core/admin_templates/incs/custom_blocks.tpl
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.13.2.2
\ No newline at end of property
+1.13.2.3
\ No newline at end of property
Index: branches/RC/core/install/upgrades.sql
===================================================================
--- branches/RC/core/install/upgrades.sql (revision 11684)
+++ branches/RC/core/install/upgrades.sql (revision 11685)
@@ -1,1318 +1,1320 @@
# ===== v 4.0.1 =====
ALTER TABLE EmailLog ADD EventParams TEXT NOT NULL;
INSERT INTO ConfigurationAdmin VALUES ('MailFunctionHeaderSeparator', 'la_Text_smtp_server', 'la_config_MailFunctionHeaderSeparator', 'radio', NULL, '1=la_Linux,2=la_Windows', 30.08, 0, 0);
INSERT INTO ConfigurationValues VALUES (0, 'MailFunctionHeaderSeparator', 1, 'In-Portal', 'in-portal:configure_general');
ALTER TABLE PersistantSessionData DROP PRIMARY KEY ;
ALTER TABLE PersistantSessionData ADD INDEX ( `PortalUserId` ) ;
# ===== v 4.1.0 =====
ALTER TABLE EmailMessage ADD ReplacementTags TEXT AFTER Template;
ALTER TABLE Phrase
CHANGE Translation Translation TEXT NOT NULL,
CHANGE Module Module VARCHAR(30) NOT NULL DEFAULT 'In-Portal';
ALTER TABLE Category
CHANGE Description Description TEXT,
CHANGE l1_Description l1_Description TEXT,
CHANGE l2_Description l2_Description TEXT,
CHANGE l3_Description l3_Description TEXT,
CHANGE l4_Description l4_Description TEXT,
CHANGE l5_Description l5_Description TEXT,
CHANGE CachedNavbar CachedNavbar text,
CHANGE l1_CachedNavbar l1_CachedNavbar text,
CHANGE l2_CachedNavbar l2_CachedNavbar text,
CHANGE l3_CachedNavbar l3_CachedNavbar text,
CHANGE l4_CachedNavbar l4_CachedNavbar text,
CHANGE l5_CachedNavbar l5_CachedNavbar text,
CHANGE ParentPath ParentPath TEXT NULL DEFAULT NULL,
CHANGE NamedParentPath NamedParentPath TEXT NULL DEFAULT NULL;
ALTER TABLE ConfigurationAdmin CHANGE ValueList ValueList TEXT;
ALTER TABLE EmailQueue
CHANGE `Subject` `Subject` TEXT,
CHANGE toaddr toaddr TEXT,
CHANGE fromaddr fromaddr TEXT;
ALTER TABLE Category DROP Pop;
ALTER TABLE PortalUser
CHANGE CreatedOn CreatedOn INT DEFAULT NULL,
CHANGE dob dob INT(11) NULL DEFAULT NULL,
CHANGE PassResetTime PassResetTime INT(11) UNSIGNED NULL DEFAULT NULL,
CHANGE PwRequestTime PwRequestTime INT(11) UNSIGNED NULL DEFAULT NULL,
CHANGE `Password` `Password` VARCHAR(255) NULL DEFAULT 'd41d8cd98f00b204e9800998ecf8427e';
ALTER TABLE Modules
CHANGE BuildDate BuildDate INT UNSIGNED NULL DEFAULT NULL,
CHANGE Version Version VARCHAR(10) NOT NULL DEFAULT '0.0.0',
CHANGE `Var` `Var` VARCHAR(100) NOT NULL DEFAULT '';
ALTER TABLE Language
CHANGE Enabled Enabled INT(11) NOT NULL DEFAULT '1',
CHANGE InputDateFormat InputDateFormat VARCHAR(50) NOT NULL DEFAULT 'm/d/Y',
CHANGE InputTimeFormat InputTimeFormat VARCHAR(50) NOT NULL DEFAULT 'g:i:s A',
CHANGE DecimalPoint DecimalPoint VARCHAR(10) NOT NULL DEFAULT '',
CHANGE ThousandSep ThousandSep VARCHAR(10) NOT NULL DEFAULT '';
ALTER TABLE Events CHANGE FromUserId FromUserId INT(11) NOT NULL DEFAULT '-1';
ALTER TABLE StdDestinations CHANGE DestAbbr2 DestAbbr2 CHAR(2) NULL DEFAULT NULL;
ALTER TABLE PermCache DROP DACL;
ALTER TABLE PortalGroup CHANGE CreatedOn CreatedOn INT UNSIGNED NULL DEFAULT NULL;
ALTER TABLE UserSession
CHANGE SessionKey SessionKey INT UNSIGNED NULL DEFAULT NULL ,
CHANGE CurrentTempKey CurrentTempKey INT UNSIGNED NULL DEFAULT NULL ,
CHANGE PrevTempKey PrevTempKey INT UNSIGNED NULL DEFAULT NULL ,
CHANGE LastAccessed LastAccessed INT UNSIGNED NOT NULL DEFAULT '0',
CHANGE PortalUserId PortalUserId INT(11) NOT NULL DEFAULT '-2',
CHANGE Language Language INT(11) NOT NULL DEFAULT '1',
CHANGE Theme Theme INT(11) NOT NULL DEFAULT '1';
CREATE TABLE Counters (
CounterId int(10) unsigned NOT NULL auto_increment,
Name varchar(100) NOT NULL default '',
CountQuery text,
CountValue text,
LastCounted int(10) unsigned default NULL,
LifeTime int(10) unsigned NOT NULL default '3600',
IsClone tinyint(3) unsigned NOT NULL default '0',
TablesAffected text,
PRIMARY KEY (CounterId),
UNIQUE KEY Name (Name)
);
CREATE TABLE Skins (
`SkinId` int(11) NOT NULL auto_increment,
`Name` varchar(255) default NULL,
`CSS` text,
`Logo` varchar(255) default NULL,
`Options` text,
`LastCompiled` int(11) NOT NULL default '0',
`IsPrimary` int(1) NOT NULL default '0',
PRIMARY KEY (`SkinId`)
);
INSERT INTO Skins VALUES (DEFAULT, 'Default', '/* General elements */\r\n\r\nhtml {\r\n height: 100%;\r\n}\r\n\r\nbody {\r\n font-family: verdana,arial,helvetica,sans-serif;\r\n font-size: 9pt;\r\n color: #000000;\r\n overflow-x: auto; overflow-y: auto;\r\n margin: 0px 0px 0px 0px;\r\n text-decoration: none;\r\n}\r\n\r\na {\r\n color: #006699;\r\n text-decoration: none;\r\n}\r\n\r\na:hover {\r\n color: #009ff0;\r\n text-decoration: none;\r\n}\r\n\r\nform {\r\n display: inline;\r\n}\r\n\r\nimg { border: 0px; }\r\n\r\nbody.height-100 {\r\n height: 100%;\r\n}\r\n\r\nbody.regular-body {\r\n margin: 0px 10px 5px 10px;\r\n color: #000000;\r\n background-color: @@SectionBgColor@@;\r\n}\r\n\r\nbody.edit-popup {\r\n margin: 0px 0px 0px 0px;\r\n}\r\n\r\ntable.collapsed {\r\n border-collapse: collapse;\r\n}\r\n\r\n.bordered, table.bordered, .bordered-no-bottom {\r\n border: 1px solid #000000;\r\n border-collapse: collapse;\r\n}\r\n\r\n.bordered-no-bottom {\r\n border-bottom: none;\r\n}\r\n\r\n.login-table td {\r\n padding: 1px;\r\n}\r\n\r\n.disabled {\r\n background-color: #ebebeb;\r\n}\r\n\r\n/* Head frame */\r\n.head-table tr td {\r\n background-color: @@HeadBgColor@@;\r\n color: @@HeadColor@@\r\n}\r\n\r\ntd.kx-block-header, .head-table tr td.kx-block-header{\r\n color: @@HeadBarColor@@;\r\n background-color: @@HeadBarBgColor@@;\r\n padding-left: 7px;\r\n padding-right: 7px;\r\n}\r\n\r\na.kx-header-link {\r\n text-decoration: underline;\r\n color: #FFFFFF;\r\n}\r\n\r\na.kx-header-link:hover {\r\n color: #FFCB05;\r\n text-decoration: none;\r\n}\r\n\r\n.kx-secondary-foreground {\r\n color: @@HeadBarColor@@;\r\n background-color: @@HeadBarBgColor@@;\r\n}\r\n\r\n.kx-login-button {\r\n background-color: #2D79D6;\r\n color: #FFFFFF;\r\n}\r\n\r\n/* General form button (yellow) */\r\n.button {\r\n font-size: 12px;\r\n font-weight: normal;\r\n color: #000000;\r\n background: url(@@base_url@@/proj-base/admin_templates/img/button_back.gif) #f9eeae repeat-x;\r\n text-decoration: none;\r\n}\r\n\r\n/* Disabled (grayed-out) form button */\r\n.button-disabled {\r\n font-size: 12px;\r\n font-weight: normal;\r\n color: #676767;\r\n background: url(@@base_url@@/proj-base/admin_templates/img/button_back_disabled.gif) #f9eeae repeat-x;\r\n text-decoration: none;\r\n}\r\n\r\n/* Tabs bar */\r\n\r\n.tab, .tab-active {\r\n background-color: #F0F1EB;\r\n padding: 3px 7px 2px 7px;\r\n border-top: 1px solid black;\r\n border-left: 1px solid black;\r\n border-right: 1px solid black;\r\n}\r\n\r\n.tab-active {\r\n background-color: #2D79D6;\r\n border-bottom: 1px solid #2D79D6;\r\n}\r\n\r\n.tab a {\r\n color: #00659C;\r\n font-weight: bold;\r\n}\r\n\r\n.tab-active a {\r\n color: #fff;\r\n font-weight: bold;\r\n}\r\n\r\n\r\n/* Toolbar */\r\n\r\n.toolbar {\r\n font-size: 8pt;\r\n border: 1px solid #000000;\r\n border-width: 0px 1px 1px 1px;\r\n background-color: @@ToolbarBgColor@@;\r\n border-collapse: collapse;\r\n}\r\n\r\n.toolbar td {\r\n height: 100%;\r\n}\r\n\r\n.toolbar-button, .toolbar-button-disabled, .toolbar-button-over {\r\n float: left;\r\n text-align: center;\r\n font-size: 8pt;\r\n padding: 5px 5px 5px 5px;\r\n vertical-align: middle;\r\n color: #006F99;\r\n}\r\n\r\n.toolbar-button-over {\r\n color: #000;\r\n}\r\n\r\n.toolbar-button-disabled {\r\n color: #444;\r\n}\r\n\r\n/* Scrollable Grids */\r\n\r\n\r\n/* Main Grid class */\r\n.grid-scrollable {\r\n padding: 0px;\r\n border: 1px solid black !important;\r\n border-top: none !important;\r\n}\r\n\r\n/* Div generated by js, which contains all the scrollable grid elements, affects the style of scrollable area without data (if there are too few rows) */\r\n.grid-container {\r\n background-color: #fff;\r\n}\r\n\r\n.grid-container table {\r\n border-collapse: collapse;\r\n}\r\n\r\n/* Inner div generated in each data-cell */\r\n.grid-cell-div {\r\n overflow: hidden;\r\n height: auto;\r\n}\r\n\r\n/* Main row definition */\r\n.grid-data-row td, .grid-data-row-selected td, .grid-data-row-even-selected td, .grid-data-row-mouseover td, .table-color1, .table-color2 {\r\n font-weight: normal;\r\n color: @@OddColor@@;\r\n background-color: @@OddBgColor@@;\r\n padding: 3px 5px 3px 5px;\r\n height: 30px;\r\n overflow: hidden;\r\n /* border-right: 1px solid black; */\r\n}\r\n.grid-data-row-even td, .table-color2 {\r\n background-color: @@EvenBgColor@@;\r\n color: @@EvenColor@@;\r\n}\r\n.grid-data-row td a, .grid-data-row-selected td a, .grid-data-row-mouseover td a {\r\n text-decoration: underline;\r\n}\r\n\r\n/* mouse-over rows */\r\n.grid-data-row-mouseover td {\r\n background: #FFFDF4;\r\n}\r\n\r\n/* Selected row, applies to both checkbox and data areas */\r\n.grid-data-row-selected td {\r\n background: #FEF2D6;\r\n}\r\n\r\n.grid-data-row-even-selected td {\r\n background: #FFF7E0;\r\n}\r\n\r\n/* General header cell definition */\r\n.grid-header-row td {\r\n font-weight: bold;\r\n background-color: @@ColumnTitlesBgColor@@;\r\n text-decoration: none;\r\n padding: 3px 5px 3px 5px;\r\n color: @@ColumnTitlesColor@@;\r\n border-right: none;\r\n text-align: left;\r\n vertical-align: middle !important;\r\n white-space: nowrap;\r\n /* border-right: 1px solid black; */\r\n}\r\n\r\n/* Filters row */\r\ntr.grid-header-row-0 td {\r\n background-color: @@FiltersBgColor@@;\r\n border-bottom: 1px solid black;\r\n}\r\n\r\n/* Grid Filters */\r\ntable.range-filter {\r\n width: 100%;\r\n}\r\n\r\n.range-filter td {\r\n padding: 0px 0px 2px 2px !important;\r\n border: none !important;\r\n font-size: 8pt !important;\r\n font-weight: normal !important;\r\n text-align: left;\r\n color: #000000 !important;\r\n}\r\n\r\ninput.filter, select.filter {\r\n margin-bottom: 0px;\r\n width: 85%;\r\n}\r\n\r\ninput.filter-active {\r\n background-color: #FFFF00;\r\n}\r\n\r\nselect.filter-active {\r\n background-color: #FFFF00;\r\n}\r\n\r\n/* Column titles row */\r\ntr.grid-header-row-1 td {\r\n height: 25px;\r\n font-weight: bold;\r\n background-color: @@ColumnTitlesBgColor@@;\r\n color: @@ColumnTitlesColor@@;\r\n}\r\n\r\ntr.grid-header-row-1 td a {\r\n color: @@ColumnTitlesColor@@;\r\n}\r\n\r\ntr.grid-header-row-1 td a:hover {\r\n color: #FFCC00;\r\n}\r\n\r\n\r\n.grid-footer-row td {\r\n background-color: #D7D7D7;\r\n font-weight: bold;\r\n border-right: none;\r\n padding: 3px 5px 3px 5px;\r\n}\r\n\r\ntd.grid-header-last-cell, td.grid-data-last-cell, td.grid-footer-last-cell {\r\n border-right: none !important;\r\n}\r\n\r\ntd.grid-data-col-0, td.grid-data-col-0 div {\r\n text-align: center;\r\n vertical-align: middle !important;\r\n}\r\n\r\ntr.grid-header-row-0 td.grid-header-col-0 {\r\n text-align: center;\r\n vertical-align: middle !important;\r\n}\r\n\r\ntr.grid-header-row-0 td.grid-header-col-0 div {\r\n display: table-cell;\r\n vertical-align: middle;\r\n}\r\n\r\n.grid-status-bar {\r\n border: 1px solid black;\r\n border-top: none;\r\n padding: 0px;\r\n width: 100%;\r\n border-collapse: collapse;\r\n height: 30px;\r\n}\r\n\r\n.grid-status-bar td {\r\n background-color: @@TitleBarBgColor@@;\r\n color: @@TitleBarColor@@;\r\n font-size: 11pt;\r\n font-weight: normal;\r\n padding: 2px 8px 2px 8px;\r\n}\r\n\r\n/* /Scrollable Grids */\r\n\r\n\r\n/* Forms */\r\ntable.edit-form {\r\n border: none;\r\n border-top-width: 0px;\r\n border-collapse: collapse;\r\n width: 100%;\r\n}\r\n\r\n.edit-form-odd, .edit-form-even {\r\n padding: 0px;\r\n}\r\n\r\n.subsectiontitle {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n background-color: #4A92CE;\r\n color: #fff;\r\n height: 25px;\r\n border-top: 1px solid black;\r\n}\r\n\r\n.label-cell {\r\n background: #DEE7F6 url(@@base_url@@/proj-base/admin_templates/img/bgr_input_name_line.gif) no-repeat right bottom;\r\n font: 12px arial, sans-serif;\r\n padding: 4px 20px;\r\n width: 150px;\r\n}\r\n\r\n.control-mid {\r\n width: 13px;\r\n border-left: 1px solid #7A95C2;\r\n background: #fff url(@@base_url@@/proj-base/admin_templates/img/bgr_mid.gif) repeat-x left bottom;\r\n}\r\n\r\n.control-cell {\r\n font: 11px arial, sans-serif;\r\n padding: 4px 10px 5px 5px;\r\n background: #fff url(@@base_url@@/proj-base/admin_templates/img/bgr_input_line.gif) no-repeat left bottom;\r\n width: auto;\r\n vertical-align: middle;\r\n}\r\n\r\n.label-cell-filler {\r\n background: #DEE7F6 none;\r\n}\r\n.control-mid-filler {\r\n background: #fff none;\r\n border-left: 1px solid #7A95C2;\r\n}\r\n.control-cell-filler {\r\n background: #fff none;\r\n}\r\n\r\n\r\n.error-cell {\r\n background-color: #fff;\r\n color: red;\r\n}\r\n\r\n.form-warning {\r\n color: red;\r\n}\r\n\r\n.req-note {\r\n font-style: italic;\r\n color: #333;\r\n}\r\n\r\n#scroll_container table.tableborder {\r\n border-collapse: separate\r\n}\r\n\r\n\r\n/* Uploader */\r\n\r\n.uploader-main {\r\n position: absolute;\r\n display: none;\r\n z-index: 10;\r\n border: 1px solid #777;\r\n padding: 10px;\r\n width: 350px;\r\n height: 120px;\r\n overflow: hidden;\r\n background-color: #fff;\r\n}\r\n\r\n.uploader-percent {\r\n width: 100%;\r\n padding-top: 3px;\r\n text-align: center;\r\n position: relative;\r\n z-index: 20;\r\n float: left;\r\n font-weight: bold;\r\n}\r\n\r\n.uploader-left {\r\n width: 100%;\r\n border: 1px solid black;\r\n height: 20px;\r\n background: #fff url(@@base_url@@/core/admin_templates/img/progress_left.gif);\r\n}\r\n\r\n.uploader-done {\r\n width: 0%;\r\n background-color: green;\r\n height: 20px;\r\n background: #4A92CE url(@@base_url@@/core/admin_templates/img/progress_done.gif);\r\n}\r\n\r\n\r\n/* To be sorted */\r\n\r\n\r\n/* Section title, right to the big icon */\r\n.admintitle {\r\n font-size: 16pt;\r\n font-weight: bold;\r\n color: @@SectionColor@@;\r\n text-decoration: none;\r\n}\r\n\r\n/* Left sid of bluebar */\r\n.header_left_bg {\r\n background-color: @@TitleBarBgColor@@;\r\n background-image: none;\r\n padding-left: 5px;\r\n}\r\n\r\n/* Right side of bluebar */\r\n.tablenav, tablenav a {\r\n font-size: 11pt;\r\n font-weight: bold;\r\n color: @@TitleBarColor@@;\r\n\r\n text-decoration: none;\r\n background-color: @@TitleBarBgColor@@;\r\n background-image: none;\r\n}\r\n\r\n/* Section title in the bluebar * -- why ''link''? :S */\r\n.tablenav_link {\r\n font-size: 11pt;\r\n font-weight: bold;\r\n color: @@TitleBarColor@@;\r\n text-decoration: none;\r\n}\r\n\r\n/* Active page in top and bottom bluebars pagination */\r\n.current_page {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n background-color: #fff;\r\n color: #2D79D6;\r\n padding: 3px 2px 3px 3px;\r\n}\r\n\r\n/* Other pages and arrows in pagination on blue */\r\n.nav_url {\r\n font-size: 10pt;\r\n font-weight: bold;\r\n color: #fff;\r\n padding: 3px 2px 3px 3px;\r\n}\r\n\r\n/* Tree */\r\n.tree-body {\r\n background-color: @@TreeBgColor@@;\r\n height: 100%\r\n}\r\n\r\n.tree_head.td, .tree_head, .tree_head:hover {\r\n font-weight: bold;\r\n font-size: 10px;\r\n color: #FFFFFF;\r\n font-family: Verdana, Arial;\r\n text-decoration: none;\r\n}\r\n\r\n.tree {\r\n padding: 0px;\r\n border: none;\r\n border-collapse: collapse;\r\n}\r\n\r\n.tree tr td {\r\n padding: 0px;\r\n margin: 0px;\r\n font-family: helvetica, arial, verdana,;\r\n font-size: 11px;\r\n white-space: nowrap;\r\n}\r\n\r\n.tree tr td a {\r\n font-size: 11px;\r\n color: @@TreeColor@@;\r\n font-family: Helvetica, Arial, Verdana;\r\n text-decoration: none;\r\n padding: 2px 0px 2px 2px;\r\n}\r\n\r\n.tree tr.highlighted td a {\r\n background-color: @@TreeHighBgColor@@;\r\n color: @@TreeHighColor@@;\r\n}\r\n\r\n.tree tr.highlighted td a:hover {\r\n color: #fff;\r\n}\r\n\r\n.tree tr td a:hover {\r\n color: #000000;\r\n}', 'just_logo.gif', 'a:20:{s:11:"HeadBgColor";a:2:{s:11:"Description";s:27:"Head frame background color";s:5:"Value";s:7:"#1961B8";}s:9:"HeadColor";a:2:{s:11:"Description";s:21:"Head frame text color";s:5:"Value";s:7:"#CCFF00";}s:14:"SectionBgColor";a:2:{s:11:"Description";s:28:"Section bar background color";s:5:"Value";s:7:"#FFFFFF";}s:12:"SectionColor";a:2:{s:11:"Description";s:22:"Section bar text color";s:5:"Value";s:7:"#2D79D6";}s:12:"HeadBarColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:14:"HeadBarBgColor";a:1:{s:5:"Value";s:7:"#1961B8";}s:13:"TitleBarColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:15:"TitleBarBgColor";a:1:{s:5:"Value";s:7:"#2D79D6";}s:14:"ToolbarBgColor";a:1:{s:5:"Value";s:7:"#F0F1EB";}s:14:"FiltersBgColor";a:1:{s:5:"Value";s:7:"#D7D7D7";}s:17:"ColumnTitlesColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:19:"ColumnTitlesBgColor";a:1:{s:5:"Value";s:7:"#999999";}s:8:"OddColor";a:1:{s:5:"Value";s:7:"#000000";}s:10:"OddBgColor";a:1:{s:5:"Value";s:7:"#F6F6F6";}s:9:"EvenColor";a:1:{s:5:"Value";s:7:"#000000";}s:11:"EvenBgColor";a:1:{s:5:"Value";s:7:"#EBEBEB";}s:9:"TreeColor";a:1:{s:5:"Value";s:7:"#006F99";}s:11:"TreeBgColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:13:"TreeHighColor";a:1:{s:5:"Value";s:7:"#FFFFFF";}s:15:"TreeHighBgColor";a:1:{s:5:"Value";s:7:"#4A92CE";}}', 1178706881, 1);
INSERT INTO Permissions VALUES (0, 'in-portal:skins.view', 11, 1, 1, 0), (0, 'in-portal:skins.add', 11, 1, 1, 0), (0, 'in-portal:skins.edit', 11, 1, 1, 0), (0, 'in-portal:skins.delete', 11, 1, 1, 0);
# ===== v 4.1.1 =====
DROP TABLE EmailQueue;
CREATE TABLE EmailQueue (
EmailQueueId int(10) unsigned NOT NULL auto_increment,
ToEmail varchar(255) NOT NULL default '',
`Subject` varchar(255) NOT NULL default '',
MessageHeaders text,
MessageBody longtext,
Queued int(10) unsigned NOT NULL default '0',
SendRetries int(10) unsigned NOT NULL default '0',
LastSendRetry int(10) unsigned NOT NULL default '0',
PRIMARY KEY (EmailQueueId),
KEY LastSendRetry (LastSendRetry),
KEY SendRetries (SendRetries)
);
ALTER TABLE Events ADD ReplacementTags TEXT AFTER Event;
# ===== v 4.2.0 =====
ALTER TABLE CustomField ADD MultiLingual TINYINT UNSIGNED NOT NULL DEFAULT '1' AFTER FieldLabel;
ALTER TABLE Category
ADD TreeLeft BIGINT NOT NULL AFTER ParentPath,
ADD TreeRight BIGINT NOT NULL AFTER TreeLeft;
ALTER TABLE Category ADD INDEX (TreeLeft);
ALTER TABLE Category ADD INDEX (TreeRight);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'CategoriesRebuildSerial', '0', 'In-Portal', '');
UPDATE ConfigurationAdmin SET `element_type` = 'textarea' WHERE `VariableName` IN ('Category_MetaKey', 'Category_MetaDesc');
ALTER TABLE PortalUser
CHANGE FirstName FirstName VARCHAR(255) NOT NULL DEFAULT '',
CHANGE LastName LastName VARCHAR(255) NOT NULL DEFAULT '';
# ===== v 4.2.1 =====
INSERT INTO ConfigurationAdmin VALUES ('UseSmallHeader', 'la_Text_Website', 'la_config_UseSmallHeader', 'checkbox', '', '', 10.21, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'UseSmallHeader', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationAdmin VALUES ('User_Default_Registration_Country', 'la_Text_General', 'la_config_DefaultRegistrationCountry', 'select', NULL , '=+,<SQL>SELECT DestName AS OptionName, DestId AS OptionValue FROM <PREFIX>StdDestinations WHERE DestParentId IS NULL Order BY OptionName</SQL>', 10.111, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'User_Default_Registration_Country', '', 'In-Portal:Users', 'in-portal:configure_users');
ALTER TABLE Category ADD SymLinkCategoryId INT UNSIGNED NULL DEFAULT NULL AFTER `Type`, ADD INDEX (SymLinkCategoryId);
ALTER TABLE ConfigurationValues CHANGE VariableValue VariableValue TEXT NULL DEFAULT NULL;
ALTER TABLE Language
ADD AdminInterfaceLang TINYINT UNSIGNED NOT NULL AFTER PrimaryLang,
ADD Priority INT NOT NULL AFTER AdminInterfaceLang;
UPDATE Language SET AdminInterfaceLang = 1 WHERE PrimaryLang = 1;
DELETE FROM PersistantSessionData WHERE VariableName = 'lang_columns_.';
ALTER TABLE SessionData CHANGE VariableValue VariableValue longtext NOT NULL;
INSERT INTO ConfigurationAdmin VALUES ('CSVExportDelimiter', 'la_Text_CSV_Export', 'la_config_CSVExportDelimiter', 'select', NULL, '0=la_Tab,1=la_Comma,2=la_Semicolon,3=la_Space,4=la_Colon', 40.1, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('CSVExportEnclosure', 'la_Text_CSV_Export', 'la_config_CSVExportEnclosure', 'radio', NULL, '0=la_Doublequotes,1=la_Quotes', 40.2, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('CSVExportSeparator', 'la_Text_CSV_Export', 'la_config_CSVExportSeparator', 'radio', NULL, '0=la_Linux,1=la_Windows', 40.3, 0, 1);
INSERT INTO ConfigurationAdmin VALUES ('CSVExportEncoding', 'la_Text_CSV_Export', 'la_config_CSVExportEncoding', 'radio', NULL, '0=la_Unicode,1=la_Regular', 40.4, 0, 1);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'CSVExportDelimiter', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'CSVExportEnclosure', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'CSVExportSeparator', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'CSVExportEncoding', '0', 'In-Portal', 'in-portal:configure_general');
# ===== v 4.2.2 =====
INSERT INTO ConfigurationAdmin VALUES ('UseColumnFreezer', 'la_Text_Website', 'la_config_UseColumnFreezer', 'checkbox', '', '', 10.22, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'UseColumnFreezer', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationAdmin VALUES ('TrimRequiredFields', 'la_Text_Website', 'la_config_TrimRequiredFields', 'checkbox', '', '', 10.23, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'TrimRequiredFields', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationAdmin VALUES ('MenuFrameWidth', 'la_title_General', 'la_prompt_MenuFrameWidth', 'text', NULL, NULL, '11', '0', '0');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'MenuFrameWidth', 200, 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationAdmin VALUES ('DefaultSettingsUserId', 'la_title_General', 'la_prompt_DefaultUserId', 'text', NULL, NULL, '12', '0', '0');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'DefaultSettingsUserId', -1, 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationAdmin VALUES ('KeepSessionOnBrowserClose', 'la_title_General', 'la_prompt_KeepSessionOnBrowserClose', 'checkbox', NULL, NULL, '13', '0', '0');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'KeepSessionOnBrowserClose', 0, 'In-Portal', 'in-portal:configure_general');
ALTER TABLE PersistantSessionData ADD VariableId BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
# ===== v 4.3.0 =====
INSERT INTO ConfigurationAdmin VALUES ('u_MaxImageCount', 'la_section_ImageSettings', 'la_config_MaxImageCount', 'text', '', '', 30.01, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('u_ThumbnailImageWidth', 'la_section_ImageSettings', 'la_config_ThumbnailImageWidth', 'text', '', '', 30.02, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('u_ThumbnailImageHeight', 'la_section_ImageSettings', 'la_config_ThumbnailImageHeight', 'text', '', '', 30.03, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('u_FullImageWidth', 'la_section_ImageSettings', 'la_config_FullImageWidth', 'text', '', '', 30.04, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('u_FullImageHeight', 'la_section_ImageSettings', 'la_config_FullImageHeight', 'text', '', '', 30.05, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'u_MaxImageCount', 5, 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'u_ThumbnailImageWidth', 120, 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'u_ThumbnailImageHeight', 120, 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'u_FullImageWidth', 450, 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'u_FullImageHeight', 450, 'In-Portal:Users', 'in-portal:configure_users');
CREATE TABLE ChangeLogs (
ChangeLogId bigint(20) NOT NULL auto_increment,
PortalUserId int(11) NOT NULL default '0',
SessionLogId int(11) NOT NULL default '0',
`Action` tinyint(4) NOT NULL default '0',
OccuredOn int(11) NOT NULL default '0',
Prefix varchar(255) NOT NULL default '',
ItemId bigint(20) NOT NULL default '0',
Changes text NOT NULL,
MasterPrefix varchar(255) NOT NULL default '',
MasterId bigint(20) NOT NULL default '0',
PRIMARY KEY (ChangeLogId),
KEY PortalUserId (PortalUserId),
KEY SessionLogId (SessionLogId),
KEY `Action` (`Action`),
KEY OccuredOn (OccuredOn),
KEY Prefix (Prefix),
KEY MasterPrefix (MasterPrefix)
);
CREATE TABLE SessionLogs (
SessionLogId bigint(20) NOT NULL auto_increment,
PortalUserId int(11) NOT NULL default '0',
SessionId int(10) NOT NULL default '0',
`Status` tinyint(4) NOT NULL default '1',
SessionStart int(11) NOT NULL default '0',
SessionEnd int(11) default NULL,
IP varchar(15) NOT NULL default '',
AffectedItems int(11) NOT NULL default '0',
PRIMARY KEY (SessionLogId),
KEY SessionId (SessionId),
KEY `Status` (`Status`),
KEY PortalUserId (PortalUserId)
);
ALTER TABLE CustomField ADD INDEX (MultiLingual), ADD INDEX (DisplayOrder), ADD INDEX (OnGeneralTab), ADD INDEX (IsSystem);
ALTER TABLE ConfigurationAdmin ADD INDEX (DisplayOrder), ADD INDEX (GroupDisplayOrder), ADD INDEX (Install);
ALTER TABLE EmailSubscribers ADD INDEX (EmailMessageId), ADD INDEX (PortalUserId);
ALTER TABLE Events ADD INDEX (`Type`), ADD INDEX (Enabled);
ALTER TABLE Language ADD INDEX (Enabled), ADD INDEX (PrimaryLang), ADD INDEX (AdminInterfaceLang), ADD INDEX (Priority);
ALTER TABLE Modules ADD INDEX (Loaded), ADD INDEX (LoadOrder);
ALTER TABLE PhraseCache ADD INDEX (CacheDate), ADD INDEX (ThemeId), ADD INDEX (StylesheetId);
ALTER TABLE PortalGroup ADD INDEX (CreatedOn);
ALTER TABLE PortalUser ADD INDEX (Status), ADD INDEX (Modified), ADD INDEX (dob), ADD INDEX (IsBanned);
ALTER TABLE Theme ADD INDEX (Enabled), ADD INDEX (StylesheetId), ADD INDEX (PrimaryTheme);
ALTER TABLE UserGroup ADD INDEX (MembershipExpires), ADD INDEX (ExpirationReminderSent);
ALTER TABLE EmailLog ADD INDEX (`timestamp`);
ALTER TABLE StdDestinations ADD INDEX (DestType), ADD INDEX (DestParentId);
ALTER TABLE Category ADD INDEX (Status), ADD INDEX (CreatedOn), ADD INDEX (EditorsPick);
ALTER TABLE Stylesheets ADD INDEX (Enabled), ADD INDEX (LastCompiled);
ALTER TABLE Counters ADD INDEX (IsClone), ADD INDEX (LifeTime), ADD INDEX (LastCounted);
ALTER TABLE Skins ADD INDEX (IsPrimary), ADD INDEX (LastCompiled);
INSERT INTO ConfigurationAdmin VALUES ('UseChangeLog', 'la_Text_Website', 'la_config_UseChangeLog', 'checkbox', '', '', 10.25, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'UseChangeLog', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationAdmin VALUES ('AutoRefreshIntervals', 'la_Text_Website', 'la_config_AutoRefreshIntervals', 'text', '', '', 10.26, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'AutoRefreshIntervals', '1,5,15,30,60,120,240', 'In-Portal', 'in-portal:configure_general');
DELETE FROM Cache WHERE SUBSTRING(VarName, 1, 7) = 'mod_rw_';
ALTER TABLE Category CHANGE `Status` `Status` TINYINT(4) NOT NULL DEFAULT '2';
# ===== v 4.3.1 =====
INSERT INTO ConfigurationAdmin VALUES ('RememberLastAdminTemplate', 'la_Text_General', 'la_config_RememberLastAdminTemplate', 'checkbox', '', '', 10.13, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'RememberLastAdminTemplate', '', 'In-Portal:Users', 'in-portal:configure_users');
INSERT INTO ConfigurationAdmin VALUES ('AllowSelectGroupOnFront', 'la_Text_General', 'la_config_AllowSelectGroupOnFront', 'checkbox', NULL, NULL, 10.13, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'AllowSelectGroupOnFront', '0', 'In-Portal:Users', 'in-portal:configure_users');
CREATE TABLE StatisticsCapture (
StatisticsId int(10) unsigned NOT NULL auto_increment,
TemplateName varchar(255) NOT NULL default '',
Hits int(10) unsigned NOT NULL default '0',
LastHit int(11) NOT NULL default '0',
ScriptTimeMin decimal(40,20) unsigned NOT NULL default '0.00000000000000000000',
ScriptTimeAvg decimal(40,20) unsigned NOT NULL default '0.00000000000000000000',
ScriptTimeMax decimal(40,20) unsigned NOT NULL default '0.00000000000000000000',
SqlTimeMin decimal(40,20) unsigned NOT NULL default '0.00000000000000000000',
SqlTimeAvg decimal(40,20) unsigned NOT NULL default '0.00000000000000000000',
SqlTimeMax decimal(40,20) unsigned NOT NULL default '0.00000000000000000000',
SqlCountMin decimal(40,20) unsigned NOT NULL default '0.00000000000000000000',
SqlCountAvg decimal(40,20) unsigned NOT NULL default '0.00000000000000000000',
SqlCountMax decimal(40,20) unsigned NOT NULL default '0.00000000000000000000',
PRIMARY KEY (StatisticsId),
KEY TemplateName (TemplateName),
KEY Hits (Hits),
KEY LastHit (LastHit),
KEY ScriptTimeMin (ScriptTimeMin),
KEY ScriptTimeAvg (ScriptTimeAvg),
KEY ScriptTimeMax (ScriptTimeMax),
KEY SqlTimeMin (SqlTimeMin),
KEY SqlTimeAvg (SqlTimeAvg),
KEY SqlTimeMax (SqlTimeMax),
KEY SqlCountMin (SqlCountMin),
KEY SqlCountAvg (SqlCountAvg),
KEY SqlCountMax (SqlCountMax)
);
CREATE TABLE SlowSqlCapture (
CaptureId int(10) unsigned NOT NULL auto_increment,
TemplateNames text,
Hits int(10) unsigned NOT NULL default '0',
LastHit int(11) NOT NULL default '0',
SqlQuery text,
TimeMin decimal(40,20) unsigned NOT NULL default '0.00000000000000000000',
TimeAvg decimal(40,20) unsigned NOT NULL default '0.00000000000000000000',
TimeMax decimal(40,20) unsigned NOT NULL default '0.00000000000000000000',
QueryCrc int(11) NOT NULL default '0',
PRIMARY KEY (CaptureId),
KEY Hits (Hits),
KEY LastHit (LastHit),
KEY TimeMin (TimeMin),
KEY TimeAvg (TimeAvg),
KEY TimeMax (TimeMax),
KEY QueryCrc (QueryCrc)
);
ALTER TABLE PortalGroup ADD FrontRegistration TINYINT UNSIGNED NOT NULL;
UPDATE PortalGroup SET FrontRegistration = 1 WHERE GroupId = 13;
INSERT INTO ConfigurationAdmin VALUES ('ForceImageMagickResize', 'la_Text_Website', 'la_config_ForceImageMagickResize', 'checkbox', '', '', 10.28, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'ForceImageMagickResize', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationAdmin VALUES ('AdminSSL_URL', 'la_Text_Website', 'la_config_AdminSSL_URL', 'text', '', '', 10.091, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'AdminSSL_URL', '', 'In-Portal', 'in-portal:configure_general');
# ===== v 4.3.9 =====
ALTER TABLE CustomField
CHANGE ValueList ValueList TEXT NULL DEFAULT NULL,
ADD DefaultValue VARCHAR(255) NOT NULL AFTER ValueList,
ADD INDEX (DefaultValue);
UPDATE CustomField SET ValueList = REPLACE(ValueList, ',', '||');
CREATE TABLE Agents (
AgentId int(11) NOT NULL auto_increment,
AgentName varchar(255) NOT NULL default '',
AgentType tinyint(3) unsigned NOT NULL default '1',
Status tinyint(3) unsigned NOT NULL default '1',
Event varchar(255) NOT NULL default '',
RunInterval int(10) unsigned NOT NULL default '0',
RunMode tinyint(3) unsigned NOT NULL default '2',
LastRunOn int(10) unsigned default NULL,
LastRunStatus tinyint(3) unsigned NOT NULL default '1',
NextRunOn int(11) default NULL,
RunTime int(10) unsigned NOT NULL default '0',
PRIMARY KEY (AgentId),
KEY Status (Status),
KEY RunInterval (RunInterval),
KEY RunMode (RunMode),
KEY AgentType (AgentType),
KEY LastRunOn (LastRunOn),
KEY LastRunStatus (LastRunStatus),
KEY RunTime (RunTime),
KEY NextRunOn (NextRunOn)
);
INSERT INTO Permissions VALUES(DEFAULT, 'in-portal:agents.delete', 11, 1, 1, 0);
INSERT INTO Permissions VALUES(DEFAULT, 'in-portal:agents.edit', 11, 1, 1, 0);
INSERT INTO Permissions VALUES(DEFAULT, 'in-portal:agents.add', 11, 1, 1, 0);
INSERT INTO Permissions VALUES(DEFAULT, 'in-portal:agents.view', 11, 1, 1, 0);
INSERT INTO ConfigurationAdmin VALUES ('FilenameSpecialCharReplacement', 'la_Text_General', 'la_config_FilenameSpecialCharReplacement', 'select', NULL, '_=+_,-=+-', 10.16, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'FilenameSpecialCharReplacement', '_', 'In-Portal', 'in-portal:configure_categories');
CREATE TABLE SpellingDictionary (
SpellingDictionaryId int(11) NOT NULL auto_increment,
MisspelledWord varchar(255) NOT NULL default '',
SuggestedCorrection varchar(255) NOT NULL default '',
PRIMARY KEY (SpellingDictionaryId),
KEY MisspelledWord (MisspelledWord),
KEY SuggestedCorrection (SuggestedCorrection)
);
INSERT INTO ConfigurationValues VALUES(NULL, 'YahooApplicationId', '', 'In-Portal', 'in-portal:configure_categories');
INSERT INTO ConfigurationAdmin VALUES('YahooApplicationId', 'la_Text_General', 'la_config_YahooApplicationId', 'text', NULL, NULL, 10.15, 0, 0);
CREATE TABLE Thesaurus (
ThesaurusId int(11) NOT NULL auto_increment,
SearchTerm varchar(255) NOT NULL default '',
ThesaurusTerm varchar(255) NOT NULL default '',
ThesaurusType tinyint(3) unsigned NOT NULL default '0',
PRIMARY KEY (ThesaurusId),
KEY ThesaurusType (ThesaurusType),
KEY SearchTerm (SearchTerm)
);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:ban_rulelist.delete', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:ban_rulelist.edit', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:ban_rulelist.add', 11, 1, 1, 0);
ALTER TABLE Language ADD FilenameReplacements TEXT NULL AFTER UnitSystem;
ALTER TABLE Language ADD Locale varchar(10) NOT NULL default 'en-US' AFTER FilenameReplacements;
CREATE TABLE LocalesList (
LocaleId int(11) NOT NULL auto_increment,
LocaleIdentifier varchar(6) NOT NULL default '',
LocaleName varchar(255) NOT NULL default '',
Locale varchar(20) NOT NULL default '',
ScriptTag varchar(255) NOT NULL default '',
ANSICodePage varchar(10) NOT NULL default '',
PRIMARY KEY (LocaleId)
);
INSERT INTO LocalesList VALUES
(1, '0x0436', 'Afrikaans (South Africa)', 'af-ZA', 'Latn', '1252'),
(2, '0x041c', 'Albanian (Albania)', 'sq-AL', 'Latn', '1252'),
(3, '0x0484', 'Alsatian (France)', 'gsw-FR', '', ''),
(4, '0x045e', 'Amharic (Ethiopia)', 'am-ET', '', 'UTF-8'),
(5, '0x1401', 'Arabic (Algeria)', 'ar-DZ', 'Arab', '1256'),
(6, '0x3c01', 'Arabic (Bahrain)', 'ar-BH', 'Arab', '1256'),
(7, '0x0c01', 'Arabic (Egypt)', 'ar-EG', 'Arab', '1256'),
(8, '0x0801', 'Arabic (Iraq)', 'ar-IQ', 'Arab', '1256'),
(9, '0x2c01', 'Arabic (Jordan)', 'ar-JO', 'Arab', '1256'),
(10, '0x3401', 'Arabic (Kuwait)', 'ar-KW', 'Arab', '1256'),
(11, '0x3001', 'Arabic (Lebanon)', 'ar-LB', 'Arab', '1256'),
(12, '0x1001', 'Arabic (Libya)', 'ar-LY', 'Arab', '1256'),
(13, '0x1801', 'Arabic (Morocco)', 'ar-MA', 'Arab', '1256'),
(14, '0x2001', 'Arabic (Oman)', 'ar-OM', 'Arab', '1256'),
(15, '0x4001', 'Arabic (Qatar)', 'ar-QA', 'Arab', '1256'),
(16, '0x0401', 'Arabic (Saudi Arabia)', 'ar-SA', 'Arab', '1256'),
(17, '0x2801', 'Arabic (Syria)', 'ar-SY', 'Arab', '1256'),
(18, '0x1c01', 'Arabic (Tunisia)', 'ar-TN', 'Arab', '1256'),
(19, '0x3801', 'Arabic (U.A.E.)', 'ar-AE', 'Arab', '1256'),
(20, '0x2401', 'Arabic (Yemen)', 'ar-YE', 'Arab', '1256'),
(21, '0x042b', 'Armenian (Armenia)', 'hy-AM', 'Armn', 'UTF-8'),
(22, '0x044d', 'Assamese (India)', 'as-IN', '', 'UTF-8'),
(23, '0x082c', 'Azeri (Azerbaijan, Cyrillic)', 'az-Cyrl-AZ', 'Cyrl', '1251'),
(24, '0x042c', 'Azeri (Azerbaijan, Latin)', 'az-Latn-AZ', 'Latn', '1254'),
(25, '0x046d', 'Bashkir (Russia)', 'ba-RU', '', ''),
(26, '0x042d', 'Basque (Basque)', 'eu-ES', 'Latn', '1252'),
(27, '0x0423', 'Belarusian (Belarus)', 'be-BY', 'Cyrl', '1251'),
(28, '0x0445', 'Bengali (India)', 'bn-IN', 'Beng', 'UTF-8'),
(29, '0x201a', 'Bosnian (Bosnia and Herzegovina, Cyrillic)', 'bs-Cyrl-BA', 'Cyrl', '1251'),
(30, '0x141a', 'Bosnian (Bosnia and Herzegovina, Latin)', 'bs-Latn-BA', 'Latn', '1250'),
(31, '0x047e', 'Breton (France)', 'br-FR', 'Latn', '1252'),
(32, '0x0402', 'Bulgarian (Bulgaria)', 'bg-BG', 'Cyrl', '1251'),
(33, '0x0403', 'Catalan (Catalan)', 'ca-ES', 'Latn', '1252'),
(34, '0x0c04', 'Chinese (Hong Kong SAR, PRC)', 'zh-HK', 'Hant', '950'),
(35, '0x1404', 'Chinese (Macao SAR)', 'zh-MO', 'Hant', '950'),
(36, '0x0804', 'Chinese (PRC)', 'zh-CN', 'Hans', '936'),
(37, '0x1004', 'Chinese (Singapore)', 'zh-SG', 'Hans', '936'),
(38, '0x0404', 'Chinese (Taiwan)', 'zh-TW', 'Hant', '950'),
(39, '0x101a', 'Croatian (Bosnia and Herzegovina, Latin)', 'hr-BA', 'Latn', '1250'),
(40, '0x041a', 'Croatian (Croatia)', 'hr-HR', 'Latn', '1250'),
(41, '0x0405', 'Czech (Czech Republic)', 'cs-CZ', 'Latn', '1250'),
(42, '0x0406', 'Danish (Denmark)', 'da-DK', 'Latn', '1252'),
(43, '0x048c', 'Dari (Afghanistan)', 'prs-AF', 'Arab', '1256'),
(44, '0x0465', 'Divehi (Maldives)', 'dv-MV', 'Thaa', 'UTF-8'),
(45, '0x0813', 'Dutch (Belgium)', 'nl-BE', 'Latn', '1252'),
(46, '0x0413', 'Dutch (Netherlands)', 'nl-NL', 'Latn', '1252'),
(47, '0x0c09', 'English (Australia)', 'en-AU', 'Latn', '1252'),
(48, '0x2809', 'English (Belize)', 'en-BZ', 'Latn', '1252'),
(49, '0x1009', 'English (Canada)', 'en-CA', 'Latn', '1252'),
(50, '0x2409', 'English (Caribbean)', 'en-029', 'Latn', '1252'),
(51, '0x4009', 'English (India)', 'en-IN', 'Latn', '1252'),
(52, '0x1809', 'English (Ireland)', 'en-IE', 'Latn', '1252'),
(53, '0x2009', 'English (Jamaica)', 'en-JM', 'Latn', '1252'),
(54, '0x4409', 'English (Malaysia)', 'en-MY', 'Latn', '1252'),
(55, '0x1409', 'English (New Zealand)', 'en-NZ', 'Latn', '1252'),
(56, '0x3409', 'English (Philippines)', 'en-PH', 'Latn', '1252'),
(57, '0x4809', 'English (Singapore)', 'en-SG', 'Latn', '1252'),
(58, '0x1c09', 'English (South Africa)', 'en-ZA', 'Latn', '1252'),
(59, '0x2c09', 'English (Trinidad and Tobago)', 'en-TT', 'Latn', '1252'),
(60, '0x0809', 'English (United Kingdom)', 'en-GB', 'Latn', '1252'),
(61, '0x0409', 'English (United States)', 'en-US', 'Latn', '1252'),
(62, '0x3009', 'English (Zimbabwe)', 'en-ZW', 'Latn', '1252'),
(63, '0x0425', 'Estonian (Estonia)', 'et-EE', 'Latn', '1257'),
(64, '0x0438', 'Faroese (Faroe Islands)', 'fo-FO', 'Latn', '1252'),
(65, '0x0464', 'Filipino (Philippines)', 'fil-PH', 'Latn', '1252'),
(66, '0x040b', 'Finnish (Finland)', 'fi-FI', 'Latn', '1252'),
(67, '0x080c', 'French (Belgium)', 'fr-BE', 'Latn', '1252'),
(68, '0x0c0c', 'French (Canada)', 'fr-CA', 'Latn', '1252'),
(69, '0x040c', 'French (France)', 'fr-FR', 'Latn', '1252'),
(70, '0x140c', 'French (Luxembourg)', 'fr-LU', 'Latn', '1252'),
(71, '0x180c', 'French (Monaco)', 'fr-MC', 'Latn', '1252'),
(72, '0x100c', 'French (Switzerland)', 'fr-CH', 'Latn', '1252'),
(73, '0x0462', 'Frisian (Netherlands)', 'fy-NL', 'Latn', '1252'),
(74, '0x0456', 'Galician (Spain)', 'gl-ES', 'Latn', '1252'),
(75, '0x0437', 'Georgian (Georgia)', 'ka-GE', 'Geor', 'UTF-8'),
(76, '0x0c07', 'German (Austria)', 'de-AT', 'Latn', '1252'),
(77, '0x0407', 'German (Germany)', 'de-DE', 'Latn', '1252'),
(78, '0x1407', 'German (Liechtenstein)', 'de-LI', 'Latn', '1252'),
(79, '0x1007', 'German (Luxembourg)', 'de-LU', 'Latn', '1252'),
(80, '0x0807', 'German (Switzerland)', 'de-CH', 'Latn', '1252'),
(81, '0x0408', 'Greek (Greece)', 'el-GR', 'Grek', '1253'),
(82, '0x046f', 'Greenlandic (Greenland)', 'kl-GL', 'Latn', '1252'),
(83, '0x0447', 'Gujarati (India)', 'gu-IN', 'Gujr', 'UTF-8'),
(84, '0x0468', 'Hausa (Nigeria, Latin)', 'ha-Latn-NG', 'Latn', '1252'),
(85, '0x040d', 'Hebrew (Israel)', 'he-IL', 'Hebr', '1255'),
(86, '0x0439', 'Hindi (India)', 'hi-IN', 'Deva', 'UTF-8'),
(87, '0x040e', 'Hungarian (Hungary)', 'hu-HU', 'Latn', '1250'),
(88, '0x040f', 'Icelandic (Iceland)', 'is-IS', 'Latn', '1252'),
(89, '0x0470', 'Igbo (Nigeria)', 'ig-NG', '', ''),
(90, '0x0421', 'Indonesian (Indonesia)', 'id-ID', 'Latn', '1252'),
(91, '0x085d', 'Inuktitut (Canada, Latin)', 'iu-Latn-CA', 'Latn', '1252'),
(92, '0x045d', 'Inuktitut (Canada, Syllabics)', 'iu-Cans-CA', 'Cans', 'UTF-8'),
(93, '0x083c', 'Irish (Ireland)', 'ga-IE', 'Latn', '1252'),
(94, '0x0410', 'Italian (Italy)', 'it-IT', 'Latn', '1252'),
(95, '0x0810', 'Italian (Switzerland)', 'it-CH', 'Latn', '1252'),
(96, '0x0411', 'Japanese (Japan)', 'ja-JP', 'Hani;Hira;Kana', '932'),
(97, '0x044b', 'Kannada (India)', 'kn-IN', 'Knda', 'UTF-8'),
(98, '0x043f', 'Kazakh (Kazakhstan)', 'kk-KZ', 'Cyrl', '1251'),
(99, '0x0453', 'Khmer (Cambodia)', 'kh-KH', 'Khmr', 'UTF-8'),
(100, '0x0486', 'K''iche (Guatemala)', 'qut-GT', 'Latn', '1252'),
(101, '0x0487', 'Kinyarwanda (Rwanda)', 'rw-RW', 'Latn', '1252'),
(102, '0x0457', 'Konkani (India)', 'kok-IN', 'Deva', 'UTF-8'),
(103, '0x0812', 'Windows 95, Windows NT 4.0 only: Korean (Johab)', '', '', ''),
(104, '0x0412', 'Korean (Korea)', 'ko-KR', 'Hang;Hani', '949'),
(105, '0x0440', 'Kyrgyz (Kyrgyzstan)', 'ky-KG', 'Cyrl', '1251'),
(106, '0x0454', 'Lao (Lao PDR)', 'lo-LA', 'Laoo', 'UTF-8'),
(107, '0x0426', 'Latvian (Latvia)', 'lv-LV', 'Latn', '1257'),
(108, '0x0427', 'Lithuanian (Lithuania)', 'lt-LT', 'Latn', '1257'),
(109, '0x082e', 'Lower Sorbian (Germany)', 'dsb-DE', 'Latn', '1252'),
(110, '0x046e', 'Luxembourgish (Luxembourg)', 'lb-LU', 'Latn', '1252'),
(111, '0x042f', 'Macedonian (Macedonia, FYROM)', 'mk-MK', 'Cyrl', '1251'),
(112, '0x083e', 'Malay (Brunei Darussalam)', 'ms-BN', 'Latn', '1252'),
(113, '0x043e', 'Malay (Malaysia)', 'ms-MY', 'Latn', '1252'),
(114, '0x044c', 'Malayalam (India)', 'ml-IN', 'Mlym', 'UTF-8'),
(115, '0x043a', 'Maltese (Malta)', 'mt-MT', 'Latn', '1252'),
(116, '0x0481', 'Maori (New Zealand)', 'mi-NZ', 'Latn', '1252'),
(117, '0x047a', 'Mapudungun (Chile)', 'arn-CL', 'Latn', '1252'),
(118, '0x044e', 'Marathi (India)', 'mr-IN', 'Deva', 'UTF-8'),
(119, '0x047c', 'Mohawk (Canada)', 'moh-CA', 'Latn', '1252'),
(120, '0x0450', 'Mongolian (Mongolia)', 'mn-Cyrl-MN', 'Cyrl', '1251'),
(121, '0x0850', 'Mongolian (PRC)', 'mn-Mong-CN', 'Mong', 'UTF-8'),
(122, '0x0850', 'Nepali (India)', 'ne-IN', '__', 'UTF-8'),
(123, '0x0461', 'Nepali (Nepal)', 'ne-NP', 'Deva', 'UTF-8'),
(124, '0x0414', 'Norwegian (Bokmål, Norway)', 'nb-NO', 'Latn', '1252'),
(125, '0x0814', 'Norwegian (Nynorsk, Norway)', 'nn-NO', 'Latn', '1252'),
(126, '0x0482', 'Occitan (France)', 'oc-FR', 'Latn', '1252'),
(127, '0x0448', 'Oriya (India)', 'or-IN', 'Orya', 'UTF-8'),
(128, '0x0463', 'Pashto (Afghanistan)', 'ps-AF', '', ''),
(129, '0x0429', 'Persian (Iran)', 'fa-IR', 'Arab', '1256'),
(130, '0x0415', 'Polish (Poland)', 'pl-PL', 'Latn', '1250'),
(131, '0x0416', 'Portuguese (Brazil)', 'pt-BR', 'Latn', '1252'),
(132, '0x0816', 'Portuguese (Portugal)', 'pt-PT', 'Latn', '1252'),
(133, '0x0446', 'Punjabi (India)', 'pa-IN', 'Guru', 'UTF-8'),
(134, '0x046b', 'Quechua (Bolivia)', 'quz-BO', 'Latn', '1252'),
(135, '0x086b', 'Quechua (Ecuador)', 'quz-EC', 'Latn', '1252'),
(136, '0x0c6b', 'Quechua (Peru)', 'quz-PE', 'Latn', '1252'),
(137, '0x0418', 'Romanian (Romania)', 'ro-RO', 'Latn', '1250'),
(138, '0x0417', 'Romansh (Switzerland)', 'rm-CH', 'Latn', '1252'),
(139, '0x0419', 'Russian (Russia)', 'ru-RU', 'Cyrl', '1251'),
(140, '0x243b', 'Sami (Inari, Finland)', 'smn-FI', 'Latn', '1252'),
(141, '0x103b', 'Sami (Lule, Norway)', 'smj-NO', 'Latn', '1252'),
(142, '0x143b', 'Sami (Lule, Sweden)', 'smj-SE', 'Latn', '1252'),
(143, '0x0c3b', 'Sami (Northern, Finland)', 'se-FI', 'Latn', '1252'),
(144, '0x043b', 'Sami (Northern, Norway)', 'se-NO', 'Latn', '1252'),
(145, '0x083b', 'Sami (Northern, Sweden)', 'se-SE', 'Latn', '1252'),
(146, '0x203b', 'Sami (Skolt, Finland)', 'sms-FI', 'Latn', '1252'),
(147, '0x183b', 'Sami (Southern, Norway)', 'sma-NO', 'Latn', '1252'),
(148, '0x1c3b', 'Sami (Southern, Sweden)', 'sma-SE', 'Latn', '1252'),
(149, '0x044f', 'Sanskrit (India)', 'sa-IN', 'Deva', 'UTF-8'),
(150, '0x1c1a', 'Serbian (Bosnia and Herzegovina, Cyrillic)', 'sr-Cyrl-BA', 'Cyrl', '1251'),
(151, '0x181a', 'Serbian (Bosnia and Herzegovina, Latin)', 'sr-Latn-BA', 'Latn', '1250'),
(152, '0x0c1a', 'Serbian (Serbia, Cyrillic)', 'sr-Cyrl-CS', 'Cyrl', '1251'),
(153, '0x081a', 'Serbian (Serbia, Latin)', 'sr-Latn-CS', 'Latn', '1250'),
(154, '0x046c', 'Sesotho sa Leboa/Northern Sotho (South Africa)', 'ns-ZA', 'Latn', '1252'),
(155, '0x0432', 'Setswana/Tswana (South Africa)', 'tn-ZA', 'Latn', '1252'),
(156, '0x045b', 'Sinhala (Sri Lanka)', 'si-LK', 'Sinh', 'UTF-8'),
(157, '0x041b', 'Slovak (Slovakia)', 'sk-SK', 'Latn', '1250'),
(158, '0x0424', 'Slovenian (Slovenia)', 'sl-SI', 'Latn', '1250'),
(159, '0x2c0a', 'Spanish (Argentina)', 'es-AR', 'Latn', '1252'),
(160, '0x400a', 'Spanish (Bolivia)', 'es-BO', 'Latn', '1252'),
(161, '0x340a', 'Spanish (Chile)', 'es-CL', 'Latn', '1252'),
(162, '0x240a', 'Spanish (Colombia)', 'es-CO', 'Latn', '1252'),
(163, '0x140a', 'Spanish (Costa Rica)', 'es-CR', 'Latn', '1252'),
(164, '0x1c0a', 'Spanish (Dominican Republic)', 'es-DO', 'Latn', '1252'),
(165, '0x300a', 'Spanish (Ecuador)', 'es-EC', 'Latn', '1252'),
(166, '0x440a', 'Spanish (El Salvador)', 'es-SV', 'Latn', '1252'),
(167, '0x100a', 'Spanish (Guatemala)', 'es-GT', 'Latn', '1252'),
(168, '0x480a', 'Spanish (Honduras)', 'es-HN', 'Latn', '1252'),
(169, '0x080a', 'Spanish (Mexico)', 'es-MX', 'Latn', '1252'),
(170, '0x4c0a', 'Spanish (Nicaragua)', 'es-NI', 'Latn', '1252'),
(171, '0x180a', 'Spanish (Panama)', 'es-PA', 'Latn', '1252'),
(172, '0x3c0a', 'Spanish (Paraguay)', 'es-PY', 'Latn', '1252'),
(173, '0x280a', 'Spanish (Peru)', 'es-PE', 'Latn', '1252'),
(174, '0x500a', 'Spanish (Puerto Rico)', 'es-PR', 'Latn', '1252'),
(175, '0x0c0a', 'Spanish (Spain)', 'es-ES', 'Latn', '1252'),
(176, '0x040a', 'Spanish (Spain, Traditional Sort)', 'es-ES_tradnl', 'Latn', '1252'),
(177, '0x540a', 'Spanish (United States)', 'es-US', '', ''),
(178, '0x380a', 'Spanish (Uruguay)', 'es-UY', 'Latn', '1252'),
(179, '0x200a', 'Spanish (Venezuela)', 'es-VE', 'Latn', '1252'),
(180, '0x0441', 'Swahili (Kenya)', 'sw-KE', 'Latn', '1252'),
(181, '0x081d', 'Swedish (Finland)', 'sv-FI', 'Latn', '1252'),
(182, '0x041d', 'Swedish (Sweden)', 'sv-SE', 'Latn', '1252'),
(183, '0x045a', 'Syriac (Syria)', 'syr-SY', 'Syrc', 'UTF-8'),
(184, '0x0428', 'Tajik (Tajikistan)', 'tg-Cyrl-TJ', 'Cyrl', '1251'),
(185, '0x085f', 'Tamazight (Algeria, Latin)', 'tzm-Latn-DZ', 'Latn', '1252'),
(186, '0x0449', 'Tamil (India)', 'ta-IN', 'Taml', 'UTF-8'),
(187, '0x0444', 'Tatar (Russia)', 'tt-RU', 'Cyrl', '1251'),
(188, '0x044a', 'Telugu (India)', 'te-IN', 'Telu', 'UTF-8'),
(189, '0x041e', 'Thai (Thailand)', 'th-TH', 'Thai', '874'),
(190, '0x0851', 'Tibetan (Bhutan)', 'bo-BT', 'Tibt', 'UTF-8'),
(191, '0x0451', 'Tibetan (PRC)', 'bo-CN', 'Tibt', 'UTF-8'),
(192, '0x041f', 'Turkish (Turkey)', 'tr-TR', 'Latn', '1254'),
(193, '0x0442', 'Turkmen (Turkmenistan)', 'tk-TM', 'Cyrl', '1251'),
(194, '0x0480', 'Uighur (PRC)', 'ug-CN', 'Arab', '1256'),
(195, '0x0422', 'Ukrainian (Ukraine)', 'uk-UA', 'Cyrl', '1251'),
(196, '0x042e', 'Upper Sorbian (Germany)', 'wen-DE', 'Latn', '1252'),
(197, '0x0820', 'Urdu (India)', 'tr-IN', '', ''),
(198, '0x0420', 'Urdu (Pakistan)', 'ur-PK', 'Arab', '1256'),
(199, '0x0843', 'Uzbek (Uzbekistan, Cyrillic)', 'uz-Cyrl-UZ', 'Cyrl', '1251'),
(200, '0x0443', 'Uzbek (Uzbekistan, Latin)', 'uz-Latn-UZ', 'Latn', '1254'),
(201, '0x042a', 'Vietnamese (Vietnam)', 'vi-VN', 'Latn', '1258'),
(202, '0x0452', 'Welsh (United Kingdom)', 'cy-GB', 'Latn', '1252'),
(203, '0x0488', 'Wolof (Senegal)', 'wo-SN', 'Latn', '1252'),
(204, '0x0434', 'Xhosa/isiXhosa (South Africa)', 'xh-ZA', 'Latn', '1252'),
(205, '0x0485', 'Yakut (Russia)', 'sah-RU', 'Cyrl', '1251'),
(206, '0x0478', 'Yi (PRC)', 'ii-CN', 'Yiii', 'UTF-8'),
(207, '0x046a', 'Yoruba (Nigeria)', 'yo-NG', '', ''),
(208, '0x0435', 'Zulu/isiZulu (South Africa)', 'zu-ZA', 'Latn', '1252');
UPDATE Phrase SET Module = 'Core' WHERE Module IN ('Proj-Base', 'In-Portal');
UPDATE Phrase SET Module = 'Core' WHERE Phrase IN ('la_fld_Phone', 'la_fld_City', 'la_fld_State', 'la_fld_Zip');
UPDATE Phrase SET Module = 'Core' WHERE Phrase IN ('la_col_Image', 'la_col_Username', 'la_fld_AddressLine1', 'la_fld_AddressLine2', 'la_fld_Comments', 'la_fld_Country', 'la_fld_Email', 'la_fld_Language', 'la_fld_Login', 'la_fld_MessageText', 'la_fld_MetaDescription', 'la_fld_MetaKeywords', 'la_fld_Password', 'la_fld_Username', 'la_fld_Type');
UPDATE Phrase SET Phrase = 'la_Add' WHERE Phrase = 'LA_ADD';
UPDATE Phrase SET Phrase = 'la_col_MembershipExpires' WHERE Phrase = 'la_col_membershipexpires';
UPDATE Phrase SET Phrase = 'la_ShortToolTip_Clone' WHERE Phrase = 'la_shorttooltip_clone';
UPDATE Phrase SET Phrase = 'la_ShortToolTip_Edit' WHERE Phrase = 'LA_SHORTTOOLTIP_EDIT';
UPDATE Phrase SET Phrase = 'la_ShortToolTip_Export' WHERE Phrase = 'LA_SHORTTOOLTIP_EXPORT';
UPDATE Phrase SET Phrase = 'la_ShortToolTip_GoUp' WHERE Phrase = 'LA_SHORTTOOLTIP_GOUP';
UPDATE Phrase SET Phrase = 'la_ShortToolTip_Import' WHERE Phrase = 'LA_SHORTTOOLTIP_IMPORT';
UPDATE Phrase SET Phrase = 'la_ShortToolTip_MoveUp' WHERE Phrase = 'la_shorttooltip_moveup';
UPDATE Phrase SET Phrase = 'la_ShortToolTip_MoveDown' WHERE Phrase = 'la_shorttooltip_movedown';
UPDATE Phrase SET Phrase = 'la_ShortToolTip_RescanThemes' WHERE Phrase = 'la_shorttooltip_rescanthemes';
UPDATE Phrase SET Phrase = 'la_ShortToolTip_SetPrimary' WHERE Phrase = 'LA_SHORTTOOLTIP_SETPRIMARY';
UPDATE Phrase SET Phrase = 'la_ShortToolTip_Rebuild' WHERE Phrase = 'LA_SHORTTOOLTIP_REBUILD';
UPDATE Phrase SET Phrase = 'la_Tab_Service' WHERE Phrase = 'la_tab_service';
UPDATE Phrase SET Phrase = 'la_tab_Files' WHERE Phrase = 'la_tab_files';
UPDATE Phrase SET Phrase = 'la_ToolTipShort_Edit_Current_Category' WHERE Phrase = 'LA_TOOLTIPSHORT_EDIT_CURRENT_CATEGORY';
UPDATE Phrase SET Phrase = 'la_ToolTip_Add' WHERE Phrase = 'LA_TOOLTIP_ADD';
UPDATE Phrase SET Phrase = 'la_ToolTip_Add_Product' WHERE Phrase = 'LA_TOOLTIP_ADD_PRODUCT';
UPDATE Phrase SET Phrase = 'la_ToolTip_NewSearchConfig' WHERE Phrase = 'LA_TOOLTIP_NEWSEARCHCONFIG';
UPDATE Phrase SET Phrase = 'la_ToolTip_Prev' WHERE Phrase = 'la_tooltip_prev';
UPDATE Phrase SET Phrase = 'la_Invalid_Password' WHERE Phrase = 'la_invalid_password';
UPDATE Events SET Module = REPLACE(Module, 'In-Portal', 'Core');
DROP TABLE ImportScripts;
CREATE TABLE BanRules (
RuleId int(11) NOT NULL auto_increment,
RuleType tinyint(4) NOT NULL default '0',
ItemField varchar(255) default NULL,
ItemVerb tinyint(4) NOT NULL default '0',
ItemValue varchar(255) NOT NULL default '',
ItemType int(11) NOT NULL default '0',
Priority int(11) NOT NULL default '0',
Status tinyint(4) NOT NULL default '1',
ErrorTag varchar(255) default NULL,
PRIMARY KEY (RuleId),
KEY Status (Status),
KEY Priority (Priority),
KEY ItemType (ItemType)
);
CREATE TABLE CountCache (
ListType int(11) NOT NULL default '0',
ItemType int(11) NOT NULL default '-1',
Value int(11) NOT NULL default '0',
CountCacheId int(11) NOT NULL auto_increment,
LastUpdate int(11) NOT NULL default '0',
ExtraId varchar(50) default NULL,
TodayOnly tinyint(4) NOT NULL default '0',
PRIMARY KEY (CountCacheId)
);
CREATE TABLE Favorites (
FavoriteId int(11) NOT NULL auto_increment,
PortalUserId int(11) NOT NULL default '0',
ResourceId int(11) NOT NULL default '0',
ItemTypeId int(11) NOT NULL default '0',
Modified int(11) NOT NULL default '0',
PRIMARY KEY (FavoriteId),
UNIQUE KEY main (PortalUserId,ResourceId),
KEY Modified (Modified),
KEY ItemTypeId (ItemTypeId)
);
CREATE TABLE Images (
ImageId int(11) NOT NULL auto_increment,
ResourceId int(11) NOT NULL default '0',
Url varchar(255) NOT NULL default '',
Name varchar(255) NOT NULL default '',
AltName VARCHAR(255) NOT NULL DEFAULT '',
ImageIndex int(11) NOT NULL default '0',
LocalImage tinyint(4) NOT NULL default '1',
LocalPath varchar(240) NOT NULL default '',
Enabled int(11) NOT NULL default '1',
DefaultImg int(11) NOT NULL default '0',
ThumbUrl varchar(255) default NULL,
Priority int(11) NOT NULL default '0',
ThumbPath varchar(255) default NULL,
LocalThumb tinyint(4) NOT NULL default '1',
SameImages tinyint(4) NOT NULL default '1',
PRIMARY KEY (ImageId),
KEY ResourceId (ResourceId),
KEY Enabled (Enabled),
KEY Priority (Priority)
);
CREATE TABLE ItemRating (
RatingId int(11) NOT NULL auto_increment,
IPAddress varchar(255) NOT NULL default '',
CreatedOn INT UNSIGNED NULL DEFAULT NULL,
RatingValue int(11) NOT NULL default '0',
ItemId int(11) NOT NULL default '0',
PRIMARY KEY (RatingId),
KEY CreatedOn (CreatedOn),
KEY ItemId (ItemId),
KEY RatingValue (RatingValue)
);
CREATE TABLE ItemReview (
ReviewId int(11) NOT NULL auto_increment,
CreatedOn INT UNSIGNED NULL DEFAULT NULL,
ReviewText longtext NOT NULL,
Rating tinyint(3) unsigned default NULL,
IPAddress varchar(255) NOT NULL default '',
ItemId int(11) NOT NULL default '0',
CreatedById int(11) NOT NULL default '-1',
ItemType tinyint(4) NOT NULL default '0',
Priority int(11) NOT NULL default '0',
Status tinyint(4) NOT NULL default '2',
TextFormat int(11) NOT NULL default '0',
Module varchar(255) NOT NULL default '',
PRIMARY KEY (ReviewId),
KEY CreatedOn (CreatedOn),
KEY ItemId (ItemId),
KEY ItemType (ItemType),
KEY Priority (Priority),
KEY Status (Status)
);
CREATE TABLE ItemTypes (
ItemType int(11) NOT NULL default '0',
Module varchar(50) NOT NULL default '',
Prefix varchar(20) NOT NULL default '',
SourceTable varchar(100) NOT NULL default '',
TitleField varchar(50) default NULL,
CreatorField varchar(255) NOT NULL default '',
PopField varchar(255) default NULL,
RateField varchar(255) default NULL,
LangVar varchar(255) NOT NULL default '',
PrimaryItem int(11) NOT NULL default '0',
EditUrl varchar(255) NOT NULL default '',
ClassName varchar(40) NOT NULL default '',
ItemName varchar(50) NOT NULL default '',
PRIMARY KEY (ItemType),
KEY Module (Module)
);
CREATE TABLE ItemFiles (
FileId int(11) NOT NULL auto_increment,
ResourceId int(11) unsigned NOT NULL default '0',
FileName varchar(255) NOT NULL default '',
FilePath varchar(255) NOT NULL default '',
Size int(11) NOT NULL default '0',
`Status` tinyint(4) NOT NULL default '1',
CreatedOn int(11) unsigned NOT NULL default '0',
CreatedById int(11) NOT NULL default '-1',
MimeType varchar(255) NOT NULL default '',
PRIMARY KEY (FileId),
KEY ResourceId (ResourceId),
KEY CreatedOn (CreatedOn),
KEY Status (Status)
);
CREATE TABLE Relationship (
RelationshipId int(11) NOT NULL auto_increment,
SourceId int(11) default NULL,
TargetId int(11) default NULL,
SourceType tinyint(4) NOT NULL default '0',
TargetType tinyint(4) NOT NULL default '0',
Type int(11) NOT NULL default '0',
Enabled int(11) NOT NULL default '1',
Priority int(11) NOT NULL default '0',
PRIMARY KEY (RelationshipId),
KEY RelSource (SourceId),
KEY RelTarget (TargetId),
KEY `Type` (`Type`),
KEY Enabled (Enabled),
KEY Priority (Priority),
KEY SourceType (SourceType),
KEY TargetType (TargetType)
);
CREATE TABLE SearchConfig (
TableName varchar(40) NOT NULL default '',
FieldName varchar(40) NOT NULL default '',
SimpleSearch tinyint(4) NOT NULL default '1',
AdvancedSearch tinyint(4) NOT NULL default '1',
Description varchar(255) default NULL,
DisplayName varchar(80) default NULL,
ModuleName VARCHAR(20) NOT NULL DEFAULT 'In-Portal',
ConfigHeader varchar(255) default NULL,
DisplayOrder int(11) NOT NULL default '0',
SearchConfigId int(11) NOT NULL auto_increment,
Priority int(11) NOT NULL default '0',
FieldType varchar(20) NOT NULL default 'text',
ForeignField TEXT,
JoinClause TEXT,
IsWhere text,
IsNotWhere text,
ContainsWhere text,
NotContainsWhere text,
CustomFieldId int(11) default NULL,
PRIMARY KEY (SearchConfigId),
KEY SimpleSearch (SimpleSearch),
KEY AdvancedSearch (AdvancedSearch),
KEY DisplayOrder (DisplayOrder),
KEY Priority (Priority),
KEY CustomFieldId (CustomFieldId)
);
CREATE TABLE SearchLog (
SearchLogId int(11) NOT NULL auto_increment,
Keyword varchar(255) NOT NULL default '',
Indices bigint(20) NOT NULL default '0',
SearchType int(11) NOT NULL default '0',
PRIMARY KEY (SearchLogId),
KEY SearchType (SearchType)
);
CREATE TABLE IgnoreKeywords (
keyword varchar(20) NOT NULL default '',
PRIMARY KEY (keyword)
);
CREATE TABLE SpamControl (
ItemResourceId int(11) NOT NULL default '0',
IPaddress varchar(20) NOT NULL default '',
Expire INT UNSIGNED NULL DEFAULT NULL,
PortalUserId int(11) NOT NULL default '0',
DataType varchar(20) default NULL,
KEY PortalUserId (PortalUserId),
KEY Expire (Expire),
KEY ItemResourceId (ItemResourceId)
);
CREATE TABLE StatItem (
StatItemId int(11) NOT NULL auto_increment,
Module varchar(20) NOT NULL default '',
ValueSQL varchar(255) default NULL,
ResetSQL varchar(255) default NULL,
ListLabel varchar(255) NOT NULL default '',
Priority int(11) NOT NULL default '0',
AdminSummary int(11) NOT NULL default '0',
PRIMARY KEY (StatItemId),
KEY AdminSummary (AdminSummary),
KEY Priority (Priority)
);
CREATE TABLE SuggestMail (
email varchar(255) NOT NULL default '',
sent INT UNSIGNED NULL DEFAULT NULL,
PRIMARY KEY (email),
KEY sent (sent)
);
CREATE TABLE SysCache (
SysCacheId int(11) NOT NULL auto_increment,
Name varchar(255) NOT NULL default '',
Value mediumtext,
Expire INT UNSIGNED NULL DEFAULT NULL,
Module varchar(20) default NULL,
Context varchar(255) default NULL,
GroupList varchar(255) NOT NULL default '',
PRIMARY KEY (SysCacheId),
KEY Name (Name)
);
CREATE TABLE TagLibrary (
TagId int(11) NOT NULL auto_increment,
name varchar(255) NOT NULL default '',
description text,
example text,
scope varchar(20) NOT NULL default 'global',
PRIMARY KEY (TagId)
);
CREATE TABLE TagAttributes (
AttrId int(11) NOT NULL auto_increment,
TagId int(11) NOT NULL default '0',
Name varchar(255) NOT NULL default '',
AttrType varchar(20) default NULL,
DefValue varchar(255) default NULL,
Description TEXT,
Required int(11) NOT NULL default '0',
PRIMARY KEY (AttrId),
KEY TagId (TagId)
);
CREATE TABLE ImportScripts (
ImportId INT(11) NOT NULL auto_increment,
Name VARCHAR(255) NOT NULL DEFAULT '',
Description TEXT NOT NULL,
Prefix VARCHAR(10) NOT NULL DEFAULT '',
Module VARCHAR(50) NOT NULL DEFAULT '',
ExtraFields VARCHAR(255) NOT NULL DEFAULT '',
Type VARCHAR(10) NOT NULL DEFAULT '',
Status TINYINT NOT NULL,
PRIMARY KEY (ImportId),
KEY Module (Module),
KEY Status (Status)
);
CREATE TABLE StylesheetSelectors (
SelectorId int(11) NOT NULL auto_increment,
StylesheetId int(11) NOT NULL default '0',
Name varchar(255) NOT NULL default '',
SelectorName varchar(255) NOT NULL default '',
SelectorData text NOT NULL,
Description text NOT NULL,
Type tinyint(4) NOT NULL default '0',
AdvancedCSS text NOT NULL,
ParentId int(11) NOT NULL default '0',
PRIMARY KEY (SelectorId),
KEY StylesheetId (StylesheetId),
KEY ParentId (ParentId),
KEY `Type` (`Type`)
);
CREATE TABLE Visits (
VisitId int(11) NOT NULL auto_increment,
VisitDate int(10) unsigned NOT NULL default '0',
Referer varchar(255) NOT NULL default '',
IPAddress varchar(15) NOT NULL default '',
AffiliateId int(10) unsigned NOT NULL default '0',
PortalUserId int(11) NOT NULL default '-2',
PRIMARY KEY (VisitId),
KEY PortalUserId (PortalUserId),
KEY AffiliateId (AffiliateId),
KEY VisitDate (VisitDate)
);
CREATE TABLE ImportCache (
CacheId int(11) NOT NULL auto_increment,
CacheName varchar(255) NOT NULL default '',
VarName int(11) NOT NULL default '0',
VarValue text NOT NULL,
PRIMARY KEY (CacheId),
KEY CacheName (CacheName),
KEY VarName (VarName)
);
CREATE TABLE RelatedSearches (
RelatedSearchId int(11) NOT NULL auto_increment,
ResourceId int(11) NOT NULL default '0',
Keyword varchar(255) NOT NULL default '',
ItemType tinyint(4) NOT NULL default '0',
Enabled tinyint(4) NOT NULL default '1',
Priority int(11) NOT NULL default '0',
PRIMARY KEY (RelatedSearchId),
KEY Enabled (Enabled),
KEY ItemType (ItemType),
KEY ResourceId (ResourceId)
);
UPDATE Modules SET Path = 'core/', Version='4.3.9' WHERE Name = 'In-Portal';
UPDATE Skins SET Logo = 'just_logo.gif' WHERE Logo = 'just_logo_1.gif';
UPDATE ConfigurationAdmin SET prompt = 'la_config_PathToWebsite' WHERE VariableName = 'Site_Path';
# ===== v 5.0.0 =====
CREATE TABLE StopWords (
StopWordId int(11) NOT NULL auto_increment,
StopWord varchar(255) NOT NULL default '',
PRIMARY KEY (StopWordId),
KEY StopWord (StopWord)
);
INSERT INTO StopWords VALUES (90, '~'),(152, 'on'),(157, 'see'),(156, 'put'),(128, 'and'),(154, 'or'),(155, 'other'),(153, 'one'),(126, 'as'),(127, 'at'),(125, 'are'),(91, '!'),(92, '@'),(93, '#'),(94, '$'),(95, '%'),(96, '^'),(97, '&'),(98, '*'),(99, '('),(100, ')'),(101, '-'),(102, '_'),(103, '='),(104, '+'),(105, '['),(106, '{'),(107, ']'),(108, '}'),(109, '\\'),(110, '|'),(111, ';'),(112, ':'),(113, ''''),(114, '"'),(115, '<'),(116, '.'),(117, '>'),(118, '/'),(119, '?'),(120, 'ah'),(121, 'all'),(122, 'also'),(123, 'am'),(124, 'an'),(151, 'of'),(150, 'note'),(149, 'not'),(148, 'no'),(147, 'may'),(146, 'its'),(145, 'it'),(144, 'is'),(143, 'into'),(142, 'in'),(141, 'had'),(140, 'has'),(139, 'have'),(138, 'from'),(137, 'form'),(136, 'for'),(135, 'end'),(134, 'each'),(133, 'can'),(132, 'by'),(130, 'be'),(131, 'but'),(129, 'any'),(158, 'that'),(159, 'the'),(160, 'their'),(161, 'there'),(162, 'these'),(163, 'they'),(164, 'this'),(165, 'through'),(166, 'thus'),(167, 'to'),(168, 'two'),(169, 'too'),(170, 'up'),(171, 'where'),(172, 'which'),(173, 'with'),(174, 'were'),(175, 'was'),(176, 'you'),(177, 'yet');
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:stop_words.view', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:stop_words.add', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:stop_words.edit', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:stop_words.delete', 11, 1, 1, 0);
INSERT INTO ConfigurationAdmin VALUES ('CheckStopWords', 'la_Text_Website', 'la_config_CheckStopWords', 'checkbox', '', '', 10.29, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'CheckStopWords', '0', 'In-Portal', 'in-portal:configure_general');
ALTER TABLE SpamControl ADD INDEX (DataType);
CREATE TABLE MailingLists (
MailingId int(10) unsigned NOT NULL auto_increment,
PortalUserId int(11) NOT NULL default '-1',
`To` longtext,
ToParsed longtext,
Attachments text,
`Subject` varchar(255) NOT NULL,
MessageText longtext,
MessageHtml longtext,
`Status` tinyint(3) unsigned NOT NULL default '1',
EmailsQueued int(10) unsigned NOT NULL,
EmailsSent int(10) unsigned NOT NULL,
EmailsTotal int(10) unsigned NOT NULL,
PRIMARY KEY (MailingId),
KEY EmailsTotal (EmailsTotal),
KEY EmailsSent (EmailsSent),
KEY EmailsQueued (EmailsQueued),
KEY `Status` (`Status`),
KEY PortalUserId (PortalUserId)
);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:mailing_lists.view', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:mailing_lists.add', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:mailing_lists.edit', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:mailing_lists.delete', 11, 1, 1, 0);
ALTER TABLE EmailQueue
ADD MailingId INT UNSIGNED NOT NULL,
ADD INDEX (MailingId);
INSERT INTO ConfigurationAdmin VALUES ('MailingListQueuePerStep', 'la_Text_smtp_server', 'la_config_MailingListQueuePerStep', 'text', NULL, NULL, 30.09, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'MailingListQueuePerStep', 10, 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationAdmin VALUES ('MailingListSendPerStep', 'la_Text_smtp_server', 'la_config_MailingListSendPerStep', 'text', NULL, NULL, 30.10, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'MailingListSendPerStep', 10, 'In-Portal', 'in-portal:configure_general');
ALTER TABLE Events ADD INDEX (Event);
ALTER TABLE SearchLog ADD INDEX (Keyword);
ALTER TABLE Skins
ADD LogoBottom VARCHAR(255) NOT NULL AFTER Logo,
ADD LogoLogin VARCHAR(255) NOT NULL AFTER LogoBottom;
UPDATE Skins
SET Logo = 'in-portal_logo_img.jpg', LogoBottom = 'in-portal_logo_img2.jpg', LogoLogin = 'in-portal_logo_login.gif'
WHERE Logo = 'just_logo_1.gif' OR Logo = 'just_logo.gif';
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SiteNameSubTitle', '', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationAdmin VALUES ('SiteNameSubTitle', 'la_Text_Website', 'la_config_SiteNameSubTitle', 'text', '', '', 10.021, 0, 0);
INSERT INTO ConfigurationAdmin VALUES ('ResizableFrames', 'la_Text_Website', 'la_config_ResizableFrames', 'checkbox', '', '', 10.30, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'ResizableFrames', '0', 'In-Portal', 'in-portal:configure_general');
INSERT INTO ConfigurationAdmin VALUES ('QuickCategoryPermissionRebuild', 'la_Text_General', 'la_config_QuickCategoryPermissionRebuild', 'checkbox', NULL , NULL , 10.12, 0, 0);
INSERT INTO ConfigurationValues VALUES (DEFAULT, 'QuickCategoryPermissionRebuild', '1', 'In-Portal', 'in-portal:configure_categories');
ALTER TABLE Language ADD UserDocsUrl VARCHAR(255) NOT NULL;
UPDATE Category SET Template = CategoryTemplate WHERE CategoryTemplate <> '';
ALTER TABLE Category
ADD ThemeId INT UNSIGNED NOT NULL,
ADD INDEX (ThemeId),
ADD COLUMN UseExternalUrl tinyint(3) unsigned NOT NULL default '0' AFTER Template,
ADD COLUMN ExternalUrl varchar(255) NOT NULL default '' AFTER UseExternalUrl,
ADD COLUMN UseMenuIconUrl tinyint(3) unsigned NOT NULL default '0' AFTER ExternalUrl,
ADD COLUMN MenuIconUrl varchar(255) NOT NULL default '' AFTER UseMenuIconUrl,
CHANGE MetaKeywords MetaKeywords TEXT,
CHANGE MetaDescription MetaDescription TEXT,
CHANGE CachedCategoryTemplate CachedTemplate VARCHAR(255) NOT NULL,
DROP CategoryTemplate;
UPDATE Category SET l1_MenuTitle = l1_Name WHERE l1_MenuTitle = '' OR l1_MenuTitle LIKE '_Auto: %';
UPDATE Category SET l2_MenuTitle = l2_Name WHERE l2_MenuTitle = '' OR l2_MenuTitle LIKE '_Auto: %';
UPDATE Category SET l3_MenuTitle = l3_Name WHERE l3_MenuTitle = '' OR l3_MenuTitle LIKE '_Auto: %';
UPDATE Category SET l4_MenuTitle = l4_Name WHERE l4_MenuTitle = '' OR l4_MenuTitle LIKE '_Auto: %';
UPDATE Category SET l5_MenuTitle = l5_Name WHERE l5_MenuTitle = '' OR l5_MenuTitle LIKE '_Auto: %';
UPDATE Category SET Template = '/platform/designs/general' WHERE Template = '/in-edit/designs/general';
UPDATE Category SET CachedTemplate = '/platform/designs/general' WHERE CachedTemplate = '/in-edit/designs/general';
UPDATE Category SET CachedTemplate = Template WHERE Template <> '';
CREATE TABLE PageContent (
PageContentId int(11) NOT NULL auto_increment,
ContentNum int(11) NOT NULL default '0',
PageId int(11) NOT NULL default '0',
l1_Content text,
l2_Content text,
l3_Content text,
l4_Content text,
l5_Content text,
l1_Translated tinyint(4) NOT NULL default '0',
l2_Translated tinyint(4) NOT NULL default '0',
l3_Translated tinyint(4) NOT NULL default '0',
l4_Translated tinyint(4) NOT NULL default '0',
l5_Translated tinyint(4) NOT NULL default '0',
PRIMARY KEY (PageContentId),
KEY ContentNum (ContentNum,PageId)
);
CREATE TABLE FormFields (
FormFieldId int(11) NOT NULL auto_increment,
FormId int(11) NOT NULL default '0',
Type int(11) NOT NULL default '0',
FieldName varchar(255) NOT NULL default '',
FieldLabel varchar(255) default NULL,
Heading varchar(255) default NULL,
Prompt varchar(255) default NULL,
ElementType varchar(50) NOT NULL default '',
ValueList varchar(255) default NULL,
Priority int(11) NOT NULL default '0',
IsSystem tinyint(3) unsigned NOT NULL default '0',
Required tinyint(1) NOT NULL default '0',
DisplayInGrid tinyint(1) NOT NULL default '1',
DefaultValue text NOT NULL,
Validation TINYINT NOT NULL DEFAULT '0',
PRIMARY KEY (FormFieldId),
KEY `Type` (`Type`),
KEY FormId (FormId),
KEY Priority (Priority),
KEY IsSystem (IsSystem),
KEY DisplayInGrid (DisplayInGrid)
);
CREATE TABLE FormSubmissions (
FormSubmissionId int(11) NOT NULL auto_increment,
FormId int(11) NOT NULL default '0',
SubmissionTime int(11) NOT NULL default '0',
PRIMARY KEY (FormSubmissionId),
KEY FormId (FormId),
KEY SubmissionTime (SubmissionTime)
);
CREATE TABLE Forms (
FormId int(11) NOT NULL auto_increment,
Title VARCHAR(255) NOT NULL DEFAULT '',
Description text,
PRIMARY KEY (FormId)
);
UPDATE Events SET Module = 'Core:Category', Description = 'la_event_FormSubmitted' WHERE Event = 'FORM.SUBMITTED';
DELETE FROM PersistantSessionData WHERE VariableName LIKE '%img%';
UPDATE Modules SET TemplatePath = Path WHERE TemplatePath <> '';
UPDATE ConfigurationValues SET VariableValue = '/platform/designs/general' WHERE VariableName = 'cms_DefaultDesign';
UPDATE ConfigurationValues SET ModuleOwner = 'In-Portal', Section = 'in-portal:configure_categories' WHERE VariableName = 'cms_DefaultDesign';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.15 WHERE VariableName = 'cms_DefaultDesign';
UPDATE Phrase SET Phrase = 'la_Regular' WHERE Phrase = 'la_regular';
UPDATE Phrase SET Module = 'Core' WHERE Phrase IN ('la_Hide', 'la_Show', 'la_fld_Requied', 'la_col_Modified', 'la_col_Referer', 'la_Regular');
UPDATE Phrase SET Phrase = 'la_title_Editing_E-mail' WHERE Phrase = 'la_title_editing_e-mail';
ALTER TABLE Phrase ADD UNIQUE (LanguageId, Phrase);
ALTER TABLE CustomField ADD IsRequired tinyint(3) unsigned NOT NULL default '0';
DELETE FROM Permissions
WHERE
(Permission LIKE 'proj-cms:structure%') OR
(Permission LIKE 'proj-cms:submissions%') OR
(Permission LIKE 'proj-base:users%') OR
(Permission LIKE 'proj-base:system_variables%') OR
(Permission LIKE 'proj-base:email_settings%') OR
(Permission LIKE 'proj-base:other_settings%') OR
(Permission LIKE 'proj-base:sysconfig%');
UPDATE Permissions SET Permission = REPLACE(Permission, 'proj-cms:browse', 'in-portal:browse_site');
UPDATE Permissions SET Permission = REPLACE(Permission, 'proj-cms:', 'in-portal:');
UPDATE Permissions SET Permission = REPLACE(Permission, 'proj-base:', 'in-portal:');
ALTER TABLE CategoryItems ADD INDEX (ItemResourceId);
ALTER TABLE CategoryItems
DROP INDEX Filename,
ADD INDEX Filename(Filename);
DROP TABLE Pages;
DELETE FROM PermissionConfig WHERE PermissionName LIKE 'PAGE.%';
DELETE FROM Permissions WHERE Permission LIKE 'PAGE.%';
DELETE FROM SearchConfig WHERE TableName = 'Pages';
DELETE FROM ConfigurationAdmin WHERE VariableName LIKE '%_pages';
DELETE FROM ConfigurationValues WHERE VariableName LIKE '%_pages';
DELETE FROM ConfigurationAdmin WHERE VariableName LIKE 'PerPage_Pages%';
DELETE FROM ConfigurationValues WHERE VariableName LIKE 'PerPage_Pages%';
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:website_setting_folder.view', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:user_setting_folder.view', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:configure_advanced.view', 11, 1, 1, 0);
INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:configure_advanced.edit', 11, 1, 1, 0);
#INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:spelling_dictionary.delete', 11, 1, 1, 0);
#INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:spelling_dictionary.edit', 11, 1, 1, 0);
#INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:spelling_dictionary.add', 11, 1, 1, 0);
#INSERT INTO Permissions VALUES (DEFAULT, 'in-portal:spelling_dictionary.view', 11, 1, 1, 0);
UPDATE ConfigurationValues
SET ModuleOwner = 'In-Portal', Section = 'in-portal:configure_general'
WHERE ModuleOwner = 'Proj-Base' AND Section IN ('proj-base:system_variables', 'proj-base:email_settings');
UPDATE ConfigurationValues
SET ModuleOwner = 'In-Portal', Section = 'in-portal:configure_advanced'
WHERE ModuleOwner = 'Proj-Base' AND Section IN ('proj-base:other_settings', 'proj-base:sysconfig');
UPDATE ConfigurationAdmin SET heading = 'la_Text_General' WHERE VariableName IN ('AdvancedUserManagement', 'RememberLastAdminTemplate', 'DefaultSettingsUserId');
UPDATE ConfigurationAdmin SET DisplayOrder = 10.011 WHERE VariableName = 'AdvancedUserManagement';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.14 WHERE VariableName = 'RememberLastAdminTemplate';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.15 WHERE VariableName = 'DefaultSettingsUserId';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.13 WHERE VariableName = 'FilenameSpecialCharReplacement';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.14 WHERE VariableName = 'YahooApplicationId';
UPDATE ConfigurationAdmin SET heading = 'la_section_SettingsMailling', prompt = 'la_prompt_AdminMailFrom', ValueList = 'size="40"', DisplayOrder = 30.07 WHERE VariableName = 'Smtp_AdminMailFrom';
UPDATE ConfigurationAdmin SET heading = 'la_section_SettingsWebsite' WHERE VariableName IN ('Site_Path','SiteNameSubTitle','UseModRewrite','Config_Server_Time','Config_Site_Time','ErrorTemplate','NoPermissionTemplate','UsePageHitCounter','ForceImageMagickResize','CheckStopWords','Site_Name');
UPDATE ConfigurationAdmin SET heading = 'la_section_SettingsSession' WHERE VariableName IN ('CookieSessions','SessionCookieName','SessionTimeout','KeepSessionOnBrowserClose','SessionReferrerCheck','UseJSRedirect');
UPDATE ConfigurationAdmin SET heading = 'la_section_SettingsSSL' WHERE VariableName IN ('SSL_URL','AdminSSL_URL','Require_SSL','Require_AdminSSL','Force_HTTP_When_SSL_Not_Required','UseModRewriteWithSSL');
UPDATE ConfigurationAdmin SET heading = 'la_section_SettingsAdmin' WHERE VariableName IN ('UseToolbarLabels','UseSmallHeader','UseColumnFreezer','UsePopups','UseDoubleSorting','MenuFrameWidth','ResizableFrames','AutoRefreshIntervals');
UPDATE ConfigurationAdmin SET heading = 'la_section_SettingsMailling' WHERE VariableName IN ('Smtp_Server','Smtp_Port','Smtp_Authenticate','Smtp_User','Smtp_Pass','Smtp_DefaultHeaders','MailFunctionHeaderSeparator','MailingListQueuePerStep','MailingListSendPerStep');
UPDATE ConfigurationAdmin SET heading = 'la_section_SettingsSystem' WHERE VariableName IN ('UseOutputCompression','OutputCompressionLevel','TrimRequiredFields','UseCronForRegularEvent','UseChangeLog','Backup_Path','SystemTagCache','SocketBlockingMode');
UPDATE ConfigurationAdmin SET heading = 'la_section_SettingsCSVExport' WHERE VariableName IN ('CSVExportDelimiter','CSVExportEnclosure','CSVExportSeparator','CSVExportEncoding');
UPDATE ConfigurationAdmin SET DisplayOrder = 10.01 WHERE VariableName = 'Site_Path';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.02 WHERE VariableName = 'SiteNameSubTitle';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.03 WHERE VariableName = 'UseModRewrite';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.04 WHERE VariableName = 'Config_Server_Time';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.05 WHERE VariableName = 'Config_Site_Time';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.06 WHERE VariableName = 'ErrorTemplate';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.07 WHERE VariableName = 'NoPermissionTemplate';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.08 WHERE VariableName = 'UsePageHitCounter';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.09 WHERE VariableName = 'ForceImageMagickResize';
UPDATE ConfigurationAdmin SET DisplayOrder = 10.10 WHERE VariableName = 'CheckStopWords';
UPDATE ConfigurationAdmin SET DisplayOrder = 20.01 WHERE VariableName = 'CookieSessions';
UPDATE ConfigurationAdmin SET DisplayOrder = 20.02 WHERE VariableName = 'SessionCookieName';
UPDATE ConfigurationAdmin SET DisplayOrder = 20.03 WHERE VariableName = 'SessionTimeout';
UPDATE ConfigurationAdmin SET DisplayOrder = 20.04 WHERE VariableName = 'KeepSessionOnBrowserClose';
UPDATE ConfigurationAdmin SET DisplayOrder = 20.05 WHERE VariableName = 'SessionReferrerCheck';
UPDATE ConfigurationAdmin SET DisplayOrder = 20.06 WHERE VariableName = 'UseJSRedirect';
UPDATE ConfigurationAdmin SET DisplayOrder = 30.01 WHERE VariableName = 'SSL_URL';
UPDATE ConfigurationAdmin SET DisplayOrder = 30.02 WHERE VariableName = 'AdminSSL_URL';
UPDATE ConfigurationAdmin SET DisplayOrder = 30.03 WHERE VariableName = 'Require_SSL';
UPDATE ConfigurationAdmin SET DisplayOrder = 30.04 WHERE VariableName = 'Require_AdminSSL';
UPDATE ConfigurationAdmin SET DisplayOrder = 30.05 WHERE VariableName = 'Force_HTTP_When_SSL_Not_Required';
UPDATE ConfigurationAdmin SET DisplayOrder = 30.06 WHERE VariableName = 'UseModRewriteWithSSL';
UPDATE ConfigurationAdmin SET DisplayOrder = 40.01 WHERE VariableName = 'UseToolbarLabels';
UPDATE ConfigurationAdmin SET DisplayOrder = 40.02 WHERE VariableName = 'UseSmallHeader';
UPDATE ConfigurationAdmin SET DisplayOrder = 40.03 WHERE VariableName = 'UseColumnFreezer';
UPDATE ConfigurationAdmin SET DisplayOrder = 40.04 WHERE VariableName = 'UsePopups';
UPDATE ConfigurationAdmin SET DisplayOrder = 40.05 WHERE VariableName = 'UseDoubleSorting';
UPDATE ConfigurationAdmin SET DisplayOrder = 40.06 WHERE VariableName = 'MenuFrameWidth';
UPDATE ConfigurationAdmin SET DisplayOrder = 40.07 WHERE VariableName = 'ResizableFrames';
UPDATE ConfigurationAdmin SET DisplayOrder = 40.08 WHERE VariableName = 'AutoRefreshIntervals';
UPDATE ConfigurationAdmin SET DisplayOrder = 50.01 WHERE VariableName = 'Smtp_Server';
UPDATE ConfigurationAdmin SET DisplayOrder = 50.02 WHERE VariableName = 'Smtp_Port';
UPDATE ConfigurationAdmin SET DisplayOrder = 50.03 WHERE VariableName = 'Smtp_Authenticate';
UPDATE ConfigurationAdmin SET DisplayOrder = 50.04 WHERE VariableName = 'Smtp_User';
UPDATE ConfigurationAdmin SET DisplayOrder = 50.05 WHERE VariableName = 'Smtp_Pass';
UPDATE ConfigurationAdmin SET DisplayOrder = 50.06 WHERE VariableName = 'Smtp_DefaultHeaders';
UPDATE ConfigurationAdmin SET DisplayOrder = 50.07 WHERE VariableName = 'MailFunctionHeaderSeparator';
UPDATE ConfigurationAdmin SET DisplayOrder = 50.08 WHERE VariableName = 'MailingListQueuePerStep';
UPDATE ConfigurationAdmin SET DisplayOrder = 50.09 WHERE VariableName = 'MailingListSendPerStep';
UPDATE ConfigurationAdmin SET DisplayOrder = 60.01 WHERE VariableName = 'UseOutputCompression';
UPDATE ConfigurationAdmin SET DisplayOrder = 60.02 WHERE VariableName = 'OutputCompressionLevel';
UPDATE ConfigurationAdmin SET DisplayOrder = 60.03 WHERE VariableName = 'TrimRequiredFields';
UPDATE ConfigurationAdmin SET DisplayOrder = 60.04 WHERE VariableName = 'UseCronForRegularEvent';
UPDATE ConfigurationAdmin SET DisplayOrder = 60.05 WHERE VariableName = 'UseChangeLog';
UPDATE ConfigurationAdmin SET DisplayOrder = 60.06 WHERE VariableName = 'Backup_Path';
UPDATE ConfigurationAdmin SET DisplayOrder = 60.07 WHERE VariableName = 'SystemTagCache';
UPDATE ConfigurationAdmin SET DisplayOrder = 60.08 WHERE VariableName = 'SocketBlockingMode';
UPDATE ConfigurationAdmin SET DisplayOrder = 70.01 WHERE VariableName = 'CSVExportDelimiter';
UPDATE ConfigurationAdmin SET DisplayOrder = 70.02 WHERE VariableName = 'CSVExportEnclosure';
UPDATE ConfigurationAdmin SET DisplayOrder = 70.03 WHERE VariableName = 'CSVExportSeparator';
UPDATE ConfigurationAdmin SET DisplayOrder = 70.04 WHERE VariableName = 'CSVExportEncoding';
UPDATE Phrase SET Phrase = 'la_section_SettingsWebsite' WHERE Phrase = 'la_Text_Website';
UPDATE Phrase SET Phrase = 'la_section_SettingsMailling' WHERE Phrase = 'la_Text_smtp_server';
UPDATE Phrase SET Phrase = 'la_section_SettingsCSVExport' WHERE Phrase = 'la_Text_CSV_Export';
DELETE FROM Phrase WHERE Phrase IN (
'la_Text_BackupPath', 'la_config_AllowManualFilenames', 'la_fld_cat_MenuLink', 'la_fld_UseCategoryTitle',
'la_In-Edit', 'la_ItemTab_Pages', 'la_Text_Pages', 'la_title_Pages', 'la_title_Page_Categories', 'lu_Pages',
'lu_page_HtmlTitle', 'lu_page_OnPageTitle', 'la_tab_AllPages', 'la_title_AllPages', 'la_title_ContentManagement',
- 'la_title_ContentManagment', 'lu_ViewSubPages'
+ 'la_title_ContentManagment', 'lu_ViewSubPages', 'la_CMS_FormSubmitted'
);
DELETE FROM Phrase WHERE (Phrase LIKE 'la_Description_In-Edit%') OR (Phrase LIKE 'la_Pages_PerPage%') OR (Phrase LIKE 'lu_PermName_Page.%');
UPDATE ConfigurationValues
SET VariableValue = 1, ModuleOwner = 'In-Portal:Users', Section = 'in-portal:configure_users'
WHERE VariableName = 'RememberLastAdminTemplate';
UPDATE ConfigurationValues
SET ModuleOwner = 'In-Portal:Users', Section = 'in-portal:configure_users'
WHERE VariableName IN ('AdvancedUserManagement', 'DefaultSettingsUserId');
INSERT INTO ConfigurationAdmin VALUES ('Search_MinKeyword_Length', 'la_Text_General', 'la_config_Search_MinKeyword_Length', 'text', NULL, NULL, 10.19, 0, 0);
UPDATE ConfigurationValues SET Section = 'in-portal:configure_categories' WHERE VariableName = 'Search_MinKeyword_Length';
UPDATE ConfigurationAdmin
SET ValueList = '=+,<SQL>SELECT DestName AS OptionName, DestId AS OptionValue FROM <PREFIX>StdDestinations WHERE COALESCE(DestParentId, 0) = 0 ORDER BY OptionName</SQL>'
WHERE VariableName = 'User_Default_Registration_Country';
UPDATE ConfigurationValues
SET ModuleOwner = 'In-Portal', Section = 'in-portal:configure_advanced'
WHERE VariableName IN (
'Site_Path', 'SiteNameSubTitle', 'CookieSessions', 'SessionCookieName', 'SessionTimeout', 'SessionReferrerCheck',
'SystemTagCache', 'SocketBlockingMode', 'SSL_URL', 'AdminSSL_URL', 'Require_SSL', 'Force_HTTP_When_SSL_Not_Required',
'UseModRewrite', 'UseModRewriteWithSSL', 'UseJSRedirect', 'UseCronForRegularEvent', 'ErrorTemplate',
'NoPermissionTemplate', 'UseOutputCompression', 'OutputCompressionLevel', 'UseToolbarLabels', 'UseSmallHeader',
'UseColumnFreezer', 'TrimRequiredFields', 'UsePageHitCounter', 'UseChangeLog', 'AutoRefreshIntervals',
'KeepSessionOnBrowserClose', 'ForceImageMagickResize', 'CheckStopWords', 'ResizableFrames', 'Config_Server_Time',
'Config_Site_Time', 'Smtp_Server', 'Smtp_Port', 'Smtp_Authenticate', 'Smtp_User', 'Smtp_Pass', 'Smtp_DefaultHeaders',
'MailFunctionHeaderSeparator', 'MailingListQueuePerStep', 'MailingListSendPerStep', 'Backup_Path',
'CSVExportDelimiter', 'CSVExportEnclosure', 'CSVExportSeparator', 'CSVExportEncoding'
);
DELETE FROM ConfigurationValues WHERE VariableName IN (
'Columns_Category', 'Perpage_Archive', 'debug', 'Perpage_User', 'Perpage_LangEmail', 'Default_FromAddr',
'email_replyto', 'email_footer', 'Default_Theme', 'Default_Language', 'User_SortField', 'User_SortOrder',
'Suggest_MinInterval', 'SubCat_ListCount', 'Timeout_Rating', 'Perpage_Relations', 'Group_SortField',
'Group_SortOrder', 'Default_FromName', 'Relation_LV_Sortfield', 'ampm_time', 'Perpage_Template',
'Perpage_Phrase', 'Perpage_Sessionlist', 'Perpage_Items', 'GuestSessions', 'Perpage_Email',
'LinksValidation_LV_Sortfield', 'CustomConfig_LV_Sortfield', 'Event_LV_SortField', 'Theme_LV_SortField',
'Template_LV_SortField', 'Lang_LV_SortField', 'Phrase_LV_SortField', 'LangEmail_LV_SortField',
'CustomData_LV_SortField', 'Summary_SortField', 'Session_SortField', 'SearchLog_SortField', 'Perpage_StatItem',
'Perpage_Groups', 'Perpage_Event', 'Perpage_BanRules', 'Perpage_SearchLog', 'Perpage_LV_lang',
'Perpage_LV_Themes', 'Perpage_LV_Catlist', 'Perpage_Reviews', 'Perpage_Modules', 'Perpage_Grouplist',
'Perpage_Images', 'EmailsL_SortField', 'Perpage_EmailsL', 'Perpage_CustomData', 'Perpage_Review',
'SearchRel_DefaultIncrease', 'SearchRel_DefaultKeyword', 'SearchRel_DefaultPop', 'SearchRel_DefaultRating',
'Category_Highlight_OpenTag', 'Category_Highlight_CloseTag', 'DomainSelect', 'MetaKeywords', 'MetaDescription',
'Config_Name', 'Config_Company', 'Config_Reg_Number', 'Config_Website_Name', 'Config_Web_Address',
'Smtp_SendHTML', 'ProjCMSAllowManualFilenames'
);
DELETE FROM ConfigurationAdmin WHERE VariableName IN ('Domain_Detect', 'Server_Name', 'ProjCMSAllowManualFilenames');
DROP TABLE SuggestMail;
ALTER TABLE ThemeFiles ADD FileMetaInfo TEXT NULL;
UPDATE SearchConfig
SET SimpleSearch = 0
WHERE FieldType NOT IN ('text', 'range') AND SimpleSearch = 1;
+DELETE FROM PersistantSessionData WHERE VariableName IN ('c_columns_.', 'c.showall_columns_.');
+
DELETE FROM Modules WHERE Name = 'Proj-Base';
UPDATE Modules SET Version = '5.0.0', Loaded = 1 WHERE Name = 'In-Portal';
\ No newline at end of file
Property changes on: branches/RC/core/install/upgrades.sql
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.19.2.97
\ No newline at end of property
+1.19.2.98
\ No newline at end of property
Index: branches/RC/core/install/english.lang
===================================================================
--- branches/RC/core/install/english.lang (revision 11684)
+++ branches/RC/core/install/english.lang (revision 11685)
@@ -1,3353 +1,3364 @@
<LANGUAGES>
<LANGUAGE PackName="English" Encoding="base64"><DATEFORMAT>m/d/Y</DATEFORMAT><TIMEFORMAT>g:i:s A</TIMEFORMAT><INPUTDATEFORMAT>m/d/Y</INPUTDATEFORMAT><INPUTTIMEFORMAT>g:i:s A</INPUTTIMEFORMAT><DECIMAL>.</DECIMAL><THOUSANDS>,</THOUSANDS><CHARSET>utf-8</CHARSET><UNITSYSTEM>2</UNITSYSTEM>
<PHRASES>
<PHRASE Label=" lu_resetpw_confirm_text" Module="Core" Type="0">WW91ciBwYXNzd29yZCBoYXMgYmVlbiByZXNldC4gWW91IHdpbGwgcmVjZWl2ZSB5b3VyIG5ldyBwYXNzd29yZCBpbiB0aGUgZW1haWwgc2hvcnRseS4=</PHRASE>
<PHRASE Label="cust_shipping_addr_block" Module="Core" Type="1">QmxvY2sgU2hpcHBpbmcgQWRkcmVzcyBFZGl0aW5n</PHRASE>
<PHRASE Label="la_Active" Module="Core" Type="1">QWN0aXZl</PHRASE>
<PHRASE Label="la_Add" Module="Core" Type="1">QWRk</PHRASE>
<PHRASE Label="la_added" Module="Core" Type="1">QWRkZWQ=</PHRASE>
<PHRASE Label="la_AddTo" Module="Core" Type="1">QWRkIFRv</PHRASE>
<PHRASE Label="la_AdministrativeConsole" Module="Core" Type="1">QWRtaW5pc3RyYXRpdmUgQ29uc29sZQ==</PHRASE>
<PHRASE Label="la_Affected_Rows" Module="Core" Type="1">QWZmZWN0ZWQgUm93cw==</PHRASE>
<PHRASE Label="la_AllowDeleteRootCats" Module="Core" Type="1">QWxsb3cgZGVsZXRpbmcgTW9kdWxlIFJvb3QgQ2F0ZWdvcnk=</PHRASE>
<PHRASE Label="la_alt_Browse" Module="Core" Type="1">VmlldyBpbiBCcm93c2UgTW9kZQ==</PHRASE>
<PHRASE Label="la_alt_GoInside" Module="Core" Type="1">R28gSW5zaWRl</PHRASE>
<PHRASE Label="la_Always" Module="Core" Type="1">QWx3YXlz</PHRASE>
<PHRASE Label="la_and" Module="Core" Type="1">YW5k</PHRASE>
<PHRASE Label="la_approve_description" Module="Core" Type="1">QWN0aXZl</PHRASE>
<PHRASE Label="la_Article_Author" Module="Core" Type="1">QXV0aG9y</PHRASE>
<PHRASE Label="la_Article_Date" Module="Core" Type="1">RGF0ZQ==</PHRASE>
<PHRASE Label="la_Article_Excerpt" Module="Core" Type="1">QXJ0aWNsZSBFeGNlcnB0</PHRASE>
<PHRASE Label="la_Article_Hits" Module="Core" Type="1">SGl0cw==</PHRASE>
<PHRASE Label="la_Article_Rating" Module="Core" Type="1">UmF0aW5n</PHRASE>
<PHRASE Label="la_article_reviewed" Module="Core" Type="1">QXJ0aWNsZSByZXZpZXdlZA==</PHRASE>
<PHRASE Label="la_Article_Title" Module="Core" Type="1">QXJ0aWNsZSBUaXRsZQ==</PHRASE>
<PHRASE Label="la_Auto" Module="Core" Type="1">QXV0bw==</PHRASE>
<PHRASE Label="la_Automatic" Module="Core" Type="1">QXV0b21hdGlj</PHRASE>
<PHRASE Label="la_AvailableColumns" Module="Core" Type="1">QXZhaWxhYmxlIENvbHVtbnM=</PHRASE>
<PHRASE Label="la_Background" Module="Core" Type="1">QmFja2dyb3VuZA==</PHRASE>
<PHRASE Label="la_ban_email" Module="Core" Type="1">QmFuIGVtYWlsIGFkZHJlc3M=</PHRASE>
<PHRASE Label="la_ban_ip" Module="Core" Type="1">QmFuIElQIGFkZHJlc3M=</PHRASE>
<PHRASE Label="la_ban_login" Module="Core" Type="1">QmFuIHVzZXIgbmFtZQ==</PHRASE>
<PHRASE Label="la_bb" Module="Core" Type="1">SW1wb3J0ZWQ=</PHRASE>
<PHRASE Label="la_Borders" Module="Core" Type="1">Qm9yZGVycw==</PHRASE>
<PHRASE Label="la_btn_Cancel" Module="Core" Type="1">Q2FuY2Vs</PHRASE>
<PHRASE Label="la_btn_Change" Module="Core" Type="1">Q2hhbmdl</PHRASE>
<PHRASE Label="la_btn_Delete" Module="Core" Type="1">RGVsZXRl</PHRASE>
<PHRASE Label="la_btn_Down" Module="Core" Type="1">RG93bg==</PHRASE>
<PHRASE Label="la_btn_Edit" Module="Core" Type="1">RWRpdA==</PHRASE>
<PHRASE Label="la_btn_MoveDown" Module="Core" Type="1">TW92ZSBEb3du</PHRASE>
<PHRASE Label="la_btn_MoveUp" Module="Core" Type="1">TW92ZSBVcA==</PHRASE>
<PHRASE Label="la_btn_Save" Module="Core" Type="1">U2F2ZQ==</PHRASE>
<PHRASE Label="la_btn_Up" Module="Core" Type="1">VXA=</PHRASE>
<PHRASE Label="la_button_ok" Module="Core" Type="1">T0s=</PHRASE>
<PHRASE Label="la_bytes" Module="Core" Type="1">Ynl0ZXM=</PHRASE>
<PHRASE Label="la_by_theme" Module="Core" Type="1">QnkgdGhlbWU=</PHRASE>
<PHRASE Label="la_Cancel" Module="Core" Type="1">Q2FuY2Vs</PHRASE>
<PHRASE Label="la_category" Module="Core" Type="1">Q2F0ZWdvcnk=</PHRASE>
<PHRASE Label="la_CategoryIndex" Module="Core" Type="1">Q2F0ZWdvcnkgSW5kZXg=</PHRASE>
<PHRASE Label="la_Category_Date" Module="Core" Type="1">RGF0ZQ==</PHRASE>
<PHRASE Label="la_category_daysnew_prompt" Module="Core" Type="1">TnVtYmVyIG9mIGRheXMgZm9yIGEgY2F0LiB0byBiZSBORVc=</PHRASE>
<PHRASE Label="la_Category_Description" Module="Core" Type="1">Q2F0ZWdvcnkgRGVzY3JpcHRpb24=</PHRASE>
<PHRASE Label="la_category_metadesc" Module="Core" Type="1">RGVmYXVsdCBNRVRBIGRlc2NyaXB0aW9u</PHRASE>
<PHRASE Label="la_category_metakey" Module="Core" Type="1">RGVmYXVsdCBNRVRBIEtleXdvcmRz</PHRASE>
<PHRASE Label="la_Category_Name" Module="Core" Type="1">Q2F0ZWdvcnkgTmFtZQ==</PHRASE>
<PHRASE Label="la_category_perpage_prompt" Module="Core" Type="1">TnVtYmVyIG9mIGNhdGVnb3JpZXMgcGVyIHBhZ2U=</PHRASE>
<PHRASE Label="la_category_perpage__short_prompt" Module="Core" Type="1">Q2F0ZWdvcmllcyBQZXIgUGFnZSAoU2hvcnRsaXN0KQ==</PHRASE>
<PHRASE Label="la_Category_Pick" Module="Core" Type="1">UGljaw==</PHRASE>
<PHRASE Label="la_Category_Pop" Module="Core" Type="1">UG9wdWxhcml0eQ==</PHRASE>
<PHRASE Label="la_category_showpick_prompt" Module="Core" Type="1">RGlzcGxheSBlZGl0b3IgUElDS3MgYWJvdmUgcmVndWxhciBjYXRlZ29yaWVz</PHRASE>
<PHRASE Label="la_category_sortfield2_prompt" Module="Core" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
<PHRASE Label="la_category_sortfield_prompt" Module="Core" Type="1">T3JkZXIgY2F0ZWdvcmllcyBieQ==</PHRASE>
<PHRASE Label="la_Close" Module="Core" Type="1">Q2xvc2U=</PHRASE>
<PHRASE Label="la_ColHeader_AltValue" Module="Core" Type="1">QWx0IFZhbHVl</PHRASE>
<PHRASE Label="la_ColHeader_BadWord" Module="Core" Type="1">Q2Vuc29yZWQgV29yZA==</PHRASE>
<PHRASE Label="la_ColHeader_CreatedOn" Module="Core" Type="2">Q3JlYXRlZCBPbg==</PHRASE>
<PHRASE Label="la_ColHeader_Date" Module="Core" Type="1">RGF0ZS9UaW1l</PHRASE>
<PHRASE Label="la_ColHeader_Enabled" Module="Core" Type="1">U3RhdHVz</PHRASE>
<PHRASE Label="la_ColHeader_FieldLabel" Module="Core" Type="1">TGFiZWw=</PHRASE>
<PHRASE Label="la_ColHeader_FieldName" Module="Core" Type="1">RmllbGQgTmFtZQ==</PHRASE>
<PHRASE Label="la_Colheader_GroupType" Module="Core" Type="1">VHlwZQ==</PHRASE>
<PHRASE Label="la_ColHeader_Image" Module="Core" Type="1">SW1hZ2U=</PHRASE>
<PHRASE Label="la_ColHeader_InheritFrom" Module="Core" Type="1">SW5oZXJpdGVkIEZyb20=</PHRASE>
<PHRASE Label="la_ColHeader_Item" Module="Core" Type="1">SXRlbQ==</PHRASE>
<PHRASE Label="la_Colheader_ItemField" Module="Core" Type="1">SXRlbSBGaWVsZA==</PHRASE>
<PHRASE Label="la_ColHeader_ItemType" Module="Core" Type="1">SXRlbSBUeXBl</PHRASE>
<PHRASE Label="la_Colheader_ItemValue" Module="Core" Type="1">SXRlbSBWYWx1ZQ==</PHRASE>
<PHRASE Label="la_ColHeader_ItemVerb" Module="Core" Type="1">Q29tcGFyaXNvbiBPcGVyYXRvcg==</PHRASE>
<PHRASE Label="la_ColHeader_Name" Module="Core" Type="2">TGluayBOYW1l</PHRASE>
<PHRASE Label="la_ColHeader_PermAccess" Module="Core" Type="1">QWNjZXNz</PHRASE>
<PHRASE Label="la_ColHeader_PermInherited" Module="Core" Type="1">SW5oZXJpdGVk</PHRASE>
<PHRASE Label="la_ColHeader_Poster" Module="Core" Type="1">UG9zdGVy</PHRASE>
<PHRASE Label="la_ColHeader_Preview" Module="Core" Type="1">UHJldmlldw==</PHRASE>
<PHRASE Label="la_ColHeader_Replacement" Module="Core" Type="1">UmVwbGFjZW1lbnQ=</PHRASE>
<PHRASE Label="la_ColHeader_Reply" Module="Core" Type="1">UmVwbGllcw==</PHRASE>
<PHRASE Label="la_ColHeader_RuleType" Module="Core" Type="1">UnVsZSBUeXBl</PHRASE>
<PHRASE Label="la_ColHeader_Status" Module="Core" Type="1">U3RhdHVz</PHRASE>
<PHRASE Label="la_ColHeader_Topic" Module="Core" Type="1">VG9waWM=</PHRASE>
<PHRASE Label="la_ColHeader_Url" Module="Core" Type="1">VVJM</PHRASE>
<PHRASE Label="la_ColHeader_ValidationStatus" Module="Core" Type="2">U3RhdHVz</PHRASE>
<PHRASE Label="la_ColHeader_ValidationTime" Module="Core" Type="2">VmFsaWRhdGVkIE9u</PHRASE>
<PHRASE Label="la_ColHeader_Value" Module="Core" Type="1">VmFsdWU=</PHRASE>
<PHRASE Label="la_ColHeader_Views" Module="Core" Type="1">Vmlld3M=</PHRASE>
<PHRASE Label="la_col_Access" Module="Core" Type="1">QWNjZXNz</PHRASE>
<PHRASE Label="la_col_Action" Module="Core" Type="1">QWN0aW9u</PHRASE>
<PHRASE Label="la_col_AdditionalPermissions" Module="Core" Type="1">QWRkaXRpb25hbA==</PHRASE>
<PHRASE Label="la_col_AdminInterfaceLang" Module="Core" Type="1">QWRtaW4gUHJpbWFyeQ==</PHRASE>
<PHRASE Label="la_col_AffectedItems" Module="Core" Type="1">QWZmZWN0ZWQgSXRlbXM=</PHRASE>
<PHRASE Label="la_col_Basedon" Module="Core" Type="1">QmFzZWQgT24=</PHRASE>
<PHRASE Label="la_col_Category" Module="Core" Type="1">Q2F0ZWdvcnk=</PHRASE>
<PHRASE Label="la_col_CategoryName" Module="Core" Type="1">Q2F0ZWdvcnkgTmFtZQ==</PHRASE>
<PHRASE Label="la_col_Changes" Module="Core" Type="1">Q2hhbmdlcw==</PHRASE>
<PHRASE Label="la_col_Country" Module="Core" Type="1">Q291bnRyeQ==</PHRASE>
<PHRASE Label="la_col_CreatedOn" Module="Core" Type="1">Q3JlYXRlZCBPbg==</PHRASE>
<PHRASE Label="la_col_Description" Module="Core" Type="1">RGVzY3JpcHRpb24=</PHRASE>
<PHRASE Label="la_col_Duration" Module="Core" Type="1">RHVyYXRpb24=</PHRASE>
<PHRASE Label="la_col_DurationType" Module="Core" Type="1">RHVyYXRpb24gVHlwZQ==</PHRASE>
<PHRASE Label="la_col_Effective" Module="Core" Type="1">RWZmZWN0aXZl</PHRASE>
<PHRASE Label="la_col_Email" Module="Core" Type="1">RW1haWw=</PHRASE>
<PHRASE Label="la_col_EmailsQueued" Module="Core" Type="1">RW1haWxzIFF1ZXVlZA==</PHRASE>
<PHRASE Label="la_col_EmailsSent" Module="Core" Type="1">RW1haWxzIFNlbnQ=</PHRASE>
<PHRASE Label="la_col_EmailsTotal" Module="Core" Type="1">RW1haWxzIFRvdGFs</PHRASE>
<PHRASE Label="la_col_EndDate" Module="Core" Type="1">RW5kIERhdGU=</PHRASE>
<PHRASE Label="la_col_Error" Module="Core" Type="1">Jm5ic3A7</PHRASE>
<PHRASE Label="la_col_Event" Module="Core" Type="1">RXZlbnQ=</PHRASE>
<PHRASE Label="la_col_FieldComparision" Module="Core" Type="1">RmllbGQgQ29tcGFyaXNpb24=</PHRASE>
<PHRASE Label="la_col_FieldName" Module="Core" Type="1">RmllbGQgTmFtZQ==</PHRASE>
<PHRASE Label="la_col_FieldValue" Module="Core" Type="1">RmllbGQgVmFsdWU=</PHRASE>
<PHRASE Label="la_col_FirstName" Module="Core" Type="1">Rmlyc3QgTmFtZQ==</PHRASE>
<PHRASE Label="la_col_FrontRegistration" Module="Core" Type="1">QWxsb3cgUmVnaXN0cmF0aW9uIG9uIEZyb250LWVuZA==</PHRASE>
<PHRASE Label="la_col_GroupName" Module="Core" Type="1">R3JvdXAgTmFtZQ==</PHRASE>
<PHRASE Label="la_col_Id" Module="Core" Type="1">SUQ=</PHRASE>
<PHRASE Label="la_col_Image" Module="Core" Type="1">SW1hZ2U=</PHRASE>
<PHRASE Label="la_col_ImageEnabled" Module="Core" Type="1">U3RhdHVz</PHRASE>
<PHRASE Label="la_col_ImageName" Module="Core" Type="1">SW1hZ2U=</PHRASE>
<PHRASE Label="la_col_ImageUrl" Module="Core" Type="1">VVJM</PHRASE>
<PHRASE Label="la_col_Inherited" Module="Core" Type="1">SW5oZXJpdGVk</PHRASE>
<PHRASE Label="la_col_InheritedFrom" Module="Core" Type="1">SW5oZXJpdGVkIEZyb20=</PHRASE>
<PHRASE Label="la_col_IP" Module="Core" Type="1">SVAgQWRkcmVzcw==</PHRASE>
<PHRASE Label="la_col_IsPopular" Module="Core" Type="1">UG9wdWxhcg==</PHRASE>
<PHRASE Label="la_col_IsPrimary" Module="Core" Type="1">UHJpbWFyeQ==</PHRASE>
<PHRASE Label="la_col_IsSystem" Module="Core" Type="1">U3lzdGVt</PHRASE>
<PHRASE Label="la_col_ItemField" Module="Core" Type="1">SXRlbSBGaWVsZA==</PHRASE>
<PHRASE Label="la_col_ItemId" Module="Core" Type="1">SXRlbSBJRA==</PHRASE>
<PHRASE Label="la_col_ItemPrefix" Module="Core" Type="1">SXRlbSBQcmVmaXg=</PHRASE>
<PHRASE Label="la_col_Keyword" Module="Core" Type="1">S2V5d29yZA==</PHRASE>
<PHRASE Label="la_col_Label" Module="Core" Type="1">TGFiZWw=</PHRASE>
<PHRASE Label="la_col_Language" Module="Core" Type="1">TGFuZ3VhZ2U=</PHRASE>
<PHRASE Label="la_col_LastChanged" Module="Core" Type="1">TGFzdCBDaGFuZ2Vk</PHRASE>
<PHRASE Label="la_col_LastCompiled" Module="Core" Type="1">TGFzdCBDb21waWxlZA==</PHRASE>
<PHRASE Label="la_col_LastName" Module="Core" Type="1">TGFzdCBOYW1l</PHRASE>
<PHRASE Label="la_col_LastRunOn" Module="Core" Type="1">TGFzdCBSdW4gT24=</PHRASE>
<PHRASE Label="la_col_LastRunStatus" Module="Core" Type="1">TGFzdCBSdW4gU3RhdHVz</PHRASE>
<PHRASE Label="la_col_LastSendRetry" Module="Core" Type="1">TGFzdCBTZW5kIFJldHJ5</PHRASE>
<PHRASE Label="la_col_LinkUrl" Module="Core" Type="1">TGluayBVUkw=</PHRASE>
<PHRASE Label="la_col_LocalName" Module="Core" Type="1">TmFtZQ==</PHRASE>
<PHRASE Label="la_col_Location" Module="Core" Type="1">TG9jYXRpb24=</PHRASE>
<PHRASE Label="la_col_Login" Module="Core" Type="1">TG9naW4=</PHRASE>
<PHRASE Label="la_col_MailingList" Module="Core" Type="1">TWFpbGluZyBMaXN0</PHRASE>
<PHRASE Label="la_col_MasterId" Module="Core" Type="1">TWFzdGVyIElE</PHRASE>
<PHRASE Label="la_col_MasterPrefix" Module="Core" Type="1">TWFzdGVyIFByZWZpeA==</PHRASE>
<PHRASE Label="la_col_MembershipExpires" Module="Core" Type="1">TWVtYmVyc2hpcCBFeHBpcmVz</PHRASE>
<PHRASE Label="la_col_MessageHeaders" Module="Core" Type="1">TWVzc2FnZSBIZWFkZXJz</PHRASE>
<PHRASE Label="la_col_MessageHtml" Module="Core" Type="1">TWVzc2FnZSBIdG1s</PHRASE>
<PHRASE Label="la_col_MessageText" Module="Core" Type="1">TWVzc2FnZSBUZXh0</PHRASE>
<PHRASE Label="la_col_MisspelledWord" Module="Core" Type="1">TWlzc3BlbGxlZCBXb3Jk</PHRASE>
<PHRASE Label="la_col_Modified" Module="Core" Type="1">TGFzdCBVcGRhdGVk</PHRASE>
<PHRASE Label="la_col_Module" Module="Core" Type="1">TW9kdWxl</PHRASE>
<PHRASE Label="la_col_Name" Module="Core" Type="1">TmFtZQ==</PHRASE>
<PHRASE Label="la_col_NextRunOn" Module="Core" Type="1">TmV4dCBSdW4gT24=</PHRASE>
<PHRASE Label="la_col_OccuredOn" Module="Core" Type="1">T2NjdXJlZCBPbg==</PHRASE>
<PHRASE Label="la_col_PackName" Module="Core" Type="1">UGFjayBOYW1l</PHRASE>
<PHRASE Label="la_col_PageId" Module="Core" Type="1">SUQ=</PHRASE>
<PHRASE Label="la_col_PageTitle" Module="Core" Type="1">UGFnZSBUaXRsZQ==</PHRASE>
<PHRASE Label="la_col_Path" Module="Core" Type="1">UGF0aA==</PHRASE>
<PHRASE Label="la_col_PermAdd" Module="Core" Type="1">QWRk</PHRASE>
<PHRASE Label="la_col_PermDelete" Module="Core" Type="1">RGVsZXRl</PHRASE>
<PHRASE Label="la_col_PermEdit" Module="Core" Type="1">RWRpdA==</PHRASE>
<PHRASE Label="la_col_PermissionName" Module="Core" Type="1">UGVybWlzc2lvbiBOYW1l</PHRASE>
<PHRASE Label="la_col_PermissionValue" Module="Core" Type="1">QWNjZXNz</PHRASE>
<PHRASE Label="la_col_PermView" Module="Core" Type="1">Vmlldw==</PHRASE>
<PHRASE Label="la_col_PhraseType" Module="Core" Type="1">VHlwZQ==</PHRASE>
<PHRASE Label="la_col_PortalUserId" Module="Core" Type="1">VXNlciBJRA==</PHRASE>
<PHRASE Label="la_col_Prefix" Module="Core" Type="1">UHJlZml4</PHRASE>
<PHRASE Label="la_col_Preview" Module="Core" Type="1">UHJldmlldw==</PHRASE>
<PHRASE Label="la_col_PrimaryGroup" Module="Core" Type="1">UHJpbWFyeSBHcm91cA==</PHRASE>
<PHRASE Label="la_col_PrimaryValue" Module="Core" Type="1">UHJpbWFyeSBWYWx1ZQ==</PHRASE>
<PHRASE Label="la_col_Priority" Module="Core" Type="1">UHJpb3JpdHk=</PHRASE>
<PHRASE Label="la_col_Prompt" Module="Core" Type="1">RmllbGQgUHJvbXB0</PHRASE>
<PHRASE Label="la_col_Queued" Module="Core" Type="1">UXVldWVk</PHRASE>
<PHRASE Label="la_col_Rating" Module="Core" Type="1">UmF0aW5n</PHRASE>
<PHRASE Label="la_col_Referer" Module="Core" Type="1">UmVmZXJlcg==</PHRASE>
<PHRASE Label="la_col_RelationshipType" Module="Core" Type="1">UmVsYXRpb24gVHlwZQ==</PHRASE>
<PHRASE Label="la_col_ReviewedBy" Module="Core" Type="1">UmV2aWV3ZWQgQnk=</PHRASE>
<PHRASE Label="la_col_ReviewText" Module="Core" Type="1">UmV2aWV3IFRleHQ=</PHRASE>
<PHRASE Label="la_col_RuleType" Module="Core" Type="1">UnVsZSBUeXBl</PHRASE>
<PHRASE Label="la_col_RunInterval" Module="Core" Type="1">UnVuIEludGVydmFs</PHRASE>
<PHRASE Label="la_col_RunMode" Module="Core" Type="1">UnVuIE1vZGU=</PHRASE>
<PHRASE Label="la_col_SearchTerm" Module="Core" Type="1">U2VhcmNoIFRlcm0=</PHRASE>
<PHRASE Label="la_col_SelectorName" Module="Core" Type="1">U2VsZWN0b3I=</PHRASE>
<PHRASE Label="la_col_SendRetries" Module="Core" Type="1">U2VuZCBSZXRyaWVz</PHRASE>
<PHRASE Label="la_col_SessionEnd" Module="Core" Type="1">U2Vzc2lvbiBFbmQ=</PHRASE>
<PHRASE Label="la_col_SessionLogId" Module="Core" Type="1">U2Vzc2lvbiBMb2cgSUQ=</PHRASE>
<PHRASE Label="la_col_SessionStart" Module="Core" Type="1">U2Vzc2lvbiBTdGFydA==</PHRASE>
<PHRASE Label="la_col_SkinName" Module="Core" Type="1">TmFtZQ==</PHRASE>
<PHRASE Label="la_col_Status" Module="Core" Type="1">U3RhdHVz</PHRASE>
<PHRASE Label="la_col_StopWord" Module="Core" Type="1">U3RvcCBXb3Jk</PHRASE>
<PHRASE Label="la_col_Subject" Module="Core" Type="1">U3ViamVjdA==</PHRASE>
<PHRASE Label="la_col_SuggestedCorrection" Module="Core" Type="1">U3VnZ2VzdGVkIENvcnJlY3Rpb24=</PHRASE>
<PHRASE Label="la_col_System" Module="Core" Type="1">UGFnZSBUeXBl</PHRASE>
<PHRASE Label="la_col_TargetId" Module="Core" Type="1">SXRlbQ==</PHRASE>
<PHRASE Label="la_col_TargetType" Module="Core" Type="1">SXRlbSBUeXBl</PHRASE>
<PHRASE Label="la_col_TemplateType" Module="Core" Type="1">VGVtcGxhdGUgVHlwZQ==</PHRASE>
<PHRASE Label="la_col_ThesaurusTerm" Module="Core" Type="1">VGhlc2F1cnVzIFRlcm0=</PHRASE>
<PHRASE Label="la_col_ThesaurusType" Module="Core" Type="1">VGhlc2F1cnVzIFR5cGU=</PHRASE>
<PHRASE Label="la_col_Title" Module="Core" Type="1">VGl0bGU=</PHRASE>
<PHRASE Label="la_col_Translation" Module="Core" Type="1">VmFsdWU=</PHRASE>
<PHRASE Label="la_col_Type" Module="Core" Type="1">VHlwZQ==</PHRASE>
<PHRASE Label="la_col_UserCount" Module="Core" Type="1">VXNlciBDb3VudA==</PHRASE>
<PHRASE Label="la_col_UserFirstLastName" Module="Core" Type="1">TGFzdG5hbWUgRmlyc3RuYW1l</PHRASE>
<PHRASE Label="la_col_Username" Module="Core" Type="1">VXNlcm5hbWU=</PHRASE>
<PHRASE Label="la_col_Value" Module="Core" Type="1">RmllbGQgVmFsdWU=</PHRASE>
<PHRASE Label="la_col_Version" Module="Core" Type="1">VmVyc2lvbg==</PHRASE>
<PHRASE Label="la_col_Visible" Module="Core" Type="1">VmlzaWJsZQ==</PHRASE>
<PHRASE Label="la_col_VisitDate" Module="Core" Type="1">VmlzaXQgRGF0ZQ==</PHRASE>
<PHRASE Label="la_comma" Module="Core" Type="1">Q29tbWE=</PHRASE>
<PHRASE Label="la_common_ascending" Module="Core" Type="1">QXNjZW5kaW5n</PHRASE>
<PHRASE Label="la_common_CreatedOn" Module="Core" Type="1">RGF0ZQ==</PHRASE>
<PHRASE Label="la_common_descending" Module="Core" Type="1">RGVzY2VuZGluZw==</PHRASE>
<PHRASE Label="la_common_ReviewText" Module="Core" Type="1">UmV2aWV3IFRleHQ=</PHRASE>
<PHRASE Label="la_configerror_review" Module="Core" Type="1">UmV2aWV3IG5vdCBhZGRlZCBkdWUgdG8gYSBzeXN0ZW0gZXJyb3I=</PHRASE>
<PHRASE Label="la_config_AdminSSL_URL" Module="Core" Type="1">U1NMIEZ1bGwgVVJMIGZvciBBZG1pbmlzdHJhdGl2ZSBDb25zb2xlIChodHRwczovL3d3dy5kb21haW4uY29tL3BhdGgpIA==</PHRASE>
<PHRASE Label="la_config_AllowSelectGroupOnFront" Module="Core" Type="1">QWxsb3cgdG8gc2VsZWN0IG1lbWJlcnNoaXAgZ3JvdXAgb24gRnJvbnQtZW5k</PHRASE>
<PHRASE Label="la_config_AutoRefreshIntervals" Module="Core" Type="1">TGlzdCBhdXRvbWF0aWMgcmVmcmVzaCBpbnRlcnZhbHMgKGluIG1pbnV0ZXMp</PHRASE>
<PHRASE Label="la_config_backup_path" Module="Core" Type="1">QmFja3VwIFBhdGg=</PHRASE>
<PHRASE Label="la_config_CatalogPreselectModuleTab" Module="Core" Type="1">U3dpdGNoIENhdGFsb2cgdGFicyBiYXNlZCBvbiBNb2R1bGU=</PHRASE>
<PHRASE Label="la_config_CheckStopWords" Module="Core" Type="1">Q2hlY2sgU3RvcCBXb3Jkcw==</PHRASE>
<PHRASE Label="la_config_company" Module="Core" Type="1">Q29tcGFueQ==</PHRASE>
<PHRASE Label="la_config_CSVExportDelimiter" Module="Core" Type="1">RGVmYXVsdCBDU1YgRXhwb3J0IERlbGltaXRlcg==</PHRASE>
<PHRASE Label="la_config_CSVExportEnclosure" Module="Core" Type="1">RGVmYXVsdCBDU1YgRXhwb3J0IEVuY2xvc3VyZSBDaGFyYWN0ZXI=</PHRASE>
<PHRASE Label="la_config_CSVExportEncoding" Module="Core" Type="1">RGVmYXVsdCBDU1YgRXhwb3J0IEVuY29kaW5n</PHRASE>
<PHRASE Label="la_config_CSVExportSeparator" Module="Core" Type="1">RGVmYXVsdCBDU1YgRXhwb3J0IE5ldyBMaW5lIFNlcGFyYXRvcg==</PHRASE>
<PHRASE Label="la_config_DefaultRegistrationCountry" Module="Core" Type="1">RGVmYXVsdCBSZWdpc3RyYXRpb24gQ291bnRyeQ==</PHRASE>
<PHRASE Label="la_config_error_template" Module="Core" Type="1">RmlsZSBub3QgZm91bmQgKDQwNCkgdGVtcGxhdGU=</PHRASE>
<PHRASE Label="la_config_FilenameSpecialCharReplacement" Module="Core" Type="1">RmlsZW5hbWUgU3BlY2lhbCBDaGFyIFJlcGxhY2VtZW50</PHRASE>
<PHRASE Label="la_config_first_day_of_week" Module="Core" Type="1">Rmlyc3QgRGF5IE9mIFdlZWs=</PHRASE>
<PHRASE Label="la_config_ForceImageMagickResize" Module="Core" Type="1">QWx3YXlzIHVzZSBJbWFnZU1hZ2ljayB0byByZXNpemUgaW1hZ2Vz</PHRASE>
<PHRASE Label="la_config_force_http" Module="Core" Type="1">UmVkaXJlY3QgdG8gSFRUUCB3aGVuIFNTTCBpcyBub3QgcmVxdWlyZWQ=</PHRASE>
<PHRASE Label="la_config_FullImageHeight" Module="Core" Type="1">RnVsbCBpbWFnZSBIZWlnaHQ=</PHRASE>
<PHRASE Label="la_config_FullImageWidth" Module="Core" Type="1">RnVsbCBpbWFnZSBXaWR0aA==</PHRASE>
<PHRASE Label="la_config_KeepSessionOnBrowserClose" Module="Core" Type="1">S2VlcCBTZXNzaW9uIGFsaXZlIG9uIEJyb3dzZXIgY2xvc2U=</PHRASE>
<PHRASE Label="la_config_MailFunctionHeaderSeparator" Module="Core" Type="1">TWFpbCBGdW5jdGlvbiBIZWFkZXIgU2VwYXJhdG9y</PHRASE>
<PHRASE Label="la_config_MailingListQueuePerStep" Module="Core" Type="1">TWFpbGluZyBMaXN0IFF1ZXVlIFBlciBTdGVw</PHRASE>
<PHRASE Label="la_config_MailingListSendPerStep" Module="Core" Type="1">TWFpbGluZyBMaXN0IFNlbmQgUGVyIFN0ZXA=</PHRASE>
<PHRASE Label="la_config_MaxImageCount" Module="Core" Type="1">TWF4aW11bSBudW1iZXIgb2YgaW1hZ2Vz</PHRASE>
<PHRASE Label="la_config_name" Module="Core" Type="1">TmFtZQ==</PHRASE>
<PHRASE Label="la_config_nopermission_template" Module="Core" Type="1">SW5zdWZmaWNlbnQgcGVybWlzc2lvbnMgdGVtcGxhdGU=</PHRASE>
<PHRASE Label="la_config_OutputCompressionLevel" Module="Core" Type="1">R1pJUCBjb21wcmVzc2lvbiBsZXZlbCAwLTk=</PHRASE>
<PHRASE Label="la_config_PathToWebsite" Module="Core" Type="1">UGF0aCB0byBXZWJzaXRl</PHRASE>
<PHRASE Label="la_config_PerpageReviews" Module="Core" Type="1">UmV2aWV3cyBwZXIgcGFnZQ==</PHRASE>
<PHRASE Label="la_config_QuickCategoryPermissionRebuild" Module="Core" Type="1">UXVpY2sgQ2F0ZWdvcnkgUGVybWlzc2lvbiBSZWJ1aWxk</PHRASE>
<PHRASE Label="la_config_RecycleBinFolder" Module="Core" Type="1">IlJlY3ljbGUgQmluIiBDYXRlZ29yeUlk</PHRASE>
<PHRASE Label="la_config_reg_number" Module="Core" Type="1">UmVnaXN0cmF0aW9uIE51bWJlcg==</PHRASE>
<PHRASE Label="la_config_RememberLastAdminTemplate" Module="Core" Type="1">UmVtZW1iZXIgTGFzdCBBZG1pbiBUZW1wbGF0ZQ==</PHRASE>
<PHRASE Label="la_config_RequireSSLAdmin" Module="Core" Type="1">UmVxdWlyZSBTU0wgZm9yIEFkbWluaXN0cmF0aXZlIENvbnNvbGU=</PHRASE>
<PHRASE Label="la_config_require_ssl" Module="Core" Type="1">UmVxdWlyZSBTU0wgZm9yIGxvZ2luICYgY2hlY2tvdXQ=</PHRASE>
<PHRASE Label="la_config_ResizableFrames" Module="Core" Type="1">RnJhbWVzIGluIGFkbWluaXN0cmF0aXZlIGNvbnNvbGUgYXJlIHJlc2l6YWJsZQ==</PHRASE>
<PHRASE Label="la_config_Search_MinKeyword_Length" Module="Core" Type="1">TWluaW1hbCBTZWFyY2ggS2V5d29yZCBMZW5ndGg=</PHRASE>
<PHRASE Label="la_config_server_name" Module="Core" Type="1">U2VydmVyIE5hbWU=</PHRASE>
<PHRASE Label="la_config_server_path" Module="Core" Type="1">U2VydmVyIFBhdGg=</PHRASE>
<PHRASE Label="la_config_SiteAdmin" Module="Core" Type="1">U2l0ZSBBZG1pbg==</PHRASE>
<PHRASE Label="la_config_SiteNameSubTitle" Module="Core" Type="1">V2Vic2l0ZSBTdWJ0aXRsZQ==</PHRASE>
<PHRASE Label="la_config_site_zone" Module="Core" Type="1">VGltZSB6b25lIG9mIHRoZSBzaXRl</PHRASE>
<PHRASE Label="la_config_ssl_url" Module="Core" Type="1">U1NMIEZ1bGwgVVJMIChodHRwczovL3d3dy5kb21haW4uY29tL3BhdGgp</PHRASE>
<PHRASE Label="la_config_ThumbnailImageHeight" Module="Core" Type="1">VGh1bWJuYWlsIEhlaWdodA==</PHRASE>
<PHRASE Label="la_config_ThumbnailImageWidth" Module="Core" Type="1">VGh1bWJuYWlsIFdpZHRo</PHRASE>
<PHRASE Label="la_config_time_server" Module="Core" Type="1">VGltZSB6b25lIG9mIHRoZSBzZXJ2ZXI=</PHRASE>
<PHRASE Label="la_config_TrimRequiredFields" Module="Core" Type="1">VHJpbSBSZXF1aXJlZCBGaWVsZHM=</PHRASE>
<PHRASE Label="la_config_UseChangeLog" Module="Core" Type="1">VHJhY2sgZGF0YWJhc2UgY2hhbmdlcyB0byBjaGFuZ2UgbG9n</PHRASE>
<PHRASE Label="la_config_UseColumnFreezer" Module="Core" Type="1">VXNlIENvbHVtbiBGcmVlemVy</PHRASE>
<PHRASE Label="la_config_UseDoubleSorting" Module="Core" Type="1">VXNlIERvdWJsZSBTb3J0aW5n</PHRASE>
<PHRASE Label="la_config_UseOutputCompression" Module="Core" Type="1">RW5hYmxlIEhUTUwgR1pJUCBjb21wcmVzc2lvbg==</PHRASE>
<PHRASE Label="la_config_UsePageHitCounter" Module="Core" Type="1">VXNlIFBhZ2VIaXQgY291bnRlcg==</PHRASE>
<PHRASE Label="la_config_UsePopups" Module="Core" Type="1">VXNlIFBvcHVwcyBmb3IgRWRpdGluZw==</PHRASE>
<PHRASE Label="la_config_UseSmallHeader" Module="Core" Type="1">VXNlIFNtYWxsIFNlY3Rpb24gSGVhZGVycw==</PHRASE>
<PHRASE Label="la_config_UseToolbarLabels" Module="Core" Type="1">VXNlIFRvb2xiYXIgTGFiZWxz</PHRASE>
<PHRASE Label="la_config_use_js_redirect" Module="Core" Type="1">VXNlIEphdmFTY3JpcHQgcmVkaXJlY3Rpb24gYWZ0ZXIgbG9naW4vbG9nb3V0IChmb3IgSUlTKQ==</PHRASE>
<PHRASE Label="la_config_use_modrewrite" Module="Core" Type="1">VXNlIE1PRCBSRVdSSVRF</PHRASE>
<PHRASE Label="la_config_use_modrewrite_with_ssl" Module="Core" Type="1">RW5hYmxlIE1PRF9SRVdSSVRFIGZvciBTU0w=</PHRASE>
<PHRASE Label="la_config_website_address" Module="Core" Type="1">V2Vic2l0ZSBhZGRyZXNz</PHRASE>
<PHRASE Label="la_config_website_name" Module="Core" Type="1">V2Vic2l0ZSBuYW1l</PHRASE>
<PHRASE Label="la_config_web_address" Module="Core" Type="1">V2ViIGFkZHJlc3M=</PHRASE>
<PHRASE Label="la_config_YahooApplicationId" Module="Core" Type="1">WWFob28gQXBwbGljYXRpb25JZA==</PHRASE>
<PHRASE Label="la_ConfirmDeleteExportPreset" Module="Core" Type="1">QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBzZWxlY3RlZCBFeHBvcnQgUHJlc2V0Pw==</PHRASE>
<PHRASE Label="la_confirm_maintenance" Module="Core" Type="1">VGhlIGNhdGVnb3J5IHRyZWUgbXVzdCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGxhdGVzdCBjaGFuZ2Vz</PHRASE>
<PHRASE Label="la_Container" Module="Core" Type="1">Q29udGFpbmVy</PHRASE>
<PHRASE Label="la_Continue" Module="Core" Type="1">Q29udGludWU=</PHRASE>
<PHRASE Label="la_country_ABW" Module="Core" Type="1">QXJ1YmE=</PHRASE>
<PHRASE Label="la_country_AFG" Module="Core" Type="1">QWZnaGFuaXN0YW4=</PHRASE>
<PHRASE Label="la_country_AGO" Module="Core" Type="1">QW5nb2xh</PHRASE>
<PHRASE Label="la_country_AIA" Module="Core" Type="1">QW5ndWlsbGE=</PHRASE>
<PHRASE Label="la_country_ALB" Module="Core" Type="1">QWxiYW5pYQ==</PHRASE>
<PHRASE Label="la_country_AND" Module="Core" Type="1">QW5kb3JyYQ==</PHRASE>
<PHRASE Label="la_country_ANT" Module="Core" Type="1">TmV0aGVybGFuZHMgQW50aWxsZXM=</PHRASE>
<PHRASE Label="la_country_ARE" Module="Core" Type="1">VW5pdGVkIEFyYWIgRW1pcmF0ZXM=</PHRASE>
<PHRASE Label="la_country_ARG" Module="Core" Type="1">QXJnZW50aW5h</PHRASE>
<PHRASE Label="la_country_ARM" Module="Core" Type="1">QXJtZW5pYQ==</PHRASE>
<PHRASE Label="la_country_ASM" Module="Core" Type="1">QW1lcmljYW4gc2Ftb2E=</PHRASE>
<PHRASE Label="la_country_ATA" Module="Core" Type="1">QW50YXJjdGljYQ==</PHRASE>
<PHRASE Label="la_country_ATF" Module="Core" Type="1">RnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVz</PHRASE>
<PHRASE Label="la_country_ATG" Module="Core" Type="1">QW50aWd1YSBhbmQgYmFyYnVkYQ==</PHRASE>
<PHRASE Label="la_country_AUS" Module="Core" Type="1">QXVzdHJhbGlh</PHRASE>
<PHRASE Label="la_country_AUT" Module="Core" Type="1">QXVzdHJpYQ==</PHRASE>
<PHRASE Label="la_country_AZE" Module="Core" Type="1">QXplcmJhaWphbg==</PHRASE>
<PHRASE Label="la_country_BDI" Module="Core" Type="1">QnVydW5kaQ==</PHRASE>
<PHRASE Label="la_country_BEL" Module="Core" Type="1">QmVsZ2l1bQ==</PHRASE>
<PHRASE Label="la_country_BEN" Module="Core" Type="1">QmVuaW4=</PHRASE>
<PHRASE Label="la_country_BFA" Module="Core" Type="1">QnVya2luYSBGYXNv</PHRASE>
<PHRASE Label="la_country_BGD" Module="Core" Type="1">QmFuZ2xhZGVzaA==</PHRASE>
<PHRASE Label="la_country_BGR" Module="Core" Type="1">QnVsZ2FyaWE=</PHRASE>
<PHRASE Label="la_country_BHR" Module="Core" Type="1">QmFocmFpbg==</PHRASE>
<PHRASE Label="la_country_BHS" Module="Core" Type="1">QmFoYW1hcw==</PHRASE>
<PHRASE Label="la_country_BIH" Module="Core" Type="1">Qm9zbmlhIGFuZCBIZXJ6ZWdvd2luYQ==</PHRASE>
<PHRASE Label="la_country_BLR" Module="Core" Type="1">QmVsYXJ1cw==</PHRASE>
<PHRASE Label="la_country_BLZ" Module="Core" Type="1">QmVsaXpl</PHRASE>
<PHRASE Label="la_country_BMU" Module="Core" Type="1">QmVybXVkYQ==</PHRASE>
<PHRASE Label="la_country_BOL" Module="Core" Type="1">Qm9saXZpYQ==</PHRASE>
<PHRASE Label="la_country_BRA" Module="Core" Type="1">QnJhemls</PHRASE>
<PHRASE Label="la_country_BRB" Module="Core" Type="1">QmFyYmFkb3M=</PHRASE>
<PHRASE Label="la_country_BRN" Module="Core" Type="1">QnJ1bmVpIERhcnVzc2FsYW0=</PHRASE>
<PHRASE Label="la_country_BTN" Module="Core" Type="1">Qmh1dGFu</PHRASE>
<PHRASE Label="la_country_BVT" Module="Core" Type="1">Qm91dmV0IElzbGFuZA==</PHRASE>
<PHRASE Label="la_country_BWA" Module="Core" Type="1">Qm90c3dhbmE=</PHRASE>
<PHRASE Label="la_country_CAF" Module="Core" Type="1">Q2VudHJhbCBBZnJpY2FuIFJlcHVibGlj</PHRASE>
<PHRASE Label="la_country_CAN" Module="Core" Type="1">Q2FuYWRh</PHRASE>
<PHRASE Label="la_country_CCK" Module="Core" Type="1">Q29jb3MgKEtlZWxpbmcpIElzbGFuZHM=</PHRASE>
<PHRASE Label="la_country_CHE" Module="Core" Type="1">U3dpdHplcmxhbmQ=</PHRASE>
<PHRASE Label="la_country_CHL" Module="Core" Type="1">Q2hpbGU=</PHRASE>
<PHRASE Label="la_country_CHN" Module="Core" Type="1">Q2hpbmE=</PHRASE>
<PHRASE Label="la_country_CIV" Module="Core" Type="1">Q290ZSBkJ0l2b2lyZQ==</PHRASE>
<PHRASE Label="la_country_CMR" Module="Core" Type="1">Q2FtZXJvb24=</PHRASE>
<PHRASE Label="la_country_COD" Module="Core" Type="1">Q29uZ28sIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgKFdhcyBaYWlyZSk=</PHRASE>
<PHRASE Label="la_country_COG" Module="Core" Type="1">Q29uZ28sIFBlb3BsZSdzIFJlcHVibGljIG9m</PHRASE>
<PHRASE Label="la_country_COK" Module="Core" Type="1">Q29vayBJc2xhbmRz</PHRASE>
<PHRASE Label="la_country_COL" Module="Core" Type="1">Q29sb21iaWE=</PHRASE>
<PHRASE Label="la_country_COM" Module="Core" Type="1">Q29tb3Jvcw==</PHRASE>
<PHRASE Label="la_country_CPV" Module="Core" Type="1">Q2FwZSBWZXJkZQ==</PHRASE>
<PHRASE Label="la_country_CRI" Module="Core" Type="1">Q29zdGEgUmljYQ==</PHRASE>
<PHRASE Label="la_country_CUB" Module="Core" Type="1">Q3ViYQ==</PHRASE>
<PHRASE Label="la_country_CXR" Module="Core" Type="1">Q2hyaXN0bWFzIElzbGFuZA==</PHRASE>
<PHRASE Label="la_country_CYM" Module="Core" Type="1">Q2F5bWFuIElzbGFuZHM=</PHRASE>
<PHRASE Label="la_country_CYP" Module="Core" Type="1">Q3lwcnVz</PHRASE>
<PHRASE Label="la_country_CZE" Module="Core" Type="1">Q3plY2ggUmVwdWJsaWM=</PHRASE>
<PHRASE Label="la_country_DEU" Module="Core" Type="1">R2VybWFueQ==</PHRASE>
<PHRASE Label="la_country_DJI" Module="Core" Type="1">RGppYm91dGk=</PHRASE>
<PHRASE Label="la_country_DMA" Module="Core" Type="1">RG9taW5pY2E=</PHRASE>
<PHRASE Label="la_country_DNK" Module="Core" Type="1">RGVubWFyaw==</PHRASE>
<PHRASE Label="la_country_DOM" Module="Core" Type="1">RG9taW5pY2FuIFJlcHVibGlj</PHRASE>
<PHRASE Label="la_country_DZA" Module="Core" Type="1">QWxnZXJpYQ==</PHRASE>
<PHRASE Label="la_country_ECU" Module="Core" Type="1">RWN1YWRvcg==</PHRASE>
<PHRASE Label="la_country_EGY" Module="Core" Type="1">RWd5cHQ=</PHRASE>
<PHRASE Label="la_country_ERI" Module="Core" Type="1">RXJpdHJlYQ==</PHRASE>
<PHRASE Label="la_country_ESH" Module="Core" Type="1">V2VzdGVybiBTYWhhcmE=</PHRASE>
<PHRASE Label="la_country_ESP" Module="Core" Type="1">U3BhaW4=</PHRASE>
<PHRASE Label="la_country_EST" Module="Core" Type="1">RXN0b25pYQ==</PHRASE>
<PHRASE Label="la_country_ETH" Module="Core" Type="1">RXRoaW9waWE=</PHRASE>
<PHRASE Label="la_country_FIN" Module="Core" Type="1">RmlubGFuZA==</PHRASE>
<PHRASE Label="la_country_FJI" Module="Core" Type="1">RmlqaQ==</PHRASE>
<PHRASE Label="la_country_FLK" Module="Core" Type="1">RmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMp</PHRASE>
<PHRASE Label="la_country_FRA" Module="Core" Type="1">RnJhbmNl</PHRASE>
<PHRASE Label="la_country_FRO" Module="Core" Type="1">RmFyb2UgSXNsYW5kcw==</PHRASE>
<PHRASE Label="la_country_FSM" Module="Core" Type="1">TWljcm9uZXNpYSwgRmVkZXJhdGVkIFN0YXRlcyBvZg==</PHRASE>
<PHRASE Label="la_country_FXX" Module="Core" Type="1">RnJhbmNlLCBNZXRyb3BvbGl0YW4=</PHRASE>
<PHRASE Label="la_country_GAB" Module="Core" Type="1">R2Fib24=</PHRASE>
<PHRASE Label="la_country_GBR" Module="Core" Type="1">VW5pdGVkIEtpbmdkb20=</PHRASE>
<PHRASE Label="la_country_GEO" Module="Core" Type="1">R2VvcmdpYQ==</PHRASE>
<PHRASE Label="la_country_GHA" Module="Core" Type="1">R2hhbmE=</PHRASE>
<PHRASE Label="la_country_GIB" Module="Core" Type="1">R2licmFsdGFy</PHRASE>
<PHRASE Label="la_country_GIN" Module="Core" Type="1">R3VpbmVh</PHRASE>
<PHRASE Label="la_country_GLP" Module="Core" Type="1">R3VhZGVsb3VwZQ==</PHRASE>
<PHRASE Label="la_country_GMB" Module="Core" Type="1">R2FtYmlh</PHRASE>
<PHRASE Label="la_country_GNB" Module="Core" Type="1">R3VpbmVhLUJpc3NhdQ==</PHRASE>
<PHRASE Label="la_country_GNQ" Module="Core" Type="1">RXF1YXRvcmlhbCBHdWluZWE=</PHRASE>
<PHRASE Label="la_country_GRC" Module="Core" Type="1">R3JlZWNl</PHRASE>
<PHRASE Label="la_country_GRD" Module="Core" Type="1">R3JlbmFkYQ==</PHRASE>
<PHRASE Label="la_country_GRL" Module="Core" Type="1">R3JlZW5sYW5k</PHRASE>
<PHRASE Label="la_country_GTM" Module="Core" Type="1">R3VhdGVtYWxh</PHRASE>
<PHRASE Label="la_country_GUF" Module="Core" Type="1">RnJlbmNoIEd1aWFuYQ==</PHRASE>
<PHRASE Label="la_country_GUM" Module="Core" Type="1">R3VhbQ==</PHRASE>
<PHRASE Label="la_country_GUY" Module="Core" Type="1">R3V5YW5h</PHRASE>
<PHRASE Label="la_country_HKG" Module="Core" Type="1">SG9uZyBrb25n</PHRASE>
<PHRASE Label="la_country_HMD" Module="Core" Type="1">SGVhcmQgYW5kIE1jIERvbmFsZCBJc2xhbmRz</PHRASE>
<PHRASE Label="la_country_HND" Module="Core" Type="1">SG9uZHVyYXM=</PHRASE>
<PHRASE Label="la_country_HRV" Module="Core" Type="1">Q3JvYXRpYSAobG9jYWwgbmFtZTogSHJ2YXRza2Ep</PHRASE>
<PHRASE Label="la_country_HTI" Module="Core" Type="1">SGFpdGk=</PHRASE>
<PHRASE Label="la_country_HUN" Module="Core" Type="1">SHVuZ2FyeQ==</PHRASE>
<PHRASE Label="la_country_IDN" Module="Core" Type="1">SW5kb25lc2lh</PHRASE>
<PHRASE Label="la_country_IND" Module="Core" Type="1">SW5kaWE=</PHRASE>
<PHRASE Label="la_country_IOT" Module="Core" Type="1">QnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5</PHRASE>
<PHRASE Label="la_country_IRL" Module="Core" Type="1">SXJlbGFuZA==</PHRASE>
<PHRASE Label="la_country_IRN" Module="Core" Type="1">SXJhbiAoSXNsYW1pYyBSZXB1YmxpYyBvZik=</PHRASE>
<PHRASE Label="la_country_IRQ" Module="Core" Type="1">SXJhcQ==</PHRASE>
<PHRASE Label="la_country_ISL" Module="Core" Type="1">SWNlbGFuZA==</PHRASE>
<PHRASE Label="la_country_ISR" Module="Core" Type="1">SXNyYWVs</PHRASE>
<PHRASE Label="la_country_ITA" Module="Core" Type="1">SXRhbHk=</PHRASE>
<PHRASE Label="la_country_JAM" Module="Core" Type="1">SmFtYWljYQ==</PHRASE>
<PHRASE Label="la_country_JOR" Module="Core" Type="1">Sm9yZGFu</PHRASE>
<PHRASE Label="la_country_JPN" Module="Core" Type="1">SmFwYW4=</PHRASE>
<PHRASE Label="la_country_KAZ" Module="Core" Type="1">S2F6YWtoc3Rhbg==</PHRASE>
<PHRASE Label="la_country_KEN" Module="Core" Type="1">S2VueWE=</PHRASE>
<PHRASE Label="la_country_KGZ" Module="Core" Type="1">S3lyZ3l6c3Rhbg==</PHRASE>
<PHRASE Label="la_country_KHM" Module="Core" Type="1">Q2FtYm9kaWE=</PHRASE>
<PHRASE Label="la_country_KIR" Module="Core" Type="1">S2lyaWJhdGk=</PHRASE>
<PHRASE Label="la_country_KNA" Module="Core" Type="1">U2FpbnQgS2l0dHMgYW5kIE5ldmlz</PHRASE>
<PHRASE Label="la_country_KOR" Module="Core" Type="1">S29yZWEsIFJlcHVibGljIG9m</PHRASE>
<PHRASE Label="la_country_KWT" Module="Core" Type="1">S3V3YWl0</PHRASE>
<PHRASE Label="la_country_LAO" Module="Core" Type="1">TGFvIFBlb3BsZSdzIERlbW9jcmF0aWMgUmVwdWJsaWM=</PHRASE>
<PHRASE Label="la_country_LBN" Module="Core" Type="1">TGViYW5vbg==</PHRASE>
<PHRASE Label="la_country_LBR" Module="Core" Type="1">TGliZXJpYQ==</PHRASE>
<PHRASE Label="la_country_LBY" Module="Core" Type="1">TGlieWFuIEFyYWIgSmFtYWhpcml5YQ==</PHRASE>
<PHRASE Label="la_country_LCA" Module="Core" Type="1">U2FpbnQgTHVjaWE=</PHRASE>
<PHRASE Label="la_country_LIE" Module="Core" Type="1">TGllY2h0ZW5zdGVpbg==</PHRASE>
<PHRASE Label="la_country_LKA" Module="Core" Type="1">U3JpIGxhbmth</PHRASE>
<PHRASE Label="la_country_LSO" Module="Core" Type="1">TGVzb3Robw==</PHRASE>
<PHRASE Label="la_country_LTU" Module="Core" Type="1">TGl0aHVhbmlh</PHRASE>
<PHRASE Label="la_country_LUX" Module="Core" Type="1">THV4ZW1ib3VyZw==</PHRASE>
<PHRASE Label="la_country_LVA" Module="Core" Type="1">TGF0dmlh</PHRASE>
<PHRASE Label="la_country_MAC" Module="Core" Type="1">TWFjYXU=</PHRASE>
<PHRASE Label="la_country_MAR" Module="Core" Type="1">TW9yb2Njbw==</PHRASE>
<PHRASE Label="la_country_MCO" Module="Core" Type="1">TW9uYWNv</PHRASE>
<PHRASE Label="la_country_MDA" Module="Core" Type="1">TW9sZG92YSwgUmVwdWJsaWMgb2Y=</PHRASE>
<PHRASE Label="la_country_MDG" Module="Core" Type="1">TWFkYWdhc2Nhcg==</PHRASE>
<PHRASE Label="la_country_MDV" Module="Core" Type="1">TWFsZGl2ZXM=</PHRASE>
<PHRASE Label="la_country_MEX" Module="Core" Type="1">TWV4aWNv</PHRASE>
<PHRASE Label="la_country_MHL" Module="Core" Type="1">TWFyc2hhbGwgSXNsYW5kcw==</PHRASE>
<PHRASE Label="la_country_MKD" Module="Core" Type="1">TWFjZWRvbmlh</PHRASE>
<PHRASE Label="la_country_MLI" Module="Core" Type="1">TWFsaQ==</PHRASE>
<PHRASE Label="la_country_MLT" Module="Core" Type="1">TWFsdGE=</PHRASE>
<PHRASE Label="la_country_MMR" Module="Core" Type="1">TXlhbm1hcg==</PHRASE>
<PHRASE Label="la_country_MNG" Module="Core" Type="1">TW9uZ29saWE=</PHRASE>
<PHRASE Label="la_country_MNP" Module="Core" Type="1">Tm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRz</PHRASE>
<PHRASE Label="la_country_MOZ" Module="Core" Type="1">TW96YW1iaXF1ZQ==</PHRASE>
<PHRASE Label="la_country_MRT" Module="Core" Type="1">TWF1cml0YW5pYQ==</PHRASE>
<PHRASE Label="la_country_MSR" Module="Core" Type="1">TW9udHNlcnJhdA==</PHRASE>
<PHRASE Label="la_country_MTQ" Module="Core" Type="1">TWFydGluaXF1ZQ==</PHRASE>
<PHRASE Label="la_country_MUS" Module="Core" Type="1">TWF1cml0aXVz</PHRASE>
<PHRASE Label="la_country_MWI" Module="Core" Type="1">TWFsYXdp</PHRASE>
<PHRASE Label="la_country_MYS" Module="Core" Type="1">TWFsYXlzaWE=</PHRASE>
<PHRASE Label="la_country_MYT" Module="Core" Type="1">TWF5b3R0ZQ==</PHRASE>
<PHRASE Label="la_country_NAM" Module="Core" Type="1">TmFtaWJpYQ==</PHRASE>
<PHRASE Label="la_country_NCL" Module="Core" Type="1">TmV3IENhbGVkb25pYQ==</PHRASE>
<PHRASE Label="la_country_NER" Module="Core" Type="1">TmlnZXI=</PHRASE>
<PHRASE Label="la_country_NFK" Module="Core" Type="1">Tm9yZm9sayBJc2xhbmQ=</PHRASE>
<PHRASE Label="la_country_NGA" Module="Core" Type="1">TmlnZXJpYQ==</PHRASE>
<PHRASE Label="la_country_NIC" Module="Core" Type="1">TmljYXJhZ3Vh</PHRASE>
<PHRASE Label="la_country_NIU" Module="Core" Type="1">Tml1ZQ==</PHRASE>
<PHRASE Label="la_country_NLD" Module="Core" Type="1">TmV0aGVybGFuZHM=</PHRASE>
<PHRASE Label="la_country_NOR" Module="Core" Type="1">Tm9yd2F5</PHRASE>
<PHRASE Label="la_country_NPL" Module="Core" Type="1">TmVwYWw=</PHRASE>
<PHRASE Label="la_country_NRU" Module="Core" Type="1">TmF1cnU=</PHRASE>
<PHRASE Label="la_country_NZL" Module="Core" Type="1">TmV3IFplYWxhbmQ=</PHRASE>
<PHRASE Label="la_country_OMN" Module="Core" Type="1">T21hbg==</PHRASE>
<PHRASE Label="la_country_PAK" Module="Core" Type="1">UGFraXN0YW4=</PHRASE>
<PHRASE Label="la_country_PAN" Module="Core" Type="1">UGFuYW1h</PHRASE>
<PHRASE Label="la_country_PCN" Module="Core" Type="1">UGl0Y2Fpcm4=</PHRASE>
<PHRASE Label="la_country_PER" Module="Core" Type="1">UGVydQ==</PHRASE>
<PHRASE Label="la_country_PHL" Module="Core" Type="1">UGhpbGlwcGluZXM=</PHRASE>
<PHRASE Label="la_country_PLW" Module="Core" Type="1">UGFsYXU=</PHRASE>
<PHRASE Label="la_country_PNG" Module="Core" Type="1">UGFwdWEgTmV3IEd1aW5lYQ==</PHRASE>
<PHRASE Label="la_country_POL" Module="Core" Type="1">UG9sYW5k</PHRASE>
<PHRASE Label="la_country_PRI" Module="Core" Type="1">UHVlcnRvIFJpY28=</PHRASE>
<PHRASE Label="la_country_PRK" Module="Core" Type="1">S29yZWEsIERlbW9jcmF0aWMgUGVvcGxlJ3MgUmVwdWJsaWMgb2Y=</PHRASE>
<PHRASE Label="la_country_PRT" Module="Core" Type="1">UG9ydHVnYWw=</PHRASE>
<PHRASE Label="la_country_PRY" Module="Core" Type="1">UGFyYWd1YXk=</PHRASE>
<PHRASE Label="la_country_PSE" Module="Core" Type="1">UGFsZXN0aW5pYW4gVGVycml0b3J5LCBPY2N1cGllZA==</PHRASE>
<PHRASE Label="la_country_PYF" Module="Core" Type="1">RnJlbmNoIFBvbHluZXNpYQ==</PHRASE>
<PHRASE Label="la_country_QAT" Module="Core" Type="1">UWF0YXI=</PHRASE>
<PHRASE Label="la_country_REU" Module="Core" Type="1">UmV1bmlvbg==</PHRASE>
<PHRASE Label="la_country_ROU" Module="Core" Type="1">Um9tYW5pYQ==</PHRASE>
<PHRASE Label="la_country_RUS" Module="Core" Type="1">UnVzc2lhbiBGZWRlcmF0aW9u</PHRASE>
<PHRASE Label="la_country_RWA" Module="Core" Type="1">UndhbmRh</PHRASE>
<PHRASE Label="la_country_SAU" Module="Core" Type="1">U2F1ZGkgQXJhYmlh</PHRASE>
<PHRASE Label="la_country_SDN" Module="Core" Type="1">U3VkYW4=</PHRASE>
<PHRASE Label="la_country_SEN" Module="Core" Type="1">U2VuZWdhbA==</PHRASE>
<PHRASE Label="la_country_SGP" Module="Core" Type="1">U2luZ2Fwb3Jl</PHRASE>
<PHRASE Label="la_country_SGS" Module="Core" Type="1">U291dGggR2VvcmdpYSBhbmQgVGhlIFNvdXRoIFNhbmR3aWNoIElzbGFuZHM=</PHRASE>
<PHRASE Label="la_country_SHN" Module="Core" Type="1">U3QuIGhlbGVuYQ==</PHRASE>
<PHRASE Label="la_country_SJM" Module="Core" Type="1">U3ZhbGJhcmQgYW5kIEphbiBNYXllbiBJc2xhbmRz</PHRASE>
<PHRASE Label="la_country_SLB" Module="Core" Type="1">U29sb21vbiBJc2xhbmRz</PHRASE>
<PHRASE Label="la_country_SLE" Module="Core" Type="1">U2llcnJhIExlb25l</PHRASE>
<PHRASE Label="la_country_SLV" Module="Core" Type="1">RWwgU2FsdmFkb3I=</PHRASE>
<PHRASE Label="la_country_SMR" Module="Core" Type="1">U2FuIE1hcmlubw==</PHRASE>
<PHRASE Label="la_country_SOM" Module="Core" Type="1">U29tYWxpYQ==</PHRASE>
<PHRASE Label="la_country_SPM" Module="Core" Type="1">U3QuIFBpZXJyZSBhbmQgTWlxdWVsb24=</PHRASE>
<PHRASE Label="la_country_STP" Module="Core" Type="1">U2FvIFRvbWUgYW5kIFByaW5jaXBl</PHRASE>
<PHRASE Label="la_country_SUR" Module="Core" Type="1">U3VyaW5hbWU=</PHRASE>
<PHRASE Label="la_country_SVK" Module="Core" Type="1">U2xvdmFraWEgKFNsb3ZhayBSZXB1YmxpYyk=</PHRASE>
<PHRASE Label="la_country_SVN" Module="Core" Type="1">U2xvdmVuaWE=</PHRASE>
<PHRASE Label="la_country_SWE" Module="Core" Type="1">U3dlZGVu</PHRASE>
<PHRASE Label="la_country_SWZ" Module="Core" Type="1">U3dhemlsYW5k</PHRASE>
<PHRASE Label="la_country_SYC" Module="Core" Type="1">U2V5Y2hlbGxlcw==</PHRASE>
<PHRASE Label="la_country_SYR" Module="Core" Type="1">U3lyaWFuIEFyYWIgUmVwdWJsaWM=</PHRASE>
<PHRASE Label="la_country_TCA" Module="Core" Type="1">VHVya3MgYW5kIENhaWNvcyBJc2xhbmRz</PHRASE>
<PHRASE Label="la_country_TCD" Module="Core" Type="1">Q2hhZA==</PHRASE>
<PHRASE Label="la_country_TGO" Module="Core" Type="1">VG9nbw==</PHRASE>
<PHRASE Label="la_country_THA" Module="Core" Type="1">VGhhaWxhbmQ=</PHRASE>
<PHRASE Label="la_country_TJK" Module="Core" Type="1">VGFqaWtpc3Rhbg==</PHRASE>
<PHRASE Label="la_country_TKL" Module="Core" Type="1">VG9rZWxhdQ==</PHRASE>
<PHRASE Label="la_country_TKM" Module="Core" Type="1">VHVya21lbmlzdGFu</PHRASE>
<PHRASE Label="la_country_TLS" Module="Core" Type="1">RWFzdCBUaW1vcg==</PHRASE>
<PHRASE Label="la_country_TON" Module="Core" Type="1">VG9uZ2E=</PHRASE>
<PHRASE Label="la_country_TTO" Module="Core" Type="1">VHJpbmlkYWQgYW5kIFRvYmFnbw==</PHRASE>
<PHRASE Label="la_country_TUN" Module="Core" Type="1">VHVuaXNpYQ==</PHRASE>
<PHRASE Label="la_country_TUR" Module="Core" Type="1">VHVya2V5</PHRASE>
<PHRASE Label="la_country_TUV" Module="Core" Type="1">VHV2YWx1</PHRASE>
<PHRASE Label="la_country_TWN" Module="Core" Type="1">VGFpd2Fu</PHRASE>
<PHRASE Label="la_country_TZA" Module="Core" Type="1">VGFuemFuaWEsIFVuaXRlZCBSZXB1YmxpYyBvZg==</PHRASE>
<PHRASE Label="la_country_UGA" Module="Core" Type="1">VWdhbmRh</PHRASE>
<PHRASE Label="la_country_UKR" Module="Core" Type="1">VWtyYWluZQ==</PHRASE>
<PHRASE Label="la_country_UMI" Module="Core" Type="1">VW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRz</PHRASE>
<PHRASE Label="la_country_URY" Module="Core" Type="1">VXJ1Z3VheQ==</PHRASE>
<PHRASE Label="la_country_USA" Module="Core" Type="1">VW5pdGVkIFN0YXRlcw==</PHRASE>
<PHRASE Label="la_country_UZB" Module="Core" Type="1">VXpiZWtpc3Rhbg==</PHRASE>
<PHRASE Label="la_country_VAT" Module="Core" Type="1">VmF0aWNhbiBDaXR5IFN0YXRlIChIb2x5IFNlZSk=</PHRASE>
<PHRASE Label="la_country_VCT" Module="Core" Type="1">U2FpbnQgVmluY2VudCBhbmQgVGhlIEdyZW5hZGluZXM=</PHRASE>
<PHRASE Label="la_country_VEN" Module="Core" Type="1">VmVuZXp1ZWxh</PHRASE>
<PHRASE Label="la_country_VGB" Module="Core" Type="1">VmlyZ2luIElzbGFuZHMgKEJyaXRpc2gp</PHRASE>
<PHRASE Label="la_country_VIR" Module="Core" Type="1">VmlyZ2luIElzbGFuZHMgKFUuUy4p</PHRASE>
<PHRASE Label="la_country_VNM" Module="Core" Type="1">VmlldG5hbQ==</PHRASE>
<PHRASE Label="la_country_VUT" Module="Core" Type="1">VmFudWF0dQ==</PHRASE>
<PHRASE Label="la_country_WLF" Module="Core" Type="1">V2FsbGlzIGFuZCBGdXR1bmEgSXNsYW5kcw==</PHRASE>
<PHRASE Label="la_country_WSM" Module="Core" Type="1">U2Ftb2E=</PHRASE>
<PHRASE Label="la_country_YEM" Module="Core" Type="1">WWVtZW4=</PHRASE>
<PHRASE Label="la_country_YUG" Module="Core" Type="1">WXVnb3NsYXZpYQ==</PHRASE>
<PHRASE Label="la_country_ZAF" Module="Core" Type="1">U291dGggQWZyaWNh</PHRASE>
<PHRASE Label="la_country_ZMB" Module="Core" Type="1">WmFtYmlh</PHRASE>
<PHRASE Label="la_country_ZWE" Module="Core" Type="1">WmltYmFid2U=</PHRASE>
<PHRASE Label="la_CreatedOn" Module="Core" Type="1">Q3JlYXRlZCBPbg==</PHRASE>
<PHRASE Label="la_Credits_Title" Module="Core" Type="1">Q3JlZGl0cw==</PHRASE>
<PHRASE Label="la_DataGrid1" Module="Core" Type="1">RGF0YSBHcmlkcw==</PHRASE>
<PHRASE Label="la_days" Module="Core" Type="1">ZGF5cw==</PHRASE>
<PHRASE Label="la_DefaultRegistrationCountry" Module="Core" Type="1">RGVmYXVsdCBDb3VudHJ5</PHRASE>
<PHRASE Label="la_Delete_Confirm" Module="Core" Type="1">QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGUgaXRlbShzKT8gVGhpcyBhY3Rpb24gY2Fubm90IGJlIHVuZG9uZS4=</PHRASE>
<PHRASE Label="la_Description_in-bulletin" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tQnVsbGV0aW4gc2V0dGluZ3M=</PHRASE>
<PHRASE Label="la_Description_in-bulletin:configuration_censorship" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgY2Vuc29yZWQgd29yZHMgYW5kIHRoZWlyIHJlcGxhY2VtZW50cw==</PHRASE>
<PHRASE Label="la_Description_in-bulletin:configuration_custom" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgY3VzdG9tIGZpZWxkcw==</PHRASE>
<PHRASE Label="la_Description_in-bulletin:configuration_email" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tYnVsbHRlaW4gZW1haWwgc2V0dGluZ3M=</PHRASE>
<PHRASE Label="la_Description_in-bulletin:configuration_emoticon" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2Ugc2ltbGV5cw==</PHRASE>
<PHRASE Label="la_Description_in-bulletin:configuration_output" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tYnVsbHRlaW4gb3V0cHV0IHNldHRpbmdz</PHRASE>
<PHRASE Label="la_Description_in-bulletin:configuration_search" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tYnVsbHRlaW4gZGVmYXVsdCBzZWFyY2ggc2V0dGluZ3M=</PHRASE>
<PHRASE Label="la_Description_in-bulletin:inbulletin_general" Module="Core" Type="2">SW4tYnVsbGV0aW4gZ2VuZXJhbCBjb25maWd1cmF0aW9uIG9wdGlvbnM=</PHRASE>
<PHRASE Label="la_Description_in-link" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbGluayBzZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_Description_in-link:configuration_custom" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgY3VzdG9tIGZpZWxkcw==</PHRASE>
<PHRASE Label="la_Description_in-link:configuration_email" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgZW1haWwgZXZlbnRz</PHRASE>
<PHRASE Label="la_Description_in-link:configuration_output" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbGluayBvdXRwdXQgc2V0dGluZ3M=</PHRASE>
<PHRASE Label="la_Description_in-link:configuration_search" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2Ugc2VhcmNoIHNldHRpbmdzIGFuZCBmaWVsZHM=</PHRASE>
<PHRASE Label="la_Description_in-link:inlink_general" Module="Core" Type="2">SW4tTGluayBHZW5lcmFsIENvbmZpZ3VyYXRpb24gT3B0aW9ucw==</PHRASE>
<PHRASE Label="la_Description_in-link:validation_list" Module="Core" Type="2">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBydW4gdmFsaWRhdGlvbiBvbiB0aGUgbGlua3M=</PHRASE>
<PHRASE Label="la_Description_in-news" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBzZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_Description_in-news:configuration_custom" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBjdXN0b20gZmllbGRz</PHRASE>
<PHRASE Label="la_Description_in-news:configuration_email" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBlbWFpbCBjb25maWd1cmF0aW9u</PHRASE>
<PHRASE Label="la_Description_in-news:configuration_output" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBvdXRwdXQgc2V0dGluZ3M=</PHRASE>
<PHRASE Label="la_Description_in-news:configuration_search" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgSW4tbmV3eiBkZWZhdWx0IHNlYXJjaCBjb25maWd1cmF0aW9u</PHRASE>
<PHRASE Label="la_Description_in-news:innews_general" Module="Core" Type="2">SW4tTmV3eiBnZW5lcmFsIGNvbmZpZ3VyYXRpb24gb3B0aW9ucw==</PHRASE>
<PHRASE Label="la_Description_in-portal:addmodule" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBpbnN0YWxsIG5ldyBtb2R1bGVz</PHRASE>
<PHRASE Label="la_Description_in-portal:advanced_view" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gbWFuYWdlIGNhdGVnb3JpZXMgYW5kIGl0ZW1zIGFjcm9zcyBhbGwgY2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="la_Description_in-portal:backup" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBwZXJmb3JtIHN5c3RlbSBiYWNrdXBz</PHRASE>
<PHRASE Label="la_Description_in-portal:browse" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gYnJvd3NlIHRoZSBjYXRhbG9nIGFuZCBtYW5hZ2UgY2F0ZWdvcmllcyBhbmQgaXRlbXM=</PHRASE>
<PHRASE Label="la_Description_in-portal:configuration_custom" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIGNhdGVnb3J5IGN1c3RvbSBmaWVsZHM=</PHRASE>
<PHRASE Label="la_Description_in-portal:configuration_email" Module="Core" Type="2">Q29uZmlndXJlIENhdGVnb3J5IEVtYWlsIEV2ZW50cw==</PHRASE>
<PHRASE Label="la_Description_in-portal:configuration_search" Module="Core" Type="2">Q29uZmlndXJlIENhdGVnb3J5IHNlYXJjaCBvcHRpb25z</PHRASE>
<PHRASE Label="la_Description_in-portal:configure_categories" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIGdlbmVyYWwgY2F0ZWdvcnkgc2V0dGluZ3M=</PHRASE>
<PHRASE Label="la_Description_in-portal:configure_general" Module="Core" Type="1">VGhpcyBpcyBhIGdlbmVyYWwgY29uZmd1cmF0aW9uIHNlY3Rpb24=</PHRASE>
<PHRASE Label="la_Description_in-portal:configure_lang" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgcmVnaW9uYWwgc2V0dGluZ3MsIG1hbmFnZSBhbmQgZWRpdCBsYW5ndWFnZXM=</PHRASE>
<PHRASE Label="la_Description_in-portal:configure_styles" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgQ1NTIHN0eWxlc2hlZXRzIGZvciB0aGVtZXMu</PHRASE>
<PHRASE Label="la_Description_in-portal:configure_themes" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYW5hZ2UgdGhlbWVzIGFuZCBlZGl0IHRoZSBpbmRpdmlkdWFsIHRlbXBsYXRlcw==</PHRASE>
<PHRASE Label="la_Description_in-portal:configure_users" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIGdlbmVyYWwgdXNlciBzZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_Description_in-portal:emaillog" Module="Core" Type="1">VGhpcyBzZWN0aW9uIHNob3dzIGFsbCBlLW1haWxzIHNlbnQgYnkgSW4tUG9ydGFs</PHRASE>
<PHRASE Label="la_Description_in-portal:export" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBleHBvcnQgSW4tcG9ydGFsIGRhdGE=</PHRASE>
<PHRASE Label="la_Description_in-portal:help" Module="Core" Type="1">SGVscCBzZWN0aW9uIGZvciBJbi1wb3J0YWwgYW5kIGFsbCBvZiBpdHMgbW9kdWxlcy4gQWxzbyBhY2Nlc3NpYmxlIHZpYSB0aGUgc2VjdGlvbi1zcGVjaWZpYyBpbnRlcmFjdGl2ZSBoZWxwIGZlYXR1cmUu</PHRASE>
<PHRASE Label="la_Description_in-portal:inlink_inport" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBpbXBvcnQgZGF0YSBmcm9tIG90aGVyIHByb2dyYW1zIGludG8gSW4tcG9ydGFs</PHRASE>
<PHRASE Label="la_Description_in-portal:log_summary" Module="Core" Type="1">VGhpcyBzZWN0aW9uIHNob3dzIHN1bW1hcnkgc3RhdGlzdGljcw==</PHRASE>
<PHRASE Label="la_Description_in-portal:main_import" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBwZXJmb3JtIGRhdGEgaW1wb3J0IGZyb20gb3RoZXIgc3lzdGVtcw==</PHRASE>
<PHRASE Label="la_Description_in-portal:modules" Module="Core" Type="1">TWFuYWdlIHN0YXR1cyBvZiBhbGwgbW9kdWxlcyB3aGljaCBhcmUgaW5zdGFsbGVkIG9uIHlvdXIgSW4tcG9ydGFsIHN5c3RlbS4=</PHRASE>
<PHRASE Label="la_Description_in-portal:mod_status" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBlbmFibGVkIGFuZCBkaXNhYmxlIG1vZHVsZXM=</PHRASE>
<PHRASE Label="la_Description_in-portal:reports" Module="Core" Type="1">VmlldyBzeXN0ZW0gc3RhdGlzdGljcywgbG9ncyBhbmQgcmVwb3J0cw==</PHRASE>
<PHRASE Label="la_Description_in-portal:restore" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBwZXJmb3JtIGRhdGFiYXNlIHJlc3RvcmVz</PHRASE>
<PHRASE Label="la_Description_in-portal:reviews" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGRpc3BsYXlzIGEgbGlzdCBvZiBhbGwgcmV2aWV3cyBpbiB0aGUgc3lzdGVtLg==</PHRASE>
<PHRASE Label="la_Description_in-portal:searchlog" Module="Core" Type="1">VGhpcyBzZWN0aW9uIHNob3dzIHRoZSBzZWFyY2ggbG9nIGFuZCBhbGxvd3MgdG8gbWFuYWdlIGl0</PHRASE>
<PHRASE Label="la_Description_in-portal:server_info" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byB2aWV3IFBIUCBjb25maWd1cmF0aW9u</PHRASE>
<PHRASE Label="la_Description_in-portal:sessionlog" Module="Core" Type="1">VGhpcyBzZWN0aW9uIHNob3dzIGFsbCBhY3RpdmUgc2Vzc2lvbnMgYW5kIGFsbG93cyB0byBtYW5hZ2UgdGhlbQ==</PHRASE>
<PHRASE Label="la_Description_in-portal:site" Module="Core" Type="1">TWFuYWdlIHRoZSBzdHJ1Y3R1cmUgb2YgeW91ciBzaXRlLCBpbmNsdWRpbmcgY2F0ZWdvcmllcywgaXRlbXMgYW5kIGNhdGVnb3J5IHNldHRpbmdzLg==</PHRASE>
<PHRASE Label="la_Description_in-portal:sql_query" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBwZXJmb3JtIGRpcmVjdCBTUUwgcXVlcmllcyBvbiBJbi1wb3J0YWwgZGF0YWJhc2U=</PHRASE>
<PHRASE Label="la_Description_in-portal:system" Module="Core" Type="1">TWFuYWdlIHN5c3RlbS13aWRlIHNldHRpbmdzLCBlZGl0IHRoZW1lcyBhbmQgbGFuZ3VhZ2Vz</PHRASE>
<PHRASE Label="la_Description_in-portal:tag_library" Module="Core" Type="1">VGhpcyBzZWN0aW9uIHNob3dzIGF2YWlsYWJsZSB0YWdzIGZvciB1c2luZyBpbiB0ZW1wbGF0ZXM=</PHRASE>
<PHRASE Label="la_Description_in-portal:tools" Module="Core" Type="1">VXNlIHZhcmlvdXMgSW4tcG9ydGFsIGRhdGEgbWFuYWdlbWVudCB0b29scywgaW5jbHVkaW5nIGJhY2t1cCwgcmVzdG9yZSwgaW1wb3J0IGFuZCBleHBvcnQ=</PHRASE>
<PHRASE Label="la_Description_in-portal:users" Module="Core" Type="1">TWFuYWdlIHVzZXJzIGFuZCBncm91cHMsIHNldCB1c2VyICYgZ3JvdXAgcGVybWlzc2lvbnMgYW5kIGRlZmluZSB1c2VyIHNldHRpbmdzLg==</PHRASE>
<PHRASE Label="la_Description_in-portal:user_banlist" Module="Core" Type="2">TWFuYWdlIFVzZXIgQmFuIFJ1bGVz</PHRASE>
<PHRASE Label="la_Description_in-portal:user_custom" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB5b3UgdG8gY29uZmlndXJlIHVzZXIgY3VzdG9tIGZpZWxkcw==</PHRASE>
<PHRASE Label="la_Description_in-portal:user_email" Module="Core" Type="2">Q29uZmlndXJlIFVzZXIgZW1haWwgZXZlbnRz</PHRASE>
<PHRASE Label="la_Description_in-portal:user_groups" Module="Core" Type="1">VGhpcyBzZWN0aW9uIGFsbG93cyB0byBtYWdhbmUgZ3JvdXBzLCBhc3NpZ24gdXNlcnMgdG8gZ3JvdXBzIGFuZCBwZXJmb3JtIG1hc3MgZW1haWwgc2VuZGluZw==</PHRASE>
<PHRASE Label="la_Description_in-portal:user_list" Module="Core" Type="1">VGhpcyBzZWN0aW9ucyBhbGxvd3MgdG8gbWFuYWdlIHVzZXJzLCB0aGVpciBwZXJtaXNzaW9ucyBhbmQgcGVyZm9ybSBtYXNzIGVtYWls</PHRASE>
<PHRASE Label="la_Description_in-portal:visits" Module="Core" Type="1">VGhpcyBzZWN0aW9uIHNob3dzIHRoZSBzaXRlIHZpc2l0b3JzIGxvZw==</PHRASE>
<PHRASE Label="la_Disabled" Module="Core" Type="1">RGlzYWJsZWQ=</PHRASE>
<PHRASE Label="la_Doublequotes" Module="Core" Type="1">RG91YmxlLXF1b3Rlcw==</PHRASE>
<PHRASE Label="la_DownloadExportFile" Module="Core" Type="1">RG93bmxvYWQgRXhwb3J0IEZpbGU=</PHRASE>
<PHRASE Label="la_DownloadLanguageExport" Module="Core" Type="1">RG93bmxvYWQgTGFuZ3VhZ2UgRXhwb3J0</PHRASE>
<PHRASE Label="la_EditingContent" Module="Core" Type="1">Q29udGVudCBFZGl0b3I=</PHRASE>
<PHRASE Label="la_EditingInProgress" Module="Core" Type="1">WW91IGhhdmUgbm90IHNhdmVkIGNoYW5nZXMgdG8gdGhlIGl0ZW0geW91IGFyZSBlZGl0aW5nITxiciAvPkNsaWNrIE9LIHRvIGxvb3NlIGNoYW5nZXMgYW5kIGdvIHRvIHRoZSBzZWxlY3RlZCBzZWN0aW9uPGJyIC8+b3IgQ2FuY2VsIHRvIHN0YXkgaW4gdGhlIGN1cnJlbnQgc2VjdGlvbi4=</PHRASE>
<PHRASE Label="la_editor_default_style" Module="Core" Type="1">RGVmYXVsdCB0ZXh0</PHRASE>
<PHRASE Label="la_EmptyFile" Module="Core" Type="1">RmlsZSBpcyBlbXB0eQ==</PHRASE>
<PHRASE Label="la_EmptyValue" Module="Core" Type="1">IA==</PHRASE>
<PHRASE Label="la_empty_file" Module="Core" Type="1">RmlsZSBpcyBlbXB0eQ==</PHRASE>
<PHRASE Label="la_Enabled" Module="Core" Type="1">RW5hYmxlZA==</PHRASE>
<PHRASE Label="la_error_cant_save_file" Module="Core" Type="1">Q2FuJ3Qgc2F2ZSBhIGZpbGU=</PHRASE>
<PHRASE Label="la_error_copy_subcategory" Module="Core" Type="1">RXJyb3IgY29weWluZyBzdWJjYXRlZ29yaWVz</PHRASE>
<PHRASE Label="la_error_CustomExists" Module="Core" Type="1">Q3VzdG9tIGZpZWxkIHdpdGggaWRlbnRpY2FsIG5hbWUgYWxyZWFkeSBleGlzdHM=</PHRASE>
<PHRASE Label="la_error_duplicate_username" Module="Core" Type="1">VXNlcm5hbWUgeW91IGhhdmUgZW50ZXJlZCBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgc3lzdGVtLCBwbGVhc2UgY2hvb3NlIGFub3RoZXIgdXNlcm5hbWUu</PHRASE>
<PHRASE Label="la_error_FileTooLarge" Module="Core" Type="1">RmlsZSBpcyB0b28gbGFyZ2U=</PHRASE>
<PHRASE Label="la_error_InvalidFileFormat" Module="Core" Type="1">SW52YWxpZCBGaWxlIEZvcm1hdA==</PHRASE>
<PHRASE Label="la_error_invalidoption" Module="Core" Type="1">aW52YWxpZCBvcHRpb24=</PHRASE>
<PHRASE Label="la_error_move_subcategory" Module="Core" Type="1">RXJyb3IgbW92aW5nIHN1YmNhdGVnb3J5</PHRASE>
<PHRASE Label="la_error_PasswordMatch" Module="Core" Type="1">UGFzc3dvcmRzIGRvIG5vdCBtYXRjaCE=</PHRASE>
<PHRASE Label="la_error_required" Module="Core" Type="1">UmVxdWlyZWQgZmllbGQoLXMpIG5vdCBmaWxsZWQ=</PHRASE>
<PHRASE Label="la_error_RequiredColumnsMissing" Module="Core" Type="1">cmVxdWlyZWQgY29sdW1ucyBtaXNzaW5n</PHRASE>
<PHRASE Label="la_error_RootCategoriesDelete" Module="Core" Type="1">Um9vdCBjYXRlZ29yeSBvZiB0aGUgbW9kdWxlKHMpIGNhbiBub3QgYmUgZGVsZXRlZCE=</PHRASE>
<PHRASE Label="la_error_unique" Module="Core" Type="1">UmVjb3JkIGlzIG5vdCB1bmlxdWU=</PHRASE>
<PHRASE Label="la_error_unique_category_field" Module="Core" Type="1">Q2F0ZWdvcnkgZmllbGQgbm90IHVuaXF1ZQ==</PHRASE>
<PHRASE Label="la_error_unknown_category" Module="Core" Type="1">VW5rbm93biBjYXRlZ29yeQ==</PHRASE>
<PHRASE Label="LA_ERROR_USERNOTFOUND" Module="Core" Type="1">dXNlciBub3QgZm91bmQ=</PHRASE>
<PHRASE Label="la_err_bad_date_format" Module="Core" Type="1">SW5jb3JyZWN0IGRhdGUgZm9ybWF0LCBwbGVhc2UgdXNlICglcykgZXguICglcyk=</PHRASE>
<PHRASE Label="la_err_bad_type" Module="Core" Type="1">SW5jb3JyZWN0IGRhdGEgZm9ybWF0LCBwbGVhc2UgdXNlICVz</PHRASE>
<PHRASE Label="la_err_invalid_format" Module="Core" Type="1">SW52YWxpZCBGb3JtYXQ=</PHRASE>
<PHRASE Label="la_err_length_out_of_range" Module="Core" Type="1">RmllbGQgaXMgb3V0IG9mIHJhbmdl</PHRASE>
<PHRASE Label="la_err_required" Module="Core" Type="1">RmllbGQgaXMgcmVxdWlyZWQ=</PHRASE>
<PHRASE Label="la_err_unique" Module="Core" Type="1">RmllbGQgdmFsdWUgbXVzdCBiZSB1bmlxdWU=</PHRASE>
<PHRASE Label="la_err_value_out_of_range" Module="Core" Type="1">RmllbGQgaXMgb3V0IG9mIHJhbmdlLCBwb3NzaWJsZSB2YWx1ZXMgZnJvbSAlcyB0byAlcw==</PHRASE>
<PHRASE Label="la_event_article.add" Module="Core" Type="1">QWRkIEFydGljbGU=</PHRASE>
<PHRASE Label="la_event_article.approve" Module="Core" Type="1">QXBwcm92ZSBBcnRpY2xl</PHRASE>
<PHRASE Label="la_event_article.deny" Module="Core" Type="1">RGVjbGluZSBBcnRpY2xl</PHRASE>
<PHRASE Label="la_event_article.modify" Module="Core" Type="1">TW9kaWZ5IEFydGljbGU=</PHRASE>
<PHRASE Label="la_event_article.modify.approve" Module="Core" Type="1">QXBwcm92ZSBBcnRpY2xlIE1vZGlmaWNhdGlvbg==</PHRASE>
<PHRASE Label="la_event_article.modify.deny" Module="Core" Type="1">RGVjbGluZSBBcnRpY2xlIE1vZGlmaWNhdGlvbg==</PHRASE>
<PHRASE Label="la_event_article.review.add" Module="Core" Type="1">QXJ0aWNsZSBSZXZpZXcgQWRkZWQ=</PHRASE>
<PHRASE Label="la_event_article.review.add.pending" Module="Core" Type="1">UGVuZGluZyBBcnRpY2xlIFJldmlldyBBZGRlZA==</PHRASE>
<PHRASE Label="la_event_article.review.approve" Module="Core" Type="1">QXBwcm92ZSBBcnRpY2xlIFJldmlldw==</PHRASE>
<PHRASE Label="la_event_article.review.deny" Module="Core" Type="1">RGVjbGluZSBBcnRpY2xlIFJldmlldw==</PHRASE>
<PHRASE Label="la_event_category.add" Module="Core" Type="1">QWRkIENhdGVnb3J5</PHRASE>
<PHRASE Label="la_event_category.add.pending" Module="Core" Type="1">QWRkIFBlbmRpbmcgQ2F0ZWdvcnk=</PHRASE>
<PHRASE Label="la_event_category.approve" Module="Core" Type="1">QXBwcm92ZSBDYXRlZ29yeQ==</PHRASE>
<PHRASE Label="la_event_category.deny" Module="Core" Type="1">RGVueSBDYXRlZ29yeQ==</PHRASE>
<PHRASE Label="la_event_category.modify" Module="Core" Type="1">TW9kaWZ5IENhdGVnb3J5</PHRASE>
<PHRASE Label="la_event_category_delete" Module="Core" Type="1">RGVsZXRlIENhdGVnb3J5</PHRASE>
<PHRASE Label="la_event_common.footer" Module="Core" Type="1">Q29tbW9uIEZvb3RlciBUZW1wbGF0ZQ==</PHRASE>
<PHRASE Label="la_event_FormSubmitted" Module="Core" Type="1">VGhpcyBlLW1haWwgaXMgc2VudCB0byBhIHVzZXIgYWZ0ZXIgZmlsbGluZyBpbiB0aGUgQ29udGFjdCBVcyBmb3Jt</PHRASE>
<PHRASE Label="la_event_import_progress" Module="Core" Type="1">RW1haWwgZXZlbnRzIGltcG9ydCBwcm9ncmVzcw==</PHRASE>
<PHRASE Label="la_event_link.add" Module="Core" Type="1">QWRkIExpbms=</PHRASE>
<PHRASE Label="la_event_link.add.pending" Module="Core" Type="1">QWRkIFBlbmRpbmcgTGluaw==</PHRASE>
<PHRASE Label="la_event_link.approve" Module="Core" Type="1">QXBwcm92ZSBQZW5kaW5nIExpbms=</PHRASE>
<PHRASE Label="la_event_link.deny" Module="Core" Type="1">RGVueSBMaW5r</PHRASE>
<PHRASE Label="la_event_link.modify" Module="Core" Type="1">TW9kaWZ5IExpbms=</PHRASE>
<PHRASE Label="la_event_link.modify.approve" Module="Core" Type="1">QXBwcm92ZSBMaW5rIE1vZGlmaWNhdGlvbg==</PHRASE>
<PHRASE Label="la_event_link.modify.deny" Module="Core" Type="1">RGVjbGluZSBsaW5rIG1vZGlmaWNhdGlvbg==</PHRASE>
<PHRASE Label="la_event_link.modify.pending" Module="Core" Type="1">TGluayBNb2RpZmljYXRpb24gUGVuZGluZw==</PHRASE>
<PHRASE Label="la_event_link.review.add" Module="Core" Type="1">TGluayBSZXZpZXcgQWRkZWQ=</PHRASE>
<PHRASE Label="la_event_link.review.add.pending" Module="Core" Type="1">UGVuZGluZyBSZXZpZXcgQWRkZWQ=</PHRASE>
<PHRASE Label="la_event_link.review.approve" Module="Core" Type="1">QXBwcm92ZSBMaW5rIFJldmlldw==</PHRASE>
<PHRASE Label="la_event_link.review.deny" Module="Core" Type="1">RGVjbGluZSBMaW5rIFJldmlldw==</PHRASE>
<PHRASE Label="la_event_pm.add" Module="Core" Type="1">TmV3IFByaXZhdGUgTWVzc2FnZQ==</PHRASE>
<PHRASE Label="la_event_post.add" Module="Core" Type="1">UG9zdCBBZGRlZA==</PHRASE>
<PHRASE Label="la_event_post.modify" Module="Core" Type="1">UG9zdCBNb2RpZmllZA==</PHRASE>
<PHRASE Label="la_event_topic.add" Module="Core" Type="1">VG9waWMgQWRkZWQ=</PHRASE>
<PHRASE Label="la_event_user.add" Module="Core" Type="1">QWRkIFVzZXI=</PHRASE>
<PHRASE Label="la_event_user.add.pending" Module="Core" Type="1">QWRkIFBlbmRpbmcgVXNlcg==</PHRASE>
<PHRASE Label="la_event_user.approve" Module="Core" Type="1">QXBwcm92ZSBVc2Vy</PHRASE>
<PHRASE Label="la_event_user.deny" Module="Core" Type="1">RGVueSBVc2Vy</PHRASE>
<PHRASE Label="la_event_user.forgotpw" Module="Core" Type="1">Rm9yZ290IFBhc3N3b3Jk</PHRASE>
<PHRASE Label="la_event_user.membership_expiration_notice" Module="Core" Type="1">TWVtYmVyc2hpcCBleHBpcmF0aW9uIG5vdGljZQ==</PHRASE>
<PHRASE Label="la_event_user.membership_expired" Module="Core" Type="1">TWVtYmVyc2hpcCBleHBpcmVk</PHRASE>
<PHRASE Label="la_event_user.pswd_confirm" Module="Core" Type="1">UGFzc3dvcmQgQ29uZmlybWF0aW9u</PHRASE>
<PHRASE Label="la_event_user.subscribe" Module="Core" Type="1">VXNlciBzdWJzY3JpYmVk</PHRASE>
<PHRASE Label="la_event_user.suggest" Module="Core" Type="1">U3VnZ2VzdCB0byBhIGZyaWVuZA==</PHRASE>
<PHRASE Label="la_event_user.unsubscribe" Module="Core" Type="1">VXNlciB1bnN1YnNjcmliZWQ=</PHRASE>
<PHRASE Label="la_event_user.validate" Module="Core" Type="1">VmFsaWRhdGUgVXNlcg==</PHRASE>
<PHRASE Label="la_exportfoldernotwritable" Module="Core" Type="1">RXhwb3J0IGZvbGRlciBpcyBub3Qgd3JpdGFibGU=</PHRASE>
<PHRASE Label="la_fck_ErrorCreatingFolder" Module="Core" Type="1">RXJyb3IgY3JlYXRpbmcgZm9sZGVyLiBFcnJvciBudW1iZXI6</PHRASE>
<PHRASE Label="la_fck_ErrorFileName" Module="Core" Type="1">UGxlYXNlIG5hbWUgeW91ciBmaWxlcyB0byBiZSB3ZWItZnJpZW5kbHkuIFdlIHJlY29tbWVuZCB1c2luZyBvbmx5IHRoZXNlIGNoYXJhY3RlcnMgaW4gZmlsZSBuYW1lczogDQpMZXR0ZXJzIGEteiwgQS1aLCBOdW1iZXJzIDAtOSwgIl8iICh1bmRlcnNjb3JlKSwgIi0iIChkYXNoKSwgIiAiIChzcGFjZSksICIuIiAocGVyaW9kKQ0KUGxlYXNlIGF2b2lkIHVzaW5nIGFueSBvdGhlciBjaGFyYWN0ZXJzIGxpa2UgcXVvdGVzLCBicmFja2V0cywgcXVvdGF0aW9uIG1hcmtzLCAiPyIsICIhIiwgIj0iLCBmb3JlaWduIHN5bWJvbHMsIGV0Yy4=</PHRASE>
<PHRASE Label="la_fck_ErrorFileUpload" Module="Core" Type="1">RXJyb3Igb24gZmlsZSB1cGxvYWQuIEVycm9yIG51bWJlcjo=</PHRASE>
<PHRASE Label="la_fck_FileAvailable" Module="Core" Type="1">QSBmaWxlIHdpdGggdGhlIHNhbWUgbmFtZSBpcyBhbHJlYWR5IGF2YWlsYWJsZQ==</PHRASE>
<PHRASE Label="la_fck_FileDate" Module="Core" Type="1">RGF0ZQ==</PHRASE>
<PHRASE Label="la_fck_FileName" Module="Core" Type="1">RmlsZSBOYW1l</PHRASE>
<PHRASE Label="la_fck_FileSize" Module="Core" Type="1">U2l6ZQ==</PHRASE>
<PHRASE Label="la_fck_FolderAlreadyExists" Module="Core" Type="1">Rm9sZGVyIGFscmVhZHkgZXhpc3Rz</PHRASE>
<PHRASE Label="la_fck_InvalidFileType" Module="Core" Type="1">SW52YWxpZCBmaWxlIHR5cGUgZm9yIHRoaXMgZm9kZXI=</PHRASE>
<PHRASE Label="la_fck_InvalidFolderName" Module="Core" Type="1">SW52YWxpZCBmb2xkZXIgbmFtZQ==</PHRASE>
<PHRASE Label="la_fck_NoPermissionsCreateFolder" Module="Core" Type="1">WW91IGhhdmUgbm8gcGVybWlzc2lvbnMgdG8gY3JlYXRlIHRoZSBmb2xkZXI=</PHRASE>
<PHRASE Label="la_fck_PleaseTypeTheFolderName" Module="Core" Type="1">UGxlYXNlIHR5cGUgdGhlIGZvbGRlciBuYW1l</PHRASE>
<PHRASE Label="la_fck_TypeTheFolderName" Module="Core" Type="1">VHlwZSB0aGUgbmFtZSBvZiB0aGUgbmV3IGZvbGRlcjo=</PHRASE>
<PHRASE Label="la_fck_UnknownErrorCreatingFolder" Module="Core" Type="1">VW5rbm93biBlcnJvciBjcmVhdGluZyBmb2xkZXI=</PHRASE>
<PHRASE Label="la_Field" Module="Core" Type="1">RmllbGQ=</PHRASE>
<PHRASE Label="la_field_displayorder" Module="Core" Type="1">RGlzcGxheSBPcmRlcg==</PHRASE>
<PHRASE Label="la_field_Priority" Module="Core" Type="1">UHJpb3JpdHk=</PHRASE>
<PHRASE Label="la_filter_From" Module="Core" Type="1">RnJvbQ==</PHRASE>
<PHRASE Label="la_filter_To" Module="Core" Type="1">VG8=</PHRASE>
<PHRASE Label="la_fld_Action" Module="Core" Type="1">QWN0aW9u</PHRASE>
<PHRASE Label="la_fld_AddressLine" Module="Core" Type="1">QWRkcmVzcyBMaW5l</PHRASE>
<PHRASE Label="la_fld_AddressLine1" Module="Core" Type="1">QWRkcmVzcyBMaW5lIDE=</PHRASE>
<PHRASE Label="la_fld_AddressLine2" Module="Core" Type="1">QWRkcmVzcyBMaW5lIDI=</PHRASE>
<PHRASE Label="la_fld_AdminInterfaceLang" Module="Core" Type="1">QWRtaW4gUHJpbWFyeQ==</PHRASE>
<PHRASE Label="la_fld_AdvancedCSS" Module="Core" Type="1">QWR2YW5jZWQgQ1NT</PHRASE>
<PHRASE Label="la_fld_AltValue" Module="Core" Type="1">QWx0IFZhbHVl</PHRASE>
<PHRASE Label="la_fld_AssignedCoupon" Module="Core" Type="1">QXNzaWduZWQgQ291cG9u</PHRASE>
<PHRASE Label="LA_FLD_ATTACHMENT" Module="Core" Type="1">QXR0YWNobWVudA==</PHRASE>
<PHRASE Label="la_fld_AutoCreateFileName" Module="Core" Type="1">QXV0byBDcmVhdGUgRmlsZSBOYW1l</PHRASE>
<PHRASE Label="la_fld_AutomaticFilename" Module="Core" Type="1">QXV0b21hdGljIEZpbGVuYW1l</PHRASE>
<PHRASE Label="la_fld_AvailableColumns" Module="Core" Type="1">QXZhaWxhYmxlIENvbHVtbnM=</PHRASE>
<PHRASE Label="la_fld_Background" Module="Core" Type="1">QmFja2dyb3VuZA==</PHRASE>
<PHRASE Label="la_fld_BackgroundAttachment" Module="Core" Type="1">QmFja2dyb3VuZCBBdHRhY2htZW50</PHRASE>
<PHRASE Label="la_fld_BackgroundColor" Module="Core" Type="1">QmFja2dyb3VuZCBDb2xvcg==</PHRASE>
<PHRASE Label="la_fld_BackgroundImage" Module="Core" Type="1">QmFja2dyb3VuZCBJbWFnZQ==</PHRASE>
<PHRASE Label="la_fld_BackgroundPosition" Module="Core" Type="1">QmFja2dyb3VuZCBQb3NpdGlvbg==</PHRASE>
<PHRASE Label="la_fld_BackgroundRepeat" Module="Core" Type="1">QmFja2dyb3VuZCBSZXBlYXQ=</PHRASE>
<PHRASE Label="la_fld_BlockPosition" Module="Core" Type="1">RWxlbWVudCBQb3NpdGlvbg==</PHRASE>
<PHRASE Label="la_fld_BorderBottom" Module="Core" Type="1">Qm9yZGVyIEJvdHRvbQ==</PHRASE>
<PHRASE Label="la_fld_BorderLeft" Module="Core" Type="1">Qm9yZGVyIExlZnQ=</PHRASE>
<PHRASE Label="la_fld_BorderRight" Module="Core" Type="1">Qm9yZGVyIFJpZ2h0</PHRASE>
<PHRASE Label="la_fld_Borders" Module="Core" Type="1">Qm9yZGVycw==</PHRASE>
<PHRASE Label="la_fld_BorderTop" Module="Core" Type="1">Qm9yZGVyIFRvcA==</PHRASE>
<PHRASE Label="la_fld_Category" Module="Core" Type="1">Q2F0ZWdvcnk=</PHRASE>
<PHRASE Label="la_fld_CategoryAutomaticFilename" Module="Core" Type="1">QXV0b21hdGljIERpcmVjdG9yeSBOYW1l</PHRASE>
<PHRASE Label="la_fld_CategoryFilename" Module="Core" Type="1">RGlyZWN0b3J5IE5hbWU=</PHRASE>
<PHRASE Label="la_fld_CategoryFormat" Module="Core" Type="1">Q2F0ZWdvcnkgRm9ybWF0</PHRASE>
<PHRASE Label="la_fld_CategoryId" Module="Core" Type="1">Q2F0ZWdvcnkgSUQ=</PHRASE>
<PHRASE Label="la_fld_CategorySeparator" Module="Core" Type="1">Q2F0ZWdvcnkgc2VwYXJhdG9y</PHRASE>
<PHRASE Label="la_fld_CategoryTemplate" Module="Core" Type="1">Q2F0ZWdvcnkgVGVtcGxhdGU=</PHRASE>
<PHRASE Label="la_fld_Changes" Module="Core" Type="1">Q2hhbmdlcw==</PHRASE>
<PHRASE Label="la_fld_Charset" Module="Core" Type="1">Q2hhcnNldA==</PHRASE>
<PHRASE Label="la_fld_CheckDuplicatesMethod" Module="Core" Type="1">Q2hlY2sgRHVwbGljYXRlcyBieQ==</PHRASE>
<PHRASE Label="la_fld_City" Module="Core" Type="1">Q2l0eQ==</PHRASE>
<PHRASE Label="la_fld_Comments" Module="Core" Type="1">RGVzY3JpcHRpb24=</PHRASE>
<PHRASE Label="la_fld_Company" Module="Core" Type="1">Q29tcGFueQ==</PHRASE>
<PHRASE Label="la_fld_Content" Module="Core" Type="1">Q29udGVudA==</PHRASE>
<PHRASE Label="la_fld_CopyLabels" Module="Core" Type="1">Q29weSBMYWJlbHMgZnJvbSB0aGlzIExhbmd1YWdl</PHRASE>
<PHRASE Label="la_fld_Country" Module="Core" Type="1">Q291bnRyeQ==</PHRASE>
<PHRASE Label="la_fld_CreatedById" Module="Core" Type="1">Q3JlYXRlZCBCeQ==</PHRASE>
<PHRASE Label="la_fld_CreatedOn" Module="Core" Type="1">Q3JlYXRlZCBPbg==</PHRASE>
<PHRASE Label="la_fld_CSS" Module="Core" Type="1">Q1NTIFRlbXBsYXRl</PHRASE>
<PHRASE Label="la_fld_Cursor" Module="Core" Type="1">Q3Vyc29y</PHRASE>
<PHRASE Label="la_fld_CustomDetailTemplate" Module="Core" Type="1">Q3VzdG9tIERldGFpbHMgVGVtcGxhdGU=</PHRASE>
<PHRASE Label="la_fld_CustomTemplate" Module="Core" Type="1">DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KRGV0YWlscyBUZW1wbGF0ZQ==</PHRASE>
<PHRASE Label="la_fld_DateFormat" Module="Core" Type="1">RGF0ZSBGb3JtYXQ=</PHRASE>
<PHRASE Label="la_fld_DecimalPoint" Module="Core" Type="1">RGVjaW1hbCBQb2ludA==</PHRASE>
<PHRASE Label="la_fld_Description" Module="Core" Type="1">RGVzY3JpcHRpb24=</PHRASE>
<PHRASE Label="la_fld_Display" Module="Core" Type="1">RGlzcGxheQ==</PHRASE>
<PHRASE Label="la_fld_DisplayInGrid" Module="Core" Type="1">RGlzcGxheSBpbiBHcmlk</PHRASE>
<PHRASE Label="la_fld_DoNotEncode" Module="Core" Type="1">QXMgUGxhaW4gVGV4dA==</PHRASE>
<PHRASE Label="la_fld_Duration" Module="Core" Type="1">RHVyYXRpb24=</PHRASE>
<PHRASE Label="la_fld_EditorsPick" Module="Core" Type="1">RWRpdG9ycyBQaWNr</PHRASE>
<PHRASE Label="la_fld_ElapsedTime" Module="Core" Type="1">RWxhcHNlZCBUaW1l</PHRASE>
<PHRASE Label="la_fld_Email" Module="Core" Type="1">RS1tYWls</PHRASE>
<PHRASE Label="la_fld_EmailsQueued" Module="Core" Type="1">RW1haWxzIFF1ZXVlZA==</PHRASE>
<PHRASE Label="la_fld_EmailsSent" Module="Core" Type="1">RW1haWxzIFNlbnQ=</PHRASE>
<PHRASE Label="la_fld_EmailsTotal" Module="Core" Type="1">RW1haWxzIFRvdGFs</PHRASE>
<PHRASE Label="la_fld_Enabled" Module="Core" Type="1">RW5hYmxlZA==</PHRASE>
<PHRASE Label="la_fld_ErrorTag" Module="Core" Type="1">RXJyb3IgVGFn</PHRASE>
<PHRASE Label="la_fld_EstimatedTime" Module="Core" Type="1">RXN0aW1hdGVkIFRpbWU=</PHRASE>
<PHRASE Label="la_fld_Event" Module="Core" Type="1">RXZlbnQ=</PHRASE>
<PHRASE Label="la_fld_Expire" Module="Core" Type="1">RXhwaXJl</PHRASE>
<PHRASE Label="la_fld_ExportColumns" Module="Core" Type="1">RXhwb3J0IGNvbHVtbnM=</PHRASE>
<PHRASE Label="la_fld_ExportFileName" Module="Core" Type="1">RXhwb3J0IEZpbGVuYW1l</PHRASE>
<PHRASE Label="la_fld_ExportFormat" Module="Core" Type="1">RXhwb3J0IGZvcm1hdA==</PHRASE>
<PHRASE Label="la_fld_ExportModules" Module="Core" Type="1">RXhwb3J0IE1vZHVsZXM=</PHRASE>
<PHRASE Label="la_fld_ExportPhraseTypes" Module="Core" Type="1">RXhwb3J0IFBocmFzZSBUeXBlcw==</PHRASE>
<PHRASE Label="la_fld_ExportPresetName" Module="Core" Type="1">RXhwb3J0IFByZXNldCBUaXRsZQ==</PHRASE>
<PHRASE Label="la_fld_ExportPresets" Module="Core" Type="1">RXhwb3J0IFByZXNldA==</PHRASE>
<PHRASE Label="la_fld_ExportSavePreset" Module="Core" Type="1">U2F2ZS9VcGRhdGUgRXhwb3J0IFByZXNldA==</PHRASE>
<PHRASE Label="la_fld_ExternalUrl" Module="Core" Type="1">RXh0ZXJuYWwgVVJM</PHRASE>
<PHRASE Label="la_fld_ExtraHeaders" Module="Core" Type="1">RXh0cmEgSGVhZGVycw==</PHRASE>
<PHRASE Label="la_fld_Fax" Module="Core" Type="1">RmF4</PHRASE>
<PHRASE Label="la_fld_FieldComparision" Module="Core" Type="1">RmllbGQgbWF0Y2g=</PHRASE>
<PHRASE Label="la_fld_FieldsEnclosedBy" Module="Core" Type="1">RmllbGRzIGVuY2xvc2VkIGJ5</PHRASE>
<PHRASE Label="la_fld_FieldsSeparatedBy" Module="Core" Type="1">RmllbGRzIHNlcGFyYXRlZCBieQ==</PHRASE>
<PHRASE Label="la_fld_FieldTitles" Module="Core" Type="1">RmllbGQgVGl0bGVz</PHRASE>
<PHRASE Label="la_fld_FieldValue" Module="Core" Type="1">RmllbGQgVmFsdWU=</PHRASE>
<PHRASE Label="la_fld_FileContents" Module="Core" Type="1">RmlsZSBDb250ZW50cw==</PHRASE>
<PHRASE Label="la_fld_Filename" Module="Core" Type="1">RmlsZW5hbWU=</PHRASE>
<PHRASE Label="la_fld_FilenameReplacements" Module="Core" Type="1">RmlsZW5hbWUgUmVwbGFjZW1lbnRz</PHRASE>
<PHRASE Label="la_fld_FirstName" Module="Core" Type="1">Rmlyc3QgTmFtZQ==</PHRASE>
<PHRASE Label="la_fld_Font" Module="Core" Type="1">Rm9udA==</PHRASE>
<PHRASE Label="la_fld_FontColor" Module="Core" Type="1">Rm9udCBDb2xvcg==</PHRASE>
<PHRASE Label="la_fld_FontFamily" Module="Core" Type="1">Rm9udCBGYW1pbHk=</PHRASE>
<PHRASE Label="la_fld_FontSize" Module="Core" Type="1">Rm9udCBTaXpl</PHRASE>
<PHRASE Label="la_fld_FontStyle" Module="Core" Type="1">Rm9udCBTdHlsZQ==</PHRASE>
<PHRASE Label="la_fld_FontWeight" Module="Core" Type="1">Rm9udCBXZWlnaHQ=</PHRASE>
<PHRASE Label="la_fld_Form" Module="Core" Type="1">T25saW5lIEZvcm0=</PHRASE>
<PHRASE Label="la_fld_FormSubmittedTemplate" Module="Core" Type="1">T25saW5lIEZvcm0gU3VibWl0dGVkIFRlbXBsYXRl</PHRASE>
<PHRASE Label="la_fld_FriendlyURL" Module="Core" Type="1">RnJpZW5kbHkgVVJM</PHRASE>
<PHRASE Label="la_fld_FrontRegistration" Module="Core" Type="1">QWxsb3cgUmVnaXN0cmF0aW9uIG9uIEZyb250LWVuZA==</PHRASE>
<PHRASE Label="la_fld_GroupId" Module="Core" Type="1">SUQ=</PHRASE>
<PHRASE Label="la_fld_GroupName" Module="Core" Type="1">R3JvdXAgTmFtZQ==</PHRASE>
<PHRASE Label="la_fld_Height" Module="Core" Type="1">SGVpZ2h0</PHRASE>
<PHRASE Label="la_fld_Hits" Module="Core" Type="1">SGl0cw==</PHRASE>
<PHRASE Label="la_fld_Hot" Module="Core" Type="1">SG90</PHRASE>
<PHRASE Label="LA_FLD_HTMLVERSION" Module="Core" Type="1">SFRNTCBWZXJzaW9u</PHRASE>
<PHRASE Label="la_fld_IconURL" Module="Core" Type="1">SWNvbiBVUkw=</PHRASE>
<PHRASE Label="la_fld_Id" Module="Core" Type="1">SUQ=</PHRASE>
<PHRASE Label="la_fld_ImageId" Module="Core" Type="1">SW1hZ2UgSUQ=</PHRASE>
<PHRASE Label="la_fld_ImportCategory" Module="Core" Type="1">SW1wb3J0IENhdGVnb3J5</PHRASE>
<PHRASE Label="la_fld_ImportFilename" Module="Core" Type="1">SW1wb3J0IEZpbGVuYW1l</PHRASE>
<PHRASE Label="la_fld_IncludeFieldTitles" Module="Core" Type="1">SW5jbHVkZSBmaWVsZCB0aXRsZXM=</PHRASE>
<PHRASE Label="la_fld_IndexTools" Module="Core" Type="1">SW5kZXggVG9vbHMgQ29kZQ==</PHRASE>
<PHRASE Label="la_fld_InputDateFormat" Module="Core" Type="1">SW5wdXQgRGF0ZSBGb3JtYXQ=</PHRASE>
<PHRASE Label="la_fld_InputTimeFormat" Module="Core" Type="1">SW5wdXQgVGltZSBGb3JtYXQ=</PHRASE>
<PHRASE Label="la_fld_InstallModules" Module="Core" Type="1">SW5zdGFsbCBNb2R1bGVz</PHRASE>
<PHRASE Label="la_fld_InstallPhraseTypes" Module="Core" Type="1">SW5zdGFsbCBQaHJhc2UgVHlwZXM=</PHRASE>
<PHRASE Label="la_fld_IsBaseCategory" Module="Core" Type="1">VXNlIGN1cnJlbnQgY2F0ZWdvcnkgYXMgcm9vdCBmb3IgdGhlIGV4cG9ydA==</PHRASE>
<PHRASE Label="la_fld_IsFreePromoShipping" Module="Core" Type="1">VXNlIGFzIEZyZWUgUHJvbW8gU2hpcHBpbmc=</PHRASE>
<PHRASE Label="la_fld_IsIndex" Module="Core" Type="1">SXMgSW5kZXggUGFnZQ==</PHRASE>
<PHRASE Label="la_fld_IsPrimary" Module="Core" Type="1">UHJpbWFyeQ==</PHRASE>
<PHRASE Label="la_fld_IsRequired" Module="Core" Type="1">UmVxdWlyZWQ=</PHRASE>
<PHRASE Label="la_fld_IsSystem" Module="Core" Type="1">SXMgU3lzdGVt</PHRASE>
<PHRASE Label="la_fld_IsSystemTemplate" Module="Core" Type="1">U3lzdGVtIFRlbXBsYXRl</PHRASE>
<PHRASE Label="la_fld_ItemField" Module="Core" Type="1">SXRlbSBGaWVsZA==</PHRASE>
<PHRASE Label="la_fld_ItemId" Module="Core" Type="1">SXRlbSBJRA==</PHRASE>
<PHRASE Label="la_fld_ItemTemplate" Module="Core" Type="1">SXRlbSBUZW1wbGF0ZQ==</PHRASE>
<PHRASE Label="la_fld_Language" Module="Core" Type="1">TGFuZ3VhZ2U=</PHRASE>
<PHRASE Label="la_fld_LanguageFile" Module="Core" Type="1">TGFuZ3VhZ2UgRmlsZQ==</PHRASE>
<PHRASE Label="la_fld_LanguageId" Module="Core" Type="1">TGFuZ3VhZ2UgSUQ=</PHRASE>
<PHRASE Label="la_fld_LastName" Module="Core" Type="1">TGFzdCBOYW1l</PHRASE>
<PHRASE Label="la_fld_LastRunOn" Module="Core" Type="1">TGFzdCBSdW4gT24=</PHRASE>
<PHRASE Label="la_fld_LastRunStatus" Module="Core" Type="1">TGFzdCBSdW4gU3RhdHVz</PHRASE>
<PHRASE Label="la_fld_Left" Module="Core" Type="1">TGVmdA==</PHRASE>
<PHRASE Label="la_fld_LineEndings" Module="Core" Type="1">TGluZSBlbmRpbmdz</PHRASE>
<PHRASE Label="la_fld_LineEndingsInside" Module="Core" Type="1">TGluZSBFbmRpbmdzIEluc2lkZSBGaWVsZHM=</PHRASE>
<PHRASE Label="la_fld_Locale" Module="Core" Type="1">TG9jYWxl</PHRASE>
<PHRASE Label="la_fld_LocalName" Module="Core" Type="1">TG9jYWwgTmFtZQ==</PHRASE>
<PHRASE Label="la_fld_Location" Module="Core" Type="1">TG9jYXRpb24=</PHRASE>
<PHRASE Label="la_fld_Login" Module="Core" Type="1">TG9naW4=</PHRASE>
<PHRASE Label="la_fld_Logo" Module="Core" Type="1">TG9nbyBpbWFnZQ==</PHRASE>
<PHRASE Label="la_fld_LogoBottom" Module="Core" Type="1">Qm90dG9tIExvZ28gSW1hZ2U=</PHRASE>
<PHRASE Label="la_fld_MarginBottom" Module="Core" Type="1">TWFyZ2luIEJvdHRvbQ==</PHRASE>
<PHRASE Label="la_fld_MarginLeft" Module="Core" Type="1">TWFyZ2luIExlZnQ=</PHRASE>
<PHRASE Label="la_fld_MarginRight" Module="Core" Type="1">TWFyZ2luIFJpZ2h0</PHRASE>
<PHRASE Label="la_fld_Margins" Module="Core" Type="1">TWFyZ2lucw==</PHRASE>
<PHRASE Label="la_fld_MarginTop" Module="Core" Type="1">TWFyZ2luIFRvcA==</PHRASE>
<PHRASE Label="la_fld_MasterId" Module="Core" Type="1">TWFzdGVyIElE</PHRASE>
<PHRASE Label="la_fld_MasterPrefix" Module="Core" Type="1">TWFzdGVyIFByZWZpeA==</PHRASE>
<PHRASE Label="la_fld_MaxCategories" Module="Core" Type="1">TWF4aW11bSBudW1iZXIgb2YgQ2F0ZWdvcmllcyBvbiBJdGVtIGNhbiBiZSBhZGRlZCB0bw==</PHRASE>
<PHRASE Label="la_fld_MenuIcon" Module="Core" Type="1">Q3VzdG9tIE1lbnUgSWNvbiAoaWUuIGltZy9tZW51X3Byb2R1Y3RzLmdpZik=</PHRASE>
<PHRASE Label="la_fld_MenuStatus" Module="Core" Type="1">TWVudSBTdGF0dXM=</PHRASE>
<PHRASE Label="la_fld_MessageBody" Module="Core" Type="1">TWVzc2FnZSBCb2R5</PHRASE>
<PHRASE Label="la_fld_MessageText" Module="Core" Type="1">TWVzc2FnZSBUZXh0</PHRASE>
<PHRASE Label="la_fld_MessageType" Module="Core" Type="1">TWVzc2FnZSBUeXBl</PHRASE>
<PHRASE Label="la_fld_MetaDescription" Module="Core" Type="1">TWV0YSBEZXNjcmlwdGlvbg==</PHRASE>
<PHRASE Label="la_fld_MetaKeywords" Module="Core" Type="1">TWV0YSBLZXl3b3Jkcw==</PHRASE>
<PHRASE Label="la_fld_MisspelledWord" Module="Core" Type="1">TWlzc3BlbGxlZCBXb3Jk</PHRASE>
<PHRASE Label="la_fld_Modified" Module="Core" Type="1">TW9kaWZpZWQ=</PHRASE>
<PHRASE Label="la_fld_Module" Module="Core" Type="1">TW9kdWxl</PHRASE>
<PHRASE Label="la_fld_MultiLingual" Module="Core" Type="1">TXVsdGlsaW5ndWFs</PHRASE>
<PHRASE Label="la_fld_Name" Module="Core" Type="1">TmFtZQ==</PHRASE>
<PHRASE Label="la_fld_New" Module="Core" Type="1">TmV3</PHRASE>
<PHRASE Label="la_fld_NextRunOn" Module="Core" Type="1">TmV4dCBSdW4gT24=</PHRASE>
<PHRASE Label="la_fld_OccuredOn" Module="Core" Type="1">T2NjdXJlZCBPbg==</PHRASE>
<PHRASE Label="la_fld_Options" Module="Core" Type="1">T3B0aW9ucw==</PHRASE>
<PHRASE Label="la_fld_OptionTitle" Module="Core" Type="1">T3B0aW9uIFRpdGxl</PHRASE>
<PHRASE Label="la_fld_PackName" Module="Core" Type="1">UGFjayBOYW1l</PHRASE>
<PHRASE Label="la_fld_PaddingBottom" Module="Core" Type="1">UGFkZGluZyBCb3R0b20=</PHRASE>
<PHRASE Label="la_fld_PaddingLeft" Module="Core" Type="1">UGFkZGluZyBMZWZ0</PHRASE>
<PHRASE Label="la_fld_PaddingRight" Module="Core" Type="1">UGFkZGluZyBSaWdodA==</PHRASE>
<PHRASE Label="la_fld_Paddings" Module="Core" Type="1">UGFkZGluZ3M=</PHRASE>
<PHRASE Label="la_fld_PaddingTop" Module="Core" Type="1">UGFkZGluZyBUb3A=</PHRASE>
<PHRASE Label="la_fld_PageContentTitle" Module="Core" Type="1">VGl0bGUgKE9uIFBhZ2Up</PHRASE>
<PHRASE Label="la_fld_PageHeadTitle" Module="Core" Type="1">VGl0bGUgKEhUTUwgJmx0O3RpdGxlJmd0Oyk=</PHRASE>
<PHRASE Label="la_fld_PageId" Module="Core" Type="1">UGFnZSBJRA==</PHRASE>
<PHRASE Label="la_fld_PageMentTitle" Module="Core" Type="1">VGl0bGUgKE1lbnUgSXRlbSk=</PHRASE>
<PHRASE Label="la_fld_PageTitle" Module="Core" Type="1">UGFnZSBUaXRsZQ==</PHRASE>
<PHRASE Label="la_fld_ParentSection" Module="Core" Type="1">UGFyZW50IFNlY3Rpb24=</PHRASE>
<PHRASE Label="la_fld_Password" Module="Core" Type="1">UGFzc3dvcmQ=</PHRASE>
<PHRASE Label="la_fld_PercentsCompleted" Module="Core" Type="1">UGVyY2VudHMgQ29tcGxldGVk</PHRASE>
<PHRASE Label="la_fld_Phone" Module="Core" Type="1">UGhvbmU=</PHRASE>
<PHRASE Label="la_fld_Phrase" Module="Core" Type="1">TGFiZWw=</PHRASE>
<PHRASE Label="la_fld_PhraseType" Module="Core" Type="1">UGhyYXNlIFR5cGU=</PHRASE>
<PHRASE Label="la_fld_Pop" Module="Core" Type="1">UG9w</PHRASE>
<PHRASE Label="la_fld_Popular" Module="Core" Type="1">UG9wdWxhcg==</PHRASE>
<PHRASE Label="la_fld_Position" Module="Core" Type="1">UG9zaXRpb24=</PHRASE>
<PHRASE Label="la_fld_Prefix" Module="Core" Type="1">UHJlZml4</PHRASE>
<PHRASE Label="la_fld_Primary" Module="Core" Type="1">UHJpbWFyeQ==</PHRASE>
<PHRASE Label="la_fld_PrimaryCategory" Module="Core" Type="1">UHJpbWFyeSBDYXRlZ29yeQ==</PHRASE>
<PHRASE Label="la_fld_PrimaryLang" Module="Core" Type="1">UHJpbWFyeQ==</PHRASE>
<PHRASE Label="la_fld_PrimaryTranslation" Module="Core" Type="1">UHJpbWFyeSBUcmFuc2xhdGlvbg==</PHRASE>
<PHRASE Label="la_fld_Priority" Module="Core" Type="1">UHJpb3JpdHk=</PHRASE>
<PHRASE Label="la_fld_PriorityOrder" Module="Core" Type="1">T3JkZXI=</PHRASE>
<PHRASE Label="la_fld_ProductFreeShipping" Module="Core" Type="1">TWluaW11bSBxdWFudGl0eSBmb3IgRnJlZSBTaGlwcGluZw==</PHRASE>
<PHRASE Label="la_fld_Rating" Module="Core" Type="1">UmF0aW5n</PHRASE>
<PHRASE Label="la_fld_RelatedSearchKeyword" Module="Core" Type="1">S2V5d29yZA==</PHRASE>
<PHRASE Label="la_fld_RelationshipId" Module="Core" Type="1">UmVsYXRpb24gSUQ=</PHRASE>
<PHRASE Label="la_fld_RelationshipType" Module="Core" Type="1">VHlwZQ==</PHRASE>
<PHRASE Label="la_fld_RemoteUrl" Module="Core" Type="1">UmVtb3RlIFVSTA==</PHRASE>
<PHRASE Label="la_fld_ReplaceDuplicates" Module="Core" Type="1">UmVwbGFjZSBEdXBsaWNhdGVz</PHRASE>
<PHRASE Label="la_fld_Required" Module="Core" Type="1">UmVxdWlyZWQ=</PHRASE>
<PHRASE Label="la_fld_ReviewId" Module="Core" Type="0">UmV2aWV3IElE</PHRASE>
<PHRASE Label="la_fld_ReviewText" Module="Core" Type="1">UmV2aWV3IFRleHQ=</PHRASE>
<PHRASE Label="la_fld_RuleType" Module="Core" Type="1">UnVsZSBUeXBl</PHRASE>
<PHRASE Label="la_fld_RunInterval" Module="Core" Type="1">UnVuIEludGVydmFs</PHRASE>
<PHRASE Label="la_fld_RunMode" Module="Core" Type="1">UnVuIE1vZGU=</PHRASE>
<PHRASE Label="la_fld_RunTime" Module="Core" Type="1">UnVuIFRpbWU=</PHRASE>
<PHRASE Label="la_fld_SameAsThumb" Module="Core" Type="1">U2FtZSBBcyBUaHVtYg==</PHRASE>
<PHRASE Label="la_fld_SearchTerm" Module="Core" Type="1">U2VhcmNoIFRlcm0=</PHRASE>
<PHRASE Label="la_fld_SelectorBase" Module="Core" Type="1">QmFzZWQgT24=</PHRASE>
<PHRASE Label="la_fld_SelectorData" Module="Core" Type="1">U3R5bGU=</PHRASE>
<PHRASE Label="la_fld_SelectorId" Module="Core" Type="1">U2VsZWN0b3IgSUQ=</PHRASE>
<PHRASE Label="la_fld_SelectorName" Module="Core" Type="1">U2VsZWN0b3IgTmFtZQ==</PHRASE>
<PHRASE Label="la_fld_SessionLogId" Module="Core" Type="1">U2Vzc2lvbiBMb2cgSUQ=</PHRASE>
<PHRASE Label="la_fld_SkinName" Module="Core" Type="1">TmFtZQ==</PHRASE>
<PHRASE Label="la_fld_SkipFirstRow" Module="Core" Type="1">U2tpcCBGaXJzdCBSb3c=</PHRASE>
<PHRASE Label="la_fld_SortValues" Module="Core" Type="1">U29ydCBWYWx1ZXM=</PHRASE>
<PHRASE Label="la_fld_State" Module="Core" Type="1">U3RhdGU=</PHRASE>
<PHRASE Label="la_fld_Status" Module="Core" Type="1">U3RhdHVz</PHRASE>
<PHRASE Label="la_fld_StopWord" Module="Core" Type="1">U3RvcCBXb3Jk</PHRASE>
<PHRASE Label="la_fld_StylesheetId" Module="Core" Type="1">U3R5bGVzaGVldCBJRA==</PHRASE>
<PHRASE Label="la_fld_Subject" Module="Core" Type="1">U3ViamVjdA==</PHRASE>
<PHRASE Label="la_fld_SubmissionTime" Module="Core" Type="1">U3VibWl0dGVkIE9u</PHRASE>
<PHRASE Label="la_fld_SuggestedCorrection" Module="Core" Type="1">U3VnZ2VzdGVkIENvcnJlY3Rpb24=</PHRASE>
<PHRASE Label="la_fld_SymLinkCategoryId" Module="Core" Type="1">UG9pbnRzIHRvIENhdGVnb3J5</PHRASE>
<PHRASE Label="la_fld_TargetId" Module="Core" Type="1">SXRlbQ==</PHRASE>
<PHRASE Label="la_fld_Template" Module="Core" Type="1">VGVtcGxhdGUgKGRlc2lnbik=</PHRASE>
+ <PHRASE Label="la_fld_TemplateFile" Module="Core" Type="1">VGVtcGxhdGUgRmlsZQ==</PHRASE>
<PHRASE Label="la_fld_TemplateType" Module="Core" Type="1">VGVtcGxhdGUgVHlwZQ==</PHRASE>
<PHRASE Label="la_fld_TextAlign" Module="Core" Type="1">VGV4dCBBbGlnbg==</PHRASE>
<PHRASE Label="la_fld_TextDecoration" Module="Core" Type="1">VGV4dCBEZWNvcmF0aW9u</PHRASE>
<PHRASE Label="LA_FLD_TEXTVERSION" Module="Core" Type="1">VGV4dCBWZXJzaW9u</PHRASE>
<PHRASE Label="la_fld_ThesaurusTerm" Module="Core" Type="1">VGhlc2F1cnVzIFRlcm0=</PHRASE>
<PHRASE Label="la_fld_ThesaurusType" Module="Core" Type="1">VGhlc2F1cnVzIFR5cGU=</PHRASE>
<PHRASE Label="la_fld_ThousandSep" Module="Core" Type="1">VGhvdXNhbmRzIFNlcGFyYXRvcg==</PHRASE>
<PHRASE Label="la_fld_TimeFormat" Module="Core" Type="1">VGltZSBGb3JtYXQ=</PHRASE>
<PHRASE Label="la_fld_Title" Module="Core" Type="1">VGl0bGU=</PHRASE>
<PHRASE Label="la_fld_To" Module="Core" Type="1">VG8=</PHRASE>
<PHRASE Label="la_fld_Top" Module="Core" Type="1">VG9w</PHRASE>
<PHRASE Label="la_fld_TrackingCode" Module="Core" Type="1">VHJhY2tpbmcgQ29kZQ==</PHRASE>
<PHRASE Label="la_fld_Translation" Module="Core" Type="1">VmFsdWU=</PHRASE>
<PHRASE Label="la_fld_Type" Module="Core" Type="1">VHlwZQ==</PHRASE>
<PHRASE Label="la_fld_UnitSystem" Module="Core" Type="1">TWVhc3VyZXMgU3lzdGVt</PHRASE>
<PHRASE Label="la_fld_Upload" Module="Core" Type="1">VXBsb2FkIEZpbGUgRnJvbSBMb2NhbCBQQw==</PHRASE>
<PHRASE Label="la_fld_URL" Module="Core" Type="1">VVJM</PHRASE>
<PHRASE Label="la_fld_UseExternalUrl" Module="Core" Type="1">TGluayB0byBFeHRlcm5hbCBVUkw=</PHRASE>
<PHRASE Label="la_fld_UseMenuIcon" Module="Core" Type="1">VXNlIEN1c3RvbSBNZW51IEljb24=</PHRASE>
<PHRASE Label="la_fld_UserDocsUrl" Module="Core" Type="1">VXNlciBEb2N1bWVudGF0aW9uIFVSTA==</PHRASE>
<PHRASE Label="la_fld_Username" Module="Core" Type="1">VXNlcm5hbWU=</PHRASE>
<PHRASE Label="la_fld_VerifyPassword" Module="Core" Type="1">UmUtZW50ZXIgUGFzc3dvcmQ=</PHRASE>
<PHRASE Label="la_fld_Version" Module="Core" Type="1">VmVyc2lvbg==</PHRASE>
<PHRASE Label="la_fld_Visibility" Module="Core" Type="1">VmlzaWJpbGl0eQ==</PHRASE>
<PHRASE Label="la_fld_Votes" Module="Core" Type="1">Vm90ZXM=</PHRASE>
<PHRASE Label="la_fld_Width" Module="Core" Type="1">V2lkdGg=</PHRASE>
<PHRASE Label="la_fld_Z-Index" Module="Core" Type="1">Wi1JbmRleA==</PHRASE>
<PHRASE Label="la_fld_ZIP" Module="Core" Type="1">WklQ</PHRASE>
<PHRASE Label="la_Font" Module="Core" Type="1">Rm9udCBQcm9wZXJ0aWVz</PHRASE>
<PHRASE Label="la_FormCancelConfirmation" Module="Core" Type="1">RG8geW91IHdhbnQgdG8gc2F2ZSB0aGUgY2hhbmdlcz8=</PHRASE>
<PHRASE Label="la_FormResetConfirmation" Module="Core" Type="1">QXJlIHlvdSBzdXJlIHlvdSB3b3VsZCBsaWtlIHRvIGRpc2NhcmQgdGhlIGNoYW5nZXM/</PHRASE>
<PHRASE Label="la_from_date" Module="Core" Type="1">RnJvbSBEYXRl</PHRASE>
<PHRASE Label="la_front_end" Module="Core" Type="1">RnJvbnQgZW5k</PHRASE>
<PHRASE Label="la_GeneralSections" Module="Core" Type="1">R2VuZXJhbCBTZWN0aW9ucw==</PHRASE>
<PHRASE Label="la_gigabytes" Module="Core" Type="1">Z2lnYWJ5dGUocyk=</PHRASE>
<PHRASE Label="la_HeadFgBgColor" Module="Core" Type="1">SGVhZCBmcmFtZSBjb2xvcnM8YnIvPg0KTWFpbiAvIE1haW4gQmFja2dyb3VuZCwgQmFyIC8gQmFyIEJhY2tncm91bmQg</PHRASE>
<PHRASE Label="la_HeadFrame" Module="Core" Type="1">SGVhZCBGcmFtZQ==</PHRASE>
<PHRASE Label="la_help_in_progress" Module="Core" Type="1">VGhpcyBoZWxwIHNlY3Rpb24gZG9lcyBub3QgeWV0IGV4aXN0LCBpdCdzIGNvbWluZyBzb29uIQ==</PHRASE>
<PHRASE Label="la_Hide" Module="Core" Type="1">SGlkZQ==</PHRASE>
<PHRASE Label="la_Html" Module="Core" Type="1">aHRtbA==</PHRASE>
<PHRASE Label="la_IDField" Module="Core" Type="1">SUQgRmllbGQ=</PHRASE>
<PHRASE Label="la_ImportingEmailEvents" Module="Core" Type="1">SW1wb3J0aW5nIEVtYWlsIEV2ZW50cyAuLi4=</PHRASE>
<PHRASE Label="la_ImportingLanguages" Module="Core" Type="1">SW1wb3J0aW5nIExhbmd1YWdlcyAuLi4=</PHRASE>
<PHRASE Label="la_ImportingPhrases" Module="Core" Type="1">SW1wb3J0aW5nIFBocmFzZXMgLi4u</PHRASE>
<PHRASE Label="la_importlang_phrasewarning" Module="Core" Type="2">RW5hYmxpbmcgdGhpcyBvcHRpb24gd2lsbCB1bmRvIGFueSBjaGFuZ2VzIHlvdSBoYXZlIG1hZGUgdG8gZXhpc3RpbmcgcGhyYXNlcw==</PHRASE>
<PHRASE Label="la_importPhrases" Module="Core" Type="1">SW1wb3J0aW5nIFBocmFzZXM=</PHRASE>
<PHRASE Label="la_inlink" Module="Core" Type="1">SW4tbGluaw==</PHRASE>
<PHRASE Label="la_invalid_email" Module="Core" Type="1">SW52YWxpZCBFLU1haWw=</PHRASE>
<PHRASE Label="la_invalid_integer" Module="Core" Type="1">SW5jb3JyZWN0IGRhdGEgZm9ybWF0LCBwbGVhc2UgdXNlIGludGVnZXI=</PHRASE>
<PHRASE Label="la_invalid_license" Module="Core" Type="1">TWlzc2luZyBvciBpbnZhbGlkIEluLVBvcnRhbCBMaWNlbnNl</PHRASE>
<PHRASE Label="la_Invalid_Password" Module="Core" Type="1">SW5jb3JyZWN0IFVzZXJuYW1lIG9yIFBhc3N3b3Jk</PHRASE>
<PHRASE Label="la_invalid_state" Module="Core" Type="0">SW52YWxpZCBzdGF0ZQ==</PHRASE>
<PHRASE Label="la_ItemTab_Categories" Module="Core" Type="1">Q2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="la_ItemTab_Links" Module="Core" Type="1">TGlua3M=</PHRASE>
<PHRASE Label="la_ItemTab_News" Module="Core" Type="1">QXJ0aWNsZXM=</PHRASE>
<PHRASE Label="la_ItemTab_Topics" Module="Core" Type="1">VG9waWNz</PHRASE>
<PHRASE Label="la_K4_AdvancedView" Module="Core" Type="1">SzQgQWR2YW5jZWQgVmlldw==</PHRASE>
<PHRASE Label="la_K4_Catalog" Module="Core" Type="1">SzQgQ2F0YWxvZw==</PHRASE>
<PHRASE Label="la_kilobytes" Module="Core" Type="1">S0I=</PHRASE>
<PHRASE Label="la_language" Module="Core" Type="1">TGFuZ3VhZ2U=</PHRASE>
<PHRASE Label="la_lang_import_progress" Module="Core" Type="1">SW1wb3J0IHByb2dyZXNz</PHRASE>
<PHRASE Label="la_LastUpdate" Module="Core" Type="1">TGFzdCBVcGRhdGVk</PHRASE>
<PHRASE Label="la_Link_Date" Module="Core" Type="1">RGF0ZQ==</PHRASE>
<PHRASE Label="la_Link_Description" Module="Core" Type="1">TGluayBEZXNjcmlwdGlvbg==</PHRASE>
<PHRASE Label="la_link_editorspick_prompt" Module="Core" Type="1">RGlzcGxheSBlZGl0b3IgUElDS3MgYWJvdmUgcmVndWxhciBsaW5rcw==</PHRASE>
<PHRASE Label="la_Link_Hits" Module="Core" Type="1">SGl0cw==</PHRASE>
<PHRASE Label="la_Link_Name" Module="Core" Type="1">TGluayBOYW1l</PHRASE>
<PHRASE Label="la_link_newdays_prompt" Module="Core" Type="1">TnVtYmVyIG9mIGRheXMgZm9yIGEgbGluayB0byBiZSBORVc=</PHRASE>
<PHRASE Label="la_link_perpage_prompt" Module="Core" Type="1">TnVtYmVyIG9mIGxpbmtzIHBlciBwYWdl</PHRASE>
<PHRASE Label="la_link_perpage_short_prompt" Module="Core" Type="1">TnVtYmVyIG9mIGxpbmtzIHBlciBwYWdlIG9uIGEgc2hvcnQgbGlzdGluZw==</PHRASE>
<PHRASE Label="la_Link_Rating" Module="Core" Type="1">UmF0aW5n</PHRASE>
<PHRASE Label="la_link_reviewed" Module="Core" Type="1">TGluayByZXZpZXdlZA==</PHRASE>
<PHRASE Label="la_link_sortfield2_prompt" Module="Core" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
<PHRASE Label="la_link_sortfield_prompt" Module="Core" Type="1">T3JkZXIgbGlua3MgYnk=</PHRASE>
<PHRASE Label="la_link_sortreviews2_prompt" Module="Core" Type="1">YW5kIHRoZW4gYnk=</PHRASE>
<PHRASE Label="la_link_sortreviews_prompt" Module="Core" Type="1">U29ydCByZXZpZXdzIGJ5</PHRASE>
<PHRASE Label="la_Link_URL" Module="Core" Type="1">VVJM</PHRASE>
<PHRASE Label="la_link_urlstatus_prompt" Module="Core" Type="1">RGlzcGxheSBsaW5rIFVSTCBpbiBzdGF0dXMgYmFy</PHRASE>
<PHRASE Label="la_Linux" Module="Core" Type="1">TGludXggKG4p</PHRASE>
<PHRASE Label="la_LocalImage" Module="Core" Type="1">TG9jYWwgSW1hZ2U=</PHRASE>
<PHRASE Label="la_Logged_in_as" Module="Core" Type="1">TG9nZ2VkIGluIGFz</PHRASE>
<PHRASE Label="la_login" Module="Core" Type="1">TG9naW4=</PHRASE>
<PHRASE Label="la_Logout" Module="Core" Type="1">TG9nb3V0</PHRASE>
<PHRASE Label="la_m0" Module="Core" Type="1">KEdNVCk=</PHRASE>
<PHRASE Label="la_m1" Module="Core" Type="1">KEdNVCAtMDE6MDAp</PHRASE>
<PHRASE Label="la_m10" Module="Core" Type="1">KEdNVCAtMTA6MDAp</PHRASE>
<PHRASE Label="la_m11" Module="Core" Type="1">KEdNVCAtMTE6MDAp</PHRASE>
<PHRASE Label="la_m12" Module="Core" Type="1">KEdNVCAtMTI6MDAp</PHRASE>
<PHRASE Label="la_m2" Module="Core" Type="1">KEdNVCAtMDI6MDAp</PHRASE>
<PHRASE Label="la_m3" Module="Core" Type="1">KEdNVCAtMDM6MDAp</PHRASE>
<PHRASE Label="la_m4" Module="Core" Type="1">KEdNVCAtMDQ6MDAp</PHRASE>
<PHRASE Label="la_m5" Module="Core" Type="1">KEdNVCAtMDU6MDAp</PHRASE>
<PHRASE Label="la_m6" Module="Core" Type="1">KEdNVCAtMDY6MDAp</PHRASE>
<PHRASE Label="la_m7" Module="Core" Type="1">KEdNVCAtMDc6MDAp</PHRASE>
<PHRASE Label="la_m8" Module="Core" Type="1">KEdNVCAtMDg6MDAp</PHRASE>
<PHRASE Label="la_m9" Module="Core" Type="1">KEdNVCAtMDk6MDAp</PHRASE>
<PHRASE Label="la_Margins" Module="Core" Type="1">TWFyZ2lucw==</PHRASE>
<PHRASE Label="la_megabytes" Module="Core" Type="1">TUI=</PHRASE>
<PHRASE Label="la_MembershipExpirationReminder" Module="Core" Type="1">R3JvdXAgTWVtYmVyc2hpcCBFeHBpcmF0aW9uIFJlbWluZGVyIChkYXlzKQ==</PHRASE>
<PHRASE Label="la_MenuTreeTitle" Module="Core" Type="1">TWFpbiBNZW51</PHRASE>
<PHRASE Label="la_Metric" Module="Core" Type="1">TWV0cmlj</PHRASE>
<PHRASE Label="la_missing_theme" Module="Core" Type="1">TWlzc2luZyBJbiBUaGVtZQ==</PHRASE>
<PHRASE Label="la_MixedCategoryPath" Module="Core" Type="1">Q2F0ZWdvcnkgcGF0aCBpbiBvbmUgZmllbGQ=</PHRASE>
<PHRASE Label="la_module_not_licensed" Module="Core" Type="1">TW9kdWxlIG5vdCBsaWNlbnNlZA==</PHRASE>
<PHRASE Label="la_monday" Module="Core" Type="1">TW9uZGF5</PHRASE>
<PHRASE Label="la_Msg_PropagateCategoryStatus" Module="Core" Type="1">QXBwbHkgdG8gYWxsIFN1Yi1jYXRlZ29yaWVzPw==</PHRASE>
<PHRASE Label="la_Never" Module="Core" Type="1">TmV2ZXI=</PHRASE>
<PHRASE Label="la_NeverExpires" Module="Core" Type="1">TmV2ZXIgRXhwaXJlcw==</PHRASE>
<PHRASE Label="la_New" Module="Core" Type="1">TmV3</PHRASE>
<PHRASE Label="la_news_daysarchive_prompt" Module="Core" Type="1">TnVtYmVyIG9mIGRheXMgdG8gYXJjaGl2ZSBhcnRpY2xlcyBhdXRvbWF0aWNhbGx5</PHRASE>
<PHRASE Label="la_news_editorpicksabove_prompt" Module="Core" Type="1">RGlzcGxheSBlZGl0b3IgUElDS3MgYWJvdmUgcmVndWxhciBhcnRpY2xlcw==</PHRASE>
<PHRASE Label="la_news_newdays_prompt" Module="Core" Type="1">TnVtYmVyIG9mIGRheXMgZm9yIGEgYXJ0aWNsZSB0byBiZSBORVc=</PHRASE>
<PHRASE Label="la_news_perpage_prompt" Module="Core" Type="1">TnVtYmVyIG9mIGFydGljbGVzIHBlciBwYWdl</PHRASE>
<PHRASE Label="la_news_perpage_short_prompt" Module="Core" Type="1">QXJ0aWNsZXMgUGVyIFBhZ2UgKFNob3J0bGlzdCk=</PHRASE>
<PHRASE Label="la_news_sortfield2_pompt" Module="Core" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
<PHRASE Label="la_news_sortfield_pompt" Module="Core" Type="1">T3JkZXIgYXJ0aWNsZXMgYnk=</PHRASE>
<PHRASE Label="la_news_sortreviews2_prompt" Module="Core" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
<PHRASE Label="la_news_sortreviews_prompt" Module="Core" Type="1">U29ydCByZXZpZXdzIGJ5</PHRASE>
<PHRASE Label="la_nextcategory" Module="Core" Type="1">TmV4dCBjYXRlZ29yeQ==</PHRASE>
<PHRASE Label="la_nextgroup" Module="Core" Type="1">TmV4dCBncm91cA==</PHRASE>
<PHRASE Label="la_NextUser" Module="Core" Type="1">TmV4dCBVc2Vy</PHRASE>
<PHRASE Label="la_No" Module="Core" Type="1">Tm8=</PHRASE>
<PHRASE Label="la_none" Module="Core" Type="1">Tm9uZQ==</PHRASE>
<PHRASE Label="la_NoSubject" Module="Core" Type="1">Tm8gU3ViamVjdA==</PHRASE>
<PHRASE Label="la_no_topics" Module="Core" Type="1">Tm8gdG9waWNz</PHRASE>
<PHRASE Label="la_Number_of_Posts" Module="Core" Type="1">TnVtYmVyIG9mIFBvc3Rz</PHRASE>
<PHRASE Label="la_of" Module="Core" Type="1">b2Y=</PHRASE>
<PHRASE Label="la_Off" Module="Core" Type="1">T2Zm</PHRASE>
<PHRASE Label="la_On" Module="Core" Type="1">T24=</PHRASE>
<PHRASE Label="la_OneWay" Module="Core" Type="1">T25lIFdheQ==</PHRASE>
<PHRASE Label="la_opt_ActionCreate" Module="Core" Type="1">Y3JlYXRlZA==</PHRASE>
+ <PHRASE Label="la_opt_ActionDelete" Module="Core" Type="1">ZGVsZXRlZA==</PHRASE>
+ <PHRASE Label="la_opt_ActionUpdate" Module="Core" Type="1">dXBkYXRlZA==</PHRASE>
<PHRASE Label="la_opt_Active" Module="Core" Type="1">QWN0aXZl</PHRASE>
<PHRASE Label="la_opt_Address" Module="Core" Type="1">QWRkcmVzcw==</PHRASE>
<PHRASE Label="la_opt_After" Module="Core" Type="1">QWZ0ZXI=</PHRASE>
<PHRASE Label="la_opt_Allow" Module="Core" Type="1">QWxsb3c=</PHRASE>
<PHRASE Label="la_opt_Before" Module="Core" Type="1">QmVmb3Jl</PHRASE>
<PHRASE Label="la_opt_Cancelled" Module="Core" Type="1">Q2FuY2VsbGVk</PHRASE>
<PHRASE Label="la_opt_City" Module="Core" Type="1">Q2l0eQ==</PHRASE>
<PHRASE Label="la_opt_day" Module="Core" Type="1">ZGF5KHMp</PHRASE>
<PHRASE Label="la_opt_Deny" Module="Core" Type="1">RGVueQ==</PHRASE>
<PHRASE Label="la_opt_Disabled" Module="Core" Type="1">RGlzYWJsZWQ=</PHRASE>
<PHRASE Label="la_opt_Exact" Module="Core" Type="1">RXhhY3Q=</PHRASE>
+ <PHRASE Label="la_opt_Expired" Module="Core" Type="1">RXhwaXJlZA==</PHRASE>
<PHRASE Label="la_opt_Failed" Module="Core" Type="1">RmFpbGVk</PHRASE>
<PHRASE Label="la_opt_FirstName" Module="Core" Type="1">Rmlyc3QgTmFtZQ==</PHRASE>
<PHRASE Label="la_opt_hour" Module="Core" Type="1">aG91cihzKQ==</PHRASE>
<PHRASE Label="la_opt_IP_Address" Module="Core" Type="1">SVAgQWRkcmVzcw==</PHRASE>
<PHRASE Label="la_opt_LastName" Module="Core" Type="1">TGFzdCBOYW1l</PHRASE>
+ <PHRASE Label="la_opt_LoggedOut" Module="Core" Type="1">TG9nZ2VkIE91dA==</PHRASE>
<PHRASE Label="la_opt_min" Module="Core" Type="1">bWludXRlKHMp</PHRASE>
<PHRASE Label="la_opt_month" Module="Core" Type="1">bW9udGgocyk=</PHRASE>
<PHRASE Label="la_opt_NotProcessed" Module="Core" Type="1">Tm90IFByb2Nlc3NlZA==</PHRASE>
<PHRASE Label="la_opt_PartiallyProcessed" Module="Core" Type="1">UGFydGlhbGx5IFByb2Nlc3NlZA==</PHRASE>
<PHRASE Label="la_opt_Phone" Module="Core" Type="1">UGhvbmU=</PHRASE>
<PHRASE Label="la_opt_Processed" Module="Core" Type="1">UHJvY2Vzc2Vk</PHRASE>
<PHRASE Label="la_opt_Running" Module="Core" Type="1">UnVubmluZw==</PHRASE>
<PHRASE Label="la_opt_sec" Module="Core" Type="1">c2Vjb25kKHMp</PHRASE>
<PHRASE Label="la_opt_State" Module="Core" Type="1">U3RhdGU=</PHRASE>
<PHRASE Label="la_opt_Sub-match" Module="Core" Type="1">U3ViLW1hdGNo</PHRASE>
<PHRASE Label="la_opt_Success" Module="Core" Type="1">U3VjY2Vzcw==</PHRASE>
<PHRASE Label="la_opt_System" Module="Core" Type="1">U3lzdGVt</PHRASE>
<PHRASE Label="la_opt_User" Module="Core" Type="1">VXNlcg==</PHRASE>
<PHRASE Label="la_opt_Username" Module="Core" Type="1">VXNlcm5hbWU=</PHRASE>
<PHRASE Label="la_opt_week" Module="Core" Type="1">d2VlayhzKQ==</PHRASE>
<PHRASE Label="la_opt_year" Module="Core" Type="1">eWVhcihzKQ==</PHRASE>
<PHRASE Label="la_opt_Zip" Module="Core" Type="1">Wmlw</PHRASE>
<PHRASE Label="la_original_values" Module="Core" Type="1">T3JpZ2luYWwgVmFsdWVz</PHRASE>
<PHRASE Label="la_origional_value" Module="Core" Type="1">T3JpZ2luYWwgVmFsdWU=</PHRASE>
<PHRASE Label="la_origional_values" Module="Core" Type="1">T3JpZ2luYWwgVmFsdWVz</PHRASE>
<PHRASE Label="la_OtherFields" Module="Core" Type="1">T3RoZXIgRmllbGRz</PHRASE>
<PHRASE Label="la_OutOf" Module="Core" Type="1">b3V0IG9m</PHRASE>
<PHRASE Label="la_p1" Module="Core" Type="1">KEdNVCArMDE6MDAp</PHRASE>
<PHRASE Label="la_p10" Module="Core" Type="1">KEdNVCArMTA6MDAp</PHRASE>
<PHRASE Label="la_p11" Module="Core" Type="1">KEdNVCArMTE6MDAp</PHRASE>
<PHRASE Label="la_p12" Module="Core" Type="1">KEdNVCArMTI6MDAp</PHRASE>
<PHRASE Label="la_p13" Module="Core" Type="1">KEdNVCArMTM6MDAp</PHRASE>
<PHRASE Label="la_p2" Module="Core" Type="1">KEdNVCArMDI6MDAp</PHRASE>
<PHRASE Label="la_p3" Module="Core" Type="1">KEdNVCArMDM6MDAp</PHRASE>
<PHRASE Label="la_p4" Module="Core" Type="1">KEdNVCArMDQ6MDAp</PHRASE>
<PHRASE Label="la_p5" Module="Core" Type="1">KEdNVCArMDU6MDAp</PHRASE>
<PHRASE Label="la_p6" Module="Core" Type="1">KEdNVCArMDY6MDAp</PHRASE>
<PHRASE Label="la_p7" Module="Core" Type="1">KEdNVCArMDc6MDAp</PHRASE>
<PHRASE Label="la_p8" Module="Core" Type="1">KEdNVCArMDg6MDAp</PHRASE>
<PHRASE Label="la_p9" Module="Core" Type="1">KEdNVCArMDk6MDAp</PHRASE>
<PHRASE Label="la_Paddings" Module="Core" Type="1">UGFkZGluZ3M=</PHRASE>
<PHRASE Label="la_Page" Module="Core" Type="1">UGFnZQ==</PHRASE>
<PHRASE Label="la_password_info" Module="Core" Type="2">VG8gY2hhbmdlIHRoZSBwYXNzd29yZCwgZW50ZXIgdGhlIHBhc3N3b3JkIGhlcmUgYW5kIGluIHRoZSBib3ggYmVsb3c=</PHRASE>
<PHRASE Label="la_Pending" Module="Core" Type="0">UGVuZGluZw==</PHRASE>
<PHRASE Label="la_performing_backup" Module="Core" Type="1">UGVyZm9ybWluZyBCYWNrdXA=</PHRASE>
<PHRASE Label="la_performing_export" Module="Core" Type="1">UGVyZm9ybWluZyBFeHBvcnQ=</PHRASE>
<PHRASE Label="la_performing_import" Module="Core" Type="1">UGVyZm9ybWluZyBJbXBvcnQ=</PHRASE>
<PHRASE Label="la_performing_restore" Module="Core" Type="1">UGVyZm9ybWluZyBSZXN0b3Jl</PHRASE>
<PHRASE Label="la_PermName_Admin_desc" Module="Core" Type="1">QWxsb3dzIGFjY2VzcyB0byB0aGUgQWRtaW5pc3RyYXRpb24gdXRpbGl0eQ==</PHRASE>
<PHRASE Label="la_PermName_SystemAccess.ReadOnly_desc" Module="Core" Type="1">UmVhZC1Pbmx5IEFjY2VzcyBUbyBEYXRhYmFzZQ==</PHRASE>
<PHRASE Label="la_PermTab_category" Module="Core" Type="1">Q2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="la_PermTab_link" Module="Core" Type="1">TGlua3M=</PHRASE>
<PHRASE Label="la_PermTab_news" Module="Core" Type="1">QXJ0aWNsZXM=</PHRASE>
<PHRASE Label="la_PermTab_topic" Module="Core" Type="1">VG9waWNz</PHRASE>
<PHRASE Label="la_PermType_Admin" Module="Core" Type="1">UGVybWlzc2lvbiBUeXBlIEFkbWlu</PHRASE>
<PHRASE Label="la_PermType_AdminSection" Module="Core" Type="1">QWRtaW5pc3RyYXRpb24=</PHRASE>
<PHRASE Label="la_PermType_Front" Module="Core" Type="1">UGVybWlzc2lvbiBUeXBlIEZyb250IEVuZA==</PHRASE>
<PHRASE Label="la_PermType_FrontEnd" Module="Core" Type="1">RnJvbnQgRW5k</PHRASE>
<PHRASE Label="la_PhraseNotTranslated" Module="Core" Type="1">Tm90IFRyYW5zbGF0ZWQ=</PHRASE>
<PHRASE Label="la_PhraseTranslated" Module="Core" Type="1">VHJhbnNsYXRlZA==</PHRASE>
<PHRASE Label="la_PhraseType_Admin" Module="Core" Type="1">QWRtaW4=</PHRASE>
<PHRASE Label="la_PhraseType_Both" Module="Core" Type="2">Qm90aA==</PHRASE>
<PHRASE Label="la_PhraseType_Front" Module="Core" Type="1">RnJvbnQ=</PHRASE>
<PHRASE Label="la_Pick" Module="Core" Type="1">RWRpdG9yJ3MgcGljaw==</PHRASE>
<PHRASE Label="la_PickedColumns" Module="Core" Type="1">U2VsZWN0ZWQgQ29sdW1ucw==</PHRASE>
<PHRASE Label="la_Pop" Module="Core" Type="1">UG9w</PHRASE>
<PHRASE Label="la_PositionAndVisibility" Module="Core" Type="1">UG9zaXRpb24gQW5kIFZpc2liaWxpdHk=</PHRASE>
<PHRASE Label="la_posts_newdays_prompt" Module="Core" Type="1">TmV3IHBvc3RzIChkYXlzKQ==</PHRASE>
<PHRASE Label="la_posts_perpage_prompt" Module="Core" Type="1">TnVtYmVyIG9mIHBvc3RzIHBlciBwYWdl</PHRASE>
<PHRASE Label="la_posts_subheading" Module="Core" Type="1">UG9zdHM=</PHRASE>
+ <PHRASE Label="la_prefix_c" Module="Core" Type="1">U2VjdGlvbg==</PHRASE>
+ <PHRASE Label="la_prefix_conf" Module="Core" Type="1">Q29uZmlndXJhdGlvbg==</PHRASE>
+ <PHRASE Label="la_prefix_phrases" Module="Core" Type="1">UGhyYXNl</PHRASE>
+ <PHRASE Label="la_prefix_session-log" Module="Core" Type="1">U2Vzc2lvbiBMb2c=</PHRASE>
+ <PHRASE Label="la_prefix_visits" Module="Core" Type="1">VmlzaXQ=</PHRASE>
<PHRASE Label="la_prevcategory" Module="Core" Type="1">UHJldmlvdXMgY2F0ZWdvcnk=</PHRASE>
<PHRASE Label="la_prevgroup" Module="Core" Type="1">UHJldmlvdXMgZ3JvdXA=</PHRASE>
<PHRASE Label="la_PrevUser" Module="Core" Type="1">UHJldmlvdXMgVXNlcg==</PHRASE>
<PHRASE Label="la_PrimaryCategory" Module="Core" Type="1">UHJpbWFyeQ==</PHRASE>
<PHRASE Label="la_prompt_ActiveArticles" Module="Core" Type="1">QWN0aXZlIEFydGljbGVz</PHRASE>
<PHRASE Label="la_prompt_ActiveCategories" Module="Core" Type="1">QWN0aXZlIENhdGVnb3JpZXM=</PHRASE>
<PHRASE Label="la_prompt_ActiveLinks" Module="Core" Type="1">QWN0aXZlIExpbmtz</PHRASE>
<PHRASE Label="la_prompt_ActiveTopics" Module="Core" Type="1">QWN0aXZlIFRvcGljcw==</PHRASE>
<PHRASE Label="la_prompt_ActiveUsers" Module="Core" Type="1">QWN0aXZlIFVzZXJz</PHRASE>
<PHRASE Label="la_prompt_addmodule" Module="Core" Type="1">QWRkIE1vZHVsZQ==</PHRASE>
<PHRASE Label="la_prompt_AddressTo" Module="Core" Type="1">U2VudCBUbw==</PHRASE>
<PHRASE Label="la_prompt_AdminId" Module="Core" Type="1">QWRtaW4gZ3JvdXA=</PHRASE>
<PHRASE Label="la_prompt_AdminMailFrom" Module="Core" Type="1">TWVzc2FnZXMgZnJvbSBTaXRlIEFkbWluIGFyZSBmcm9t</PHRASE>
<PHRASE Label="la_prompt_AdvancedSearch" Module="Core" Type="1">QWR2YW5jZWQgU2VhcmNo</PHRASE>
<PHRASE Label="la_prompt_AdvancedUserManagement" Module="Core" Type="1">QWR2YW5jZWQgVXNlciBNYW5hZ2VtZW50</PHRASE>
<PHRASE Label="la_prompt_allow_reset" Module="Core" Type="1">QWxsb3cgcGFzc3dvcmQgcmVzZXQgYWZ0ZXI=</PHRASE>
<PHRASE Label="la_prompt_all_templates" Module="Core" Type="1">QWxsIHRlbXBsYXRlcw==</PHRASE>
<PHRASE Label="la_prompt_AltName" Module="Core" Type="1">QWx0IHZhbHVl</PHRASE>
<PHRASE Label="la_prompt_applyingbanlist" Module="Core" Type="2">QXBwbHlpbmcgQmFuIExpc3QgdG8gRXhpc3RpbmcgVXNlcnMuLg==</PHRASE>
<PHRASE Label="la_prompt_approve_warning" Module="Core" Type="1">Q29udGludWUgdG8gcmVzdG9yZSBhdCBteSBvd24gcmlzaz8=</PHRASE>
<PHRASE Label="la_prompt_Archived" Module="Core" Type="1">QXJjaGl2ZWQ=</PHRASE>
<PHRASE Label="la_prompt_ArchiveDate" Module="Core" Type="1">QXJjaGl2YXRpb24gRGF0ZQ==</PHRASE>
<PHRASE Label="la_prompt_ArticleAverageRating" Module="Core" Type="1">QXZlcmFnZSBSYXRpbmcgb2YgQXJ0aWNsZXM=</PHRASE>
<PHRASE Label="la_prompt_ArticleBody" Module="Core" Type="1">QXJ0aWNsZSBCb2R5</PHRASE>
<PHRASE Label="la_prompt_ArticleExcerpt" Module="Core" Type="1">QXJ0aWNsZSBFeGNlcnB0</PHRASE>
<PHRASE Label="la_prompt_ArticleExcerpt!" Module="Core" Type="1">QXJ0aWNsZSBFeGNlcnB0</PHRASE>
<PHRASE Label="la_prompt_ArticleReviews" Module="Core" Type="1">VG90YWwgQXJ0aWNsZSBSZXZpZXdz</PHRASE>
<PHRASE Label="la_prompt_ArticlesActive" Module="Core" Type="1">QWN0aXZlIEFydGljbGVz</PHRASE>
<PHRASE Label="la_prompt_ArticlesArchived" Module="Core" Type="1">QXJjaGl2ZWQgQXJ0aWNsZXM=</PHRASE>
<PHRASE Label="la_prompt_ArticlesPending" Module="Core" Type="1">UGVuZGluZyBBcnRpY2xlcw==</PHRASE>
<PHRASE Label="la_prompt_ArticlesTotal" Module="Core" Type="1">VG90YWwgQXJ0aWNsZXM=</PHRASE>
<PHRASE Label="la_prompt_Attatchment" Module="Core" Type="1">QXR0YWNobWVudA==</PHRASE>
<PHRASE Label="la_Prompt_Attention" Module="Core" Type="1">QXR0ZW50aW9uIQ==</PHRASE>
<PHRASE Label="la_prompt_Author" Module="Core" Type="1">QXV0aG9y</PHRASE>
<PHRASE Label="la_prompt_AutoGen_Excerpt" Module="Core" Type="1">R2VuZXJhdGUgZnJvbSB0aGUgYXJ0aWNsZSBib2R5</PHRASE>
<PHRASE Label="la_prompt_AutomaticDirectoryName" Module="Core" Type="1">QXV0b21hdGljIERpcmVjdG9yeSBOYW1l</PHRASE>
<PHRASE Label="la_prompt_AutomaticFilename" Module="Core" Type="1">QXV0b21hdGljIEZpbGVuYW1l</PHRASE>
<PHRASE Label="la_prompt_Available_Modules" Module="Core" Type="1">TW9kdWxlcw==</PHRASE>
<PHRASE Label="la_Prompt_Backup_Date" Module="Core" Type="1">QmFjayBVcCBEYXRl</PHRASE>
<PHRASE Label="la_prompt_Backup_Path" Module="Core" Type="1">QmFja3VwIFBhdGg=</PHRASE>
<PHRASE Label="la_Prompt_Backup_Status" Module="Core" Type="1">QmFja3VwIHN0YXR1cw==</PHRASE>
<PHRASE Label="la_prompt_BannedUsers" Module="Core" Type="1">QmFubmVkIFVzZXJz</PHRASE>
<PHRASE Label="la_prompt_birthday" Module="Core" Type="1">RGF0ZSBvZiBCaXJ0aA==</PHRASE>
<PHRASE Label="la_prompt_CacheTimeout" Module="Core" Type="1">Q2FjaGUgVGltZW91dCAoc2Vjb25kcyk=</PHRASE>
<PHRASE Label="la_prompt_CategoryEditorsPick" Module="Core" Type="1">RWRpdG9yJ3MgUGljayBDYXRlZ29yaWVz</PHRASE>
<PHRASE Label="la_prompt_CategoryId" Module="Core" Type="1">Q2F0ZWdvcnkgSUQ=</PHRASE>
<PHRASE Label="la_prompt_CategoryLeadStoryArticles" Module="Core" Type="1">Q2F0ZWdvcnkgTGVhZCBTdG9yeSBBcnRpY2xlcw==</PHRASE>
<PHRASE Label="la_Prompt_CategoryPermissions" Module="Core" Type="1">Q2F0ZWdvcnkgUGVybWlzc2lvbnM=</PHRASE>
<PHRASE Label="la_prompt_CatLead" Module="Core" Type="1">Q2F0ZWdvcnkgTGVhZCBTdG9yeQ==</PHRASE>
<PHRASE Label="la_prompt_CensorhipId" Module="Core" Type="1">Q2Vuc29yc2hpcCBJZA==</PHRASE>
<PHRASE Label="la_prompt_CensorWord" Module="Core" Type="1">Q2Vuc29yc2hpcCBXb3Jk</PHRASE>
<PHRASE Label="la_prompt_charset" Module="Core" Type="1">Q2hhcnNldA==</PHRASE>
<PHRASE Label="la_prompt_City" Module="Core" Type="1">Q2l0eQ==</PHRASE>
<PHRASE Label="la_prompt_Comments" Module="Core" Type="1">Q29tbWVudHM=</PHRASE>
<PHRASE Label="la_prompt_continue" Module="Core" Type="1">Q29udGludWU=</PHRASE>
<PHRASE Label="la_prompt_CopyLabels" Module="Core" Type="1">Q29weSBMYWJlbHMgZnJvbSB0aGlzIExhbmd1YWdl</PHRASE>
<PHRASE Label="la_prompt_Country" Module="Core" Type="1">Q291bnRyeQ==</PHRASE>
<PHRASE Label="la_prompt_CreatedBy" Module="Core" Type="1">Q3JlYXRlZCBieQ==</PHRASE>
<PHRASE Label="la_prompt_CreatedOn" Module="Core" Type="1">Q3JlYXRlZCBvbg==</PHRASE>
<PHRASE Label="la_prompt_CreatedOn_Time" Module="Core" Type="1">Q3JlYXRlZCBhdA==</PHRASE>
<PHRASE Label="la_prompt_CurrentSessions" Module="Core" Type="1">Q3VycmVudCBTZXNzaW9ucw==</PHRASE>
<PHRASE Label="la_prompt_CustomFilename" Module="Core" Type="1">Q3VzdG9tIEZpbGVuYW1l</PHRASE>
<PHRASE Label="la_prompt_DatabaseSettings" Module="Core" Type="1">RGF0YWJhc2UgU2V0dGluZ3M=</PHRASE>
<PHRASE Label="la_prompt_DataSize" Module="Core" Type="1">VG90YWwgU2l6ZSBvZiB0aGUgRGF0YWJhc2U=</PHRASE>
<PHRASE Label="la_prompt_DateFormat" Module="Core" Type="1">KG1tLWRkLXl5eXkp</PHRASE>
<PHRASE Label="la_prompt_DbName" Module="Core" Type="1">U2VydmVyIERhdGFiYXNl</PHRASE>
<PHRASE Label="la_prompt_DbPass" Module="Core" Type="1">U2VydmVyIFBhc3N3b3Jk</PHRASE>
<PHRASE Label="la_prompt_DbUsername" Module="Core" Type="1">RGF0YWJhc2UgVXNlciBOYW1l</PHRASE>
<PHRASE Label="la_prompt_decimal" Module="Core" Type="2">RGVjaW1hbCBQb2ludA==</PHRASE>
<PHRASE Label="la_prompt_Default" Module="Core" Type="1">RGVmYXVsdA==</PHRASE>
<PHRASE Label="la_prompt_DefaultDesignTemplate" Module="Core" Type="1">RGVmYXVsdCBEZXNpZ24gVGVtcGxhdGU=</PHRASE>
<PHRASE Label="la_prompt_DefaultIndextoolsCode" Module="Core" Type="1">SW5kZXh0b29scyBEZWZhdWx0IENvZGU=</PHRASE>
<PHRASE Label="la_prompt_DefaultUserId" Module="Core" Type="1">VXNlciBJRCBmb3IgRGVmYXVsdCBQZXJzaXN0ZW50IFNldHRpbmdz</PHRASE>
<PHRASE Label="la_prompt_DefaultValue" Module="Core" Type="1">RGVmYXVsdCBWYWx1ZQ==</PHRASE>
<PHRASE Label="la_prompt_delete" Module="Core" Type="1">RGVsZXRl</PHRASE>
<PHRASE Label="la_prompt_Description" Module="Core" Type="1">RGVzY3JpcHRpb24=</PHRASE>
<PHRASE Label="la_prompt_DirectoryName" Module="Core" Type="1">RGlyZWN0b3J5IE5hbWU=</PHRASE>
<PHRASE Label="la_prompt_DisabledArticles" Module="Core" Type="1">RGlzYWJsZWQgQXJ0aWNsZXM=</PHRASE>
<PHRASE Label="la_prompt_DisabledCategories" Module="Core" Type="1">RGlzYWJsZWQgQ2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="la_prompt_DisabledLinks" Module="Core" Type="1">RGlzYWJsZWQgTGlua3M=</PHRASE>
<PHRASE Label="la_prompt_DisplayInGrid" Module="Core" Type="1">RGlzcGxheSBpbiBHcmlk</PHRASE>
<PHRASE Label="la_prompt_DisplayOrder" Module="Core" Type="1">RGlzcGxheSBPcmRlcg==</PHRASE>
<PHRASE Label="la_prompt_download_export" Module="Core" Type="2">RG93bmxvYWQgTGFuZ3VhZ2UgRXhwb3J0Og==</PHRASE>
<PHRASE Label="la_prompt_DupRating" Module="Core" Type="2">QWxsb3cgRHVwbGljYXRlIFJhdGluZyBWb3Rlcw==</PHRASE>
<PHRASE Label="la_prompt_DupReviews" Module="Core" Type="2">QWxsb3cgRHVwbGljYXRlIFJldmlld3M=</PHRASE>
<PHRASE Label="la_prompt_edit" Module="Core" Type="1">RWRpdA==</PHRASE>
<PHRASE Label="la_prompt_EditorsPick" Module="Core" Type="1">RWRpdG9yJ3MgUGljaw==</PHRASE>
<PHRASE Label="la_prompt_EditorsPickArticles" Module="Core" Type="1">RWRpdG9yJ3MgUGljayBBcnRpY2xlcw==</PHRASE>
<PHRASE Label="la_prompt_EditorsPickLinks" Module="Core" Type="1">RWRpdG9yJ3MgUGljayBMaW5rcw==</PHRASE>
<PHRASE Label="la_prompt_EditorsPickTopics" Module="Core" Type="1">RWRpdG9yIFBpY2sgVG9waWNz</PHRASE>
<PHRASE Label="la_prompt_edit_query" Module="Core" Type="1">RWRpdCBRdWVyeQ==</PHRASE>
<PHRASE Label="la_prompt_ElementType" Module="Core" Type="1">VHlwZQ==</PHRASE>
<PHRASE Label="la_prompt_Email" Module="Core" Type="1">RW1haWw=</PHRASE>
<PHRASE Label="la_prompt_EmailBody" Module="Core" Type="1">RW1haWwgQm9keQ==</PHRASE>
<PHRASE Label="la_prompt_EmailCancelMessage" Module="Core" Type="1">RW1haWwgZGVsaXZlcnkgYWJvcnRlZA==</PHRASE>
<PHRASE Label="la_prompt_EmailCompleteMessage" Module="Core" Type="1">VGhlIEVtYWlsIE1lc3NhZ2UgaGFzIGJlZW4gc2VudA==</PHRASE>
<PHRASE Label="la_prompt_EmailInitMessage" Module="Core" Type="1">UGxlYXNlIFdhaXQgd2hpbGUgSW4tUG9ydGFsIHByZXBhcmVzIHRvIHNlbmQgdGhlIG1lc3NhZ2UuLg==</PHRASE>
<PHRASE Label="la_prompt_EmailSubject" Module="Core" Type="1">RW1haWwgU3ViamVjdA==</PHRASE>
<PHRASE Label="la_prompt_EmoticonId" Module="Core" Type="1">RW1vdGlvbiBJZA==</PHRASE>
<PHRASE Label="la_prompt_EnableCache" Module="Core" Type="1">RW5hYmxlIFRlbXBsYXRlIENhY2hpbmc=</PHRASE>
<PHRASE Label="la_prompt_Enabled" Module="Core" Type="1">RW5hYmxlZA==</PHRASE>
<PHRASE Label="la_prompt_Enable_HTML" Module="Core" Type="1">RW5hYmxlIEhUTUw/</PHRASE>
<PHRASE Label="la_prompt_ErrorTag" Module="Core" Type="2">RXJyb3IgVGFn</PHRASE>
<PHRASE Label="la_prompt_Event" Module="Core" Type="1">RXZlbnQ=</PHRASE>
<PHRASE Label="la_prompt_Expired" Module="Core" Type="0">RXhwaXJhdGlvbiBEYXRl</PHRASE>
<PHRASE Label="la_prompt_ExportFileName" Module="Core" Type="2">RXhwb3J0IEZpbGVuYW1l</PHRASE>
<PHRASE Label="la_prompt_export_error" Module="Core" Type="1">R2VuZXJhbCBlcnJvcjogdW5hYmxlIHRvIGV4cG9ydA==</PHRASE>
<PHRASE Label="la_prompt_FieldId" Module="Core" Type="1">RmllbGQgSWQ=</PHRASE>
<PHRASE Label="la_prompt_FieldLabel" Module="Core" Type="1">RmllbGQgTGFiZWw=</PHRASE>
<PHRASE Label="la_prompt_FieldName" Module="Core" Type="1">RmllbGQgTmFtZQ==</PHRASE>
<PHRASE Label="la_prompt_FieldPrompt" Module="Core" Type="1">RmllbGQgUHJvbXB0</PHRASE>
<PHRASE Label="la_prompt_FileId" Module="Core" Type="1">RmlsZSBJZA==</PHRASE>
<PHRASE Label="la_prompt_FileName" Module="Core" Type="1">RmlsZSBuYW1l</PHRASE>
<PHRASE Label="la_prompt_FirstName" Module="Core" Type="1">Rmlyc3QgTmFtZQ==</PHRASE>
<PHRASE Label="la_prompt_First_Name" Module="Core" Type="1">Rmlyc3QgTmFtZQ==</PHRASE>
<PHRASE Label="la_prompt_Frequency" Module="Core" Type="1">RnJlcXVlbmN5</PHRASE>
<PHRASE Label="la_prompt_FromUser" Module="Core" Type="1">RnJvbS9UbyBVc2Vy</PHRASE>
<PHRASE Label="la_prompt_FromUsername" Module="Core" Type="1">RnJvbQ==</PHRASE>
<PHRASE Label="la_prompt_FrontLead" Module="Core" Type="1">RnJvbnQgcGFnZSBsZWFkIGFydGljbGU=</PHRASE>
<PHRASE Label="la_Prompt_GeneralPermissions" Module="Core" Type="1">R2VuZXJhbCBQZXJtaXNzaW9ucw==</PHRASE>
<PHRASE Label="la_prompt_GroupName" Module="Core" Type="1">R3JvdXAgTmFtZQ==</PHRASE>
<PHRASE Label="la_prompt_headers" Module="Core" Type="1">RXh0cmEgTWFpbCBIZWFkZXJz</PHRASE>
<PHRASE Label="la_prompt_heading" Module="Core" Type="1">SGVhZGluZw==</PHRASE>
<PHRASE Label="la_prompt_HitLimits" Module="Core" Type="1">KE1pbmltdW0gNCk=</PHRASE>
<PHRASE Label="la_prompt_Hits" Module="Core" Type="1">SGl0cw==</PHRASE>
<PHRASE Label="la_prompt_Hot" Module="Core" Type="1">SG90</PHRASE>
<PHRASE Label="la_prompt_HotArticles" Module="Core" Type="1">SG90IEFydGljbGVz</PHRASE>
<PHRASE Label="la_prompt_HotLinks" Module="Core" Type="1">SG90IExpbmtz</PHRASE>
<PHRASE Label="la_prompt_HotTopics" Module="Core" Type="1">SG90IFRvcGljcw==</PHRASE>
<PHRASE Label="la_prompt_html" Module="Core" Type="1">SFRNTA==</PHRASE>
<PHRASE Label="la_prompt_html_version" Module="Core" Type="1">SFRNTCBWZXJzaW9u</PHRASE>
<PHRASE Label="la_prompt_icon_url" Module="Core" Type="1">SWNvbiBVUkw=</PHRASE>
<PHRASE Label="la_prompt_Image" Module="Core" Type="1">SW1hZ2U=</PHRASE>
<PHRASE Label="la_prompt_ImageId" Module="Core" Type="1">SW1hZ2UgSUQ=</PHRASE>
<PHRASE Label="la_prompt_import_error" Module="Core" Type="1">SW1wb3J0IGVuY291bnRlcmVkIGFuIGVycm9yIGFuZCBkaWQgbm90IGNvbXBsZXRlLg==</PHRASE>
<PHRASE Label="la_prompt_Import_ImageName" Module="Core" Type="1">TGluayBJbWFnZSBOYW1l</PHRASE>
<PHRASE Label="la_prompt_Import_Prefix" Module="Core" Type="1">VGFibGUgTmFtZSBQcmVmaXg=</PHRASE>
<PHRASE Label="la_prompt_Import_Source" Module="Core" Type="1">SW1wb3J0IFNvdXJjZQ==</PHRASE>
<PHRASE Label="la_prompt_InitImportCat" Module="Core" Type="1">SW5pdGlhbCBJbXBvcnQgQ2F0ZWdvcnk=</PHRASE>
<PHRASE Label="la_prompt_InlinkDbName" Module="Core" Type="1">SW4tTGluayBEYXRhYmFzZSBOYW1l</PHRASE>
<PHRASE Label="la_prompt_InlinkDbPass" Module="Core" Type="1">SW4tTGluayBEYXRhYmFzZSBQYXNzd29yZA==</PHRASE>
<PHRASE Label="la_prompt_InlinkDbUsername" Module="Core" Type="1">SW4tTGluayBEYXRhYmFzZSBVc2VybmFtZQ==</PHRASE>
<PHRASE Label="la_prompt_InlinkServer" Module="Core" Type="1">SW4tTGluayBTZXJ2ZXIgTmFtZQ==</PHRASE>
<PHRASE Label="la_prompt_InlinkSqlType" Module="Core" Type="1">SW4tTGluayBTUUwgVHlwZQ==</PHRASE>
<PHRASE Label="la_prompt_InputType" Module="Core" Type="1">SW5wdXQgVHlwZQ==</PHRASE>
<PHRASE Label="la_prompt_Install_Status" Module="Core" Type="1">SW5zdGFsbGF0aW9uIFN0YXR1cw==</PHRASE>
<PHRASE Label="la_prompt_ip" Module="Core" Type="1">SVAgQWRkcmVzcw==</PHRASE>
<PHRASE Label="la_prompt_IPAddress" Module="Core" Type="1">SVAgQWRkcmVzcw==</PHRASE>
<PHRASE Label="la_prompt_Item" Module="Core" Type="1">SXRlbQ==</PHRASE>
<PHRASE Label="la_prompt_ItemField" Module="Core" Type="2">SXRlbSBGaWVsZA==</PHRASE>
<PHRASE Label="la_prompt_ItemValue" Module="Core" Type="2">RmllbGQgVmFsdWU=</PHRASE>
<PHRASE Label="la_prompt_ItemVerb" Module="Core" Type="2">RmllbGQgQ29tcGFyaXNvbg==</PHRASE>
<PHRASE Label="la_prompt_KeepSessionOnBrowserClose" Module="Core" Type="1">S2VlcCBTZXNzaW9uIFdoZW4gQnJvc3dlciBJcyBDbG9zZWQ=</PHRASE>
<PHRASE Label="la_prompt_KeyStroke" Module="Core" Type="1">S2V5IFN0cm9rZQ==</PHRASE>
<PHRASE Label="la_prompt_Keyword" Module="Core" Type="1">S2V5d29yZA==</PHRASE>
<PHRASE Label="la_prompt_Label" Module="Core" Type="1">TGFiZWw=</PHRASE>
<PHRASE Label="la_prompt_LanguageFile" Module="Core" Type="1">TGFuZ3VhZ2UgRmlsZQ==</PHRASE>
<PHRASE Label="la_prompt_LanguageId" Module="Core" Type="1">TGFuZ3VhZ2UgSWQ=</PHRASE>
<PHRASE Label="la_prompt_lang_cache_timeout" Module="Core" Type="1">TGFuZ3VhZ2UgQ2FjaGUgVGltZW91dA==</PHRASE>
<PHRASE Label="la_prompt_lang_dateformat" Module="Core" Type="2">RGF0ZSBGb3JtYXQ=</PHRASE>
<PHRASE Label="la_prompt_lang_timeformat" Module="Core" Type="0">VGltZSBGb3JtYXQ=</PHRASE>
<PHRASE Label="la_prompt_LastArticleUpdate" Module="Core" Type="1">TGFzdCBVcGRhdGVkIEFydGljbGU=</PHRASE>
<PHRASE Label="la_prompt_LastCategoryUpdate" Module="Core" Type="1">TGFzdCBDYXRlZ29yeSBVcGRhdGU=</PHRASE>
<PHRASE Label="la_prompt_LastLinkUpdate" Module="Core" Type="1">TGFzdCBVcGRhdGVkIExpbms=</PHRASE>
<PHRASE Label="la_prompt_LastName" Module="Core" Type="1">TGFzdCBOYW1l</PHRASE>
<PHRASE Label="la_prompt_LastUpdatedPostDate" Module="Core" Type="1">TGFzdCBVcGRhdGVkIFBvc3QgRGF0ZQ==</PHRASE>
<PHRASE Label="la_prompt_LastUpdatedPostTime" Module="Core" Type="1">TGFzdCBVcGRhdGVkIFBvc3QgVGltZQ==</PHRASE>
<PHRASE Label="la_prompt_LastUpdatedTopicDate" Module="Core" Type="1">TGFzdCBVcGRhdGVkIFRvcGljIERhdGU=</PHRASE>
<PHRASE Label="la_prompt_LastUpdatedTopicTime" Module="Core" Type="1">TGFzdCBVcGRhdGVkIFRvcGljIFRpbWU=</PHRASE>
<PHRASE Label="la_prompt_Last_Name" Module="Core" Type="1">TGFzdCBOYW1l</PHRASE>
<PHRASE Label="la_prompt_LeadArticle" Module="Core" Type="1">U2l0ZSBMZWFkIFN0b3J5</PHRASE>
<PHRASE Label="la_prompt_LeadCat" Module="Core" Type="1">Q2F0ZWdvcnkgbGVhZCBhcnRpY2xl</PHRASE>
<PHRASE Label="la_prompt_LeadStoryArticles" Module="Core" Type="1">TGVhZCBTdG9yeSBBcnRpY2xlcw==</PHRASE>
<PHRASE Label="la_prompt_LinkId" Module="Core" Type="1">TGluayBJZA==</PHRASE>
<PHRASE Label="la_prompt_LinkReviews" Module="Core" Type="1">VG90YWwgTGluayBSZXZpZXdz</PHRASE>
<PHRASE Label="la_prompt_LinksAverageRating" Module="Core" Type="1">QXZlcmFnZSBSYXRpbmcgb2YgTGlua3M=</PHRASE>
<PHRASE Label="la_prompt_link_owner" Module="Core" Type="1">TGluayBPd25lcg==</PHRASE>
<PHRASE Label="la_prompt_LoadLangTypes" Module="Core" Type="1">SW5zdGFsbCBQaHJhc2UgVHlwZXM6</PHRASE>
<PHRASE Label="la_prompt_LocalName" Module="Core" Type="1">TG9jYWwgTmFtZQ==</PHRASE>
<PHRASE Label="la_prompt_Location" Module="Core" Type="1">TG9jYXRpb24=</PHRASE>
<PHRASE Label="la_prompt_mailauthenticate" Module="Core" Type="1">U2VydmVyIFJlcXVpcmVzIEF1dGhlbnRpY2F0aW9u</PHRASE>
<PHRASE Label="la_prompt_mailhtml" Module="Core" Type="1">U2VuZCBIVE1MIGVtYWls</PHRASE>
<PHRASE Label="la_prompt_mailport" Module="Core" Type="1">UG9ydCAoZS5nLiBwb3J0IDI1KQ==</PHRASE>
<PHRASE Label="la_prompt_mailserver" Module="Core" Type="1">TWFpbCBTZXJ2ZXIgQWRkcmVzcw==</PHRASE>
<PHRASE Label="la_prompt_MaxHitsArticles" Module="Core" Type="1">TWF4aW11bSBIaXRzIG9mIGFuIEFydGljbGU=</PHRASE>
<PHRASE Label="la_prompt_MaxLinksHits" Module="Core" Type="1">TWF4aW11bSBIaXRzIG9mIGEgTGluaw==</PHRASE>
<PHRASE Label="la_prompt_MaxLinksVotes" Module="Core" Type="1">TWF4aW11bSBWb3RlcyBvZiBhIExpbms=</PHRASE>
<PHRASE Label="la_prompt_MaxTopicHits" Module="Core" Type="1">VG9waWMgTWF4aW11bSBIaXRz</PHRASE>
<PHRASE Label="la_prompt_MaxTopicVotes" Module="Core" Type="1">VG9waWMgTWF4aW11bSBWb3Rlcw==</PHRASE>
<PHRASE Label="la_prompt_MaxVotesArticles" Module="Core" Type="1">TWF4aW11bSBWb3RlcyBvZiBhbiBBcnRpY2xl</PHRASE>
<PHRASE Label="la_prompt_max_import_category_levels" Module="Core" Type="1">TWF4aW1hbCBpbXBvcnRlZCBjYXRlZ29yeSBsZXZlbA==</PHRASE>
<PHRASE Label="la_prompt_MembershipExpires" Module="Core" Type="1">TWVtYmVyc2hpcCBFeHBpcmVz</PHRASE>
<PHRASE Label="la_prompt_MenuFrameWidth" Module="Core" Type="1">TGVmdCBNZW51IChUcmVlKSBXaWR0aA==</PHRASE>
<PHRASE Label="la_prompt_MessageType" Module="Core" Type="1">Rm9ybWF0</PHRASE>
<PHRASE Label="la_prompt_MetaDescription" Module="Core" Type="1">TWV0YSBEZXNjcmlwdGlvbg==</PHRASE>
<PHRASE Label="la_prompt_MetaKeywords" Module="Core" Type="1">TWV0YSBLZXl3b3Jkcw==</PHRASE>
<PHRASE Label="la_prompt_minkeywordlength" Module="Core" Type="1">TWluaW11bSBrZXl3b3JkIGxlbmd0aA==</PHRASE>
<PHRASE Label="la_prompt_ModifedOn" Module="Core" Type="1">TW9kaWZpZWQgT24=</PHRASE>
<PHRASE Label="la_prompt_ModifedOn_Time" Module="Core" Type="1">TW9kaWZpZWQgYXQ=</PHRASE>
<PHRASE Label="la_prompt_Module" Module="Core" Type="1">TW9kdWxl</PHRASE>
<PHRASE Label="la_prompt_movedown" Module="Core" Type="1">TW92ZSBkb3du</PHRASE>
<PHRASE Label="la_prompt_moveup" Module="Core" Type="1">TW92ZSB1cA==</PHRASE>
<PHRASE Label="la_prompt_multipleshow" Module="Core" Type="1">U2hvdyBtdWx0aXBsZQ==</PHRASE>
<PHRASE Label="la_prompt_Name" Module="Core" Type="1">TmFtZQ==</PHRASE>
<PHRASE Label="la_prompt_New" Module="Core" Type="1">TmV3</PHRASE>
<PHRASE Label="la_prompt_NewArticles" Module="Core" Type="1">TmV3IEFydGljbGVz</PHRASE>
<PHRASE Label="la_prompt_NewCategories" Module="Core" Type="1">TmV3IENhdGVnb3JpZXM=</PHRASE>
<PHRASE Label="la_prompt_NewestArticleDate" Module="Core" Type="1">TmV3ZXN0IEFydGljbGUgRGF0ZQ==</PHRASE>
<PHRASE Label="la_prompt_NewestCategoryDate" Module="Core" Type="1">TmV3ZXN0IENhdGVnb3J5IERhdGU=</PHRASE>
<PHRASE Label="la_prompt_NewestLinkDate" Module="Core" Type="1">TmV3ZXN0IExpbmsgRGF0ZQ==</PHRASE>
<PHRASE Label="la_prompt_NewestPostDate" Module="Core" Type="1">TmV3ZXN0IFBvc3QgRGF0ZQ==</PHRASE>
<PHRASE Label="la_prompt_NewestPostTime" Module="Core" Type="1">TmV3ZXN0IFBvc3QgVGltZQ==</PHRASE>
<PHRASE Label="la_prompt_NewestTopicDate" Module="Core" Type="1">TmV3ZXN0IFRvcGljIERhdGU=</PHRASE>
<PHRASE Label="la_prompt_NewestTopicTime" Module="Core" Type="1">TmV3ZXN0IFRvcGljIFRpbWU=</PHRASE>
<PHRASE Label="la_prompt_NewestUserDate" Module="Core" Type="1">TmV3ZXN0IFVzZXIgRGF0ZQ==</PHRASE>
<PHRASE Label="la_prompt_NewLinks" Module="Core" Type="1">TmV3IExpbmtz</PHRASE>
<PHRASE Label="la_prompt_NewsId" Module="Core" Type="1">TmV3cyBBcnRpY2xlIElE</PHRASE>
<PHRASE Label="la_prompt_NewTopics" Module="Core" Type="1">TmV3IFRvcGljcw==</PHRASE>
<PHRASE Label="la_prompt_NonExpiredSessions" Module="Core" Type="1">Q3VycmVudGx5IEFjdGl2ZSBVc2VyIFNlc3Npb25z</PHRASE>
<PHRASE Label="la_prompt_NotifyOwner" Module="Core" Type="1">Tm90aWZ5IE93bmVy</PHRASE>
<PHRASE Label="la_prompt_NotRegUsers" Module="Core" Type="1">TGluayBwZXJtaXNzaW9uIElEIGZvciBhbGwgdW5yZWdpc3RlcmVkIHVzZXJzIHRvIHZpZXcgaXQ=</PHRASE>
<PHRASE Label="la_prompt_overwritephrases" Module="Core" Type="2">T3ZlcndyaXRlIEV4aXN0aW5nIFBocmFzZXM=</PHRASE>
<PHRASE Label="la_prompt_PackName" Module="Core" Type="1">UGFjayBOYW1l</PHRASE>
<PHRASE Label="la_prompt_Parameter" Module="Core" Type="1">UGFyYW1ldGVy</PHRASE>
<PHRASE Label="la_prompt_parent_templates" Module="Core" Type="1">UGFyZW50IHRlbXBsYXRlcw==</PHRASE>
<PHRASE Label="la_prompt_Password" Module="Core" Type="1">UGFzc3dvcmQ=</PHRASE>
<PHRASE Label="la_prompt_PasswordRepeat" Module="Core" Type="1">UmVwZWF0IFBhc3N3b3Jk</PHRASE>
<PHRASE Label="la_prompt_Pending" Module="Core" Type="1">UGVuZGluZw==</PHRASE>
<PHRASE Label="la_prompt_PendingCategories" Module="Core" Type="1">UGVuZGluZyBDYXRlZ29yaWVz</PHRASE>
<PHRASE Label="la_prompt_PendingItems" Module="Core" Type="1">UGVuZGluZyBJdGVtcw==</PHRASE>
<PHRASE Label="la_prompt_PendingLinks" Module="Core" Type="1">UGVuZGluZyBMaW5rcw==</PHRASE>
<PHRASE Label="la_prompt_perform_now" Module="Core" Type="1">UGVyZm9ybSB0aGlzIG9wZXJhdGlvbiBub3c/</PHRASE>
<PHRASE Label="la_prompt_PerPage" Module="Core" Type="1">UGVyIFBhZ2U=</PHRASE>
<PHRASE Label="la_prompt_PersonalInfo" Module="Core" Type="1">UGVyc29uYWwgSW5mb3JtYXRpb24=</PHRASE>
<PHRASE Label="la_prompt_Phone" Module="Core" Type="1">UGhvbmU=</PHRASE>
<PHRASE Label="la_prompt_PhraseId" Module="Core" Type="1">UGhyYXNlIElk</PHRASE>
<PHRASE Label="la_prompt_Phrases" Module="Core" Type="1">UGhyYXNlcw==</PHRASE>
<PHRASE Label="la_prompt_PhraseType" Module="Core" Type="1">UGhyYXNlIFR5cGU=</PHRASE>
<PHRASE Label="la_prompt_plaintext" Module="Core" Type="1">UGxhaW4gVGV4dA==</PHRASE>
<PHRASE Label="la_prompt_Pop" Module="Core" Type="1">UG9wdWxhcml0eQ==</PHRASE>
<PHRASE Label="la_prompt_PopularArticles" Module="Core" Type="1">UG9wdWxhciBBcnRpY2xlcw==</PHRASE>
<PHRASE Label="la_prompt_PopularLinks" Module="Core" Type="1">UG9wdWxhciBMaW5rcw==</PHRASE>
<PHRASE Label="la_prompt_PopularTopics" Module="Core" Type="1">UG9wdWxhciBUb3BpY3M=</PHRASE>
<PHRASE Label="la_prompt_PostedBy" Module="Core" Type="1">UG9zdGVkIGJ5</PHRASE>
<PHRASE Label="la_prompt_PostsToLock" Module="Core" Type="1">UG9zdHMgdG8gbG9jaw==</PHRASE>
<PHRASE Label="la_prompt_PostsTotal" Module="Core" Type="1">VG90YWwgUG9zdHM=</PHRASE>
<PHRASE Label="la_prompt_Primary" Module="Core" Type="1">UHJpbWFyeQ==</PHRASE>
<PHRASE Label="la_prompt_PrimaryGroup" Module="Core" Type="1">UHJpbWFyeSBHcm91cA==</PHRASE>
<PHRASE Label="la_prompt_PrimaryValue" Module="Core" Type="1">UHJpbWFyeSBWYWx1ZQ==</PHRASE>
<PHRASE Label="la_prompt_Priority" Module="Core" Type="1">UHJpb3JpdHk=</PHRASE>
<PHRASE Label="la_prompt_Properties" Module="Core" Type="1">UHJvcGVydGllcw==</PHRASE>
<PHRASE Label="la_prompt_Rating" Module="Core" Type="1">UmF0aW5n</PHRASE>
<PHRASE Label="la_prompt_RatingLimits" Module="Core" Type="1">KE1pbmltdW0gMCwgTWF4aW11bSA1KQ==</PHRASE>
<PHRASE Label="la_prompt_RecordsCount" Module="Core" Type="1">TnVtYmVyIG9mIERhdGFiYXNlIFJlY29yZHM=</PHRASE>
<PHRASE Label="la_prompt_RegionsCount" Module="Core" Type="1">TnVtYmVyIG9mIFJlZ2lvbiBQYWNrcw==</PHRASE>
<PHRASE Label="la_prompt_RegUserId" Module="Core" Type="1">UmVndWxhciBVc2VyIEdyb3Vw</PHRASE>
<PHRASE Label="la_prompt_RegUsers" Module="Core" Type="1">TGluayBwZXJtaXNzaW9uIElEIGZvciBhbGwgcmVnaXN0ZXJlZCB1c2VycyB0byB2aWV3IGl0</PHRASE>
<PHRASE Label="la_prompt_RelationId" Module="Core" Type="1">UmVsYXRpb24gSUQ=</PHRASE>
<PHRASE Label="la_prompt_RelationType" Module="Core" Type="1">UmVsYXRpb24gVHlwZQ==</PHRASE>
<PHRASE Label="la_prompt_relevence_percent" Module="Core" Type="1">U2VhcmNoIFJlbGV2YW5jZSBkZXBlbmRzIG9u</PHRASE>
<PHRASE Label="la_prompt_relevence_settings" Module="Core" Type="1">U2VhcmNoIFJlbGV2ZW5jZSBTZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_prompt_remote_url" Module="Core" Type="1">VXNlIHJlbW90ZSBpbWFnZSAoVVJMKQ==</PHRASE>
<PHRASE Label="la_prompt_ReplacementWord" Module="Core" Type="1">UmVwbGFjZW1lbnQgV29yZA==</PHRASE>
<PHRASE Label="la_prompt_Required" Module="Core" Type="1">UmVxdWlyZWQ=</PHRASE>
<PHRASE Label="la_prompt_required_field_increase" Module="Core" Type="1">SW5jcmVhc2UgaW1wb3J0YW5jZSBpZiBmaWVsZCBjb250YWlucyBhIHJlcXVpcmVkIGtleXdvcmQgYnk=</PHRASE>
<PHRASE Label="la_Prompt_Restore_Failed" Module="Core" Type="1">UmVzdG9yZSBoYXMgZmFpbGVkIGFuIGVycm9yIG9jY3VyZWQ6</PHRASE>
<PHRASE Label="la_Prompt_Restore_Filechoose" Module="Core" Type="1">Q2hvb3NlIG9uZSBvZiB0aGUgZm9sbG93aW5nIGJhY2t1cCBkYXRlcyB0byByZXN0b3JlIG9yIGRlbGV0ZQ==</PHRASE>
<PHRASE Label="la_Prompt_Restore_Status" Module="Core" Type="1">UmVzdG9yZSBTdGF0dXM=</PHRASE>
<PHRASE Label="la_Prompt_Restore_Success" Module="Core" Type="1">UmVzdG9yZSBoYXMgYmVlbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5</PHRASE>
<PHRASE Label="la_Prompt_ReviewedBy" Module="Core" Type="1">UmV2aWV3ZWQgQnk=</PHRASE>
<PHRASE Label="la_prompt_ReviewId" Module="Core" Type="1">UmV2aWV3IElE</PHRASE>
<PHRASE Label="la_prompt_ReviewText" Module="Core" Type="1">UmV2aWV3IFRleHQ=</PHRASE>
<PHRASE Label="la_prompt_RootCategory" Module="Core" Type="1">U2VsZWN0IE1vZHVsZSBSb290IENhdGVnb3J5Og==</PHRASE>
<PHRASE Label="la_prompt_root_name" Module="Core" Type="1">Um9vdCBjYXRlZ29yeSBuYW1lIChsYW5ndWFnZSB2YXJpYWJsZSk=</PHRASE>
<PHRASE Label="la_prompt_root_pass" Module="Core" Type="1">Um9vdCBQYXNzd29yZA==</PHRASE>
<PHRASE Label="la_prompt_Root_Password" Module="Core" Type="1">UGxlYXNlIGVudGVyIHRoZSBSb290IHBhc3N3b3Jk</PHRASE>
<PHRASE Label="la_prompt_root_pass_verify" Module="Core" Type="1">VmVyaWZ5IFJvb3QgUGFzc3dvcmQ=</PHRASE>
<PHRASE Label="la_prompt_RuleType" Module="Core" Type="2">UnVsZSBUeXBl</PHRASE>
<PHRASE Label="la_prompt_runlink_validation" Module="Core" Type="2">VmFsaWRhdGlvbiBQcm9ncmVzcw==</PHRASE>
<PHRASE Label="la_prompt_Search" Module="Core" Type="1">U2VhcmNo</PHRASE>
<PHRASE Label="la_prompt_SearchType" Module="Core" Type="1">U2VhcmNoIFR5cGU=</PHRASE>
<PHRASE Label="la_prompt_Select_Source" Module="Core" Type="1">U2VsZWN0IFNvdXJjZSBMYW5ndWFnZQ==</PHRASE>
<PHRASE Label="la_prompt_sendmethod" Module="Core" Type="1">U2VuZCBFbWFpbCBBcw==</PHRASE>
<PHRASE Label="la_prompt_SentOn" Module="Core" Type="1">U2VudCBPbg==</PHRASE>
<PHRASE Label="la_prompt_Server" Module="Core" Type="1">U2VydmVyIEhvc3RuYW1l</PHRASE>
<PHRASE Label="la_prompt_SessionKey" Module="Core" Type="1">U0lE</PHRASE>
<PHRASE Label="la_prompt_session_cookie_name" Module="Core" Type="1">U2Vzc2lvbiBDb29raWUgTmFtZQ==</PHRASE>
<PHRASE Label="la_prompt_session_management" Module="Core" Type="1">U2Vzc2lvbiBNYW5hZ2VtZW50IE1ldGhvZA==</PHRASE>
<PHRASE Label="la_prompt_session_timeout" Module="Core" Type="1">U2Vzc2lvbiBJbmFjdGl2aXR5IFRpbWVvdXQgKHNlY29uZHMp</PHRASE>
<PHRASE Label="la_prompt_showgeneraltab" Module="Core" Type="1">U2hvdyBvbiB0aGUgZ2VuZXJhbCB0YWI=</PHRASE>
<PHRASE Label="la_prompt_SimpleSearch" Module="Core" Type="1">U2ltcGxlIFNlYXJjaA==</PHRASE>
<PHRASE Label="la_prompt_smtpheaders" Module="Core" Type="1">QWRkaXRpb25hbCBNZXNzYWdlIEhlYWRlcnM=</PHRASE>
<PHRASE Label="la_prompt_smtp_pass" Module="Core" Type="1">TWFpbCBTZXJ2ZXIgUGFzc3dvcmQ=</PHRASE>
<PHRASE Label="la_prompt_smtp_user" Module="Core" Type="1">TWFpbCBTZXJ2ZXIgVXNlcm5hbWU=</PHRASE>
<PHRASE Label="la_prompt_socket_blocking_mode" Module="Core" Type="1">VXNlIG5vbi1ibG9ja2luZyBzb2NrZXQgbW9kZQ==</PHRASE>
<PHRASE Label="la_prompt_sqlquery" Module="Core" Type="1">U1FMIFF1ZXJ5Og==</PHRASE>
<PHRASE Label="la_prompt_sqlquery_error" Module="Core" Type="1">QW4gU1FMIGVycm9yIGhhcyBvY2N1cmVk</PHRASE>
<PHRASE Label="la_prompt_sqlquery_header" Module="Core" Type="1">UGVyZm9ybSBTUUwgUXVlcnk=</PHRASE>
<PHRASE Label="la_prompt_sqlquery_result" Module="Core" Type="1">U1FMIFF1ZXJ5IFJlc3VsdHM=</PHRASE>
<PHRASE Label="la_prompt_SqlType" Module="Core" Type="1">U2VydmVyIFR5cGU=</PHRASE>
<PHRASE Label="la_prompt_StartDate" Module="Core" Type="1">U3RhcnQgRGF0ZQ==</PHRASE>
<PHRASE Label="la_prompt_State" Module="Core" Type="1">U3RhdGU=</PHRASE>
<PHRASE Label="la_prompt_Status" Module="Core" Type="1">U3RhdHVz</PHRASE>
<PHRASE Label="la_Prompt_Step_One" Module="Core" Type="1">U3RlcCBPbmU=</PHRASE>
<PHRASE Label="la_prompt_Street" Module="Core" Type="1">U3RyZWV0</PHRASE>
<PHRASE Label="la_prompt_Stylesheet" Module="Core" Type="1">U3R5bGVzaGVldA==</PHRASE>
<PHRASE Label="la_prompt_Subject" Module="Core" Type="1">U3ViamVjdA==</PHRASE>
<PHRASE Label="la_prompt_SubSearch" Module="Core" Type="1">U3ViIFNlYXJjaA==</PHRASE>
<PHRASE Label="la_prompt_SumbissionTime" Module="Core" Type="1">U3VibWl0dGVkIE9u</PHRASE>
<PHRASE Label="la_prompt_syscache_enable" Module="Core" Type="1">RW5hYmxlIFRhZyBDYWNoaW5n</PHRASE>
<PHRASE Label="la_prompt_SystemFileSize" Module="Core" Type="1">VG90YWwgU2l6ZSBvZiBTeXN0ZW0gRmlsZXM=</PHRASE>
<PHRASE Label="la_Prompt_SystemPermissions" Module="Core" Type="1">U3lzdGVtIHByZW1pc3Npb25z</PHRASE>
<PHRASE Label="la_prompt_TablesCount" Module="Core" Type="1">TnVtYmVyIG9mIERhdGFiYXNlIFRhYmxlcw==</PHRASE>
<PHRASE Label="la_prompt_Template" Module="Core" Type="1">VGVtcGxhdGU=</PHRASE>
<PHRASE Label="la_prompt_text_version" Module="Core" Type="1">VGV4dCBWZXJzaW9u</PHRASE>
<PHRASE Label="la_prompt_Theme" Module="Core" Type="1">VGhlbWU=</PHRASE>
<PHRASE Label="la_prompt_ThemeCount" Module="Core" Type="1">TnVtYmVyIG9mIFRoZW1lcw==</PHRASE>
<PHRASE Label="la_prompt_ThemeId" Module="Core" Type="1">VGhlbWUgSWQ=</PHRASE>
<PHRASE Label="la_prompt_thousand" Module="Core" Type="2">VGhvdXNhbmRzIFNlcGFyYXRvcg==</PHRASE>
<PHRASE Label="la_prompt_ThumbURL" Module="Core" Type="1">UmVtb3RlIFVSTA==</PHRASE>
<PHRASE Label="la_prompt_TimeFormat" Module="Core" Type="1">KGhoOm1tOnNzKQ==</PHRASE>
<PHRASE Label="la_Prompt_Title" Module="Core" Type="1">VGl0bGU=</PHRASE>
<PHRASE Label="la_prompt_To" Module="Core" Type="1">VG8=</PHRASE>
<PHRASE Label="la_prompt_TopicAverageRating" Module="Core" Type="1">VG9waWNzIEF2ZXJhZ2UgUmF0aW5n</PHRASE>
<PHRASE Label="la_prompt_TopicId" Module="Core" Type="1">VG9waWMgSUQ=</PHRASE>
<PHRASE Label="la_prompt_TopicLocked" Module="Core" Type="1">VG9waWMgTG9ja2Vk</PHRASE>
<PHRASE Label="la_prompt_TopicReviews" Module="Core" Type="1">VG90YWwgVG9waWMgUmV2aWV3cw==</PHRASE>
<PHRASE Label="la_prompt_TopicsActive" Module="Core" Type="1">QWN0aXZlIFRvcGljcw==</PHRASE>
<PHRASE Label="la_prompt_TopicsDisabled" Module="Core" Type="1">RGlzYWJsZWQgVG9waWNz</PHRASE>
<PHRASE Label="la_prompt_TopicsPending" Module="Core" Type="1">UGVuZGluZyBUb3BpY3M=</PHRASE>
<PHRASE Label="la_prompt_TopicsTotal" Module="Core" Type="1">VG90YWwgVG9waWNz</PHRASE>
<PHRASE Label="la_prompt_TopicsUsers" Module="Core" Type="1">VG90YWwgVXNlcnMgd2l0aCBUb3BpY3M=</PHRASE>
<PHRASE Label="la_prompt_TotalCategories" Module="Core" Type="1">VG90YWwgQ2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="la_prompt_TotalLinks" Module="Core" Type="1">VG90YWwgTGlua3M=</PHRASE>
<PHRASE Label="la_prompt_TotalUserGroups" Module="Core" Type="1">VG90YWwgVXNlciBHcm91cHM=</PHRASE>
<PHRASE Label="la_prompt_Type" Module="Core" Type="1">VHlwZQ==</PHRASE>
<PHRASE Label="la_prompt_updating" Module="Core" Type="1">VXBkYXRpbmc=</PHRASE>
<PHRASE Label="la_prompt_upload" Module="Core" Type="1">VXBsb2FkIGltYWdlIGZyb20gbG9jYWwgUEM=</PHRASE>
<PHRASE Label="la_prompt_URL" Module="Core" Type="1">VVJM</PHRASE>
<PHRASE Label="la_prompt_UserCount" Module="Core" Type="1">VXNlciBDb3VudA==</PHRASE>
<PHRASE Label="la_prompt_Usermame" Module="Core" Type="1">VXNlcm5hbWU=</PHRASE>
<PHRASE Label="la_prompt_Username" Module="Core" Type="1">VXNlcm5hbWU=</PHRASE>
<PHRASE Label="la_prompt_UsersActive" Module="Core" Type="1">QWN0aXZlIFVzZXJz</PHRASE>
<PHRASE Label="la_prompt_UsersDisabled" Module="Core" Type="1">RGlzYWJsZWQgVXNlcnM=</PHRASE>
<PHRASE Label="la_prompt_UsersPending" Module="Core" Type="1">UGVuZGluZyBVc2Vycw==</PHRASE>
<PHRASE Label="la_prompt_UsersUniqueCountries" Module="Core" Type="1">TnVtYmVyIG9mIFVuaXF1ZSBDb3VudHJpZXMgb2YgVXNlcnM=</PHRASE>
<PHRASE Label="la_prompt_UsersUniqueStates" Module="Core" Type="1">TnVtYmVyIG9mIFVuaXF1ZSBTdGF0ZXMgb2YgVXNlcnM=</PHRASE>
<PHRASE Label="la_prompt_validation" Module="Core" Type="1">VmFsaWRhdGlvbg==</PHRASE>
<PHRASE Label="la_prompt_Value" Module="Core" Type="1">VmFsdWU=</PHRASE>
<PHRASE Label="la_prompt_valuelist" Module="Core" Type="1">TGlzdCBvZiBWYWx1ZXM=</PHRASE>
<PHRASE Label="la_prompt_Views" Module="Core" Type="1">Vmlld3M=</PHRASE>
<PHRASE Label="la_prompt_Visible" Module="Core" Type="1">VmlzaWJsZQ==</PHRASE>
<PHRASE Label="la_prompt_VoteLimits" Module="Core" Type="1">KE1pbmltdW0gMSk=</PHRASE>
<PHRASE Label="la_prompt_Votes" Module="Core" Type="1">Vm90ZXM=</PHRASE>
<PHRASE Label="la_Prompt_Warning" Module="Core" Type="1">V2FybmluZyE=</PHRASE>
<PHRASE Label="la_prompt_weight" Module="Core" Type="1">V2VpZ2h0</PHRASE>
<PHRASE Label="la_prompt_Zip" Module="Core" Type="1">Wmlw</PHRASE>
<PHRASE Label="la_promt_ReferrerCheck" Module="Core" Type="1">U2Vzc2lvbiBSZWZlcnJlciBDaGVja2luZw==</PHRASE>
<PHRASE Label="la_Quotes" Module="Core" Type="1">U2luZ2xlLXF1b3Rl</PHRASE>
<PHRASE Label="la_Rating" Module="Core" Type="1">bGFfUmF0aW5n</PHRASE>
<PHRASE Label="la_rating_alreadyvoted" Module="Core" Type="1">QWxyZWFkeSB2b3RlZA==</PHRASE>
<PHRASE Label="la_Reciprocal" Module="Core" Type="1">UmVjaXByb2NhbA==</PHRASE>
<PHRASE Label="la_Records" Module="Core" Type="1">UmVjb3Jkcw==</PHRASE>
<PHRASE Label="la_record_being_edited_by" Module="Core" Type="1">VGhpcyByZWNvcmQgaXMgYmVpbmcgZWRpdGVkIGJ5IHRoZSBmb2xsb3dpbmcgdXNlcnM6DQolcw==</PHRASE>
<PHRASE Label="la_registration_captcha" Module="Core" Type="1">VXNlIENhcHRjaGEgY29kZSBvbiBSZWdpc3RyYXRpb24=</PHRASE>
<PHRASE Label="la_Regular" Module="Core" Type="1">UmVndWxhcg==</PHRASE>
<PHRASE Label="la_RemoveFrom" Module="Core" Type="1">UmVtb3ZlIEZyb20=</PHRASE>
<PHRASE Label="la_RequiredWarning" Module="Core" Type="1">Tm90IGFsbCByZXF1aXJlZCBmaWVsZHMgYXJlIGZpbGxlZC4gUGxlYXNlIGZpbGwgdGhlbSBmaXJzdC4=</PHRASE>
<PHRASE Label="la_restore_access_denied" Module="Core" Type="1">QWNjZXNzIGRlbmllZA==</PHRASE>
<PHRASE Label="la_restore_file_error" Module="Core" Type="1">RmlsZSBlcnJvcg==</PHRASE>
<PHRASE Label="la_restore_file_not_found" Module="Core" Type="1">RmlsZSBub3QgZm91bmQ=</PHRASE>
<PHRASE Label="la_restore_read_error" Module="Core" Type="1">VW5hYmxlIHRvIHJlYWQgZnJvbSBmaWxl</PHRASE>
<PHRASE Label="la_restore_unknown_error" Module="Core" Type="1">QW4gdW5kZWZpbmVkIGVycm9yIGhhcyBvY2N1cmVk</PHRASE>
<PHRASE Label="la_reviewer" Module="Core" Type="1">UmV2aWV3ZXI=</PHRASE>
<PHRASE Label="la_review_added" Module="Core" Type="1">UmV2aWV3IGFkZGVkIHN1Y2Nlc3NmdWxseQ==</PHRASE>
<PHRASE Label="la_review_alreadyreviewed" Module="Core" Type="1">VGhpcyBpdGVtIGhhcyBhbHJlYWR5IGJlZW4gcmV2aWV3ZWQ=</PHRASE>
<PHRASE Label="la_review_error" Module="Core" Type="1">RXJyb3IgYWRkaW5nIHJldmlldw==</PHRASE>
<PHRASE Label="la_review_perpage_prompt" Module="Core" Type="1">UmV2aWV3cyBQZXIgUGFnZQ==</PHRASE>
<PHRASE Label="la_review_perpage_short_prompt" Module="Core" Type="1">UmV2aWV3cyBQZXIgUGFnZSAoU2hvcnRsaXN0KQ==</PHRASE>
<PHRASE Label="la_rootpass_verify_error" Module="Core" Type="1">RXJyb3IgdmVyaWZ5aW5nIHBhc3N3b3Jk</PHRASE>
<PHRASE Label="la_running_query" Module="Core" Type="1">UnVubmluZyBRdWVyeQ==</PHRASE>
<PHRASE Label="la_Runtime" Module="Core" Type="1">UnVudGltZQ==</PHRASE>
<PHRASE Label="la_SampleText" Module="Core" Type="1">U2FtcGxlIFRleHQ=</PHRASE>
<PHRASE Label="la_Save" Module="Core" Type="1">U2F2ZQ==</PHRASE>
<PHRASE Label="la_SaveLogin" Module="Core" Type="1">U2F2ZSBVc2VybmFtZSBvbiBUaGlzIENvbXB1dGVy</PHRASE>
<PHRASE Label="la_Search" Module="Core" Type="1">U2VhcmNo</PHRASE>
<PHRASE Label="la_SearchLabel" Module="Core" Type="1">U2VhcmNo</PHRASE>
<PHRASE Label="la_SearchLabel_Categories" Module="Core" Type="1">U2VhcmNoIENhdGVnb3JpZXM=</PHRASE>
<PHRASE Label="la_SearchLabel_Links" Module="Core" Type="1">U2VhcmNoIExpbmtz</PHRASE>
<PHRASE Label="la_SearchLabel_News" Module="Core" Type="1">U2VhcmNoIEFydGljbGVz</PHRASE>
<PHRASE Label="la_SearchLabel_Topics" Module="Core" Type="1">U2VhcmNoIFRvcGljcw==</PHRASE>
<PHRASE Label="la_SearchMenu_Categories" Module="Core" Type="1">Q2F0ZWdvcmllczE=</PHRASE>
<PHRASE Label="la_SearchMenu_Clear" Module="Core" Type="1">Q2xlYXIgU2VhcmNo</PHRASE>
<PHRASE Label="la_SearchMenu_New" Module="Core" Type="1">TmV3IFNlYXJjaA==</PHRASE>
<PHRASE Label="la_Sectionheader_MetaInformation" Module="Core" Type="1">TUVUQSBJbmZvcm1hdGlvbg==</PHRASE>
<PHRASE Label="la_section_BlockProperties" Module="Core" Type="1">QmxvY2sgUHJvcGVydGllcw==</PHRASE>
<PHRASE Label="la_section_Category" Module="Core" Type="1">Q2F0ZWdvcnk=</PHRASE>
<PHRASE Label="la_section_Configs" Module="Core" Type="1">Q29uZmlnIEZpbGVz</PHRASE>
<PHRASE Label="la_section_Counters" Module="Core" Type="1">Q291bnRlcnM=</PHRASE>
<PHRASE Label="la_section_CustomFields" Module="Core" Type="1">Q3VzdG9tIEZpZWxkcw==</PHRASE>
<PHRASE Label="la_section_Data" Module="Core" Type="1">U3VibWlzc2lvbiBEYXRh</PHRASE>
<PHRASE Label="la_section_FullSizeImage" Module="Core" Type="1">RnVsbCBTaXplIEltYWdl</PHRASE>
<PHRASE Label="la_section_General" Module="Core" Type="1">R2VuZXJhbA==</PHRASE>
<PHRASE Label="la_section_Image" Module="Core" Type="1">SW1hZ2U=</PHRASE>
<PHRASE Label="la_section_ImageSettings" Module="Core" Type="1">SW1hZ2UgU2V0dGluZ3M=</PHRASE>
<PHRASE Label="la_section_Items" Module="Core" Type="1">VXNlciBJdGVtcw==</PHRASE>
<PHRASE Label="la_section_Message" Module="Core" Type="1">TWVzc2FnZQ==</PHRASE>
<PHRASE Label="la_section_overview" Module="Core" Type="1">U2VjdGlvbiBPdmVydmlldw==</PHRASE>
<PHRASE Label="la_section_Page" Module="Core" Type="1">UGFnZSBQcm9wZXJ0aWVz</PHRASE>
<PHRASE Label="la_section_Properties" Module="Core" Type="1">UHJvcGVydGllcw==</PHRASE>
<PHRASE Label="la_section_QuickLinks" Module="Core" Type="1">UXVpY2sgTGlua3M=</PHRASE>
<PHRASE Label="la_section_Relation" Module="Core" Type="1">UmVsYXRpb24=</PHRASE>
<PHRASE Label="la_section_SettingsAdmin" Module="Core" Type="1">QWRtaW4gQ29uc29sZSBTZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_section_SettingsCSVExport" Module="Core" Type="1">Q1NWIEV4cG9ydCBTZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_section_SettingsMailling" Module="Core" Type="1">TWFpbGluZyBTZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_section_SettingsSession" Module="Core" Type="1">U2Vzc2lvbiBTZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_section_SettingsSSL" Module="Core" Type="1">U1NMIFNldHRpbmdz</PHRASE>
<PHRASE Label="la_section_SettingsSystem" Module="Core" Type="1">U3lzdGVtIFNldHRpbmdz</PHRASE>
<PHRASE Label="la_section_SettingsWebsite" Module="Core" Type="1">V2Vic2l0ZSBTZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_section_Templates" Module="Core" Type="1">VGVtcGxhdGVz</PHRASE>
<PHRASE Label="la_section_ThumbnailImage" Module="Core" Type="1">VGh1bWJuYWlsIEltYWdl</PHRASE>
<PHRASE Label="la_section_Translation" Module="Core" Type="1">VHJhbnNsYXRpb24=</PHRASE>
<PHRASE Label="la_section_UsersSearch" Module="Core" Type="1">U2VhcmNoIFVzZXJz</PHRASE>
<PHRASE Label="la_section_Values" Module="Core" Type="1">VmFsdWVz</PHRASE>
<PHRASE Label="la_SelectColumns" Module="Core" Type="1">U2VsZWN0IENvbHVtbnM=</PHRASE>
<PHRASE Label="la_selecting_categories" Module="Core" Type="1">U2VsZWN0aW5nIENhdGVnb3JpZXM=</PHRASE>
<PHRASE Label="la_Selection_Empty" Module="Core" Type="1">RW1wdHkgc2VsZWN0aW9u</PHRASE>
<PHRASE Label="la_semicolon" Module="Core" Type="1">U2VtaWNvbG9u</PHRASE>
<PHRASE Label="la_SeparatedCategoryPath" Module="Core" Type="1">T25lIGZpZWxkIGZvciBlYWNoIGNhdGVnb3J5IGxldmVs</PHRASE>
<PHRASE Label="la_Service_ConfigCache" Module="Core" Type="1">UmVzZXQgQ29uZmlncyBDYWNoZQ==</PHRASE>
<PHRASE Label="la_Service_RebuildThemes" Module="Core" Type="1">UmUtYnVpbGQgVGhlbWVzIEZpbGVz</PHRASE>
<PHRASE Label="la_Service_ResetCMSMenuCache" Module="Core" Type="1">UmVzZXQgU01TIE1lbnUgQ2FjaGU=</PHRASE>
<PHRASE Label="la_Service_ResetModRwCache" Module="Core" Type="1">UmVzZXQgbW9kX3Jld3JpdGUgQ2FjaGU=</PHRASE>
<PHRASE Label="la_Service_ResetSections" Module="Core" Type="1">UmVzZXQgU2VjdGlvbnMgQ2FjaGU=</PHRASE>
<PHRASE Label="la_ShortToolTip_Clone" Module="Core" Type="1">Q2xvbmU=</PHRASE>
<PHRASE Label="la_ShortToolTip_CloneUser" Module="Core" Type="1">Q2xvbmU=</PHRASE>
<PHRASE Label="la_ShortToolTip_Down" Module="Core" Type="1">RG93bg==</PHRASE>
<PHRASE Label="la_ShortToolTip_Edit" Module="Core" Type="1">TW9kaWZ5</PHRASE>
<PHRASE Label="la_ShortToolTip_Export" Module="Core" Type="1">RXhwb3J0</PHRASE>
<PHRASE Label="la_ShortToolTip_GoUp" Module="Core" Type="1">R28gVXA=</PHRASE>
<PHRASE Label="la_ShortToolTip_Import" Module="Core" Type="1">SW1wb3J0</PHRASE>
<PHRASE Label="la_ShortToolTip_MoveDown" Module="Core" Type="1">RG93bg==</PHRASE>
<PHRASE Label="la_ShortToolTip_MoveUp" Module="Core" Type="1">VXA=</PHRASE>
<PHRASE Label="la_ShortToolTip_Rebuild" Module="Core" Type="1">UmVidWlsZA==</PHRASE>
<PHRASE Label="la_ShortToolTip_RescanThemes" Module="Core" Type="1">UmVzY2FuIFRoZW1lcw==</PHRASE>
<PHRASE Label="la_ShortToolTip_ResetSettings" Module="Core" Type="1">UmVzZXQ=</PHRASE>
<PHRASE Label="la_ShortToolTip_SetPrimary" Module="Core" Type="1">UHJpbWFyeQ==</PHRASE>
<PHRASE Label="la_ShortToolTip_SynchronizeLanguages" Module="Core" Type="1">U3luY2hyb25pemU=</PHRASE>
<PHRASE Label="la_ShortToolTip_Up" Module="Core" Type="1">VXA=</PHRASE>
<PHRASE Label="la_ShortToolTip_View" Module="Core" Type="1">Vmlldw==</PHRASE>
<PHRASE Label="la_Show" Module="Core" Type="1">U2hvdw==</PHRASE>
<PHRASE Label="la_Showing_Logs" Module="Core" Type="1">U2hvd2luZyBMb2dz</PHRASE>
<PHRASE Label="la_Showing_Stats" Module="Core" Type="1">U2hvd2luZyBTdGF0aXN0aWNz</PHRASE>
<PHRASE Label="la_Show_EmailLog" Module="Core" Type="1">U2hvdyBFLW1haWxzIExvZw==</PHRASE>
<PHRASE Label="la_Show_Log" Module="Core" Type="1">U2hvd2luZyBMb2dz</PHRASE>
<PHRASE Label="la_sortfield2_prompt" Module="Core" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
<PHRASE Label="la_space" Module="Core" Type="1">U3BhY2U=</PHRASE>
<PHRASE Label="la_SQLAffectedRows" Module="Core" Type="1">QWZmZWN0ZWQgcm93cw==</PHRASE>
<PHRASE Label="la_SQLRuntime" Module="Core" Type="1">RXhlY3V0ZWQgaW46</PHRASE>
<PHRASE Label="la_state_AB" Module="Core" Type="1">QWxiZXJ0YQ==</PHRASE>
<PHRASE Label="la_state_AK" Module="Core" Type="1">QWxhc2th</PHRASE>
<PHRASE Label="la_state_AL" Module="Core" Type="1">QWxhYmFtYQ==</PHRASE>
<PHRASE Label="la_state_AR" Module="Core" Type="1">QXJrYW5zYXM=</PHRASE>
<PHRASE Label="la_state_AZ" Module="Core" Type="1">QXJpem9uYQ==</PHRASE>
<PHRASE Label="la_state_BC" Module="Core" Type="1">QnJpdGlzaCBDb2x1bWJpYQ==</PHRASE>
<PHRASE Label="la_state_CA" Module="Core" Type="1">Q2FsaWZvcm5pYQ==</PHRASE>
<PHRASE Label="la_state_CO" Module="Core" Type="1">Q29sb3JhZG8=</PHRASE>
<PHRASE Label="la_state_CT" Module="Core" Type="1">Q29ubmVjdGljdXQ=</PHRASE>
<PHRASE Label="la_state_DC" Module="Core" Type="1">RGlzdHJpY3Qgb2YgQ29sdW1iaWE=</PHRASE>
<PHRASE Label="la_state_DE" Module="Core" Type="1">RGVsYXdhcmU=</PHRASE>
<PHRASE Label="la_state_FL" Module="Core" Type="1">RmxvcmlkYQ==</PHRASE>
<PHRASE Label="la_state_GA" Module="Core" Type="1">R2VvcmdpYQ==</PHRASE>
<PHRASE Label="la_state_HI" Module="Core" Type="1">SGF3YWlp</PHRASE>
<PHRASE Label="la_state_IA" Module="Core" Type="1">SW93YQ==</PHRASE>
<PHRASE Label="la_state_ID" Module="Core" Type="1">SWRhaG8=</PHRASE>
<PHRASE Label="la_state_IL" Module="Core" Type="1">SWxsaW5vaXM=</PHRASE>
<PHRASE Label="la_state_IN" Module="Core" Type="1">SW5kaWFuYQ==</PHRASE>
<PHRASE Label="la_state_KS" Module="Core" Type="1">S2Fuc2Fz</PHRASE>
<PHRASE Label="la_state_KY" Module="Core" Type="1">S2VudHVja3k=</PHRASE>
<PHRASE Label="la_state_LA" Module="Core" Type="1">TG91aXNpYW5h</PHRASE>
<PHRASE Label="la_state_MA" Module="Core" Type="1">TWFzc2FjaHVzZXR0cw==</PHRASE>
<PHRASE Label="la_state_MB" Module="Core" Type="1">TWFuaXRvYmE=</PHRASE>
<PHRASE Label="la_state_MD" Module="Core" Type="1">TWFyeWxhbmQ=</PHRASE>
<PHRASE Label="la_state_ME" Module="Core" Type="1">TWFpbmU=</PHRASE>
<PHRASE Label="la_state_MI" Module="Core" Type="1">TWljaGlnYW4=</PHRASE>
<PHRASE Label="la_state_MN" Module="Core" Type="1">TWlubmVzb3Rh</PHRASE>
<PHRASE Label="la_state_MO" Module="Core" Type="1">TWlzc291cmk=</PHRASE>
<PHRASE Label="la_state_MS" Module="Core" Type="1">TWlzc2lzc2lwcGk=</PHRASE>
<PHRASE Label="la_state_MT" Module="Core" Type="1">TW9udGFuYQ==</PHRASE>
<PHRASE Label="la_state_NB" Module="Core" Type="1">TmV3IEJydW5zd2ljaw==</PHRASE>
<PHRASE Label="la_state_NC" Module="Core" Type="1">Tm9ydGggQ2Fyb2xpbmE=</PHRASE>
<PHRASE Label="la_state_ND" Module="Core" Type="1">Tm9ydGggRGFrb3Rh</PHRASE>
<PHRASE Label="la_state_NE" Module="Core" Type="1">TmVicmFza2E=</PHRASE>
<PHRASE Label="la_state_NH" Module="Core" Type="1">TmV3IEhhbXBzaGlyZQ==</PHRASE>
<PHRASE Label="la_state_NJ" Module="Core" Type="1">TmV3IEplcnNleQ==</PHRASE>
<PHRASE Label="la_state_NL" Module="Core" Type="1">TmV3Zm91bmRsYW5kIGFuZCBMYWJyYWRvcg==</PHRASE>
<PHRASE Label="la_state_NM" Module="Core" Type="1">TmV3IE1leGljbw==</PHRASE>
<PHRASE Label="la_state_NS" Module="Core" Type="1">Tm92YSBTY290aWE=</PHRASE>
<PHRASE Label="la_state_NT" Module="Core" Type="1">Tm9ydGh3ZXN0IFRlcnJpdG9yaWVz</PHRASE>
<PHRASE Label="la_state_NU" Module="Core" Type="1">TnVuYXZ1dA==</PHRASE>
<PHRASE Label="la_state_NV" Module="Core" Type="1">TmV2YWRh</PHRASE>
<PHRASE Label="la_state_NY" Module="Core" Type="1">TmV3IFlvcms=</PHRASE>
<PHRASE Label="la_state_OH" Module="Core" Type="1">T2hpbw==</PHRASE>
<PHRASE Label="la_state_OK" Module="Core" Type="1">T2tsYWhvbWE=</PHRASE>
<PHRASE Label="la_state_ON" Module="Core" Type="1">T250YXJpbw==</PHRASE>
<PHRASE Label="la_state_OR" Module="Core" Type="1">T3JlZ29u</PHRASE>
<PHRASE Label="la_state_PA" Module="Core" Type="1">UGVubnN5bHZhbmlh</PHRASE>
<PHRASE Label="la_state_PE" Module="Core" Type="1">UHJpbmNlIEVkd2FyZCBJc2xhbmQ=</PHRASE>
<PHRASE Label="la_state_PR" Module="Core" Type="1">UHVlcnRvIFJpY28=</PHRASE>
<PHRASE Label="la_state_QC" Module="Core" Type="1">UXVlYmVj</PHRASE>
<PHRASE Label="la_state_RI" Module="Core" Type="1">UmhvZGUgSXNsYW5k</PHRASE>
<PHRASE Label="la_state_SC" Module="Core" Type="1">U291dGggQ2Fyb2xpbmE=</PHRASE>
<PHRASE Label="la_state_SD" Module="Core" Type="1">U291dGggRGFrb3Rh</PHRASE>
<PHRASE Label="la_state_SK" Module="Core" Type="1">U2Fza2F0Y2hld2Fu</PHRASE>
<PHRASE Label="la_state_TN" Module="Core" Type="1">VGVubmVzc2Vl</PHRASE>
<PHRASE Label="la_state_TX" Module="Core" Type="1">VGV4YXM=</PHRASE>
<PHRASE Label="la_state_UT" Module="Core" Type="1">VXRhaA==</PHRASE>
<PHRASE Label="la_state_VA" Module="Core" Type="1">VmlyZ2luaWE=</PHRASE>
<PHRASE Label="la_state_VT" Module="Core" Type="1">VmVybW9udA==</PHRASE>
<PHRASE Label="la_state_WA" Module="Core" Type="1">V2FzaGluZ3Rvbg==</PHRASE>
<PHRASE Label="la_state_WI" Module="Core" Type="1">V2lzY29uc2lu</PHRASE>
<PHRASE Label="la_state_WV" Module="Core" Type="1">V2VzdCBWaXJnaW5pYQ==</PHRASE>
<PHRASE Label="la_state_WY" Module="Core" Type="1">V3lvbWluZw==</PHRASE>
<PHRASE Label="la_state_YT" Module="Core" Type="1">WXVrb24=</PHRASE>
<PHRASE Label="la_step" Module="Core" Type="1">U3RlcA==</PHRASE>
<PHRASE Label="la_StyleDefinition" Module="Core" Type="1">RGVmaW5pdGlvbg==</PHRASE>
<PHRASE Label="la_StylePreview" Module="Core" Type="1">UHJldmlldw==</PHRASE>
<PHRASE Label="la_sunday" Module="Core" Type="1">U3VuZGF5</PHRASE>
<PHRASE Label="la_System" Module="Core" Type="1">U3lzdGVt</PHRASE>
<PHRASE Label="la_tab" Module="Core" Type="1">VGFi</PHRASE>
<PHRASE Label="la_tab_AdminUI" Module="Core" Type="1">QWRtaW5pc3RyYXRpb24gUGFuZWwgVUk=</PHRASE>
<PHRASE Label="la_tab_AdvancedView" Module="Core" Type="1">QWR2YW5jZWQgVmlldw==</PHRASE>
<PHRASE Label="la_tab_Backup" Module="Core" Type="1">QmFja3Vw</PHRASE>
<PHRASE Label="la_tab_BanList" Module="Core" Type="1">QmFuIExpc3Q=</PHRASE>
<PHRASE Label="la_tab_BaseStyles" Module="Core" Type="1">QmFzZSBTdHlsZXM=</PHRASE>
<PHRASE Label="la_tab_BlockStyles" Module="Core" Type="1">QmxvY2sgU3R5bGVz</PHRASE>
<PHRASE Label="la_tab_Browse" Module="Core" Type="1">Q2F0YWxvZw==</PHRASE>
<PHRASE Label="la_tab_BrowsePages" Module="Core" Type="1">QnJvd3NlIFdlYnNpdGU=</PHRASE>
<PHRASE Label="la_tab_Categories" Module="Core" Type="1">Q2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="la_tab_Category_RelationSelect" Module="Core" Type="1">U2VsZWN0IEl0ZW0=</PHRASE>
<PHRASE Label="la_tab_Category_Select" Module="Core" Type="1">Q2F0ZWdvcnkgU2VsZWN0</PHRASE>
<PHRASE Label="la_tab_Censorship" Module="Core" Type="1">Q2Vuc29yc2hpcA==</PHRASE>
<PHRASE Label="la_tab_ChangeLog" Module="Core" Type="1">Q2hhbmdlcyBMb2c=</PHRASE>
<PHRASE Label="la_tab_CMSForms" Module="Core" Type="1">Rm9ybXM=</PHRASE>
<PHRASE Label="la_tab_CMSSubmissions" Module="Core" Type="1">U3VibWlzc2lvbnM=</PHRASE>
<PHRASE Label="la_tab_Community" Module="Core" Type="1">Q29tbXVuaXR5</PHRASE>
<PHRASE Label="la_tab_ConfigCategories" Module="Core" Type="1">R2VuZXJhbCBTZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_tab_ConfigCensorship" Module="Core" Type="1">Q2Vuc29yc2hpcA==</PHRASE>
<PHRASE Label="la_tab_ConfigCustom" Module="Core" Type="1">Q3VzdG9tIEZpZWxkcw==</PHRASE>
<PHRASE Label="la_tab_ConfigE-mail" Module="Core" Type="1">RS1tYWls</PHRASE>
<PHRASE Label="la_tab_Configemail_settings" Module="Core" Type="1">Q29uZmlndXJhdGlvbg==</PHRASE>
<PHRASE Label="la_tab_ConfigGeneral" Module="Core" Type="1">R2VuZXJhbCBTZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_tab_Configother_settings" Module="Core" Type="1">Q29uZmlndXJhdGlvbg==</PHRASE>
<PHRASE Label="la_tab_ConfigOutput" Module="Core" Type="1">T3V0cHV0</PHRASE>
<PHRASE Label="la_tab_ConfigSearch" Module="Core" Type="1">U2VhcmNo</PHRASE>
<PHRASE Label="la_tab_ConfigSettings" Module="Core" Type="1">R2VuZXJhbA==</PHRASE>
<PHRASE Label="la_tab_ConfigSmileys" Module="Core" Type="1">U21pbGV5cw==</PHRASE>
<PHRASE Label="la_tab_Configsysconfig" Module="Core" Type="1">U3lzdGVtIENvbmZpZ3VyYXRpb24=</PHRASE>
<PHRASE Label="la_tab_Configsystem_variables" Module="Core" Type="1">Q29uZmlndXJhdGlvbg==</PHRASE>
<PHRASE Label="la_tab_ConfigUsers" Module="Core" Type="1">R2VuZXJhbCBTZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_tab_Custom" Module="Core" Type="1">Q3VzdG9t</PHRASE>
<PHRASE Label="la_tab_E-mails" Module="Core" Type="1">RS1tYWlsIFRlbXBsYXRlcw==</PHRASE>
<PHRASE Label="la_tab_Editing_Review" Module="Core" Type="1">RWRpdGluZyBSZXZpZXc=</PHRASE>
<PHRASE Label="la_tab_EmailEvents" Module="Core" Type="1">RW1haWwgRXZlbnRz</PHRASE>
<PHRASE Label="la_tab_EmailLog" Module="Core" Type="1">RS1tYWlscyBMb2c=</PHRASE>
<PHRASE Label="la_tab_EmailMessage" Module="Core" Type="1">RW1haWwgTWVzc2FnZQ==</PHRASE>
<PHRASE Label="la_tab_EmailQueue" Module="Core" Type="1">RW1haWwgUXVldWU=</PHRASE>
<PHRASE Label="la_tab_ExportData" Module="Core" Type="1">RXhwb3J0IERhdGE=</PHRASE>
<PHRASE Label="la_tab_ExportLang" Module="Core" Type="1">RXhwb3J0IExhbmd1YWdlIFBhY2s=</PHRASE>
<PHRASE Label="la_tab_Fields" Module="Core" Type="1">RmllbGRz</PHRASE>
<PHRASE Label="la_tab_Files" Module="Core" Type="1">RmlsZXM=</PHRASE>
<PHRASE Label="la_tab_FormsConfig" Module="Core" Type="1">Rm9ybXMgQ29uZmlndXJhdGlvbg==</PHRASE>
<PHRASE Label="la_tab_General" Module="Core" Type="1">R2VuZXJhbA==</PHRASE>
<PHRASE Label="la_tab_GeneralSettings" Module="Core" Type="1">R2VuZXJhbA==</PHRASE>
<PHRASE Label="la_tab_Group" Module="Core" Type="1">R3JvdXA=</PHRASE>
<PHRASE Label="la_tab_Groups" Module="Core" Type="1">R3JvdXBz</PHRASE>
<PHRASE Label="la_tab_GroupSelect" Module="Core" Type="1">U2VsZWN0IEdyb3Vw</PHRASE>
<PHRASE Label="la_tab_Help" Module="Core" Type="1">SGVscA==</PHRASE>
<PHRASE Label="la_tab_Images" Module="Core" Type="1">SW1hZ2Vz</PHRASE>
<PHRASE Label="la_tab_ImportData" Module="Core" Type="1">SW1wb3J0IERhdGE=</PHRASE>
<PHRASE Label="la_tab_ImportLang" Module="Core" Type="1">SW1wb3J0IExhbmd1YWdlIFBhY2s=</PHRASE>
<PHRASE Label="la_tab_inlinkimport" Module="Core" Type="1">SW4tbGluayBpbXBvcnQ=</PHRASE>
<PHRASE Label="la_tab_Install" Module="Core" Type="1">SW5zdGFsbA==</PHRASE>
<PHRASE Label="la_tab_ItemList" Module="Core" Type="1">SXRlbSBMaXN0</PHRASE>
<PHRASE Label="la_tab_Items" Module="Core" Type="1">SXRlbXM=</PHRASE>
<PHRASE Label="la_tab_label" Module="Core" Type="1">TGFiZWw=</PHRASE>
<PHRASE Label="la_tab_Labels" Module="Core" Type="1">TGFiZWxz</PHRASE>
<PHRASE Label="la_tab_LinkValidation" Module="Core" Type="2">TGluayBWYWxpZGF0aW9u</PHRASE>
<PHRASE Label="la_tab_Mail_List" Module="Core" Type="1">TWFpbCBMaXN0</PHRASE>
<PHRASE Label="la_tab_Message" Module="Core" Type="1">TWVzc2FnZQ==</PHRASE>
<PHRASE Label="la_tab_MissingLabels" Module="Core" Type="1">TWlzc2luZyBMYWJlbHM=</PHRASE>
<PHRASE Label="la_tab_modules" Module="Core" Type="1">TW9kdWxlcw==</PHRASE>
<PHRASE Label="la_tab_ModulesManagement" Module="Core" Type="1">TW9kdWxlcyBNYW5hZ2VtZW50</PHRASE>
<PHRASE Label="la_tab_ModulesSettings" Module="Core" Type="1">TW9kdWxlcyAmIFNldHRpbmdz</PHRASE>
<PHRASE Label="la_tab_Overview" Module="Core" Type="1">T3ZlcnZpZXc=</PHRASE>
<PHRASE Label="la_tab_PackageContent" Module="Core" Type="1">UGFja2FnZSBDb250ZW50</PHRASE>
<PHRASE Label="la_tab_Permissions" Module="Core" Type="1">UGVybWlzc2lvbnM=</PHRASE>
<PHRASE Label="la_tab_phpbbimport" Module="Core" Type="1">cGhwQkIgSW1wb3J0</PHRASE>
<PHRASE Label="la_tab_Properties" Module="Core" Type="1">UHJvcGVydGllcw==</PHRASE>
<PHRASE Label="la_tab_QueryDB" Module="Core" Type="1">UXVlcnkgRGF0YWJhc2U=</PHRASE>
<PHRASE Label="la_tab_Regional" Module="Core" Type="1">UmVnaW9uYWw=</PHRASE>
<PHRASE Label="la_tab_Related_Searches" Module="Core" Type="1">UmVsYXRlZCBTZWFyY2hlcw==</PHRASE>
<PHRASE Label="la_tab_Relations" Module="Core" Type="1">UmVsYXRpb25z</PHRASE>
<PHRASE Label="la_tab_Reports" Module="Core" Type="1">UmVwb3J0cyAmIExvZ3M=</PHRASE>
<PHRASE Label="la_tab_Restore" Module="Core" Type="1">UmVzdG9yZQ==</PHRASE>
<PHRASE Label="la_tab_Review" Module="Core" Type="1">UmV2aWV3</PHRASE>
<PHRASE Label="la_tab_Reviews" Module="Core" Type="1">Q29tbWVudHM=</PHRASE>
<PHRASE Label="la_tab_Rule" Module="Core" Type="2">UnVsZSBQcm9wZXJ0aWVz</PHRASE>
<PHRASE Label="la_Tab_Search" Module="Core" Type="1">U2VhcmNo</PHRASE>
<PHRASE Label="la_tab_SearchLog" Module="Core" Type="1">U2VhcmNoIExvZw==</PHRASE>
<PHRASE Label="la_tab_Search_Groups" Module="Core" Type="1">U2VhcmNoIEdyb3Vwcw==</PHRASE>
<PHRASE Label="la_tab_Search_Users" Module="Core" Type="1">U2VhcmNoIFVzZXJz</PHRASE>
<PHRASE Label="la_tab_SendMail" Module="Core" Type="1">U2VuZCBlLW1haWw=</PHRASE>
<PHRASE Label="la_tab_ServerInfo" Module="Core" Type="1">U2VydmVyIEluZm9ybWF0aW9u</PHRASE>
<PHRASE Label="la_Tab_Service" Module="Core" Type="1">U2VydmljZQ==</PHRASE>
<PHRASE Label="la_tab_SessionLog" Module="Core" Type="1">U2Vzc2lvbiBMb2c=</PHRASE>
<PHRASE Label="la_tab_SessionLogs" Module="Core" Type="1">U2Vzc2lvbiBMb2c=</PHRASE>
<PHRASE Label="la_tab_Settings" Module="Core" Type="1">R2VuZXJhbCBTZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_tab_ShowAll" Module="Core" Type="1">U2hvdyBBbGw=</PHRASE>
<PHRASE Label="la_tab_ShowStructure" Module="Core" Type="1">U2hvdyBTdHJ1Y3R1cmU=</PHRASE>
<PHRASE Label="la_tab_Site_Structure" Module="Core" Type="1">V2Vic2l0ZSAmIENvbnRlbnQ=</PHRASE>
<PHRASE Label="la_tab_Skins" Module="Core" Type="1">U2tpbnM=</PHRASE>
<PHRASE Label="la_tab_Stats" Module="Core" Type="1">U3RhdGlzdGljcw==</PHRASE>
<PHRASE Label="la_tab_Stylesheets" Module="Core" Type="1">U3R5bGVzaGVldHM=</PHRASE>
<PHRASE Label="la_tab_Summary" Module="Core" Type="1">U3VtbWFyeQ==</PHRASE>
<PHRASE Label="la_tab_Sys_Config" Module="Core" Type="1">Q29uZmlndXJhdGlvbg==</PHRASE>
<PHRASE Label="la_tab_taglibrary" Module="Core" Type="1">VGFnIGxpYnJhcnk=</PHRASE>
<PHRASE Label="la_tab_Template" Module="Core" Type="1">VGVtcGxhdGU=</PHRASE>
<PHRASE Label="la_tab_Templates" Module="Core" Type="1">VGVtcGxhdGVz</PHRASE>
<PHRASE Label="la_tab_Themes" Module="Core" Type="1">VGhlbWVz</PHRASE>
<PHRASE Label="la_tab_Tools" Module="Core" Type="1">VG9vbHM=</PHRASE>
<PHRASE Label="la_tab_upgrade_license" Module="Core" Type="1">VXBkYXRlIExpY2Vuc2U=</PHRASE>
<PHRASE Label="la_tab_userban" Module="Core" Type="1">QmFuIHVzZXI=</PHRASE>
<PHRASE Label="la_tab_UserBanList" Module="Core" Type="1">QmFuIExpc3Q=</PHRASE>
<PHRASE Label="la_tab_Users" Module="Core" Type="1">VXNlcnM=</PHRASE>
<PHRASE Label="la_tab_UserSelect" Module="Core" Type="1">VXNlciBTZWxlY3Q=</PHRASE>
<PHRASE Label="la_tab_User_Groups" Module="Core" Type="1">R3JvdXBz</PHRASE>
<PHRASE Label="la_tab_User_List" Module="Core" Type="1">VXNlcnM=</PHRASE>
<PHRASE Label="la_tab_Visits" Module="Core" Type="1">VmlzaXRz</PHRASE>
<PHRASE Label="la_taglib_link" Module="Core" Type="1">VGFnIExpYnJhcnk=</PHRASE>
<PHRASE Label="la_tag_library" Module="Core" Type="1">VGFnIExpYnJhcnk=</PHRASE>
<PHRASE Label="la_terabytes" Module="Core" Type="1">dGVyYWJ5dGUocyk=</PHRASE>
<PHRASE Label="la_Text" Module="Core" Type="1">dGV4dA==</PHRASE>
<PHRASE Label="la_Text_Access_Denied" Module="Core" Type="1">SW52YWxpZCB1c2VyIG5hbWUgb3IgcGFzc3dvcmQ=</PHRASE>
<PHRASE Label="la_Text_Active" Module="Core" Type="1">QWN0aXZl</PHRASE>
<PHRASE Label="la_Text_Adding" Module="Core" Type="1">QWRkaW5n</PHRASE>
<PHRASE Label="la_Text_Address" Module="Core" Type="1">QWRkcmVzcw==</PHRASE>
<PHRASE Label="la_text_address_denied" Module="Core" Type="1">TG9naW4gbm90IGFsbG93ZWQgZnJvbSB0aGlzIGFkZHJlc3M=</PHRASE>
<PHRASE Label="la_Text_Admin" Module="Core" Type="1">QWRtaW4=</PHRASE>
<PHRASE Label="la_Text_AdminEmail" Module="Core" Type="1">QWRtaW5pc3RyYXRvciBSZWNlaXZlIE5vdGljZXMgV2hlbg==</PHRASE>
<PHRASE Label="la_text_advanced" Module="Core" Type="1">QWR2YW5jZWQ=</PHRASE>
<PHRASE Label="la_Text_All" Module="Core" Type="1">QWxs</PHRASE>
<PHRASE Label="la_Text_Allow" Module="Core" Type="1">QWxsb3c=</PHRASE>
<PHRASE Label="la_Text_Any" Module="Core" Type="1">QW55</PHRASE>
<PHRASE Label="la_Text_Archived" Module="Core" Type="1">QXJjaGl2ZWQ=</PHRASE>
<PHRASE Label="la_Text_Article" Module="Core" Type="1">QXJ0aWNsZQ==</PHRASE>
<PHRASE Label="la_Text_Articles" Module="Core" Type="1">QXJ0aWNsZXM=</PHRASE>
<PHRASE Label="la_text_As" Module="Core" Type="1">YXM=</PHRASE>
<PHRASE Label="la_text_AutoRefresh" Module="Core" Type="1">QXV0by1SZWZyZXNo</PHRASE>
<PHRASE Label="la_Text_backing_up" Module="Core" Type="1">QmFja2luZyB1cA==</PHRASE>
<PHRASE Label="la_Text_BackupComplete" Module="Core" Type="1">QmFjayB1cCBoYXMgYmVlbiBjb21wbGV0ZWQuIFRoZSBiYWNrdXAgZmlsZSBpczo=</PHRASE>
<PHRASE Label="la_Text_backup_access" Module="Core" Type="2">SW4tUG9ydGFsIGRvZXMgbm90IGhhdmUgYWNjZXNzIHRvIHdyaXRlIHRvIHRoaXMgZGlyZWN0b3J5</PHRASE>
<PHRASE Label="la_Text_Backup_Info" Module="Core" Type="1">VGhpcyB1dGlsaXR5IGFsbG93cyB5b3UgdG8gYmFja3VwIHlvdXIgY3VycmVudCBkYXRhIGZyb20gSW4tUG9ydGFsIGRhdGFiYXNlLg==</PHRASE>
<PHRASE Label="la_text_Backup_in_progress" Module="Core" Type="1">QmFja3VwIGluIHByb2dyZXNz</PHRASE>
<PHRASE Label="la_Text_Ban" Module="Core" Type="1">QmFu</PHRASE>
<PHRASE Label="la_Text_BanRules" Module="Core" Type="2">VXNlciBCYW4gUnVsZXM=</PHRASE>
<PHRASE Label="la_Text_BanUserFields" Module="Core" Type="1">QmFuIFVzZXIgSW5mb3JtYXRpb24=</PHRASE>
<PHRASE Label="la_Text_Blank_Field" Module="Core" Type="1">QmxhbmsgdXNlcm5hbWUgb3IgcGFzc3dvcmQ=</PHRASE>
<PHRASE Label="la_Text_Both" Module="Core" Type="1">Qm90aA==</PHRASE>
<PHRASE Label="la_Text_BuiltIn" Module="Core" Type="1">QnVpbHQgSW4=</PHRASE>
<PHRASE Label="la_text_Bytes" Module="Core" Type="1">Ynl0ZXM=</PHRASE>
<PHRASE Label="la_Text_Catalog" Module="Core" Type="1">Q2F0YWxvZw==</PHRASE>
<PHRASE Label="la_Text_Categories" Module="Core" Type="1">Q2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="la_Text_Category" Module="Core" Type="1">Q2F0ZWdvcnk=</PHRASE>
<PHRASE Label="la_Text_Censorship" Module="Core" Type="1">Q2Vuc29yc2hpcA==</PHRASE>
<PHRASE Label="la_Text_City" Module="Core" Type="1">Q2l0eQ==</PHRASE>
<PHRASE Label="la_text_ClearClipboardWarning" Module="Core" Type="1">WW91IGFyZSBhYm91dCB0byBjbGVhciBjbGlwYm9hcmQgY29udGVudCENClByZXNzIE9LIHRvIGNvbnRpbnVlIG9yIENhbmNlbCB0byByZXR1cm4gdG8gcHJldmlvdXMgc2NyZWVuLg==</PHRASE>
<PHRASE Label="la_Text_ComingSoon" Module="Core" Type="1">U2VjdGlvbiBDb21pbmcgU29vbg==</PHRASE>
<PHRASE Label="la_Text_Complete" Module="Core" Type="1">Q29tcGxldGU=</PHRASE>
<PHRASE Label="la_Text_Configuration" Module="Core" Type="1">Q29uZmlndXJhdGlvbg==</PHRASE>
<PHRASE Label="la_text_Contains" Module="Core" Type="1">Q29udGFpbnM=</PHRASE>
<PHRASE Label="la_Text_Counters" Module="Core" Type="1">Q291bnRlcnM=</PHRASE>
<PHRASE Label="la_Text_Current" Module="Core" Type="1">Q3VycmVudA==</PHRASE>
<PHRASE Label="la_text_custom" Module="Core" Type="1">Q3VzdG9t</PHRASE>
<PHRASE Label="la_Text_CustomField" Module="Core" Type="1">Q3VzdG9tIEZpZWxk</PHRASE>
<PHRASE Label="la_Text_CustomFields" Module="Core" Type="1">Q3VzdG9tIEZpZWxkcw==</PHRASE>
<PHRASE Label="la_Text_DatabaseSettings" Module="Core" Type="1">RGF0YWJhc2UgU2V0dGluZ3MgLSBJbnRlY2huaWMgSW4tTGluayAyLng=</PHRASE>
<PHRASE Label="la_Text_DataType_1" Module="Core" Type="1">Y2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="la_Text_DataType_2" Module="Core" Type="1">RGF0YSBUeXBlIDI=</PHRASE>
<PHRASE Label="la_Text_DataType_3" Module="Core" Type="1">cG9zdA==</PHRASE>
<PHRASE Label="la_Text_DataType_4" Module="Core" Type="1">bGlua3M=</PHRASE>
<PHRASE Label="la_Text_DataType_6" Module="Core" Type="1">dXNlcnM=</PHRASE>
<PHRASE Label="la_Text_Date_Time_Settings" Module="Core" Type="1">RGF0ZS9UaW1lIFNldHRpbmdz</PHRASE>
<PHRASE Label="la_Text_Day" Module="Core" Type="1">RGF5</PHRASE>
<PHRASE Label="la_text_db_warning" Module="Core" Type="1">UnVubmluZyB0aGlzIHV0aWxpdHkgd2lsbCBhZmZlY3QgeW91ciBkYXRhYmFzZS4gIFBsZWFzZSBiZSBhZHZpc2VkIHRoYXQgeW91IGNhbiB1c2UgdGhpcyB1dGlsaXR5IGF0IHlvdXIgb3duIHJpc2suICBJbnRlY2huaWMgQ29ycG9yYXRpb24gY2FuIG5vdCBiZSBoZWxkIGxpYWJsZSBmb3IgYW55IGNvcnJ1cHQgZGF0YSBvciBkYXRhIGxvc3Mu</PHRASE>
<PHRASE Label="la_Text_Default" Module="Core" Type="1">RGVmYXVsdA==</PHRASE>
<PHRASE Label="la_Text_Delete" Module="Core" Type="1">RGVsZXRl</PHRASE>
<PHRASE Label="la_text_denied" Module="Core" Type="1">RGVuaWVk</PHRASE>
<PHRASE Label="la_Text_Deny" Module="Core" Type="1">RGVueQ==</PHRASE>
<PHRASE Label="la_Text_Disable" Module="Core" Type="1">RGlzYWJsZQ==</PHRASE>
<PHRASE Label="la_Text_Disabled" Module="Core" Type="1">RGlzYWJsZWQ=</PHRASE>
<PHRASE Label="la_text_disclaimer_part1" Module="Core" Type="1">UnVubmluZyB0aGlzIHV0aWxpdHkgd2lsbCBhZmZlY3QgeW91ciBkYXRhYmFzZS4gUGxlYXNlIGJlIGFkdmlzZWQgdGhhdCB5b3UgY2FuIHVzZSB0aGlzIHV0aWxpdHkgYXQgeW91ciBvd24gcmlzay4gSW50ZWNobmljIENvcnBvcmF0aW9uIGNhbiBub3QgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBjb3JydXB0IGRhdGEgb3IgZGF0YSBsb3NzLg==</PHRASE>
<PHRASE Label="la_text_disclaimer_part2" Module="Core" Type="1">UGxlYXNlIG1ha2Ugc3VyZSB0byBiYWNrIHVwIHlvdXIgZGF0YWJhc2UocykgYmVmb3JlIHJ1bm5pbmcgdGhpcyB1dGlsaXR5Lg==</PHRASE>
<PHRASE Label="la_Text_Edit" Module="Core" Type="1">RWRpdA==</PHRASE>
<PHRASE Label="la_Text_Editing" Module="Core" Type="1">RWRpdGluZw==</PHRASE>
<PHRASE Label="la_Text_Editor" Module="Core" Type="1">RWRpdG9y</PHRASE>
<PHRASE Label="la_Text_Email" Module="Core" Type="1">RW1haWw=</PHRASE>
<PHRASE Label="la_Text_Emoticons" Module="Core" Type="1">RW1vdGlvbiBJY29ucw==</PHRASE>
<PHRASE Label="la_Text_Enable" Module="Core" Type="1">RW5hYmxl</PHRASE>
<PHRASE Label="la_Text_Enabled" Module="Core" Type="1">RW5hYmxlZA==</PHRASE>
<PHRASE Label="la_Text_Events" Module="Core" Type="1">RXZlbnRz</PHRASE>
<PHRASE Label="la_Text_example" Module="Core" Type="2">RXhhbXBsZQ==</PHRASE>
<PHRASE Label="la_Text_Exists" Module="Core" Type="1">RXhpc3Rz</PHRASE>
<PHRASE Label="la_Text_Expired" Module="Core" Type="1">RXhwaXJlZA==</PHRASE>
<PHRASE Label="la_Text_Export" Module="Core" Type="2">RXhwb3J0</PHRASE>
<PHRASE Label="la_Text_Fields" Module="Core" Type="1">RmllbGRz</PHRASE>
<PHRASE Label="la_Text_Filter" Module="Core" Type="1">RmlsdGVy</PHRASE>
<PHRASE Label="la_Text_FirstName" Module="Core" Type="1">Rmlyc3QgTmFtZQ==</PHRASE>
<PHRASE Label="la_text_for" Module="Core" Type="1">Zm9y</PHRASE>
<PHRASE Label="la_Text_Front" Module="Core" Type="1">RnJvbnQ=</PHRASE>
<PHRASE Label="la_Text_FrontEnd" Module="Core" Type="1">RnJvbnQgRW5k</PHRASE>
<PHRASE Label="la_Text_FrontOnly" Module="Core" Type="1">RnJvbnQtZW5kIE9ubHk=</PHRASE>
<PHRASE Label="la_Text_Full" Module="Core" Type="1">RnVsbA==</PHRASE>
<PHRASE Label="la_Text_Full_Size_Image" Module="Core" Type="1">RnVsbCBTaXplIEltYWdl</PHRASE>
<PHRASE Label="la_Text_General" Module="Core" Type="1">R2VuZXJhbA==</PHRASE>
<PHRASE Label="la_Text_GreaterThan" Module="Core" Type="1">R3JlYXRlciBUaGFu</PHRASE>
<PHRASE Label="la_Text_Group" Module="Core" Type="1">R3JvdXA=</PHRASE>
<PHRASE Label="la_Text_Groups" Module="Core" Type="1">R3JvdXBz</PHRASE>
<PHRASE Label="la_Text_Group_Name" Module="Core" Type="1">R3JvdXAgTmFtZQ==</PHRASE>
<PHRASE Label="la_Text_Guest" Module="Core" Type="1">R3Vlc3Q=</PHRASE>
<PHRASE Label="la_Text_GuestUsers" Module="Core" Type="1">R3Vlc3QgVXNlcnM=</PHRASE>
<PHRASE Label="la_Text_Hot" Module="Core" Type="1">SG90</PHRASE>
<PHRASE Label="la_Text_Hour" Module="Core" Type="1">SG91cg==</PHRASE>
<PHRASE Label="la_Text_IAgree" Module="Core" Type="1">SSBhZ3JlZSB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnM=</PHRASE>
<PHRASE Label="la_Text_Image" Module="Core" Type="1">SW1hZ2U=</PHRASE>
<PHRASE Label="la_Text_Images" Module="Core" Type="1">SW1hZ2Vz</PHRASE>
<PHRASE Label="la_Text_Inactive" Module="Core" Type="1">SW5hY3RpdmU=</PHRASE>
<PHRASE Label="la_Text_InDevelopment" Module="Core" Type="1">SW4gRGV2ZWxvcG1lbnQ=</PHRASE>
<PHRASE Label="la_Text_Install" Module="Core" Type="1">SW5zdGFsbA==</PHRASE>
<PHRASE Label="la_Text_Installed" Module="Core" Type="1">SW5zdGFsbGVk</PHRASE>
<PHRASE Label="la_Text_Invalid" Module="Core" Type="2">SW52YWxpZA==</PHRASE>
<PHRASE Label="la_Text_Invert" Module="Core" Type="1">SW52ZXJ0</PHRASE>
<PHRASE Label="la_Text_IPAddress" Module="Core" Type="1">SVAgQWRkcmVzcw==</PHRASE>
<PHRASE Label="la_Text_Is" Module="Core" Type="1">SXM=</PHRASE>
<PHRASE Label="la_Text_IsNot" Module="Core" Type="1">SXMgTm90</PHRASE>
<PHRASE Label="la_Text_Items" Module="Core" Type="1">SXRlbXM=</PHRASE>
<PHRASE Label="la_text_keyword" Module="Core" Type="1">S2V5d29yZA==</PHRASE>
<PHRASE Label="la_Text_Label" Module="Core" Type="1">TGFiZWw=</PHRASE>
<PHRASE Label="la_Text_LangImport" Module="Core" Type="1">TGFuZ3VhZ2UgSW1wb3J0</PHRASE>
<PHRASE Label="la_Text_Languages" Module="Core" Type="2">TGFuZ3VhZ2U=</PHRASE>
<PHRASE Label="la_Text_LastName" Module="Core" Type="1">TGFzdCBOYW1l</PHRASE>
<PHRASE Label="la_text_leading" Module="Core" Type="1">TGVhZGluZw==</PHRASE>
<PHRASE Label="la_Text_LessThan" Module="Core" Type="1">TGVzcyBUaGFu</PHRASE>
<PHRASE Label="la_Text_Licence" Module="Core" Type="1">TGljZW5zZQ==</PHRASE>
<PHRASE Label="la_Text_Link" Module="Core" Type="1">TGluaw==</PHRASE>
<PHRASE Label="la_Text_Links" Module="Core" Type="1">TGlua3M=</PHRASE>
<PHRASE Label="la_Text_Link_Validation" Module="Core" Type="2">VmFsaWRhdGluZyBMaW5rcw==</PHRASE>
<PHRASE Label="la_Text_Local" Module="Core" Type="1">TG9jYWw=</PHRASE>
<PHRASE Label="la_Text_Locked" Module="Core" Type="1">TG9ja2Vk</PHRASE>
<PHRASE Label="la_Text_Login" Module="Core" Type="1">VXNlcm5hbWU=</PHRASE>
<PHRASE Label="la_Text_MailEvent" Module="Core" Type="1">RW1haWwgRXZlbnQ=</PHRASE>
<PHRASE Label="la_Text_MetaInfo" Module="Core" Type="1">RGVmYXVsdCBNRVRBIGtleXdvcmRz</PHRASE>
<PHRASE Label="la_text_minkeywordlength" Module="Core" Type="1">TWluaW11bSBrZXl3b3JkIGxlbmd0aA==</PHRASE>
<PHRASE Label="la_Text_Minute" Module="Core" Type="1">TWludXRl</PHRASE>
<PHRASE Label="la_text_min_password" Module="Core" Type="1">TWluaW11bSBwYXNzd29yZCBsZW5ndGg=</PHRASE>
<PHRASE Label="la_text_min_username" Module="Core" Type="1">TWluaW11bSB1c2VyIG5hbWUgbGVuZ3Ro</PHRASE>
<PHRASE Label="la_Text_Missing_Password" Module="Core" Type="1">QmxhbmsgcGFzc3dvcmRzIGFyZSBub3QgYWxsb3dlZA==</PHRASE>
<PHRASE Label="la_Text_Missing_Username" Module="Core" Type="1">QmxhbmsgdXNlciBuYW1l</PHRASE>
<PHRASE Label="la_Text_Modules" Module="Core" Type="1">TW9kdWxlcw==</PHRASE>
<PHRASE Label="la_Text_Month" Module="Core" Type="1">TW9udGhz</PHRASE>
<PHRASE Label="la_text_multipleshow" Module="Core" Type="1">U2hvdyBtdWx0aXBsZQ==</PHRASE>
<PHRASE Label="la_Text_New" Module="Core" Type="1">TmV3</PHRASE>
<PHRASE Label="la_Text_NewCensorWord" Module="Core" Type="1">TmV3IENlbnNvciBXb3Jk</PHRASE>
<PHRASE Label="la_Text_NewField" Module="Core" Type="1">TmV3IEZpZWxk</PHRASE>
<PHRASE Label="la_Text_NewTheme" Module="Core" Type="1">TmV3IFRoZW1l</PHRASE>
<PHRASE Label="la_text_NoCategories" Module="Core" Type="1">Tm8gQ2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="la_Text_None" Module="Core" Type="1">Tm9uZQ==</PHRASE>
<PHRASE Label="la_text_NoPermission" Module="Core" Type="1">Tm8gUGVybWlzc2lvbg==</PHRASE>
<PHRASE Label="la_text_nopermissions" Module="Core" Type="1">Tm8gcGVybWlzc2lvbnM=</PHRASE>
<PHRASE Label="la_Text_NotContains" Module="Core" Type="1">RG9lcyBOb3QgQ29udGFpbg==</PHRASE>
<PHRASE Label="la_Text_Not_Validated" Module="Core" Type="2">Tm90IFZhbGlkYXRlZA==</PHRASE>
<PHRASE Label="la_Text_No_permissions" Module="Core" Type="1">Tm8gcGVybWlzc2lvbnM=</PHRASE>
<PHRASE Label="la_Text_OneWay" Module="Core" Type="1">T25lIFdheQ==</PHRASE>
<PHRASE Label="la_Text_Pack" Module="Core" Type="1">UGFjaw==</PHRASE>
<PHRASE Label="la_Text_Pending" Module="Core" Type="1">UGVuZGluZw==</PHRASE>
<PHRASE Label="la_text_Permission" Module="Core" Type="1">UGVybWlzc2lvbg==</PHRASE>
<PHRASE Label="la_Text_Phone" Module="Core" Type="1">UGhvbmU=</PHRASE>
<PHRASE Label="la_Text_Pop" Module="Core" Type="1">UG9wdWxhcg==</PHRASE>
<PHRASE Label="la_text_popularity" Module="Core" Type="1">UG9wdWxhcml0eQ==</PHRASE>
<PHRASE Label="la_Text_PostBody" Module="Core" Type="1">UG9zdCBCb2R5</PHRASE>
<PHRASE Label="la_Text_Posts" Module="Core" Type="1">UG9zdHM=</PHRASE>
<PHRASE Label="la_text_prerequisit_not_passed" Module="Core" Type="1">UHJlcmVxdWlzaXRlIG5vdCBmdWxmaWxsZWQsIGluc3RhbGxhdGlvbiBjYW5ub3QgY29udGludWUh</PHRASE>
<PHRASE Label="la_Text_Primary" Module="Core" Type="1">UHJpbWFyeQ==</PHRASE>
<PHRASE Label="la_text_quicklinks" Module="Core" Type="1">UXVpY2sgbGlua3M=</PHRASE>
<PHRASE Label="la_text_ReadOnly" Module="Core" Type="1">UmVhZCBPbmx5</PHRASE>
<PHRASE Label="la_text_ready_to_install" Module="Core" Type="1">UmVhZHkgdG8gSW5zdGFsbA==</PHRASE>
<PHRASE Label="la_Text_Reciprocal" Module="Core" Type="1">UmVjaXByb2NhbA==</PHRASE>
<PHRASE Label="la_Text_Relation" Module="Core" Type="1">UmVsYXRpb24=</PHRASE>
<PHRASE Label="la_Text_Relations" Module="Core" Type="1">UmVsYXRpb25z</PHRASE>
<PHRASE Label="la_Text_Replies" Module="Core" Type="1">UmVwbGllcw==</PHRASE>
<PHRASE Label="la_text_RequiredFields" Module="Core" Type="1">UmVxdWlyZWQgZmllbGRz</PHRASE>
<PHRASE Label="la_text_restore warning" Module="Core" Type="1">VGhlIHZlcnNpb25zIG9mIHRoZSBiYWNrdXAgYW5kIHlvdXIgY29kZSBkb24ndCBtYXRjaC4gWW91ciBpbnN0YWxsYXRpb24gd2lsbCBwcm9iYWJseSBiZSBub24gb3BlcmF0aW9uYWwu</PHRASE>
<PHRASE Label="la_Text_Restore_Heading" Module="Core" Type="1">SGVyZSB5b3UgY2FuIHJlc3RvcmUgeW91ciBkYXRhYmFzZSBmcm9tIGEgcHJldmlvdXNseSBiYWNrZWQgdXAgc25hcHNob3QuIFJlc3RvcmluZyB5b3VyIGRhdGFiYXNlIHdpbGwgZGVsZXRlIGFsbCBvZiB5b3VyIGN1cnJlbnQgZGF0YSBhbmQgbG9nIHlvdSBvdXQgb2YgdGhlIHN5c3RlbS4=</PHRASE>
<PHRASE Label="la_text_Restore_in_progress" Module="Core" Type="1">UmVzdG9yZSBpcyBpbiBwcm9ncmVzcw==</PHRASE>
<PHRASE Label="la_Text_Restore_Warning" Module="Core" Type="1">IFJ1bm5pbmcgdGhpcyB1dGlsaXR5IHdpbGwgYWZmZWN0IHlvdXIgZGF0YWJhc2UuICBQbGVhc2UgYmUgYWR2aXNlZCB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgdXRpbGl0eSBhdCB5b3VyIG93biByaXNrLiAgSW50ZWNobmljIGNvcnBvcmF0aW9uIGNhbiBub3QgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBjb3JydXB0IGRhdGEgb3IgZGF0YSBsb3NzLiAgUGxlYXNlIG1ha2Ugc3VyZSB0byBiYWNrIHVwIHlvdXIgZGF0YWJhc2UocykgYmVmb3JlIHJ1bm5p</PHRASE>
<PHRASE Label="la_Text_Restrictions" Module="Core" Type="1">UmVzdHJpY3Rpb25z</PHRASE>
<PHRASE Label="la_Text_Results" Module="Core" Type="2">UmVzdWx0cw==</PHRASE>
<PHRASE Label="la_text_review" Module="Core" Type="1">UmV2aWV3</PHRASE>
<PHRASE Label="la_Text_Reviews" Module="Core" Type="1">UmV2aWV3cw==</PHRASE>
<PHRASE Label="la_Text_Root" Module="Core" Type="1">Um9vdA==</PHRASE>
<PHRASE Label="la_Text_RootCategory" Module="Core" Type="1">TW9kdWxlIFJvb3QgQ2F0ZWdvcnk=</PHRASE>
<PHRASE Label="la_text_Rows" Module="Core" Type="1">cm93KHMp</PHRASE>
<PHRASE Label="la_Text_Rule" Module="Core" Type="2">UnVsZQ==</PHRASE>
<PHRASE Label="la_text_Same" Module="Core" Type="1">U2FtZQ==</PHRASE>
<PHRASE Label="la_text_Same_As_Thumbnail" Module="Core" Type="1">U2FtZSBhcyB0aHVtYm5haWw=</PHRASE>
<PHRASE Label="la_text_Save" Module="Core" Type="1">U2F2ZQ==</PHRASE>
<PHRASE Label="la_Text_Scanning" Module="Core" Type="1">U2Nhbm5pbmc=</PHRASE>
<PHRASE Label="la_Text_Search_Results" Module="Core" Type="1">U2VhcmNoIFJlc3VsdHM=</PHRASE>
<PHRASE Label="la_Text_Second" Module="Core" Type="1">U2Vjb25kcw==</PHRASE>
<PHRASE Label="la_Text_Select" Module="Core" Type="1">U2VsZWN0</PHRASE>
<PHRASE Label="la_Text_Send" Module="Core" Type="1">U2VuZA==</PHRASE>
<PHRASE Label="la_Text_Sessions" Module="Core" Type="1">U2Vzc2lvbnM=</PHRASE>
<PHRASE Label="la_text_sess_expired" Module="Core" Type="0">U2Vzc2lvbiBFeHBpcmVk</PHRASE>
<PHRASE Label="la_Text_Settings" Module="Core" Type="1">U2V0dGluZ3M=</PHRASE>
<PHRASE Label="la_Text_ShowingGroups" Module="Core" Type="1">U2hvd2luZyBHcm91cHM=</PHRASE>
<PHRASE Label="la_Text_ShowingUsers" Module="Core" Type="1">U2hvd2luZyBVc2Vycw==</PHRASE>
<PHRASE Label="la_Text_Simple" Module="Core" Type="1">U2ltcGxl</PHRASE>
<PHRASE Label="la_Text_Size" Module="Core" Type="1">U2l6ZQ==</PHRASE>
<PHRASE Label="la_Text_Smiley" Module="Core" Type="1">U21pbGV5</PHRASE>
<PHRASE Label="la_Text_Sort" Module="Core" Type="1">U29ydA==</PHRASE>
<PHRASE Label="la_Text_State" Module="Core" Type="1">U3RhdGU=</PHRASE>
<PHRASE Label="la_Text_Step" Module="Core" Type="1">U3RlcA==</PHRASE>
<PHRASE Label="la_Text_SubCats" Module="Core" Type="1">U3ViQ2F0cw==</PHRASE>
<PHRASE Label="la_Text_Subitems" Module="Core" Type="1">U3ViSXRlbXM=</PHRASE>
<PHRASE Label="la_Text_Table" Module="Core" Type="1">VGFibGU=</PHRASE>
<PHRASE Label="la_Text_Template" Module="Core" Type="1">VGVtcGxhdGU=</PHRASE>
<PHRASE Label="la_Text_Templates" Module="Core" Type="1">VGVtcGxhdGVz</PHRASE>
<PHRASE Label="la_Text_Theme" Module="Core" Type="1">VGhlbWU=</PHRASE>
<PHRASE Label="la_text_Thumbnail" Module="Core" Type="1">VGh1bWJuYWls</PHRASE>
<PHRASE Label="la_text_Thumbnail_Image" Module="Core" Type="1">VGh1bWJuYWlsIEltYWdl</PHRASE>
<PHRASE Label="la_Text_to" Module="Core" Type="1">dG8=</PHRASE>
<PHRASE Label="la_Text_Topic" Module="Core" Type="1">VG9waWM=</PHRASE>
<PHRASE Label="la_Text_Topics" Module="Core" Type="1">VG9waWNz</PHRASE>
<PHRASE Label="la_Text_Type" Module="Core" Type="1">VHlwZQ==</PHRASE>
<PHRASE Label="la_text_types" Module="Core" Type="1">dHlwZXM=</PHRASE>
<PHRASE Label="la_Text_Unique" Module="Core" Type="1">SXMgVW5pcXVl</PHRASE>
<PHRASE Label="la_Text_Unselect" Module="Core" Type="1">VW5zZWxlY3Q=</PHRASE>
<PHRASE Label="la_Text_Update_Licence" Module="Core" Type="1">VXBkYXRlIExpY2Vuc2U=</PHRASE>
<PHRASE Label="la_text_upgrade_disclaimer" Module="Core" Type="1">WW91ciBkYXRhIHdpbGwgYmUgbW9kaWZpZWQgZHVyaW5nIHRoZSB1cGdyYWRlLiBXZSBzdHJvbmdseSByZWNvbW1lbmQgdGhhdCB5b3UgbWFrZSBhIGJhY2t1cCBvZiB5b3VyIGRhdGFiYXNlLiBQcm9jZWVkIHdpdGggdGhlIHVwZ3JhZGU/</PHRASE>
<PHRASE Label="la_Text_Upload" Module="Core" Type="1">VXBsb2Fk</PHRASE>
<PHRASE Label="la_Text_User" Module="Core" Type="1">VXNlcg==</PHRASE>
<PHRASE Label="la_Text_UserEmail" Module="Core" Type="1">VXNlciBSZWNlaXZlcyBOb3RpY2VzIFdoZW4=</PHRASE>
<PHRASE Label="la_Text_Users" Module="Core" Type="1">VXNlcnM=</PHRASE>
<PHRASE Label="la_Text_User_Count" Module="Core" Type="1">VXNlciBDb3VudA==</PHRASE>
<PHRASE Label="la_Text_Valid" Module="Core" Type="1">VmFsaWQ=</PHRASE>
<PHRASE Label="la_Text_Version" Module="Core" Type="1">VmVyc2lvbg==</PHRASE>
<PHRASE Label="la_Text_View" Module="Core" Type="1">Vmlldw==</PHRASE>
<PHRASE Label="la_Text_Views" Module="Core" Type="1">Vmlld3M=</PHRASE>
<PHRASE Label="la_Text_Week" Module="Core" Type="1">V2Vla3M=</PHRASE>
<PHRASE Label="la_Text_Within" Module="Core" Type="1">V2l0aGlu</PHRASE>
<PHRASE Label="la_Text_Year" Module="Core" Type="1">WWVhcnM=</PHRASE>
<PHRASE Label="la_Text_Zip" Module="Core" Type="1">Wmlw</PHRASE>
<PHRASE Label="la_title_AddingAgent" Module="Core" Type="1">QWRkaW5nIEFnZW50</PHRASE>
<PHRASE Label="la_title_AddingBanRule" Module="Core" Type="1">QWRkaW5nIEJhbiBSdWxl</PHRASE>
<PHRASE Label="la_title_addingCustom" Module="Core" Type="1">QWRkaW5nIEN1c3RvbSBGaWVsZA==</PHRASE>
<PHRASE Label="la_title_AddingFile" Module="Core" Type="1">QWRkaW5nIEZpbGU=</PHRASE>
<PHRASE Label="la_title_AddingMailingList" Module="Core" Type="1">QWRkaW5nIE1haWxpbmcgTGlzdA==</PHRASE>
<PHRASE Label="la_title_AddingSkin" Module="Core" Type="1">QWRkaW5nIFNraW4=</PHRASE>
<PHRASE Label="la_title_AddingSpellingDictionary" Module="Core" Type="1">QWRkaW5nIFNwZWxsaW5nIERpY3Rpb25hcnk=</PHRASE>
<PHRASE Label="la_title_AddingStopWord" Module="Core" Type="1">QWRkaW5nIFN0b3AgV29yZA==</PHRASE>
<PHRASE Label="la_title_AddingThesaurus" Module="Core" Type="1">QWRkaW5nIFRoZXNhdXJ1cw==</PHRASE>
<PHRASE Label="la_title_Adding_BaseStyle" Module="Core" Type="1">QWRkaW5nIEJhc2UgU3R5bGU=</PHRASE>
<PHRASE Label="la_title_Adding_BlockStyle" Module="Core" Type="1">QWRkaW5nIEJsb2NrIFN0eWxl</PHRASE>
<PHRASE Label="la_title_Adding_Category" Module="Core" Type="1">QWRkaW5nIENhdGVnb3J5</PHRASE>
<PHRASE Label="la_title_Adding_Content" Module="Core" Type="1">QWRkaW5nIENNUyBCbG9jaw==</PHRASE>
<PHRASE Label="la_title_Adding_Form" Module="Core" Type="1">QWRkaW5nIEZvcm0=</PHRASE>
<PHRASE Label="la_title_Adding_FormField" Module="Core" Type="1">QWRkaW5nIEZvcm0gRmllbGQ=</PHRASE>
<PHRASE Label="la_title_Adding_Group" Module="Core" Type="1">QWRkaW5nIEdyb3Vw</PHRASE>
<PHRASE Label="la_title_Adding_Image" Module="Core" Type="1">QWRkaW5nIEltYWdl</PHRASE>
<PHRASE Label="la_title_Adding_Language" Module="Core" Type="1">QWRkaW5nIExhbmd1YWdl</PHRASE>
<PHRASE Label="la_title_Adding_Page" Module="Core" Type="1">QWRkaW5nIFBhZ2U=</PHRASE>
<PHRASE Label="la_title_Adding_Phrase" Module="Core" Type="1">QWRkaW5nIFBocmFzZQ==</PHRASE>
<PHRASE Label="la_title_Adding_RelatedSearch_Keyword" Module="Core" Type="1">QWRkaW5nIEtleXdvcmQ=</PHRASE>
<PHRASE Label="la_title_Adding_Relationship" Module="Core" Type="1">QWRkaW5nIFJlbGF0aW9uc2hpcA==</PHRASE>
<PHRASE Label="la_title_Adding_Review" Module="Core" Type="1">QWRkaW5nIFJldmlldw==</PHRASE>
<PHRASE Label="la_title_Adding_Stylesheet" Module="Core" Type="1">QWRkaW5nIFN0eWxlc2hlZXQ=</PHRASE>
<PHRASE Label="la_title_Adding_Theme" Module="Core" Type="1">QWRkaW5nIFRoZW1l</PHRASE>
<PHRASE Label="la_title_Adding_User" Module="Core" Type="1">QWRkaW5nIFVzZXI=</PHRASE>
<PHRASE Label="la_title_AdditionalPermissions" Module="Core" Type="1">QWRkaXRpb25hbCBQZXJtaXNzaW9ucw==</PHRASE>
<PHRASE Label="la_title_Add_Module" Module="Core" Type="1">QWRkIE1vZHVsZQ==</PHRASE>
<PHRASE Label="la_title_Administrators" Module="Core" Type="1">QWRtaW5pc3RyYXRvcnM=</PHRASE>
<PHRASE Label="la_title_Advanced" Module="Core" Type="1">QWR2YW5jZWQ=</PHRASE>
<PHRASE Label="la_title_AdvancedView" Module="Core" Type="1">QWR2YW5jZWQgVmlldw==</PHRASE>
<PHRASE Label="la_title_Agents" Module="Core" Type="1">QWdlbnRz</PHRASE>
<PHRASE Label="la_title_Backup" Module="Core" Type="1">QmFja3Vw</PHRASE>
<PHRASE Label="la_title_BaseStyles" Module="Core" Type="1">QmFzZSBTdHlsZXM=</PHRASE>
<PHRASE Label="la_title_BlockStyles" Module="Core" Type="1">QmxvY2sgU3R5bGVz</PHRASE>
<PHRASE Label="la_title_Browse" Module="Core" Type="1">Q2F0YWxvZw==</PHRASE>
<PHRASE Label="la_title_Categories" Module="Core" Type="1">Q2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="la_title_category_relationselect" Module="Core" Type="1">U2VsZWN0IHJlbGF0aW9u</PHRASE>
<PHRASE Label="la_title_category_select" Module="Core" Type="1">U2VsZWN0IGNhdGVnb3J5</PHRASE>
<PHRASE Label="la_title_Censorship" Module="Core" Type="1">Q2Vuc29yc2hpcA==</PHRASE>
<PHRASE Label="la_title_ColumnPicker" Module="Core" Type="1">Q29sdW1uIFBpY2tlcg==</PHRASE>
<PHRASE Label="la_title_Community" Module="Core" Type="1">Q29tbXVuaXR5</PHRASE>
<PHRASE Label="la_title_Configuration" Module="Core" Type="1">Q29uZmlndXJhdGlvbg==</PHRASE>
<PHRASE Label="la_Title_ContactInformation" Module="Core" Type="1">Q29udGFjdCBJbmZvcm1hdGlvbg==</PHRASE>
<PHRASE Label="la_title_CouponSelector" Module="Core" Type="1">Q291cG9uIFNlbGVjdG9y</PHRASE>
<PHRASE Label="la_title_Custom" Module="Core" Type="1">Q3VzdG9t</PHRASE>
<PHRASE Label="la_title_CustomFields" Module="Core" Type="1">Q3VzdG9tIEZpZWxkcw==</PHRASE>
<PHRASE Label="la_title_Done" Module="Core" Type="1">RG9uZQ==</PHRASE>
<PHRASE Label="la_title_EditingAgent" Module="Core" Type="1">RWRpdGluZyBBZ2VudA==</PHRASE>
<PHRASE Label="la_title_EditingBanRule" Module="Core" Type="1">RWRpdGluZyBCYW4gUnVsZQ==</PHRASE>
+ <PHRASE Label="la_title_EditingChangeLog" Module="Core" Type="1">RWRpdGluZyBDaGFuZ2VzIExvZw==</PHRASE>
<PHRASE Label="la_title_EditingEmailEvent" Module="Core" Type="1">RWRpdGluZyBFbWFpbCBFdmVudA==</PHRASE>
<PHRASE Label="la_title_EditingFile" Module="Core" Type="1">RWRpdGluZyBGaWxl</PHRASE>
<PHRASE Label="la_title_EditingGroup" Module="Core" Type="1">RWRpdGluZyBHcm91cA==</PHRASE>
<PHRASE Label="la_title_EditingMembership" Module="Core" Type="1">RWRpdGluZyBNZW1iZXJzaGlw</PHRASE>
<PHRASE Label="la_title_EditingSkin" Module="Core" Type="1">RWRpdGluZyBTa2lu</PHRASE>
<PHRASE Label="la_title_EditingSpellingDictionary" Module="Core" Type="1">RWRpdGluZyBTcGVsbGluZyBEaWN0aW9uYXJ5</PHRASE>
<PHRASE Label="la_title_EditingStopWord" Module="Core" Type="1">RWRpdGluZyBTdG9wIFdvcmQ=</PHRASE>
<PHRASE Label="la_title_EditingStyle" Module="Core" Type="1">RWRpdGluZyBTdHlsZQ==</PHRASE>
<PHRASE Label="la_title_EditingThemeFile" Module="Core" Type="1">RWRpdGluZyBUaGVtZSBGaWxl</PHRASE>
<PHRASE Label="la_title_EditingThesaurus" Module="Core" Type="1">RWRpdGluZyBUaGVzYXVydXM=</PHRASE>
<PHRASE Label="la_title_EditingTranslation" Module="Core" Type="1">RWRpdGluZyBUcmFuc2xhdGlvbg==</PHRASE>
<PHRASE Label="la_title_Editing_BaseStyle" Module="Core" Type="1">RWRpdGluZyBCYXNlIFN0eWxl</PHRASE>
<PHRASE Label="la_title_Editing_BlockStyle" Module="Core" Type="1">RWRpdGluZyBCbG9jayBTdHlsZQ==</PHRASE>
<PHRASE Label="la_title_Editing_Category" Module="Core" Type="1">RWRpdGluZyBDYXRlZ29yeQ==</PHRASE>
<PHRASE Label="la_title_Editing_Content" Module="Core" Type="1">RWRpdGluZyBDTVMgQmxvY2s=</PHRASE>
<PHRASE Label="la_title_Editing_CustomField" Module="Core" Type="1">RWRpdGluZyBDdXN0b20gRmllbGQ=</PHRASE>
<PHRASE Label="la_title_Editing_E-mail" Module="Core" Type="1">RWRpdGluZyBFLW1haWw=</PHRASE>
<PHRASE Label="la_title_Editing_Form" Module="Core" Type="1">RWRpdGluZyBGb3Jt</PHRASE>
<PHRASE Label="la_title_Editing_FormField" Module="Core" Type="1">RWRpdGluZyBGb3JtIEZpZWxk</PHRASE>
<PHRASE Label="la_title_Editing_Group" Module="Core" Type="1">RWRpdGluZyBHcm91cA==</PHRASE>
<PHRASE Label="la_title_Editing_Image" Module="Core" Type="1">RWRpdGluZyBJbWFnZQ==</PHRASE>
<PHRASE Label="la_title_Editing_Language" Module="Core" Type="1">RWRpdGluZyBMYW5ndWFnZQ==</PHRASE>
<PHRASE Label="la_title_Editing_Page" Module="Core" Type="1">RWRpdGluZyBQYWdl</PHRASE>
<PHRASE Label="la_title_Editing_Phrase" Module="Core" Type="1">RWRpdGluZyBQaHJhc2U=</PHRASE>
<PHRASE Label="la_title_Editing_RelatedSearch_Keyword" Module="Core" Type="1">RWRpdGluZyBLZXl3b3Jk</PHRASE>
<PHRASE Label="la_title_Editing_RelatedSerch_Keyword" Module="Core" Type="1">S2V5d29yZA==</PHRASE>
<PHRASE Label="la_title_Editing_Relationship" Module="Core" Type="1">RWRpdGluZyBSZWxhdGlvbnNoaXA=</PHRASE>
<PHRASE Label="la_title_Editing_Review" Module="Core" Type="1">RWRpdGluZyBSZXZpZXc=</PHRASE>
<PHRASE Label="la_title_Editing_Stylesheet" Module="Core" Type="1">RWRpdGluZyBTdHlsZXNoZWV0</PHRASE>
<PHRASE Label="la_title_Editing_Theme" Module="Core" Type="1">RWRpdGluZyBUaGVtZQ==</PHRASE>
<PHRASE Label="la_title_Editing_User" Module="Core" Type="1">RWRpdGluZyBVc2Vy</PHRASE>
<PHRASE Label="la_title_Edit_Article" Module="Core" Type="1">U2l0ZSBTdHJ1Y3R1cmU=</PHRASE>
<PHRASE Label="la_title_edit_category" Module="Core" Type="1">RWRpdCBDYXRlZ29yeQ==</PHRASE>
<PHRASE Label="la_title_Edit_Group" Module="Core" Type="1">RWRpdCBHcm91cA==</PHRASE>
<PHRASE Label="la_title_Edit_Link" Module="Core" Type="1">U2l0ZSBTdHJ1Y3R1cmU=</PHRASE>
<PHRASE Label="la_title_Edit_Topic" Module="Core" Type="1">U2l0ZSBTdHJ1Y3R1cmU=</PHRASE>
<PHRASE Label="la_title_Edit_User" Module="Core" Type="1">RWRpdCBVc2Vy</PHRASE>
<PHRASE Label="la_title_EmailEvents" Module="Core" Type="1">RS1tYWlsIEV2ZW50cw==</PHRASE>
<PHRASE Label="la_title_EmailMessages" Module="Core" Type="1">RS1tYWlscw==</PHRASE>
<PHRASE Label="la_title_EmailSettings" Module="Core" Type="1">RS1tYWlsIFNldHRpbmdz</PHRASE>
<PHRASE Label="la_title_ExportData" Module="Core" Type="1">RXhwb3J0IERhdGE=</PHRASE>
<PHRASE Label="la_title_ExportLanguagePack" Module="Core" Type="1">RXhwb3J0IExhbmd1YWdlIFBhY2s=</PHRASE>
<PHRASE Label="la_title_ExportLanguagePackResults" Module="Core" Type="1">RXhwb3J0IExhbmd1YWdlIFBhY2sgLSBSZXN1bHRz</PHRASE>
<PHRASE Label="la_title_ExportLanguagePackStep1" Module="Core" Type="1">RXhwb3J0IExhbmd1YWdlIFBhY2sgLSBTdGVwMQ==</PHRASE>
<PHRASE Label="la_title_Fields" Module="Core" Type="1">RmllbGRz</PHRASE>
<PHRASE Label="la_title_Files" Module="Core" Type="1">RmlsZXM=</PHRASE>
<PHRASE Label="la_title_Forms" Module="Core" Type="1">Rm9ybXM=</PHRASE>
<PHRASE Label="la_title_FormSubmissions" Module="Core" Type="1">Rm9ybSBTdWJtaXNzaW9ucw==</PHRASE>
<PHRASE Label="la_title_General" Module="Core" Type="1">R2VuZXJhbA==</PHRASE>
<PHRASE Label="la_title_General_Configuration" Module="Core" Type="1">R2VuZXJhbCBDb25maWd1cmF0aW9u</PHRASE>
<PHRASE Label="la_title_Groups" Module="Core" Type="1">R3JvdXBz</PHRASE>
<PHRASE Label="la_title_groupselect" Module="Core" Type="1">U2VsZWN0IGdyb3Vw</PHRASE>
<PHRASE Label="la_title_Help" Module="Core" Type="1">SGVscA==</PHRASE>
<PHRASE Label="la_title_Images" Module="Core" Type="1">SW1hZ2Vz</PHRASE>
<PHRASE Label="la_title_ImportData" Module="Core" Type="1">SW1wb3J0IERhdGE=</PHRASE>
<PHRASE Label="la_title_ImportLanguagePack" Module="Core" Type="1">SW1wb3J0IExhbmd1YWdlIFBhY2s=</PHRASE>
<PHRASE Label="la_title_In-Edit" Module="Core" Type="1">SW4tZWRpdA==</PHRASE>
<PHRASE Label="la_title_Install" Module="Core" Type="1">SW5zdGFsbGF0aW9uIEhlbHA=</PHRASE>
<PHRASE Label="la_title_InstallLanguagePackStep1" Module="Core" Type="1">SW5zdGFsbCBMYW5ndWFnZSBQYWNrIC0gU3RlcCAx</PHRASE>
<PHRASE Label="la_title_InstallLanguagePackStep2" Module="Core" Type="1">SW5zdGFsbCBMYW5ndWFnZSBQYWNrIC0gU3RlcCAy</PHRASE>
<PHRASE Label="la_title_Items" Module="Core" Type="1">SXRlbXM=</PHRASE>
<PHRASE Label="la_title_label" Module="Core" Type="1">TGFiZWw=</PHRASE>
<PHRASE Label="la_title_Labels" Module="Core" Type="1">TGFiZWxz</PHRASE>
<PHRASE Label="la_title_LangManagement" Module="Core" Type="1">TGFuZy4gTWFuYWdlbWVudA==</PHRASE>
<PHRASE Label="la_Title_LanguageImport" Module="Core" Type="1">SW5zdGFsbCBMYW5ndWFnZSBQYWNr</PHRASE>
<PHRASE Label="la_title_LanguagePacks" Module="Core" Type="1">TGFuZ3VhZ2UgUGFja3M=</PHRASE>
<PHRASE Label="la_title_LanguagesManagement" Module="Core" Type="1">TGFuZ3VhZ2VzIE1hbmFnZW1lbnQ=</PHRASE>
<PHRASE Label="la_title_Loading" Module="Core" Type="1">TG9hZGluZyAuLi4=</PHRASE>
<PHRASE Label="la_title_MailingLists" Module="Core" Type="1">TWFpbGluZyBMaXN0cw==</PHRASE>
<PHRASE Label="la_title_Module_Status" Module="Core" Type="1">TW9kdWxlIFN0YXR1cw==</PHRASE>
<PHRASE Label="la_title_NewAgent" Module="Core" Type="1">TmV3IEFnZW50</PHRASE>
<PHRASE Label="la_title_NewCustomField" Module="Core" Type="1">TmV3IEN1c3RvbSBGaWVsZA==</PHRASE>
<PHRASE Label="la_title_NewFile" Module="Core" Type="1">TmV3IEZpbGU=</PHRASE>
<PHRASE Label="la_title_NewTheme" Module="Core" Type="1">TmV3IFRoZW1l</PHRASE>
<PHRASE Label="la_title_New_BaseStyle" Module="Core" Type="1">TmV3IEJhc2UgU3R5bGU=</PHRASE>
<PHRASE Label="la_title_New_BlockStyle" Module="Core" Type="1">TmV3IEJsb2NrIFN0eWxl</PHRASE>
<PHRASE Label="la_title_New_Category" Module="Core" Type="1">TmV3IENhdGVnb3J5</PHRASE>
<PHRASE Label="la_title_New_Form" Module="Core" Type="1">TmV3IEZvcm0=</PHRASE>
<PHRASE Label="la_title_New_FormField" Module="Core" Type="1">TmV3IEZvcm0gRmllbGQ=</PHRASE>
<PHRASE Label="la_title_New_Group" Module="Core" Type="1">TmV3IEdyb3Vw</PHRASE>
<PHRASE Label="la_title_New_Image" Module="Core" Type="1">TmV3IEltYWdl</PHRASE>
<PHRASE Label="la_title_New_Language" Module="Core" Type="1">TmV3IExhbmd1YWdl</PHRASE>
<PHRASE Label="la_title_New_Page" Module="Core" Type="1">TmV3IFBhZ2U=</PHRASE>
<PHRASE Label="la_title_New_Phrase" Module="Core" Type="1">TmV3IFBocmFzZQ==</PHRASE>
<PHRASE Label="la_title_New_Relationship" Module="Core" Type="1">TmV3IFJlbGF0aW9uc2hpcA==</PHRASE>
<PHRASE Label="la_title_New_Review" Module="Core" Type="1">TmV3IFJldmlldw==</PHRASE>
<PHRASE Label="la_title_New_Stylesheet" Module="Core" Type="1">TmV3IFN0eWxlc2hlZXQ=</PHRASE>
<PHRASE Label="la_title_New_User" Module="Core" Type="1">TmV3IFVzZXI=</PHRASE>
<PHRASE Label="la_title_NoPermissions" Module="Core" Type="1">Tm8gUGVybWlzc2lvbnM=</PHRASE>
<PHRASE Label="la_title_OtherSettings" Module="Core" Type="1">T3RoZXIgU2V0dGluZ3M=</PHRASE>
<PHRASE Label="la_title_Permissions" Module="Core" Type="1">UGVybWlzc2lvbnM=</PHRASE>
<PHRASE Label="la_title_Phrases" Module="Core" Type="1">VHJhbnNsYXRpb25z</PHRASE>
<PHRASE Label="la_Title_PleaseWait" Module="Core" Type="1">UGxlYXNlIFdhaXQ=</PHRASE>
<PHRASE Label="la_title_Properties" Module="Core" Type="1">UHJvcGVydGllcw==</PHRASE>
<PHRASE Label="la_title_Regional" Module="Core" Type="1">UmVnaW9uYWw=</PHRASE>
<PHRASE Label="la_title_RegionalSettings" Module="Core" Type="1">UmVnaW9uYWwgU2V0dGluZ3M=</PHRASE>
<PHRASE Label="la_title_RelatedSearches" Module="Core" Type="1">UmVsYXRlZCBTZWFyY2hlcw==</PHRASE>
<PHRASE Label="la_title_Relations" Module="Core" Type="1">UmVsYXRpb25z</PHRASE>
<PHRASE Label="la_title_Reports" Module="Core" Type="1">UmVwb3J0cyAmIExvZ3M=</PHRASE>
<PHRASE Label="la_title_Restore" Module="Core" Type="1">UmVzdG9yZQ==</PHRASE>
<PHRASE Label="la_title_reviews" Module="Core" Type="1">UmV2aWV3cw==</PHRASE>
<PHRASE Label="la_title_SearchLog" Module="Core" Type="1">U2VhcmNoIExvZw==</PHRASE>
<PHRASE Label="la_title_searchresults" Module="Core" Type="1">U2VhcmNoIFJlc3VsdHM=</PHRASE>
<PHRASE Label="la_title_SelectGroup" Module="Core" Type="1">U2VsZWN0IEdyb3VwKHMp</PHRASE>
<PHRASE Label="la_title_SelectUser" Module="Core" Type="1">U2VsZWN0IFVzZXI=</PHRASE>
<PHRASE Label="la_title_select_item" Module="Core" Type="1">U2VsZWN0IGl0ZW0=</PHRASE>
<PHRASE Label="la_title_select_target_item" Module="Core" Type="1">U2VsZWN0IGl0ZW0=</PHRASE>
<PHRASE Label="LA_TITLE_SENDEMAIL" Module="Core" Type="1">U2VuZCBFLW1haWw=</PHRASE>
<PHRASE Label="LA_TITLE_SENDINGPREPAREDEMAILS" Module="Core" Type="1">U2VuZGluZyBQcmVwYXJlZCBFLW1haWxz</PHRASE>
<PHRASE Label="la_Title_SendInit" Module="Core" Type="1">UHJlcGFyaW5nIHRvIFNlbmQgTWFpbA==</PHRASE>
<PHRASE Label="la_title_sendmail" Module="Core" Type="1">U2VuZCBlbWFpbA==</PHRASE>
<PHRASE Label="la_title_sendmailcancel" Module="Core" Type="1">Q2FuY2VsIHNlbmRpbmcgbWFpbA==</PHRASE>
<PHRASE Label="la_Title_SendMailComplete" Module="Core" Type="1">TWFpbCBoYXMgYmVlbiBzZW50IFN1Y2Nlc3NmdWxseQ==</PHRASE>
<PHRASE Label="la_Title_SendMailInit" Module="Core" Type="1">UHJlcGFyaW5nIHRvIFNlbmQgTWVzc2FnZXM=</PHRASE>
<PHRASE Label="la_Title_SendMailProgress" Module="Core" Type="1">U2VuZGluZyBNZXNzYWdlLi4=</PHRASE>
<PHRASE Label="la_title_SessionLog" Module="Core" Type="1">U2Vzc2lvbiBMb2c=</PHRASE>
<PHRASE Label="la_title_Settings" Module="Core" Type="1">TW9kdWxlcyAmIFNldHRpbmdz</PHRASE>
<PHRASE Label="la_title_Site_Structure" Module="Core" Type="1">V2Vic2l0ZSAmIENvbnRlbnQ=</PHRASE>
<PHRASE Label="la_title_SpellingDictionary" Module="Core" Type="1">U3BlbGxpbmcgRGljdGlvbmFyeQ==</PHRASE>
<PHRASE Label="la_title_StopWords" Module="Core" Type="1">U3RvcCBXb3Jkcw==</PHRASE>
<PHRASE Label="la_title_Structure" Module="Core" Type="1">U3RydWN0dXJlICYgRGF0YQ==</PHRASE>
<PHRASE Label="la_title_Stylesheets" Module="Core" Type="1">U3R5bGVzaGVldHM=</PHRASE>
<PHRASE Label="la_title_Summary" Module="Core" Type="1">U3VtbWFyeQ==</PHRASE>
<PHRASE Label="la_title_SystemTools" Module="Core" Type="1">U3lzdGVtIFRvb2xz</PHRASE>
<PHRASE Label="la_title_SystemVariables" Module="Core" Type="1">U3lzdGVtIFZhcmlhYmxlcw==</PHRASE>
<PHRASE Label="la_title_Sys_Config" Module="Core" Type="1">Q29uZmlndXJhdGlvbg==</PHRASE>
<PHRASE Label="la_title_ThemeFiles" Module="Core" Type="1">VGhlbWUgRmlsZXM=</PHRASE>
<PHRASE Label="la_title_Themes" Module="Core" Type="1">VGhlbWVz</PHRASE>
<PHRASE Label="la_title_Thesaurus" Module="Core" Type="1">VGhlc2F1cnVz</PHRASE>
<PHRASE Label="la_title_Tools" Module="Core" Type="1">VG9vbHM=</PHRASE>
<PHRASE Label="la_title_UpdatingCategories" Module="Core" Type="1">VXBkYXRpbmcgQ2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="la_title_Users" Module="Core" Type="1">VXNlcnM=</PHRASE>
<PHRASE Label="la_title_userselect" Module="Core" Type="1">U2VsZWN0IHVzZXI=</PHRASE>
<PHRASE Label="la_title_UsersManagement" Module="Core" Type="1">VXNlcnMgTWFuYWdlbWVudA==</PHRASE>
<PHRASE Label="la_title_ViewingFormSubmission" Module="Core" Type="1">Vmlld2luZyBmb3JtIHN1Ym1pc3Npb24=</PHRASE>
<PHRASE Label="la_title_ViewingMailingList" Module="Core" Type="1">Vmlld2luZyBNYWlsaW5nIExpc3Q=</PHRASE>
<PHRASE Label="la_title_Visits" Module="Core" Type="1">VmlzaXRz</PHRASE>
<PHRASE Label="la_title_Website" Module="Core" Type="1">V2Vic2l0ZQ==</PHRASE>
<PHRASE Label="la_title_WebsiteSettings" Module="Core" Type="1">V2Vic2l0ZSBTZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_to" Module="Core" Type="1">dG8=</PHRASE>
<PHRASE Label="la_ToolTipShort_Edit_Current_Category" Module="Core" Type="1">Q3Vyci4gQ2F0ZWdvcnk=</PHRASE>
<PHRASE Label="la_ToolTipShort_Move_Down" Module="Core" Type="1">RG93bg==</PHRASE>
<PHRASE Label="la_ToolTipShort_Move_Up" Module="Core" Type="1">VXA=</PHRASE>
<PHRASE Label="la_ToolTip_Add" Module="Core" Type="1">QWRk</PHRASE>
<PHRASE Label="la_ToolTip_AddToGroup" Module="Core" Type="1">QWRkIFVzZXIgdG8gR3JvdXA=</PHRASE>
<PHRASE Label="la_ToolTip_AddUserToGroup" Module="Core" Type="1">QWRkIFVzZXIgVG8gR3JvdXA=</PHRASE>
<PHRASE Label="la_ToolTip_Add_Category" Module="Core" Type="1">QWRkIENhdGVnb3J5</PHRASE>
<PHRASE Label="la_ToolTip_Add_Product" Module="Core" Type="1">QWRkIFByb2R1Y3Q=</PHRASE>
<PHRASE Label="la_ToolTip_Apply_Rules" Module="Core" Type="1">QXBwbHkgUnVsZXM=</PHRASE>
<PHRASE Label="la_ToolTip_Approve" Module="Core" Type="1">QXBwcm92ZQ==</PHRASE>
<PHRASE Label="la_ToolTip_Back" Module="Core" Type="1">QmFjaw==</PHRASE>
<PHRASE Label="la_ToolTip_Ban" Module="Core" Type="1">QmFu</PHRASE>
<PHRASE Label="la_tooltip_cancel" Module="Core" Type="1">Q2FuY2Vs</PHRASE>
<PHRASE Label="la_ToolTip_ClearClipboard" Module="Core" Type="1">Q2xlYXIgQ2xpcGJvYXJk</PHRASE>
<PHRASE Label="la_ToolTip_Clone" Module="Core" Type="1">Q2xvbmU=</PHRASE>
<PHRASE Label="la_ToolTip_CloneUser" Module="Core" Type="1">Q2xvbmUgVXNlcnM=</PHRASE>
<PHRASE Label="la_tooltip_close" Module="Core" Type="1">Q2xvc2U=</PHRASE>
<PHRASE Label="la_ToolTip_ContinueValidation" Module="Core" Type="1">Q29udGludWUgTGluayBWYWxpZGF0aW9u</PHRASE>
<PHRASE Label="la_ToolTip_Copy" Module="Core" Type="1">Q29weQ==</PHRASE>
<PHRASE Label="la_ToolTip_Cut" Module="Core" Type="1">Q3V0</PHRASE>
<PHRASE Label="la_ToolTip_Decline" Module="Core" Type="1">RGVjbGluZQ==</PHRASE>
<PHRASE Label="la_ToolTip_Delete" Module="Core" Type="1">RGVsZXRl</PHRASE>
<PHRASE Label="la_ToolTip_DeleteAll" Module="Core" Type="1">RGVsZXRlIEFsbA==</PHRASE>
<PHRASE Label="la_ToolTip_DeleteFromGroup" Module="Core" Type="1">RGVsZXRlIFVzZXIgRnJvbSBHcm91cA==</PHRASE>
<PHRASE Label="la_ToolTip_Deny" Module="Core" Type="1">RGVueQ==</PHRASE>
<PHRASE Label="la_ToolTip_Disable" Module="Core" Type="1">RGlzYWJsZQ==</PHRASE>
<PHRASE Label="la_ToolTip_Edit" Module="Core" Type="1">RWRpdA==</PHRASE>
<PHRASE Label="la_ToolTip_Edit_Current_Category" Module="Core" Type="1">RWRpdCBDdXJyZW50IENhdGVnb3J5</PHRASE>
<PHRASE Label="la_ToolTip_Email_Disable" Module="Core" Type="1">RGlzYWJsZQ==</PHRASE>
<PHRASE Label="la_ToolTip_Email_Enable" Module="Core" Type="1">RW5hYmxl</PHRASE>
<PHRASE Label="la_ToolTip_Email_FrontOnly" Module="Core" Type="1">RnJvbnQgT25seQ==</PHRASE>
<PHRASE Label="la_ToolTip_Email_UserSelect" Module="Core" Type="1">U2VsZWN0IFVzZXI=</PHRASE>
<PHRASE Label="la_ToolTip_Enable" Module="Core" Type="1">RW5hYmxl</PHRASE>
<PHRASE Label="la_ToolTip_Export" Module="Core" Type="0">RXhwb3J0</PHRASE>
<PHRASE Label="la_tooltip_ExportLanguage" Module="Core" Type="1">RXhwb3J0IExhbmd1YWdl</PHRASE>
<PHRASE Label="la_ToolTip_HideMenu" Module="Core" Type="1">SGlkZSBNZW51</PHRASE>
<PHRASE Label="la_ToolTip_Home" Module="Core" Type="1">SG9tZQ==</PHRASE>
<PHRASE Label="la_ToolTip_Import" Module="Core" Type="1">SW1wb3J0</PHRASE>
<PHRASE Label="la_tooltip_ImportLanguage" Module="Core" Type="1">SW1wb3J0IExhbmd1YWdl</PHRASE>
<PHRASE Label="la_ToolTip_Import_Langpack" Module="Core" Type="1">SW1wb3J0IGEgTGFnbnVhZ2UgUGFja2FnZQ==</PHRASE>
<PHRASE Label="la_tooltip_movedown" Module="Core" Type="0">TW92ZSBEb3du</PHRASE>
<PHRASE Label="la_tooltip_moveup" Module="Core" Type="0">TW92ZSBVcA==</PHRASE>
<PHRASE Label="la_ToolTip_Move_Down" Module="Core" Type="1">TW92ZSBEb3du</PHRASE>
<PHRASE Label="la_ToolTip_Move_Up" Module="Core" Type="1">TW92ZSBVcA==</PHRASE>
<PHRASE Label="la_tooltip_NewBaseStyle" Module="Core" Type="1">TmV3IEJhc2UgU3R5bGU=</PHRASE>
<PHRASE Label="la_tooltip_NewBlockStyle" Module="Core" Type="1">TmV3IEJsb2NrIFN0eWxl</PHRASE>
<PHRASE Label="la_ToolTip_NewGroup" Module="Core" Type="1">TmV3IEdyb3Vw</PHRASE>
<PHRASE Label="la_tooltip_newlabel" Module="Core" Type="1">TmV3IGxhYmVs</PHRASE>
<PHRASE Label="la_tooltip_NewLanguage" Module="Core" Type="1">TmV3IExhbmd1YWdl</PHRASE>
<PHRASE Label="la_ToolTip_NewPage" Module="Core" Type="1">TmV3IFBhZ2U=</PHRASE>
<PHRASE Label="la_tooltip_NewReview" Module="Core" Type="1">TmV3IFJldmlldw==</PHRASE>
<PHRASE Label="la_ToolTip_NewSearchConfig" Module="Core" Type="1">TmV3IFNlYXJjaCBGaWVsZA==</PHRASE>
<PHRASE Label="la_tooltip_newstylesheet" Module="Core" Type="1">TmV3IFN0eWxlc2hlZXQ=</PHRASE>
<PHRASE Label="la_tooltip_newtheme" Module="Core" Type="1">TmV3IFRoZW1l</PHRASE>
<PHRASE Label="la_tooltip_NewUser" Module="Core" Type="1">TmV3IFVzZXI=</PHRASE>
<PHRASE Label="la_ToolTip_NewValidation" Module="Core" Type="1">U3RhcnQgTmV3IFZhbGlkYXRpb24=</PHRASE>
<PHRASE Label="la_ToolTip_New_Category" Module="Core" Type="1">TmV3IENhdGVnb3J5</PHRASE>
<PHRASE Label="la_ToolTip_New_CensorWord" Module="Core" Type="1">TmV3IENlbnNvciBXb3Jk</PHRASE>
<PHRASE Label="la_tooltip_New_Coupon" Module="Core" Type="0">TmV3IENvdXBvbg==</PHRASE>
<PHRASE Label="la_ToolTip_New_CustomField" Module="Core" Type="1">TmV3IEN1c3RvbSBGaWVsZA==</PHRASE>
<PHRASE Label="la_tooltip_New_Discount" Module="Core" Type="0">TmV3IERpc2NvdW50</PHRASE>
<PHRASE Label="la_ToolTip_New_Emoticon" Module="Core" Type="1">TmV3IEVtb3Rpb24gSWNvbg==</PHRASE>
<PHRASE Label="la_ToolTip_New_Form" Module="Core" Type="1">TmV3IEZvcm0=</PHRASE>
<PHRASE Label="la_ToolTip_New_FormField" Module="Core" Type="1">TmV3IEZvcm0gRmllbGQ=</PHRASE>
<PHRASE Label="la_ToolTip_New_Image" Module="Core" Type="1">TmV3IEltYWdl</PHRASE>
<PHRASE Label="la_tooltip_new_images" Module="Core" Type="1">TmV3IEltYWdlcw==</PHRASE>
<PHRASE Label="la_ToolTip_New_Keyword" Module="Core" Type="1">QWRkIEtleXdvcmQ=</PHRASE>
<PHRASE Label="la_ToolTip_New_label" Module="Core" Type="1">QWRkIG5ldyBsYWJlbA==</PHRASE>
<PHRASE Label="la_ToolTip_New_LangPack" Module="Core" Type="1">TmV3IExhbmd1YWdlIFBhY2s=</PHRASE>
<PHRASE Label="la_ToolTip_New_Permission" Module="Core" Type="1">TmV3IFBlcm1pc3Npb24=</PHRASE>
<PHRASE Label="la_ToolTip_New_Relation" Module="Core" Type="1">TmV3IFJlbGF0aW9u</PHRASE>
<PHRASE Label="la_ToolTip_New_Review" Module="Core" Type="1">TmV3IFJldmlldw==</PHRASE>
<PHRASE Label="la_ToolTip_New_Rule" Module="Core" Type="1">TmV3IFJ1bGU=</PHRASE>
<PHRASE Label="la_ToolTip_New_Template" Module="Core" Type="1">TmV3IFRlbXBsYXRl</PHRASE>
<PHRASE Label="la_ToolTip_New_Theme" Module="Core" Type="1">TmV3IFRoZW1l</PHRASE>
<PHRASE Label="la_ToolTip_New_User" Module="Core" Type="1">TmV3IFVzZXI=</PHRASE>
<PHRASE Label="la_ToolTip_Next" Module="Core" Type="1">TmV4dA==</PHRASE>
<PHRASE Label="la_tooltip_nextstep" Module="Core" Type="1">TmV4dCBzdGVw</PHRASE>
<PHRASE Label="la_ToolTip_Paste" Module="Core" Type="1">UGFzdGU=</PHRASE>
<PHRASE Label="la_ToolTip_Prev" Module="Core" Type="1">UHJldmlvdXM=</PHRASE>
<PHRASE Label="la_ToolTip_Preview" Module="Core" Type="1">UHJldmlldw==</PHRASE>
<PHRASE Label="la_ToolTip_Previous" Module="Core" Type="1">UHJldmlvdXM=</PHRASE>
<PHRASE Label="la_tooltip_previousstep" Module="Core" Type="1">UHJldmlvdXMgc3RlcA==</PHRASE>
<PHRASE Label="la_ToolTip_Primary" Module="Core" Type="1">U2V0IFByaW1hcnkgVGhlbWU=</PHRASE>
<PHRASE Label="la_ToolTip_PrimaryGroup" Module="Core" Type="1">U2V0IFByaW1hcnkgR3JvdXA=</PHRASE>
<PHRASE Label="la_ToolTip_Print" Module="Core" Type="1">UHJpbnQ=</PHRASE>
<PHRASE Label="la_ToolTip_ProcessQueue" Module="Core" Type="1">UHJvY2VzcyBRdWV1ZQ==</PHRASE>
<PHRASE Label="la_ToolTip_RebuildCategoryCache" Module="Core" Type="1">UmVidWlsZCBDYXRlZ29yeSBDYWNoZQ==</PHRASE>
<PHRASE Label="la_ToolTip_Refresh" Module="Core" Type="1">UmVmcmVzaA==</PHRASE>
<PHRASE Label="la_ToolTip_RemoveUserFromGroup" Module="Core" Type="1">RGVsZXRlIFVzZXIgRnJvbSBHcm91cA==</PHRASE>
<PHRASE Label="la_ToolTip_RescanThemes" Module="Core" Type="1">UmVzY2FuIFRoZW1lcw==</PHRASE>
<PHRASE Label="la_ToolTip_Reset" Module="Core" Type="1">UmVzZXQ=</PHRASE>
<PHRASE Label="la_ToolTip_ResetSettings" Module="Core" Type="1">UmVzZXQgUGVyc2lzdGVudCBTZXR0aW5ncw==</PHRASE>
<PHRASE Label="la_ToolTip_ResetToBase" Module="Core" Type="1">UmVzZXQgVG8gQmFzZQ==</PHRASE>
<PHRASE Label="la_ToolTip_ResetValidationStatus" Module="Core" Type="1">UmVzZXQgVmFsaWRhdGlvbiBTdGF0dXM=</PHRASE>
<PHRASE Label="la_ToolTip_Restore" Module="Core" Type="1">UmVzdG9yZQ==</PHRASE>
<PHRASE Label="la_tooltip_save" Module="Core" Type="1">U2F2ZQ==</PHRASE>
<PHRASE Label="la_ToolTip_Search" Module="Core" Type="1">U2VhcmNo</PHRASE>
<PHRASE Label="la_ToolTip_SearchReset" Module="Core" Type="1">UmVzZXQ=</PHRASE>
<PHRASE Label="la_ToolTip_Select" Module="Core" Type="1">U2VsZWN0</PHRASE>
<PHRASE Label="la_tooltip_SelectUser" Module="Core" Type="1">U2VsZWN0IFVzZXI=</PHRASE>
<PHRASE Label="la_ToolTip_Send" Module="Core" Type="1">U2VuZA==</PHRASE>
<PHRASE Label="la_ToolTip_SendEmail" Module="Core" Type="1">U2VuZCBFLW1haWw=</PHRASE>
<PHRASE Label="la_ToolTip_SendMail" Module="Core" Type="1">U2VuZCBFLW1haWw=</PHRASE>
<PHRASE Label="la_tooltip_setPrimary" Module="Core" Type="1">U2V0IFByaW1hcnk=</PHRASE>
<PHRASE Label="la_tooltip_setprimarycategory" Module="Core" Type="1">U2V0IFByaW1hcnkgQ2F0ZWdvcnk=</PHRASE>
<PHRASE Label="la_ToolTip_SetPrimaryLanguage" Module="Core" Type="1">U2V0IFByaW1hcnkgTGFuZ3VhZ2U=</PHRASE>
<PHRASE Label="la_ToolTip_ShowMenu" Module="Core" Type="1">U2hvdyBNZW51</PHRASE>
<PHRASE Label="la_ToolTip_Stop" Module="Core" Type="1">Q2FuY2Vs</PHRASE>
<PHRASE Label="la_ToolTip_SynchronizeLanguages" Module="Core" Type="1">U3luY2hyb25pemUgTGFuZ3VhZ2Vz</PHRASE>
<PHRASE Label="la_ToolTip_Tools" Module="Core" Type="1">VG9vbHM=</PHRASE>
<PHRASE Label="la_ToolTip_Up" Module="Core" Type="1">VXAgYSBDYXRlZ29yeQ==</PHRASE>
<PHRASE Label="la_ToolTip_ValidateSelected" Module="Core" Type="1">VmFsaWRhdGU=</PHRASE>
<PHRASE Label="la_ToolTip_View" Module="Core" Type="1">Vmlldw==</PHRASE>
<PHRASE Label="la_ToolTip_ViewItem" Module="Core" Type="1">Vmlldw==</PHRASE>
<PHRASE Label="la_topic_editorpicksabove_prompt" Module="Core" Type="1">RGlzcGxheSBlZGl0b3IgcGlja3MgYWJvdmUgcmVndWxhciB0b3BpY3M=</PHRASE>
<PHRASE Label="la_topic_newdays_prompt" Module="Core" Type="1">TmV3IFRvcGljcyAoRGF5cyk=</PHRASE>
<PHRASE Label="la_topic_perpage_prompt" Module="Core" Type="1">TnVtYmVyIG9mIHRvcGljcyBwZXIgcGFnZQ==</PHRASE>
<PHRASE Label="la_topic_perpage_short_prompt" Module="Core" Type="1">VG9waWNzIFBlciBQYWdlIChTaG9ydGxpc3Qp</PHRASE>
<PHRASE Label="la_Topic_Pick" Module="Core" Type="1">UGljaw==</PHRASE>
<PHRASE Label="la_topic_reviewed" Module="Core" Type="1">VG9waWMgcmV2aWV3ZWQ=</PHRASE>
<PHRASE Label="la_topic_sortfield2_pompt" Module="Core" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
<PHRASE Label="la_topic_sortfield2_prompt" Module="Core" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
<PHRASE Label="la_topic_sortfield2_prompt!" Module="Core" Type="1">YW5kIHRoZW4gYnk=</PHRASE>
<PHRASE Label="la_topic_sortfield_pompt" Module="Core" Type="1">T3JkZXIgVG9waWNzIEJ5</PHRASE>
<PHRASE Label="la_topic_sortfield_prompt" Module="Core" Type="1">U29ydCB0b3BpY3MgYnk=</PHRASE>
<PHRASE Label="la_topic_sortoder2_prompt" Module="Core" Type="1">QW5kIHRoZW4gYnk=</PHRASE>
<PHRASE Label="la_topic_sortoder_prompt" Module="Core" Type="1">T3JkZXIgdG9waWNzIGJ5</PHRASE>
<PHRASE Label="la_Topic_Text" Module="Core" Type="1">VG9waWMgVGV4dA==</PHRASE>
<PHRASE Label="la_Topic_Views" Module="Core" Type="1">Vmlld3M=</PHRASE>
<PHRASE Label="la_to_date" Module="Core" Type="1">VG8gRGF0ZQ==</PHRASE>
<PHRASE Label="la_translate" Module="Core" Type="1">VHJhbnNsYXRl</PHRASE>
<PHRASE Label="la_Translated" Module="Core" Type="1">VHJhbnNsYXRlZA==</PHRASE>
<PHRASE Label="la_Trees" Module="Core" Type="1">VHJlZQ==</PHRASE>
<PHRASE Label="la_type_checkbox" Module="Core" Type="1">Q2hlY2tib3hlcw==</PHRASE>
<PHRASE Label="la_type_date" Module="Core" Type="1">RGF0ZQ==</PHRASE>
<PHRASE Label="la_type_datetime" Module="Core" Type="1">RGF0ZSAmIFRpbWU=</PHRASE>
<PHRASE Label="la_type_label" Module="Core" Type="1">TGFiZWw=</PHRASE>
<PHRASE Label="la_type_multiselect" Module="Core" Type="1">TXVsdGlwbGUgU2VsZWN0</PHRASE>
<PHRASE Label="la_type_password" Module="Core" Type="1">UGFzc3dvcmQgZmllbGQ=</PHRASE>
<PHRASE Label="la_type_radio" Module="Core" Type="1">UmFkaW8gYnV0dG9ucw==</PHRASE>
<PHRASE Label="la_type_select" Module="Core" Type="1">RHJvcCBkb3duIGZpZWxk</PHRASE>
<PHRASE Label="la_type_SingleCheckbox" Module="Core" Type="1">Q2hlY2tib3g=</PHRASE>
<PHRASE Label="la_type_text" Module="Core" Type="1">VGV4dCBmaWVsZA==</PHRASE>
<PHRASE Label="la_type_textarea" Module="Core" Type="1">VGV4dCBhcmVh</PHRASE>
<PHRASE Label="la_Unchanged" Module="Core" Type="1">VW5jaGFuZ2Vk</PHRASE>
<PHRASE Label="la_undefined" Module="Core" Type="1">VW5kZWZpbmVk</PHRASE>
<PHRASE Label="la_Unicode" Module="Core" Type="1">VW5pY29kZQ==</PHRASE>
<PHRASE Label="la_updating_config" Module="Core" Type="1">VXBkYXRpbmcgQ29uZmlndXJhdGlvbg==</PHRASE>
<PHRASE Label="la_updating_rules" Module="Core" Type="1">VXBkYXRpbmcgUnVsZXM=</PHRASE>
<PHRASE Label="la_UseCronForRegularEvent" Module="Core" Type="1">VXNlIENyb24gZm9yIFJ1bm5pbmcgUmVndWxhciBFdmVudHM=</PHRASE>
<PHRASE Label="la_users_allow_new" Module="Core" Type="1">QWxsb3cgbmV3IHVzZXIgcmVnaXN0cmF0aW9u</PHRASE>
<PHRASE Label="la_users_assign_all_to" Module="Core" Type="1">QXNzaWduIEFsbCBVc2VycyBUbyBHcm91cA==</PHRASE>
<PHRASE Label="la_users_email_validate" Module="Core" Type="1">VmFsaWRhdGUgZS1tYWlsIGFkZHJlc3M=</PHRASE>
<PHRASE Label="la_users_guest_group" Module="Core" Type="1">QXNzaWduIHVzZXJzIG5vdCBsb2dnZWQgaW4gdG8gZ3JvdXA=</PHRASE>
<PHRASE Label="la_users_new_group" Module="Core" Type="1">QXNzaWduIHJlZ2lzdGVyZWQgdXNlcnMgdG8gZ3JvdXA=</PHRASE>
<PHRASE Label="la_users_password_auto" Module="Core" Type="1">QXNzaWduIHBhc3N3b3JkIGF1dG9tYXRpY2FsbHk=</PHRASE>
<PHRASE Label="la_users_review_deny" Module="Core" Type="1">TnVtYmVyIG9mIGRheXMgdG8gZGVueSBtdWx0aXBsZSByZXZpZXdzIGZyb20gdGhlIHNhbWUgdXNlcg==</PHRASE>
<PHRASE Label="la_users_subscriber_group" Module="Core" Type="2">QXNzaWduIG1haWxpbmcgbGlzdCBzdWJzY3JpYmVycyB0byBncm91cA==</PHRASE>
<PHRASE Label="la_users_votes_deny" Module="Core" Type="1">TnVtYmVyIG9mIGRheXMgdG8gZGVueSBtdWx0aXBsZSB2b3RlcyBmcm9tIHRoZSBzYW1lIHVzZXI=</PHRASE>
<PHRASE Label="la_User_Instant" Module="Core" Type="1">SW5zdGFudA==</PHRASE>
<PHRASE Label="la_User_Not_Allowed" Module="Core" Type="1">Tm90IEFsbG93ZWQ=</PHRASE>
<PHRASE Label="la_User_Upon_Approval" Module="Core" Type="1">VXBvbiBBcHByb3ZhbA==</PHRASE>
<PHRASE Label="LA_USETOOLBARLABELS" Module="Core" Type="1">VXNlIFRvb2xiYXIgTGFiZWxz</PHRASE>
<PHRASE Label="la_use_emails_as_login" Module="Core" Type="1">VXNlIEVtYWlscyBBcyBMb2dpbg==</PHRASE>
<PHRASE Label="la_US_UK" Module="Core" Type="1">VVMvVUs=</PHRASE>
<PHRASE Label="la_ValidationEmail" Module="Core" Type="1">RS1tYWlsIGFkZHJlc3M=</PHRASE>
<PHRASE Label="la_validation_AlertMsg" Module="Core" Type="1">UGxlYXNlIGNoZWNrIHRoZSByZXF1aXJlZCBmaWVsZHMgYW5kIHRyeSBhZ2FpbiE=</PHRASE>
<PHRASE Label="la_Value" Module="Core" Type="1">VmFsdWU=</PHRASE>
<PHRASE Label="la_valuelist_help" Module="Core" Type="1">RW50ZXIgbGlzdCBvZiB2YWx1ZXMgYW5kIHRoZWlyIGRlc2NyaXB0aW9ucywgbGlrZSAxPU9uZSwgMj1Ud28=</PHRASE>
<PHRASE Label="la_val_Active" Module="Core" Type="1">QWN0aXZl</PHRASE>
<PHRASE Label="la_val_Always" Module="Core" Type="1">QWx3YXlz</PHRASE>
<PHRASE Label="la_val_Auto" Module="Core" Type="1">QXV0bw==</PHRASE>
<PHRASE Label="la_val_Disabled" Module="Core" Type="1">RGlzYWJsZWQ=</PHRASE>
<PHRASE Label="la_val_Enabled" Module="Core" Type="1">RW5hYmxlZA==</PHRASE>
<PHRASE Label="la_val_Never" Module="Core" Type="1">TmV2ZXI=</PHRASE>
<PHRASE Label="la_val_Password" Module="Core" Type="1">SW52YWxpZCBQYXNzd29yZA==</PHRASE>
<PHRASE Label="la_val_Pending" Module="Core" Type="1">UGVuZGluZw==</PHRASE>
<PHRASE Label="la_val_RequiredField" Module="Core" Type="1">UmVxdWlyZWQgRmllbGQ=</PHRASE>
<PHRASE Label="la_val_Username" Module="Core" Type="1">SW52YWxpZCBVc2VybmFtZQ==</PHRASE>
<PHRASE Label="la_visit_DirectReferer" Module="Core" Type="1">RGlyZWN0IGFjY2VzcyBvciBib29rbWFyaw==</PHRASE>
<PHRASE Label="la_vote_added" Module="Core" Type="1">Vm90ZSBzdWJtaXR0ZWQgc3VjY2Vzc2Z1bGx5</PHRASE>
<PHRASE Label="la_Warning_Enable_HTML" Module="Core" Type="1">V2FybmluZzogRW5hYmxpbmcgSFRNTCBpcyBhIHNlY3VyaXR5IHJpc2sgYW5kIGNvdWxkIGRhbWFnZSB0aGUgc3lzdGVtIGlmIHVzZWQgaW1wcm9wZXJseSE=</PHRASE>
<PHRASE Label="la_Warning_Filter" Module="Core" Type="1">QSBzZWFyY2ggb3IgYSBmaWx0ZXIgaXMgaW4gZWZmZWN0LiBZb3UgbWF5IG5vdCBiZSBzZWVpbmcgYWxsIG9mIHRoZSBkYXRhLg==</PHRASE>
<PHRASE Label="la_Warning_FormError" Module="Core" Type="1">T25lIG9yIG1vcmUgZmllbGRzIG9uIHRoaXMgZm9ybSBoYXMgYW4gZXJyb3IuPGJyLz4NClBsZWFzZSByZXZpZXcgdGhlIGZpZWxkcyBtYXJrZWQgd2l0aCByZWQgY2FyZWZ1bGx5IGFuZCBzdWJtaXQgdGhlIGZvcm0gYWdhaW4uIA==</PHRASE>
<PHRASE Label="la_Warning_NewFormError" Module="Core" Type="1">T25lIG9yIG1vcmUgZmllbGRzIG9uIHRoaXMgZm9ybSBoYXMgYW4gZXJyb3IuPGJyLz4NCjxzbWFsbD5QbGVhc2UgbW92ZSB5b3VyIG1vdXNlIG92ZXIgdGhlIGZpZWxkcyBtYXJrZWQgd2l0aCByZWQgdG8gc2VlIHRoZSBlcnJvciBkZXRhaWxzLjwvc21hbGw+</PHRASE>
<PHRASE Label="la_warning_primary_delete" Module="Core" Type="1">WW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhlIHByaW1hcnkgdGhlbWUuIENvbnRpbnVlPw==</PHRASE>
<PHRASE Label="la_Warning_Save_Item" Module="Core" Type="1">TW9kaWZpY2F0aW9ucyB3aWxsIG5vdCB0YWtlIGVmZmVjdCB1bnRpbCB5b3UgY2xpY2sgdGhlIFNhdmUgYnV0dG9uIQ==</PHRASE>
<PHRASE Label="la_week" Module="Core" Type="1">d2Vlaw==</PHRASE>
<PHRASE Label="la_Windows" Module="Core" Type="1">V2luZG93cyAocm4p</PHRASE>
<PHRASE Label="la_year" Module="Core" Type="1">eWVhcg==</PHRASE>
<PHRASE Label="la_Yes" Module="Core" Type="1">WWVz</PHRASE>
<PHRASE Label="lu_access_denied" Module="Core" Type="0">WW91IGRvIG5vdCBoYXZlIGFjY2VzcyB0byBwZXJmb3JtIHRoaXMgb3BlcmF0aW9u</PHRASE>
<PHRASE Label="lu_account_info" Module="Core" Type="0">QWNjb3VudCBJbmZvcm1hdGlvbg==</PHRASE>
<PHRASE Label="lu_action" Module="Core" Type="0">QWN0aW9u</PHRASE>
<PHRASE Label="lu_action_box_title" Module="Core" Type="0">QWN0aW9uIEJveA==</PHRASE>
<PHRASE Label="lu_action_prompt" Module="Core" Type="0">SGVyZSBZb3UgQ2FuOg==</PHRASE>
<PHRASE Label="lu_add" Module="Core" Type="0">QWRk</PHRASE>
<PHRASE Label="lu_addcat_confirm" Module="Core" Type="0">U3VnZ2VzdCBDYXRlZ29yeSBSZXN1bHRz</PHRASE>
<PHRASE Label="lu_addcat_confirm_pending" Module="Core" Type="0">Q2F0ZWdvcnkgQWRkZWQgUGVuZGluZyBBcHByb3ZhbA==</PHRASE>
<PHRASE Label="lu_addcat_confirm_pending_text" Module="Core" Type="0">WW91ciBjYXRlZ29yeSBzdWdnZXN0aW9uIGhhcyBiZWVuIGFjY2VwdGVkIGFuZCBpcyBwZW5kaW5nIGFkbWluaXN0cmF0aXZlIGFwcHJvdmFsLg==</PHRASE>
<PHRASE Label="lu_addcat_confirm_text" Module="Core" Type="0">VGhlIENhdGVnb3J5IHlvdSBzdWdnZXN0ZWQgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIHN5c3RlbS4=</PHRASE>
<PHRASE Label="lu_added" Module="Core" Type="0">QWRkZWQ=</PHRASE>
<PHRASE Label="lu_AddedToday" Module="Core" Type="0">QWRkZWQgdG9kYXk=</PHRASE>
<PHRASE Label="lu_added_today" Module="Core" Type="0">QWRkZWQgVG9kYXk=</PHRASE>
<PHRASE Label="lu_additional_cats" Module="Core" Type="0">QWRkaXRpb25hbCBjYXRlZ29yaWVz</PHRASE>
<PHRASE Label="lu_addlink_confirm" Module="Core" Type="0">QWRkIExpbmsgUmVzdWx0cw==</PHRASE>
<PHRASE Label="lu_addlink_confirm_pending" Module="Core" Type="0">QWRkIFBlbmRpbmcgTGluayBSZXN1bHRz</PHRASE>
<PHRASE Label="lu_addlink_confirm_pending_text" Module="Core" Type="0">WW91ciBsaW5rIGhhcyBiZWVuIGFkZGVkIHBlbmRpbmcgYWRtaW5pc3RyYXRpdmUgYXBwcm92YWwu</PHRASE>
<PHRASE Label="lu_addlink_confirm_text" Module="Core" Type="0">VGhlIGxpbmsgeW91IGhhdmUgc3VnZ2VzdGVkIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBkYXRhYmFzZS4=</PHRASE>
<PHRASE Label="lu_address" Module="Core" Type="0">QWRkcmVzcw==</PHRASE>
<PHRASE Label="lu_address_line" Module="Core" Type="0">QWRkcmVzcyBMaW5l</PHRASE>
<PHRASE Label="lu_Address_Line1" Module="Core" Type="0">QWRkcmVzcyBMaW5lIDE=</PHRASE>
<PHRASE Label="lu_Address_Line2" Module="Core" Type="0">QWRkcmVzcyBMaW5lIDI=</PHRASE>
<PHRASE Label="lu_add_friend" Module="Core" Type="0">QWRkIEZyaWVuZA==</PHRASE>
<PHRASE Label="lu_add_link" Module="Core" Type="0">QWRkIExpbms=</PHRASE>
<PHRASE Label="lu_add_pm" Module="Core" Type="0">U2VuZCBQcml2YXRlIE1lc3NhZ2U=</PHRASE>
<PHRASE Label="lu_add_review" Module="Core" Type="0">QWRkIFJldmlldw==</PHRASE>
<PHRASE Label="lu_add_topic" Module="Core" Type="0">QWRkIFRvcGlj</PHRASE>
<PHRASE Label="lu_add_to_favorites" Module="Core" Type="0">QWRkIHRvIEZhdm9yaXRlcw==</PHRASE>
<PHRASE Label="lu_AdvancedSearch" Module="Core" Type="0">QWR2YW5jZWQgU2VhcmNo</PHRASE>
<PHRASE Label="lu_advanced_search" Module="Core" Type="0">QWR2YW5jZWQgU2VhcmNo</PHRASE>
<PHRASE Label="lu_advanced_search_link" Module="Core" Type="0">QWR2YW5jZWQ=</PHRASE>
<PHRASE Label="lu_advsearch_any" Module="Core" Type="0">QW55</PHRASE>
<PHRASE Label="lu_advsearch_contains" Module="Core" Type="0">Q29udGFpbnM=</PHRASE>
<PHRASE Label="lu_advsearch_is" Module="Core" Type="0">SXMgRXF1YWwgVG8=</PHRASE>
<PHRASE Label="lu_advsearch_isnot" Module="Core" Type="0">SXMgTm90IEVxdWFsIFRv</PHRASE>
<PHRASE Label="lu_advsearch_notcontains" Module="Core" Type="0">RG9lcyBOb3QgQ29udGFpbg==</PHRASE>
<PHRASE Label="lu_AllProducts" Module="Core" Type="0">QWxsIFByb2R1Y3Rz</PHRASE>
<PHRASE Label="lu_AllRightsReserved" Module="Core" Type="0">QWxsIHJpZ2h0cyByZXNlcnZlZC4=</PHRASE>
<PHRASE Label="lu_AllWebsite" Module="Core" Type="0">RW50aXJlIFdlYnNpdGU=</PHRASE>
<PHRASE Label="lu_already_suggested" Module="Core" Type="0">IGhhcyBhbHJlYWR5IGJlZW4gc3VnZ2VzdGVkIHRvIHRoaXMgc2l0ZSBvbg==</PHRASE>
<PHRASE Label="lu_and" Module="Core" Type="0">QW5k</PHRASE>
<PHRASE Label="lu_aol_im" Module="Core" Type="0">QU9MIElN</PHRASE>
<PHRASE Label="lu_Apr" Module="Core" Type="0">QXBy</PHRASE>
<PHRASE Label="lu_AProblemInForm" Module="Core" Type="0">VGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIGZvcm0sIHBsZWFzZSBjaGVjayB0aGUgZXJyb3IgbWVzc2FnZXMgYmVsb3cu</PHRASE>
<PHRASE Label="lu_AProblemWithForm" Module="Core" Type="0">VGhlcmUgaXMgYSBwcm9ibGVtIHdpdGggdGhlIGZvcm0sIHBsZWFzZSBjaGVjayB0aGUgZXJyb3IgbWVzc2FnZXMgYmVsb3c=</PHRASE>
<PHRASE Label="lu_articles" Module="Core" Type="0">QXJ0aWNsZXM=</PHRASE>
<PHRASE Label="lu_article_details" Module="Core" Type="0">QXJ0aWNsZSBEZXRhaWxz</PHRASE>
<PHRASE Label="lu_article_name" Module="Core" Type="0">QXJ0aWNsZSBuYW1l</PHRASE>
<PHRASE Label="lu_article_reviews" Module="Core" Type="0">QXJ0aWNsZSBSZXZpZXdz</PHRASE>
<PHRASE Label="lu_ascending" Module="Core" Type="0">QXNjZW5kaW5n</PHRASE>
<PHRASE Label="lu_Aug" Module="Core" Type="0">QXVn</PHRASE>
<PHRASE Label="lu_author" Module="Core" Type="0">QXV0aG9y</PHRASE>
<PHRASE Label="lu_auto" Module="Core" Type="1">QXV0b21hdGlj</PHRASE>
<PHRASE Label="lu_avatar_disabled" Module="Core" Type="0">RGlzYWJsZWQgYXZhdGFy</PHRASE>
<PHRASE Label="lu_back" Module="Core" Type="0">QmFjaw==</PHRASE>
<PHRASE Label="lu_bbcode" Module="Core" Type="0">QkJDb2Rl</PHRASE>
<PHRASE Label="lu_birth_date" Module="Core" Type="0">QmlydGggRGF0ZQ==</PHRASE>
<PHRASE Label="lu_blank_password" Module="Core" Type="0">QmxhbmsgcGFzc3dvcmQ=</PHRASE>
<PHRASE Label="lu_box" Module="Core" Type="0">Ym94</PHRASE>
<PHRASE Label="lu_BrowseByCategories" Module="Core" Type="0">QnJvd3NlIEJ5IENhdGVnb3JpZXM=</PHRASE>
<PHRASE Label="lu_btn_AddReview" Module="Core" Type="0">QWRkIFJldmlldw==</PHRASE>
<PHRASE Label="lu_btn_AddToFavorites" Module="Core" Type="0">QWRkIFRvIEZhdm9yaXRlcw==</PHRASE>
<PHRASE Label="lu_btn_AddToWishList" Module="Core" Type="0">QWRkIFRvIFdpc2ggTGlzdA==</PHRASE>
<PHRASE Label="lu_btn_advancedsearch" Module="Core" Type="0">QWR2YW5jZWQgc2VhcmNo</PHRASE>
<PHRASE Label="lu_btn_Cancel" Module="Core" Type="0">Q2FuY2Vs</PHRASE>
<PHRASE Label="lu_btn_Clear" Module="Core" Type="0">Q2xlYXI=</PHRASE>
<PHRASE Label="lu_btn_CloseWindow" Module="Core" Type="0">Q2xvc2UgV2luZG93</PHRASE>
<PHRASE Label="lu_btn_Contact" Module="Core" Type="0">Q29udGFjdA==</PHRASE>
<PHRASE Label="lu_btn_Create" Module="Core" Type="0">Q3JlYXRl</PHRASE>
<PHRASE Label="lu_btn_Delete" Module="Core" Type="0">RGVsZXRl</PHRASE>
<PHRASE Label="lu_btn_DeleteFile" Module="Core" Type="0">RGVsZXRlIEZpbGU=</PHRASE>
<PHRASE Label="lu_btn_DeleteImage" Module="Core" Type="0">RGVsZXRlIEltYWdl</PHRASE>
<PHRASE Label="lu_btn_Details" Module="Core" Type="0">RGV0YWlscw==</PHRASE>
<PHRASE Label="lu_btn_FindIt" Module="Core" Type="0">RmluZCBpdA==</PHRASE>
<PHRASE Label="lu_btn_Go" Module="Core" Type="0">R28=</PHRASE>
<PHRASE Label="lu_btn_Modify" Module="Core" Type="0">TW9kaWZ5</PHRASE>
<PHRASE Label="lu_btn_MoreImages" Module="Core" Type="0">TW9yZSBJbWFnZXM=</PHRASE>
<PHRASE Label="lu_btn_NewLink" Module="Core" Type="0">TmV3IExpbms=</PHRASE>
<PHRASE Label="lu_btn_newtopic" Module="Core" Type="0">TmV3IHRvcGlj</PHRASE>
<PHRASE Label="lu_btn_No" Module="Core" Type="0">Tm8=</PHRASE>
<PHRASE Label="lu_btn_Ok" Module="Core" Type="0">T0s=</PHRASE>
<PHRASE Label="lu_btn_Recommend" Module="Core" Type="0">UmVjb21tZW5k</PHRASE>
<PHRASE Label="lu_btn_register" Module="Core" Type="0">UmVnaXN0ZXI=</PHRASE>
<PHRASE Label="lu_btn_RemoveFromFavorites" Module="Core" Type="0">UmVtb3ZlIEZyb20gRmF2b3JpdGVz</PHRASE>
<PHRASE Label="lu_btn_Reset" Module="Core" Type="0">UmVzZXQ=</PHRASE>
<PHRASE Label="lu_btn_Select" Module="Core" Type="0">U2VsZWN0</PHRASE>
<PHRASE Label="LU_BTN_SENDPASSWORD" Module="Core" Type="0">UmVjb3ZlciBQYXNzd29yZA==</PHRASE>
<PHRASE Label="lu_btn_Set" Module="Core" Type="0">U2V0</PHRASE>
<PHRASE Label="lu_btn_Sort" Module="Core" Type="0">U29ydA==</PHRASE>
<PHRASE Label="lu_btn_Subscribe" Module="Core" Type="0">U3Vic2NyaWJl</PHRASE>
<PHRASE Label="lu_btn_Unsubscribe" Module="Core" Type="0">VW5zdWJzY3JpYmU=</PHRASE>
<PHRASE Label="lu_btn_Update" Module="Core" Type="0">VXBkYXRl</PHRASE>
<PHRASE Label="lu_btn_Yes" Module="Core" Type="0">WWVz</PHRASE>
<PHRASE Label="lu_button_forgotpw" Module="Core" Type="0">U2VuZCBQYXNzd29yZA==</PHRASE>
<PHRASE Label="lu_button_go" Module="Core" Type="0">R28=</PHRASE>
<PHRASE Label="lu_button_join" Module="Core" Type="0">Sm9pbg==</PHRASE>
<PHRASE Label="lu_button_mailinglist" Module="Core" Type="0">U3Vic2NyaWJl</PHRASE>
<PHRASE Label="lu_button_no" Module="Core" Type="0">Tm8=</PHRASE>
<PHRASE Label="lu_button_ok" Module="Core" Type="0">T2s=</PHRASE>
<PHRASE Label="lu_button_rate" Module="Core" Type="0">UmF0ZQ==</PHRASE>
<PHRASE Label="lu_button_search" Module="Core" Type="0">U2VhcmNo</PHRASE>
<PHRASE Label="lu_button_unsubscribe" Module="Core" Type="0">VW5zdWJzY3JpYmU=</PHRASE>
<PHRASE Label="lu_button_yes" Module="Core" Type="0">WWVz</PHRASE>
<PHRASE Label="lu_by" Module="Core" Type="0">Ynk=</PHRASE>
<PHRASE Label="lu_cancel" Module="Core" Type="0">Q2FuY2Vs</PHRASE>
<PHRASE Label="lu_captcha" Module="Core" Type="0">U2VjdXJpdHkgY29kZQ==</PHRASE>
<PHRASE Label="lu_captcha_error" Module="Core" Type="0">U2VjdXJpdHkgY29kZSBlbnRlcmVkIGluY29ycmVjdGx5</PHRASE>
<PHRASE Label="lu_captcha_prompt" Module="Core" Type="0">RW50ZXIgU2VjdXJpdHkgQ29kZQ==</PHRASE>
<PHRASE Label="lu_cat" Module="Core" Type="0">Q2F0ZWdvcnk=</PHRASE>
<PHRASE Label="lu_categories" Module="Core" Type="0">Q2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="lu_CategoriesUpdated" Module="Core" Type="0">TGFzdCB1cGRhdGVkIG9u</PHRASE>
<PHRASE Label="lu_categories_updated" Module="Core" Type="0">Y2F0ZWdvcmllcyB1cGRhdGVk</PHRASE>
<PHRASE Label="lu_category" Module="Core" Type="0">Q2F0ZWdvcnk=</PHRASE>
<PHRASE Label="lu_category_information" Module="Core" Type="0">Q2F0ZWdvcnkgSW5mb3JtYXRpb24=</PHRASE>
<PHRASE Label="lu_category_search_results" Module="Core" Type="0">Q2F0ZWdvcnkgU2VhcmNoIFJlc3VsdHM=</PHRASE>
<PHRASE Label="lu_CatLead_Story" Module="Core" Type="0">Q2F0ZWdvcnkgTGVhZCBTdG9yeQ==</PHRASE>
<PHRASE Label="lu_cats" Module="Core" Type="0">Q2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="lu_Checkout" Module="Core" Type="0">Q2hlY2tvdXQ=</PHRASE>
<PHRASE Label="lu_city" Module="Core" Type="0">Q2l0eQ==</PHRASE>
<PHRASE Label="lu_ClickHere" Module="Core" Type="0">Y2xpY2sgaGVyZQ==</PHRASE>
<PHRASE Label="lu_close" Module="Core" Type="0">Q2xvc2U=</PHRASE>
<PHRASE Label="lu_close_window" Module="Core" Type="0">Q2xvc2UgV2luZG93</PHRASE>
<PHRASE Label="lu_code_expired" Module="Core" Type="0">UGFzc3dvcmQgcmVzZXQgaGFzIGNvZGUgZXhwaXJlZA==</PHRASE>
<PHRASE Label="lu_code_is_not_valid" Module="Core" Type="0">UGFzc3dvcmQgcmVzZXQgY29kZSBpcyBub3QgdmFsaWQ=</PHRASE>
<PHRASE Label="lu_col_AccountInformation" Module="Core" Type="0">QWNjb3VudCBJbmZvcm1hdGlvbg==</PHRASE>
<PHRASE Label="lu_col_CurrentValue" Module="Core" Type="0">Q3VycmVudCBWYWx1ZQ==</PHRASE>
<PHRASE Label="lu_col_Date" Module="Core" Type="0">RGF0ZQ==</PHRASE>
<PHRASE Label="lu_col_DisplayToPublic" Module="Core" Type="0">RGlzcGxheSB0byBQdWJsaWM=</PHRASE>
<PHRASE Label="lu_col_Email" Module="Core" Type="0">RW1haWw=</PHRASE>
<PHRASE Label="lu_col_LastUpdate" Module="Core" Type="0">TGFzdCBVcGRhdGU=</PHRASE>
<PHRASE Label="lu_col_loggedin" Module="Core" Type="0">T25saW5l</PHRASE>
<PHRASE Label="lu_col_login" Module="Core" Type="0">TG9naW4=</PHRASE>
<PHRASE Label="lu_col_MemberSince" Module="Core" Type="0">TWVtYmVyIHNpbmNl</PHRASE>
<PHRASE Label="lu_col_Message" Module="Core" Type="0">TWVzc2FnZQ==</PHRASE>
<PHRASE Label="lu_col_Name" Module="Core" Type="0">TmFtZQ==</PHRASE>
<PHRASE Label="lu_col_Price" Module="Core" Type="0">UHJpY2U=</PHRASE>
<PHRASE Label="lu_col_Views" Module="Core" Type="0">Vmlld3M=</PHRASE>
<PHRASE Label="lu_comm_CartChangedAfterLogin" Module="Core" Type="0">UHJpY2VzIG9mIG9uZSBvciBtb3JlIGl0ZW1zIGluIHlvdXIgc2hvcHBpbmcgY2FydCBoYXZlIGJlZW4gY2hhbmdlZCBkdWUgdG8geW91ciBsb2dpbiwgcGxlYXNlIHJldmlldyBjaGFuZ2VzLg==</PHRASE>
<PHRASE Label="lu_comm_EmailAddress" Module="Core" Type="0">RW1haWxBZGRyZXNz</PHRASE>
<PHRASE Label="lu_comm_Go" Module="Core" Type="0">R28=</PHRASE>
<PHRASE Label="lu_comm_NoPermissions" Module="Core" Type="0">Tm8gUGVybWlzc2lvbnM=</PHRASE>
<PHRASE Label="lu_comm_Page" Module="Core" Type="0">UGFnZQ==</PHRASE>
<PHRASE Label="lu_comm_ProductDescription" Module="Core" Type="0">UHJvZHVjdCBEZXNjcmlwdGlvbg==</PHRASE>
<PHRASE Label="lu_company" Module="Core" Type="0">Q29tcGFueQ==</PHRASE>
<PHRASE Label="lu_confirm" Module="Core" Type="0">Y29uZmlybQ==</PHRASE>
<PHRASE Label="lu_confirmation_title" Module="Core" Type="0">Q29uZmlybWF0aW9uIFRpdGxl</PHRASE>
<PHRASE Label="lu_confirm_link_delete_subtitle" Module="Core" Type="0">WW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhlIGxpbmsgYmVsb3cu</PHRASE>
<PHRASE Label="lu_confirm_subtitle" Module="Core" Type="0">Q29uZmlybWF0aW9uIFN1YnRpdGxl</PHRASE>
<PHRASE Label="lu_confirm_text" Module="Core" Type="0">Q29uZmlybWF0aW9uIHRleHQ=</PHRASE>
<PHRASE Label="lu_ContactUs" Module="Core" Type="0">Q29udGFjdCBVcw==</PHRASE>
<PHRASE Label="lu_contact_information" Module="Core" Type="0">Q29udGFjdCBJbmZvcm1hdGlvbg==</PHRASE>
<PHRASE Label="lu_continue" Module="Core" Type="0">Q29udGludWU=</PHRASE>
<PHRASE Label="lu_cookies" Module="Core" Type="1">Q29va2llcw==</PHRASE>
<PHRASE Label="lu_cookies_error" Module="Core" Type="0">UGxlYXNlIGVuYWJsZSBjb29raWVzIHRvIGxvZ2luIQ==</PHRASE>
<PHRASE Label="lu_country" Module="Core" Type="0">Q291bnRyeQ==</PHRASE>
<PHRASE Label="lu_created" Module="Core" Type="0">Y3JlYXRlZA==</PHRASE>
<PHRASE Label="lu_create_password" Module="Core" Type="0">Q3JlYXRlIFBhc3N3b3Jk</PHRASE>
<PHRASE Label="lu_CreditCards" Module="Core" Type="0">Q3JlZGl0IENhcmRz</PHRASE>
<PHRASE Label="lu_CurrentRating" Module="Core" Type="0">Q3VycmVudCBSYXRpbmc=</PHRASE>
<PHRASE Label="lu_CurrentTheme" Module="Core" Type="0">WW91ciBUaGVtZQ==</PHRASE>
<PHRASE Label="lu_current_value" Module="Core" Type="0">Q3VycmVudCBWYWx1ZQ==</PHRASE>
<PHRASE Label="lu_date" Module="Core" Type="0">RGF0ZQ==</PHRASE>
<PHRASE Label="lu_date_created" Module="Core" Type="0">RGF0ZSBjcmVhdGVk</PHRASE>
<PHRASE Label="lu_Dec" Module="Core" Type="0">RGVj</PHRASE>
<PHRASE Label="lu_default_bbcode" Module="Core" Type="0">RW5hYmxlIEJCQ29kZQ==</PHRASE>
<PHRASE Label="lu_default_notify_owner" Module="Core" Type="0">Tm90aWZ5IG1lIG9uIGNoYW5nZXMgdG8gdG9waWNzIEkgY3JlYXRl</PHRASE>
<PHRASE Label="lu_default_notify_pm" Module="Core" Type="0">UmVjZWl2ZSBQcml2YXRlIE1lc3NhZ2UgTm90aWZpY2F0aW9ucw==</PHRASE>
<PHRASE Label="lu_default_signature" Module="Core" Type="0">QXR0YXRjaCBNeSBTaWduYXR1cmUgdG8gUG9zdHM=</PHRASE>
<PHRASE Label="lu_default_smileys" Module="Core" Type="0">U2ltbGllcyBvbiBieSBkZWZhdWx0</PHRASE>
<PHRASE Label="lu_default_user_signatures" Module="Core" Type="0">U2lnbmF0dXJlcyBvbiBieSBkZWZhdWx0</PHRASE>
<PHRASE Label="lu_delete" Module="Core" Type="0">RGVsZXRl</PHRASE>
<PHRASE Label="lu_delete_confirm_title" Module="Core" Type="0">Q29uZmlybSBEZWxldGU=</PHRASE>
<PHRASE Label="lu_delete_friend" Module="Core" Type="0">RGVsZXRlIEZyaWVuZA==</PHRASE>
<PHRASE Label="lu_delete_link_question" Module="Core" Type="0">QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGxpbms/</PHRASE>
<PHRASE Label="lu_del_favorites" Module="Core" Type="0">VGhlIGxpbmsgd2FzIHN1Y2Nlc3NmdWxseSByZW1vdmVkIGZyb20gIEZhdm9yaXRlcy4=</PHRASE>
<PHRASE Label="lu_descending" Module="Core" Type="0">RGVzY2VuZGluZw==</PHRASE>
<PHRASE Label="lu_DescriptionAZ" Module="Core" Type="0">RGVzY3JpcHRpb24gQSB0byBa</PHRASE>
<PHRASE Label="lu_DescriptionZA" Module="Core" Type="0">RGVzY3JpcHRpb24gWiB0byBB</PHRASE>
<PHRASE Label="lu_description_MyFavorites" Module="Core" Type="0">WW91ciBGYXZvcml0ZSBJdGVtcw==</PHRASE>
<PHRASE Label="lu_description_MyPreferences" Module="Core" Type="0">RWRpdCB5b3VyIFByZWZlcmVuY2Vz</PHRASE>
<PHRASE Label="lu_description_MyProfile" Module="Core" Type="0">WW91ciBQcm9maWxlIEluZm9ybWF0aW9u</PHRASE>
<PHRASE Label="lu_description_PrivateMessages" Module="Core" Type="0">WW91ciBQcml2YXRlIE1lc3NhZ2Vz</PHRASE>
<PHRASE Label="lu_details" Module="Core" Type="0">RGV0YWlscw==</PHRASE>
<PHRASE Label="lu_details_updated" Module="Core" Type="0">ZGV0YWlscyB1cGRhdGVk</PHRASE>
<PHRASE Label="lu_directory" Module="Core" Type="0">RGlyZWN0b3J5</PHRASE>
<PHRASE Label="lu_disable" Module="Core" Type="0">RGlzYWJsZQ==</PHRASE>
<PHRASE Label="lu_edit" Module="Core" Type="0">TW9kaWZ5</PHRASE>
<PHRASE Label="lu_editedby" Module="Core" Type="0">RWRpdGVkIEJ5</PHRASE>
<PHRASE Label="lu_editors_pick" Module="Core" Type="0">RWRpdG9ycyBQaWNr</PHRASE>
<PHRASE Label="lu_editors_picks" Module="Core" Type="0">RWRpdG9yJ3MgUGlja3M=</PHRASE>
<PHRASE Label="lu_edittopic_confirm" Module="Core" Type="0">RWRpdCBUb3BpYyBSZXN1bHRz</PHRASE>
<PHRASE Label="lu_edittopic_confirm_pending" Module="Core" Type="0">VG9waWMgbW9kaWZpZWQ=</PHRASE>
<PHRASE Label="lu_edittopic_confirm_pending_text" Module="Core" Type="0">VG9waWMgaGFzIGJlZW4gbW9kaWZpZWQgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbA==</PHRASE>
<PHRASE Label="lu_edittopic_confirm_text" Module="Core" Type="0">Q2hhbmdlcyBtYWRlIHRvIHRoZSB0b3BpYyBoYXZlIGJlZW4gc2F2ZWQu</PHRASE>
<PHRASE Label="lu_edit_post" Module="Core" Type="0">TW9kaWZ5IFBvc3Q=</PHRASE>
<PHRASE Label="lu_edit_topic" Module="Core" Type="0">TW9kaWZ5IFRvcGlj</PHRASE>
<PHRASE Label="LU_EMAIL" Module="Core" Type="0">RS1NYWls</PHRASE>
<PHRASE Label="lu_email_already_exist" Module="Core" Type="0">QSB1c2VyIHdpdGggc3VjaCBlLW1haWwgYWxyZWFkeSBleGlzdHMu</PHRASE>
<PHRASE Label="lu_email_send_error" Module="Core" Type="0">TWFpbCBzZW5kaW5nIGZhaWxlZA==</PHRASE>
<PHRASE Label="lu_enabled" Module="Core" Type="0">RW5hYmxlZA==</PHRASE>
<PHRASE Label="lu_end_on" Module="Core" Type="0">RW5kIE9u</PHRASE>
<PHRASE Label="lu_enlarge_picture" Module="Core" Type="0">Wm9vbSBpbg==</PHRASE>
<PHRASE Label="lu_enter" Module="Core" Type="0">RW50ZXI=</PHRASE>
<PHRASE Label="lu_EnterEmailToRecommend" Module="Core" Type="0">RnJpZW5kJ3MgZS1tYWlsIGFkZHJlc3M=</PHRASE>
<PHRASE Label="lu_EnterEmailToSubscribe" Module="Core" Type="0">WW91ciBlLW1haWwgYWRkcmVzcw==</PHRASE>
<PHRASE Label="lu_EnterForgotEmail" Module="Core" Type="0">RW50ZXIgeW91ciBFbWFpbCBBZGRyZXNzIGJlbG93IHRvIGhhdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9uIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3Mgb2YgeW91ciBhY2NvdW50Lg==</PHRASE>
<PHRASE Label="lu_EnterForgotUserEmail" Module="Core" Type="0">RW50ZXIgeW91ciBVc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzIGJlbG93IHRvIGhhdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9uIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3Mgb2YgeW91ciBhY2NvdW50Lg==</PHRASE>
<PHRASE Label="lu_ErrorAlreadyReviewed" Module="Core" Type="0">WW91IGhhdmUgYWxyZWFkeSByZXZpZXdlZCB0aGlzIGl0ZW0hIFlvdXIgYXBwcm92ZWQgcmV2aWV3cyBhcmUgbGlzdGVkIGJlbG93Lg==</PHRASE>
<PHRASE Label="lu_errors_on_form" Module="Core" Type="0">TWlzc2luZyBvciBpbnZhbGlkIHZhbHVlcy4gUGxlYXNlIGNoZWNrIGFsbCB0aGUgZmllbGRzIGFuZCB0cnkgYWdhaW4u</PHRASE>
<PHRASE Label="lu_error_404_description" Module="Core" Type="0">U29ycnksIHRoZSByZXF1ZXN0ZWQgVVJMIHdhcyBub3QgZm91bmQgb24gb3VyIHNlcnZlci4=</PHRASE>
<PHRASE Label="lu_error_404_title" Module="Core" Type="0">RXJyb3IgNDA0IC0gTm90IEZvdW5k</PHRASE>
<PHRASE Label="lu_error_alreadyadded" Module="Core" Type="0">Q2F0ZWdvcnkgYWxyZWFkeSBhZGRlZCE=</PHRASE>
<PHRASE Label="lu_error_categorylimitreached" Module="Core" Type="0">Q2F0ZWdvcnkgbGltaXQgcmVhY2hlZCE=</PHRASE>
<PHRASE Label="lu_error_Required" Module="Core" Type="0">UmVxdWlyZWQ=</PHRASE>
<PHRASE Label="lu_error_subtitle" Module="Core" Type="0">RXJyb3I=</PHRASE>
<PHRASE Label="lu_error_title" Module="Core" Type="0">RXJyb3I=</PHRASE>
<PHRASE Label="lu_error_UserNotFound" Module="Core" Type="0">VXNlciBOb3QgRm91bmQ=</PHRASE>
<PHRASE Label="lu_existing_users" Module="Core" Type="0">RXhpc3RpbmcgVXNlcnM=</PHRASE>
<PHRASE Label="lu_expires" Module="Core" Type="0">RXhwaXJlcw==</PHRASE>
<PHRASE Label="lu_false" Module="Core" Type="0">RmFsc2U=</PHRASE>
<PHRASE Label="lu_favorite" Module="Core" Type="0">RmF2b3JpdGU=</PHRASE>
<PHRASE Label="lu_favorite_denied" Module="Core" Type="0">VW5hYmxlIHRvIGFkZCBmYXZvcml0ZSwgYWNjZXNzIGRlbmllZA==</PHRASE>
<PHRASE Label="lu_Feb" Module="Core" Type="0">RmVi</PHRASE>
<PHRASE Label="lu_ferror_forgotpw_nodata" Module="Core" Type="1">WW91IG11c3QgZW50ZXIgYSBVc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzIHRvIHJldHJpdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9u</PHRASE>
<PHRASE Label="lu_ferror_loginboth" Module="Core" Type="1">Qm90aCBhIFVzZXJuYW1lIGFuZCBQYXNzd29yZCBpcyByZXF1aXJlZA==</PHRASE>
<PHRASE Label="lu_ferror_login_login_password" Module="Core" Type="1">UGxlYXNlIGVudGVyIHlvdXIgcGFzc3dvcmQgYW5kIHRyeSBhZ2Fpbg==</PHRASE>
<PHRASE Label="lu_ferror_login_login_user" Module="Core" Type="1">WW91IGRpZCBub3QgZW50ZXIgeW91ciBVc2VybmFtZQ==</PHRASE>
<PHRASE Label="lu_ferror_m_acctinfo_dob" Module="Core" Type="0">RGF0ZSBvZiBiaXJ0aCBpcyByZXF1aXJlZA==</PHRASE>
<PHRASE Label="lu_ferror_m_acctinfo_firstname" Module="Core" Type="0">TWlzc2luZyBmaXJzdCBuYW1l</PHRASE>
<PHRASE Label="lu_ferror_m_profile_userid" Module="Core" Type="0">TWlzc2luZyB1c2Vy</PHRASE>
<PHRASE Label="lu_ferror_m_register_dob" Module="Core" Type="0">RGF0ZSBvZiBiaXJ0aCBpcyByZXF1aXJlZA==</PHRASE>
<PHRASE Label="lu_ferror_m_register_email" Module="Core" Type="0">RW1haWwgaXMgcmVxdWlyZWQ=</PHRASE>
<PHRASE Label="lu_ferror_m_register_firstname" Module="Core" Type="0">Rmlyc3QgbmFtZSBpcyByZXF1aXJlZA==</PHRASE>
<PHRASE Label="lu_ferror_m_register_password" Module="Core" Type="0">UGFzc3dvcmQgcmVxdWlyZWQ=</PHRASE>
<PHRASE Label="lu_ferror_no_access" Module="Core" Type="0">QWNjZXNzIGRlbmllZA==</PHRASE>
<PHRASE Label="lu_ferror_pswd_mismatch" Module="Core" Type="0">UGFzc3dvcmRzIGRvIG5vdCBtYXRjaA==</PHRASE>
<PHRASE Label="lu_ferror_pswd_toolong" Module="Core" Type="0">VGhlIHBhc3N3b3JkIGlzIHRvbyBsb25n</PHRASE>
<PHRASE Label="lu_ferror_pswd_tooshort" Module="Core" Type="0">UGFzc3dvcmQgaXMgdG9vIHNob3J0</PHRASE>
<PHRASE Label="lu_ferror_reset_denied" Module="Core" Type="0">Tm90IHJlc2V0</PHRASE>
<PHRASE Label="lu_ferror_review_duplicate" Module="Core" Type="0">WW91IGhhdmUgYWxyZWFkeSByZXZpZXdlZCB0aGlzIGl0ZW0u</PHRASE>
<PHRASE Label="lu_ferror_toolarge" Module="Core" Type="0">RmlsZSBpcyB0b28gbGFyZ2U=</PHRASE>
<PHRASE Label="lu_ferror_unknown_email" Module="Core" Type="1">VXNlciBhY2NvdW50IHdpdGggZ2l2ZW4gRS1tYWlsIG5vdCBmb3VuZA==</PHRASE>
<PHRASE Label="lu_ferror_unknown_username" Module="Core" Type="1">VXNlciBhY2NvdW50IHdpdGggZ2l2ZW4gVXNlcm5hbWUgbm90IGZvdW5k</PHRASE>
<PHRASE Label="lu_ferror_username_tooshort" Module="Core" Type="0">VXNlciBuYW1lIGlzIHRvbyBzaG9ydA==</PHRASE>
<PHRASE Label="lu_ferror_wrongtype" Module="Core" Type="0">V3JvbmcgZmlsZSB0eXBl</PHRASE>
<PHRASE Label="lu_fieldcustom__cc1" Module="Core" Type="2">Y2Mx</PHRASE>
<PHRASE Label="lu_fieldcustom__cc2" Module="Core" Type="2">Y2My</PHRASE>
<PHRASE Label="lu_fieldcustom__cc3" Module="Core" Type="2">Y2Mz</PHRASE>
<PHRASE Label="lu_fieldcustom__cc4" Module="Core" Type="2">Y2M0</PHRASE>
<PHRASE Label="lu_fieldcustom__cc5" Module="Core" Type="2">Y2M1</PHRASE>
<PHRASE Label="lu_fieldcustom__cc6" Module="Core" Type="2">Y2M2</PHRASE>
<PHRASE Label="lu_fieldcustom__lc1" Module="Core" Type="2">bGMx</PHRASE>
<PHRASE Label="lu_fieldcustom__lc2" Module="Core" Type="2">bGMy</PHRASE>
<PHRASE Label="lu_fieldcustom__lc3" Module="Core" Type="2">bGMz</PHRASE>
<PHRASE Label="lu_fieldcustom__lc4" Module="Core" Type="2">bGM0</PHRASE>
<PHRASE Label="lu_fieldcustom__lc5" Module="Core" Type="2">bGM1</PHRASE>
<PHRASE Label="lu_fieldcustom__lc6" Module="Core" Type="2">bGM2</PHRASE>
<PHRASE Label="lu_fieldcustom__uc1" Module="Core" Type="2">dWMx</PHRASE>
<PHRASE Label="lu_fieldcustom__uc2" Module="Core" Type="2">dWMy</PHRASE>
<PHRASE Label="lu_fieldcustom__uc3" Module="Core" Type="2">dWMz</PHRASE>
<PHRASE Label="lu_fieldcustom__uc4" Module="Core" Type="2">dWM0</PHRASE>
<PHRASE Label="lu_fieldcustom__uc5" Module="Core" Type="2">dWM1</PHRASE>
<PHRASE Label="lu_fieldcustom__uc6" Module="Core" Type="2">dWM2</PHRASE>
<PHRASE Label="lu_field_archived" Module="Core" Type="0">QXJjaGl2ZSBEYXRl</PHRASE>
<PHRASE Label="lu_field_author" Module="Core" Type="0">QXJ0aWNsZSBBdXRob3I=</PHRASE>
<PHRASE Label="lu_field_body" Module="Core" Type="0">QXJ0aWNsZSBCb2R5</PHRASE>
<PHRASE Label="lu_field_cacheddescendantcatsqty" Module="Core" Type="0">TnVtYmVyIG9mIERlc2NlbmRhbnRz</PHRASE>
<PHRASE Label="lu_field_cachednavbar" Module="Core" Type="0">Q2F0ZWdvcnkgUGF0aA==</PHRASE>
<PHRASE Label="lu_field_cachedrating" Module="Core" Type="2">UmF0aW5n</PHRASE>
<PHRASE Label="lu_field_cachedreviewsqty" Module="Core" Type="2">TnVtYmVyIG9mIFJldmlld3M=</PHRASE>
<PHRASE Label="lu_field_cachedvotesqty" Module="Core" Type="2">TnVtYmVyIG9mIFJhdGluZyBWb3Rlcw==</PHRASE>
<PHRASE Label="lu_field_categoryid" Module="Core" Type="0">Q2F0ZWdvcnkgSWQ=</PHRASE>
<PHRASE Label="lu_field_city" Module="Core" Type="0">Q2l0eQ==</PHRASE>
<PHRASE Label="lu_field_Content" Module="Core" Type="1">UGFnZSBDb250ZW50cw==</PHRASE>
<PHRASE Label="lu_field_country" Module="Core" Type="0">Q291bnRyeQ==</PHRASE>
<PHRASE Label="lu_field_createdbyid" Module="Core" Type="2">Q3JlYXRlZCBCeSBVc2VyIElE</PHRASE>
<PHRASE Label="lu_field_createdon" Module="Core" Type="2">RGF0ZSBDcmVhdGVk</PHRASE>
<PHRASE Label="lu_field_description" Module="Core" Type="2">RGVzY3JpcHRpb24=</PHRASE>
<PHRASE Label="lu_field_dob" Module="Core" Type="0">RGF0ZSBvZiBCaXJ0aA==</PHRASE>
<PHRASE Label="lu_field_editorspick" Module="Core" Type="0">RWRpdG9yJ3MgcGljaw==</PHRASE>
<PHRASE Label="lu_field_email" Module="Core" Type="0">RS1tYWls</PHRASE>
<PHRASE Label="lu_field_endon" Module="Core" Type="0">RW5kcyBPbg==</PHRASE>
<PHRASE Label="lu_field_excerpt" Module="Core" Type="0">QXJ0aWNsZSBFeGNlcnB0</PHRASE>
<PHRASE Label="lu_field_firstname" Module="Core" Type="0">Rmlyc3QgTmFtZQ==</PHRASE>
<PHRASE Label="lu_field_hits" Module="Core" Type="2">SGl0cw==</PHRASE>
<PHRASE Label="lu_field_hotitem" Module="Core" Type="2">SXRlbSBJcyBIb3Q=</PHRASE>
<PHRASE Label="lu_field_lastname" Module="Core" Type="0">TGFzdCBOYW1l</PHRASE>
<PHRASE Label="lu_field_lastpostid" Module="Core" Type="2">TGFzdCBQb3N0IElE</PHRASE>
<PHRASE Label="lu_field_leadcatstory" Module="Core" Type="0">Q2F0ZWdvcnkgTGVhZCBTdG9yeT8=</PHRASE>
<PHRASE Label="lu_field_leadstory" Module="Core" Type="0">TGVhZCBTdG9yeT8=</PHRASE>
<PHRASE Label="lu_field_linkid" Module="Core" Type="2">TGluayBJRA==</PHRASE>
<PHRASE Label="lu_field_login" Module="Core" Type="0">TG9naW4gKFVzZXIgbmFtZSk=</PHRASE>
<PHRASE Label="lu_field_metadescription" Module="Core" Type="0">TWV0YSBEZXNjcmlwdGlvbg==</PHRASE>
<PHRASE Label="lu_field_metakeywords" Module="Core" Type="0">TWV0YSBLZXl3b3Jkcw==</PHRASE>
<PHRASE Label="lu_field_modified" Module="Core" Type="2">TGFzdCBNb2RpZmllZCBEYXRl</PHRASE>
<PHRASE Label="lu_field_modifiedbyid" Module="Core" Type="2">TW9kaWZpZWQgQnkgVXNlciBJRA==</PHRASE>
<PHRASE Label="lu_field_name" Module="Core" Type="2">TmFtZQ==</PHRASE>
<PHRASE Label="lu_field_newitem" Module="Core" Type="2">SXRlbSBJcyBOZXc=</PHRASE>
<PHRASE Label="lu_field_newsid" Module="Core" Type="0">QXJ0aWNsZSBJRA==</PHRASE>
<PHRASE Label="lu_field_notifyowneronchanges" Module="Core" Type="2">Tm90aWZ5IE93bmVyIG9mIENoYW5nZXM=</PHRASE>
<PHRASE Label="lu_field_orgid" Module="Core" Type="2">T3JpZ2luYWwgSXRlbSBJRA==</PHRASE>
<PHRASE Label="lu_field_ownerid" Module="Core" Type="2">T3duZXIgVXNlciBJRA==</PHRASE>
<PHRASE Label="lu_field_page_MenuTitle" Module="Core" Type="1">VGl0bGUgKE1lbnUgSXRlbSk=</PHRASE>
<PHRASE Label="lu_field_parentid" Module="Core" Type="0">UGFyZW50IElk</PHRASE>
<PHRASE Label="lu_field_parentpath" Module="Core" Type="0">UGFyZW50IENhdGVnb3J5IFBhdGg=</PHRASE>
<PHRASE Label="lu_field_password" Module="Core" Type="0">UGFzc3dvcmQ=</PHRASE>
<PHRASE Label="lu_field_phone" Module="Core" Type="0">VGVsZXBob25l</PHRASE>
<PHRASE Label="lu_field_popitem" Module="Core" Type="2">SXRlbSBJcyBQb3B1bGFy</PHRASE>
<PHRASE Label="lu_field_portaluserid" Module="Core" Type="0">VXNlciBJRA==</PHRASE>
<PHRASE Label="lu_field_postedby" Module="Core" Type="2">UG9zdGVkIEJ5</PHRASE>
<PHRASE Label="lu_field_posts" Module="Core" Type="0">VG9waWMgUG9zdHM=</PHRASE>
<PHRASE Label="lu_field_priority" Module="Core" Type="2">UHJpb3JpdHk=</PHRASE>
<PHRASE Label="lu_field_qtysold" Module="Core" Type="1">UXR5IFNvbGQ=</PHRASE>
<PHRASE Label="lu_field_resourceid" Module="Core" Type="2">UmVzb3VyY2UgSUQ=</PHRASE>
<PHRASE Label="lu_field_startdate" Module="Core" Type="0">U3RhcnQgRGF0ZQ==</PHRASE>
<PHRASE Label="lu_field_state" Module="Core" Type="0">U3RhdGU=</PHRASE>
<PHRASE Label="lu_field_status" Module="Core" Type="2">U3RhdHVz</PHRASE>
<PHRASE Label="lu_field_street" Module="Core" Type="0">U3RyZWV0IEFkZHJlc3M=</PHRASE>
<PHRASE Label="lu_field_textformat" Module="Core" Type="0">QXJ0aWNsZSBUZXh0</PHRASE>
<PHRASE Label="lu_field_title" Module="Core" Type="0">QXJ0aWNsZSBUaXRsZQ==</PHRASE>
<PHRASE Label="lu_field_topicid" Module="Core" Type="2">VG9waWMgSUQ=</PHRASE>
<PHRASE Label="lu_field_topictext" Module="Core" Type="2">VG9waWMgVGV4dA==</PHRASE>
<PHRASE Label="lu_field_topictype" Module="Core" Type="0">VG9waWMgVHlwZQ==</PHRASE>
<PHRASE Label="lu_field_topseller" Module="Core" Type="1">SXRlbSBJcyBhIFRvcCBTZWxsZXI=</PHRASE>
<PHRASE Label="lu_field_tz" Module="Core" Type="0">VGltZSBab25l</PHRASE>
<PHRASE Label="lu_field_url" Module="Core" Type="2">VVJM</PHRASE>
<PHRASE Label="lu_field_views" Module="Core" Type="0">Vmlld3M=</PHRASE>
<PHRASE Label="lu_field_zip" Module="Core" Type="0">WmlwIChQb3N0YWwpIENvZGU=</PHRASE>
<PHRASE Label="lu_first_name" Module="Core" Type="0">Rmlyc3QgTmFtZQ==</PHRASE>
<PHRASE Label="lu_fld_AddressLine1" Module="Core" Type="0">QWRkcmVzcyBsaW5lIDE=</PHRASE>
<PHRASE Label="lu_fld_AddressLine2" Module="Core" Type="0">QWRkcmVzcyBsaW5lIDI=</PHRASE>
<PHRASE Label="lu_fld_BirthDate" Module="Core" Type="0">RGF0ZSBvZiBiaXJ0aA==</PHRASE>
<PHRASE Label="lu_fld_body" Module="Core" Type="0">Qm9keQ==</PHRASE>
<PHRASE Label="lu_fld_Captcha" Module="Core" Type="0">Q2FwdGNoYSBJbWFnZQ==</PHRASE>
<PHRASE Label="lu_fld_City" Module="Core" Type="0">Q2l0eQ==</PHRASE>
<PHRASE Label="lu_fld_Comments" Module="Core" Type="0">UXVlc3Rpb25z</PHRASE>
<PHRASE Label="lu_fld_Company" Module="Core" Type="0">Q29tcGFueQ==</PHRASE>
<PHRASE Label="lu_fld_Country" Module="Core" Type="0">Q291bnRyeQ==</PHRASE>
<PHRASE Label="lu_fld_Description" Module="Core" Type="0">RGVzY3JpcHRpb24=</PHRASE>
<PHRASE Label="lu_fld_Duration" Module="Core" Type="0">RHVyYXRpb24=</PHRASE>
<PHRASE Label="lu_fld_Email" Module="Core" Type="0">RS1NYWls</PHRASE>
<PHRASE Label="lu_fld_Fax" Module="Core" Type="0">RmF4</PHRASE>
<PHRASE Label="lu_fld_File1" Module="Core" Type="0">UHJpbWFyeSBGaWxl</PHRASE>
<PHRASE Label="lu_fld_File2" Module="Core" Type="0">Mm5kIEZpbGU=</PHRASE>
<PHRASE Label="lu_fld_File3" Module="Core" Type="0">M3JkIEZpbGU=</PHRASE>
<PHRASE Label="lu_fld_FileName" Module="Core" Type="0">RmlsZW5hbWU=</PHRASE>
<PHRASE Label="lu_fld_FirstName" Module="Core" Type="0">Rmlyc3QgbmFtZQ==</PHRASE>
<PHRASE Label="lu_fld_FullName" Module="Core" Type="0">RnVsbCBuYW1l</PHRASE>
<PHRASE Label="lu_fld_Image1" Module="Core" Type="0">Mm5kIEltYWdl</PHRASE>
<PHRASE Label="lu_fld_Image2" Module="Core" Type="0">M3JkIEltYWdl</PHRASE>
<PHRASE Label="lu_fld_LastName" Module="Core" Type="0">TGFzdCBuYW1l</PHRASE>
<PHRASE Label="lu_fld_Login" Module="Core" Type="0">VXNlcm5hbWU=</PHRASE>
<PHRASE Label="lu_fld_module" Module="Core" Type="0">TW9kdWxl</PHRASE>
<PHRASE Label="lu_fld_MoreCategories" Module="Core" Type="0">QWRkaXRpb25hbCBDYXRlZ29yaWVz</PHRASE>
<PHRASE Label="lu_fld_Name" Module="Core" Type="0">TmFtZQ==</PHRASE>
<PHRASE Label="lu_fld_Password" Module="Core" Type="0">UGFzc3dvcmQ=</PHRASE>
<PHRASE Label="lu_fld_Phone" Module="Core" Type="0">UGhvbmU=</PHRASE>
<PHRASE Label="lu_fld_phrase" Module="Core" Type="0">UGhyYXNl</PHRASE>
<PHRASE Label="lu_fld_Price" Module="Core" Type="0">UHJpY2U=</PHRASE>
<PHRASE Label="lu_fld_PrimaryCategory" Module="Core" Type="0">UHJpbWFyeSBDYXRlZ29yeQ==</PHRASE>
<PHRASE Label="lu_fld_PrimaryImage" Module="Core" Type="0">UHJpbWFyeSBJbWFnZQ==</PHRASE>
<PHRASE Label="lu_fld_primary_translation" Module="Core" Type="0">UHJpbWFyeSBUcmFuc2xhdGlvbg==</PHRASE>
<PHRASE Label="lu_fld_Rating" Module="Core" Type="0">UmF0aW5n</PHRASE>
<PHRASE Label="lu_fld_Referrer" Module="Core" Type="0">UmVmZXJyZXI=</PHRASE>
<PHRASE Label="lu_fld_ReviewText" Module="Core" Type="0">UmV2aWV3IHRleHQ=</PHRASE>
<PHRASE Label="lu_fld_SelectAddress" Module="Core" Type="0">UGxlYXNlIHNlbGVjdCB5b3VyIGFkZHJlc3M=</PHRASE>
<PHRASE Label="lu_fld_size" Module="Core" Type="0">U2l6ZQ==</PHRASE>
<PHRASE Label="lu_fld_State" Module="Core" Type="0">U3RhdGU=</PHRASE>
<PHRASE Label="lu_fld_street" Module="Core" Type="0">U3RyZWV0</PHRASE>
<PHRASE Label="lu_fld_title" Module="Core" Type="0">VGl0bGU=</PHRASE>
<PHRASE Label="lu_fld_translation" Module="Core" Type="0">VHJhbnNsYXRpb24=</PHRASE>
<PHRASE Label="lu_fld_UserGroup" Module="Core" Type="0">TWVtYmVyc2hpcCBHcm91cA==</PHRASE>
<PHRASE Label="lu_fld_VerifyPassword" Module="Core" Type="0">VmVyaWZ5IFBhc3N3b3Jk</PHRASE>
<PHRASE Label="lu_fld_version" Module="Core" Type="0">VmVyc2lvbg==</PHRASE>
<PHRASE Label="lu_fld_Zip" Module="Core" Type="0">WmlwIGNvZGU=</PHRASE>
<PHRASE Label="lu_fld_ZipCode" Module="Core" Type="0">WmlwIGNvZGU=</PHRASE>
<PHRASE Label="lu_folder_Inbox" Module="Core" Type="0">SW5ib3g=</PHRASE>
<PHRASE Label="lu_ForgotPassword" Module="Core" Type="0">Rm9yZ290IHBhc3N3b3Jk</PHRASE>
<PHRASE Label="lu_forgotpw_confirm" Module="Core" Type="0">UGFzc3dvcmQgUmVxdWVzdCBDb25maXJtYXRpb24=</PHRASE>
<PHRASE Label="lu_forgotpw_confirm_reset" Module="Core" Type="0">Q29uZmlybSBwYXNzd29yZCByZXNldA==</PHRASE>
<PHRASE Label="lu_forgotpw_confirm_text" Module="Core" Type="0">WW91IGhhdmUgY2hvc2VkIHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQuIEEgbmV3IHBhc3N3b3JkIGhhcyBiZWVuIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHRoZSBzeXN0ZW0uIEl0IGhhcyBiZWVuIGVtYWlsZWQgdG8geW91ciBhZGRyZXNzIG9uIGZpbGUu</PHRASE>
<PHRASE Label="lu_forgotpw_confirm_text_reset" Module="Core" Type="0">UGxlYXNlIGNvbmZpcm0gdGhhdCB5b3Ugd2FudCB0byByZXNldCB5b3VyIHBhc3N3b3JkLg==</PHRASE>
<PHRASE Label="lu_forgot_password" Module="Core" Type="0">Rm9yZ290IFBhc3N3b3Jk</PHRASE>
<PHRASE Label="lu_forgot_password_link" Module="Core" Type="0">Rm9yZ290IFBhc3N3b3Jk</PHRASE>
<PHRASE Label="lu_forgot_pw_description" Module="Core" Type="1">RW50ZXIgeW91ciBVc2VybmFtZSBvciBFbWFpbCBBZGRyZXNzIGJlbG93IHRvIGhhdmUgeW91ciBhY2NvdW50IGluZm9ybWF0aW9uIHNlbnQgdG8gdGhlIGVtYWlsIGFkZHJlc3Mgb2YgeW91ciBhY2NvdW50Lg==</PHRASE>
<PHRASE Label="lu_forums" Module="Core" Type="0">Rm9ydW1z</PHRASE>
<PHRASE Label="lu_forum_hdrtext" Module="Core" Type="0">V2VsY29tZSB0byBJbi1wb3J0YWwgZm9ydW1zIQ==</PHRASE>
<PHRASE Label="lu_forum_hdrwelcometext" Module="Core" Type="0">V2VsY29tZSB0byBJbi1idWxsZXRpbiBGb3J1bXMh</PHRASE>
<PHRASE Label="lu_forum_locked_for_posting" Module="Core" Type="0">Rm9ydW0gaXMgbG9ja2VkIGZvciBwb3N0aW5n</PHRASE>
<PHRASE Label="lu_found" Module="Core" Type="0">Rm91bmQ6</PHRASE>
<PHRASE Label="lu_from" Module="Core" Type="0">RnJvbQ==</PHRASE>
<PHRASE Label="lu_FullName" Module="Core" Type="2">RnVsbCBuYW1l</PHRASE>
<PHRASE Label="lu_full_story" Module="Core" Type="0">RnVsbCBTdG9yeQ==</PHRASE>
<PHRASE Label="lu_getting_rated" Module="Core" Type="0">R2V0dGluZyBSYXRlZA==</PHRASE>
<PHRASE Label="lu_getting_rated_text" Module="Core" Type="0">WW91IG1heSBwbGFjZSB0aGUgZm9sbG93aW5nIEhUTUwgY29kZSBvbiB5b3VyIHdlYiBzaXRlIHRvIGFsbG93IHlvdXIgc2l0ZSB2aXNpdG9ycyB0byB2b3RlIGZvciB0aGlzIHJlc291cmNl</PHRASE>
<PHRASE Label="lu_Go" Module="Core" Type="0">R28=</PHRASE>
<PHRASE Label="lu_guest" Module="Core" Type="0">R3Vlc3Q=</PHRASE>
<PHRASE Label="lu_help" Module="Core" Type="0">SGVscA==</PHRASE>
<PHRASE Label="lu_Here" Module="Core" Type="0">SGVyZQ==</PHRASE>
<PHRASE Label="lu_hits" Module="Core" Type="0">SGl0cw==</PHRASE>
<PHRASE Label="lu_HitsHL" Module="Core" Type="0">SGl0cyBIbyB0byBMb3c=</PHRASE>
<PHRASE Label="lu_HitsLH" Module="Core" Type="0">SGl0cyBMb3cgdG8gSGk=</PHRASE>
<PHRASE Label="lu_home" Module="Core" Type="0">SG9tZQ==</PHRASE>
<PHRASE Label="lu_hot" Module="Core" Type="0">SG90</PHRASE>
<PHRASE Label="lu_hot_links" Module="Core" Type="0">SG90IExpbmtz</PHRASE>
<PHRASE Label="lu_in" Module="Core" Type="0">aW4=</PHRASE>
<PHRASE Label="lu_inbox" Module="Core" Type="0">SW5ib3g=</PHRASE>
<PHRASE Label="lu_incorrect_login" Module="Core" Type="0">VXNlcm5hbWUvUGFzc3dvcmQgSW5jb3JyZWN0</PHRASE>
<PHRASE Label="lu_IndicatesRequired" Module="Core" Type="0">SW5kaWNhdGVzIFJlcXVpcmVkIGZpZWxkcw==</PHRASE>
<PHRASE Label="lu_InvalidEmail" Module="Core" Type="0">SW52YWxpZCBlLW1haWwgYWRkcmVzcw==</PHRASE>
<PHRASE Label="lu_invalid_emailaddress" Module="Core" Type="0">RS1tYWlsIGFkZHJlc3MgbWlzc2luZyBvciBpbnZhbGlk</PHRASE>
<PHRASE Label="lu_invalid_password" Module="Core" Type="1">SW5jb3JyZWN0IFVzZXJuYW1lIG9yIFBhc3N3b3Jk</PHRASE>
<PHRASE Label="lu_in_this_message" Module="Core" Type="0">SW4gdGhpcyBtZXNzYWdl</PHRASE>
<PHRASE Label="lu_ItemPrimaryCategory" Module="Core" Type="0">UHJpbWFyeSBDYXRlZ29yeQ==</PHRASE>
<PHRASE Label="lu_ItemsPerPage" Module="Core" Type="0">SXRlbXMgUGVyIFBhZ2U=</PHRASE>
<PHRASE Label="lu_items_since_last" Module="Core" Type="0">SXRlbXMgc2luY2UgbGFzdCBsb2dpbg==</PHRASE>
<PHRASE Label="lu_Jan" Module="Core" Type="0">SmFu</PHRASE>
<PHRASE Label="lu_joined" Module="Core" Type="0">Sm9pbmVk</PHRASE>
<PHRASE Label="lu_Jul" Module="Core" Type="0">SnVs</PHRASE>
<PHRASE Label="lu_Jun" Module="Core" Type="0">SnVu</PHRASE>
<PHRASE Label="lu_keywords_tooshort" Module="Core" Type="0">S2V5d29yZCBpcyB0b28gc2hvcnQ=</PHRASE>
<PHRASE Label="lu_lastpost" Module="Core" Type="0">TGFzdCBQb3N0</PHRASE>
<PHRASE Label="lu_lastposter" Module="Core" Type="0">TGFzdCBQb3N0IEJ5</PHRASE>
<PHRASE Label="lu_lastupdate" Module="Core" Type="0">TGFzdCBVcGRhdGU=</PHRASE>
<PHRASE Label="lu_last_name" Module="Core" Type="0">TGFzdCBOYW1l</PHRASE>
<PHRASE Label="lu_legend" Module="Core" Type="0">TGVnZW5k</PHRASE>
<PHRASE Label="lu_links" Module="Core" Type="0">TGlua3M=</PHRASE>
<PHRASE Label="lu_links_updated" Module="Core" Type="0">bGlua3MgdXBkYXRlZA==</PHRASE>
<PHRASE Label="lu_link_addreview_confirm_pending_text" Module="Core" Type="0">WW91ciByZXZpZXcgaGFzIGJlZW4gYWRkZWQgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbA==</PHRASE>
<PHRASE Label="lu_link_addreview_confirm_text" Module="Core" Type="0">WW91ciByZXZpZXcgaGFzIGJlZW4gYWRkZWQ=</PHRASE>
<PHRASE Label="lu_link_details" Module="Core" Type="0">TGluayBEZXRhaWxz</PHRASE>
<PHRASE Label="lu_link_information" Module="Core" Type="0">TGluayBJbmZvcm1hdGlvbg==</PHRASE>
<PHRASE Label="lu_link_name" Module="Core" Type="0">TGluayBOYW1l</PHRASE>
<PHRASE Label="lu_link_rate_confirm" Module="Core" Type="0">TGluayBSYXRpbmcgUmVzdWx0cw==</PHRASE>
<PHRASE Label="lu_link_rate_confirm_duplicate_text" Module="Core" Type="0">WW91IGhhdmUgYWxyZWFkeSByYXRlZCB0aGlzIGxpbmsu</PHRASE>
<PHRASE Label="lu_link_rate_confirm_text" Module="Core" Type="0">VGhhbmsgZm9yIHJhdGluZyB0aGlzIGxpbmsuICBZb3VyIGlucHV0IGhhcyBiZWVuIHJlY29yZGVkLg==</PHRASE>
<PHRASE Label="lu_link_reviews" Module="Core" Type="0">TGluayBSZXZpZXdz</PHRASE>
<PHRASE Label="lu_link_review_confirm" Module="Core" Type="0">TGluayBSZXZpZXcgUmVzdWx0cw==</PHRASE>
<PHRASE Label="lu_link_review_confirm_pending" Module="Core" Type="0">TGluayBSZXZpZXcgUGVuZGluZw==</PHRASE>
<PHRASE Label="lu_link_search_results" Module="Core" Type="0">TGluayBTZWFyY2ggUmVzdWx0cw==</PHRASE>
<PHRASE Label="lu_location" Module="Core" Type="0">TG9jYXRpb24=</PHRASE>
<PHRASE Label="lu_locked_topic" Module="Core" Type="0">TG9ja2VkIHRvcGlj</PHRASE>
<PHRASE Label="lu_lock_unlock" Module="Core" Type="0">TG9jay9VbmxvY2s=</PHRASE>
<PHRASE Label="lu_login" Module="Core" Type="0">TG9naW4=</PHRASE>
<PHRASE Label="lu_login_information" Module="Core" Type="0">TG9naW4gSW5mb3JtYXRpb24=</PHRASE>
<PHRASE Label="lu_login_name" Module="Core" Type="0">TG9naW4gTmFtZQ==</PHRASE>
<PHRASE Label="lu_login_title" Module="Core" Type="0">TG9naW4=</PHRASE>
<PHRASE Label="lu_logout" Module="Core" Type="0">TG9nIE91dA==</PHRASE>
<PHRASE Label="lu_LogoutText" Module="Core" Type="0">TG9nb3V0IG9mIHlvdXIgYWNjb3VudA==</PHRASE>
<PHRASE Label="lu_logout_description" Module="Core" Type="0">TG9nIG91dCBvZiB0aGUgc3lzdGVt</PHRASE>
<PHRASE Label="lu_mailinglist" Module="Core" Type="0">TWFpbGluZyBMaXN0</PHRASE>
<PHRASE Label="lu_Mar" Module="Core" Type="0">TWFy</PHRASE>
<PHRASE Label="lu_May" Module="Core" Type="0">TWF5</PHRASE>
<PHRASE Label="lu_message" Module="Core" Type="0">TWVzc2FnZQ==</PHRASE>
<PHRASE Label="lu_message_body" Module="Core" Type="0">TWVzc2FnZSBCb2R5</PHRASE>
<PHRASE Label="lu_min_pw_reset_interval" Module="Core" Type="0">UGFzc3dvcmQgcmVzZXQgaW50ZXJ2YWw=</PHRASE>
<PHRASE Label="lu_missing_error" Module="Core" Type="0">TWlzc2luZyBUZW1wbGF0ZQ==</PHRASE>
<PHRASE Label="lu_modified" Module="Core" Type="0">TW9kaWZpZWQ=</PHRASE>
<PHRASE Label="lu_modifylink_confirm" Module="Core" Type="0">TGluayBNb2RpZmljYXRpb24gQ29uZmlybWF0aW9u</PHRASE>
<PHRASE Label="lu_modifylink_confirm_text" Module="Core" Type="0">WW91ciBsaW5rIGhhcyBiZWVuIG1vZGlmaWVkLg==</PHRASE>
<PHRASE Label="lu_modifylink_pending_confirm" Module="Core" Type="0">TGluayBtb2RpZmljYXRpb24gY29tcGxldGU=</PHRASE>
<PHRASE Label="lu_modifylink_pending_confirm_text" Module="Core" Type="0">WW91ciBsaW5rIG1vZGlmaWNhdGlvbiBoYXMgYmVlbiBzdWJtaXR0ZWQgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbA==</PHRASE>
<PHRASE Label="lu_modify_link" Module="Core" Type="0">TW9kaWZ5IExpbms=</PHRASE>
<PHRASE Label="lu_more" Module="Core" Type="0">TW9yZQ==</PHRASE>
<PHRASE Label="lu_MoreDetails" Module="Core" Type="0">TW9yZSBkZXRhaWxz</PHRASE>
<PHRASE Label="lu_more_info" Module="Core" Type="0">TW9yZSBJbmZv</PHRASE>
<PHRASE Label="lu_msg_welcome" Module="Core" Type="0">V2VsY29tZQ==</PHRASE>
<PHRASE Label="lu_myaccount" Module="Core" Type="0">TXkgQWNjb3VudA==</PHRASE>
<PHRASE Label="lu_MyFavorites" Module="Core" Type="0">TXkgRmF2b3JpdGVz</PHRASE>
<PHRASE Label="lu_MyPreferences" Module="Core" Type="0">TXkgUHJlZmVyZW5jZXM=</PHRASE>
<PHRASE Label="lu_MyProfile" Module="Core" Type="0">TXkgUHJvZmlsZQ==</PHRASE>
<PHRASE Label="lu_my_articles" Module="Core" Type="0">TXkgQXJ0aWNsZXM=</PHRASE>
<PHRASE Label="lu_my_articles_description" Module="Core" Type="0">TmV3cyBBcnRpY2xlcyB5b3UgaGF2ZSB3cml0dGVu</PHRASE>
<PHRASE Label="lu_my_favorites" Module="Core" Type="0">TXkgRmF2b3JpdGVz</PHRASE>
<PHRASE Label="lu_my_favorites_description" Module="Core" Type="0">SXRlbXMgeW91IGhhdmUgbWFya2VkIGFzIGZhdm9yaXRl</PHRASE>
<PHRASE Label="lu_my_friends" Module="Core" Type="0">TXkgRnJpZW5kcw==</PHRASE>
<PHRASE Label="lu_my_friends_description" Module="Core" Type="0">VmlldyB5b3VyIGxpc3Qgb2YgZnJpZW5kcw==</PHRASE>
<PHRASE Label="lu_my_info" Module="Core" Type="0">TXkgUHJvZmlsZQ==</PHRASE>
<PHRASE Label="lu_my_info_description" Module="Core" Type="0">WW91ciBBY2NvdW50IEluZm9ybWF0aW9u</PHRASE>
<PHRASE Label="lu_my_items_title" Module="Core" Type="0">TXkgSXRlbXM=</PHRASE>
<PHRASE Label="lu_my_links" Module="Core" Type="0">TXkgTGlua3M=</PHRASE>
<PHRASE Label="lu_my_links_description" Module="Core" Type="0">TGlua3MgeW91IGhhdmUgYWRkZWQgdG8gdGhlIHN5c3RlbQ==</PHRASE>
<PHRASE Label="lu_my_link_favorites" Module="Core" Type="0">TXkgRmF2b3JpdGVz</PHRASE>
<PHRASE Label="lu_my_news" Module="Core" Type="0">TXkgTmV3cw==</PHRASE>
<PHRASE Label="lu_my_news_favorites" Module="Core" Type="0">RmF2b3JpdGUgQXJ0aWNsZXM=</PHRASE>
<PHRASE Label="lu_my_preferences" Module="Core" Type="0">TXkgUHJlZmVyZW5jZXM=</PHRASE>
<PHRASE Label="lu_my_preferences_description" Module="Core" Type="0">RWRpdCB5b3VyIEluLVBvcnRhbCBQcmVmZXJlbmNlcw==</PHRASE>
<PHRASE Label="lu_my_profile" Module="Core" Type="0">TXkgUHJvZmlsZQ==</PHRASE>
<PHRASE Label="lu_my_topics" Module="Core" Type="0">TXkgVG9waWNz</PHRASE>
<PHRASE Label="lu_my_topics_description" Module="Core" Type="0">RGlzY3Vzc2lvbnMgeW91IGhhdmUgY3JlYXRlZA==</PHRASE>
<PHRASE Label="lu_my_topic_favorites" Module="Core" Type="0">TXkgVG9waWNz</PHRASE>
<PHRASE Label="lu_Name" Module="Core" Type="0">TmFtZQ==</PHRASE>
<PHRASE Label="lu_nav_addlink" Module="Core" Type="0">QWRkIExpbms=</PHRASE>
<PHRASE Label="lu_new" Module="Core" Type="0">TmV3</PHRASE>
<PHRASE Label="lu_NewCustomers" Module="Core" Type="0">TmV3IEN1c3RvbWVycw==</PHRASE>
<PHRASE Label="lu_newpm_confirm" Module="Core" Type="0">TmV3IFByaXZhdGUgTWVzc2FnZSBDb25maXJtYXRpb24=</PHRASE>
<PHRASE Label="lu_newpm_confirm_text" Module="Core" Type="0">WW91ciBwcml2YXRlIG1lc3NhZ2UgaGFzIGJlZW4gc2VudC4=</PHRASE>
<PHRASE Label="lu_news" Module="Core" Type="0">TmV3cw==</PHRASE>
<PHRASE Label="lu_news_addreview_confirm_text" Module="Core" Type="0">VGhlIGFydGljbGUgcmV2aWV3IGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBkYXRhYmFzZS4=</PHRASE>
<PHRASE Label="lu_news_addreview_confirm__pending_text" Module="Core" Type="0">QXJ0aWNsZSByZXZpZXcgaGFzIGJlZW4gc3VibWl0dGVkIHBlbmRpbmcgYWRtaW5pc3RyYXRpdmUgYXBwcm92YWw=</PHRASE>
<PHRASE Label="lu_news_details" Module="Core" Type="0">TmV3cyBEZXRhaWxz</PHRASE>
<PHRASE Label="lu_news_rate_confirm" Module="Core" Type="0">UmF0ZSBBcnRpY2xlIFJlc3VsdHM=</PHRASE>
<PHRASE Label="lu_news_rate_confirm_duplicate_text" Module="Core" Type="0">WW91IGhhdmUgYWxyZWFkeSByYXRlZCB0aGlzIGFydGljbGU=</PHRASE>
<PHRASE Label="lu_news_rate_confirm_text" Module="Core" Type="0">VGhhbmsgeW91IGZvciByYXRpbmcgdGhpcyBhcnRpY2xlLiBZb3VyIHZvdGUgaGFzIGJlZW4gcmVjb3JkZWQu</PHRASE>
<PHRASE Label="lu_news_review_confirm" Module="Core" Type="0">VGhlIHJldmlldyBoYXMgYmVlbiBhZGRlZA==</PHRASE>
<PHRASE Label="lu_news_review_confirm_pending" Module="Core" Type="0">QXJ0aWNsZSByZXZpZXcgc3VibWl0dGVk</PHRASE>
<PHRASE Label="lu_news_search_results" Module="Core" Type="0">U2VhcmNoIFJlc3VsdHM=</PHRASE>
<PHRASE Label="lu_news_updated" Module="Core" Type="0">bmV3cyB1cGRhdGVk</PHRASE>
<PHRASE Label="lu_newtopic_confirm" Module="Core" Type="0">QWRkIFRvcGljIFJlc3VsdHM=</PHRASE>
<PHRASE Label="lu_newtopic_confirm_pending" Module="Core" Type="0">WW91ciB0b3BpYyBoYXMgYmVlbiBhZGRlZA==</PHRASE>
<PHRASE Label="lu_newtopic_confirm_pending_text" Module="Core" Type="0">VGhlIHN5c3RlbSBhZG1pbmlzdHJhdG9yIG11c3QgYXBwcm92ZSB5b3VyIHRvcGljIGJlZm9yZSBpdCBpcyBwdWJsaWNseSBhdmFpbGFibGUu</PHRASE>
<PHRASE Label="lu_newtopic_confirm_text" Module="Core" Type="0">VGhlIFRvcGljIHlvdSBoYXZlIGNyZWF0ZWQgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIHN5c3RlbQ==</PHRASE>
<PHRASE Label="lu_new_articles" Module="Core" Type="0">TmV3IGFydGljbGVz</PHRASE>
<PHRASE Label="lu_new_links" Module="Core" Type="0">TmV3IExpbmtz</PHRASE>
<PHRASE Label="lu_new_news" Module="Core" Type="0">TmV3IGFydGljbGVz</PHRASE>
<PHRASE Label="lu_new_pm" Module="Core" Type="0">TmV3IFByaXZhdGUgTWVzc2FnZQ==</PHRASE>
<PHRASE Label="lu_new_posts" Module="Core" Type="0">Rm9ydW0gaGFzIG5ldyBwb3N0cw==</PHRASE>
<PHRASE Label="lu_new_private_message" Module="Core" Type="0">TmV3IHByaXZhdGUgbWVzc2FnZQ==</PHRASE>
<PHRASE Label="lu_new_since_links" Module="Core" Type="0">TmV3IGxpbmtz</PHRASE>
<PHRASE Label="lu_new_since_news" Module="Core" Type="0">TmV3IGFydGljbGVz</PHRASE>
<PHRASE Label="lu_new_since_topics" Module="Core" Type="0">TmV3IHRvcGljcw==</PHRASE>
<PHRASE Label="lu_new_topic" Module="Core" Type="0">TmV3IFRvcGlj</PHRASE>
<PHRASE Label="lu_new_users" Module="Core" Type="0">TmV3IFVzZXJz</PHRASE>
<PHRASE Label="lu_no" Module="Core" Type="0">Tm8=</PHRASE>
<PHRASE Label="lu_NoAccess" Module="Core" Type="0">U29ycnksIHlvdSBoYXZlIG5vIGFjY2VzcyB0byB0aGlzIHBhZ2Uh</PHRASE>
<PHRASE Label="lu_NoCategories" Module="Core" Type="0">Tm8gQ2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="lu_NoFavorites" Module="Core" Type="0">Tm8gZmF2b3JpdGUgaXRlbXMgc2F2ZWQ=</PHRASE>
<PHRASE Label="lu_NoMembers" Module="Core" Type="0">Tm8gbWVtYmVycyBmb3VuZA==</PHRASE>
<PHRASE Label="lu_none" Module="Core" Type="0">Tm9uZQ==</PHRASE>
<PHRASE Label="lu_NoReviews" Module="Core" Type="0">QmUgdGhlIGZpcnN0IHRvIHJldmlldw==</PHRASE>
<PHRASE Label="lu_notify_owner" Module="Core" Type="0">Tm90aWZ5IG1lIHdoZW4gcG9zdHMgYXJlIG1hZGUgaW4gdGhpcyB0b3BpYw==</PHRASE>
<PHRASE Label="lu_NotLoggedIn" Module="Core" Type="0">bm90IGxvZ2dlZCBpbg==</PHRASE>
<PHRASE Label="lu_not_logged_in" Module="Core" Type="0">Tm90IGxvZ2dlZCBpbg==</PHRASE>
<PHRASE Label="lu_Nov" Module="Core" Type="0">Tm92</PHRASE>
<PHRASE Label="lu_no_articles" Module="Core" Type="0">Tm8gQXJ0aWNsZXM=</PHRASE>
<PHRASE Label="lu_no_categories" Module="Core" Type="0">Tm8gQ2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="lu_no_expiration" Module="Core" Type="0">Tm8gZXhwaXJhdGlvbg==</PHRASE>
<PHRASE Label="lu_no_favorites" Module="Core" Type="0">Tm8gZmF2b3JpdGVz</PHRASE>
<PHRASE Label="lu_no_items" Module="Core" Type="0">Tm8gSXRlbXM=</PHRASE>
<PHRASE Label="lu_no_keyword" Module="Core" Type="0">S2V5d29yZCBtaXNzaW5n</PHRASE>
<PHRASE Label="lu_no_links" Module="Core" Type="0">Tm8gTGlua3M=</PHRASE>
<PHRASE Label="lu_no_new_posts" Module="Core" Type="0">Rm9ydW0gaGFzIG5vIG5ldyBwb3N0cw==</PHRASE>
<PHRASE Label="lu_no_permissions" Module="Core" Type="0">Tm8gUGVybWlzc2lvbnM=</PHRASE>
<PHRASE Label="lu_no_related_categories" Module="Core" Type="0">Tm8gUmVsYXRlZCBDYXRlZ29yaWVz</PHRASE>
<PHRASE Label="lu_no_session_error" Module="Core" Type="0">RXJyb3I6IG5vIHNlc3Npb24=</PHRASE>
<PHRASE Label="lu_no_template_error" Module="Core" Type="0">TWlzc2luZyB0ZW1wbGF0ZQ==</PHRASE>
<PHRASE Label="lu_no_topics" Module="Core" Type="0">Tm8gVG9waWNz</PHRASE>
<PHRASE Label="lu_Oct" Module="Core" Type="0">T2N0</PHRASE>
<PHRASE Label="lu_of" Module="Core" Type="2">b2Y=</PHRASE>
<PHRASE Label="lu_offline" Module="Core" Type="0">T2ZmbGluZQ==</PHRASE>
<PHRASE Label="lu_ok" Module="Core" Type="0">T2s=</PHRASE>
<PHRASE Label="lu_OldToRecent" Module="Core" Type="0">T2xkIHRvIFJlY2VudA==</PHRASE>
<PHRASE Label="lu_on" Module="Core" Type="0">b24=</PHRASE>
<PHRASE Label="lu_online" Module="Core" Type="0">T25saW5l</PHRASE>
<PHRASE Label="lu_on_this_post" Module="Core" Type="0">b24gdGhpcyBwb3N0</PHRASE>
<PHRASE Label="lu_operation_notallowed" Module="Core" Type="0">WW91IGRvIG5vdCBoYXZlIGFjY2VzcyB0byBwZXJmb3JtIHRoaXMgb3BlcmF0aW9u</PHRASE>
<PHRASE Label="lu_optional" Module="Core" Type="0">T3B0aW9uYWw=</PHRASE>
<PHRASE Label="lu_options" Module="Core" Type="0">T3B0aW9ucw==</PHRASE>
<PHRASE Label="LU_Opt_SelectCategory" Module="Core" Type="0">U2VsZWN0IENhdGVnb3J5</PHRASE>
<PHRASE Label="lu_or" Module="Core" Type="0">b3I=</PHRASE>
<PHRASE Label="lu_page" Module="Core" Type="0">UGFnZQ==</PHRASE>
<PHRASE Label="lu_page_label" Module="Core" Type="0">UGFnZTo=</PHRASE>
<PHRASE Label="lu_password" Module="Core" Type="0">UGFzc3dvcmQ=</PHRASE>
<PHRASE Label="lu_passwords_do_not_match" Module="Core" Type="0">UGFzc3dvcmRzIGRvIG5vdCBtYXRjaA==</PHRASE>
<PHRASE Label="lu_passwords_too_short" Module="Core" Type="0">UGFzc3dvcmQgaXMgdG9vIHNob3J0LCBwbGVhc2UgZW50ZXIgYXQgbGVhc3QgJXMgY2hhcmFjdGVycw==</PHRASE>
<PHRASE Label="lu_password_again" Module="Core" Type="0">UGFzc3dvcmQgQWdhaW4=</PHRASE>
<PHRASE Label="lu_PendingItem" Module="Core" Type="0">cGVuZGluZyBpdGVt</PHRASE>
<PHRASE Label="lu_pending_approval" Module="Core" Type="0">UGVuZGluZyBBcHByb3ZhbA==</PHRASE>
<PHRASE Label="lu_PermName_Admin_desc" Module="Core" Type="1">QWRtaW4gTG9naW4=</PHRASE>
<PHRASE Label="lu_PermName_Category.AddPending_desc" Module="Core" Type="0">QWRkIFBlbmRpbmcgQ2F0ZWdvcnk=</PHRASE>
<PHRASE Label="lu_PermName_Category.Add_desc" Module="Core" Type="0">QWRkIENhdGVnb3J5</PHRASE>
<PHRASE Label="lu_PermName_Category.Delete_desc" Module="Core" Type="0">RGVsZXRlIENhdGVnb3J5</PHRASE>
<PHRASE Label="lu_PermName_Category.Modify_desc" Module="Core" Type="0">TW9kaWZ5IENhdGVnb3J5</PHRASE>
<PHRASE Label="lu_PermName_Category.View_desc" Module="Core" Type="0">VmlldyBDYXRlZ29yeQ==</PHRASE>
<PHRASE Label="lu_PermName_Debug.Info_desc" Module="Core" Type="1">QXBwZW5kIHBocGluZm8gdG8gYWxsIHBhZ2VzIChEZWJ1Zyk=</PHRASE>
<PHRASE Label="lu_PermName_Debug.Item_desc" Module="Core" Type="1">RGlzcGxheSBJdGVtIFF1ZXJpZXMgKERlYnVnKQ==</PHRASE>
<PHRASE Label="lu_PermName_Debug.List_desc" Module="Core" Type="1">RGlzcGxheSBJdGVtIExpc3QgUXVlcmllcyAoRGVidWcp</PHRASE>
<PHRASE Label="lu_PermName_favorites_desc" Module="Core" Type="2">QWxsb3cgZmF2b3JpdGVz</PHRASE>
<PHRASE Label="lu_PermName_Link.Add.Pending_desc" Module="Core" Type="0">UGVuZGluZyBMaW5r</PHRASE>
<PHRASE Label="lu_PermName_Link.Add_desc" Module="Core" Type="0">QWRkIExpbms=</PHRASE>
<PHRASE Label="lu_PermName_Link.Delete_desc" Module="Core" Type="0">RGVsZXRlIExpbms=</PHRASE>
<PHRASE Label="lu_PermName_Link.Modify.Pending_desc" Module="Core" Type="2">TW9kaWZ5IExpbmsgUGVuZGluZw==</PHRASE>
<PHRASE Label="lu_PermName_Link.Modify_desc" Module="Core" Type="0">TW9kaWZ5IExpbms=</PHRASE>
<PHRASE Label="lu_PermName_Link.Owner.Delete_desc" Module="Core" Type="2">TGluayBEZWxldGUgYnkgT3duZXI=</PHRASE>
<PHRASE Label="lu_PermName_Link.Owner.Modify.Pending_desc" Module="Core" Type="2">TGluayBNb2RpZnkgUGVuZGluZyBieSBPd25lcg==</PHRASE>
<PHRASE Label="lu_PermName_Link.Owner.Modify_desc" Module="Core" Type="2">TGluayBNb2RpZnkgYnkgT3duZXI=</PHRASE>
<PHRASE Label="lu_PermName_Link.Rate_desc" Module="Core" Type="0">UmF0ZSBMaW5r</PHRASE>
<PHRASE Label="lu_PermName_Link.Review_desc" Module="Core" Type="0">UmV2aWV3IExpbms=</PHRASE>
<PHRASE Label="lu_PermName_Link.Review_Pending_desc" Module="Core" Type="2">UmV2aWV3IExpbmsgUGVuZGluZw==</PHRASE>
<PHRASE Label="lu_PermName_Link.View_desc" Module="Core" Type="0">VmlldyBMaW5r</PHRASE>
<PHRASE Label="lu_PermName_Login_desc" Module="Core" Type="1">QWxsb3cgTG9naW4=</PHRASE>
<PHRASE Label="lu_PermName_News.Add.Pending_desc" Module="Core" Type="0">QWRkIFBlbmRpbmcgTmV3cw==</PHRASE>
<PHRASE Label="lu_PermName_News.Add_desc" Module="Core" Type="0">QWRkIE5ld3M=</PHRASE>
<PHRASE Label="lu_PermName_News.Delete_desc" Module="Core" Type="0">RGVsZXRlIE5ld3M=</PHRASE>
<PHRASE Label="lu_PermName_News.Modify_desc" Module="Core" Type="0">TW9kaWZ5IE5ld3M=</PHRASE>
<PHRASE Label="lu_PermName_News.Rate_desc" Module="Core" Type="0">UmF0ZSBOZXdz</PHRASE>
<PHRASE Label="lu_PermName_News.Review.Pending_desc" Module="Core" Type="2">UmV2aWV3IE5ld3MgUGVuZGluZw==</PHRASE>
<PHRASE Label="lu_PermName_News.Review_desc" Module="Core" Type="0">UmV2aWV3IE5ld3M=</PHRASE>
<PHRASE Label="lu_PermName_News.View_desc" Module="Core" Type="0">VmlldyBOZXdz</PHRASE>
<PHRASE Label="lu_PermName_Profile.Modify_desc" Module="Core" Type="1">Q2hhbmdlIFVzZXIgUHJvZmlsZXM=</PHRASE>
<PHRASE Label="lu_PermName_ShowLang_desc" Module="Core" Type="1">U2hvdyBMYW5ndWFnZSBUYWdz</PHRASE>
<PHRASE Label="lu_PermName_Topic.Add.Pending_desc" Module="Core" Type="0">QWRkIFBlbmRpbmcgVG9waWM=</PHRASE>
<PHRASE Label="lu_PermName_Topic.Add_desc" Module="Core" Type="0">QWRkIFRvcGlj</PHRASE>
<PHRASE Label="lu_PermName_Topic.Delete_desc" Module="Core" Type="0">RGVsZXRlIFRvcGlj</PHRASE>
<PHRASE Label="lu_PermName_Topic.Lock_desc" Module="Core" Type="1">TG9jay9VbmxvY2sgVG9waWNz</PHRASE>
<PHRASE Label="lu_PermName_Topic.Modify.Pending_desc" Module="Core" Type="1">TW9kaWZ5IFRvcGljIFBlbmRpbmc=</PHRASE>
<PHRASE Label="lu_PermName_Topic.Modify_desc" Module="Core" Type="0">TW9kaWZ5IFRvcGlj</PHRASE>
<PHRASE Label="lu_PermName_Topic.Owner.Delete_desc" Module="Core" Type="1">VG9waWMgT3duZXIgRGVsZXRl</PHRASE>
<PHRASE Label="lu_PermName_Topic.Owner.Modify.Pending_desc" Module="Core" Type="1">T3duZXIgTW9kaWZ5IFRvcGljIFBlbmRpbmc=</PHRASE>
<PHRASE Label="lu_PermName_Topic.Owner.Modify_desc" Module="Core" Type="1">VG9waWMgT3duZXIgTW9kaWZ5</PHRASE>
<PHRASE Label="lu_PermName_Topic.Rate_desc" Module="Core" Type="0">UmF0ZSBUb3BpYw==</PHRASE>
<PHRASE Label="lu_PermName_Topic.Reply.Add_desc" Module="Core" Type="0">QWRkIFRvcGljIFJlcGx5</PHRASE>
<PHRASE Label="lu_PermName_Topic.Reply.Delete_desc" Module="Core" Type="0">RGVsZXRlIFRvcGlj</PHRASE>
<PHRASE Label="lu_PermName_Topic.Reply.Modify_desc" Module="Core" Type="0">UmVwbHkgVG9waWMgTW9kaWZ5</PHRASE>
<PHRASE Label="lu_PermName_Topic.Reply.Owner.Delete_desc" Module="Core" Type="1">UG9zdCBPd25lciBEZWxldGU=</PHRASE>
<PHRASE Label="lu_PermName_Topic.Reply.Owner.Modify_desc" Module="Core" Type="1">UG9zdCBPd25lciBNb2RpZnk=</PHRASE>
<PHRASE Label="lu_PermName_Topic.Reply.View_desc" Module="Core" Type="0">VmlldyBUb3BpYyBSZXBseQ==</PHRASE>
<PHRASE Label="lu_PermName_Topic.Review_desc" Module="Core" Type="0">UmV2aWV3IFRvcGlj</PHRASE>
<PHRASE Label="lu_PermName_Topic.View_desc" Module="Core" Type="0">VmlldyBUb3BpYw==</PHRASE>
<PHRASE Label="lu_phone" Module="Core" Type="0">UGhvbmU=</PHRASE>
<PHRASE Label="lu_pick" Module="Core" Type="0">UGljaw==</PHRASE>
<PHRASE Label="lu_pick_links" Module="Core" Type="0">RWRpdG9yJ3MgUGljayBMaW5rcw==</PHRASE>
<PHRASE Label="lu_pick_news" Module="Core" Type="0">RWRpdG9yJ3MgUGljayBBcnRpY2xlcw==</PHRASE>
<PHRASE Label="lu_pick_topics" Module="Core" Type="0">RWRpdG9yJ3MgcGljayB0b3BpY3M=</PHRASE>
<PHRASE Label="lu_PleaseRegister" Module="Core" Type="0">UGxlYXNlIFJlZ2lzdGVy</PHRASE>
<PHRASE Label="lu_pm_delete_confirm" Module="Core" Type="0">QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHByaXZhdGUgbWVzc2FnZT8=</PHRASE>
<PHRASE Label="lu_pm_list" Module="Core" Type="0">UHJpdmF0ZSBNZXNzYWdlcw==</PHRASE>
<PHRASE Label="lu_pm_list_description" Module="Core" Type="0">UHJpdmF0ZSBNZXNzYWdlcw==</PHRASE>
<PHRASE Label="lu_Pop" Module="Core" Type="0">UG9wdWxhcg==</PHRASE>
<PHRASE Label="lu_pop_links" Module="Core" Type="0">TW9zdCBQb3B1bGFyIExpbmtz</PHRASE>
<PHRASE Label="lu_post" Module="Core" Type="0">UG9zdA==</PHRASE>
<PHRASE Label="lu_posted" Module="Core" Type="0">UG9zdGVk</PHRASE>
<PHRASE Label="lu_poster" Module="Core" Type="0">UG9zdGVy</PHRASE>
<PHRASE Label="lu_posts" Module="Core" Type="0">cG9zdHM=</PHRASE>
<PHRASE Label="lu_posts_updated" Module="Core" Type="0">cG9zdHMgdXBkYXRlZA==</PHRASE>
<PHRASE Label="lu_PoweredBy" Module="Core" Type="0">UG93ZXJlZCBieQ==</PHRASE>
<PHRASE Label="lu_pp_city" Module="Core" Type="0">Q2l0eQ==</PHRASE>
<PHRASE Label="lu_pp_company" Module="Core" Type="0">Q29tcGFueQ==</PHRASE>
<PHRASE Label="lu_pp_country" Module="Core" Type="0">Q291bnRyeQ==</PHRASE>
<PHRASE Label="lu_pp_dob" Module="Core" Type="0">QmlydGhkYXRl</PHRASE>
<PHRASE Label="lu_pp_email" Module="Core" Type="0">RS1tYWls</PHRASE>
<PHRASE Label="lu_pp_fax" Module="Core" Type="0">RmF4</PHRASE>
<PHRASE Label="lu_pp_firstname" Module="Core" Type="0">Rmlyc3QgTmFtZQ==</PHRASE>
<PHRASE Label="lu_pp_lastname" Module="Core" Type="0">TGFzdCBOYW1l</PHRASE>
<PHRASE Label="lu_pp_phone" Module="Core" Type="0">UGhvbmU=</PHRASE>
<PHRASE Label="lu_pp_state" Module="Core" Type="0">U3RhdGU=</PHRASE>
<PHRASE Label="lu_pp_street" Module="Core" Type="0">U3RyZWV0</PHRASE>
<PHRASE Label="lu_pp_street2" Module="Core" Type="0">U3RyZWV0IDI=</PHRASE>
<PHRASE Label="lu_pp_zip" Module="Core" Type="0">Wmlw</PHRASE>
<PHRASE Label="lu_privacy" Module="Core" Type="0">UHJpdmFjeQ==</PHRASE>
<PHRASE Label="lu_PrivacyPolicy" Module="Core" Type="0">UHJpdmFjeSBQb2xpY3k=</PHRASE>
<PHRASE Label="lu_privatemessages_updated" Module="Core" Type="0">UHJpdmF0ZSBtZXNzYWdlcyB1cGRhdGVk</PHRASE>
<PHRASE Label="lu_private_messages" Module="Core" Type="0">UHJpdmF0ZSBNZXNzYWdlcw==</PHRASE>
<PHRASE Label="lu_ProductsUpdated" Module="Core" Type="0">UHJvZHVjdHMgdXBkYXRlZA==</PHRASE>
<PHRASE Label="lu_profile" Module="Core" Type="0">UHJvZmlsZQ==</PHRASE>
<PHRASE Label="lu_profile_field" Module="Core" Type="0">UHJvZmlsZQ==</PHRASE>
<PHRASE Label="lu_profile_updated" Module="Core" Type="0">cHJvZmlsZSB1cGRhdGVk</PHRASE>
<PHRASE Label="lu_prompt_avatar" Module="Core" Type="0">QXZhdGFyIEltYWdl</PHRASE>
<PHRASE Label="lu_prompt_catdesc" Module="Core" Type="0">RGVzY3JpcHRpb24=</PHRASE>
<PHRASE Label="lu_prompt_catname" Module="Core" Type="0">Q2F0ZWdvcnkgTmFtZQ==</PHRASE>
<PHRASE Label="lu_prompt_email" Module="Core" Type="0">RW1haWw=</PHRASE>
<PHRASE Label="lu_prompt_fullimage" Module="Core" Type="0">RnVsbC1TaXplIEltYWdlOg==</PHRASE>
<PHRASE Label="lu_prompt_linkdesc" Module="Core" Type="0">RGVzY3JpcHRpb24=</PHRASE>
<PHRASE Label="lu_prompt_linkname" Module="Core" Type="0">TGluayBOYW1l</PHRASE>
<PHRASE Label="lu_prompt_linkurl" Module="Core" Type="0">VVJM</PHRASE>
<PHRASE Label="lu_prompt_metadesc" Module="Core" Type="0">TWV0YSBUYWcgRGVzY3JpcHRpb24=</PHRASE>
<PHRASE Label="lu_prompt_metakeywords" Module="Core" Type="0">TWV0YSBUYWcgS2V5d29yZHM=</PHRASE>
<PHRASE Label="lu_prompt_password" Module="Core" Type="0">UGFzc3dvcmQ=</PHRASE>
<PHRASE Label="lu_prompt_perpage_posts" Module="Core" Type="0">UG9zdHMgUGVyIFBhZ2U=</PHRASE>
<PHRASE Label="lu_prompt_perpage_topics" Module="Core" Type="0">VG9waWNzIFBlciBQYWdl</PHRASE>
<PHRASE Label="lu_prompt_post_subject" Module="Core" Type="0">UG9zdCBTdWJqZWN0</PHRASE>
<PHRASE Label="lu_prompt_recommend" Module="Core" Type="0">UmVjb21tZW5kIHRoaXMgc2l0ZSB0byBhIGZyaWVuZA==</PHRASE>
<PHRASE Label="lu_prompt_review" Module="Core" Type="0">UmV2aWV3Og==</PHRASE>
<PHRASE Label="lu_prompt_signature" Module="Core" Type="0">U2lnbmF0dXJl</PHRASE>
<PHRASE Label="lu_prompt_subscribe" Module="Core" Type="0">RW50ZXIgeW91ciBlLW1haWwgYWRkcmVzcyB0byBzdWJzY3JpYmUgdG8gdGhlIG1haWxpbmcgbGlzdC4=</PHRASE>
<PHRASE Label="lu_prompt_thumbnail" Module="Core" Type="0">VGh1bWJuYWlsIEltYWdlOg==</PHRASE>
<PHRASE Label="lu_prompt_username" Module="Core" Type="0">VXNlcm5hbWU=</PHRASE>
<PHRASE Label="lu_public_display" Module="Core" Type="0">RGlzcGxheSB0byBQdWJsaWM=</PHRASE>
<PHRASE Label="lu_query_string" Module="Core" Type="1">UXVlcnkgU3RyaW5n</PHRASE>
<PHRASE Label="lu_question" Module="Core" Type="2">UXVlc3Rpb25z</PHRASE>
<PHRASE Label="lu_QuickSearch" Module="Core" Type="0">UXVpY2sgU2VhcmNo</PHRASE>
<PHRASE Label="lu_quick_links" Module="Core" Type="0">UXVpY2sgTGlua3M=</PHRASE>
<PHRASE Label="lu_quote_reply" Module="Core" Type="0">UmVwbHkgUXVvdGVk</PHRASE>
<PHRASE Label="lu_rateit" Module="Core" Type="0">UmF0ZSBUaGlzIExpbms=</PHRASE>
<PHRASE Label="lu_rate_access_denied" Module="Core" Type="0">VW5hYmxlIHRvIHJhdGUsIGFjY2VzcyBkZW5pZWQ=</PHRASE>
<PHRASE Label="lu_rate_article" Module="Core" Type="0">UmF0ZSB0aGlzIGFydGljbGU=</PHRASE>
<PHRASE Label="lu_rate_link" Module="Core" Type="0">UmF0ZSBMaW5r</PHRASE>
<PHRASE Label="lu_rate_news" Module="Core" Type="0">UmF0ZSBBcnRpY2xl</PHRASE>
<PHRASE Label="lu_rate_this_article" Module="Core" Type="0">UmF0ZSB0aGlzIGFydGljbGU=</PHRASE>
<PHRASE Label="lu_rate_topic" Module="Core" Type="0">UmF0ZSBUb3BpYw==</PHRASE>
<PHRASE Label="lu_rating" Module="Core" Type="0">UmF0aW5n</PHRASE>
<PHRASE Label="lu_RatingHL" Module="Core" Type="0">UmF0aW5nIEhpIHRvIExvdw==</PHRASE>
<PHRASE Label="lu_RatingLH" Module="Core" Type="0">UmF0aW5nIExvdyB0byBIaQ==</PHRASE>
<PHRASE Label="lu_rating_0" Module="Core" Type="0">UG9vcg==</PHRASE>
<PHRASE Label="lu_rating_1" Module="Core" Type="0">RmFpcg==</PHRASE>
<PHRASE Label="lu_rating_2" Module="Core" Type="0">QXZlcmFnZQ==</PHRASE>
<PHRASE Label="lu_rating_3" Module="Core" Type="0">R29vZA==</PHRASE>
<PHRASE Label="lu_rating_4" Module="Core" Type="0">VmVyeSBHb29k</PHRASE>
<PHRASE Label="lu_rating_5" Module="Core" Type="0">RXhjZWxsZW50</PHRASE>
<PHRASE Label="lu_rating_alreadyvoted" Module="Core" Type="0">QWxyZWFkeSB2b3RlZA==</PHRASE>
<PHRASE Label="lu_read_error" Module="Core" Type="0">VW5hYmxlIHRvIHJlYWQgZnJvbSBmaWxl</PHRASE>
<PHRASE Label="lu_RecentToOld" Module="Core" Type="0">UmVjZW50IHRvIE9sZA==</PHRASE>
<PHRASE Label="lu_recipent_required" Module="Core" Type="0">VGhlIHJlY2lwaWVudCBpcyByZXF1aXJlZA==</PHRASE>
<PHRASE Label="lu_recipient_doesnt_exist" Module="Core" Type="0">VXNlciBkb2VzIG5vdCBleGlzdA==</PHRASE>
<PHRASE Label="lu_recipient_doesnt_exit" Module="Core" Type="0">VGhlIHJlY2lwaWVudCBkb2VzIG5vdCBleGlzdA==</PHRASE>
<PHRASE Label="lu_recommend" Module="Core" Type="0">UmVjb21tZW5k</PHRASE>
<PHRASE Label="lu_RecommendToFriend" Module="Core" Type="0">UmVjb21tZW5kIHRvIGEgRnJpZW5k</PHRASE>
<PHRASE Label="lu_recommend_confirm" Module="Core" Type="0">UmVjb21tZW5kYXRpb24gQ29uZmlybWF0aW9u</PHRASE>
<PHRASE Label="lu_recommend_confirm_text" Module="Core" Type="0">VGhhbmtzIGZvciByZWNvbW1lbmRpbmcgb3VyIHNpdGUgdG8geW91ciBmcmllbmQuIFRoZSBlbWFpbCBoYXMgYmVlbiBzZW50IG91dC4=</PHRASE>
<PHRASE Label="lu_recommend_title" Module="Core" Type="0">UmVjb21tZW5kIHRvIGEgZnJpZW5k</PHRASE>
<PHRASE Label="lu_redirecting_text" Module="Core" Type="0">Q2xpY2sgaGVyZSBpZiB5b3VyIGJyb3dzZXIgZG9lcyBub3QgYXV0b21hdGljYWxseSByZWRpcmVjdCB5b3Uu</PHRASE>
<PHRASE Label="lu_redirecting_title" Module="Core" Type="0">UmVkaXJlY3RpbmcgLi4u</PHRASE>
<PHRASE Label="lu_register" Module="Core" Type="0">UmVnaXN0ZXI=</PHRASE>
<PHRASE Label="lu_RegisterConfirm" Module="Core" Type="0">UmVnaXN0cmF0aW9uIENvbmZpcm1hdGlvbg==</PHRASE>
<PHRASE Label="lu_register_confirm" Module="Core" Type="0">UmVnaXN0cmF0aW9uIENvbXBsZXRl</PHRASE>
<PHRASE Label="lu_register_confirm_text" Module="Core" Type="0">VGhhbmsgeW91IGZvciBSZWdpc3RlcmluZyEgIFBsZWFzZSBlbnRlciB5b3VyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBiZWxvdw==</PHRASE>
<PHRASE Label="lu_register_text" Module="Core" Type="2">UmVnaXN0ZXIgd2l0aCBJbi1Qb3J0YWwgZm9yIGNvbnZlbmllbnQgYWNjZXNzIHRvIHVzZXIgYWNjb3VudCBzZXR0aW5ncyBhbmQgcHJlZmVyZW5jZXMu</PHRASE>
<PHRASE Label="lu_RegistrationCompleted" Module="Core" Type="0">VGhhbmsgWW91LiBSZWdpc3RyYXRpb24gY29tcGxldGVkLg==</PHRASE>
<PHRASE Label="lu_RegistrationEmailed" Module="Core" Type="0">WW91ciBsb2dpbiBpbmZvcm1hdGlvbiBoYXMgYmVlbiBlbWFpbGVkIHRvIHlvdS4gUGxlYXNlIGNoZWNrIHlvdXIgZW1haWwu</PHRASE>
<PHRASE Label="lu_related_articles" Module="Core" Type="0">UmVsYXRlZCBhcnRpY2xlcw==</PHRASE>
<PHRASE Label="lu_related_categories" Module="Core" Type="0">UmVsYXRlZCBDYXRlZ29yaWVz</PHRASE>
<PHRASE Label="lu_related_cats" Module="Core" Type="0">UmVsYXRlZCBDYXRlZ29yaWVz</PHRASE>
<PHRASE Label="lu_related_links" Module="Core" Type="0">UmVsYXRlZCBMaW5rcw==</PHRASE>
<PHRASE Label="lu_related_news" Module="Core" Type="0">UmVsYXRlZCBOZXdz</PHRASE>
<PHRASE Label="lu_Relevance" Module="Core" Type="0">UmVsZXZhbmNl</PHRASE>
<PHRASE Label="lu_remember_login" Module="Core" Type="0">UmVtZW1iZXIgTG9naW4=</PHRASE>
<PHRASE Label="lu_remove" Module="Core" Type="0">UmVtb3Zl</PHRASE>
<PHRASE Label="lu_remove_from_favorites" Module="Core" Type="0">UmVtb3ZlIEZyb20gRmF2b3JpdGVz</PHRASE>
<PHRASE Label="lu_repeat_password" Module="Core" Type="0">UmVwZWF0IFBhc3N3b3Jk</PHRASE>
<PHRASE Label="lu_replies" Module="Core" Type="0">UmVwbGllcw==</PHRASE>
<PHRASE Label="lu_reply" Module="Core" Type="0">UmVwbHk=</PHRASE>
<PHRASE Label="lu_required_field" Module="Core" Type="0">UmVxdWlyZWQgRmllbGQ=</PHRASE>
<PHRASE Label="lu_reset" Module="Core" Type="0">UmVzZXQ=</PHRASE>
<PHRASE Label="lu_resetpw_confirm_text" Module="Core" Type="0">QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IHRoZSBwYXNzd29yZD8=</PHRASE>
<PHRASE Label="lu_reset_confirm_text" Module="Core" Type="0">UGxlYXNlIGNvbmZpcm0gdGhhdCB5b3Ugd2FudCB0byByZXNldCB5b3VyIHBhc3N3b3JkLg==</PHRASE>
<PHRASE Label="lu_ReturnToHome" Module="Core" Type="0">UmV0dXJuIHRvIGhvbWVwYWdl</PHRASE>
<PHRASE Label="lu_reviews" Module="Core" Type="0">UmV2aWV3cw==</PHRASE>
<PHRASE Label="lu_reviews_updated" Module="Core" Type="0">cmV2aWV3cyB1cGRhdGVk</PHRASE>
<PHRASE Label="lu_review_access_denied" Module="Core" Type="0">VW5hYmxlIHRvIHJldmlldywgYWNjZXNzIGRlbmllZA==</PHRASE>
<PHRASE Label="lu_review_article" Module="Core" Type="0">UmV2aWV3IGFydGljbGU=</PHRASE>
<PHRASE Label="lu_review_link" Module="Core" Type="0">UmV2aWV3IExpbms=</PHRASE>
<PHRASE Label="lu_review_news" Module="Core" Type="0">UmV2aWV3IG5ld3MgYXJ0aWNsZQ==</PHRASE>
<PHRASE Label="lu_review_this_article" Module="Core" Type="0">UmV2aWV3IHRoaXMgYXJ0aWNsZQ==</PHRASE>
<PHRASE Label="lu_rootcategory_name" Module="Core" Type="0">SG9tZQ==</PHRASE>
<PHRASE Label="lu_search" Module="Core" Type="0">U2VhcmNo</PHRASE>
<PHRASE Label="lu_searched_for" Module="Core" Type="0">U2VhcmNoZWQgRm9yOg==</PHRASE>
<PHRASE Label="lu_SearchProducts" Module="Core" Type="0">U2VhcmNoIFByb2R1Y3Rz</PHRASE>
<PHRASE Label="lu_searchtitle_article" Module="Core" Type="0">U2VhcmNoIEFydGljbGVz</PHRASE>
<PHRASE Label="lu_searchtitle_category" Module="Core" Type="0">U2VhcmNoIENhdGVnb3JpZXM=</PHRASE>
<PHRASE Label="lu_searchtitle_link" Module="Core" Type="0">U2VhcmNoIExpbmtz</PHRASE>
<PHRASE Label="lu_searchtitle_topic" Module="Core" Type="0">U2VhcmNoIFRvcGljcw==</PHRASE>
<PHRASE Label="lu_search_again" Module="Core" Type="0">U2VhcmNoIEFnYWlu</PHRASE>
<PHRASE Label="lu_search_error" Module="Core" Type="0">Rm9ybSBFcnJvcg==</PHRASE>
<PHRASE Label="lu_search_results" Module="Core" Type="0">U2VhcmNoIFJlc3VsdHM=</PHRASE>
<PHRASE Label="lu_search_tips_link" Module="Core" Type="0">U2VhcmNoIFRpcHM=</PHRASE>
<PHRASE Label="lu_search_type" Module="Core" Type="0">U2VhcmNoIFR5cGU=</PHRASE>
<PHRASE Label="lu_search_within" Module="Core" Type="0">U2VhcmNoIFJlc3VsdHM=</PHRASE>
<PHRASE Label="lu_section_AdditionalImages" Module="Core" Type="0">QWRkaXRpb25hbCBJbWFnZXM=</PHRASE>
<PHRASE Label="lu_section_Images" Module="Core" Type="0">SW1hZ2Vz</PHRASE>
<PHRASE Label="lu_section_MyAccount" Module="Core" Type="0">TXlBY2NvdW50</PHRASE>
<PHRASE Label="lu_section_MyItems" Module="Core" Type="0">TXkgSXRlbXM=</PHRASE>
<PHRASE Label="lu_section_Reviews" Module="Core" Type="0">UmV2aWV3cw==</PHRASE>
<PHRASE Label="lu_see_also" Module="Core" Type="0">U2VlIEFsc28=</PHRASE>
<PHRASE Label="lu_select_language" Module="Core" Type="0">U2VsZWN0IExhbmd1YWdl</PHRASE>
<PHRASE Label="lu_select_theme" Module="Core" Type="0">U2VsZWN0IFRoZW1l</PHRASE>
<PHRASE Label="lu_select_username" Module="Core" Type="0">U2VsZWN0IFVzZXJuYW1l</PHRASE>
<PHRASE Label="lu_send" Module="Core" Type="0">U2VuZA==</PHRASE>
<PHRASE Label="lu_send_pm" Module="Core" Type="0">U2VuZCBQcml2YXRlIE1lc3NhZ2U=</PHRASE>
<PHRASE Label="lu_sent" Module="Core" Type="0">U2VudA==</PHRASE>
<PHRASE Label="lu_Sep" Module="Core" Type="0">U2Vw</PHRASE>
<PHRASE Label="lu_ShoppingCart" Module="Core" Type="0">U2hvcHBpbmcgQ2FydA==</PHRASE>
<PHRASE Label="lu_show" Module="Core" Type="0">U2hvdw==</PHRASE>
<PHRASE Label="lu_show_signature" Module="Core" Type="0">U2hvdyBTaWduYXR1cmU=</PHRASE>
<PHRASE Label="lu_show_user_signatures" Module="Core" Type="0">U2hvdyBNeSBTaWduYXR1cmU=</PHRASE>
<PHRASE Label="lu_SiteLead_Story" Module="Core" Type="0">U2l0ZSBMZWFkIFN0b3J5</PHRASE>
<PHRASE Label="lu_SiteMap" Module="Core" Type="0">U2l0ZW1hcA==</PHRASE>
<PHRASE Label="lu_site_map" Module="Core" Type="0">U2l0ZSBNYXA=</PHRASE>
<PHRASE Label="lu_smileys" Module="Core" Type="0">U21pbGV5cw==</PHRASE>
<PHRASE Label="lu_sorted_list" Module="Core" Type="0">U29ydGVkIGxpc3Q=</PHRASE>
<PHRASE Label="lu_sort_by" Module="Core" Type="0">U29ydA==</PHRASE>
<PHRASE Label="lu_state" Module="Core" Type="0">U3RhdGU=</PHRASE>
<PHRASE Label="lu_Statistics" Module="Core" Type="0">U3RhdGlzdGljcw==</PHRASE>
<PHRASE Label="lu_street" Module="Core" Type="0">U3RyZWV0</PHRASE>
<PHRASE Label="lu_street2" Module="Core" Type="0">U3RyZWV0IDI=</PHRASE>
<PHRASE Label="lu_subaction_prompt" Module="Core" Type="0">QWxzbyBZb3UgQ2FuOg==</PHRASE>
<PHRASE Label="lu_subcats" Module="Core" Type="0">U3ViY2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="lu_subject" Module="Core" Type="0">U3ViamVjdA==</PHRASE>
<PHRASE Label="lu_submitting_to" Module="Core" Type="0">U3VibWl0dGluZyB0bw==</PHRASE>
<PHRASE Label="lu_subscribe_banned" Module="Core" Type="0">U3Vic2NyaXB0aW9uIGRlbmllZA==</PHRASE>
<PHRASE Label="lu_subscribe_confirm" Module="Core" Type="0">U3Vic2NyaXB0aW9uIENvbmZpcm1hdGlvbg==</PHRASE>
<PHRASE Label="lu_subscribe_confirm_prompt" Module="Core" Type="0">QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHN1YnNjcmliZSB0byBvdXIgbWFpbGluZyBsaXN0PyAoWW91IGNhbiB1bnN1YnNjcmliZSBhbnkgdGltZSBieSBlbnRlcmluZyB5b3VyIGVtYWlsIG9uIHRoZSBmcm9udCBwYWdlKS4=</PHRASE>
<PHRASE Label="lu_subscribe_confirm_text" Module="Core" Type="0">VGhhbmsgeW91IGZvciBzdWJzY3JpYmluZyB0byBvdXIgbWFpbGluZyBsaXN0IQ==</PHRASE>
<PHRASE Label="lu_subscribe_error" Module="Core" Type="0">Rm9ybSBFcnJvcg==</PHRASE>
<PHRASE Label="lu_subscribe_missing_address" Module="Core" Type="0">TWlzc2luZyBlbWFpbCBhZGRyZXNz</PHRASE>
<PHRASE Label="lu_subscribe_no_address" Module="Core" Type="0">RS1tYWlsIGFkZHJlc3MgbWlzc2luZyBvciBpbnZhbGlk</PHRASE>
<PHRASE Label="lu_subscribe_success" Module="Core" Type="0">U3Vic2NyaXB0aW9uIHN1Y2Nlc3NmdWw=</PHRASE>
<PHRASE Label="lu_subscribe_title" Module="Core" Type="0">U3Vic2NyaWJlZA==</PHRASE>
<PHRASE Label="lu_subscribe_unknown_error" Module="Core" Type="0">VW5kZWZpbmVkIGVycm9yIG9jY3VycmVkLCBzdWJzY3JpcHRpb24gbm90IGNvbXBsZXRlZA==</PHRASE>
<PHRASE Label="lu_subsection_Categories" Module="Core" Type="0">U3VibWl0dGluZyB0byBDYXRlZ29yaWVz</PHRASE>
<PHRASE Label="lu_SuggestCategory" Module="Core" Type="0">U3VnZ2VzdCBDYXRlZ29yeQ==</PHRASE>
<PHRASE Label="lu_suggest_category" Module="Core" Type="0">U3VnZ2VzdCBDYXRlZ29yeQ==</PHRASE>
<PHRASE Label="lu_suggest_category_pending" Module="Core" Type="0">Q2F0ZWdvcnkgU3VnZ2VzdGVkIChQZW5kaW5nIEFwcHJvdmFsKQ==</PHRASE>
<PHRASE Label="lu_suggest_error" Module="Core" Type="0">Rm9ybSBFcnJvcg==</PHRASE>
<PHRASE Label="lu_suggest_link" Module="Core" Type="0">U3VnZ2VzdCBMaW5r</PHRASE>
<PHRASE Label="lu_suggest_no_address" Module="Core" Type="0">RS1tYWlsIGFkZHJlc3MgbWlzc2luZyBvciBpbnZhbGlk</PHRASE>
<PHRASE Label="lu_suggest_success" Module="Core" Type="0">VGhhbmsgeW91IGZvciBzdWdnZXN0aW5nIG91ciBzaXRlIHRv</PHRASE>
<PHRASE Label="lu_tab_Privacy" Module="Core" Type="0">UHJpdmFjeQ==</PHRASE>
<PHRASE Label="lu_template_error" Module="Core" Type="0">VGVtcGxhdGUgRXJyb3I=</PHRASE>
<PHRASE Label="lu_TermAndCondition" Module="Core" Type="0">VGVybXMgYW5kIENvbmRpdGlvbnMgb2YgVXNl</PHRASE>
<PHRASE Label="lu_TextUnsubscribe" Module="Core" Type="0">IFdlIGFyZSBzb3JyeSB5b3UgaGF2ZSB1bnN1YnNjcmliZWQgZnJvbSBvdXIgbWFpbGluZyBsaXN0</PHRASE>
<PHRASE Label="lu_text_DisabledAccountWarning" Module="Core" Type="0">WW91ciB1c2VyIGFjY291bnQgaXMgY3VycmVudGx5IHBlbmRpbmcgb3IgZGlzYWJsZWQuIElmIHlvdSBoYXZlIHJlZ2lzdHJlZCByZWNlbnRseSwgcGxlYXNlIHdhaXQgdW50aWwgeW91ciBhY2NvdW50IHdpbGwgYmUgYXBwcm92ZWQsIG90aGVyd2lzZSBwbGVhc2Ugd3JpdGU=</PHRASE>
<PHRASE Label="lu_text_ForgotPassHasBeenReset" Module="Core" Type="0">WW91ciBwYXNzd29yZCBoYXMgYmVlbiByZXNldC4gVGhlIG5ldyBwYXNzd29yZCBoYXMgYmVlbiBzZW50IHRvIHlvdXIgZS1tYWlsIGFkZHJlc3MuIFlvdSBtYXkgbm93IGxvZ2luIHdpdGggdGhlIG5ldyBwYXNzd29yZC4=</PHRASE>
<PHRASE Label="lu_text_ForgotPassResetEmailSent" Module="Core" Type="0">WW91IGhhdmUgY2hvc2VuIHRvIHJlc2V0IHlvdXIgcGFzc3dvcmQuPEJSLz48QlIvPg0KQW4gYXV0b21hdGljIGVtYWlsIGhhcyBiZWVuIHNlbnQgdG8geW91ciBlbWFpbCBhZGRyZXNzIG9uIGZpbGUuIFBsZWFzZSBmb2xsb3cgdGhlIGxpbmsgaW4gdGhlIGVtYWlsIGluIG9yZGVyIHRvIHJlY2VpdmUgYSBuZXcgcGFzc3dvcmQu</PHRASE>
<PHRASE Label="lu_text_keyword" Module="Core" Type="0">S2V5d29yZA==</PHRASE>
<PHRASE Label="lu_text_KeywordsTooShort" Module="Core" Type="0">VGhlIGtleXdvcmQgaXMgdG9vIHNob3J0</PHRASE>
<PHRASE Label="lu_text_NoPermission" Module="Core" Type="0">Tm8gcGVybWlzc2lvbnMgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbg==</PHRASE>
<PHRASE Label="lu_text_nosuggestcategorypermission" Module="Core" Type="0">Tm8gcGVybWlzc2lvbnMgdG8gc3VnZ2VzdCBuZXcgY2F0ZWdvcmllcyBpbnRvIGN1cnJlbnQgY2F0ZWdvcnku</PHRASE>
<PHRASE Label="lu_text_NothingFound" Module="Core" Type="0">Tm90aGluZyBGb3VuZA==</PHRASE>
<PHRASE Label="lu_text_pagenotfound" Module="Core" Type="0">NDA0LiBQYWdlIG5vdCBmb3VuZCBvbiB0aGUgc2VydmVyLg==</PHRASE>
<PHRASE Label="lu_text_PasswordRequestConfirm" Module="Core" Type="0">UGxlYXNlIGNvbmZpcm0gdGhhdCB5b3Ugd2FudCB0byByZXNldCB5b3VyIHBhc3N3b3JkLg==</PHRASE>
<PHRASE Label="lu_text_registrationpending" Module="Core" Type="0">VGhhbmsgeW91IGZvciByZWdpc3RlcmluZyBvbiBvdXIgd2Vic2l0ZS4gWW91ciByZWdpc3RyYXRpb24gaXMgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4gWW91IHdpbGwgZ2V0IGEgc2VwYXJhdGUgZW1haWwgb25jZSBpdCdzIGFjdGl2YXRlZC4=</PHRASE>
<PHRASE Label="lu_text_suggestcategoryconfirm" Module="Core" Type="0">VGhhbmsgeW91IGZvciBzdWdnZXN0aW5nIHlvdXIgY2F0ZWdvcnku</PHRASE>
<PHRASE Label="lu_text_SuggestCategoryPendingConfirm" Module="Core" Type="0">U3VnZ2VzdGVkIGNhdGVnb3J5IGlzIHBlbmRpbmcgZm9yIEFkbWluaXN0cmF0aXZlIGFwcHJvdmFsIA==</PHRASE>
<PHRASE Label="lu_text_ThankYou" Module="Core" Type="0">VGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHlvdXIgcmVxdWVzdC4=</PHRASE>
<PHRASE Label="lu_ThankForSubscribing" Module="Core" Type="0">VGhhbmsgeW91IGZvciBzdWJzY3JpYmluZyB0byBvdXIgbWFpbGluZyBsaXN0</PHRASE>
<PHRASE Label="lu_ThanksForVoting" Module="Core" Type="0">VGhhbmtzIGZvciBWb3Rpbmch</PHRASE>
<PHRASE Label="lu_ThisCategory" Module="Core" Type="0">Q3VycmVudCBDYXRlZ29yeQ==</PHRASE>
<PHRASE Label="lu_title_ActionBox" Module="Core" Type="0">QWN0aW9uIEJveA==</PHRASE>
<PHRASE Label="lu_title_AddAddress" Module="Core" Type="0">QWRkaW5nIEFkZHJlc3M=</PHRASE>
<PHRASE Label="lu_title_Advertisements" Module="Core" Type="0">QWR2ZXJ0aXNlbWVudHM=</PHRASE>
<PHRASE Label="lu_title_Categories" Module="Core" Type="0">Q2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="lu_title_confirm" Module="Core" Type="0">Q29uZmlybWF0aW9u</PHRASE>
<PHRASE Label="lu_title_ContentPages" Module="Core" Type="0">Q29udGVudCBQYWdlcw==</PHRASE>
<PHRASE Label="lu_title_DisabledAccountWarning" Module="Core" Type="0">UGVuZGluZyBvciBkaXNhYmxlZCB1c2VyIGFjY291bnQgd2FybmluZw==</PHRASE>
<PHRASE Label="lu_title_EditAddress" Module="Core" Type="0">RWRpdCBBZGRyZXNz</PHRASE>
<PHRASE Label="lu_title_enhancementconfirmation" Module="Core" Type="0">WW91ciBGYXZvcml0ZSBJdGVtcw==</PHRASE>
<PHRASE Label="lu_title_Favorites" Module="Core" Type="0">WW91ciBGYXZvcml0ZXM=</PHRASE>
<PHRASE Label="lu_title_ForgotPassword" Module="Core" Type="0">Rm9yZ290IFBhc3N3b3Jk</PHRASE>
<PHRASE Label="lu_title_forgotpasswordconfirm" Module="Core" Type="0">Rm9yZ290IFBhc3N3b3JkIENvbmZpcm1hdGlvbg==</PHRASE>
<PHRASE Label="lu_title_ForgotPasswordNotification" Module="Core" Type="0">Rm9yZ290IFBhc3N3b3JkIE5vdGlmaWNhdGlvbg==</PHRASE>
<PHRASE Label="lu_title_LoginBox" Module="Core" Type="0">TG9naW4gQm94</PHRASE>
<PHRASE Label="lu_title_mailinglist" Module="Core" Type="0">TWFpbGluZyBMaXN0</PHRASE>
<PHRASE Label="lu_title_Members" Module="Core" Type="0">TWVtYmVycw==</PHRASE>
<PHRASE Label="lu_title_MissingPhraseAdding" Module="Core" Type="0">TWlzc2luZyBQaHJhc2UgQWRkaW5n</PHRASE>
<PHRASE Label="lu_title_MyAccount" Module="Core" Type="0">TXkgQWNjb3VudA==</PHRASE>
<PHRASE Label="lu_title_MyAddresses" Module="Core" Type="0">TXkgQWRkcmVzc2Vz</PHRASE>
<PHRASE Label="lu_title_MyFavorites" Module="Core" Type="0">TXkgRmF2b3JpdGVz</PHRASE>
<PHRASE Label="lu_title_MyItems" Module="Core" Type="0">TXkgSXRlbXM=</PHRASE>
<PHRASE Label="lu_title_MyPreferences" Module="Core" Type="0">TXkgUHJlZmVyZW5jZXM=</PHRASE>
<PHRASE Label="lu_title_MyProfile" Module="Core" Type="0">TXkgUHJvZmlsZQ==</PHRASE>
<PHRASE Label="lu_title_NoPermission" Module="Core" Type="0">Tm8gUGVybWlzc2lvbg==</PHRASE>
<PHRASE Label="lu_title_pagenotfound" Module="Core" Type="0">UGFnZSBOb3QgRm91bmQ=</PHRASE>
<PHRASE Label="lu_title_PasswordRequestConfirm" Module="Core" Type="0">UGFzc3dvcmQgUmVxdWVzdCBDb25maXJtYXRpb24=</PHRASE>
<PHRASE Label="lu_title_PrivacyPolicy" Module="Core" Type="0">UHJpdmFjeSBQb2xpY3k=</PHRASE>
<PHRASE Label="lu_title_recommendconfirm" Module="Core" Type="0">UmVjb21tZW5kIENvbmZpcm1hdGlvbg==</PHRASE>
<PHRASE Label="lu_title_RecommendSite" Module="Core" Type="0">UmVjb21tZW5kIHRvIGEgRnJpZW5k</PHRASE>
<PHRASE Label="lu_title_registrationconfirmation" Module="Core" Type="0">VXNlciBSZWdpc3RyYXRpb24gQ29uZmlybWF0aW9u</PHRASE>
<PHRASE Label="lu_title_registrationpendingconfirmation" Module="Core" Type="0">VXNlciBSZWdpc3RyYXRpb24gUGVuZGluZw==</PHRASE>
<PHRASE Label="lu_title_RelatedCategories" Module="Core" Type="0">UmVsYXRlZCBDYXRlZ29yaWVz</PHRASE>
<PHRASE Label="lu_title_RelatedItems" Module="Core" Type="0">UmVsYXRlZCBJdGVtcw==</PHRASE>
<PHRASE Label="lu_title_RelatedSearches" Module="Core" Type="0">UmVsYXRlZCBTZWFyY2hlcw==</PHRASE>
<PHRASE Label="lu_title_Reviews" Module="Core" Type="0">UmV2aWV3cw==</PHRASE>
<PHRASE Label="lu_title_SearchBox" Module="Core" Type="0">U2VhcmNoIEJveA==</PHRASE>
<PHRASE Label="lu_title_SearchResults" Module="Core" Type="0">U2VhcmNoIFJlc3VsdHM=</PHRASE>
<PHRASE Label="lu_title_Sitemap" Module="Core" Type="0">U2l0ZSBtYXA=</PHRASE>
<PHRASE Label="lu_title_SubscribeConfirm" Module="Core" Type="0">U3Vic2NyaXB0aW9uIENvbmZpcm1hdGlvbg==</PHRASE>
<PHRASE Label="lu_title_subscribeok" Module="Core" Type="0">U3Vic2NyaXB0aW9uIENvbmZpcm1lZA==</PHRASE>
<PHRASE Label="lu_title_SuggestCategory" Module="Core" Type="0">U3VnZ2VzdCBDYXRlZ29yeQ==</PHRASE>
<PHRASE Label="lu_title_suggestcategoryconfirm" Module="Core" Type="0">Q2F0ZWdvcnkgQWRkZWQ=</PHRASE>
<PHRASE Label="lu_title_suggestcategorypendingconfirm" Module="Core" Type="0">Q2F0ZWdvcnkgUGVuZGluZw==</PHRASE>
<PHRASE Label="lu_title_TermsAndConditions" Module="Core" Type="0">VGVybXMgYW5kIENvbmRpdGlvbnM=</PHRASE>
<PHRASE Label="lu_title_ThankYou" Module="Core" Type="0">VGhhbmsgeW91IQ==</PHRASE>
<PHRASE Label="lu_title_unsubscribeconfirm" Module="Core" Type="0">VW5zdWJzY3JpYmUgQ29uZmlybWF0aW9u</PHRASE>
<PHRASE Label="lu_title_unsubscribeok" Module="Core" Type="0">VW5zdWJzY3JpcHRpb24gQ29uZmlybWVk</PHRASE>
<PHRASE Label="lu_title_UserProfile" Module="Core" Type="0">VXNlciBQcm9maWxl</PHRASE>
<PHRASE Label="lu_title_UserRegistration" Module="Core" Type="0">VXNlciBSZWdpc3RyYXRpb24=</PHRASE>
<PHRASE Label="lu_title_WelcomeTitle" Module="Core" Type="0">V2VsY29tZSB0byBJbi1Qb3J0YWw=</PHRASE>
<PHRASE Label="lu_to" Module="Core" Type="0">VG8=</PHRASE>
<PHRASE Label="lu_top" Module="Core" Type="0">VG9wIFJhdGVk</PHRASE>
<PHRASE Label="lu_topics" Module="Core" Type="0">VG9waWNz</PHRASE>
<PHRASE Label="lu_topics_updated" Module="Core" Type="0">VG9waWNzIFVwZGF0ZWQ=</PHRASE>
<PHRASE Label="lu_topic_rate_confirm" Module="Core" Type="0">VG9waWMgUmF0aW5nIFJlc3VsdHM=</PHRASE>
<PHRASE Label="lu_topic_rate_confirm_duplicate_text" Module="Core" Type="0">WW91IGhhdmUgYWxyZWFkeSByYXRlZCB0aGlzIHRvcGlj</PHRASE>
<PHRASE Label="lu_topic_rate_confirm_text" Module="Core" Type="0">VGhhbmsgeW91IGZvciB2b3RpbmchICBZb3VyIGlucHV0IGhhcyBiZWVuIHJlY29yZGVkLg==</PHRASE>
<PHRASE Label="lu_topic_reply" Module="Core" Type="0">UG9zdCBSZXBseQ==</PHRASE>
<PHRASE Label="lu_topic_search_results" Module="Core" Type="0">VG9waWMgU2VhcmNoIFJlc3VsdHM=</PHRASE>
<PHRASE Label="lu_topic_updated" Module="Core" Type="0">VG9waWMgVXBkYXRlZA==</PHRASE>
<PHRASE Label="lu_top_rated" Module="Core" Type="0">VG9wIFJhdGVkIExpbmtz</PHRASE>
<PHRASE Label="lu_TotalCategories" Module="Core" Type="0">VG90YWwgQ2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="lu_total_categories" Module="Core" Type="0">VG90YWwgQ2F0ZWdvcmllcw==</PHRASE>
<PHRASE Label="lu_total_links" Module="Core" Type="0">VG90YWwgbGlua3MgaW4gdGhlIGRhdGFiYXNl</PHRASE>
<PHRASE Label="lu_total_news" Module="Core" Type="0">VG90YWwgQXJ0aWNsZXM=</PHRASE>
<PHRASE Label="lu_total_topics" Module="Core" Type="0">VG90YWwgVG9waWNz</PHRASE>
<PHRASE Label="lu_true" Module="Core" Type="0">VHJ1ZQ==</PHRASE>
<PHRASE Label="lu_Undefined" Module="Core" Type="0">Ti9B</PHRASE>
<PHRASE Label="lu_unknown_error" Module="Core" Type="0">U3lzdGVtIGVycm9yIGhhcyBvY2N1cmVk</PHRASE>
<PHRASE Label="lu_unsorted_list" Module="Core" Type="0">VW5zb3J0ZWQgbGlzdA==</PHRASE>
<PHRASE Label="lu_unsubscribe_confirm" Module="Core" Type="0">VW5zdWJzY3JpcHRpb24gQ29uZmlybWF0aW9u</PHRASE>
<PHRASE Label="lu_unsubscribe_confirm_prompt" Module="Core" Type="0">QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVuc3Vic2NyaWJlIGZyb20gb3VyIG1haWxpbmcgbGlzdD8gKFlvdSBjYW4gYWx3YXlzIHN1YnNjcmliZSBhZ2FpbiBieSBlbnRlcmluZyB5b3VyIGVtYWlsIGF0IHRoZSBob21lIHBhZ2Up</PHRASE>
<PHRASE Label="lu_unsubscribe_confirm_text" Module="Core" Type="0">V2UgYXJlIHNvcnJ5IHlvdSBoYXZlIHVuc3Vic2NyaWJlZCBmcm9tIG91ciBtYWlsaW5nIGxpc3Q=</PHRASE>
<PHRASE Label="lu_unsubscribe_title" Module="Core" Type="0">VW5zdWJzY3JpYmU=</PHRASE>
<PHRASE Label="lu_update" Module="Core" Type="0">VXBkYXRl</PHRASE>
<PHRASE Label="lu_username" Module="Core" Type="0">VXNlcm5hbWU=</PHRASE>
<PHRASE Label="lu_users_online" Module="Core" Type="0">VXNlcnMgT25saW5l</PHRASE>
<PHRASE Label="lu_user_already_exist" Module="Core" Type="0">QSB1c2VyIHdpdGggc3VjaCB1c2VybmFtZSBhbHJlYWR5IGV4aXN0cy4=</PHRASE>
<PHRASE Label="lu_user_and_email_already_exist" Module="Core" Type="0">QSB1c2VyIHdpdGggc3VjaCB1c2VybmFtZS9lLW1haWwgYWxyZWFkeSBleGlzdHMu</PHRASE>
<PHRASE Label="lu_user_exists" Module="Core" Type="0">VXNlciBhbHJlYWR5IGV4aXN0cw==</PHRASE>
<PHRASE Label="lu_user_pending_aproval" Module="Core" Type="0">UGVuZGluZyBSZWdpc3RyYXRpb24gQ29tcGxldGU=</PHRASE>
<PHRASE Label="lu_user_pending_aproval_text" Module="Core" Type="0">VGhhbmsgeW91IGZvciByZWdpc3RlcmluZy4gWW91ciByZWdpc3RyYXRpb24gaXMgcGVuZGluZyBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4=</PHRASE>
<PHRASE Label="lu_VerifyPassword" Module="Core" Type="0">VmVyaWZ5IHBhc3N3b3Jk</PHRASE>
<PHRASE Label="lu_views" Module="Core" Type="0">Vmlld3M=</PHRASE>
<PHRASE Label="lu_view_flat" Module="Core" Type="0">VmlldyBGbGF0</PHRASE>
<PHRASE Label="lu_view_pm" Module="Core" Type="0">VmlldyBQTQ==</PHRASE>
<PHRASE Label="lu_view_profile" Module="Core" Type="0">VmlldyBVc2VyIFByb2ZpbGU=</PHRASE>
<PHRASE Label="lu_view_threaded" Module="Core" Type="0">VmlldyBUaHJlYWRlZA==</PHRASE>
<PHRASE Label="lu_view_your_profile" Module="Core" Type="0">VmlldyBZb3VyIFByb2ZpbGU=</PHRASE>
<PHRASE Label="lu_visit_DirectReferer" Module="Core" Type="0">RGlyZWN0IGFjY2VzcyBvciBib29rbWFyaw==</PHRASE>
<PHRASE Label="lu_VoteCount" Module="Core" Type="0">TnVtYmVyIG9mIFZvdGVz</PHRASE>
<PHRASE Label="lu_votes" Module="Core" Type="0">Vm90ZXM=</PHRASE>
<PHRASE Label="lu_VotesHL" Module="Core" Type="0">Vm90ZXMgSGkgdG8gTG93</PHRASE>
<PHRASE Label="lu_VotesLH" Module="Core" Type="0">Vm90ZXMgTG93IHRvIEhp</PHRASE>
<PHRASE Label="lu_VoteTitle" Module="Core" Type="0">Vm90ZSE=</PHRASE>
<PHRASE Label="lu_Warning" Module="Core" Type="0">V2FybmluZw==</PHRASE>
<PHRASE Label="lu_WeAcceptCards" Module="Core" Type="0">V2UgYWNjZXB0IGNyZWRpdCBjYXJkcw==</PHRASE>
<PHRASE Label="lu_wrote" Module="Core" Type="0">d3JvdGU=</PHRASE>
<PHRASE Label="lu_yes" Module="Core" Type="0">WWVz</PHRASE>
<PHRASE Label="lu_YourAccount" Module="Core" Type="0">WW91ciBBY2NvdW50</PHRASE>
<PHRASE Label="lu_YourCart" Module="Core" Type="0">U2hvcHBpbmcgQ2FydA==</PHRASE>
<PHRASE Label="lu_YourCurrency" Module="Core" Type="0">Q3VycmVuY3k=</PHRASE>
<PHRASE Label="lu_YourLanguage" Module="Core" Type="0">TGFuZ3VhZ2U=</PHRASE>
<PHRASE Label="lu_YourWishList" Module="Core" Type="0">WW91ciBXaXNoIExpc3Q=</PHRASE>
<PHRASE Label="lu_zip" Module="Core" Type="0">Wmlw</PHRASE>
<PHRASE Label="lu_ZipCode" Module="Core" Type="0">WklQIENvZGU=</PHRASE>
<PHRASE Label="lu_zip_code" Module="Core" Type="0">WklQIENvZGU=</PHRASE>
<PHRASE Label="lu_zoom" Module="Core" Type="0">Wm9vbQ==</PHRASE>
<PHRASE Label="my_account_title" Module="Core" Type="0">TXkgU2V0dGluZ3M=</PHRASE>
<PHRASE Label="Next Theme" Module="Core" Type="0">TmV4dCBUaGVtZQ==</PHRASE>
<PHRASE Label="Previous Theme" Module="Core" Type="0">UHJldmlvdXMgVGhlbWU=</PHRASE>
<PHRASE Label="test 1" Module="Core" Type="0">dGVzdCAy</PHRASE>
</PHRASES>
<EVENTS>
<EVENT MessageType="text" Event="CATEGORY.ADD" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IENhdGVnb3J5IGFkZGVkCgpZb3VyIHN1Z2dlc3RlZCBjYXRlZ29yeSAiPGlucDI6Y19GaWVsZCBuYW1lPSJOYW1lIi8+IiBoYXMgYmVlbiBhZGRlZC4=</EVENT>
<EVENT MessageType="text" Event="CATEGORY.ADD" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEEgY2F0ZWdvcnkgaGFzIGJlZW4gYWRkZWQKCkEgY2F0ZWdvcnkgIjxpbnAyOmNfRmllbGQgbmFtZT0iTmFtZSIvPiIgaGFzIGJlZW4gYWRkZWQu</EVENT>
<EVENT MessageType="text" Event="CATEGORY.ADD.PENDING" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IFN1Z2dlc3QgQ2F0ZWdvcnkgaXMgUGVuZGluZwoKVGhlIGNhdGVnb3J5IHlvdSBzdWdnZXN0ZWQgIjxpbnAyOmNfRmllbGQgbmFtZT0iTmFtZSIvPiIgaXMgcGVuZGluZyBmb3IgYWRtaW5pc3RyYXRpdmUgYXBwcm92YWwuDQoNClRoYW5rIHlvdSE=</EVENT>
<EVENT MessageType="text" Event="CATEGORY.ADD.PENDING" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IENhdGVnb3J5IGFkZGVkIChwZW5kaW5nKQoKQSBjYXRlZ29yeSAiPGlucDI6Y19GaWVsZCBuYW1lPSJOYW1lIi8+IiBoYXMgYmVlbiBhZGRlZCwgcGVuZGluZyB5b3VyIGNvbmZpcm1hdGlvbi4gIFBsZWFzZSByZXZpZXcgdGhlIGNhdGVnb3J5IGFuZCBhcHByb3ZlIG9yIGRlbnkgaXQu</EVENT>
<EVENT MessageType="text" Event="CATEGORY.APPROVE" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEEgY2F0ZWdvcnkgaGFzIGJlZW4gYXBwcm92ZWQKCllvdXIgc3VnZ2VzdGVkIGNhdGVnb3J5ICI8aW5wMjpjX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIGhhcyBiZWVuIGFwcHJvdmVkLg==</EVENT>
<EVENT MessageType="text" Event="CATEGORY.APPROVE" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEEgY2F0ZWdvcnkgaGFzIGJlZW4gYXBwcm92ZWQKCkEgY2F0ZWdvcnkgIjxpbnAyOmNfRmllbGQgbmFtZT0iTmFtZSIvPiIgaGFzIGJlZW4gYXBwcm92ZWQu</EVENT>
<EVENT MessageType="text" Event="CATEGORY.DELETE" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEEgY2F0ZWdvcnkgaGFzIGJlZW4gZGVsZXRlZAoKQSBjYXRlZ29yeSAiPGlucDI6Y19GaWVsZCBuYW1lPSJOYW1lIi8+IiBoYXMgYmVlbiBkZWxldGVkLg==</EVENT>
<EVENT MessageType="text" Event="CATEGORY.DELETE" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEEgY2F0ZWdvcnkgaGFzIGJlZW4gZGVsZXRlZAoKQSBjYXRlZ29yeSAiPGlucDI6Y19GaWVsZCBuYW1lPSJOYW1lIi8+IiBoYXMgYmVlbiBkZWxldGVkLg==</EVENT>
<EVENT MessageType="text" Event="CATEGORY.DENY" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEEgY2F0ZWdvcnkgaGFzIGJlZW4gZGVuaWVkCgpZb3VyIGNhdGVnb3J5IHN1Z2dlc3Rpb24gIjxpbnAyOmNfRmllbGQgbmFtZT0iTmFtZSIvPiIgaGFzIGJlZW4gZGVuaWVkLg==</EVENT>
<EVENT MessageType="text" Event="CATEGORY.DENY" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEEgY2F0ZWdvcnkgaGFzIGJlZW4gZGVuaWVkCgpBIGNhdGVnb3J5ICI8aW5wMjpjX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIGhhcyBiZWVuIGRlbmllZC4=</EVENT>
<EVENT MessageType="text" Event="CATEGORY.MODIFY" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEEgY2F0ZWdvcnkgaGFzIGJlZW4gbW9kaWZpZWQKCllvdXIgc3VnZ2VzdGVkIGNhdGVnb3J5ICI8aW5wMjpjX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIGhhcyBiZWVuIG1vZGlmaWVkLg==</EVENT>
<EVENT MessageType="text" Event="CATEGORY.MODIFY" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEEgY2F0ZWdvcnkgaGFzIGJlZW4gbW9kaWZpZWQKCkEgY2F0ZWdvcnkgIjxpbnAyOmNfRmllbGQgbmFtZT0iTmFtZSIvPiIgaGFzIGJlZW4gbW9kaWZpZWQu</EVENT>
<EVENT MessageType="html" Event="COMMON.FOOTER" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IENvbW1vbiBGb290ZXIgVGVtcGxhdGUKCg==</EVENT>
<EVENT MessageType="text" Event="FORM.SUBMITTED" Type="0">U3ViamVjdDogVGhhbmsgWW91IGZvciBDb250YWN0aW5nIFVzIQoKPHA+RGVhciAkZmlyc3RuYW1lISBUaGFuayB5b3UgZm9yIGNvbnRhY3RpbmcgdXMhPC9wPg==</EVENT>
<EVENT MessageType="html" Event="FORM.SUBMITTED" Type="1">dGVzdApTdWJqZWN0OiBUaGFuayBZb3UgZm9yIENvbnRhY3RpbmcgVXMhCgo8cD5EZWFyICRmaXJzdG5hbWUhIDxiciAvPg0KVGhhbmsgeW91IGZvciBjb250YWN0aW5nIHVzITwvcD4=</EVENT>
<EVENT MessageType="text" Event="USER.ADD" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEluLXBvcnRhbCByZWdpc3RyYXRpb24KCkRlYXIgPGlucDI6dV9GaWVsZCBuYW1lPSJGaXJzdE5hbWUiIC8+IDxpbnAyOnVfRmllbGQgbmFtZT0iTGFzdE5hbWUiIC8+LA0KDQpUaGFuayB5b3UgZm9yIHJlZ2lzdGVyaW5nIG9uIDxpbnAyOm1fQmFzZVVybC8+LiBZb3VyIHJlZ2lzdHJhdGlvbiBpcyBub3cgYWN0aXZlLg==</EVENT>
<EVENT MessageType="text" Event="USER.ADD" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE5ldyB1c2VyIGhhcyBiZWVuIGFkZGVkCgpBIG5ldyB1c2VyICI8aW5wMjp1X0ZpZWxkIG5hbWU9IkxvZ2luIi8+IiBoYXMgYmVlbiBhZGRlZC4=</EVENT>
<EVENT MessageType="text" Event="USER.ADD.PENDING" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEluLVBvcnRhbCBSZWdpc3RyYXRpb24KCkRlYXIgPGlucDI6dV9GaWVsZCBuYW1lPSJGaXJzdE5hbWUiIC8+IDxpbnAyOnVfRmllbGQgbmFtZT0iTGFzdE5hbWUiIC8+LA0KDQpUaGFuayB5b3UgZm9yIHJlZ2lzdGVyaW5nIG9uIDxpbnAyOm1fQmFzZVVybCAvPiB3ZWJzaXRlLiBZb3VyIHJlZ2lzdHJhdGlvbiB3aWxsIGJlIGFjdGl2ZSBhZnRlciBhcHByb3ZhbC4=</EVENT>
<EVENT MessageType="text" Event="USER.ADD.PENDING" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IFVzZXIgcmVnaXN0ZXJlZAoKQSBuZXcgdXNlciAiPGlucDI6dV9GaWVsZCBuYW1lPSJMb2dpbiIvPiIgaGFzIHJlZ2lzdGVyZWQgYW5kIGlzIHBlbmRpbmcgYWRtaW5pc3RyYXRpdmUgYXBwcm92YWwu</EVENT>
<EVENT MessageType="text" Event="USER.APPROVE" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IFlvdSBoYXZlIGJlZW4gYXBwcm92ZWQKCldlbGNvbWUgdG8gPGlucDI6bV9CYXNlVXJsLz4hDQoNCllvdXIgdXNlciByZWdpc3RyYXRpb24gaGFzIGJlZW4gYXBwcm92ZWQuIFlvdXIgdXNlciBuYW1lIGlzOiAiPGlucDI6dV9GaWVsZCBuYW1lPSJMb2dpbiIvPiIu</EVENT>
<EVENT MessageType="text" Event="USER.APPROVE" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IFVzZXIgYXBwcm92ZWQKClVzZXIgIjxpbnAyOnVfRmllbGQgbmFtZT0iTG9naW4iLz4iIGhhcyBiZWVuIGFwcHJvdmVkLg==</EVENT>
<EVENT MessageType="text" Event="USER.DENY" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEFjY2VzcyBkZW5pZWQKCllvdXIgcmVnaXN0cmF0aW9uIG9uIDxpbnAyOm1fQmFzZVVybC8+IHdlYnNpdGUgaGFzIGJlZW4gZGVuaWVkLg==</EVENT>
<EVENT MessageType="text" Event="USER.DENY" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IFVzZXIgZGVuaWVkCgpVc2VyICI8aW5wMjp1X0ZpZWxkIG5hbWU9IkxvZ2luIi8+IiBoYXMgYmVlbiBkZW5pZWQu</EVENT>
<EVENT MessageType="text" Event="USER.MEMBERSHIP.EXPIRATION.NOTICE" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE1lbWJlcnNoaXAgZXhwaXJhdGlvbiBub3RpY2UKCllvdXIgbWVtYmVyc2hpcCBvbiA8aW5wMjptX0Jhc2VVcmwvPiB3aWxsIHNvb24gZXhwaXJlLg==</EVENT>
<EVENT MessageType="text" Event="USER.MEMBERSHIP.EXPIRATION.NOTICE" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE1lbWJlcnNoaXAgZXhwaXJhdGlvbiBub3RpY2UKClVzZXIgPGlucDI6dV9GaWVsZCBuYW1lPSJMb2dpbiIvPiBtZW1iZXJzaGlwIHdpbGwgZXhwaXJlIHNvb24u</EVENT>
<EVENT MessageType="text" Event="USER.MEMBERSHIP.EXPIRED" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE1lbWJlcnNoaXAgZXhwaXJlZAoKWW91ciA8aW5wMjp1X0ZpZWxkIG5hbWU9IkxvZ2luIi8+IG1lbWJlcnNoaXAgb24gPGlucDI6bV9CYXNlVXJsLz4gd2Vic2l0ZSBoYXMgZXhwaXJlZC4=</EVENT>
<EVENT MessageType="text" Event="USER.MEMBERSHIP.EXPIRED" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IE1lbWJlcnNoaXAgZXhwaXJlZAoKVXNlcidzICg8aW5wMjp1X0ZpZWxkIG5hbWU9IkxvZ2luIi8+KSBtZW1iZXJzaGlwIG9uIDxpbnAyOm1fQmFzZVVybC8+IHdlYnNpdGUgaGFzIGV4cGlyZWQu</EVENT>
<EVENT MessageType="text" Event="USER.PSWD" Type="0">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogTG9zdCBwYXNzd29yZAoKWW91ciBsb3N0IHBhc3N3b3JkIGhhcyBiZWVuIHJlc2V0LiBZb3VyIG5ldyBwYXNzd29yZCBpczogIjxpbnAyOnVfRm9yZ290dGVuUGFzc3dvcmQgLz4iLg==</EVENT>
<EVENT MessageType="text" Event="USER.PSWD" Type="1">WC1Qcmlvcml0eTogMQ0KWC1NU01haWwtUHJpb3JpdHk6IEhpZ2gNClgtTWFpbGVyOiBJbi1Qb3J0YWwKU3ViamVjdDogTG9zdCBwYXNzd29yZAoKWW91ciBsb3N0IHBhc3N3b3JkIGhhcyBiZWVuIHJlc2V0LiBZb3VyIG5ldyBwYXNzd29yZCBpczogIjxpbnAyOnVfRm9yZ290dGVuUGFzc3dvcmQgLz4iLg==</EVENT>
<EVENT MessageType="text" Event="USER.PSWDC" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IFBhc3N3b3JkIHJlc2V0IGNvbmZpcm1hdGlvbgoKSGVsbG8sDQoNCkl0IHNlZW1zIHRoYXQgeW91IGhhdmUgcmVxdWVzdGVkIGEgcGFzc3dvcmQgcmVzZXQgZm9yIHlvdXIgSW4tcG9ydGFsIGFjY291bnQuIElmIHlvdSB3b3VsZCBsaWtlIHRvIHByb2NlZWQgYW5kIGNoYW5nZSB0aGUgcGFzc3dvcmQsIHBsZWFzZSBjbGljayBvbiB0aGUgbGluayBiZWxvdzoNCjxpbnAyOnVfQ29uZmlybVBhc3N3b3JkTGluayBub19hbXA9IjEiLz4NCg0KWW91IHdpbGwgcmVjZWl2ZSBhIHNlY29uZCBlbWFpbCB3aXRoIHlvdXIgbmV3IHBhc3N3b3JkIHNob3J0bHkuDQoNCklmIHlvdSBiZWxpZXZlIHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMgZW1haWwgaW4gZXJyb3IsIHBsZWFzZSBpZ25vcmUgdGhpcyBlbWFpbC4gWW91ciBwYXNzd29yZCB3aWxsIG5vdCBiZSBjaGFuZ2VkIHVubGVzcyB5b3UgaGF2ZSBjbGlja2VkIG9uIHRoZSBhYm92ZSBsaW5rLg0K</EVENT>
<EVENT MessageType="text" Event="USER.SUBSCRIBE" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IFN1YnNjcmlwdGlvbiBjb25maXJtYXRpb24KCllvdSBoYXZlIHN1YnNjcmliZWQgdG8gYSBtYWlsaW5nIGxpc3Qgb24gPGlucDI6bV9CYXNlVXJsLz4gd2Vic2l0ZS4=</EVENT>
<EVENT MessageType="text" Event="USER.SUBSCRIBE" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEEgdXNlciBoYXMgc3Vic2NyaWJlZCAoPGlucDI6dV9GaWVsZCBuYW1lPSJMb2dpbiIvPikKCk5ldyB1c2VyIDxpbnAyOnVfRmllbGQgbmFtZT0iRW1haWwiLz4gaGFzIHN1YnNjcmliZWQgdG8gYSBtYWlsaW5nIGxpc3Qgb24gPGlucDI6bV9CYXNlVXJsLz4gd2Vic2l0ZS4=</EVENT>
<EVENT MessageType="html" Event="USER.SUGGEST" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IENoZWNrIG91dCB0aGlzIHNpdGUKCkhlbGxvLA0KDQpUaGlzIG1lc3NhZ2UgaGFzIGJlZW4gc2VudCB0byB5b3UgZnJvbSBvbmUgb2YgeW91ciBmcmllbmRzLg0KQ2hlY2sgb3V0IHRoaXMgc2l0ZTogPGEgaHJlZj0iPGlucDI6bV9CYXNlVXJsLz4iPjxpbnAyOm1fQmFzZVVybC8+PC9hPiE=</EVENT>
<EVENT MessageType="text" Event="USER.SUGGEST" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IFRoZSBzaXRlIGhhcyBiZWVuIHN1Z2dlc3RlZAoKQSB2aXNpdG9yIHN1Z2dlc3RlZCA8aW5wMjptX0Jhc2VVcmwvPiB3ZWJzaXRlIHRvIGEgZnJpZW5kLg==</EVENT>
<EVENT MessageType="text" Event="USER.UNSUBSCRIBE" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IFlvdSBoYXZlIGJlZW4gdW5zdWJzY3JpYmVkCgpZb3UgaGF2ZSBzdWNjZXNzZnVsbHkgdW5zdWJzcmliZWQgZnJvbSBhIG1haWxpbmcgbGlzdCBvbiA8aW5wMjptX0Jhc2VVcmwgLz4gd2Vic2l0ZS4=</EVENT>
<EVENT MessageType="text" Event="USER.UNSUBSCRIBE" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IFVzZXIgdW5zdWJzcmliZWQKCkEgdXNlciAiPGlucDI6dV9GaWVsZCBuYW1lPSJFbWFpbCIvPiIgaGFzIHVuc3Vic2NyaWJlZCBmcm9tIGEgbWFpbGluZyBsaXN0IG9uIDxpbnAyOm1fQmFzZVVybC8+</EVENT>
<EVENT MessageType="text" Event="USER.VALIDATE" Type="0">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IEluLXBvcnRhbCByZWdpc3RyYXRpb24KCldlbGNvbWUgdG8gSW4tcG9ydGFsIQ0KDQpZb3VyIHVzZXIgcmVnaXN0cmF0aW9uIGhhcyBiZWVuIGFwcHJvdmVkLiBZb3UgY2FuIGxvZ2luIG5vdyA8YSBocmVmPSI8aW5wMjptX0Jhc2VVcmwvPiI+PGlucDI6bV9CYXNlVXJsLz48L2E+IHVzaW5nIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb246DQoNCj09PT09PT09PT09PT09PT09PQ0KVXNlcm5hbWU6ICI8aW5wMjp1X0ZpZWxkIG5hbWU9IkxvZ2luIi8+Ig0KUGFzc3dvcmQ6ICI8aW5wMjp1X0ZpZWxkIG5hbWU9IlBhc3N3b3JkX3BsYWluIi8+Ig0KPT09PT09PT09PT09PT09PT09DQoNClRoYW5rIHlvdS4NCg==</EVENT>
<EVENT MessageType="text" Event="USER.VALIDATE" Type="1">WC1Qcmlvcml0eTogMQpYLU1TTWFpbC1Qcmlvcml0eTogSGlnaApYLU1haWxlcjogSW4tUG9ydGFsClN1YmplY3Q6IFVzZXIgdmFsaWRhdGVkCgpVc2VyICI8aW5wMjp1X0ZpZWxkIG5hbWU9IkxvZ2luIi8+IiBoYXMgYmVlbiB2YWxpZGF0ZWQu</EVENT>
</EVENTS>
</LANGUAGE>
</LANGUAGES>
\ No newline at end of file
Property changes on: branches/RC/core/install/english.lang
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.4.2.34
\ No newline at end of property
+1.4.2.35
\ No newline at end of property

Event Timeline